專利名稱:數(shù)據(jù)資源的密鑰控制使用的方法和系統(tǒng)、相關(guān)網(wǎng)絡(luò)以及計算機程序產(chǎn)品的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)資源的密鑰控制使用的技術(shù),例如,計算機系統(tǒng)中的敏感數(shù)據(jù)的密鑰控制保護和/或計算機系統(tǒng)或諸如因特網(wǎng)之類的媒體內(nèi)容傳輸網(wǎng)絡(luò)中用戶的密鑰控制注冊和登錄的技術(shù)。
背景技術(shù):
利用例如口令或口令短語,可保護計算機系統(tǒng)中的敏感和有價值的信息。由于用戶一般選擇易于記憶的口令,而這些口令可被特定的攻擊,例如字典或強力攻擊和社會工程技術(shù)破譯,因此這些解決方案通常很弱。另一方面,長而復(fù)雜的口令或口令短語更安全,但是從用戶的觀點來看,也不太便于使用。保護計算機系統(tǒng)中有價值的數(shù)據(jù)還涉及“自組織(ad hoc)”保密硬件,例如智能卡、USB令牌或PCI/PCMCIA卡的使用。但是,由于獲得、分配和管理智能卡、USB令牌或PCI/PCMCIA卡的成本的緣故,這些裝置很少被使用。
為了克服這些缺陷,WO-A-00/31608提出使用移動電話機自動將計算機用戶登錄到計算機系統(tǒng)上的系統(tǒng)和方法。用戶身份模塊(SIM)被引入計算機系統(tǒng),以致計算機系統(tǒng)將SIM和計算機用戶聯(lián)系起來。SIM隨后被插入移動電話機中。當移動電話機被通電時,提示用戶輸入個人身份識別號(PIN)。當用戶希望登錄到計算機系統(tǒng)時,用戶在移動電話機和計算機之間建立通信信道。移動電話機和計算機交換識別信息,計算機用戶被自動登錄到計算機系統(tǒng)上。該系統(tǒng)的一種例證配置方法規(guī)定按照信息可被寫入SIM的模式,例如SAT配置模式設(shè)定移動電話機。SIM包含SIM應(yīng)用工具包(SAT)。SAT是包含在GSM標準中的用于編寫在SIM上運行的程序的開發(fā)環(huán)境。為了將產(chǎn)生公鑰和私鑰的程序安裝到SIM上,SIM被插入智能卡讀/寫器中。計算機產(chǎn)生一組公鑰和私鑰。公鑰被存儲在計算機,或者計算機網(wǎng)絡(luò)中的管理數(shù)據(jù)庫中。私鑰被存儲在SIM中。另外,用于對在移動電話機和計算機之間傳送的數(shù)據(jù)編碼的各種參數(shù)也被存儲在SIM上。所述各種參數(shù)是RSA算法中使用的數(shù)字。一旦系統(tǒng)已被配置成使SIM和計算機系統(tǒng)的一個或多個用戶賬戶/身份相聯(lián)系,并且移動電話機的用戶已將PIN輸入移動電話機中,那么用戶可自動登錄到計算機上。
在US-A-2003/0028763中,公開了另一種方案,其中在網(wǎng)際協(xié)議的模塊化驗證和授權(quán)方案的框架內(nèi),用戶身份模塊(SIM)可被用于產(chǎn)生將用于訪問所請求資源的客戶用密鑰的副本。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種實現(xiàn)保護存儲在計算機系統(tǒng)中的任何敏感數(shù)據(jù)和/或?qū)τ嬎銠C系統(tǒng)本身的本地訪問的安全并且成本低的方法的方案。
借助SIM(用戶身份模塊)實現(xiàn)這種新的保護水平。
在本說明書的剩余部分和權(quán)利要求書中,我們將將一般在GSM網(wǎng)絡(luò)中使用的SIM卡或一般在UMTS網(wǎng)絡(luò)中使用的USIM卡,或者在不同的無線網(wǎng)絡(luò)中使用的,并且具有基于加密的驗證或識別特征,例如基于質(zhì)詢和回應(yīng)機制的類似卡定義為SIM。
由于其可靠的GSM/UMTS保密功能,SIM利用提供了一種解決客戶機安全性問題的途徑。具體地說,這里描述的方案利用與安裝在計算機系統(tǒng)中的特定處理模塊結(jié)合的SIM來保密地產(chǎn)生強密碼密鑰。這些密碼密鑰被用于有效地加密敏感數(shù)據(jù),例如機密文件、文件夾、虛擬磁盤、軟件許可證或者保護訪問計算機系統(tǒng)所需的用戶憑證。從而,只有合法的SIM才能夠?qū)γ舾袛?shù)據(jù)解密,或者允許對計算機系統(tǒng)的本地訪問。
根據(jù)本發(fā)明的一個方面,提供一種存儲在與計算機系統(tǒng)相關(guān)的數(shù)據(jù)庫中的數(shù)據(jù)資源的密鑰控制使用的方法,包括下述步驟
-提供攜帶至少一種保密算法的用戶身份模塊;-借助所述至少一種保密算法產(chǎn)生密鑰;和-利用所述密鑰保護所述數(shù)據(jù)資源。
根據(jù)本發(fā)明的另一方面,提供一種數(shù)據(jù)資源的密鑰控制使用的系統(tǒng),包括-攜帶至少一種保密算法的至少一個用戶身份模塊;-至少包含至少一個處理模塊的計算機系統(tǒng),所述處理模塊與所述用戶身份模塊連接,從而借助所述至少一種保密算法產(chǎn)生至少一個密鑰,并被配置成借助所述密鑰保護所述數(shù)據(jù)資源;和-與所述計算機系統(tǒng)相關(guān)的數(shù)據(jù)庫,用于存儲由所述密鑰保護的所述數(shù)據(jù)資源。
根據(jù)本發(fā)明的另一些方面,提供一種相關(guān)的通信網(wǎng)絡(luò)和可裝入至少一個計算機的存儲器中的計算機程序產(chǎn)品,所述計算機程序產(chǎn)品包括當其在計算機上運行時,執(zhí)行本發(fā)明的方法的步驟的軟件代碼部分。對“至少一個計算機”的引用顯然意圖突出按照分布式模塊化方式實現(xiàn)本發(fā)明的系統(tǒng)的可能性。
在從屬權(quán)利要求和下面的說明中描述了本發(fā)明的其它優(yōu)選方面。
下面參考附圖,舉例說明本發(fā)明,其中圖1是如這里所述的系統(tǒng)的體系結(jié)構(gòu)的例證方框圖,圖2、4、6和7是根據(jù)這里描述的方案的系統(tǒng)的可能操作的例證流程圖,圖3和5是表示這里所述的方案中的數(shù)據(jù)處理的功能/方框圖。
具體實施例方式
這里說明的方案包含下面列舉的實體計算機系統(tǒng)這里使用的計算機系統(tǒng)表示能夠執(zhí)行計算,存儲數(shù)據(jù),運行應(yīng)用程序,和利用特定的開發(fā)環(huán)境和編程語言,例如C、C++、Java、C#等編程的任何系統(tǒng)。于是,計算機系統(tǒng)(圖1中的CS)可以是個人計算機,筆記本計算機,膝上型計算機,個人數(shù)字助理(PDA),智能電話機等。計算機系統(tǒng)還能夠連接SIM。
SIM這里使用的SIM表示在移動網(wǎng)絡(luò),例如GSM或UMTS網(wǎng)絡(luò)中分別用于控制和保護用戶對網(wǎng)絡(luò)資源的訪問的SIM卡或USIM卡。具體地說,為了可以接入移動網(wǎng)絡(luò),用戶必須被驗證。在GSM/UMTS網(wǎng)絡(luò)中,這種驗證被實現(xiàn)成質(zhì)詢-回應(yīng)機制。網(wǎng)絡(luò)向用戶移動電話機發(fā)送稱為RAND的隨機值,用戶移動電話機又將該值轉(zhuǎn)發(fā)給SIM。包含稱為Ki的唯一私鑰的SIM用稱為A3的隨移動電話運營商而定的算法對該RAND加密,以便產(chǎn)生驗證回應(yīng)SRES。該驗證回應(yīng)被返回給網(wǎng)絡(luò),知曉SIM密鑰Ki的網(wǎng)絡(luò)進行相同的計算,并對照用戶供給的SRES檢查其SRES。如果這兩個值相符,那么準許用戶接入,否則,接入請求被拒絕。在前一情況下,SIM可利用稱為A8的另一隨移動電話運營商而定的算法以及密鑰Ki對RAND值加密,從而產(chǎn)生稱為Kc的會話密鑰。該密鑰將被傳送給移動電話機,以便保護移動電話機和GSM/UMTS收發(fā)機站之間的無線電鏈路。
處理模塊這里使用的處理模塊表示安裝在計算機系統(tǒng)CS中,能夠與SIM和安裝在計算機系統(tǒng)CS中的操作系統(tǒng)通信的軟件組件。具體地說,該處理模塊能夠?qū)Υ鎯υ谟嬎銠C系統(tǒng)中的敏感數(shù)據(jù)進行加密操作,和對訪問操作系統(tǒng)所需的用戶憑證進行加密操作。
用戶用戶是SIM和待保護的敏感數(shù)據(jù)的合法所有者。
有利的是,本發(fā)明中涉及的SIM不需要任何定制或修改,因為這里描述的方案只利用了嵌入的標準(例如GSM或UMTS)保密函數(shù)。
下面的說明只是基于GSM網(wǎng)絡(luò)和相關(guān)的SIM基礎(chǔ)結(jié)構(gòu),舉例說明這里描述的方案的一個可能實施例。本領(lǐng)域的技術(shù)人員易于認識到通過采用相關(guān)的USIM基礎(chǔ)結(jié)構(gòu),這里描述的方案可適用于例如UMTS網(wǎng)絡(luò)的框架內(nèi)的操作。所述方案可應(yīng)用于由基本和SIM基礎(chǔ)結(jié)構(gòu)類似的用戶識別基礎(chǔ)結(jié)構(gòu)支持的任何其它網(wǎng)絡(luò)架構(gòu)。
于是,這里使用的術(shù)語“SIM”意圖包含基于相同操作原理的所有這些備選基礎(chǔ)結(jié)構(gòu)。
具體地說,SIM可利用幾種方法與計算機系統(tǒng)CS連接,例如(但不限于)(參見圖1)-標準的PCSC閱讀器10;-經(jīng)由藍牙通道的移動電話機/終端20(用作無線SIM閱讀器);-經(jīng)由IrDA通道的移動電話機/終端30,或者-經(jīng)由與串行/并行/USB/火線端口連接的電纜的移動電話機/終端40(用作有線SIM閱讀器)。
當然,預(yù)期技術(shù)進展將提供連接SIM和計算機系統(tǒng)的新裝置和協(xié)議。從而,本發(fā)明包含這樣的新裝置和協(xié)議的可能使用。
將結(jié)合兩個基本的例證實施例說明這里描述的方案-基于SIM的敏感數(shù)據(jù)保護,-基于SIM的本地訪問保護就第一實施例而論,要求SIM產(chǎn)生強密鑰,所述強密鑰將被對稱密鑰算法,例如(但不限于)AES、3DES、RC6、Serpent或Twofish用于對用戶敏感數(shù)據(jù)加密。對稱密鑰算法被存儲在處理模塊中。在這種情況下,敏感數(shù)據(jù)包括可存儲在計算機系統(tǒng)上的任何數(shù)字信息,例如文件、文件夾、虛擬磁盤、軟件許可證、文檔等。只有授權(quán)的SIM稍后能夠重建相同的密鑰,于是能夠解密數(shù)據(jù)和訪問數(shù)據(jù)。在加密和解密過程中都不需要用戶口令或口令短語。
第二實施例利用類似的方法將基于SIM的本地訪問服務(wù)設(shè)置到計算機系統(tǒng)CS中。這種情況下,只有當與計算機系統(tǒng)CS連接的SIM能夠?qū)υL問計算機系統(tǒng)本身所需的用戶憑證解密時,才允許對操作系統(tǒng)的訪問。用戶憑證可被存儲在遠程數(shù)據(jù)庫上,或者本地存儲在計算機系統(tǒng)CS中。
根據(jù)本發(fā)明的第一實施例,基于SIM的敏感數(shù)據(jù)加密以由圖2的流程圖表示的程序為基礎(chǔ)。
在步驟100中,用戶請求對選擇的一組敏感數(shù)據(jù)的保護。例如,在Microsoft WindowsTM平臺中,用戶能夠在文件管理器ExplorerTM中選擇待保護的文件和文件夾。隨后,利用環(huán)境菜單(右擊鼠標),他或她可選擇處理模塊可用的例如“SIM Encrypt”菜單項。
在步驟102中,處理模塊開始檢查與計算機系統(tǒng)CS連接的SIM的存在。如果找到SIM,那么處理模塊檢查SIM訪問是否受PIN保護,如果需要,那么它請求用戶例如利用GUI(圖形用戶界面)輸入對應(yīng)的PIN。
一旦在步驟104中結(jié)束訪問(直接地,如果SIM不受PIN保護,或者如果用戶提供的PIN是正確的),那么處理模塊產(chǎn)生兩個隨機值RAND1和RAND2,具體地說兩個128位的隨機值(步驟106)。
這兩個隨機值RAND1和RAND2隨后被轉(zhuǎn)發(fā)給存儲在SIM上的A8 GSM保密算法(例如參見[GSM Technical Specification GSM03.20(ETSI TS 100 929 v8.1.0)“Digital cellular telecommunicationsystem(Phase 2+);Security Related network functions”,EuropeanTelecommunications Standards Institute,July 2001];或者[GSMTechnical Specification GSM 11.11(ETSI TS 100 977 v8.3.0)“Digitalcellular telecommunication system(Phase 2+);Specification of theSubscriber Identity Module-Module Equipment(SIM-ME)interface”,European Telecommunications Standards Institute,August 2000])。
這返回在步驟108中以Kc1=A8(RAND1)和Kc2=A8(RAND2)的形式,并且根據(jù)SIM的私鑰Ki計算的兩個會話密鑰Kc1和Kc2,具體地說兩個64位會話密鑰。
隨后,利用散列函數(shù)h,比如(但不限于)SHA-1函數(shù)(例如參見[National Institute of Standards and Technology(NIST),“FederalInformation Processing Standards Publication 180-2-SECUREHASH STANDARD(SHS)”,August 1,2002]或者MD5函數(shù)(例如參見[A.J.Menezes,P.C.van Oorscot,S.A.Vanstone,“Handbookof Applied Cryptography”,CRC Press,ISBN0-8493-8523-7,October 1996]混合這兩個會話密鑰Kc1和Kc2。
在步驟110中,該操作產(chǎn)生一個加密密鑰K=h(Kc1,Kc2)。
更具體地說,通過利用由函數(shù)f混合的經(jīng)由驗證質(zhì)詢(隨機值)RAND1和RAND2而獲得的驗證符號響應(yīng)SERS和會話密鑰Kc1,Kc2,可計算加密密鑰K,即K=f(Kc1,Kc2,…,Kcn,SRES1,SRES2,…,SRESn)。這樣,為了獲得更長并且更安全的加密密鑰K,可對混合函數(shù)f和使用的驗證質(zhì)詢的數(shù)目n進行處理。最后,混合函數(shù)f還可引入不依賴于GSM保密函數(shù)的附加秘密。例如,混合函數(shù)f可包括用戶特有的私鑰KU,以使對于通常知道嵌入SIM中的密鑰Ki的移動電話運營商來說,加密密鑰K也是不可預(yù)測的。于是在這種情況下,K=f(KU,Kc1,Kc2,…,Kcn,SRES1,SRES2,…,SRESn)?;旌虾瘮?shù)f可以是例如消息驗證碼(MAC)函數(shù),例如(但不限于)HMAC-SHA-1,HMAC-MD5,AES-XCBC-MAC。
在步驟112中,處理模塊還可產(chǎn)生將被用作初始化向量(IV)的隨機向量,以便按照CBC模式(密碼塊鏈接再次參見已在上面引用的Menezes等的參考文獻)利用對稱密鑰密碼對敏感數(shù)據(jù)加密。當然可以使用其它加密方式,例如(但并不限于)CFB(密碼反饋),或者OFB(輸出反饋)。隨機向量的位長度取決于選擇的特定算法。例如,就AES(先進加密標準)來說,隨機向量長度為128位。
按照用于密碼的特定模式,隨機向量也可被省略(例如在ECB模式,電子密碼本再次參見Menezes等的參考文獻)。
在步驟114,處理模塊利用加密密鑰K和隨機向量IV,例如在CBC模式下利用AES密碼對選擇的敏感數(shù)據(jù)加密??梢允褂闷渌鼘ΨQ密碼,例如(但不限于)3DES、RC6、Serpent或者Twofish。
作為一個選項,在加密階段之前,處理模塊還可壓縮加密的敏感數(shù)據(jù),以便減小待處理的數(shù)據(jù)的大小,并從統(tǒng)計的觀點來看,使加密的敏感數(shù)據(jù)更獨立。為此,可使用幾種無損壓縮算法,例如(但不限于)PKZIP、GZIP、RAR、ACE、ARJ或LZH。
加密的敏感數(shù)據(jù)ESD(參見圖3)隨后將和密碼首標CH一起存儲在計算機系統(tǒng)CS中。特別地,密碼首標CH包含用于解密階段的信息。
具體地說,密碼首標CH可包括圖3中所示的字段-兩個隨機值RAND1和RAND2;-隨機向量IV;-包含諸如處理模塊版本,密碼,加密方式,使用的壓縮算法和其它數(shù)據(jù)之類的信息的字符串Version;和-與加密的敏感數(shù)據(jù)相關(guān),并且包括基于加密密鑰K的三個在先字段的密碼校驗和MACK。例如,HMAC-SHA-1算法可被用于此目的,但是可以使用任何其它MAC(消息驗證碼)算法,例如(但不限于)HMAC-SHA-1、HMAC-MD5或者AES-XCBC-MAC。
對用戶選擇的每組敏感數(shù)據(jù)重復(fù)該處理。
要認識到密碼校驗和MACK的使用在檢測方面提供保護以防對加密的敏感數(shù)據(jù)的未授權(quán)修改。事實上,不知道加密密鑰K的對手不能連同密碼校驗和MACK的完整性一起改變加密的敏感數(shù)據(jù)。
處理模塊還可實現(xiàn)密鑰K和用于完整性的密鑰Kint之間的隔離。例如,如密碼學(xué)中的最佳實踐通常所建議的那樣,處理模塊可得出密鑰KEnc=f1(K)對敏感數(shù)據(jù)加密,和密鑰KInt=f2(K)對文件“MAC”。
處理模塊并不將任何SIM標識符存儲到密碼首標CH中,例如SIM IMSI(國際移動用戶身份模塊),SIM MSIDSN(移動用戶ISDN)或者SIM序號。對用戶加密的敏感數(shù)據(jù)來說,這提供了更高的保密水平。
但是,應(yīng)該可將該信息加入密碼首標CH中,以便加速解密程序。這種情況下,在開始敏感數(shù)據(jù)的解密之前,SIM將檢查其標識符在密碼首標CH中的存在。
基于SIM的敏感數(shù)據(jù)解密程序以圖4的流程圖所示的程序為基礎(chǔ)。
在步驟200中,用戶請求訪問選擇的一組敏感數(shù)據(jù)。例如,在Microsoft WindowsTM平臺上,用戶能夠在文件管理器ExplorerTM內(nèi)選擇待保護的敏感數(shù)據(jù)。隨后,借助環(huán)境菜單(右擊鼠標),他或她可選擇處理模塊可用的“SIM Decrypt”菜單項。
在步驟202中,借助下述裝置(但不限于),處理模塊開始檢查與計算機系統(tǒng)CS連接的SIM的存在-標準的PCSC閱讀器;-經(jīng)由藍牙通道的移動電話機;-經(jīng)由IrDA通道的移動電話機,或者-經(jīng)由與串行/并行/USB/火線端口連接的電纜的移動電話機如果找到SIM,那么處理模塊檢查SIM訪問是否受PIN保護,如果需要,那么它要求用戶例如利用GUI(圖形用戶界面)輸入PIN。
一旦在步驟204中實現(xiàn)SIM訪問(直接地,如果SIM不受PIN保護,或者如果用戶提供的PIN是正確的),那么在步驟206中,處理模塊解析與加密的敏感數(shù)據(jù)相關(guān)的密碼首標CH字段,特別地,字符串Version和兩個隨機值RAND1和RAND2。具體地說,它檢查用于對敏感數(shù)據(jù)加密的處理模塊版本是否和支持的處理模塊版本相符(例如在密碼、方式、壓縮算法等方面)。這種情況下,處理模塊將兩個隨機值RAND1和RAND2轉(zhuǎn)發(fā)給存儲在SIM中的A8GSM保密算法,在步驟208中,A8GSM保密算法的執(zhí)行返回兩個會話密鑰Kc1和Kc2,具體地說計算為Kc1=A8(RAND1)和Kc2=A8(RAND2)的兩個64位會話密鑰Kc1和Kc2。
在步驟210中,隨后利用散列函數(shù)h,例如(但不限于)SHA-1函數(shù)或MD5函數(shù)混合這兩個會話密鑰Kc1和Kc2。
該操作產(chǎn)生解密密鑰K=h(Kc1,Kc2)。
更具體地說,通過利用由函數(shù)f混合的經(jīng)由驗證質(zhì)詢(隨機值)RAND1和RAND2而獲得的驗證符號響應(yīng)SERS和會話密鑰Kc1,Kc2,可計算解密密鑰K,即K=f(Kc1,Kc2,…,Kcn,SRES1,SRES2,…,SRESn)。這樣,為了獲得更長并且更安全的解密密鑰K,可對混合函數(shù)f和使用的驗證質(zhì)詢的數(shù)目n進行處理。最后,混合函數(shù)f還可引入不依賴于GSM保密函數(shù)的附加秘密信息。例如,混合函數(shù)f可包括用戶特有的私鑰KU,以使對于通常知道嵌入SIM中的密鑰Ki的移動電話運營商來說,解密密鑰K也是不可預(yù)測的。于是在這種情況下,K=f(KU,Kc1,Kc2,…,Kcn,SRES1,SRES2,…,SRESn)。混合函數(shù)f可以是例如消息驗證碼(MAC)函數(shù),例如(但不限于)HMAC-SHA-1,HMAC-MD5或AES-XCBC-MAC。
此時在步驟212中,處理模塊能夠利用解密密鑰K核實包含在密碼首標CH內(nèi)的密碼校驗和MACK。
在核實成功的情況下,在步驟214中,處理模塊繼續(xù)進行加密的敏感數(shù)據(jù)的解密,否則,它斷定SIM未被批準訪問加密的敏感數(shù)據(jù),或者加密的敏感數(shù)據(jù)已被修改。這種情況下發(fā)出警報。
具體地說,如果密碼校驗和核實階段是成功的,那么處理模塊利用解密密鑰K,包含在密碼首標CH內(nèi)的隨機向量IV和由同樣包含在密碼首標CH內(nèi)的字符串Version指定的密碼和加密方式,對加密的敏感數(shù)據(jù)解密。它還從解密的敏感數(shù)據(jù)中除去密碼首標,這種情況下,它按照在字符串Version中指定的壓縮算法對解密后的敏感數(shù)據(jù)解壓縮。
對用戶選擇的每組敏感數(shù)據(jù)重復(fù)該處理。
這里描述的方案還提供一種密鑰恢復(fù)服務(wù)。事實上,如果由于SIM已被丟失或者硬件故障,用戶的SIM不可用,那么通過向移動電話運營商詢問與包括在加密的敏感數(shù)據(jù)的密碼首標CH中的隨機值RAND1和RAND2相關(guān)的兩個會話密鑰Kc1,Kc2,用戶能夠重建加密密鑰K。于是,借助新的SIM,用戶能夠?qū)λ惺鼙Wo的敏感數(shù)據(jù)解密,并對它們重新加密。
如前所述,提出的方案還適合于和UMTS SIM(通常稱為USIM)一起操作。這歸因于用戶利用GSM的相同保密函數(shù)(A3和A8GSM保密算法)的事實。
這里描述的第二實施例涉及基于SIM的本地訪問保護。具體地說,該方案可和提供基于密碼的用戶驗證工具的任何操作系統(tǒng),例如(但不限于)Windows NT/2000/XP,Sun Solaris,Linux或MAC-OS一起使用。
在本實施例中,用戶憑證按照第一實施例被保護,并被本地存儲在計算機系統(tǒng)CS中,或者遠程存儲在數(shù)據(jù)庫上。當用戶想要登錄計算機系統(tǒng)CS時,使SIM與計算機系統(tǒng)CS連接,并按照前面結(jié)合圖2說明的程序產(chǎn)生加密密鑰K。加密密鑰K隨后被用于對用戶憑證解密,并將用戶憑證傳送給底層的操作系統(tǒng),所述操作系統(tǒng)通過檢查這些用戶憑證,照常完成驗證階段。
更具體地說,第二實施例涉及兩個不同的程序,即-用戶注冊進程-基于SIM的登錄進程。
在用戶注冊進程中,利用按照前面結(jié)合圖2說明的程序,由用戶SIM產(chǎn)生的加密密鑰K對用戶憑證加密。加密的用戶憑證將被存儲在遠程數(shù)據(jù)庫中的一條記錄中,或者本地存儲在計算機系統(tǒng)CS中,例如存儲在配置文件或系統(tǒng)注冊表內(nèi)。相對于第一實施例,現(xiàn)在存儲SIM的識別參數(shù),以便在計算機系統(tǒng)CS中,建立用戶憑證和對應(yīng)的用戶SIM之間的聯(lián)系。在第二實施例中,如圖5中所示,IMSI(國際移動用戶身份模塊)被用作SIM的唯一標識符。但是,可以使用其它的標識符,例如(但不限于)SIM MSIDSN(移動用戶ISDN)或者SIM序號。
用戶注冊進程以圖6中所示的步驟為基礎(chǔ)。
借助下述裝置(但不限于)使用戶SIM與注冊服務(wù)器連接-標準的PCSC閱讀器;-經(jīng)由藍牙通道的移動電話機;-經(jīng)由IrDA通道的移動電話機,或者-經(jīng)由與串行/并行/USB/火線端口連接的電纜的移動電話機。
在步驟300中激活注冊模塊。注冊模塊請求用戶憑證,例如與連接的SIM相關(guān)的用戶的用戶名和口令。根據(jù)操作系統(tǒng),其它信息可被包括在用戶憑證內(nèi),例如網(wǎng)絡(luò)域名,如同在Microsoft Windows平臺中一樣。
注冊模塊按照包含基本上與前面結(jié)合圖2說明的步驟S102-114相同的步驟302-314的程序,對提供的用戶憑證加密。
在步驟316,加密程序的結(jié)果(密碼首標CH和加密數(shù)據(jù)ED)和SIM IMSI一起被存儲在遠程數(shù)據(jù)庫的一條記錄中,或者本地存儲在計算機系統(tǒng)CS中(同樣參見圖5)。
一旦用戶已注冊,那么通過按照下面說明的基于SIM的登錄進程,他或她能夠登錄到計算機系統(tǒng)CS中。
在圖7中所示的例證的基于SIM的登錄進程中,用戶SIM并被假定為通過下述裝置(但不限于)與計算機系統(tǒng)CS連接-標準的PCSC閱讀器;-經(jīng)由藍牙通道的移動電話機;-經(jīng)由IrDA通道的移動電話機,或者-經(jīng)由與串行/并行/USB/火線端口連接的電纜的移動電話機。
當收到訪問請求(步驟400),并與SIM連接(步驟402)時,監(jiān)聽先前的通信信道的處理模塊檢測SIM的存在(圖7)。處理模塊被存儲在計算機系統(tǒng)CS上。
處理模塊檢查SIM訪問是否受PIN保護,如果需要,那么它請求用戶例如利用GUI(圖形用戶界面)輸入對應(yīng)的PIN。
一旦在步驟104中結(jié)束該訪問(直接地,如果SIM不受PIN保護,或者如果用戶提供的PIN是正確的),那么在步驟406中,處理模塊從SIM讀出IMSI。隨后,在步驟408中,它在遠程數(shù)據(jù)庫內(nèi)或者在計算機系統(tǒng)CS內(nèi)將該值用作主要的搜索關(guān)鍵字。
如果匹配,那么處理模塊讀出該條記錄或者配置文件/系統(tǒng)注冊表,并執(zhí)行前面詳細說明的處理(在步驟410-414中,這樣的步驟基本上和圖4的步驟206-210相同),以便對用戶憑證解密。
解密(步驟414)之后,處理模塊將用戶憑證直接轉(zhuǎn)發(fā)給操作系統(tǒng),操作系統(tǒng)又將照常驗證用戶。處理模塊還負責安全地擦除解密的用戶憑證,以防止未經(jīng)批準的用戶憑證恢復(fù)。
提供的該解決方案提高了總的安全水平。事實上,每次登錄時,用戶不需要鍵入他或她的口令。這樣,可按照在構(gòu)成、長度和循環(huán)時間方面更嚴格的安全策略來選擇口令。于是,傳統(tǒng)的攻擊,例如強力攻擊,字典攻擊或者社會工程技術(shù)不再適用。此時,用戶憑證受SIM保護在不擁有SIM和知道對應(yīng)的PIN的情況下,使數(shù)據(jù)庫包含加密的用戶憑證的泄秘方法無效。此外,每個用戶憑證由不同的隨SIM而定的密鑰加密。這大大有助于降低與泄露秘密的數(shù)據(jù)庫相關(guān)的風(fēng)險。
如前所述,本發(fā)明還可和其它SIM型卡一起操作,例如,UMTSSIM(一般稱為USIM)。這歸因于UMTS利用和GSM相同的保密函數(shù)(A3和A8GSM保密算法)。另外,USIM包括藉此可從單個驗證RAND開始,產(chǎn)生一個或多個密鑰(CK,IK)的保密函數(shù)。
就USIM來說,沿著前面說明的方法的路線,甚至可從單個隨機值RAND開始產(chǎn)生密碼密鑰。
于是,在不損害本發(fā)明的基本原理的情況下,細節(jié)和實施例可變化,而不會脫離如下面的權(quán)利要求中限定的本發(fā)明的范圍,另外重要的是,前面描述的只是對本發(fā)明的舉例說明。在這方面,要認識到措詞“加碼處理”中性地適用于加密數(shù)據(jù)(明文)從而產(chǎn)生加密的數(shù)據(jù),和解密加密的數(shù)據(jù),從而從加密的數(shù)據(jù)恢復(fù)解密的明文數(shù)據(jù)。
上述方案可獲得下述優(yōu)點。
具體地說,這里描述的方案利用完全標準的SIM(它是被廣泛使用和接受的裝置)來保密地產(chǎn)生變長的強密碼密鑰,以便保護計算機系統(tǒng)資源,例如文件、文件夾、軟件許可證等,或者對計算機系統(tǒng)本身的本地訪問。
特別地,為了在這里描述的方案的構(gòu)架內(nèi)正確地工作,SIM不需要任何定制或修改。為了起智能卡的作用或者處理數(shù)字證書,SIM不需要用SIM應(yīng)用工具包(SAT)或者任何其它類似的技術(shù)來修改。
此外,這里描述的方案還完全遵守其用戶驗證程序以口令為基礎(chǔ)的任何操作系統(tǒng)。
此外,不需要用戶管理程序方面的任何變化。這歸因于這里描述的方案利用SIM保護操作系統(tǒng)用戶憑證或者操作系統(tǒng)用戶簡表,而不改變用戶憑證或用戶簡表本身。
另外,不要求用戶鍵入他或她的口令。為此,可按照更嚴格的安全策略來選擇口令和口令短語,以便排除攻擊,比如字典攻擊,強力攻擊或社會工程。當用戶訪問計算機系統(tǒng)時,這里描述的方案并不直接驗證用戶事實上,它保護訪問操作系統(tǒng)的用戶憑證,而操作系統(tǒng)將維持其驗證用戶的任務(wù),既然這一般是在計算機系統(tǒng)環(huán)境中進行的。
權(quán)利要求
1.一種存儲在與計算機系統(tǒng)相關(guān)的數(shù)據(jù)庫中的數(shù)據(jù)資源的密鑰控制使用的方法,包括下述步驟-提供攜帶至少一種保密算法的用戶身份模塊(SIM);-借助所述至少一種保密算法產(chǎn)生密鑰(K);和-利用所述密鑰(K)保護所述數(shù)據(jù)資源。
2.按照權(quán)利要求1所述的方法,其特征在于,利用所述密鑰保護所述數(shù)據(jù)資源的所述步驟包括下述步驟-借助于所述密鑰(K)對所述數(shù)據(jù)資源加密;-將所述加密的數(shù)據(jù)資源存儲在與所述計算機系統(tǒng)相關(guān)的所述數(shù)據(jù)庫中;-從所述數(shù)據(jù)庫檢索所述加密的數(shù)據(jù)資源;和-借助于所述密鑰(K)對所述加密的數(shù)據(jù)資源解密。
3.按照權(quán)利要求1或2所述的方法,其特征在于,產(chǎn)生密鑰的所述步驟包括下述步驟-產(chǎn)生至少一個隨機值(RAND1,RAND2);-對所述至少一個隨機值(RAND1,RAND2)應(yīng)用所述至少一種保密算法,產(chǎn)生至少一個會話密鑰(Kc1,Kc2);和-借助混合函數(shù)(h)處理所述至少一個會話密鑰(Kc1,Kc2),產(chǎn)生所述至少一個密鑰(K)。
4.按照權(quán)利要求3所述的方法,其特征在于,它包括下述步驟-產(chǎn)生至少兩個隨機值(RAND1,RAND2);-對所述至少兩個隨機值(RAND1,RAND2)應(yīng)用所述至少一種保密算法,產(chǎn)生至少兩個會話密鑰(Kc1,Kc2);和-借助混合函數(shù)(h)組合所述至少兩個會話密鑰(Kc1,Kc2),產(chǎn)生所述至少一個密鑰(K)。
5.按照權(quán)利要求3或4所述的方法,其特征在于,所述混合函數(shù)包括散列函數(shù)(h)。
6.按照權(quán)利要求3-5任意之一所述的方法,其特征在于,它包括將與所述用戶身份模塊保密算法無關(guān)的用戶特有秘密信息(KU)插入所述混合函數(shù)(h)中的步驟,從而即使根據(jù)所述用戶身份模塊(SIM)中攜帶的所述保密算法的知識,所述密鑰(K)也是不可預(yù)測的。
7.按照權(quán)利要求1-6任意之一所述的方法,其特征在于,它包括從用戶敏感數(shù)據(jù)或用戶憑證中選擇所述數(shù)據(jù)資源的步驟。
8.按照權(quán)利要求7所述的方法,其特征在于,使用所述密鑰(K)保護所述數(shù)據(jù)資源的所述步驟包括利用所述密鑰(K),將所述用戶敏感數(shù)據(jù)或所述用戶憑證從明文加密成加密格式的步驟。
9.按照權(quán)利要求7或8所述的方法,其特征在于,使用所述密鑰(K)保護所述數(shù)據(jù)資源的所述步驟包括利用所述密鑰(K),將所述用戶敏感數(shù)據(jù)或所述用戶憑證從加密格式解密成明文的步驟。
10.按照權(quán)利要求8或9所述的方法,其特征在于,加密格式的所述用戶敏感數(shù)據(jù)或所述用戶憑證具有相關(guān)的密碼首標(CH)。
11.按照權(quán)利要求10所述的方法,其特征在于,所述密碼首標(CH)包括所述用戶身份模塊(SIM)的標識符和基于所述密鑰(K)的密碼校驗和(MACK),所述密碼校驗和(MACK)被用于檢測所述加密格式的任何未授權(quán)修改。
12.按照權(quán)利要求7-11任意之一所述的方法,其特征在于,所述數(shù)據(jù)資源是用戶憑證,與所述計算機系統(tǒng)相關(guān)的所述數(shù)據(jù)庫是遠程數(shù)據(jù)庫,基于所述用戶憑證的所述數(shù)據(jù)資源按照所述加密格式,被存儲在所述遠程數(shù)據(jù)庫中。
13.按照權(quán)利要求12所述的方法,其特征在于,它包括建立以所述加密格式存儲在所述遠程數(shù)據(jù)庫中的所述用戶憑證和對應(yīng)的用戶身份模塊(SIM)之間的關(guān)系的步驟。
14.按照權(quán)利要求13所述的方法,其特征在于,利用所述用戶身份模塊(SIM)的標識符建立所述關(guān)系。
15.按照權(quán)利要求14所述的方法,其特征在于,它包括利用所述標識符在所述遠程數(shù)據(jù)庫內(nèi)搜索,從而允許所述用戶使用所述用戶憑證的步驟。
16.一種數(shù)據(jù)資源的密鑰控制使用的系統(tǒng),包括-攜帶至少一種保密算法的至少一個用戶身份模塊(SIM);-至少包含至少一個處理模塊(CS)的計算機系統(tǒng),所述處理模塊與所述用戶身份模塊(SIM)連接,從而借助所述至少一種保密算法產(chǎn)生至少一個密鑰(K),并被配置成借助所述密鑰(K)保護所述數(shù)據(jù)資源;和-與所述計算機系統(tǒng)相關(guān)的數(shù)據(jù)庫,用于存儲由所述密鑰(K)保護的所述數(shù)據(jù)資源。
17.按照權(quán)利要求16所述的系統(tǒng),其特征在于,所述至少一個處理模塊被配置成-利用所述密鑰(K)對所述數(shù)據(jù)資源加密;-將所述加密的數(shù)據(jù)資源存儲在與所述計算機系統(tǒng)相關(guān)的所述數(shù)據(jù)庫中;-從所述數(shù)據(jù)庫檢索所述加密的數(shù)據(jù)資源;和-利用所述密鑰(K)對所述加密的數(shù)據(jù)資源解密。
18.按照權(quán)利要求16或17所述的系統(tǒng),其特征在于,所述數(shù)據(jù)庫包括在所述計算機系統(tǒng)中。
19.按照權(quán)利要求16或17所述的系統(tǒng),其特征在于,所述數(shù)據(jù)庫遠離所述計算機系統(tǒng)。
20.按照權(quán)利要求16-19任意之一所述的系統(tǒng),其特征在于,所述處理模塊通過智能卡閱讀器、藍牙移動終端、IrDA移動終端或者通過電纜的移動終端,與所述用戶身份模塊(SIM)連接。
21.按照權(quán)利要求16-20任意之一所述的系統(tǒng),其特征在于,所述計算機系統(tǒng)包括個人計算機、筆記本計算機、膝上型計算機、PDA或智能電話機。
22.一種包括按照權(quán)利要求16-21任意之一所述的系統(tǒng)的通信網(wǎng)絡(luò)。
23.一種可裝入至少一個計算機的存儲器中,并包括執(zhí)行按照權(quán)利要求1-15任意之一所述的方法的軟件代碼部分的計算機程序產(chǎn)品。
全文摘要
數(shù)據(jù)資源的密鑰控制使用(例如保密地存儲和檢索敏感數(shù)據(jù),或者保密地注冊和登錄計算機系統(tǒng))的方案包括下述步驟提供攜帶至少一種保密算法的用戶身份模塊(SIM);產(chǎn)生至少一個,例如兩個隨機值(RAND1,RAND2);對隨機值(RAND1,RAND2)應(yīng)用所述至少一種保密算法,從而產(chǎn)生至少一個,例如兩個會話密鑰(Kc1,Kc2);利用諸如散列函數(shù)之類的混合函數(shù)(h)處理會話密鑰(Kc1,Kc2),從而產(chǎn)生密鑰(K);和利用這樣產(chǎn)生的密鑰(K)使用所述數(shù)據(jù)資源。
文檔編號G06F21/62GK1910531SQ200380111038
公開日2007年2月7日 申請日期2003年12月30日 優(yōu)先權(quán)日2003年12月30日
發(fā)明者瑪紐·里昂, 艾托·E·卡普瑞拉 申請人:意大利電信股份公司