用於保護移動裝置中的本地資源的數據處理的製作方法
2023-05-04 16:48:06 1
專利名稱:用於保護移動裝置中的本地資源的數據處理的製作方法
技術領域:
本發明大體上涉及移動裝置的安全性。更具體地,本發明涉及這樣的裝置和方法,其用於在離線背景下基於識別模塊安全信息向移動裝置的本地資源提供強制性的訪問控制、完整性和保密性。識別模塊可以是用戶識別模塊(SM)、全球用戶識別模塊(USM)、可移動用戶識別模塊(RUM)、或CDMA用戶識別模塊(CSM)。
背景技術:
在技術進步和市場需求的推動下,市場上存在的行動電話的平均特徵集在近幾年裡穩步地增加。由於這種趨勢,現今,能力最強的移動裝置,有時被稱為智慧型手機,除傳統的電話服務之外還能夠執行大量的任務。這些特徵例如包括訪問網際網路、運行計算相對密集型的應用、播放或錄製多個媒體內容以及存儲大量數據。隨後,由移動裝置提供的更大的功能集導致了終端使用者在行動電話的使用方面的變化。這些變化之一體現在使用者存儲在其設備上的內容。事實上,終端使用者現在能夠在行動電話本地存儲越來越多的數據,其中一些還可能非常敏感。示例性的數據包括電子郵件、文件、照片、視頻、密碼、及其他認證憑證。即使在雲計算的背景下,計算和存儲的大部分由伺服器端應用執行,移動裝置仍然存儲相當多的敏感信息,如認證憑證和由於性能和可用性原因在本地緩衝的數據。因為裝置容易遭到盜竊或遺失,數據的安全性,更一般而言的移動裝置的任何其他本地資源(如應用或硬體組件)的安全性是相當重要的事情。為此,移動裝置上越來越多的本地可用資源導致對適當地保護的更嚴格的安全性要求。目前,在符合3GPP標準的行動電話中,可以通過使用安裝在抗幹擾集成電路卡(有時稱為智慧卡)上的用戶識別模塊(SM)或全球用戶識別模塊(USBO來提供安全性。(U)SIM可用於移動用戶與行動網路的相互認證以及為行動電話與符合3GPP標準的行動網路之間的數據交換提供保密性、完整性、真實性和不可否認性。(U) SM提供用於訪問行動網路服務的適當水平的安全性。事實上,與提供「你所知道的」單因素認證的用戶名/密碼認證憑證不同,智慧卡上的(U)SM應用提供更強的「你所具有的」認證。此外,可以通過設置個人識別號碼(PIN)增加(U) SM安全性以保護未授權的使用者對卡的訪問,因此使得(U)SM能夠提供雙因素認證。總之,(U)SM的另一個顯著的安全特性在於行動網路操作者可以遠程使其無效的能力。然而,使用基於(U) SIM的認證機製作為保護移動裝置上的本地資源的方式還是有相當大的限制的。第一,如果沒有可用的網絡連接,基於(U)SM的認證不能被執行。事實上,GSM認證與密鑰協商(AKA)協議和UMTS認證與密鑰協商(AKA)協議都需要行動網路的可用性以產生認證挑戰並驗證由(U) SM提供的響應。第二,攻擊者可以在欺騙性的(U)SM與欺騙性的行動網路之間運行AKA認證以使裝置相信該(U) SIM為真,因此授權對本地資源的訪問。
第三,基於(U)SM的認證協議不提供適當的機制來加密/解密本地存儲的文件和驗證其完整性。然而,本領域的技術人員應該認識到這些能力可以由安裝在SIM卡或通用的集成電路卡(UICC)上的特別的另外的小應用提供。但是,這將需要發行特殊的卡,這樣會對大規模應用提出嚴重的限制。事實上,這樣將需要替換目前使用的卡或通過無線電安裝這種小應用,這兩種過程都將會相當昂貴。另外,假如還需要在線安全特性,如當網絡連通性可用時的遠程無效和在線認證,就將需要專用網絡設施,進一步增加了資金成本和運營成本。第W02007/036024號國際專利申請公開了一種用於當接收單元離線時提供認證該接收單元的使用者的方法。該方法包括基於與發送單元的在線通信存儲與一個項目相關聯的一個或多個挑戰-答覆組。挑戰-答覆組的每個包括至少一個挑戰答覆對,該至少一個挑戰答覆對用於為了通過接收單元獲得特殊資源的使用者的離線認證。然而,在該文件中公開的方法沒有描述對識別模塊環境的適應。換句話說,該方法不準許在單獨的模塊框架中認證。本發明的實施方式將改進這種情況。
發明內容
為了處理這些需求,本發明的第一方面涉及用於保護移動裝置中的本地資源的數據處理方法。該方法包括:a)當網絡連通時:-聯接所述移動裝置與第一識別模塊,第一識別模塊與第一國際移動用戶識別碼(MSI)相關聯;-在第一識別模塊中接收來自通信網絡的網絡挑戰,使用密鑰加密網絡挑戰,並向通信網絡發出相應的響應以用於隨後的成功認證,b)在對通信網絡成功認證之後:-將本地資源的至少一部分與第一MSI關聯;以及-在移動裝置的資料庫中存儲與所述挑戰/響應對相關的認證數據;-準予訪問與第一MSI相關聯的本地資源,c)當網絡不連通時:-聯接移動裝置與第二識別模塊,第二識別模塊與第二IMSI相關聯;-向第二識別模塊發出挑戰,其中根據存儲在所述資料庫中的認證數據來確定挑戰;-接收來自第二識別模塊的響應;-將接收的響應與存儲的認證數據進行比較,如果來自第二識別模塊的響應與資料庫(16)中與發出的挑戰相關聯的響應匹配,則準予訪問與第二 IMSI相關聯的本地資源。本方法的目的是加強移動裝置的本地資源的安全性。步驟a)可包括被動收集認證數據,被動收集認證數據包括:-收集來自第一識別模塊的響應;以及-根據被加密的挑戰確定離線認證期望響應,步驟b)包括將網絡挑戰和相應的離線認證期望響應存儲在資料庫中。
在本發明的其他實施方式中,步驟b)可以包括主動收集認證數據,其中主動收集認證數據包括:-驗證出第一識別模塊已經被網絡認證;-向第一識別模塊發送根據資料庫確定的挑戰並收集相應的響應;-根據響應確定離線認證期望響應;以及-將挑戰和相應的離線認證期望響應存儲在資料庫中。存儲在資料庫中的認證數據可以包括一組記錄,每個記錄包括:-識別模塊的MSI;-安裝有該識別模塊的卡的集成電路卡識別碼(ICCID);-用於生成認證數據的挑戰;-由來自識別模塊的響應計算得出的相應的離線認證期望響應;-指示認證數據的針對聯合的識別模塊和網絡欺騙攻擊的正確性是否被驗證的標記;
-指示認證數據是否已經被主動或被動地收集的標記;-挑戰已經被再使用的次數;和/或-與挑戰/響應對被收集的時間相關的時間戳。步驟c )可包括:-檢查第二識別模塊的MSI,以及檢查其是否與需要被認證的MSI不相符;-讀取安裝有第二識別模塊的卡的ICCID值,以及該ICCID是否與應該安裝有所需的識別模塊的卡的ICCID的值相符;-選擇存在於該卡上的另一識別模塊。步驟a)可包括:-使用移動裝置認證通信網絡;以及-使用通信網絡認證第一識別模塊。在本發明的其他實施方式中,步驟a)可包括:-使用通信網絡認證第一識別模塊;以及-使用移動裝置離線認證第一識別模塊。如果多於一個挑戰/響應對存儲在資料庫中,則步驟c)可包括:-在資料庫中選擇MSI值與第二識別模塊的MSI相符的所有記錄;-為被選擇的每個記錄分配安全性索引Si,安全性索引Si依賴於記錄已經被再使用的次數和記錄已經被主動地或被動地收集的事實;-按安全性索引的遞減順序將所有被選擇的記錄排序;以及-根據概率分布選擇待使用的記錄。例如,該概率分布的概率密度函數為:
/HO =
k=\i G NI ^ i ^ N ^ 10
其中i=l對應於列表的第一元素,以及i=N對應於列表的最後的元素,並且Si為在索引i處的元素的安全性索引。該方法可包括使用識別模塊安全性算法以生成:-密鑰,用於加密/解密本地資源的至少一部分;-完整性密鑰,以生成/驗證消息認證碼(MAC)。此外,本地資源的至少一部分還可使用由使用者提供的密碼保護。第一識別模塊和第二識別模塊可以是用戶識別模塊(SIM)、全球用戶識別模塊(USM)、可移動用戶識別模塊(RUM)、或CDMA用戶識別模塊(CSM)。待認證的識別模塊的MSI可以預先確定。在本發明的其他實施方式中,待認證的識別模塊的IMSI可以是隱含的並且對應於在認證步驟開始時選擇的識別模塊的IMSI。本發明的第二方面涉及電腦程式產品,其包括處理器能夠訪問的一個或多個存儲的指令序列,當由處理器執行時,該一個或多個存儲的指令序列致使處理器執行上述方法的步驟。本發明的第三方面涉及一種移動裝置,其包括本地資源和安全性管理器模塊,其中該安全性管理器模塊配置為保護對本地資源的至少一部分的訪問,該移動裝置配置為:A)當網絡連通時:-與第一識別模塊聯接,其中該第一識別模塊與第一國際移動用戶識別碼(IMSI)相關聯;-在第一識別模塊中接收來自通信網絡的網絡挑戰,使用密鑰加密該網絡挑戰,並向該網絡發出相應的響應以用於隨後的成功認證,b)在對通信網絡成功認證之後:-將本地資源的至少一部分與第一MSI關聯;以及-在安全性管理器模塊的資料庫中存儲與挑戰/響應對相關的認證數據;-準予訪問與第一MSI相關聯的本地資源,c)當網絡不連通時:-與第二識別模塊聯接,其中第二識別模塊與第二IMSI相關聯;-向第二識別模塊發出挑戰,其中根據存儲在資料庫中的認證數據來確定挑戰;-接收來自第二識別模塊的響應;-將接收的響應與存儲的認證數據進行比較,如果來自第二識別模塊的響應與資料庫(16)中與發出的挑戰相關聯的響應匹配,則準予訪問與第二 IMSI相關聯的本地資源。
本發明通過示例而非限制的方式進行了說明,在附圖中相同的附圖標記表示相似的要素,附圖中:-圖1是根據本發明的實施方式的包括安全管理器的行動裝置的示意性框圖;-圖2是示出在全球移動通信系統(GSM)中認證和密鑰交換(AKA)方法的步驟的流程圖;-圖3是示出在通用移動通信系統(UMTS)中AKA方法的步驟的流程-圖4是示出用於被動收集認證數據的方法的步驟的流程圖;-圖5是用於產生從32比特響應(SRES)和64比特密鑰(K。)獲得的連結序列的散列碼的系統的示意性框圖;-圖6是示出用於主動收集認證數據的方法的步驟的流程圖;-圖7a和圖7b是示出根據本發明的第一實施方式的能夠防止攻擊的認證示例的不意圖,其中該攻擊基於聯合的(U) SIM和網絡欺騙;-圖8a和圖8b是示出根據本發明的第二實施方式的能夠防止攻擊的認證示例的示意圖,其中該攻擊基於聯合(U) SIM和網絡欺騙;-圖9是示出認證方法的步驟的流程圖;-圖10是示出利用固有的國際移動用戶識別碼(MSI)認證方法的步驟的流程圖;-圖11是示出用於離線認證方法的步驟的流程圖;-圖12和圖13是示出用於產生文件的消息認證碼(MAC)和/或用於加密的方法的步驟的示意圖;-圖14是密鑰導出函數的示意性框圖;以及-圖15和圖16圖是示出用於驗證加密文件的MAC和/或用於將其解密的方法的步驟的示意圖。
具體實施例方式本發明的實施方式涉及加強行動裝置(ME)的本地資源的安全性的問題。圖1示出安全性管理器1,其嵌在符合3GPP標準的行動裝置(ME) 100中,該設備100包括被配置為提供認證的一組認證組件,例如GSM(全球移動通信系統)認證組件2,UMTS(通用移動通信系統)認證組件3,MS (IP多媒體子系統)認證組件4,以及1-WLAN (無線區域網路)認證組件5。ME100還包括大容量存儲單元8和被配置為允許ME100與電信網絡之間進行連接的網絡連接塊6。在ME100中設有用戶識別模塊(SM)或被稱為(U)SM7的通用用戶識別模塊(USIM)0安全性管理器I可以實施為硬體或軟體或其組合。安全性管理器I包括服務邏輯模塊10和被動挑戰收集模塊11,其中服務邏輯模塊10用於控制安全性管理器1,被動挑戰收集模塊11被配置為監視多個認證過程並且收集由網絡實體產生的挑戰和因此由(U)SIM7提供的響應產生的挑戰。安全性管理器I還包括(U)SM/網絡組合反欺騙邏輯12,其被配置為阻止攻擊者試圖得到對本地資源的未授權訪問的攻擊。安全性管理器I還包括離線認證模塊13與主動挑戰生成和收集單元14,其中離線認證模塊13配置為執行離線認證,主動挑戰生成和收集單元14配置為生成認證挑戰以將該認證挑戰發送到(U) SIM7並收集相關的響應。安全性管理器I還包括數據保密性和完整性單元15,其被配置為將文件加密/解密並且保證該文件的完整性。
安全性管理器I被配置為能夠通過網絡連接單元6訪問網絡連接,並且能夠通過應用協議數據單元(APDU)的交換與(U) SIM7通信。另外,安全性管理器I可被配置為能夠在大容量存儲外部設備8上進行讀寫並且能夠監控涉及(U) SIM7的多個認證過程的執行和從這些多個認證過程獲取信息。安全性管理器I包括持續存儲能力,例如對關係資料庫16的訪問以及對密鑰材料17的訪問以驗證遠程網絡實體如X.509證書的公鑰的真實性。安全性管理器I使得ME100能夠使用生成的(U) SIM安全信息判定是否允許用戶訪問ME100上的本地資源如數據和應用。安全性管理器I能夠在具有遠程網絡實體的支持或沒有遠程網絡實體支持的情況下安全地驗證(U)SM7的真實性。因此,(U)SM認證甚至可以在網絡連接性不可用的離線環境下執行。安全性管理器I還能夠識別並且阻止攻擊者試圖通過使用欺騙性的(U) SIM和欺騙性的行動網路的組合獲得對ME100的本地資源的未授權訪問的攻擊。安全性管理器I可以通過執行以下過程來提供這些特徵。首先,當網絡連通性可用時,安全性管理器I可以主動地執行包括網絡實體的認證過程或者可以監控由ME100上的其他組件執行的適當的認證過程。在該階段,安全性管理器I可以執行多個機制以阻止包括組合的(U)SM7和網絡6的欺騙攻擊。如果該認證過程是成功的,則安全性管理器I準予訪問ME100的本地資源並且收集在認證過程期間交換的一組信息如網絡挑戰和(U)SIM響應。這種信息被安全地存儲在關係資料庫16或任何適當的永久存儲裝置中,以便以後當相關的認證網絡實體不可用時再用於認證(U) SM7。第二,如果沒有適當的網絡認驗證體可用時,安全性管理器I使用在之前階段收集的信息驗證插入裝置100的(U)SM的正確性。如果該過程成功,則安全性管理器I允許訪問裝置的本地資源。下文中將對這兩個階段進行詳細描述。對用於在離線背景下進行認證的認證數據可以通過兩種方式收集:被動或主動。被動收集包括安全性管理器I監控多個認證過程並且收集由網絡實體產生的挑戰和因此由(U)SM7提供的響應來進行,如果被監控的過程成功,則處理和保存該挑戰和響應。不同地,主動收集通過安全性管理器I本身產生認證挑戰,將該認證挑戰發送給(U)SM7並收集相關的響應來進行。被動收集可以通過監控認證過程中的任何一個來實現,其中,認證過程包括執行GSM AKA (認證和密鑰交換)機制(有時稱為2G AKA)或者UMTS AKA機制(有時稱為3GPPAKA) oGSM AKA機制允許網絡認證實體認證SM的身份,其被作為若干認證過程如GSM認證、GPRS認證、2G GBA引導(bootstrap)以及EAP-SM的一部分執行。參照圖2描述GSM AKA機制。在步驟SI中,包括ME100和SM7的移動站(MS)將其MSI(國際移動用戶識別碼)提交至網絡認證中心(AuC)並且請求認證。在步驟S2中,AuC生成128比特的隨機數,該隨機數被稱為RAND,並將該128比特的隨機數發送至MS。在步驟S3中,SIM7使用來自AuC的RAND及其密鑰KI生成被稱為SRES的32比特的響應和被稱為K。的64比特的密鑰。在步驟S4中,MS將由SM7計算的SRES的值發送至AuC。在步驟S5中,具有SM7的密鑰KI的複製的AuC計算SRES和KC。如果由AuC計算的SRES的值與由SM7提供的SRES的值相符,則SM7真實性就被驗證。與GSM AKA不同,UMTS AKA提供USIM和網絡之間的相互驗證。這種機制用於大量的認證過程,例如包括UMTS認證、EAP (可擴展認證協議)-AKA, GBA (通用引導構架)引導、IMS註冊和LTE (長期演化)認證。參照圖3描述UMTS AKA機制。在步驟SlOl中,包括ME100和USM7的用戶設備(MS)將其MSI提交至網絡認證中心(AuC)並且請求認證。在步驟S102中,AuC生成被稱為RAND的隨機數(與在GSM AKA的情況中一樣)以及認證標記(AUTN)。AUTN通過使用存在於AuC上的密鑰材料生成並且由USM7用於驗證網絡的真實性。然後AuC將RAND和AUTN發送至認證UE。在步驟S103中,在USM7接收到RAND和AUTN時,首先檢查AUTN的真實性。如果該AUTN是可信的,則USM7生成長達128比特的響應序列RES、被稱為CK的1218比特的密鑰以及被稱為IK的128比特的完整性密鑰。與GSM AKA的情況類似,這些值是基於RAND的值和USM7密鑰K的值產生的。如果該AUTN不可信,則USM7不計算RES、CK以及IK,並且AKA失敗。在步驟S104中,如果AUTN驗證成功,UE將通過之前接收的RAND獲得的RES的值發送給AuC。在步驟S105中,具有USM7的密鑰K的複製的AuC計算RES、CK和IK。如果由AuC計算的SRES的值與由USM7提供的SRES的值相符,USIM真實性就被驗證。應該注意,3GPP限定一組換算函數,該函數允許從UMTS-AKA的RES導出GMS-AKA的SRES以及從UMTS AKA的CK和IK導出GSM-AKA的KC。分別被稱為c2和c3的這些換算函數在3GPPTS33.102第9版第6.8.1.2節中進行了描述。本發明的實施方式使用這些換算函數來對使用UMTS AKA機製得到的結果與使用GSM AKA機製得到的結果進行比較。圖4和圖5示出了參考換算函數c2和c3的使用。圖4示出用於被動收集認證數據的方法。在步驟S201中,安全性管理器I開始監控認證過程。在步驟S202中,安全性管理器I檢測認證過程的成功狀態。如果認證過程成功,則該方法進行步驟S203,如果不成功,該過程退出。在步驟S203中,安全性管理器I確定一種類型的AKA。如果被監控的過程包括執行UMTS-AKA機制,則方法進行步驟S204。不同地,如果被監控的過程包括執行GSM-AKA機制,則安全性管理器I直接收集SRES和KC並且該方法進行步驟S205。在步驟S204中,安全性管理器I收集RAND、RES、CK以及IK的值。然後,安全性管理器I通過換算函數c2從RES計算SRES並通過換算函數c3從CK和IK計算KC。在步驟S205中,安全性管理器I利用所獲得的SRES和KC值通過將SRES和KC連結在一起然後生成從SRES和KC獲得的連結序列的散列碼以生成離線認證期望響應,在此定義為OFFLINE_RESP,如圖5所示:0FFLINE_RESP=H (SRES | | Kc)在步驟S206中,安全性管理器I將認證數據存儲在資料庫16中。生成0FFLINE_RESP的理由在本文中解釋為,需要用於該操作的SRES和KC以防止攻擊者通過在未加密的通信信道上嗅探AKA過程而獲得0FFLINE_RESP。事實上,在AKA期間K。並不在空中接口上交換且僅ME100可獲得,並且在某些過程中,Kc通過AuC傳送至BSS/RNS (基站子系統/無線電網絡子系統)。另外,假如對安全性管理器資料庫16的訪問被不正當地獲得,數據的雜亂性使得不能從0FFLINE_RESP獲得SRES和K。。與被動收集不同,主動收集通過安全性管理器I自身產生隨機序列RAND並將其發送至(U)SM7以獲得認證數據來進行。在這種情況下,UMTS AKA不能用於計算給定的RAND的響應。事實上,因為安全性管理器I不知道USM的密鑰K和序列號SQN,便不能生成有效的AUTN。因此,USM7將拒絕所有的想獲得RES、CK和IK的企圖。為此,GSM AKA機制被使用並且KC和SRES被作為響應收集。圖6示出用於主動收集認證數據的方法。在步驟S301中,安全性管理器I驗證出(U) SIM7已通過基於UMTS或GSM AKA的任何認證協議被認證,因此現在就形成了安全背景。這種驗證保證(U) SIM7是可信的。在步驟S302中,安全性管理器I將一個或多個隨機串RAND發送給(U) SIM7並且收集同樣多的SRES/KC對。根據ME100和(U) SIM7的能力,主動收集KC和SRES可以以兩種不同的方式執行。如果安全性管理器I設置在啟用UMTS的ME100上並且包括(U) SIM7的卡為具有在GSM安全背景中支持操作的USM應用的UICC,則在步驟S303A中,安全性管理器I向卡發出認證命令APDU (應用協議數據單元),該認證命令APDU附有本地生成的RAND並且將「GSM背景」的值指定為認證背景,如3GPP TS31.102所解釋的那樣。如果安全性管理器I設置在僅啟用GSM的ME100上或包括(U) SIM7的卡為沒有UICC的SM卡,則在步驟S303B中,安全性管理器I向卡發出RUN_GSM_ALG0命令APDUjf生成的RAND附加至消息。在步驟S304中,如上所述,安全性管理器I獲得作為發出的認證或RUN_GSM_ALG0APDU消息的響應的KC和SRES,並生成期望的離線響應0FFLINE_RESP,如與被動認證數據收集的情況一樣。在安全性管理器I成功地收集預期的認證數據之後,無論是主動或被動,其都將這些數據存儲在關係資料庫16中以便需要時再次使用。資料庫16的每個記錄可以包括以下領域:-認證數據涉及的(U)SIM7的MSI,-其上安裝有(U)SM7的卡的ICCID (集成電路卡ID)。如在下文中詳細描述的,假如ncc (通用的集成電路卡)卡具有多個USM應用,則MSI和ICCID的組合使用使得能夠適當地離線執行認證。然而,還可以將ICCID和MSI的匹配信息存儲在單獨的表中,-用於生成認證數據的RAND,-由SRES 和 KC 計算的 0FFLINE_RESP,-指示阻止組合的(U)SIM和網絡的欺騙攻擊的認證數據的正確性是否被驗證的標記,-指示認證數據是否已經被主動或被動地收集的標記,-在離線背景下RAND已經被重複使用的次數,該值最初被設置為0,之後每次RANDOFFLINE_RESP對被使用,該值就由安全性管理器I更新一次,-與RAND/OFFLINE_RESP對被收集的時間相關的時間戳。上述的挑戰/響應收集機制易受到這樣的攻擊,在該攻擊中,共同使用欺騙性的(U) SM和欺騙性的網絡以模擬成功的AKA認證。事實上,在這種情況中,攻擊者可以將具有欺騙性的MSI的(U)SM插入ME100,並且基於UMTS或者GSM AKA利用欺騙性的網絡運行認證,從而導致欺騙性的網絡和欺騙性的(U) SIM在不知道可信的(U) SIM的真實密鑰的情況下自認為成功認證了彼此。因此,無論是在執行主動收集還是執行被動收集的過程中,安全性管理器I都將收集由攻擊者插入的偽造的認證數據並且相信其為可信的。因此,添加在資料庫中的數據是有毒的並且系統的安全性被損害。 如果基於聯合的(U) SM和網絡的欺騙攻擊被認為可能發生並且需要被阻止,則可選地採取兩種解決方案以有效地處理這種問題。如圖7A和圖7B所示,第一解決方案包括ME100認證運行AKA的網絡實體,即網絡伺服器發布RAND (在UMTS AKA情況下,還發布AUW並且驗證(U) SM的RES。例如,這種認證可以利用分給包括在AKA中的網絡實體的X.509證書的驗證來執行,在AKA中ME100已知該證書的公鑰並且可以驗證其正確性。作為示例,該過程可以作為GBA引導的一部分來執行。事實上,在這種情況下,運行引導過程的ME100的組件可以與GBA BSF (引導伺服器功能)建立TLS (傳輸層安全性)連接並且可以在執行引導之前驗證其證書。如果由ME100進行的伺服器身份的驗證成功並且隨後的AKA (無論GSM或者UMTS)也成功,則ME100可以認為網絡和(U) SIM7是真的。甚至,利用該過程,無論使用GSM或UMTSAKA,ME100認證網絡(如用箭頭Am^n表示的那樣),並且網絡認證(U) SM7。網絡和USM7利用UMTS AKA相互認證,如圖7A中箭頭Amsim表示的那樣,並且網絡利用GSM AKA認證(U)SM7,如圖7B中箭頭AN —(u)SIM表示的那樣。因此,ME100能夠可靠地驗證(U) SIM7的真實性。可替代地,如上所述,假如ME100由於任何原因不能驗證運行AKA的網絡實體的真實性,則可以採用第二解決方案來阻止聯合的(U)SM和網絡的欺騙。圖8A和圖8B中示出的這種解決方案包括兩個步驟。首先,(U)SIM7和網絡基於GSM AKA或者UMTS AKA運行認證過程。網絡和USM7利用UMTS AKA相互認證(如圖8A中的箭頭Amsim所示),並且網絡利用GSM AKA認證(U)SM7 (如圖8B中的箭頭AN —(U)SIM所示)。其次,如果認證成功並且安全性管理器I在其資料庫16中具有可以認為是可靠的(即沒有由聯合的USM/網絡的欺騙攻擊毒害)的包括RAND/OFFLINE_RESP對的至少一個記錄,則安全性管理器I主動向(U)SM7發出挑戰並且對響應與存在於資料庫16中的0FFLINE_RESP的值進行比較,如圖8A中的箭頭AME —USIM和圖SB中的箭頭AME —(U)SIM所示的那樣。如果這些值相互匹配,則安全性管理器I可以可靠地認為(U)SM和網絡是可信的。下文將描述用於選擇RAND/OFFLINE_RESP對、並將其發送至(U) SIM7以及比較所獲得的結果與所期望的結果的方法。如果上述兩個解決方案中的任一種或兩者已經與成功的GSM AKA或者UMTS AKA一起執行,則(U)SM7可以被認為是可信的。因此,通過被動地監控這種機制獲得的認證數據的收集被保護以免受到聯合的(U) SIM和網絡的欺騙攻擊。另外,在通過這兩個解決方案中的一個或兩者建立安全背景之後,安全性管理器I可以在免受聯合的(U) SM和網絡的欺騙攻擊的保護下主動地收集來自(U)SM7的認證數據。當安全性管理器I利用這些方法存儲收集的認證數據時,無論主動或被動,其必須設置標記,該標記指示被收集的RAND/OFFLINE_RESP受到保護以免受聯合的(U) SM和網絡的欺騙。下文將描述這樣的過程,通過該過程可以基於(U) SM7的身份的驗證實施對ME100的本地資源的訪問控制。使用的術語「資源」旨在表示ME100上存在的使用者可以使用或者從其獲得益處的任何物理實體或邏輯實體。這種資源的示例包括但並不限於,軟體組件如文件、目錄、應用、作業系統、虛擬機圖像,以及硬體組件如存儲設備和輸入/輸出,外部設備如照相機、麥克風、傳感器和網絡接口。首先,為了執行加強訪問控制的認證方法,旨在由這種保護覆蓋的ME100的所有資源必須標記有(U)SM的MSI,該(U)SM的MSI的所有者被授權訪問該資源。可選地,資源還可以利用被授權的MSI能夠在其上執行的操作的列表來標記。可替代地,這些資源還可以利用可替代的標識符標記,該標識符可以唯一地與一個頂SI對應。如果ME100上的所有本地資源被認為具有相同訪問條件,則被授權的頂SI的列表可以被集中。用於表示被授權的IMSI的列表以訪問資源的可能的方法以及其所有者被允許在其上執行的活動對本領域的技術人員而言是公知的並且超出了本發明的範圍。圖9示出了完整的認證過程。當使用者請求訪問由訪問控制保護的特殊的資源時,安全性管理器I啟動認證過程。可替代地,其可以在引導時或在發生任何其他事件時啟動該過程。在步驟S401中,安全性管理器I驗證SM或ncc卡是否插在ME100中。如果沒有卡可用,則對資源的訪問被拒絕(步驟S414)並且該過程退出。否則,如果卡被插入,該方法進行步驟S402。在步驟S402中,安全性管理器I檢查當前選擇的(U)SM應用的MSI。如果該MSI與需要被認證的頂SI不匹配,該方法進行步驟S403。如果其匹配,該方法進行步驟S407。在步驟S403中,安全性管理器I讀取卡的ICCID的值。如果該ICCID與安裝有需要的(U) SM應用的卡的ICCID的值不匹配,則意味著插入了不同的卡。在這種情況下,對資源的訪問被拒絕(步驟S414)並且該過程退出。不同地,如果ICCID與安裝有需要的(U) SIM應用的卡的ICCID的值匹配,則可能意味著該卡具有多個(U)SIM應用並且所要求的應用現在沒有被選擇。在這種情況下,方法進行步驟S404。在步驟S404中,安全性管理器I檢測未被選擇的其他(U) SM應用的狀態。假如沒有其他(U) SM,則對資源的訪問被拒絕(步驟S414)並且過程退出。假如存在其他(U)SIM,則該方法進行步驟S405。在步驟S405和S406中,安全性管理器I 一個接一個地選擇卡上存在的所有(U)SIM應用直到發現具有所需要的IMSI的(U) SM應用。了解卡是否具有多個(U) SIM應用和如何選擇的方法對於本領域的技術人員是公知的並且這在本發明的範圍之外。如果預期的(U) SIM應用沒有被發現,則對資源的訪問被拒絕(步驟S414)並且過程退出。應該注意到在這些步驟中,假設安全性管理器I 了解期望的ICCID-MSI對應。如上所述,可以從包括用於離線認證的RAND/OFFLINE_RESP對的列表的資料庫表或者從單獨的表收集該信息。一旦具有需要的MSI的(U) SM被選擇,在步驟S407中,安全性管理器I就檢測是否存在有效的安全背景以及是否已經成功地執行反欺騙機制。如果在具有需要的IMSI的(U) SM與網絡之間存在有效的安全背景,並且如果反欺騙機制已經成功地執行,則該方法進行步驟S413。否則該方法進行步驟S408。在步驟S408中,安全性管理器I檢測網絡連通性是否可用。如果網絡連通性可用,該方法進行步驟S411。否則該方法進行步驟S409。在步驟S409中,安全性管理器I檢測是否存在可用於運行離線認證的認證數據。如果存在可用於運行離線認證的認證數據,該方法進行步驟S410。否則對本地資源的訪問被禁止(步驟S414)。在步驟S410中,如果網絡連通性不可用或者如果沒有用於執行AKA的網絡實體,則安全性管理器I執行離線認證,這將在下文進行詳細描述。如果離線認證成功(步驟S412),則對資源的訪問將被允許(步驟S413),否則將被拒絕(步驟S414)。在該階段之後,驗證過程退出。在步驟S411中,安全性管理器I運行任何合適的(U) SM認證過程,該(U) SM認證過程包括UMTS AKA或者GSM AKA。另外,安全性管理器I可以執行這些過程之一以防止上述聯合的USIM/網絡的欺騙攻擊。在步驟S412中,安全性管理器I檢測認證是否成功。如果認證成功,對資源的訪問將被允許(步驟S413)並且該過程退出。如果認證沒有成功,對資源的訪問被拒絕(步驟S414)並且該過程退出。對於上述的認證過程,可替代地,在該認證過程中待認證的MSI在方法中被明確地指定並且其對應於訪問所需要的特殊資源的所有者,認證過程還可以在隱含的IMSI上執行。事實上,認證過程可以由安全性管理器在過程開始時所選擇的(U) SM應用的MSI上執行。圖10示出具有隱含的MSI的認證過程的流程圖。在步驟S501中,安全性管理器I驗證SM或MCC卡是否插在ME100中。如果沒有卡可用,則對資源的訪問被拒絕(步驟S511),並且過程退出。否則,如果卡被插入,該方法進行步驟S502。在步驟S502中,安全性管理器I檢測當前(U)SM是否被選擇。如果當前(U)SM被選擇,則該方法進行步驟S504。否則該方法進行步驟S503。在步驟S503中,安全性管理器I選擇(U) SM應用。在步驟S504中,安全性管理器I檢測是否存在有效的安全背景以及反欺騙機制是否已經成功地執行。如果存在有效的安全背景並且反欺騙機制已經成功地執行,則該方法進行步驟S510。否則該方法進行步驟S505。在步驟S505中,安全性管理器I檢測網絡連通性是否存在。如果網絡連通性存在,則該方法進行步驟S508。否則該方法進行步驟S506。在步驟S506中,安全性管理器I檢測是否存在可用於運行離線認證的認證數據。如果存在可用於運行離線認證的認證數據,該方法進行步驟S507。否則對本地資源的訪問被禁止(步驟S511)。
在步驟S507中,如果網絡連通性不可用或者如果沒有用於執行AKA的網絡實體,安全性管理器I執行離線認證,這將在下文進行詳細描述。如果離線認證成功(步驟S509),對資源的訪問將被允許(步驟S510),否則將被拒絕(步驟S511)。在步驟S508中,安全性管理器I運行具有反欺騙機制的基於AKA的認證。在步驟S509,安全性管理器I檢測認證是否成功。如果認證成功,對資源的訪問將被允許(步驟S510)並且該過程退出。如果認證沒有成功,對資源的訪問被拒絕(步驟S511)並且該過程退出。圖11示出離線認證方法的流程圖。離線認證包括再使用具有RAND序列的(U)SM7以及利用存儲在安全性管理器的資料庫16中的期望的離線響應0FFLINE_RESP的值來驗證(U) SIM的響應。這種機制包括三個方面:-如果安全性管理器I可用多於一個的RAND/OFFLINE_RESP對,則選擇RAND/0FFLINE_RESP對以重新使用;-提交RAND至(U)SM7並收集相關響應;以及-利用0FFLINE_RESP的值驗證結果。
對於選擇RAND/OFFLINE_RESP以用於認證,本發明限定了一種算法,假如多個記錄存在於安全性管理器I的資料庫16中則該算法使系統安全最大化。更具體地,根據是否需要阻止聯合的(U) SIM/網絡的欺騙,該算法的執行方式不同。假如需要這種保護,則該算法的執行方式如下。在步驟S601中,安全性管理器I選擇所有這種記錄,即這些記錄中MSI領域的值與必須被離線認證的(U) SIM7的MSI相匹配。然後,安全性管理器I選擇已經使用阻止聯合的(U) SIM/網絡欺騙的兩種方法之一收集的所有記錄。這可以通過僅選擇具有相關的標記組的記錄來實現。在步驟S602中,安全性管理器I檢測是否至少一個記錄被選擇。如果至少一個記錄被選擇,則該方法進行步驟S603。如果沒有留下的記錄,則離線認證失敗(步驟S612)。在步驟S603中,如果僅存在一個記錄,則該樣本由於已被使用而被標記。否則,如果可得到多個記錄,則待用於認證的記錄將按照如下進行選擇。為資料庫16中的每個被選擇的記錄分配安全性索引Si,其中Si這樣計算:
SI=2-RI-AI
其中,r,表示該記錄已經被再使用的次數,如果樣本被主動收集則%等於1,或者如果樣本被被動收集則ai等於O。在步驟S604中,列表的所有被選擇的記錄按Si的遞減順序排序。如果多個元素具有相同的Si值,那麼這多個元素將被按從收集的最近時間戳到收集的最早時間戳進行子排序。在步驟S605中,安全性管理器I檢測該列表是否具有十個以上的記錄。在這種情況下,僅選擇排序的列表中的前十個記錄(步驟S606),否則列表中的所有記錄將被選擇。在步驟S607中,已經被使用而被標記的記錄將被記錄為在列表的索引i處的記錄,其中i為I到N之間的自然數,N為列表中記錄的數目,i為具有隨機變量的實現,該隨機變量的概率密度函數等於:
權利要求
1.用於保護移動裝置(100)中的本地資源的數據處理方法,包括: a)當網絡連通時: -聯接所述移動裝置(100)與第一識別模塊(7),所述第一識別模塊(7)與第一國際移動用戶識別碼(IMSI)相關聯; -在所述第一識別模塊(7)中接收來自通信網絡的網絡挑戰,使用密鑰加密所述網絡挑戰,並向所述通信網絡發出相應的響應以用於隨後的成功認證, b)在對所述通信網絡成功認證之後: -將所述本地資源的至少一部分與所述第一 MSI關聯;以及 -在所述移動裝置(100)的資料庫(16)中存儲與所述挑戰/響應對相關的認證數據; -準予訪問與所述第一 MSI相關聯的本地資源, c)當網絡不連通時: -聯接所述移動裝置(100)與第二識別模塊,所述第二識別模塊與第二 IMSI相關聯; -向所述第二識別模塊發出挑戰,其中根據存儲在所述資料庫(16)中的所述認證數據來確定所述挑戰; -接收來自所述第二識別模塊的響應; -將接收的所述響應與存儲的所述認證數據進行比較,如果來自所述第二識別模塊的所述響應與所述資料庫(16)中與發出`的所述挑戰相關聯的響應匹配,則準予訪問與所述第二MSI相關聯的本地資源。
2.根據權利要求1所述的數據處理方法,其中所述步驟a)包括被動收集認證數據,所述被動收集認證數據包括: -收集來自所述第一識別模塊(7)的響應;以及 -根據所述響應確定離線認證期望響應,以及 所述步驟b)包括將所述網絡挑戰和相應的離線認證期望響應存儲在所述資料庫(16)中。
3.根據權利要求1所述的數據處理方法,其中所述步驟b)包括主動收集認證數據,所述主動收集認證數據包括: -驗證出所述第一識別模塊(7)已經被所述通信網絡認證; -向所述第一識別模塊(7)發送根據所述資料庫(16)確定的挑戰並收集相應的響應; -根據所述響應確定離線認證期望響應;以及 -將所述挑戰和相應的離線認證期望響應存儲在所述資料庫(16)中。
4.根據權利要求1所述的數據處理方法,其中存儲在所述資料庫(16)中的認證數據包括一組記錄,其中每個記錄包括: -識別模塊的頂SI ; -安裝有所述識別模塊的卡的集成電路卡識別碼(ICCID); -挑戰,用於生成所述認證數據; -相應的離線認證期望響應,由來自所述識別模塊的響應計算得出; -指示所述認證數據的針對聯合的識別模塊和網絡欺騙攻擊的正確性是否被驗證的標記; -指示所述認證數據是否已經被主動或被動地收集的標記;-所述挑戰已在離線背景下被再使用的次數;和/或 -時間戳,與所述挑戰/響應對被收集的時間相關。
5.根據權利要求4所述的數據處理方法,其中所述步驟c)包括: -檢查所述第二識別模塊的所述MSI,以及檢查所述第二識別模塊的所述IMSI是否與需要被認證的MSI不相符; -讀取安裝有所述第二識別模塊的卡的ICCID值,以及所述ICCID是否與應該安裝有所需的識別模塊的卡的ICCID的值相符; -選擇存在於所述卡上的另一識別模塊。
6.根據權利要求1所述的數據處理方法,其中所述步驟a)包括: -使用所述移動裝置(100)認證所述通信網絡;以及 -使用所述通信網絡認證所述第一識別模塊(7)。
7.根據權利要求1所 述的數據處理方法,其中所述步驟a)包括: -使用所述通信網絡認證所述第一識別模塊(7);以及 -使用所述移動裝置(100)離線認證所述第一識別模塊(7)。
8.根據權利要求1所述的數據處理方法,其中如果多於一個的挑戰/響應對存儲在所述資料庫(16 )中,則所述步驟c )包括: -在所述資料庫(16)中選擇所述IMSI的值與所述第二識別模塊的IMSI相符的所有記錄; -為被選擇的每個記錄分配安全性索引Si,所述安全性索引Si依賴於所述記錄已經被再使用的次數和所述記錄已經被主動地或被動地收集的事實; -按所述安全性索引Si的遞減順序將所有被選擇的記錄排序;以及 -根據概率分布選擇待使用的記錄。
9.根據權利要求8所述的數據處理方法,其中所述概率分布的概率密度函數等於:
10.根據權利要求1所述的數據處理方法,包括使用識別模塊安全性算法以生成: -密鑰,用於加密/解密所述本地資源的至少一部分; -完整性密鑰,以生成/驗證消息認證碼(MAC)。
11.根據權利要求1所述的數據處理方法,其中所述本地資源的至少一部分還由使用者提供的密碼保護。
12.根據權利要求1所述的數據處理方法,其中所述第一識別模塊(7)和所述第二識別模塊為用戶識別模塊(SM)、全球用戶識別模塊(USM)、可移動用戶識別模塊(RUIM)、或CDMA用戶識別模塊(CSIM)。
13.根據權利要求1所述的數據處理方法,其中待認證的識別模塊的IMSI是預定的。
14.根據權利要求1所述的數據處理方法,其中待認證的識別模塊的IMSI為隱含的並且對應於在所述認證步驟開始時選擇的識別模塊的IMSI。
15.一種電腦程式產品,包括處理器能夠訪問的一個或多個存儲的指令序列,當由所述處理器執行時,所述一個或多個存儲的指令序列致使所述處理器執行權利要求1至權利要求14中任一項所述的步驟。
16.一種移動裝置(100),包括本地資源和安全性管理器模塊(I ),其中所述安全性管理器模塊(I)被配置為保護對所述本地資源的至少一部分的訪問,所述移動裝置(100)被配置為: a)當網絡連通時: -與第一識別模塊(7)聯接,所述第一識別模塊(7)與第一國際移動用戶識別碼(IMSI)相關聯; -在所述第一識別模塊(7)中接收來自通信網絡的網絡挑戰,使用密鑰加密所述網絡挑戰,並向所述通信網絡發出相應的響應以用於隨後的成功認證, b)在對所述通信網絡成功認證之後: -將所述本地資源的至少一部分與所述第一 MSI關聯;以及 -在所述安全性管理器模塊(I)的資料庫(16)中存儲與所述挑戰/響應對相關的認證數據; -準予訪問與所述第一 MSI相關聯的本地資源, c)當網絡不連通時:` -與第二識別模塊聯接,其中所述第二識別模塊與第二 IMSI相關聯; -向所述第二識別模塊發出挑戰,其中根據存儲在所述資料庫(16)中的所述認證數據來確定所述挑戰; -接收來自所述第二識別模塊的響應; -將接收的所述響應與存儲的所述認證數據進行比較,如果來自所述第二識別模塊的所述響應與所述資料庫(16)中與發出的所述挑戰相關聯的響應匹配,則準予訪問與所述第二MSI相關聯的本地資源。
全文摘要
用於保護移動裝置(100)中的本地資源的數據處理方法,包括a)當網絡連通時-聯接移動裝置(100)與第一識別模塊(7),第一識別模塊與第一國際移動用戶識別碼(IMSI)相關聯;-在第一識別模塊(7)中接收來自通信網絡的網絡挑戰,使用密鑰加密所述網絡挑戰,並向通信網絡發出相應的響應以用於隨後的成功認證,b)在對通信網絡成功認證之後-將本地資源的至少一部分與第一IMSI關聯;以及-在移動裝置(100)的資料庫(16)中存儲與挑戰/響應對相關的認證數據;-準予訪問與第一IMSI相關聯的本地資源,c)當網絡不連通時-聯接移動裝置(100)與第二識別模塊,第二識別模塊與第二IMSI相關聯;-向第二識別模塊發出挑戰,其中根據存儲在資料庫(16)中的認證數據來確定挑戰;-接收來自第二識別模塊的響應;-將接收的響應與存儲的認證數據進行比較,如果來自第二識別模塊的響應與資料庫(16)中發出的挑戰相關聯的響應匹配,則準予訪問與第二IMSI相關聯的本地資源。
文檔編號H04W12/06GK103201998SQ201180052672
公開日2013年7月10日 申請日期2011年10月21日 優先權日2010年10月29日
發明者洛倫佐·賽諾, 路易斯-瑪麗·勒薩歐克斯 申請人:法國電信公司