本發(fā)明涉及用于在無線網(wǎng)絡(luò)中使用的設(shè)備和方法,具體地,本發(fā)明涉及符合ieee802.11標(biāo)準(zhǔn)族的那些設(shè)備和方法。
背景技術(shù):
1、圖1表示包含第一設(shè)備2和另一設(shè)備3的無線網(wǎng)絡(luò)1。第一設(shè)備2可以具有中心功能,并且類似于接入點(ap)、集線器或網(wǎng)關(guān)設(shè)備。為了簡單起見,第一設(shè)備2此后將被稱為ap,但是其它類型的設(shè)備確實是可能的。用戶(未示出)希望向網(wǎng)絡(luò)1添加兩個更多設(shè)備,即復(fù)雜設(shè)備4(此處被表示為計算機)和簡單設(shè)備5(此處被表示為牙刷)。類似于簡單設(shè)備5的設(shè)備通常不具有可能除了光之外的任何真正用戶接口(ui),并且相應(yīng)地,通常被稱為“無頭”設(shè)備。ap?2具有處理器6,而簡單設(shè)備5具有微控制器和小型非易失性存儲器7以及可以用于重置簡單設(shè)備5的按鈕8。還存在第三設(shè)備9。簡單設(shè)備5甚至可以不具有特定的重置按鈕。無線網(wǎng)絡(luò)使用諸如基于ieee?802.11的無線通信技術(shù)之類的無線通信技術(shù),但是其它技術(shù)也可以是適合的。
2、一些無線聯(lián)網(wǎng)標(biāo)準(zhǔn)允許一個設(shè)備配置另一設(shè)備以便建立連接和通信。這使得在網(wǎng)絡(luò)中添加或登記新設(shè)備的任務(wù)不太繁重,因為用戶不再必須進行手動輸入。需要配置以便加入網(wǎng)絡(luò)的設(shè)備可以被稱為“登記者”,而執(zhí)行該配置的設(shè)備可以被稱為“委任設(shè)備”或“委任者”。在設(shè)備配網(wǎng)協(xié)議(dpp)(其也被稱為“wi-fi?easy?connecttm”)的情況下,委任設(shè)備被稱為“配置者”,而登記者設(shè)備也被稱為“登記者”。
3、期望在委任設(shè)備、登記者以及最終登記者注定要連接到的網(wǎng)絡(luò)之間建立信任。“信任”在該上下文中可以被理解為意指:被配置的設(shè)備是預(yù)期設(shè)備,而其它惡意設(shè)備無法介入連接。為此,通信通常被加密。
4、diffie-hellman(參見參考文檔[dh])是用于在兩方之間建立秘密密鑰的公知技術(shù),其中在各方之間用于建立秘密密鑰的通信不會向第三方揭示關(guān)于所建立的秘密密鑰的任何信息。兩方各自使用其自己的公鑰/私鑰對并且彼此交換公鑰。每一方能夠使用其自己的私鑰和另一方的公鑰以及可能一些其它信息(例如,來自每一方的隨機數(shù)(隨機數(shù)值))來計算秘密密鑰。每當(dāng)每一方執(zhí)行diffie-hellman時,其都可以重新生成密鑰對,或者其重用較舊的密鑰對。
5、wi-fi聯(lián)盟的設(shè)備配網(wǎng)協(xié)議(dpp)(參見參考文檔[dpp])使用diffie-hellman來在兩個設(shè)備(想要被配置的dpp登記者以及能夠配置dpp登記者的dpp配置者(即,委任設(shè)備))之間建立秘密密鑰,因此這些設(shè)備可以訪問啟用dpp的網(wǎng)絡(luò),或者可以將啟用dpp的網(wǎng)絡(luò)設(shè)置為接入點(ap)(參見參考文檔[802.11])。
6、當(dāng)通過網(wǎng)絡(luò)執(zhí)行diffie-hellman時,接收用于執(zhí)行diffie-hellman的公鑰的設(shè)備不知道該公鑰是來自哪個設(shè)備。攻擊者可以在所謂的中間人攻擊中利用這一點。攻擊者e可能偽裝為設(shè)備a想要與之連接的真正設(shè)備b。攻擊者e與設(shè)備a執(zhí)行diffie-hellman,并且與設(shè)備a建立秘密密鑰kae。類似地,攻擊者針對設(shè)備b偽裝為設(shè)備a,并且與設(shè)備b建立秘密密鑰kbe。當(dāng)消息從設(shè)備a或b中的一者進入時,攻擊者利用一個秘密密鑰對消息進行解密,利用另一密鑰對消息進行加密,并且將其轉(zhuǎn)發(fā)到另一設(shè)備。這樣,除了一些額外延遲之外,設(shè)備a和b不會注意到其通信中的任何奇怪的地方。當(dāng)它們通過使用另一種通信方式來發(fā)送相同信息并且比較結(jié)果來檢查它們的通信時,它們將不會注意到對其通信的任何篡改。但是攻擊者已經(jīng)具有關(guān)于它們傳送什么內(nèi)容的完整知識。
7、一種防止中間人攻擊并且確保信任的方式是使用額外協(xié)議(所謂的帶外(oob)通信)來交換公鑰或公鑰的散列。oob通信可以是短程無線通信協(xié)議,諸如wi-fi[802.11]、藍(lán)牙[bt]、802.15.4[802.15.4]、zigbee[zigbee]、近場通信[nfc]。替代地,oob通信可以涉及委任設(shè)備通過諸如掃描與登記者設(shè)備相關(guān)聯(lián)的qr碼之類的技術(shù)來獲得公鑰,委任設(shè)備解碼來自登記者設(shè)備的公鑰。
8、以這種方式,設(shè)備的用戶知道經(jīng)oob接收的公鑰是來自預(yù)期設(shè)備的,這是因為其可以驗證qr碼和登記者的關(guān)聯(lián)性,或者這是因為登記者在oob通信協(xié)議的操作范圍內(nèi)。在公鑰的散列是經(jīng)oob交換的情況下,設(shè)備可以檢查經(jīng)由通信協(xié)議接收的需要被加密的公鑰是否導(dǎo)致與經(jīng)oob接收的散列相同的散列。注意的是,在本文檔中使用術(shù)語通信協(xié)議包括iso-osi模型的多個層,包括用于收發(fā)的物理層。
9、通過具體示例的方式,將考慮使用設(shè)備配網(wǎng)協(xié)議(dpp)(https://www.wi-fi.org/downloads-public/wi-fi_easy_connect_specification_v2.0.pdf/35330)來配置登記者的情況。該協(xié)議在名稱wi-fi?easy?connect下也是已知的。
10、在dpp中,橢圓曲線密碼學(xué)[rfc?6090]用于所有非對稱密碼學(xué),尤其是公共協(xié)議密鑰(另外被稱為網(wǎng)絡(luò)訪問密鑰(nak))和委任設(shè)備簽名密鑰。對于支持ecc曲線的強制是p-256。在其它配置或委任協(xié)議中,可以使用其它形式的密碼學(xué)。
11、假設(shè)登記者(這可以是ap或可以與ap進行關(guān)聯(lián)的wi-fi設(shè)備)已經(jīng)由wi-fi?easyconnect?release?2配置者針對其網(wǎng)絡(luò)訪問密鑰(netaccesskey或nak)使用ecc曲線p-256進行配置。這意味著登記者已經(jīng)使用p-256引導(dǎo)密鑰,這是因為這兩者的曲線在dpp?r2中必須是相同的。委任設(shè)備可能已經(jīng)針對其簽名密鑰使用與p-256不同的曲線。
12、用戶希望升級網(wǎng)絡(luò)的安全性,使得不再使用p-256,而是使用更強的曲線。這意味著必須新配置在其網(wǎng)絡(luò)上允許的ap和所有設(shè)備?;蛘哂脩粝胍褂昧硪粌?yōu)選地更強的曲線(諸如p-384)來創(chuàng)建dpp網(wǎng)絡(luò),而不是對于實現(xiàn)p-256的強制。曲線(p-256或其它)可以被認(rèn)為是一種“類型”的密鑰。
13、管理安全性升級的要求意味著除了用于簡單設(shè)備處置新請求的方式之外,還需要一種處置新密鑰/密鑰類型的方式。
技術(shù)實現(xiàn)思路
1、因此,提供了一種通過對配置協(xié)議的執(zhí)行來將登記者設(shè)備配置用于無線網(wǎng)絡(luò)中的通信的方法,該方法被布置為由委任設(shè)備和登記者設(shè)備執(zhí)行,委任設(shè)備和登記者設(shè)備被布置為使用無線通信協(xié)議進行通信并且參與配置協(xié)議,配置協(xié)議包括:
2、-由登記者設(shè)備使用帶外(oob)通信來向委任設(shè)備提供第一公鑰以及對第二公鑰的類型的至少一個指示;
3、-如果對第二公鑰的類型的至少一個指示用于指示與第一公鑰的類型不同的密鑰類型,則由委任設(shè)備進行以下操作:
4、作出對來自至少一個指示的至少一種密鑰類型的選擇,該選擇中的所有類型與第一公鑰的類型不同,
5、使用無線通信協(xié)議來發(fā)送第一消息,第一消息請求與該選擇中的任何密鑰類型相對應(yīng)的類型的第二公鑰,其中,第二公鑰由委任設(shè)備使用以使得登記者設(shè)備能夠連接到無線網(wǎng)絡(luò),
6、-由登記者設(shè)備發(fā)送包含在第一消息中請求的密鑰類型的第二公鑰的第二消息;
7、-由登記者設(shè)備和委任設(shè)備使用與該選擇相對應(yīng)的類型的一個或多個密鑰來完成配置協(xié)議,并且由登記者設(shè)備嘗試連接到無線網(wǎng)絡(luò)。
8、還提供了一種通過對配置協(xié)議的執(zhí)行來將登記者設(shè)備配置用于無線網(wǎng)絡(luò)中的通信的方法,該方法被布置為由委任設(shè)備(9)和登記者設(shè)備執(zhí)行,委任設(shè)備和登記者設(shè)備被布置為使用無線通信協(xié)議進行通信并且參與配置協(xié)議,配置協(xié)議包括:
9、-由登記者設(shè)備使用帶外(oob)通信來向委任設(shè)備提供第一公鑰以及對第二公鑰的類型的至少一個指示;
10、-如果對第二公鑰的類型的至少一個指示用于指示與第一公鑰的類型不同的密鑰類型,則由委任設(shè)備進行以下操作:
11、作出對來自至少一個指示的至少一種密鑰類型的選擇,該選擇中的所有類型與第一公鑰的類型不同,以及
12、使用與該選擇中的任何密鑰類型相對應(yīng)的類型的第三密鑰來對數(shù)據(jù)對象進行簽名,數(shù)據(jù)對象被布置為被發(fā)送到登記者并且被布置為由登記者設(shè)備用于嘗試連接到無線網(wǎng)絡(luò);
13、-由登記者設(shè)備和委任設(shè)備使用與該選擇相對應(yīng)的類型的一個或多個密鑰來完成配置協(xié)議,并且使用數(shù)據(jù)對象來嘗試連接到無線網(wǎng)絡(luò),
14、其中,作出選擇以及對數(shù)據(jù)對象進行簽名發(fā)生在自從由登記者設(shè)備使用oob通信來向委任設(shè)備提供第一公鑰以及對第二公鑰的類型的至少一個指示以來第一次嘗試連接到網(wǎng)絡(luò)已經(jīng)發(fā)生之前。
15、在一個方面中,當(dāng)對第二公鑰的類型的至少一個指示用于指示與第一公鑰的類型相同的密鑰類型時,至少一個指示使用與當(dāng)對第二公鑰的類型的至少一個指示用于指示與第一公鑰的類型不同的密鑰類型時使用的數(shù)據(jù)元素相比更小的數(shù)據(jù)元素。
16、以這種方式,可以減少要編碼的數(shù)據(jù)量。當(dāng)考慮糾錯機制的開銷時,揭示節(jié)省甚至更大。這在oob通信使用qr碼的情況下具有特別的優(yōu)點。在qr碼中,空間非常寶貴,并且增加要編碼的數(shù)據(jù)可能增加該碼所需的區(qū)域。這進而可能使得難以將擴展的qr碼適配在產(chǎn)品或包裝上。
17、在一個方面中,該方法可以包括:當(dāng)對第二公鑰的類型的至少一個指示僅用于指示與第一公鑰的類型相同的類型時,由委任設(shè)備在配置協(xié)議的完成之前終止對配置協(xié)議的執(zhí)行。
18、在一個方面中,該方法可以包括:當(dāng)對第二公鑰的類型的至少一個指示不包含委任設(shè)備被啟用以使用的公鑰類型時,由委任設(shè)備在配置協(xié)議的完成之前終止對配置協(xié)議的執(zhí)行。
19、因此,委任設(shè)備能夠確定登記者可以支持的最高加密強度??赡艹霈F(xiàn)的是,這樣的加密強度不足以用于所涉及的網(wǎng)絡(luò)。通過在oob通信階段確定該最大加密強度,或者當(dāng)?shù)怯浾咭呀?jīng)利用提議的新公鑰進行響應(yīng)時,委任設(shè)備能夠通過早期失敗來節(jié)省時間和努力(在用戶的部分上)。其還能夠向用戶報告這一點。
20、在一個方面中,登記者設(shè)備是簡單設(shè)備。
21、在一個方面中,配置協(xié)議是根據(jù)設(shè)備配網(wǎng)協(xié)議(dpp)的。
22、在一個方面中,對第二公鑰的類型的至少一個指示被包括在dpp引導(dǎo)uri的比特掩碼部分中。
23、在一個方面中,作出對至少一種公鑰類型的選擇以及發(fā)送第一消息發(fā)生在自從由登記者設(shè)備使用oob通信來向委任設(shè)備提供第一公鑰以及對第二公鑰的類型的至少一個指示以來由登記者第一次嘗試連接到網(wǎng)絡(luò)之前。
24、提供了一種被布置為使用無線通信協(xié)議進行通信并且被布置為由委任設(shè)備配置用于無線網(wǎng)絡(luò)中的通信的登記者,登記者設(shè)備包括:
25、-被布置用于無線網(wǎng)絡(luò)中的通信的收發(fā)器,
26、登記者設(shè)備被布置為:
27、-參與配置協(xié)議,配置協(xié)議被布置為配置登記者設(shè)備:
28、-使用帶外(oob)通信來提供用于在配置協(xié)議的第一階段中使用的第一公鑰以及對第二公鑰的類型的至少一個指示;
29、-經(jīng)由收發(fā)器并且使用無線通信協(xié)議來從委任設(shè)備接收第一消息,第一消息包含指示第二公鑰的一種或多種類型的請求,第二公鑰的類型與第一公鑰的類型不同;
30、-經(jīng)由收發(fā)器并且使用無線通信協(xié)議來向委任者設(shè)備發(fā)送第二消息,第二消息包含在第一消息中請求的類型的第二公鑰;
31、-使用第一公鑰以及由至少一個指示所指示的類型的密鑰,使用無線通信協(xié)議來與委任設(shè)備一起參與委任協(xié)議;
32、-作為被配置的結(jié)果,嘗試連接到網(wǎng)絡(luò)。
33、如此布置的登記者設(shè)備能夠在oob通信階段(即,在配置過程的開始附近)指示其能夠支持除其公共引導(dǎo)密鑰的加密級別或強度之外的哪些加密級別或強度。這進而允許被布置為使用該附加功能的委任設(shè)備(a)確定登記者可以支持足夠的加密強度并且b)選擇登記者可以支持的加密強度(以選擇一種或多種密鑰類型的形式)。
34、另外或替代地,登記者設(shè)備被布置為驗證數(shù)據(jù)對象,數(shù)據(jù)對象已經(jīng)由委任設(shè)備使用與至少一個指示相對應(yīng)的類型的密鑰進行簽名。
35、因此,登記者能夠提供并且使用具有與其初始配置的加密強度(即,其公共引導(dǎo)密鑰的加密強度)相比更高的加密強度的密鑰。
36、在一個方面中,登記者設(shè)備被布置為:當(dāng)請求指示多于一種公鑰類型時提供具有最大密碼學(xué)強度的類型的第二公鑰。
37、使委任設(shè)備作出包含針對新密鑰類型的選項的請求可以是有利的。例如,委任設(shè)備可能必須處理許多類型的登記者,其中一些登記者可以通告針對如下加密級別的支持:該加密級別對于登記者來說比嚴(yán)格必要的更繁重。將選擇的一部分留給登記者可以將一些靈活性引入到該過程中。在請求允許登記者選擇其將針對新的(升級的)公鑰使用哪種密鑰類型的情況下,使登記者選擇提供最強加密的選項允許網(wǎng)絡(luò)從中受益。
38、在一個方面中,登記者設(shè)備是簡單設(shè)備。
39、提供了一種被布置為充當(dāng)委任設(shè)備并且被布置為將登記者設(shè)備配置用于無線網(wǎng)絡(luò)中的通信的設(shè)備。該設(shè)備包括被布置用于根據(jù)無線通信協(xié)議進行收發(fā)的收發(fā)器,并且該設(shè)備被布置為:
40、-參與配置協(xié)議;
41、-經(jīng)由帶外(oob)通信來從登記者設(shè)備獲得第一公鑰以及對要用作配置協(xié)議的一部分的公鑰的第二類型的至少一個指示;
42、-如果至少一個指示用于指示與第一公鑰的類型不同的密鑰類型,則:
43、基于至少一個指示來作出對至少一種密鑰類型的選擇,該選擇中的所有類型與第一公鑰的類型不同,使用收發(fā)器和無線通信協(xié)議來向登記者設(shè)備發(fā)送請求與該選擇中的任何密鑰類型相對應(yīng)的密鑰類型的第二公鑰的第一消息,和/或
44、使用與該選擇中的任何密鑰類型相對應(yīng)的類型的第三密鑰來對數(shù)據(jù)對象進行簽名,并且經(jīng)由收發(fā)器并且使用無線通信協(xié)議來向登記者發(fā)送經(jīng)簽名的數(shù)據(jù)對象,數(shù)據(jù)對象被布置為由登記者設(shè)備用于嘗試連接到無線網(wǎng)絡(luò)。
45、委任設(shè)備因此能夠確定登記者能夠支持除了登記者引導(dǎo)密鑰的類型之外的哪些密鑰類型。利用該信息,其能夠從登記者請求新公鑰。另外或替代地,其能夠確定其可以使用哪種密鑰類型(不同于登記者引導(dǎo)密鑰的類型)來對包含連接信息分組的數(shù)據(jù)對象(例如,dpp連接器)進行簽名。通過確定其可以使用什么,委任設(shè)備可以在不需要求助于試錯法的情況下對加密級別進行改變。
46、在一個方面中,該設(shè)備被布置為:如果指示僅用于指示與第一公鑰的密鑰類型相同的密鑰類型,則在完成配置登記者設(shè)備之前終止。
47、在一個方面中,該設(shè)備被布置為:如果至少一個指示沒有指示該設(shè)備被啟用以使用的密鑰類型,則在完成配置登記者設(shè)備之前終止。
48、還提供了:當(dāng)其在登記者設(shè)備中的處理器上操作時使得登記者設(shè)備執(zhí)行本文描述的方法的計算機程序產(chǎn)品、以及當(dāng)在委任設(shè)備中的處理器上操作時使得委任設(shè)備執(zhí)行本文描述的方法的計算機程序產(chǎn)品。