專利名稱:在無線網絡中的安全的兩消息同步的制作方法
技術領域:
本發明通常涉及按照無線協議建立的網絡。
多種無線協議能使得在基于處理器的和不基于處理器的系統之間實現短距離的無線網絡。一個網絡中的站是移動的,且可以從一個區域移動到一個區域以致最終它對一個或多個網絡產生影響。在網絡希望與一個范圍內的可移動站進行通信之前,網絡也許希望鑒權該移動站來保證網絡安全性不會由于這種通信的結果而受到損害。
因此,希望有一個相對簡易的方法來使得無線電設備在一個安全的方式下彼此通信。
圖1是本發明的實施例的示意性描述;和圖2是本發明的實施例的流程圖。
具體實施例方式
參考圖1,網絡11可以包括至少兩個以適當的無線協議進行通信的裝置10a和10b。在一個實施例中,無線協議可以是IEEE 802.11協議。(ANSI/IEEE Std.802.11 1999版本),IEEE標準公布,Piscataway,N.Y.08855。各個裝置10可以包括一個天線12,該天線例如可以是一偶極天線。
各個通信方10a或10b可以是相同網絡的一部分。例舉幾種例子,當事方10a和10b可以是站和接入點,或者它們可以是特設網絡中的一對站或是邊帶信道或轉發器。無線電通信信道在裝置10a和10b之間。
每個裝置10a和10b可以從一個信標發起設備10c接收一信標幀或消息18。像裝置10a和10b一樣,該信標發起設備10c可以是任何無線電設備,例如包括站,接入點,邊帶信道或者轉發器。該信標發起設備10c可以產生具有信標時間標記域的信標,該信標時間標記域包含計時器同步功能(TSF)16和當前時間(nonce)(N)17的備份。該信標發起設備10c可以簡單地是按照802.11協議產生信標消息的一方。各個信標消息向該網絡宣布重要的協議,并且代表性地向該網絡的全部的成員進行廣播。在信標參數當中存在普通時間符號,由TFS 16表示。例如,在802.11網絡中的裝置可以與網絡的時間概念同步到4微秒以內。
根據本發明的一個實施例,信標消息18也可以包括當前時間“N”17。在一個實施例中,每當信標發起設備10c啟動時,它可以建立它的當前時間17,并且在其又一次重新啟動之前使用它的當前時間17。在一個實施例中,當前時間17可以被選擇,這樣就不會和該信標的任何重新初始化交叉再使用。因此,該當前時間值可以是一實時掛鐘值,一隨機產生值,或其它的值,這些值直到用來保護消息交換的加密密鑰被改變后才被重新使用。
當裝置10a希望與裝置10b建立一個同步狀態時,裝置10a查閱最近的信標消息18來獲悉當前TFS 16和信標當前時間17。裝置10a然后制定請求消息20給裝置10b。在一個實施例中,請求消息20可以包括裝置10a的標識(″idA″),裝置10a希望同步的裝置10b的標識(″idH″),狀態(″s″),基于TFS 16的時間概念(″T″),信標當前時間(″N″)17,從裝置10a和電子簽名中隨機產生的當前時間(″NA″)。簽名可以被計算作為消息完整性代碼(MIC)。
一加密的安全消息完整性代碼可用于為在802.11信道上發送的數據消息作標記。MIC的例子包括執行消息認證安全散列算法(HMAC-SHA-1),參見M.Bellare等,RFC 2104(1997二月),高級加密標準-密碼分組鏈接-消息鑒別碼(AES-CBC-MAC),和可平行化的MAC(PMAC)。任何MIC都可以使用在本發明的一些實施例中。
裝置10a和10b可以共用一個用于數據認證的密鑰(″K″)。該密鑰可以來源于一口令,可以被動態地分配,或可以以其它的方式產生。通常,希望該密鑰以一個安全的方式來分配,以使它不為可能的對手所知。
因此,在一個實施例中,可以在下列數據上使用認證密鑰,將簽名計算為MICA to BidA,idB,s,T,N,NA,MICK(idA,idB,s,T,N,NA)
這些消息元的次序是不重要的,并且一些值可以是隱含的。特別是,狀態s可以是隱含的或可以僅僅是對狀態的引用。然而,在一些實施例中,希望裝置10a自己的當前時間NA是不可預知的,并且在密鑰K的生存期間也是不會重復的。
當裝置10b接收請求消息20時,它和由idA所標識的一方共用該認證K。然后裝置10b判定請求消息的時間概念T是否和它自己的相配。換句話說,裝置10b判定消息20是否是足夠地接近,以至當前時間N也和目前被用于信標消息18的當前時間相配,并且裝置10b在這個同步協議中是想要的一方。
裝置10b也使用認證密鑰來檢驗在請求消息22上的MIC簽名。如果這些檢驗中的任何一個失敗,其后裝置10b將該消息解釋為無效,且減少同步狀態s的要求。
然而,如果所有這些檢驗都成功,裝置10b將請求消息解釋為有效的。裝置10b可以把該請求看作是有效的,因為它包含該時間T和信標當前時間N,識別這些請求消息20作為最近產生的消息,并且證實該數據已經被MIC保護。通過假定,密鑰K是任何對手所不知道的,并且MIC也是加密安全的,因此對于對手來說在需要的時候幀中產生該消息在計算上是不可行的。
當它接收一個有效的同步請求消息20時,裝置10b格式化且返回該應答消息22。在一個實施例中,該應答消息22可以類似于該請求消息20,除了它也許不包括時間T和信標當前時間NB to A idA,idB,s,NA,MICK(idA,idB,s,NA)當裝置10a接收消息22時,它驗證該應答與請求消息20相配,且該消息的MIC是正確的。特別,裝置10a通過核對包括當前時間NA的應答消息22來檢驗請求消息22的時間性。如果請求消息22通過這些測試,那么裝置10a知道它與裝置10b具有同步狀態s。此外,在一些實施例中它只使用兩個消息來完成。
如圖1所示,各個裝置10a或10b可以包括一個存儲器14a或14b,該存儲器存儲有代碼或軟件來執行所描述的安全的兩消息同步。在其他的實施例中,安全的兩消息同步協議可以實施在硬件或邏輯電路中。
因此,參照圖2,開始,在左邊,裝置10a建立K,如在方框28a中所示。同樣地,裝置10b建立K,如在方框28b中所示。因此,裝置10a和10b具有認證密鑰K。
接下來,信標消息18可以被提供給裝置10a和10b。結果,如在方框30a和30b中所示,TFS和信標當前時間N可以在各個裝置10中建立。裝置10a(消息發起設備)開始一個請求消息20來同步s,如方框32所示。如同從方框32到菱形36的箭頭所示的,該請求可以包括參數 idA,idB,s,T,N,NA,MICK(idA,idB,s,T,N,NA)。
當請求消息20在裝置10b被接收時,裝置10b驗證消息20,如菱形36所示,并且提供一應答消息22給任何有效的請求。應答消息可以包括參數idA,idB,s,NA,MICK(idA,idB,s,NA)。當裝置10a接收該應答消息22時,裝置10a驗證該應答,如菱形34所示。
盡管已經參照有限的實施例而描述了本發明,本領域技術人員可以從中獲得各種修改和變換。希望用下面的權利要求來覆蓋在本發明的真實精神和范圍內的所有這樣的修改和變化。
權利要求
1.一種方法,包括接收包括時間指示的無線信標;以及產生一無線請求消息以便在無線網絡中通過發送一個包括時間指示的消息來建立與另一個裝置的安全同步。
2.如權利要求1的方法,包括接收具有計時器同步功能的信標。
3.如權利要求2的方法,包括產生一個包括當前時間的無線請求消息。
4.如權利要求3的方法,包括產生一個包括計時器同步功能的無線請求消息。
5.如權利要求1的方法,包括接收信標消息中唯一的當前時間。
6.如權利要求5的方法,包括在無線網絡上的兩個無線裝置之間建立一個同步狀態。
7.如權利要求6的方法,包括在發送給第二無線裝置的請求消息中提供第一無線裝置和第二無線裝置的標識。
8.如權利要求7的方法,包括在第一無線裝置產生當前時間,以及在請求消息中包含有被包含在新標消息中的當前時間,以及由第一個無線裝置產生的當前時間。
9.如權利要求8的方法,包括提供一個安全密鑰給所述的第一和第二裝置。
10.如權利要求9的方法,包括從所述的第二個無線裝置接收一個應答消息。
11.如權利要求10的方法,包括判定接收的請求消息是否足夠新而可被考慮為可信的。
12.如權利要求11的方法,包括使用來自于第一無線裝置的當前時間來判斷請求消息是否是最近的。
13.如權利要求12的方法,包括識別在所述的請求消息中的認證密鑰以及檢查所述的認證密鑰。
14.如權利要求13的方法,包括如果該消息被認證,返回一個應答消息。
15.如權利要求14的方法,包括在所述的應答消息中具有第一和第二無線裝置的標識。
16.如權利要求15的方法,包括在所述的第一和第二無線裝置之間提供有關同步狀態的信息。
17.如權利要求16的方法,包括將一個來自于第一無線裝置的當前時間返回到所述的第一無線裝置。
18.如權利要求17的方法,包括提供一個消息完整性代碼給所述的第一無線裝置。
19.如權利要求18的方法,其中所述的消息完整性代碼包括與第一和第二無線裝置的標識有關的數據。
20.一個產品,包括存儲指令的媒介,如果該指令被執行,它使得基于處理器的系統執行以下步驟接收包括時間指示的無線信標;以及產生一無線請求消息以便在一個無線網絡中通過發送一個包括時間指示的消息來建立與另一個裝置的安全同步。
21.如權利要求20的產品進一步存儲有指令,如果被執行,它使得基于處理器的系統來執行接收一個具有計時器同步功能的信標的步驟。
22.如權利要求21的產品進一步存儲有指令,如果被執行,它使得基于處理器的系統來執行生成一個包括當前時間的無線請求消息的步驟。
23.如權利要求22的產品進一步存儲有指令,如果被執行,它使得基于處理器的系統來執行生成一個包括計時器同步功能的無線請求消息的步驟。
24.如權利要求20的產品進一步存儲有指令,如果被執行,它使得基于處理器的系統來執行接收一個信標消息中的唯一的當前時間的步驟。
25.如權利要求24的產品進一步存儲有指令,如果被執行,它使得基于處理器的系統來執行在無線網絡上的兩個無線裝置之間建立同步狀態的步驟。
26.如權利要求25的產品進一步存儲有指令,如果被執行,它使得基于處理器的系統來執行在發送給第二無線裝置的請求消息中提供第一無線裝置和第二無線裝置的標識的步驟。
27.如權利要求26的產品進一步存儲有指令,如果被執行,它使得基于處理器的系統來執行在第一無線裝置中生成當前時間,以及在請求消息中包含有所述包含在信標信息中的當前時間和由第一無線裝置產生的當前時間的步驟。
28.如權利要求20的產品進一步存儲有指令,如果被執行,它使得基于處理器的系統來執行提供安全密鑰給所述的第一和第二裝置的步驟。
29.如權利要求28的產品進一步存儲有指令,如果被執行,它使得基于處理器的系統來執行從所述的第二無線裝置接收應答消息的步驟。
30.如權利要求29的產品進一步存儲有指令,如果被執行,它使得基于處理器的系統來執行判斷接收的請求消息是否足夠新而可被考慮為可信的步驟。
31.如權利要求30的產品進一步存儲有指令,如果被執行,它使得基于處理器的系統來執行使用來自于第一無線裝置的當前時間來判斷請求消息是否是最近的步驟。
32.如權利要求31的產品進一步存儲有指令,如果被執行,它使得基于處理器的系統來執行識別在所述請求消息中的認證密鑰以及檢查所述的認證密鑰的步驟。
33.如權利要求32的產品進一步存儲有指令,如果被執行,它使得基于處理器的系統來執行如果該消息被認證,返回一個應答消息的步驟。
34.如權利要求33的產品進一步存儲有指令,如果被執行,它使得基于處理器的系統來執行在所述的應答消息中具有第一和第二無線裝置的標識的步驟。
35.如權利要求34的產品進一步存儲有指令,如果被執行,它使得基于處理器的系統來執行在所述的第一和第二無線裝置之間提供有關同步狀態的信息的步驟。
36.如權利要求35的產品進一步存儲有指令,如果被執行,它使得基于處理器的系統來執行將一個從所述第一無線裝置接收的當前時間返回到所述的第一無線裝置的步驟。
37.如權利要求36的產品進一步存儲有指令,如果被執行,它使得基于處理器的系統來執行提供一個消息完整性代碼給所述的第一無線裝置的步驟。
38.如權利要求37的產品進一步存儲有指令,如果被執行,它使得基于處理器的系統來執行步驟,其中所述的消息完整性代碼包括與第一和第二無線裝置的標識有關的數據。
39.一種無線裝置,包括一處理器;和一存儲了指令的存儲器,如果該指令被執行,它能使該處理器執行步驟接收包括時間指示的無線信標;和產生一無線請求消息,以便在一個無線網絡中通過發送一個包括時間指示的消息來建立與另一個裝置的安全同步。
40.如權利要求39的裝置,其中所述的存儲器更進一步存儲有指令,如果被執行,它能使得處理器來執行接收具有計時器同步功能的信標的步驟。
41.如權利要求39的裝置,其中所述的存儲器更進一步存儲有指令,如果被執行,它能使得處理器來執行產生一個包括當前時間的無線請求消息的步驟。
42.如權利要求41的裝置,其中所述的存儲器更進一步存儲有指令,如果被執行,它能使得處理器來執行產生一個包括時間同步功能的無線請求消息的步驟。
43.如權利要求39的裝置,其中所述的存儲器更進一步存儲有指令,如果被執行,它能使得處理器來執行接收信標信息中的唯一的當前時間的步驟。
44.如權利要求43的裝置,其中所述的存儲器更進一步存儲有指令,如果被執行,它能使得處理器來執行和無線網絡中的另一個無線裝置建立同步狀態的步驟。
45.如權利要求44的裝置,其中所述的存儲器更進一步存儲有指令,如果被執行,它能使得處理器來執行在發送給第二無線裝置的請求消息中提供第一無線裝置和第二無線裝置的標識的步驟。
46.如權利要求20的裝置進一步存儲有指令,如果被執行,它使得處理器來執行判定接收的請求消息是否足夠地新而可被考慮為可信的步驟。
全文摘要
在一無線網絡中,可以用兩個消息來實現安全的同步。一信標發起設備(10c)可以提供一信標時間標記域(16)和一信標當前時間(17)給網絡中的裝置(10a,10b)。網絡中希望與另一個裝置(10)同步的裝置(10)可以發送一包含多種參數的消息,該參數包括信標時間標記域(16)和當前時間(17)。根據接收的信息,接收裝置(10)可以核對包括在消息中的密鑰,信標時間標記域(16)和當前時間(17)來判定,不僅發送方具有正確的密鑰,而且消息具有有效時間,從而可以完全確定該消息不會被簡單地復制。然后接收裝置(10)發送包含可核實參數的響應消息來使得消息發送方(10)能夠確定發送方(10)是在和有效的接收方(10)通信。
文檔編號H04L12/28GK1636376SQ03803465
公開日2005年7月6日 申請日期2003年6月27日 優先權日2002年7月5日
發明者J·瓦爾克 申請人:英特爾公司