專利名稱:用于管理員驅(qū)動的簡表更新的方法和設備的制作方法
技術領域:
本發(fā)明的實施例涉及數(shù)據(jù)網(wǎng)絡領域,更具體地說,涉及無線網(wǎng)絡。
背景技術:
Wi-Fi保護接入(WPA)和Wi-Fi保護接入2 (WPA2)是在IEEE 802. Ili規(guī)范中提出的無線安全協(xié)議。對于個人無線網(wǎng)絡環(huán)境來說,WPA/WPA2需要PSK (預共享密鑰)認證。但是,這些標準并沒有提供足夠的解決方案來及時且自動地更新在個人無線網(wǎng)絡中的用戶認證過程中所使用的安全簡表。
根據(jù)下文給出的詳細描述和本發(fā)明的各種實施例的附圖,將能更全面地了解本發(fā)明的實施例,但是這些不應視為是將本發(fā)明局限于特定實施例,而是它們只是為了說明和
便于理解。圖I是根據(jù)本發(fā)明一個實施例的無線通信系統(tǒng)的圖解表示。圖2A示出根據(jù)本發(fā)明一個實施例由通信系統(tǒng)執(zhí)行的操作序列。圖2B是示出根據(jù)本發(fā)明實施例用于生成一次性密碼的隨機字符表和圖像的實例的圖。圖3示出根據(jù)本發(fā)明一個實施例的網(wǎng)絡設備。圖4是用于更新安全簡表的過程的一個實施例的流程圖。圖5A示出包含關于簡表版本的信息的數(shù)據(jù)分組的實施例。圖5B示出包括簡表更新請求的數(shù)據(jù)分組的實施例。圖5C示出包括簡表更新響應的數(shù)據(jù)分組的實施例。圖6示出與本發(fā)明的一個實施例一起使用的計算機系統(tǒng)。
具體實施例方式介紹用于安全簡表更新的設備和方法。在一個實施例中,該方法包括確定與無線客戶端相關聯(lián)的安全簡表的版本;以及確定是否存在新的安全簡表。該方法包括至少基于隨機字符表和圖像內(nèi)的一些圖像區(qū)域計算一次性密碼。該方法還包括通過利用一次性密碼的第一部分作為加密密鑰來生成新的安全簡表的加密版本;以及向無線客戶端發(fā)送簡表更新請求。在以下描述中,闡述了眾多細節(jié)以便更加詳盡地說明本發(fā)明的實施例。但是,本領域技術人員將明白,沒有這些具體細節(jié)也可實現(xiàn)本發(fā)明的實施例。在其它情況下,以框圖形式而沒有詳細地示出公知的結構和裝置,以免使本發(fā)明的實施例晦澀難懂。以下詳細描述的一些部分用對計算機存儲器內(nèi)的數(shù)據(jù)位的操作的算法和符號表示加以介紹。這些算法描述和表示是數(shù)據(jù)處理領域的技術人員用來向本領域其它技術人員最有效地傳達他們的工作實質(zhì)的手段。這里一般將算法設想為是導致期望結果的獨立的步驟序列。這些步驟是需要物理量的物理操縱的步驟。通常但不一定,這些量采用能夠存儲、傳送、組合、比較以及以其它方式進行操縱的電或磁信號的形式。主要出于常用的原因,有時將這些信號稱為位、值、元素、符號、字符、項、數(shù)字等經(jīng)證實是便利的。但是,應記住,所有這些和類似術語都與合適的物理量相關聯(lián),并且只是應用于這些量的便利標記。除非另外特別指出,否則從以下論述顯而易見,將明白,在整篇描述中,利用諸如“處理”、“演算”、“計算”、“確定”或“顯示”等術語的論述是指操縱表示為計算機系統(tǒng)的寄存器和存儲器內(nèi)的物理(電子)量的數(shù)據(jù)并將這些數(shù)據(jù)變換為類似地表示為計算機系統(tǒng)的存儲器、寄存器或其它這樣的信息存儲、傳輸或顯示裝置內(nèi)的物理量的其它數(shù)據(jù)的計算機系統(tǒng)或類似電子計算裝置的動作和過程。本發(fā)明的實施例還涉及用于執(zhí)行本文的操作的設備。一些設備可出于需要的目的特定構造而成,或者它可以包括由存儲在計算機中的計算機程序選擇性地激活或重新配置的通用計算機。這樣的計算機程序可存儲在計算機可讀存儲介質(zhì)中,例如但不限于任何類型的盤,包括軟盤、光盤、CD-ROM、DVD-ROM和磁-光盤;只讀存儲器(ROM);隨機存取存儲器(RAM) ;EPROM ;EEPROM ;NVRAM ;磁或光卡;或任何類型的適于存儲電子指令并且均耦合到計算機系統(tǒng)總線的介質(zhì)。 本文介紹的算法和顯示不與任何特定計算機或其它設備固有地相關。各種通用系統(tǒng)可以與根據(jù)本文的教導的程序一起使用,或者將更加專門的設備構造成執(zhí)行所需的方法步驟經(jīng)證實是便利的。各種這些系統(tǒng)的所需結構將從以下描述顯見。另外,沒有參考任何特定編程語言來描述本發(fā)明的實施例。將明白,可使用各種編程語言來實現(xiàn)本文所描述的本發(fā)明的教導。機器可讀介質(zhì)包括用于存儲或傳送以可供機器(如計算機)讀取的形式的信息的任何機制。例如,機器可讀介質(zhì)包括只讀存儲器(“ROM”);隨機存取存儲器(“RAM”);磁盤存儲介質(zhì);光存儲介質(zhì);閃速存儲器裝置;等等。無線通信系統(tǒng)
圖I是根據(jù)本發(fā)明一個實施例的無線通信系統(tǒng)的圖解表示。參考圖1,在一個實施例中,無線通信系統(tǒng)100包括一般示為110、120和130的一個或多個無線通信網(wǎng)絡。在一個實施例中,無線通信系統(tǒng)100包括無線個域網(wǎng)(WPAN) 110、無線局域網(wǎng)(WLAN) 120和無線城域網(wǎng)(WMAN) 130。在其它實施例中,無線通信系統(tǒng)100包括另外的或更少的無線通信網(wǎng)絡。例如,無線通信網(wǎng)絡100包括另外的WPAN、WLAN和/或WMAN。本文描述的方法和設備在這方面不受限制。在一個實施例中,無線通信系統(tǒng)100包括一個或多個訂戶站(例如,示為140、142、144、146和148)。例如,訂戶站140、142、144、146和148包括無線電子裝置,例如桌面型計算機、膝上型計算機、手持式計算機、平板計算機、蜂窩電話、尋呼機、音頻/視頻播放器(例如,MP3播放器或DVD播放器)、游戲裝置、攝像機、數(shù)碼相機、導航裝置(例如,GPS裝置)、無線外圍設備(例如,打印機、掃描儀、耳機、鍵盤、鼠標等)、醫(yī)療裝置(例如,心率監(jiān)測器、血壓監(jiān)測器等)和其它合適的固定、便攜式或移動電子裝置。在一個實施例中,無線通信系統(tǒng)100包括更多或更少的訂戶站。在一個實施例中,訂戶站140、142、144、146和148利用各種調(diào)制技術,例如擴頻調(diào)制(例如,直序碼分多址(DS-CDMA)、跳頻碼分多址(FH-CDMA)或兩者)、時分復用(TDM)調(diào)制、頻分復用(FDM)調(diào)制、正交頻分復用(OFDM)調(diào)制、多載波調(diào)制(MDM)、其它合適的調(diào)制技術或其組合,以便經(jīng)由無線鏈路進行通信。在一個實施例中,膝上型計算機140根據(jù)需要非常低功率的合適的無線通信協(xié)議進行操作以便實現(xiàn)WPAN 110,無線通信協(xié)議可以是例如Bluetooth. RTM.、超寬帶(UWB)、射頻標識(RFID)或其組合。在一個實施例中,膝上型計算機140經(jīng)由無線鏈路與同WPAN 110相關聯(lián)的諸如攝像機142、打印機144或兩者的裝置通信。在一個實施例中,膝上型計算機140使用直序擴頻(DSSS)調(diào)制、跳頻擴頻(HlSS)調(diào)制或兩者來實現(xiàn)WLAN 120 (例如,根據(jù)由電氣和電子工程師協(xié)會(IEEE)開發(fā)的802. 11系列標準或這些標準的變型和演進的基礎服務集(BSS)網(wǎng)絡)。例如,膝上型計算機140經(jīng)由無線鏈路與同WLAN 120相關聯(lián)的諸如打印機144、手持式計算機146、智能電話148或其組合的裝置通信。在一個實施例中,膝上型計算機140還經(jīng)由無線鏈路與接入點(AP) 150通信。AP150在操作上耦合到路由器152,這將在下文進一步詳細描述?;蛘?,AP 150和路由器152 可集成到單個裝置(例如,無線路由器)中。在一個實施例中,膝上型計算機140利用OFDM調(diào)制以通過將射頻信號分成多個小的子信號、接著在不同的頻率同時傳送這些小的子信號來傳送大量數(shù)字數(shù)據(jù)。在一個實施例中,膝上型計算機140利用OFDM調(diào)制來實現(xiàn)WMAN 130。例如,膝上型計算機140根據(jù)由IEEE開發(fā)的用于規(guī)定固定、便攜式、移動寬帶無線接入(BWA)網(wǎng)絡的802. 16系列標準(例如,2004年發(fā)布的IEEE標準802. 16)或其組合操作以經(jīng)由無線鏈路與示為160、162和164的基站通信。盡管上文參照由IEEE開發(fā)的標準描述了以上一些實例,但是本文公開的方法和設備可容易地應用于由其它特殊興趣團體、標準開發(fā)組織(例如,無線保真(Wi-Fi)聯(lián)盟、全球微波接入互操作性(WiMAX)論壇、紅外數(shù)據(jù)協(xié)會(IrDA)、第三代合作伙伴計劃(3GPP)等)開發(fā)的許多規(guī)范、標準或其組合。本文描述的方法和設備在這方面不受限制。WLAN 120和WMAN 130在操作上耦合到網(wǎng)絡170 (公共或私有網(wǎng)絡),網(wǎng)絡170可以是例如互聯(lián)網(wǎng)、電話網(wǎng)絡(例如,公共交換電話網(wǎng)絡(PSTN))、局域網(wǎng)(LAN)、電纜網(wǎng)絡和經(jīng)由到以太網(wǎng)的連接、數(shù)字訂戶線(DSL)、電話線、同軸電纜、任何無線連接等的另一無線網(wǎng)絡、或其組合。在一個實施例中,WLAN 120經(jīng)由AP 150和路由器152在操作上耦合到網(wǎng)絡170。在另一個實施例中,WMAN 130經(jīng)由基站160、162、164或其組合在操作上耦合到網(wǎng)絡170。網(wǎng)絡170包括一個或多個網(wǎng)絡服務器(未示出)。在一個實施例中,無線通信系統(tǒng)100包括其它合適的無線通信網(wǎng)絡,例如示為180的無線網(wǎng)狀網(wǎng)絡。在一個實施例中,AP 150、基站160、162和164與一個或多個無線網(wǎng)狀網(wǎng)絡相關聯(lián)。在一個實施例中,AP 150與無線網(wǎng)狀網(wǎng)絡180的網(wǎng)點(MP) 190之一通信或作為無線網(wǎng)狀網(wǎng)絡180的網(wǎng)點(MP)190之一操作。在一個實施例中,AP 150結合一個或多個MP190接收和傳送數(shù)據(jù)。在一個實施例中,MP 190包括接入點、重新分配點、端點、其它合適的連接點或其組合以用于經(jīng)由網(wǎng)狀路徑的業(yè)務流。MP 190利用上文所描述的任何調(diào)制技術、無線通信協(xié)議、有線接口或其組合來通信。在一個實施例中,無線通信系統(tǒng)100包括無線廣域網(wǎng)(WWAN),例如蜂窩無線電網(wǎng)絡(未示出)。膝上型計算機140根據(jù)其它無線通信協(xié)議操作以支持WWAN。在一個實施例中,這些無線通信協(xié)議基于模擬、數(shù)字、或雙模式通信系統(tǒng)技術,例如全球移動通信系統(tǒng)(GSM)技術、寬帶碼分多址(WCDMA)技術、通用分組無線電服務(GPRS)、技術、增強型數(shù)據(jù)GSM環(huán)境(EDGE)技術、通用移動電信系統(tǒng)(UMTS)技術、高速下行鏈路分組接入(HSDPA)技術、高速上行鏈路分組接入(HSUPA)技術、基于這些技術的其它合適代的無線接入技術(例如,3G、4G等)標準、這些標準的變型和演進、以及其它合適的無線通信標準。盡管圖4描繪了 WPAN、WLAN和WMAN,但在一個實施例中,無線通信系統(tǒng)100包括WPAN、WLAN、WMAN和WffAN的其它組合。本文描述的方法和設備在這方面不受限制。在一個實施例中,無線通信系統(tǒng)100包括其它WPAN、WLAN、WMAN或WffAN裝置(未示出),例如網(wǎng)絡接口裝置和外圍設備(例如,網(wǎng)絡接口卡(NIC))、接入點(AP)、重新分配點、端點、網(wǎng)關、橋接器、集線器等,以便實現(xiàn)蜂窩電話系統(tǒng)、衛(wèi)星系統(tǒng)、個人通信系統(tǒng)(PCS)、雙向無線電系統(tǒng)、單向?qū)ず魴C系統(tǒng)、雙向?qū)ず魴C系統(tǒng)、個人計算機(PC)系統(tǒng)、個人數(shù)字助理(PDA)系統(tǒng)、個人計算配件(PCA)系統(tǒng)、其它合適的通信系統(tǒng)或其組合。在一個實施例中,訂戶站(例如,140、142、144、146和148)、AP 150、或基站(例如, 160、162和164)包括串行接口、并行接口、小型計算機系統(tǒng)接口(SCSI)、以太網(wǎng)接口、通用串行總線(USB)接口、高性能串行總線接口(例如,IEEE 1394接口)、任何其它合適類型的有線接口或其組合,以便經(jīng)由有線鏈路進行通信。盡管上文描述了某些實例,但是本公開的覆蓋范圍不限于此。本發(fā)明的實施例可以在各種電子裝置和邏輯電路中實現(xiàn)。此外,包含本發(fā)明的實施例的裝置或電路可包含在各種計算機系統(tǒng)內(nèi)。本發(fā)明的實施例也可包含在其它計算機系統(tǒng)拓撲和體系結構中。管理員驅(qū)動的簡表更新
圖2A示出根據(jù)本發(fā)明一個實施例由通信系統(tǒng)執(zhí)行的操作序列。參考圖2A,在一個實施例中,通信系統(tǒng)包括客戶端250 (例如,參照(with respect to)圖I的電子無線裝置)和認證器251 (例如,參照圖I的接入點)。在一個實施例中,客戶端250包括參照圖3描述的網(wǎng)絡設備。在一個實施例中,認證器251包括參照圖3描述的網(wǎng)絡設備。在一個實施例中,認證器251充當參考客戶端-服務器網(wǎng)絡的情境的服務器或管理員。在一個實施例中,將支持一個或多個無線客戶端(如客戶端250)的單個無線AP(如認證器251)稱為基礎服務集(BSS)。連接到相同的有線網(wǎng)絡的兩個或兩個以上無線AP的集合稱為擴展服務集(ESS)。ESS是單個邏輯網(wǎng)絡段(又稱為子網(wǎng)),并且由服務集標識符(SSID)標識。在一個實施例中,客戶端250發(fā)送認證請求(過程210)以建立數(shù)據(jù)通信。認證器251響應該請求(過程211)。在一個實施例中,客戶端250向認證器251發(fā)送關聯(lián)請求(過程212)。作為響應,認證器251向客戶端250發(fā)送關聯(lián)響應(過程213)。如果關聯(lián)成功,那么客戶端250觸發(fā)與認證器251的4向握手,以使得客戶端250能夠發(fā)送數(shù)據(jù)幀。建立數(shù)據(jù)通信(過程214)。在一個實施例中,無線安全簡表包括用于建立安全無線連接的信息。在一個實施例中,無線安全簡表包括諸如簡表版本、認證算法、密碼密鑰、SSID、口令(passphrase)、和服務質(zhì)量設置(QoS)的信息。無線安全簡表在本文又稱為簡表或安全簡表??蛻舳?50和認證器251還至少共享公共圖像。在一個實施例中,客戶端250在關聯(lián)相關的數(shù)據(jù)幀中封裝無線安全簡表的版本信息。例如,圖5A示出結合關聯(lián)請求/響應(例如,在過程212-213期間)發(fā)送的元素?;诤啽戆姹拘畔ⅲJ證器251確定客戶端250所使用的安全簡表是否需要更新。在一個實施例中,如果認證器251發(fā)現(xiàn)存在安全簡表的新版本,那么認證器251嘗試使客戶端更新至新的安全簡表。在一個實施例中,為新的安全簡表指派較高的版本號,或者使新的安全簡表與可用于確定安全簡表是較新還是較舊的標識符相關聯(lián)。在一個實施例中,認證器251生成隨機字符表(過程243)。認證器251計算一次性密碼(過程244)。下文將另外參考圖2B進一步詳細地描述一次性密碼的生成。注意,客戶端250和認證器251都具有關于彼此的IP地址和MAC地址的信息,因為客戶端250已經(jīng)成功地與認證器251相關聯(lián)。在一個實施例中,認證器251通過利用生成的OTP作為密鑰來加密和簽署新的安全簡表(過程245)。在一個實施例中,生成的OTP包括兩個部分用于加密/解密目的的 OTP-ED部分;以及用于簽名和驗證目的的OTP-SV部分。在一個實施例中,OTP-ED用作用于加密以及稍后解密新的安全簡表的密鑰。在一個實施例中,OTP-SV用于簽署以及稍后驗證新的安全簡表。在一個實施例中,認證器251編排包括隨機字符表、加密且簽名的簡表的UDP數(shù)據(jù)有效負載(過程246)。UDP數(shù)據(jù)有效負載包括用于指示它是簡表更新請求的標識符。在一個實施例中,認證器251根據(jù)圖5B中示出的實例準備UDP數(shù)據(jù)分組。認證器251通過無線介質(zhì)將UDP數(shù)據(jù)分組發(fā)送到客戶端250 (過程216)。在一個實施例中,認證器251存儲客戶端250的IP地址和MAC地址。在一個實施例中,客戶端250接收UDP數(shù)據(jù)分組??蛻舳?50解碼數(shù)據(jù)分組并檢索包含在其中的隨機字符表(過程221)。在一個實施例中,隨機字符表沒有加密。在一個實施例中,客戶端250通過利用參考圖2B描述的機制來計算一次性密碼(過程222)。在一個實施例中,通過使用隨機字符表,客戶端250能夠計算由認證器251生成的相同的一次性密碼(結合過程244)。在一個實施例中,客戶端250通過使用所計算的OTP來解密并驗證包含在UDP數(shù)據(jù)分組中的新的安全簡表(過程223)。解密和驗證的過程借鑒由認證器251執(zhí)行的操作。在一個實施例中,如果驗證成功,那么客戶端250安裝新的安全簡表(例如通過更新設置而采用新的安全簡表以根據(jù)新的安全簡表建立無線連接)。在一個實施例中,客戶端250生成隨機摘要以準備響應消息(即,簡表更新響應)??蛻舳?50通過使用OTP的部分(OTP-ED)來加密隨機摘要??蛻舳?50通過使用OTP的另一部分(OTP-SV)來簽署加密的摘要??蛻舳?50包括根據(jù)圖5C中示出的實例在UDP數(shù)據(jù)有效負載中的響應消息??蛻舳?50將UDP數(shù)據(jù)分組作為確認發(fā)送給認證器251 (過程217)。在一個實施例中,除了別的以外,簡表更新響應還包括指示客戶端250是否已經(jīng)基于新的安全簡表成功更新了它的設置的狀態(tài)代碼。在一個實施例中,認證器251解碼簡表更新響應消息以獲得其有效負載(過程247)。認證器251檢查狀態(tài)代碼以確定更新是否成功。
在一個實施例中,認證器251從客戶端250接收響應消息。認證器251通過使用OTP來解碼、解密和驗證響應消息。在一個實施例中,認證器251通過使用OTP-ED作為密鑰來解密隨機摘要的內(nèi)容,然后利用OTP-SV來核實信息的MIC。如果客戶端250已經(jīng)成功執(zhí)行更新,那么狀態(tài)代碼將指示,更新過程成功并且MIC驗證(簽名檢查)有效。在一個實施例中,如果驗證失敗或者如果超時(在等待來自客戶端250的響應時),那么認證器251終止到客戶端250的連接(過程248)。在一個實施例中,客戶端250利用安全簡表的較舊版本來執(zhí)行解除認證(或解除關聯(lián))機制。在一個實施例中,在終止連接之后,客戶端250結合新安裝的安全簡表建立到認證器251的新的無線連接。在一個實施例中,認證器251使與客戶端250相關聯(lián)的安全簡表的較舊版本無效,以使得客戶端250將不能夠再次使用安全簡表的該較舊版本。從這一刻起,客戶端250使用新的安全簡表來建立到網(wǎng)絡的連接。注意,認證器251可以為尚未通過簡表更新過程更新至較新簡表的其它客戶端保留較舊簡表。在一個實施例中,認證器251保留兩個或兩個 以上簡表以滿足尚未更新至新的安全簡表的客戶端裝置。在一個實施例中,利用TCP機制來在認證器251和客戶端250之間傳送簡表更新請求/響應。對此,在發(fā)送出簡表更新請求/響應之前,執(zhí)行3向TCP握手過程。在一個實施例中,通過使用對稱加密算法(例如,AES)來執(zhí)行加密。在一個實施例中,在無需召回客戶端裝置(例如,客戶端250 )的情況下執(zhí)行安全簡表更新。在一個實施例中,結合其它協(xié)議使用安全簡表更新(受管理員驅(qū)動),其它協(xié)議可以是例如 IEEE 802. 16 和 IEEE 802. 21、IEEE 802. 11、IEEE 802. 15 和 LTE/3G。圖2B是示出根據(jù)本發(fā)明實施例用于生成一次性密碼的隨機字符表和圖像的實例的圖。參考圖2B,在一個實施例中,認證器生成隨機字符表。在一個實施例中,利用包括共享字符密碼和共享圖像的相同的共享多因素秘密來預先配置客戶端和認證器。共享字符密碼在本文又稱為口令。共享字符密碼和共享圖像將結合隨機字符表80 —起使用以生成一次性密碼(OTP)。在一個實施例中,隨機字符表80具有10個行和10個列,并且包括用于編排口令的特定字符。隨機字符表80內(nèi)的字符彼此完全不同,并且是隨機生成的。另外,隨機字符表80中的六個位置包括空白字符,它們不可在口令中使用。這留下96個字符用于編排一次性密碼。應了解,可使用其它備選的隨機字符表格式。在一個實施例中,認證器(或客戶端)能夠從存儲器中檢索口令和共享圖像。口令(共享字符密碼)和共享圖像由例如網(wǎng)絡管理員生成,并且在將客戶端裝置或認證器裝置遞送給最終用戶之前存儲在認證器中。在一個實施例中,口令包括字符串,所有字符都將在隨機字符表內(nèi)。共享圖像是具有按照與隨機字符表中的字符相同的方式排列的圖像部分(圖像區(qū)域)的圖像。例如,圖2B示出結合隨機字符表80 —起使用的共享圖像82。參考圖2B,共享圖像82劃分成按IOX 10排列的100個圖像區(qū)域。各個圖像部分(圖像區(qū)域)應彼此不相同。在一個實施例中,圖像區(qū)域是隨機生成的。在一個實施例中,生成一次性密碼(OTP)通過認證器標識(口令的)字符在隨機字符表80內(nèi)的位置而開始。例如,如果共享字符密碼是“aED4d”,那么使用隨機字符表80,位置是(0,0)、(0,1),(2, 2)、(3,I)和(4,I)。然后,從共享圖像中選擇在這些相同位置的對應圖像部分為A (O, O)、A (O, I)、A (2,2)、A (3,I)和A (4,I)。使用這些圖像部分的內(nèi)容作為用戶憑證。在一個實施例中,OTP是通過使用散列算法來計算的。在一個實施例中,散列算法是不可逆的散列算法。例如,如下這樣對數(shù)據(jù)運用散列算法
OTP = HASH (A(XOYO) |丨 A(XIYl) | …I A(Xa-IYn-I)H 隨機字符表 內(nèi)容Il客戶端的MAC地址Il認證器的MAC地址)
在一個實施例中,將生成的OTP劃分成兩個部分用于加密/解密目的的OTP-ED部分;以及用于簽名和驗證的OTP-SV部分。在一個實施例中,OTP-ED用作用于加密以及稍后解密新的安全簡表的密鑰。在一個實施例中,OTP-SV用于簽署以及稍后驗證新的安全簡表。 無線通信裝置
圖3示出根據(jù)本發(fā)明一個實施例的網(wǎng)絡設備。在一個實施例中,網(wǎng)絡設備是參照圖I的無線電子裝置、服務器、接入點或基站的實施例。參考圖3,在一個實施例中,網(wǎng)絡設備301包括控制器303、散列函數(shù)邏輯306、存儲器302、加密邏輯304、解密邏輯305、簽名生成器307和一次性密碼(OTP)生成器308。在一個實施例中,將上述單元作為離散裝置示出。其它實施例也是可能的,其中將這些單元的一些或全部集成在某個裝置或其它裝置內(nèi)。在其它實施例中,上述單元以硬件、軟件或其某個組合的形式分散在整個系統(tǒng)中。在一個實施例中,控制器303管理和協(xié)調(diào)一次性密碼(OTP)生成器308、散列函數(shù)邏輯306、加密邏輯304、解密邏輯305和諸如收發(fā)器、天線、功率控制單元等的其它組件(未示出)的操作。在一個實施例中,一次性密碼生成器308參考圖2B中的實例基于隨機字符表、圖像和口令計算一次性密碼。在一個實施例中,結合本領域中已知的無線協(xié)議使用一次性密碼,無線協(xié)議可以是例如 IEEE 802. IIi標準(“IEEE 802. lli-2004: Amendment 6: MediumAccess Control (MAC) Security Enhancements,,, IEEE Standards. 2004-07-23)。在一個實施例中,存儲器302存儲一個或多個圖像以在用于計算一次性密碼的操作中使用。在一個實施例中,在建立無線連接之前,與另一系統(tǒng)預先共享圖像。在一個實施例中,系統(tǒng)管理員存儲一個或多個圖像以用于生成一次性密碼。在一個實施例中,存儲器302還存儲預先共享的口令。在其它實施例中,口令稱為字符密碼。在一個實施例中,散列函數(shù)邏輯306對消息執(zhí)行散列操作。在一個實施例中,散列函數(shù)邏輯306支持SHA (安全散列算法)函數(shù),例如SHA-0、SHA-I和SHA-2。在一個實施例中,散列函數(shù)邏輯306對256位消息摘要執(zhí)行SHA-2變體(例如,SHA-256)。在其它實施例中,散列函數(shù)邏輯306能夠?qū)Ω鞣N大小的消息摘要執(zhí)行SHA函數(shù)(例如,SHA-224、SHA-256、SHA-384和SHA-512)。在一個實施例中,散列函數(shù)邏輯306結合OTP生成器308進行操作以計算一次性密碼。在一個實施例中,加密邏輯304通過執(zhí)行加密算法來加密消息(信息)。在一個實施例中,解密邏輯305解密消息的加密版本以檢索原始消息。在一個實施例中,加密邏輯304對安全簡表執(zhí)行AES加密。在一個實施例中,解密邏輯305對加密信息執(zhí)行AES解密。在一個實施例中,加密邏輯304和解密邏輯305支持對稱密鑰算法(例如,DES、RC4、RC5、AES等)??蛻舳撕驼J證器共享對對稱密鑰的了解。圖4是用于更新無線安全簡表的過程的一個實施例的流程圖。該過程由處理邏輯執(zhí)行,處理邏輯可包括硬件(電路、專用邏輯等)、軟件(例如,在通用計算機系統(tǒng)或?qū)S脵C器上運行的軟件)或兩者的組合。在一個實施例中,結合網(wǎng)絡設備(例如,參照圖3的網(wǎng)絡設備301)來執(zhí)行該過程。在一個實施例中,該過程由參照圖6的計算機系統(tǒng)來執(zhí)行。參考圖4,在一個實施例中,處理邏輯通過確定而開始(過程方框400)。處理邏輯采集關于與客戶端相關聯(lián)的安全簡表版本的信息。在一個實施例中,處理邏輯能夠確定客戶端所使用的安全簡表是否需要更新(過程方框400)。在一個實施例中,如果處理邏輯發(fā)現(xiàn)存在安全簡表的新版本,那么處理邏輯嘗試使客戶端更新至新的安全簡表(過程方框401)。在一個實施例中,處理邏輯生成隨機字符表(過程402)。處理邏輯確定字符(口令 的字符)在隨機字符表內(nèi)的位置(過程方框403)。處理邏輯檢索/標識圖像內(nèi)的相同位置的圖像區(qū)域(過程方框404)。在一個實施例中,處理邏輯通過對包括來自圖像區(qū)域的內(nèi)容、隨機字符表的內(nèi)容、MAC地址、IP地址或其組合的數(shù)據(jù)執(zhí)行散列函數(shù)操作而生成一次性密碼(OTP)(過程方框405)。在一個實施例中,處理邏輯通過利用生成的OTP來加密、然后簽署新的安全簡表(過程406)。在一個實施例中,生成的OTP包括兩個部分用于加密/解密目的的OTP-ED部分;以及用于簽名和驗證目的的OTP-SV部分。在一個實施例中,OTP-ED用作用于加密和解密安全簡表的密鑰。在一個實施例中,OTP-SV用于簽署以及稍后驗證安全簡表。在一個實施例中,處理邏輯編排包括到客戶端的簡表更新請求的UDP數(shù)據(jù)有效負載(過程方框407)。處理邏輯將簡表更新請求發(fā)送到客戶端。在一個實施例中,處理邏輯等待來自客戶端的響應(過程方框408)。在一個實施例中,如果客戶端沒有在預定超時內(nèi)做出響應,那么處理邏輯確定客戶端沒有正確地運行。然后,處理邏輯終止到客戶端的連接(過程方框409)。在一個實施例中,UDP數(shù)據(jù)有效負載包括用于指示它是簡表更新請求的標識符。在一個實施例中,處理邏輯根據(jù)圖5B中示出的實例準備UDP數(shù)據(jù)分組。在一個實施例中,客戶端接收更新簡表請求??蛻舳私饷懿Ⅱ炞C新的安全簡表。在一個實施例中,如果驗證成功,那么客戶端安裝新的安全簡表。在一個實施例中,處理邏輯接收簡表更新響應,它包括指示客戶端是否已經(jīng)基于新的安全簡表成功地更新了它的設置的狀態(tài)代碼。處理邏輯通過利用生成的OTP解碼、驗證和解密響應消息。處理邏輯檢查狀態(tài)代碼以確定更新是否成功。在一個實施例中,如果驗證失敗或者如果超時(在等待來自客戶端的響應時),那么處理邏輯終止到客戶端的連接。在一個實施例中,處理邏輯使與客戶端相關聯(lián)的安全簡表的較舊版本無效,以使得客戶端將不能夠使用安全簡表的較舊版本。從這一刻起,客戶端使用新的簡表來建立到網(wǎng)絡的連接。圖5A示出包含關于簡表版本的信息的數(shù)據(jù)分組的實施例。參考圖5A,在一個實施例中,數(shù)據(jù)分組中包含用于在客戶端和認證器(例如,在關聯(lián)期間)交換簡表信息的元素。根據(jù)本發(fā)明的實施例,簡表版本602包含關于使用中的安全簡表的版本信息。在一個實施例中,該元素包括元素ID 600、元素長度601和簡表版本602。圖5B示出包括從認證器到客戶端的簡表更新請求的數(shù)據(jù)分組的實施例。參考圖5B,該圖示出作為簡表更新請求的數(shù)據(jù)分組,簡表更新請求包括隨機字符表622、新的安全簡表的加密版本624和MIC 625。在一個實施例中,類型字符串621設置為“WLAN簡表更新請求”,以指示該分組是對簡表更新的請求。隨機字符表622供客戶端和認證器用于計算一次性密碼。長度623是新的安全簡表的加密內(nèi)容的總大小(以字節(jié)為單位)。新的無線安全簡表的加密版本是通過利用OTP-ED密鑰而生成的結果。MIC 625是通過利用OTP-SV密鑰來簽署新的安全簡表的原始內(nèi)容而生成的結果。在一個實施例中,無線安全簡表包括諸如簡表版本650、認證算法651、密碼密鑰652、SSID 653、共享口令654和服務質(zhì)量設置(QoS) 655的信息。圖5C示出包括簡表更新響應的數(shù)據(jù)分組的實施例。參考圖5C,在一個實施例中,該圖示出作為簡表更新響應的數(shù)據(jù)分組,簡表更新響應包括類型字符串660、狀態(tài)代碼 661、簡表版本662、長度663、隨機摘要的加密版本664和MIC 665。在一個實施例中,類型字符串660設置為“WLAN簡表更新響應”,以指示該分組是對簡表更新的響應。在一個實施例中,狀態(tài)代碼661用于指示客戶端是否成功更新了新的簡表。新的安全簡表的簡表版本662由認證器保留。長度663指示隨機摘要的加密版本的總大小(以字節(jié)為單位)。隨機摘要的加密版本664是通過利用OTP-ED而生成的結果。MIC 665是通過利用OTP-SV密鑰來簽署由客戶端生成的隨機摘要的原始內(nèi)容而生成的結果。在一個實施例中,如果狀態(tài)代碼661指示更新過程沒有成功,那么其它數(shù)據(jù)字段中的內(nèi)
容變得無關緊要。本發(fā)明的實施例可在各種電子裝置和邏輯電路中實現(xiàn)。此外,包括本發(fā)明的實施例的裝置或電路可包含在各種計算機系統(tǒng)內(nèi)。本發(fā)明的實施例也可包含在其它計算機系統(tǒng)拓撲和體系結構中。圖6示出結合本發(fā)明一個實施例的計算機系統(tǒng)的實例。處理器705從I級(LI)高速緩沖存儲器706、2級(L2)高速緩沖存儲器710和主存儲器715中存取數(shù)據(jù)。在本發(fā)明的其它實施例中,高速緩沖存儲器706可以是多級高速緩沖存儲器,它包括LI高速緩存以及位于計算機系統(tǒng)存儲器層級內(nèi)的諸如L2高速緩存的其它存儲器,并且高速緩沖存儲器710是諸如L3高速緩存或更多級高速緩存的隨后較低級高速緩沖存儲器。此外,在其它實施例中,計算機系統(tǒng)可以使高速緩沖存儲器710作為多于一個處理器核的共享高速緩存。處理器705可以具有任意數(shù)量的處理核。但是,本發(fā)明的其它實施例可在系統(tǒng)內(nèi)的其它裝置中實現(xiàn),或以硬件、軟件或其某個組合的形式分散在整個系統(tǒng)中。主存儲器715可在各種存儲器源中實現(xiàn),例如動態(tài)隨機存取存儲器(DRAM)、硬盤驅(qū)動器(HDD)720、基于NVRAM技術的固態(tài)盤725、或經(jīng)由網(wǎng)絡接口 730或經(jīng)由無線接口 740遠離計算機系統(tǒng)設置的包含各種存儲裝置和技術的存儲器源。高速緩沖存儲器可以設置在處理器內(nèi)或緊靠處理器設置,例如設置在處理器的本地總線707上。此外,高速緩沖存儲器可包含相對快速的存儲器單元,例如六個晶體管(6T)單元、或具有近似相等或更快速的存取速度的其它存儲器單元。但是,本發(fā)明的其它實施例可存在于圖6的系統(tǒng)內(nèi)的其它電路、邏輯單元或裝置中。此外,本發(fā)明的其它實施例可分散在如圖6所示的數(shù)個電路、邏輯單元或裝置中。本發(fā)明不限于所描述的實施例,而是可以在隨附權利要求的精神和范圍內(nèi)以修改和變更來實現(xiàn)。例如,應明白,本發(fā)明適合與所有類型的半導體集成電路(“ 1C”)芯片一起使用。這些IC芯片的實例包括但不限于處理器、控制器、芯片組組件、可編程邏輯陣列(PLA)、存儲器芯片、網(wǎng)絡芯片等。而且,應明白,雖然可能已經(jīng)給出實例性大小/模型/值/范圍,但本發(fā)明的實施例不限于此。隨著制造技術(例如,光刻術)隨時間日益成熟,預期可制造更小尺寸的裝置。盡管本發(fā)明的實施例的許多變更和修改對于本領域技術人員在閱讀以上描述之 后無疑將變得顯而易見,但是應了解,示出并且通過圖示加以描述的任何特定實施例絕不是要視為是限制。因此,提到各種實施例的細節(jié)不是要限制權利要求的范圍,權利要求本身只記載那些視為是對于本發(fā)明必要的特征。
權利要求
1.一種計算機實現(xiàn)的方法,包括 確定與無線客戶端相關聯(lián)的第一安全簡表的版本; 確定是否存在與所述第一安全簡表相比是較新版本的第二安全簡表; 至少基于隨機字符表和圖像內(nèi)的第一多個圖像區(qū)域計算一次性密碼;以及通過利用所述一次性密碼的第一部分作為加密密鑰來生成所述第二安全簡表的加密版本,所加密的第二安全簡表將發(fā)送給所述無線客戶端。
2.如權利要求I所述的方法,還包括向所述無線客戶端發(fā)送至少包括所述隨機字符表和所述第二安全簡表的加密版本的簡表更新請求。
3.如權利要求I所述的方法,還包括利用所述一次性密碼的第二部分來簽署所述加密的第二安全簡表。
4.如權利要求I所述的方法,其中計算所述一次性密碼包括 生成包括多個隨機生成的字符的所述隨機字符表; 確定字符密碼的字符排列在所述隨機字符表內(nèi)的第一多個位置; 檢索在所述圖像內(nèi)與所述第一多個位置具有相同位置的所述第一多個圖像區(qū)域;以及通過對包括所述隨機字符表和所述第一多個圖像區(qū)域的內(nèi)容的數(shù)據(jù)使用散列函數(shù)來生成所述一次性密碼(OTP)。
5.如權利要求2所述的方法,還包括 如果在第一周期內(nèi)沒有來自所述無線客戶端的響應到達,那么終止到所述無線客戶端的連接; 如果來自所述無線客戶端的響應指示所述無線客戶端處的更新過程已經(jīng)完成,那么終止到所述無線客戶端的連接; 接收來自所述無線客戶端的使用所述第二安全簡表的新連接請求;以及 使所述無線客戶端未來使用所述第一安全簡表無效。
6.如權利要求2所述的方法,還包括保留包括所述第一和第二安全簡表的兩個或兩個以上安全簡表以滿足尚未接收所述第二安全簡表的其它無線客戶端,所述安全簡表的每一個至少包括新字符密碼并且與版本標識符相關聯(lián)。
7.如權利要求4所述的方法,其中所述隨機字符表包括包含N個空白字符的10X10字符表,其中N是小于100的整數(shù),其中所述圖像包括IOX 10個圖像區(qū)域。
8.如權利要求4所述的方法,其中所述散列函數(shù)是不可逆的散列函數(shù)。
9.一種計算機實現(xiàn)的方法,包括 響應簡表更新請求進行解碼,所述簡表更新請求至少包括隨機字符表和第一安全簡表的加密版本; 從所述簡表更新請求中提取隨機字符表; 從存儲器中檢索字符密碼和圖像; 至少基于所述隨機字符表、所述字符密碼和所述圖像內(nèi)的第一多個圖像區(qū)域計算一次性密碼;以及 通過使用所述一次性密碼的第一部分作為密鑰來解密所加密的第一安全簡表。
10.如權利要求9所述的方法,其中計算所述一次性密碼包括 確定所述字符密碼的字符排列在所述隨機字符表內(nèi)的第一多個位置;檢索在所述圖像內(nèi)與所述第一多個位置具有相同位置的所述第一多個圖像區(qū)域;以及通過對包括所述隨機字符表和所述第一多個圖像區(qū)域的內(nèi)容的數(shù)據(jù)使用散列函數(shù)來生成所述一次性密碼(OTP)。
11.如權利要求9所述的方法,還包括通過使用所述一次性密碼的第二部分來驗證所述第一安全簡表的加密版本。
12.如權利要求9所述的方法,還包括 至少基于與所述第一安全簡表相關聯(lián)的版本確定是否要保存所述第一安全簡表; 基于所述第一安全簡表更新無線設置;以及 向發(fā)送所述簡表更新請求的無線認證器發(fā)送響應,以指示所述更新是否完成。
13.如權利要求10所述的方法,其中所述第一安全簡表至少包括新的第二字符密碼和版本標識符。
14.一種網(wǎng)絡設備,包括 數(shù)字存儲設備,用于存儲與多個不同的客戶端裝置相關聯(lián)的字符密碼以及與多個不同的客戶端裝置相關聯(lián)的共享圖像;以及控制器,其可進行操作以確定與無線客戶端相關聯(lián)的第一安全簡表的版本;確定是否存在與所述第一安全簡表相比是較新版本的第二安全簡表; 至少基于隨機字符表和圖像內(nèi)的第一多個圖像區(qū)域計算一次性密碼;以及通過利用所述一次性密碼的第一部分作為加密密鑰來生成所述第二安全簡表的加密版本,所加密的第二安全簡表將發(fā)送給所述無線客戶端。
15.如權利要求14所述的網(wǎng)絡設備,其中所述控制器還可進行操作以便向所述無線客戶端發(fā)送至少包括所述隨機字符表和所述第二安全簡表的加密版本的簡表更新請求。
16.如權利要求14所述的網(wǎng)絡設備,其中所述控制器還可進行操作以便通過使用所述一次性密碼的第二部分來簽署所述第二安全簡表的加密版本。
17.如權利要求14所述的網(wǎng)絡設備,其中所述控制器可進行操作以 生成包括多個隨機生成的字符的所述隨機字符表; 確定字符密碼的字符排列在所述隨機字符表內(nèi)的第一多個位置; 檢索在所述圖像內(nèi)與所述第一多個位置具有相同位置的所述第一多個圖像區(qū)域;以及通過對包括所述隨機字符表和所述第一多個圖像區(qū)域的內(nèi)容的數(shù)據(jù)使用散列函數(shù)來生成所述一次性密碼(OTP)。
18.如權利要求15所述的網(wǎng)絡設備,其中所述控制器可進行操作以便 如果在第一周期內(nèi)沒有來自所述無線客戶端的響應到達,那么終止到所述無線客戶端的連接; 如果來自所述無線客戶端的響應指示所述無線客戶端處的更新過程已經(jīng)完成,那么終止到所述無線客戶端的連接; 接收來自所述無線客戶端的使用所述第二安全簡表的新連接請求;以及 使所述無線客戶端未來使用所述第一安全簡表無效。
全文摘要
介紹用于安全簡表更新的設備和方法。在一個實施例中,該方法包括確定與無線客戶端相關聯(lián)的安全簡表的版本;以及確定是否存在新的安全簡表。該方法包括至少基于隨機字符表和圖像內(nèi)的一些圖像區(qū)域來計算一次性密碼。該方法還包括通過利用一次性密碼的第一部分作為加密密鑰來生成新的安全簡表的加密版本;以及向無線客戶端發(fā)送簡表更新請求。
文檔編號H04L9/00GK102812662SQ201080065929
公開日2012年12月5日 申請日期2010年3月29日 優(yōu)先權日2010年3月29日
發(fā)明者Z.姚 申請人:英特爾公司