對收自服務提供商的詢問生成響應的偽密鑰生成方法和裝置的製作方法
2023-05-19 17:31:56 1
專利名稱:對收自服務提供商的詢問生成響應的偽密鑰生成方法和裝置的製作方法
技術領域:
總的來說,本發明涉及無線通信,具體而言,涉及無線通信的安全性。
背景技術:
隨著無線設備的功能變得更強,能夠運行與任意應用伺服器進行通信的應用程式,需要對這種通信進行鑑權,確保其安全。這就要求無線設備和應用伺服器共享只是給它們的密鑰,這個密鑰由已經經過鑑權並且受到這個無線設備和這個應用伺服器信任的第三方分配。無線設備的網絡運營商具有做這件事的良好條件。第三代夥伴計劃(3GPP)正在基於它們的鑑權密鑰協商(AKA)協議為此制定標準。這個第三代夥伴計劃是一個協作條約,該條約將多個電信標準拉到一起,以便開發全球移動通信系統(GSM)的全球規範。這個第三代夥伴計劃由歐洲電信標準協會(ETSI)牽頭。
第三代夥伴2(3GPP2)也是代表北美和亞洲利益的一個協作條約。建立它的目的是為支持模擬、時分多址(TDMA)和碼分多址(CDMA)的ANSI/TIA/EIA-41網絡開發全球規範。儘管3GPP2已經正式採用AKA,但是部署AKA仍然存在一些阻力,並且在一些情況下,支持蜂窩鑑權和話音加密(CAVE)老式協議(legacy protocol)的繼續使用的努力也存在一些阻力,而不管已知的CAVE中的缺點。CAVE唯一的最大問題有可能就是它的主密鑰只有64位。對於目前和將來的應用,它不夠安全。與此同時,AKA的部署還涉及後向兼容性問題,特別是當無線設備結合了支持上述CAVE算法的用戶標識模塊(UIM)的時候。UIM包括鑑權憑證以及使用它們的算法。
因此,在這個領域中需要一種技術來為採用CAVE的老式設備(legacy device)提供更好的安全性。這一技術最好經過密碼驗證,比如經過AKA驗證。
發明內容
一方面,本發明的一種用戶臺包括具有第一和第二安全性協議的處理系統,該處理系統被配置成利用該第一安全性協議根據從服務提供商收到的詢問產生偽密鑰,並且利用該第二安全性協議根據該偽密鑰產生對該詢問的響應。
另一方面,本發明的一種安全通信方法包括從服務提供商接收詢問;利用第一安全性協議根據該詢問產生偽密鑰;以及利用第二安全性協議根據該偽密鑰產生對該詢問的響應。
通過下面的詳細描述,對於本領域技術人員而言,本發明的其它實施例將會變得顯而易見,其中示出並描述了本發明的各實施例。顯然,本發明還有其它的不同的實施例,並且可以修改它的幾個細節,而不會偏離本發明的實質和範圍。因此,附圖和詳細說明都是說明性的,而不是限制性的。
在附圖中,本發明的各個方面是以實例的方式,而不是以限制的方式加以說明的。在這些附圖中圖1是說明通信系統一個實例的概念框圖;圖2是說明支持在通信系統上進行通信的標準CAVE算法的一個實例功能框圖;圖3是說明利用CAVE算法產生偽密鑰的鑑權中心一個實例的功能框圖;
圖4是說明利用偽密鑰產生鑑權矢量的鑑權中心一個實例的功能框圖;圖5是說明在用戶臺和移動交換中心之間詢問/響應事務一個實例的功能框圖;以及圖6說明用於安全通信的一個實例方法。
具體實施例方式
下面結合附圖給出的詳細描述是為了說明本發明的各實施例,而不是為了給出只能用它們來實現本發明的實施例。為了幫助全面理解本發明,描述了具體細節。但是,對於本領域技術人員而言顯而易見,可以實踐本發明而沒有這些具體細節。在一些情況下,公知的結構和組件都用框圖的形式說明,以免喧賓奪主。
在以下詳細描述中,將結合CDMA通信系統描述各加密機制。CDMA是一種基於擴頻通信的調製和多址方案,在本領域裡非常有名。儘管在這裡描述的加密機制非常適合於CDMA通信系統,但是,本領域技術人員明白這些技術同樣能夠用於其它無線網絡。因此,提到CDMA通信系統僅僅是為了說明本發明的各個方面,這些方面有有廣泛的應用。
圖1是說明通信系統一個實例的概念框圖。在這個系統中,用戶可以利用用戶臺104在有線子系統102上進行通信。有線子系統102可以包括電路交換網106,比如公共交換電話網(PSTN),和/或分組交換網108,比如網際網路或企業內部網。這個用戶臺可以是電話、個人數字助理(PDA)、膝上型電腦、計算機、遊戲操縱臺、尋呼機、照相機、儀表或者其它類型的任意移動終端。
用戶臺104可以包括收發信機109,用於支持與無線子系統114的無線電通信。處理系統108可以用來提供各種信號處理功能。處理系統108可以包括集成到用戶臺104上去的處理器110,以及有自己的處理器(沒有畫出)的UIM 112。UIM 112可以是能夠從用戶臺104拆卸下來的,也可以不是這樣。在本領域中,可拆卸UIM常常稱為R-UIM。在這兩種情況下,一般都將UIM 112設計成防篡改的,並且能夠給密鑰提供適當程度的保護。
可以用無線子系統114來支持用戶臺104與電路交換和/或分組交換網106、108之間的通信。在這個實例中,移動交換中心(MSC)116被畫成服務提供商,通過互聯功能(IWF)118,它提供到電路交換網106和/或分組交換網108的接入。但是,如同本領域技術人員明白的一樣,可以用任意服務提供商將用戶臺104與有線子系統102連接起來。因此,在這裡參考MSC 116描述的所有鑑權和加密程序,同樣能夠用於無線子系統114中的任何服務提供商。
無線子系統還包括基站控制器(BSC)118,通過無線電資源的分配和管理,它控制著一個或多個基站收發信機(BTS)。每個BTS都包括放在單獨一個位置的一個或多個收發信機,用於為整個無線子系統114提供無線電覆蓋。為了簡單起見,圖中示出單個BTS 120正在與用戶臺104通信。
無線子系統114也可以包括歸屬位置寄存器(HLR)122。歸屬位置寄存器122可以用來為各服務提供商維護有效註冊用戶的記錄。HLR 122還維護所有註冊用戶信息,比如電子序列號(ESN),用戶臺的電話號碼,用戶臺的當前位置,等等。HLR 122可以和MSC 116在一起,是MSC 116的一個組成部分,或者是獨立於MSC 116的一個部分。一個HLR可以為多個MSC提供服務,或者一個HLR可以分布在多個位置上。典型情況下,HLR 122將與一個鑑權中心(AC)124連接。
訪問位置寄存器(VLR)126通常都與MSC 116連接。VLR 126維護來訪用戶臺的註冊,這個用戶臺在連接到這個MSC 116的BTS的覆蓋區內工作。為了快速、方便地接入,VLR 126充當HLR註冊用戶信息的一個本地緩存。當漫遊的用戶臺104進入MSC 116覆蓋的一個新的服務區的時候,MSC 116從HLR 122提取用戶臺信息,將它放入VLR 126。
圖2是說明支持在無線子系統上進行通信的標準化CAVE算法一個實例的功能框圖。安全性協議依賴於64位密鑰(A密鑰)和用戶臺104的ESN。在AC 124中產生的稱為RAND的一個隨機二進位數字也在鑑權程序中扮演一個角色。將A密鑰編入用戶臺104中的UIM112裡,並儲存在AC 124中。除了鑑權,還用A密鑰產生用於話音和數據加密的會話密鑰。
當用戶臺104一開始在無線子系統中註冊的時候,鑑權過程從AC 124和用戶臺中產生稱為「共享秘密數據」(SSD)的128位次級密鑰開始。在AC 124中,用RAND發生器202來產生RAND,將這個RAND和A密鑰以及用戶臺的ESN一起輸入CAVE算法204來產生SSD。還將RAND發送給UIM 112,從而能夠在用戶臺104中產生SSD。在UIM 112中,將RAND、A密鑰和ESN輸入一個類似的CAVE算法206來產生SSD。
從AC 124將SSD提供給為用戶臺104所在區域提供服務的MSC116。可以與其它服務區的MSC一起共享SSD,來允許對漫遊的用戶臺104進行本地鑑權。SSD可以被MSC 116用來支持詢問/響應鑑權程序。具體地說,MSC 116用廣播RAND發生器208生成一個隨機詢問(廣播RAND)。將這個廣播RAND提供給這個用戶臺104中的UIM 112。UIM 112利用廣播RAND和SSD作為給CAVE算法210的輸入來產生鑑權籤名,也就是對這個詢問的響應。通過將這個籤名與應用於廣播RAND和來自AC 124的SSD的類似的CAVE算法212的輸出進行比較214,這個籤名隨後被MSC 116用來對用戶臺104鑑權。
在圖1所示CDMA通信系統的至少一個實施例中,可以使用UIM112中的CAVE憑證利用AKA協議來實現安全通信。AKA在CAVE的基礎之上提供增強的安全性。與此同時,CAVE憑證的使用為本領域中目前部署的老式設備提供向後兼容性。
AKA程序按照兩個階段來執行。第一個階段涉及從AC 124向無線子系統中負責與用戶臺104建立連接的MSC 116或者一些其它服務提供商傳送安全性憑證。安全性憑證由鑑權矢量(AV)的有序陣列構成。鑑權矢量AV包括詢問/響應鑑權數據和加密密鑰。第二個階段涉及在用戶臺104和MSC 116之間為了實現互相鑑權的一遍詢問/響應事務處理。
在標準化的AKA協議中,由AC 124從只有AC 124和UIM 112知道的128位密鑰(K)得出鑑權矢量AV。但是,在所描述的實施例中,UIM 112採用CAVE安全性憑證,因此,沒有秘密AKA密鑰K。於是使用偽密鑰(PK)。可以從UIM 112提供給處理器110的信息產生偽密鑰(PK)(見圖1)。例如,可以從UIM 112中的CAVE算法210產生的會話密鑰之一產生偽密鑰PK。可以使用任意會話密鑰,但是人們相信信令消息加密密鑰(SMEKEY)是一個良好選擇,因為偷聽者恢復它會更加困難。
產生偽密鑰PK的方式可以隨著具體的設計限制和總體參數而改變。圖3是說明在AC 124中如何得到偽密鑰PK的一個實例的功能框圖。偽密鑰(PK)的產生從鑑權矢量(AV)的128位AKA RAND的產生開始。這個128位AKA RAND可以從AKA RAND發生器302產生。可以將AKA RAND的前32位用作CAVE詢問。具體而言,可以將AKA RAND的前32位與SSD一起輸入CAVE算法304來產生鑑權籤名(RES1)和SMEKEY(SMEKEY1)。可以用XOR功能306將SMEKEY與AKARAND的第二個32位合併,用作第二CAVE詢問。第二CAVE詢問產生第二鑑權籤名(RES2)和第二SMEKEY(SMEKEY2)。這個過程可以重複任意次數來產生任意數量的籤名和SMEKEY。然後可以用散列函數308來合併籤名和SMEKEY,形成偽密鑰PK。
圖4是利用偽密鑰PK產生鑑權矢量AV來支持AKA協議的AC一個實例的功能框圖。每個鑑權矢量AV都包括一個隨機詢問,也就是來自AKARAND發生器302的AKARAND;預期的響應(XRES);密碼本(CI);完整性密鑰(IK)以及鑑權標誌(AUTN)。鑑權標誌AUTN包括消息鑑權碼(MAC)和已加密序列號SQN。序列號SQN由計數器402產生,對於AC 124產生的每個隨後的鑑權矢量AV,這個計數器402加1。如同馬上就會詳細描述的一樣,用戶臺104用這個MAC來對MSC 116,或者任何其它服務提供商鑑權,將SQN用來確保鑑權矢量AV不會被攻擊者重複使用。
AC 124使用多個加密功能來產生鑑權矢量AV。這些功能可以包括f1~f5、f11和合適的標準定義的以及本領域熟知的其它加密功能。網絡運營商一般都能夠自由地選擇他們想要的任何算法,只要這個算法與3G TS 33.105、3G安全性,加密算法要求給出的功能輸入/輸出規範一致。第一加密功能f0被用來從偽密鑰PK和序列號SQN得到MAC。將其餘的加密功能f1~f5用來從偽密鑰PK和AKA RAND分別得到對詢問XRES的預期響應,密碼本CK,完整性密鑰IK和匿名密鑰(AK)。用匿名密鑰AK來對鑑權標誌AUTN中的序列號SQN加密。
圖5是說明用戶臺104和MSC 116之間詢問/響應事務處理一個實例的功能框圖。MAC 116從有序陣列選擇下一個鑑權矢量(AV),發送這個AKA RAND和鑑權標誌AUTN給用戶臺104。在處理器110處,必須按照在AC 124中產生的方式一樣產生偽密鑰PK。在這個實例中,處理器110從鑑權矢量AV提供AKA RAND的前32位給UIM 112作為CAVE詢問。UIM 112具有CAVE算法502,這個算法502從CAVE詢問和SSD產生鑑權籤名和SMEKEY。可以重複這一過程,在每次操作的末尾得到的SMEKEY通過XOR功能504與AKARAND的一部分合併,來形成用於下一操作的CAVE詢問。這一過程如同在AC 124中一樣重複同樣次數,產生同樣數量的鑑權籤名和SMEKEY。將鑑權籤名和SMEKEY與散列算法506組合起來產生偽密鑰PK。
一旦由處理器110得到偽密鑰PK,就可以將它與AKA協議一起使用。可以將這個偽隨機密鑰PK與來自鑑權矢量AV的AKARAND一起用於利用f5功能得到匿名密鑰(AK)。然後可以通過XOR操作506利用匿名密鑰AK對來自鑑權標誌AUTN的序列號SQN進行解密。解密以後的序列號SQN與偽密鑰PK一起可以被隨後用於利用f1得到預期的消息鑑權碼(XMAC)。然後可以將來自鑑權標誌AUTN和XMAC的MAC輸入比較器508。如果它們不同,處理器110就將一個錯誤消息發送回MSC 116,並退出鑑權程序。
假設MAC和XMAC相同,這一過程的下一個步驟是驗證已解密序列號SQN是否正確。可以將已解密序列號SQN和從計數器510本地產生的SQN輸入比較器512。如果已解密序列號SQN不正確,處理器110就將一個錯誤消息發送回MSC 124。響應這一錯誤消息,MSC 116可以啟動AC 124和處理器110中的計數器之間的重新同步過程。
假設MAC和XMAC相同,並且已加密序列號SQN正確,那麼可以產生會話密鑰。具體而言,可以利用f3和f4功能從AKA RAND和偽密鑰PK得到密碼本CK和完整性密鑰IK。處理器110還利用f2功能產生對AKA RAND和偽密鑰PK的響應(RES)。將響應RES發送給MSC 116。MSC比較514來自處理器110的響應RES和鑑權矢量AV中包含的預期響應XRES。如果RES等於XRES,那麼用戶臺就已經通過鑑權。MSC 116可以從所選擇的鑑權矢量AV選擇適當的密碼本CI和完整性密鑰IK來開始安全通信。但是如果RES不同於XRES,那麼MSC 116就可以將錯誤消息發送回AC 124。MSC 116還可以決定啟動用戶臺104的新的鑑權程序。
還可以通過在用戶臺104和MSC 116之間利用標準Diffie-Hellman密鑰協商協議來商定128位臨時密鑰(TK)來實現增強的安全性。然後可以由MSC 116將這個臨時密鑰(TK)提供給AC124。然後可以將臨時密鑰(TK)包括在AC 124和處理器110的散列函數中來導出偽密鑰PK。
圖6說明用於安全通信的一個實例方法。在步驟610中,從服務提供商收到詢問。然後用第一安全性協議從這一詢問產生(620)一個偽密鑰。用第二安全性協議從這個偽密鑰產生(630)對上述詢問的響應。
前面利用這裡公開的實施例所描述的各種說明性的邏輯塊、模塊、電路、元件和/或組件可以用通用處理器、數位訊號處理器(DSP)、專用集成電路(ASIC)、現場可編程門陣列(FPGA)或者其它可編程邏輯組件、離散門或電晶體邏輯、離散硬體組件或者設計成實現這裡描述的功能的它們的任意組合來實現。通用處理器可以是微處理器,但是,這種處理器也可以是任何常規處理器、控制器、微控制器或狀態機。還可以將處理器實現為計算組件的組合,例如DSP和微處理器,多個微處理器,一個或多個微處理器結合DSP內核,或者任何其它這種結構的組合。
結合這裡公開的實施例描述的方法或算法可以直接用硬體,用處理器執行的軟體模塊,或者這兩者的組合來實現。軟體模塊可以駐留在RAM存儲器、快閃記憶體、ROM存儲器、EPROM存儲器、EEPROM存儲器、寄存器、硬碟、可拆除盤、CD-ROM或者本領域公知的任何其它形式的存儲介質中。存儲介質可以和處理器連接,從而使處理器能夠從存儲介質讀取信息,並且將信息寫入其中。這些存儲介質還可以集成在處理器中。
所公開的實施例的以上描述是為了讓本領域技術人員能夠製造或使用本發明。對這些實施例的各種改進對於本領域技術人員而言是顯而易見的,並且這裡給出的一般原理可以應用於其它實施例而不會偏離本發明的實質和範圍。因此,本發明不是要限於這裡公開的實施例,而是包括和權利要求一致的整個範圍,其中對單數形式的單元的引用不是指「一個並且只是一個」,除非專門這樣說明,而是指「一個或多個」。本領域技術人員遲早知道的在這一公開中所描述的各實施例的單元的結構等同替換或功能等同替換都包括在權利要求中。此外,這裡所公開的沒有一樣是為了專門讓公眾了解而不管這些公開是否在權利要求中明確說明。沒有任何權利要求中的單元要按照35U.S.C.§112第六段來進行理解,除非明確用「用於……的裝置」明確地這樣引用這個單元,或者對於方法權利要求用「用於……的步驟」這樣的術語來引用這一單元。
權利要求
1.一種用戶臺,包括具有第一和第二安全性協議的處理系統,該處理系統被配置成利用該第一安全性協議根據從服務提供商收到的詢問產生偽密鑰,並且利用該第二安全性協議根據該偽密鑰產生對該詢問的響應。
2.如權利要求1所述的用戶臺,其中所述處理系統還被配置成與所述服務提供商商定臨時密鑰,並且利用所述第二安全性協議根據所述偽密鑰和該臨時密鑰產生對所述詢問的響應。
3.如權利要求2所述的用戶臺,其中處理器還被配置成利用Diffie-Hellman密鑰協商協議商定所述臨時密鑰。
4.如權利要求1所述的用戶臺,其中所述處理系統還被配置成利用所述第二協議根據所述詢問、所述偽密鑰以及從所述服務提供商收到的標誌來對該服務提供商進行鑑權。
5.如權利要求1所述的用戶臺,其中所述處理系統還被配置成根據預編程的密鑰產生所述偽密鑰。
6.如權利要求5所述的用戶臺,其中所述密鑰是64位的,所述偽密鑰是128位的。
7.如權利要求5所述的用戶臺,其中所述處理系統包括用所述密鑰預編程的用戶標識模塊(UIM),還包括通信處理器,該UIM被配置成產生所述偽密鑰,該通信處理器被配置成產生對所述詢問的響應。
8.如權利要求7所述的用戶臺,其中所述通信處理器還被配置成利用所述第二安全性協議根據所述詢問和所述偽密鑰產生至少一個會話密鑰。
9.如權利要求8所述的用戶臺,其中所述通信處理器還被配置成利用所述至少一個會話密鑰對與所述服務提供商的通信進行加密和解密。
10.如權利要求1所述的用戶臺,其中所述第一安全性協議包括蜂窩鑑權和話音加密(CAVE),所述第二安全性協議包括鑑權和密鑰協商(AKA)。
11.如權利要求10所述的用戶臺,其中所述處理系統還被配置成利用Diffie-Hellman密鑰協商協議來與所述服務提供商商定臨時密鑰,並且利用所述AKA根據所述偽密鑰和該臨時密鑰產生對所述詢問的響應。
12.如權利要求1所述的用戶臺,其中所述處理系統還被配置成利用所述第一安全性協議根據從所述網絡收到的詢問產生會話密鑰,所述偽密鑰是根據該會話密鑰產生的。
13.如權利要求12所述的用戶臺,其中所述會話密鑰包括用於按照所述第一安全性協議對信令進行加密的密鑰。
14.如權利要求12所述的用戶臺,其中所述處理系統還被配置成利用所述第一安全性協議根據所述會話密鑰和所述詢問產生第二會話密鑰,所述偽密鑰至少是根據上述兩個會話密鑰產生的。
15.如權利要求14所述的用戶臺,其中所述處理系統還被配置成至少根據所述兩個會話密鑰的散列函數產生所述偽密鑰。
16.一種安全通信方法,包括從服務提供商接收詢問;利用第一安全性協議根據該詢問產生偽密鑰;以及利用第二安全性協議根據該偽密鑰產生對該詢問的響應。
17.如權利要求16所述的方法,還包括與所述服務提供商商定臨時密鑰,其中所述第二安全性協議被用於根據所述偽密鑰和該臨時密鑰產生對所述詢問的響應。
18.如權利要求1 7所述的方法,其中所述臨時密鑰是利用Diffie-Hellman密鑰協商協議商定的。
19.如權利要求16所述的方法,還包括利用所述第二協議根據所述詢問、所述偽密鑰以及從所述服務提供商收到的標誌來對該服務提供商進行鑑權。
20.如權利要求16所述的方法,其中所述偽密鑰是根據預編程的密鑰產生的。
21.如權利要求16所述的方法,其中所述密鑰是在用戶標識模塊(UIM)上預編程的。
22.如權利要求16所述的方法,其中所述密鑰是64位的,所述偽密鑰是128位的。
23.如權利要求16所述的方法,還包括利用所述第二安全性協議根據所述詢問和所述偽密鑰產生至少一個會話密鑰。
24.如權利要求23所述的方法,還包括利用所述至少一個會話密鑰對與所述服務提供商的通信進行加密和解密。
25.如權利要求16所述的方法,其中所述第一安全性協議包括蜂窩鑑權和話音加密(CAVE),所述第二安全性協議包括鑑權和密鑰協商(AKA)。
26.如權利要求25所述的方法,還包括利用Diffie-Hellman密鑰協商協議來與所述服務提供商商定臨時密鑰,並且利用所述AKA根據所述偽密鑰和該臨時密鑰產生對所述詢問的響應。
27.如權利要求16所述的方法,其中所述偽密鑰的產生包括利用所述第一安全性協議根據從所述網絡收到的詢問產生會話密鑰,所述偽密鑰是根據該會話密鑰產生的。
28.如權利要求27所述的方法,其中所述會話密鑰包括用於按照所述第一安全性協議對信令進行加密的密鑰。
29.如權利要求27所述的方法,其中所述偽密鑰的產生還包括利用所述第一安全性協議根據所述會話密鑰和所述詢問產生第二會話密鑰,所述偽密鑰至少是根據上述兩個會話密鑰產生的。
30.如權利要求29所述的方法,其中所述偽密鑰的產生還包括計算至少所述兩個會話密鑰的散列函數。
全文摘要
一種用戶臺(110、112)可以被配置成具有第一和第二安全性協議(210、f2)的處理系統。該處理系統利用該第一安全性協議(210)根據從服務提供商收到的詢問產生偽密鑰,並且使用該第二安全性協議(f2)根據該偽密鑰產生對該詢問的響應。
文檔編號H04L29/06GK101049000SQ200580037338
公開日2007年10月3日 申請日期2005年9月2日 優先權日2004年9月2日
發明者格雷戈裡·戈登·羅絲, 小羅伊·富蘭克林·奎克, 約翰·華萊士·納西斯克, 詹姆斯·森普爾 申請人:高通股份有限公司