硬件強制訪問保護(hù)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本公開涉及設(shè)備安全,并且更具體地涉及被配置成用于通過硬件強制安全增強基 于軟件的保護(hù)方案的系統(tǒng)。
[0002] 背景
[0003] 由于例如使其可應(yīng)用于許多日常情況的日益增加的功能性,市場上出現(xiàn)的各種各 樣的移動設(shè)備持續(xù)擴(kuò)展。例如,移動"智能"設(shè)備除簡單的語音交互之外的通信數(shù)據(jù)能力使 得這些設(shè)備可用于處理傳統(tǒng)上需要通過有線連接(例如,鏈接到互聯(lián)網(wǎng)的臺式計算機)處 理、需要親自處理等等的任務(wù)??墒褂靡苿釉O(shè)備上被配置成用于提供諸如例如個人或職業(yè) 交互性(例如,電子郵件、消息傳送等等)、財務(wù)管理和交易(例如,銀行業(yè)務(wù)、電子購物等 等)等功能性、數(shù)據(jù)庫功能性(諸如聯(lián)系人管理、娛樂應(yīng)用等等)的各種應(yīng)用執(zhí)行這些任 務(wù)。
[0004] 然而,移動設(shè)備所創(chuàng)造的便利性具有某些固有的風(fēng)險。移動設(shè)備本身內(nèi)存在可使 其吸引可能希望非法地?fù)碛兴钠渌说拇罅哭D(zhuǎn)售價值。于是,移動設(shè)備上存儲有信息。這 種信息可包括標(biāo)識信息(姓名、地址、電話號碼、社會保障號等等)、財務(wù)賬號信息(例如,銀 行賬號、信用卡號等等)、個人或商業(yè)相關(guān)網(wǎng)絡(luò)的登錄信息等等。這種信息比實際的移動設(shè) 備本身更有價值,因為其可授權(quán)其他人不正當(dāng)?shù)卦L問信息、進(jìn)行未授權(quán)交易、扮演設(shè)備用戶 等等。
[0005] 現(xiàn)有的移動設(shè)備安全可由設(shè)備操作系統(tǒng)(OS)或由以O(shè)S等級權(quán)限執(zhí)行的第三方安 全應(yīng)用提供。盡管對于普通用戶來說有效,更多高級用戶可通過在OS等級攻擊設(shè)備來繞過 這些保護(hù)。例如,字典攻擊可用于確定密碼,可通過使用外部接口強制地訪問設(shè)備存儲器來 檢索敏感信息,可通過安裝新的OS重新配置移動設(shè)備等等。結(jié)果,移動設(shè)備總是作為知道 如何利用其弱點的違法犯罪者的有吸引力的目標(biāo)。
[0006] 附圖簡要說明
[0007] 所要求保護(hù)的主題的各實施例的特征和優(yōu)點將隨著以下詳細(xì)描述的進(jìn)行并且當(dāng) 參照附圖時變得明顯,其中相同的數(shù)字指示相同的部件,并且在附圖中:
[0008] 圖1示出根據(jù)本公開的至少一個實施例的被配置成用于硬件強制訪問保護(hù)的示 例設(shè)備;
[0009] 圖2示出根據(jù)本公開的至少一個實施例的示例設(shè)備配置;
[0010] 圖3示出根據(jù)本公開的至少一個實施例的用于認(rèn)證模塊的示例配置;
[0011] 圖4示出根據(jù)本公開的至少一個實施例的用于激活和用戶認(rèn)證恢復(fù)的示例操作 的流程圖;
[0012] 圖5示出根據(jù)本公開的至少一個實施例的用于硬件強制訪問保護(hù)的示例操作的 流程圖。
[0013] 盡管將參考說明性實施例進(jìn)行以下詳細(xì)描述,其許多替代、修改和變化將對本領(lǐng) 域普通技術(shù)人員明顯。
[0014] 詳細(xì)描述
[0015] 本公開描述了用于硬件強制訪問保護(hù)的系統(tǒng)和方法。設(shè)備可包括例如登錄代理模 塊(LAM)、操作系統(tǒng)登錄認(rèn)證模塊(OSLAM)以及安全用戶認(rèn)證模塊(SUAM)。初始地,LAM可 被配置成用于使設(shè)備內(nèi)的用戶接口呈現(xiàn)提示。該提示可請求有待(例如,由設(shè)備用戶)輸 入到設(shè)備內(nèi)的登錄信息。LAM可被進(jìn)一步配置成用于向OSLAM提供登錄信息,其可被配置成 用于認(rèn)證登錄信息。如果登錄信息被認(rèn)證,OSLAM可被進(jìn)一步配置成用于向SUAM傳輸經(jīng)簽 名的登錄成功消息。在一個實施例中,SUAM可被加載到(例如由固件)設(shè)備內(nèi)的安全存儲 器空間中,諸如例如受信執(zhí)行環(huán)境(TEE)。SUAM可被配置成用于認(rèn)證經(jīng)簽名的登錄成功消 息,并且如果已認(rèn)證則向OSLAM傳輸經(jīng)加密的認(rèn)證消息。OSLAM可被進(jìn)一步配置成用于解密 并認(rèn)證經(jīng)加密的認(rèn)證消息。如果被認(rèn)證,OSLAM可授權(quán)對設(shè)備的訪問。
[0016] 在一個實施例中,OSLAM可包括私鑰并且SUAM可包括公鑰。私鑰可由設(shè)備內(nèi)的已 知用戶信息保護(hù)。當(dāng)用戶登錄設(shè)備時(例如,輸入登錄信息),登錄信息可與已知用戶信息 進(jìn)行比較,并且僅當(dāng)?shù)卿浶畔⑴c已知用戶信息相對應(yīng)時才可授權(quán)對私鑰的訪問。私鑰然后 可用于生成經(jīng)簽名的登錄成功消息,其可由SUAM使用公鑰認(rèn)證。同樣,經(jīng)加密的認(rèn)證消息 可由OSLAM使用私鑰解密。在一個實施例中,私鑰可由TEE根加密以便提供附加保護(hù)(例 如,以便防止通過字典攻擊(其中持續(xù)猜測密鑰組合直至發(fā)現(xiàn)匹配)而確定私鑰)。
[0017] 在一個實施例中,該設(shè)備可進(jìn)一步包括固件接口模塊。固件接口模塊可被配置成 用于將經(jīng)簽名的登錄成功消息從OSLAM傳送到SUAM并且相反地將經(jīng)加密的認(rèn)證消息從 SUAM傳送到OSLAM。在相同或不同實施例中,該設(shè)備可進(jìn)一步包括安全策略模塊(SPM)和/ 或認(rèn)證恢復(fù)模塊(ARM)。SPM可被配置成用于控制LAM、OSLAM和/或SUAM的操作。在LAM 和OSLAM的情況下,SPM可被配置成用于為設(shè)備確定上下文(例如,設(shè)備位置、設(shè)備狀況等 等),并且可設(shè)置基于該上下文控制LAM和/或OSLAM的操作的登錄策略。例如,SPM可確 定該設(shè)備在"家庭"位置,并且可要求輸入較少登錄信息,與當(dāng)確定該設(shè)備在已知位置時相 反。SPM可被進(jìn)一步配置成用于例如限定SUAM中的等待計時器和/或最大登錄嘗試次數(shù)。 等待計時器可限定在SUAM致使該設(shè)備關(guān)閉之前SUAM將等待多長時間接收經(jīng)簽名的登錄成 功消息。在一個實施例中,如果等待計時器過期而沒有接收到經(jīng)簽名的登錄成功消息,SUAM 然后可確定是否已經(jīng)超過最大登錄嘗試次數(shù)。如果已經(jīng)超過最大登錄嘗試次數(shù),SUAM可將 該設(shè)備置于鎖定狀態(tài),其中,可拒絕訪問操作系統(tǒng),直至執(zhí)行用戶認(rèn)證恢復(fù)。ARM可被配置成 用于當(dāng)該設(shè)備連接到遠(yuǎn)程資源(例如,可通過網(wǎng)絡(luò)連接訪問的計算設(shè)備)時執(zhí)行用戶認(rèn)證 恢復(fù)。
[0018] 在一個實施例中,該遠(yuǎn)程資源可以是可通過互聯(lián)網(wǎng)訪問的服務(wù)器,該服務(wù)器被配 置成用于向設(shè)備提供私鑰。例如,當(dāng)被激活時,該設(shè)備可被配置成用于初始地確定其是否連 接到該遠(yuǎn)程資源。該設(shè)備然后可被配置成用于確定該設(shè)備內(nèi)是否存在該私鑰。如果該設(shè)備 未連接到該遠(yuǎn)程資源并且該私鑰存在于該設(shè)備中,可在該設(shè)備內(nèi)開始硬件強制訪問保護(hù)。 如果該設(shè)備未連接到該遠(yuǎn)程資源并且該私鑰不存在于該設(shè)備中,則該設(shè)備可(例如向設(shè)備 用戶)呈現(xiàn)指示必須在使用該設(shè)備之前執(zhí)行安全設(shè)置的通知,該安全設(shè)置要求該設(shè)備連接 到該遠(yuǎn)程資源。如果該設(shè)備連接到該遠(yuǎn)程資源并且該設(shè)備是新的設(shè)備(例如,不存在私 鑰),則安全軟件可被從該遠(yuǎn)程資源下載到該設(shè)備(例如,LAM和OSLAM中的某些或全部)并 且該私鑰可由該遠(yuǎn)程資源提供。如果該設(shè)備連接到該遠(yuǎn)程資源并且要求用戶認(rèn)證恢復(fù),該 遠(yuǎn)程資源可執(zhí)行用戶認(rèn)證恢復(fù)(例如,可通過個人查詢、密碼、密鑰等等確認(rèn)用戶的身份)。 如果該用戶由該遠(yuǎn)程資源認(rèn)證,該設(shè)備內(nèi)的現(xiàn)有安全配置可被重置并且可從遠(yuǎn)程資源向設(shè) 備提供新的私鑰。
[0019] 圖1示出根據(jù)本公開的至少一個實施例的被配置成用于硬件強制訪問保護(hù)的示 例設(shè)備100。設(shè)備100的示例可包括但不限于:移動通信設(shè)備,諸如基于安卓(Android) ? 操作系統(tǒng)(OS)、iOS?、黑莓龍OS、Palm? 〇S、塞班? OS等等的蜂窩手機或智能電話;移動 計算設(shè)備,諸如平板計算機,如iPad?、GalaxyTab?、KindleFire?等等;包括由英特爾 公司制造的低功率芯片組的超極本Ultrabook?;上網(wǎng)本計算機、筆記本計算機、膝上計算 機、通常是靜態(tài)的計算設(shè)備(諸如桌上計算機)等等。設(shè)備100可包括例如設(shè)備100中的 各種模塊可在其中操作的至少兩種類型的執(zhí)行環(huán)境。低權(quán)限環(huán)境102可以是例如設(shè)備100 內(nèi)的操作系統(tǒng)(0S)。在低權(quán)限環(huán)境102中操作的模塊不被"測量"(例如,基于其代碼的散 列進(jìn)行驗證以便確定真實性)100,并且因此可被自由地寫入、執(zhí)行、改變等等。高權(quán)限環(huán)境 104可以是例如設(shè)備100內(nèi)的受信執(zhí)行環(huán)境(TEE)。高權(quán)限環(huán)境104可提供模塊可在其中操 作的、與由外部影響造成的可能的干擾或介入分離的密碼保護(hù)執(zhí)行環(huán)境。結(jié)果,硬件管理、 仿真、調(diào)試、安全以及其他系統(tǒng)關(guān)鍵特征總體上在高權(quán)限環(huán)境104中執(zhí)行。
[0020] 在一個實施例中,設(shè)備100中的低權(quán)限環(huán)境102 (例如,設(shè)備100中的0S)可至少 包括LAM 106和0SLAM 108。LAM 106可被配置成用于獲得登錄信息(例如,從設(shè)備100的 用戶)。例如,LAM 106可致使通過設(shè)備100的用戶接口(例如,顯示器)呈現(xiàn)請求向設(shè)備 100中輸入登錄信息(例如,通過設(shè)備100內(nèi)的顯示屏、鍵盤等等)的提示。該登錄信息然 后可被傳遞到0SLAM 108,其可被配置成用于認(rèn)證該登錄信息。例如,0SLAM108可確定從 LAM 106接收的該登錄信息是否與設(shè)備100內(nèi)的已知用戶信息相對應(yīng)。如果該登錄信息被 認(rèn)證,0SLAM可生成經(jīng)簽名的登錄成功消息。例如,可使用0SLAM 108中的私鑰對該經(jīng)簽名 的登錄成功消息進(jìn)行簽名。在一個實施例中,低權(quán)限環(huán)境102可進(jìn)一步包括固件接口模塊 (FIM)llO。FIM 110可被配置成用于促進(jìn)高權(quán)限執(zhí)行環(huán)境104中的0SLAM 108和SUAM 112 之間的交互。例如,該經(jīng)簽名的登錄成功消息可被從0SLAM 108傳輸?shù)紽M 110以及從FM 110傳輸?shù)絊UAM 112。FM 110已經(jīng)在圖1中被示出為可選的,因為其功能性還可被結(jié)合到 0SLAM 108 中。
[0021] SUAM 112可被加載到高權(quán)限環(huán)境104中。例如,當(dāng)從設(shè)備100內(nèi)的固件激活時, SUAM 112可被加載到設(shè)備100中。SUAM 112還可被"測量",因為在加載期間,SUAM 112的 程序代碼的散列值可由設(shè)備100內(nèi)的硬件與SUAM 112的已知良好版本的散列值進(jìn)行比較, 并且如果程序代碼的散列與已知良好散列值匹配,則可允許加載該代碼。SUAM 112可被配 置成用于基于接收到該經(jīng)簽名的登錄成功消息控制對設(shè)備100的訪問。例如,如果接收到 該經(jīng)簽名的登錄成功消息,SUAM 112然