口令)]
[0083]因此,存儲(chǔ)在憑證保險(xiǎn)庫(kù)中的用戶名和口令憑證被加密并且通過(guò)兩層安全性來(lái)保護(hù)。在準(zhǔn)許訪問(wèn)存儲(chǔ)著的憑證之前,用戶必須提供主憑證保險(xiǎn)庫(kù)口令并且附加地提供NFC安全口令/令牌(通過(guò)在被提示時(shí)將恰適的啟用NFC的物理設(shè)備帶到設(shè)備100附近之內(nèi))。將領(lǐng)會(huì),NFC安全性的附加步驟是可以由用戶啟用或禁用的特征。
[0084]在沒(méi)有主憑證保險(xiǎn)庫(kù)口令或NFC安全口令/令牌的情況下,存儲(chǔ)在TCB中的憑證保險(xiǎn)庫(kù)的條目被加密。為了增加加密強(qiáng)度,短用戶名和口令可以由隨機(jī)位填充到最小長(zhǎng)度,或者可以在將所有口令存儲(chǔ)在憑證保險(xiǎn)庫(kù)中之前使所有口令具有欺騙性。
[0085]缺少訪問(wèn)TCB的系統(tǒng)級(jí)準(zhǔn)許還防止完全訪問(wèn)安全元件(換言之,移動(dòng)設(shè)備的應(yīng)用一般不具有訪問(wèn)TCB的準(zhǔn)許)。此外,安全元件還由安全密鑰來(lái)保護(hù)?!癈ardlet”( 一種類型的卡應(yīng)用)在安全環(huán)境內(nèi)的安全元件上運(yùn)行,并且執(zhí)行針對(duì)憑證保險(xiǎn)庫(kù)的憑證管理操作(添加、查找、修改、刪除)以及用戶憑證的檢索。為了安全,NFC令牌口令不被存儲(chǔ)(以防止NFC令牌口令的可能的解密和盜竊)。
[0086]將領(lǐng)會(huì),出于安全原因,NFC令牌口令和憑證口令不由憑證保險(xiǎn)庫(kù)管理器應(yīng)用或由卡應(yīng)用保存。雖然在某種意義下口令被臨時(shí)“存儲(chǔ)”在充當(dāng)用戶的代理的移動(dòng)電話軟件棧中以解密憑證保險(xiǎn)庫(kù)的內(nèi)容,但是一旦憑證訪問(wèn)會(huì)話結(jié)束,軟件就不以容易訪問(wèn)的方式在任何地方(在RAM中或在其他地方)保存憑證口令。
[0087]假如存儲(chǔ)在憑證保險(xiǎn)庫(kù)中的每個(gè)條目是數(shù)據(jù)庫(kù)條目,則添加數(shù)據(jù)同步工具以使憑證與另一設(shè)備同步是可能的。如果目標(biāo)設(shè)備不具有利用NFC令牌的能力(例如,計(jì)算設(shè)備上的不具有NFC能力的桌面web瀏覽器),則檢索內(nèi)容仍是可能的。該目標(biāo)設(shè)備將要求用戶輸入NFC令牌口令(假定用戶知曉NFC令牌口令或者能夠訪問(wèn)NFC令牌口令)連同憑證保險(xiǎn)庫(kù)口令。
[0088]較佳地,每一級(jí)授權(quán)使用密碼學(xué)上較強(qiáng)的口令或口令短語(yǔ)。
[0089]進(jìn)一步參照?qǐng)D1的示例性環(huán)境并且更具體地轉(zhuǎn)到圖2,描繪了解說(shuō)本發(fā)明的實(shí)施例中的具有兩級(jí)授權(quán)和加密的總體系統(tǒng)架構(gòu)的框圖。最頂層是包括用于提供訪問(wèn)控制的“安全和加密”的“憑證保險(xiǎn)庫(kù)管理器”。用于“憑證保險(xiǎn)庫(kù)管理器”的“安全和加密”包括“(物理安全令牌)”,例如,存儲(chǔ)在啟用NFC的設(shè)備上的口令。
[0090]“憑證保險(xiǎn)庫(kù)管理器”與同樣包括“安全和加密”的“憑證保險(xiǎn)庫(kù)適配器層”交互。這里,“安全和加密”指代保護(hù)存儲(chǔ)在憑證保險(xiǎn)庫(kù)中的憑證的“(憑證保險(xiǎn)庫(kù)級(jí)加密)”。從“憑證保險(xiǎn)庫(kù)管理器”向“憑證保險(xiǎn)庫(kù)適配器層”發(fā)送的命令包括打開(kāi)、關(guān)閉、添加、刪除、更新、和加密功能性(如以下將參照?qǐng)D3-7討論的)。這些命令遵守至“憑證保險(xiǎn)庫(kù)管理器”的公共協(xié)議接口。取決于如何實(shí)現(xiàn)憑證保險(xiǎn)庫(kù),憑證保險(xiǎn)庫(kù)適配器層的不同實(shí)施例包括“UICC適配器”、“安全元件適配器”、“云存儲(chǔ)適配器”、以及“其他存儲(chǔ)適配器”中的一者或多者。如果實(shí)現(xiàn)在S頂卡或UICC中,則憑證保險(xiǎn)庫(kù)適配器層交互使用“訪問(wèn)密鑰”并利用“UICC適配器”來(lái)與憑證保險(xiǎn)庫(kù)交互。如果實(shí)現(xiàn)另一種類型的“安全元件”中,則憑證保險(xiǎn)庫(kù)適配器層交互使用“訪問(wèn)密鑰”并利用“安全元件適配器”來(lái)與憑證保險(xiǎn)庫(kù)交互。如果憑證保險(xiǎn)庫(kù)實(shí)現(xiàn)在云存儲(chǔ)中,則憑證保險(xiǎn)庫(kù)適配器層交互利用“安全元件適配器”來(lái)與憑證保險(xiǎn)庫(kù)交互。如果憑證保險(xiǎn)庫(kù)實(shí)現(xiàn)在某種其他類型的存儲(chǔ)中,則憑證保險(xiǎn)庫(kù)適配器層交互利用“其他存儲(chǔ)適配器”來(lái)與憑證保險(xiǎn)庫(kù)交互(例如,安全數(shù)字(SD)存儲(chǔ)卡)。
[0091]圖3-7描繪了由憑證保險(xiǎn)庫(kù)應(yīng)用管理器結(jié)合TCB的卡應(yīng)用(例如,“Cardlet”)來(lái)執(zhí)行的示例性操作的流程圖。
[0092]圖3描繪了解說(shuō)打開(kāi)和關(guān)閉與TCB的憑證保險(xiǎn)庫(kù)的安全會(huì)話的流程圖。計(jì)算設(shè)備的用戶向憑證保險(xiǎn)庫(kù)管理器應(yīng)用提供憑證保險(xiǎn)庫(kù)口令。憑證保險(xiǎn)庫(kù)管理器應(yīng)用進(jìn)一步例如通過(guò)提示用戶在計(jì)算設(shè)備上揮動(dòng)恰適的NFC鑰匙扣來(lái)檢測(cè)用戶是否具有恰適的令牌。一旦憑證保險(xiǎn)庫(kù)管理器應(yīng)用驗(yàn)證了憑證保險(xiǎn)庫(kù)口令并且NFC安全令牌已被提供,用戶就具有在存在多個(gè)TCB的情況下選擇TCB的選項(xiàng)。(將領(lǐng)會(huì),此選擇步驟在不存在可供憑證保險(xiǎn)庫(kù)管理器應(yīng)用使用的多個(gè)TCB的情況下不需要發(fā)生。)隨后,用所選TCB來(lái)打開(kāi)會(huì)話,并且憑證保險(xiǎn)庫(kù)被“解鎖”以及會(huì)話標(biāo)識(shí)符被提供。由此建立打開(kāi)的會(huì)話,通過(guò)該會(huì)話,用戶將具有對(duì)存儲(chǔ)在憑證保險(xiǎn)庫(kù)中的經(jīng)加密信息的經(jīng)解密版本的訪問(wèn)以及能夠創(chuàng)建、修改、或刪除此類信息。在會(huì)話打開(kāi)時(shí),超時(shí)計(jì)數(shù)器運(yùn)行并且在超時(shí)計(jì)數(shù)器期滿之際,憑證保險(xiǎn)庫(kù)被“鎖定”并且安全會(huì)話被關(guān)閉。替代地,用戶還可以手動(dòng)地選擇結(jié)束會(huì)話并且“鎖定”憑證保險(xiǎn)庫(kù)。在一實(shí)施例中,根據(jù)圖3的過(guò)程來(lái)打開(kāi)會(huì)話的目的是使NFC令牌和憑證保險(xiǎn)庫(kù)口令兩者存儲(chǔ)在臨時(shí)存儲(chǔ)器(例如,RAM)中以使得能夠執(zhí)行諸如圖4-7中描繪的那些功能之類的其他功能。
[0093]圖4描繪了解說(shuō)用于將憑證添加至憑證保險(xiǎn)庫(kù)的過(guò)程的流程圖。在網(wǎng)站或應(yīng)用呈現(xiàn)使用用戶名和口令的安全挑戰(zhàn)時(shí),用戶在相應(yīng)的字段中輸入用戶名和口令。隨后,向用戶呈現(xiàn)在憑證保險(xiǎn)庫(kù)中保存所輸入的用戶名和口令的選項(xiàng),并且如果用戶肯定地響應(yīng),則憑證應(yīng)用管理器應(yīng)用和/或web瀏覽器或應(yīng)用提示用于提供憑證保險(xiǎn)庫(kù)口令和/或NFC安全令牌。在由圖4描繪的實(shí)施例中,用戶僅被請(qǐng)求NFC安全令牌,并且隨后憑證保險(xiǎn)庫(kù)管理器應(yīng)用通過(guò)檢查安全散列匹配(例如,使用諸如SHA-2或SHA-3之類的單向算法來(lái)散列)并且確定TCB會(huì)話是否打開(kāi)來(lái)驗(yàn)證NFC安全令牌。執(zhí)行散列匹配確定允許系統(tǒng)檢查NFC安全令牌而不暴露較大的攻擊表面(出于安全原因)并且無(wú)需持續(xù)地打開(kāi)和關(guān)閉憑證保險(xiǎn)庫(kù)(出于性能原因)。如果用戶未能提供NFC安全令牌,則NFC安全令牌散列匹配失敗,或者如果TCB會(huì)話未打開(kāi),則添加操作失敗。將領(lǐng)會(huì),在某些實(shí)施例中,檢查用戶是否具有NFC安全令牌和/或令牌散列是否匹配包含圖3中描繪的會(huì)話打開(kāi)過(guò)程。
[0094]在此示例性實(shí)施例中,隨后使用CVP并且使用NFC令牌來(lái)加密要被存儲(chǔ)的憑證。例如,對(duì)稱加密算法(諸如AES)被用于將憑證數(shù)據(jù)轉(zhuǎn)換成在沒(méi)有這兩個(gè)口令(CVP和NFC令牌(即,兩者均被用作密鑰))的情況下不可讀的東西。因?yàn)槭菍?duì)稱的,所以相同的口令可被用于以其原始形式恢復(fù)數(shù)據(jù)。在替換實(shí)施例中,使用公鑰和私鑰的非對(duì)稱加密方案(諸如RSA)被用于加密憑證數(shù)據(jù)。
[0095]在網(wǎng)站的URL或應(yīng)用標(biāo)識(shí)符連同由用戶輸入的用戶名和口令一起被加密之后,經(jīng)加密的憑證存儲(chǔ)在TCB中的憑證保險(xiǎn)庫(kù)中。如果TCB中沒(méi)有足夠的存儲(chǔ),或者如果憑證條目是重復(fù)的,則添加操作可能失?。环駝t,添加操作成功。
[0096]替代地,在TCB中沒(méi)有更多存儲(chǔ)空間時(shí),TCB中相對(duì)較舊的經(jīng)加密條目可被安全地轉(zhuǎn)移到云存儲(chǔ)。另一替換方案為提示用戶清除憑證保險(xiǎn)庫(kù)的一些條目(并且拒絕添加操作直至存儲(chǔ)空間可用)。憑證可以在加密之前被壓縮并且在檢索之際被解壓以增強(qiáng)較有限存儲(chǔ)環(huán)境中的自由空間量。
[0097]圖5描繪了解說(shuō)用于從憑證保險(xiǎn)庫(kù)查找和檢索憑證的過(guò)程的流程圖。此過(guò)程在用戶訪問(wèn)網(wǎng)站或應(yīng)用時(shí)或者在用戶訪問(wèn)網(wǎng)站或應(yīng)用并且輸入用戶名時(shí)被調(diào)用。憑證應(yīng)用管理器應(yīng)用和/或web瀏覽器或應(yīng)用提示用戶提供憑證保險(xiǎn)庫(kù)口令和/或NFC安全令牌。在由圖5描繪的實(shí)施例中,用戶僅被請(qǐng)求NFC安全令牌,并且隨后憑證保險(xiǎn)庫(kù)管理器應(yīng)用通過(guò)檢查散列匹配和確定TCB會(huì)話是否打開(kāi)來(lái)驗(yàn)證NFC安全令牌。如果用戶未能提供NFC安全令牌,則NFC安全令牌散列匹配失敗,或者如果TCB會(huì)話未打開(kāi),則查找和檢索操作失敗。
[0098]通過(guò)將URL (或應(yīng)用標(biāo)識(shí)符)用作密鑰-值映射來(lái)將憑證存儲(chǔ)在憑證保險(xiǎn)庫(kù)中,其中該密鑰或多個(gè)密鑰被用于查找對(duì)應(yīng)的憑證。如果用戶通過(guò)授權(quán)檢查并且TCB會(huì)話打開(kāi),則憑證保險(xiǎn)庫(kù)管理器應(yīng)用向TCB的卡應(yīng)用(例如,“Cardlet”)發(fā)送請(qǐng)求以查找匹配請(qǐng)求憑證信息的URL(或應(yīng)用標(biāo)識(shí)符)的憑證。
[0099]向用戶呈現(xiàn)提供憑證保險(xiǎn)庫(kù)口令的提示,因此其可以打開(kāi)與cardlet的會(huì)話(如以上參照打開(kāi)會(huì)話和圖3所討論的)。一旦會(huì)話被建立,則在找到請(qǐng)求憑證的網(wǎng)站的情況下,返回可能的用戶賬戶的列表。用戶可以隨后選擇向要網(wǎng)站呈交哪個(gè)賬戶身份。
[0100]在檢索網(wǎng)站或應(yīng)用的經(jīng)解密憑證之際,網(wǎng)站或應(yīng)用將隨后使用戶名和/或口令字段被自動(dòng)地填充。向網(wǎng)站或應(yīng)用自動(dòng)地提交完成的用戶名/口令表格以在用于無(wú)需點(diǎn)擊“提交”按鈕的情況下完成認(rèn)證過(guò)程也是可能的。在另一實(shí)施例中,向當(dāng)前網(wǎng)站或應(yīng)用提交憑證要求用戶再次給出NFC安全令牌/ 口令,并且在給出NFC安全令牌/ 口令之際觸發(fā)提交。
[0101]圖6描繪了解說(shuō)用于更新憑證保險(xiǎn)庫(kù)中的憑證的過(guò)程的流程圖。用于