欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

受控安全代碼驗(yàn)證的制作方法

文檔序號:11475997閱讀:302來源:國知局
受控安全代碼驗(yàn)證的制造方法與工藝

本發(fā)明一般來說涉及代碼驗(yàn)證,特定來說涉及受控安全代碼驗(yàn)證。



背景技術(shù):

在實(shí)例性情境中,實(shí)施用以保護(hù)在裝置上執(zhí)行的代碼或程序免受欺騙性操作的修改或攻擊的方法。舉例說明,在實(shí)例性安全啟動(dòng)方法中,裝置中的處理器產(chǎn)生啟動(dòng)代碼的摘要且使用所述啟動(dòng)代碼的所存儲驗(yàn)證簽名來證實(shí)所述啟動(dòng)代碼的所述摘要。然而,此啟動(dòng)實(shí)施方案由所述裝置的所述處理器本地執(zhí)行,且因此受此本地處理器的性能、存儲及安全性限制。由于成本約束,本地安全啟動(dòng)的安全性可由于有限計(jì)算能力或缺乏對啟動(dòng)過程、操作存儲器及/或證實(shí)密鑰的保護(hù)而受限制。在一些情形中,外部裝置用于證實(shí)真實(shí)性且將證實(shí)結(jié)果報(bào)告給處理器。然而,可存在將準(zhǔn)許攻擊者破壞安全啟動(dòng)操作且允許欺騙性操作的多個(gè)攻擊途徑,例如,使用中間人裝置修改啟動(dòng)代碼,或者修改證實(shí)的根公開密鑰或簽名。



技術(shù)實(shí)現(xiàn)要素:

本說明書描述用于受控安全代碼驗(yàn)證的系統(tǒng)、方法、電路及計(jì)算機(jī)可讀媒體。在一個(gè)方面,一種非暫時(shí)性計(jì)算機(jī)可讀存儲媒體其上存儲有在由一或多個(gè)處理器執(zhí)行時(shí)致使所述一或多個(gè)處理器執(zhí)行包括以下各項(xiàng)的操作的指令:將請求從驗(yàn)證裝置發(fā)送到本地耦合到所述驗(yàn)證裝置的客戶端裝置,所述請求包含對來自存儲于所述客戶端裝置內(nèi)的代碼的多個(gè)部分當(dāng)中的特定部分的性質(zhì)的質(zhì)詢,所述質(zhì)詢包含指示對應(yīng)于所述代碼的所述特定部分的特定存儲器地址范圍的數(shù)據(jù);在所述驗(yàn)證裝置處從所述客戶端裝置接收對所述請求的響應(yīng),所述響應(yīng)包含與所述代碼的所述性質(zhì)相關(guān)聯(lián)的信息;基于所述所接收信息而檢驗(yàn)所述響應(yīng)的正確性;及基于檢驗(yàn)了所述響應(yīng)的正確性,確定所述代碼為經(jīng)授權(quán)代碼。

在隨附圖式及下文說明中陳述一或多個(gè)所揭示實(shí)施方案的細(xì)節(jié)。其它特征、方面及優(yōu)點(diǎn)將依據(jù)說明、圖式及權(quán)利要求書而變得顯而易見。

附圖說明

圖1a是根據(jù)實(shí)例性實(shí)施例的實(shí)例性環(huán)境的框圖。

圖1b是根據(jù)實(shí)例性實(shí)施例的另一實(shí)例性環(huán)境的框圖。

圖2是根據(jù)實(shí)例性實(shí)施例的實(shí)例性系統(tǒng)的框圖,所述實(shí)例性系統(tǒng)包含對實(shí)例性客戶端裝置執(zhí)行受控安全代碼驗(yàn)證的實(shí)例性驗(yàn)證裝置。

圖3a是根據(jù)實(shí)例性實(shí)施例的實(shí)例性過程的流程圖,驗(yàn)證裝置通過所述實(shí)例性過程來存儲客戶端裝置的經(jīng)授權(quán)代碼的信息。

圖3b是根據(jù)實(shí)例性實(shí)施例的另一實(shí)例性過程的流程圖,驗(yàn)證裝置通過所述實(shí)例性過程來存儲客戶端裝置的經(jīng)授權(quán)代碼的信息。

圖3c是根據(jù)實(shí)例性實(shí)施例的實(shí)例性過程的流程圖,驗(yàn)證裝置可通過所述實(shí)例性過程來對客戶端裝置執(zhí)行安全代碼驗(yàn)證。

具體實(shí)施方式

系統(tǒng)概述

圖1a是根據(jù)實(shí)施方案的實(shí)例性環(huán)境100的框圖。出于圖解說明的目的,環(huán)境100包含系統(tǒng)116(例如,客戶端側(cè)系統(tǒng)),系統(tǒng)116包含客戶端裝置120及驗(yàn)證(auth)裝置118。驗(yàn)證裝置118經(jīng)配置以證實(shí)存儲于客戶端裝置120內(nèi)的代碼或程序是否為經(jīng)授權(quán)(或經(jīng)驗(yàn)證)代碼??蛻舳搜b置120的代碼包含用于使客戶端裝置120啟動(dòng)(或起動(dòng))的啟動(dòng)代碼或用于使客戶端裝置120執(zhí)行對應(yīng)操作的操作代碼中的至少一者。

驗(yàn)證裝置118通過連接119耦合到客戶端裝置120。在一些實(shí)施方案中,驗(yàn)證裝置118及客戶端裝置120最靠近地放置,且連接119通過數(shù)據(jù)電纜(例如,光纖電纜或?qū)щ婋娎|)接線或?yàn)闊o線的。在一些其它實(shí)施方案中,驗(yàn)證裝置118及客戶端裝置120物理地耦合,且連接119為硬件接口,例如母板上的pci接口。在其中驗(yàn)證裝置118及客戶端裝置120集成于同一電路板上的又其它實(shí)施方案中,連接119為導(dǎo)體。驗(yàn)證裝置118及客戶端裝置120可為單獨(dú)芯片且集成于同一電路板上。

此外,在如下文進(jìn)一步詳細(xì)論述的實(shí)施例中,系統(tǒng)116經(jīng)配置以經(jīng)由網(wǎng)絡(luò)102與一或多個(gè)其它裝置或系統(tǒng)(主機(jī)裝置112、計(jì)算裝置106a、106b、服務(wù)器計(jì)算系統(tǒng)108)通信。實(shí)際上,一個(gè)實(shí)施例提供系統(tǒng)116為網(wǎng)絡(luò)102的客戶端,且因此驗(yàn)證裝置118及客戶端裝置120在客戶端側(cè)上“本地”耦合在一起。主機(jī)裝置112、計(jì)算裝置106a、106b或服務(wù)器計(jì)算系統(tǒng)108為網(wǎng)絡(luò)102的主機(jī),所述主機(jī)在主機(jī)側(cè)上遠(yuǎn)程地耦合到系統(tǒng)116。

在一些情形中,客戶端裝置120是不安全的或缺乏安全,例如,歸因于受約束成本。攻擊者可攻擊客戶端裝置120(例如)以出于欺騙性目的而修改存儲于客戶端裝置120內(nèi)的代碼。在一個(gè)實(shí)例中,所述攻擊者可修改存儲于不安全客戶端裝置內(nèi)的啟動(dòng)代碼以在無需驗(yàn)證的情況下重新啟動(dòng)所述客戶端裝置。在另一實(shí)例中,所述攻擊者修改存儲于不安全客戶端裝置內(nèi)的操作代碼以改變由所述客戶端裝置執(zhí)行的操作。為解決這些安全問題,耦合到客戶端裝置120的驗(yàn)證裝置118經(jīng)配置以證實(shí)存儲于所述客戶端裝置內(nèi)的代碼或程序是否為經(jīng)授權(quán)代碼。舉例來說,驗(yàn)證裝置118將包含對客戶端裝置120的代碼的性質(zhì)的質(zhì)詢的請求發(fā)送到客戶端裝置120??蛻舳搜b置120產(chǎn)生存儲于客戶端裝置120內(nèi)的所述代碼的所述性質(zhì)且發(fā)回響應(yīng)。驗(yàn)證裝置118檢驗(yàn)所述響應(yīng)。基于檢驗(yàn)結(jié)果,驗(yàn)證裝置118確定存儲于所述客戶端裝置內(nèi)的所述代碼是否為客戶端裝置120的經(jīng)授權(quán)(或經(jīng)驗(yàn)證)代碼。

在一些實(shí)施方案中,存在驗(yàn)證裝置118與客戶端裝置120之間的安全策略。舉例來說,如果存儲于客戶端裝置120內(nèi)的代碼為經(jīng)授權(quán)代碼,那么驗(yàn)證裝置118可允許客戶端裝置120存取存儲于安全存儲裝置中的關(guān)鍵信息,例如,機(jī)密或加密密鑰。針對客戶端裝置120的恰當(dāng)執(zhí)行可需要所述關(guān)鍵信息。安全存儲裝置可包含于驗(yàn)證裝置118中或在外部耦合到驗(yàn)證裝置118。驗(yàn)證裝置118還可(例如)通過引腳啟用客戶端裝置120以通電或者啟用客戶端裝置120中的特定硬件塊。如果代碼由驗(yàn)證裝置118確定為未授權(quán)代碼,那么驗(yàn)證裝置118可禁止或限制客戶端裝置120存取所述關(guān)鍵信息。驗(yàn)證裝置118還可發(fā)送(例如)對安全源的請求以更新存儲于客戶端裝置120內(nèi)的代碼。以此方式,可最小化或消除欺騙性操作,且可改進(jìn)客戶端裝置120上的操作的安全性。

在一些實(shí)施方案中,驗(yàn)證裝置118為具有大于客戶端裝置120的安全能力的可信或安全裝置,如參考圖2所論述。在一個(gè)實(shí)例中,驗(yàn)證裝置118包含在客戶端裝置120上不可用的安全存儲裝置及/或隨機(jī)數(shù)產(chǎn)生器。在一個(gè)實(shí)施例中,客戶端裝置120不具有包含安全存儲裝置及/或隨機(jī)數(shù)產(chǎn)生器的能力。驗(yàn)證裝置118將與客戶端裝置120的經(jīng)授權(quán)代碼相關(guān)聯(lián)的信息存儲于安全存儲裝置中。在一些實(shí)施方案中,所述信息包含所述經(jīng)授權(quán)代碼的整個(gè)映像、所述經(jīng)授權(quán)代碼的簽名、所述經(jīng)授權(quán)代碼的摘要、所述經(jīng)授權(quán)代碼的消息驗(yàn)證碼(mac)或所述經(jīng)授權(quán)代碼的其它性質(zhì)。在一些實(shí)施方案中,所述信息包含經(jīng)授權(quán)代碼的多個(gè)部分的性質(zhì),例如,每一部分的摘要或簽名或mac,或者每一部分的地址范圍。在一些實(shí)例中,所述信息不包含經(jīng)授權(quán)代碼的整個(gè)映像,但包含經(jīng)授權(quán)代碼的部分的摘要或簽名或mac以及對應(yīng)地址范圍。在一些實(shí)例中,驗(yàn)證裝置118存儲使客戶端裝置120(例如)與外部裝置通信的加密密鑰或安全密鑰。

在一個(gè)實(shí)施例中,環(huán)境100包含通過網(wǎng)絡(luò)102耦合到系統(tǒng)116及/或其它系統(tǒng)的主機(jī)裝置112。網(wǎng)絡(luò)102可為系統(tǒng)116的外部網(wǎng)絡(luò),例如,公共通信網(wǎng)絡(luò)(例如,互聯(lián)網(wǎng)、蜂窩數(shù)據(jù)網(wǎng)絡(luò)、電話網(wǎng)絡(luò)上的撥號調(diào)制解調(diào)器)、廣域網(wǎng)絡(luò)(wan)、局域網(wǎng)絡(luò)(lan)、受控局域網(wǎng)(can)、專用通信網(wǎng)絡(luò)(例如,專用lan、租用線路)或其任一適當(dāng)組合。

驗(yàn)證裝置118及客戶端裝置120可從源下載及/或更新相應(yīng)經(jīng)授權(quán)代碼的映像。所述源可為安全源(例如,安全硬件或安全服務(wù)器)或不安全源。驗(yàn)證裝置118可在進(jìn)行整個(gè)代碼映像的所存儲信息的下載或更新之前檢驗(yàn)所述代碼映像的簽名或mac。主機(jī)裝置112可存儲用于與客戶端裝置120安全通信的機(jī)密數(shù)據(jù)或加密密鑰。

在一些實(shí)施方案中,用戶104a、104b可使用計(jì)算裝置106a、106b經(jīng)由網(wǎng)絡(luò)102與系統(tǒng)116通信。計(jì)算裝置106a、106b可各自為例如如下各項(xiàng)的計(jì)算裝置:移動(dòng)裝置、膝上型計(jì)算機(jī)、桌上型計(jì)算機(jī)、智能手機(jī)、個(gè)人數(shù)字助理、便攜式媒體播放器、平板計(jì)算機(jī)或可用于與系統(tǒng)116通信的任一其它計(jì)算裝置。為了圖解說明目的,在圖1a中,計(jì)算裝置106a經(jīng)描繪為移動(dòng)裝置,且計(jì)算裝置106b經(jīng)描繪為桌上型計(jì)算機(jī)。

用戶104a或104b可為與系統(tǒng)116相關(guān)聯(lián)的實(shí)體。用戶104a或104b可使用計(jì)算裝置106a或106b來檢查系統(tǒng)116的狀態(tài)或通過網(wǎng)絡(luò)102及/或網(wǎng)絡(luò)114遠(yuǎn)程地控制系統(tǒng)116的操作。舉例來說,用戶104a或104b可使用計(jì)算裝置106a或106b來檢查存儲于客戶端裝置120內(nèi)的代碼是否為客戶端裝置120的經(jīng)授權(quán)代碼。

在一些實(shí)施方案中,服務(wù)器計(jì)算系統(tǒng)108通過網(wǎng)絡(luò)102與系統(tǒng)116通信。服務(wù)器計(jì)算系統(tǒng)108包含一或多個(gè)計(jì)算裝置及一或多個(gè)機(jī)器可讀存儲庫或數(shù)據(jù)庫。服務(wù)器計(jì)算系統(tǒng)108經(jīng)配置以與包含系統(tǒng)116的若干個(gè)系統(tǒng)通信。針對每一系統(tǒng),服務(wù)器計(jì)算系統(tǒng)108可針對系統(tǒng)中的相應(yīng)客戶端裝置及驗(yàn)證裝置安全地存儲相應(yīng)經(jīng)授權(quán)代碼。所述客戶端裝置及所述驗(yàn)證裝置可通過網(wǎng)絡(luò)102從服務(wù)器計(jì)算系統(tǒng)108下載所述相應(yīng)經(jīng)授權(quán)代碼。服務(wù)器計(jì)算系統(tǒng)108的用戶109(例如,管理員或操作者)可使用服務(wù)器計(jì)算系統(tǒng)108來與例如系統(tǒng)116的個(gè)別系統(tǒng)通信(例如)以檢查系統(tǒng)的狀態(tài)。

圖1b是根據(jù)實(shí)施方案的另一實(shí)例性環(huán)境150的框圖。環(huán)境150可類似于圖1a的環(huán)境100。環(huán)境150包含具有主機(jī)裝置152及“n”個(gè)子系統(tǒng)116a到116n的系統(tǒng)110。子系統(tǒng)116a到116n可彼此完全相同或彼此不同。每一子系統(tǒng)可類似于圖1a的系統(tǒng)116。主機(jī)裝置152通過網(wǎng)絡(luò)114與子系統(tǒng)116a到116n通信。網(wǎng)絡(luò)114可為系統(tǒng)110的局域網(wǎng)絡(luò),例如,系統(tǒng)總線。網(wǎng)絡(luò)114可為有線網(wǎng)路、無線網(wǎng)絡(luò)或其任一組合。

每一子系統(tǒng)116a、116b或116n可包含相應(yīng)客戶端裝置120a、120b或120n及相應(yīng)驗(yàn)證(auth)裝置118a、118b或118n。驗(yàn)證裝置118a、118b或118n可通過連接119a、119b或119n在外部且本地耦合到相應(yīng)客戶端裝置120a、120b或120n。每一驗(yàn)證裝置可類似于圖1a的驗(yàn)證裝置118。每一客戶端裝置可類似于圖1a的客戶端裝置120。在一些實(shí)施方案中,所述驗(yàn)證裝置及所述客戶端裝置最靠近地放置,且所述連接可通過數(shù)據(jù)電纜接線或?yàn)闊o線的。在一些其它實(shí)施方案中,所述驗(yàn)證裝置及所述客戶端裝置物理地耦合,且所述連接可為硬件接口,例如母板上的pci接口。在其中所述驗(yàn)證裝置及所述客戶端裝置集成于同一電路上的又其它實(shí)施方案中,所述連接可為導(dǎo)體。

在一些實(shí)施方案中,主機(jī)裝置152經(jīng)配置以檢查每一子系統(tǒng)中的每一客戶端裝置的狀態(tài)。舉例來說,主機(jī)裝置152可發(fā)送對子系統(tǒng)116a的查詢以用于檢查存儲于客戶端裝置120a內(nèi)的代碼是否為經(jīng)授權(quán)代碼。耦合到客戶端裝置120a的驗(yàn)證裝置118a可接收所述查詢,執(zhí)行關(guān)于客戶端裝置120a的安全代碼驗(yàn)證,且將驗(yàn)證結(jié)果發(fā)回到主機(jī)裝置152。

如果驗(yàn)證裝置118a確定存儲于客戶端裝置120a內(nèi)的代碼為經(jīng)授權(quán)代碼,那么驗(yàn)證裝置118a可將指示存儲于客戶端裝置120a內(nèi)的代碼為經(jīng)授權(quán)代碼的消息發(fā)送到主機(jī)裝置152。在一些情形中,主機(jī)裝置152通知驗(yàn)證裝置118a允許客戶端裝置使用所述代碼執(zhí)行對應(yīng)操作。在一些情形中,主機(jī)裝置152通過網(wǎng)絡(luò)114直接與客戶端裝置120a通信。

如果驗(yàn)證裝置118a確定存儲于客戶端裝置120a內(nèi)的代碼并非為經(jīng)授權(quán)代碼,那么驗(yàn)證裝置118a可將指示存儲于客戶端裝置120a內(nèi)的代碼未經(jīng)授權(quán)的消息發(fā)送到主機(jī)裝置152。在一些情形中,主機(jī)裝置152通知驗(yàn)證裝置118a禁止客戶端裝置120a使用所述代碼執(zhí)行操作。在一些情形中,主機(jī)裝置152可通知驗(yàn)證裝置118a及客戶端裝置120a更新經(jīng)授權(quán)代碼的新映像。

驗(yàn)證裝置118a到118n及客戶端裝置120a到120n可從源(例如,安全硬件或安全服務(wù)器)下載及/或更新相應(yīng)經(jīng)授權(quán)代碼的映像。在一些實(shí)施方案中,主機(jī)裝置152包含用于安全地存儲每一子系統(tǒng)中的每一客戶端裝置的經(jīng)授權(quán)代碼的整個(gè)映像的安全存儲裝置。主機(jī)裝置152還可更新特定子系統(tǒng)中的特定客戶端裝置的特定經(jīng)授權(quán)代碼的整個(gè)映像且通知所述特定子系統(tǒng)中的所述特定客戶端裝置及對應(yīng)驗(yàn)證裝置下載經(jīng)更新映像。主機(jī)裝置152還可存儲用于與子系統(tǒng)中的客戶端裝置及/或驗(yàn)證裝置安全通信的機(jī)密數(shù)據(jù)或加密密鑰。

在一些實(shí)施方案中,子系統(tǒng)116a到116n彼此完全相同??蛻舳搜b置120a到120n使用相同經(jīng)授權(quán)代碼(例如,啟動(dòng)代碼)執(zhí)行相同操作(例如,啟動(dòng)操作)。驗(yàn)證裝置118a到118n可(例如)從主機(jī)裝置152下載經(jīng)授權(quán)代碼的相同映像。驗(yàn)證裝置118a到118n中的每一者可選擇經(jīng)授權(quán)代碼的部分集合且使用所述部分集合來進(jìn)行關(guān)于對應(yīng)客戶端裝置120a、120b或120n的安全代碼驗(yàn)證。舉例來說,驗(yàn)證裝置118a、118b或118n可計(jì)算所述部分集合的相應(yīng)摘要且針對所述部分集合的所述摘要確定相應(yīng)存儲器地址范圍(物理的或虛擬的)。驗(yàn)證裝置118a、118b或118n可將質(zhì)詢中的隨機(jī)地址范圍發(fā)送到客戶端裝置120a、120b或120n,所述質(zhì)詢請求對應(yīng)于所述地址范圍的經(jīng)授權(quán)代碼的特定部分的摘要。所述驗(yàn)證裝置可針對客戶端裝置120a、120b或120n產(chǎn)生不同質(zhì)詢,每一質(zhì)詢包含對應(yīng)于經(jīng)授權(quán)代碼的不同部分的不同地址范圍。

不同驗(yàn)證裝置可針對客戶端裝置選擇經(jīng)授權(quán)代碼的不同部分集合,及/或具有不同地址范圍集合。在一些情形中,驗(yàn)證裝置118a、118b或118n更新經(jīng)授權(quán)代碼的新映像且選擇經(jīng)授權(quán)代碼的新部分集合。經(jīng)授權(quán)代碼的所述新部分集合可不同于由同一驗(yàn)證裝置選擇的先前部分集合。

在一些實(shí)施方案中,子系統(tǒng)116a到116n彼此不同。每一子系統(tǒng)116a、116b或116n中的客戶端裝置120a到120n可使用對應(yīng)經(jīng)授權(quán)代碼執(zhí)行對應(yīng)操作。相同子系統(tǒng)中的驗(yàn)證裝置118a、118b或118n可(例如)從主機(jī)裝置152下載客戶端裝置120a、120b或120n的對應(yīng)經(jīng)授權(quán)代碼的副本。驗(yàn)證裝置118a、118b或118n可選擇對應(yīng)經(jīng)授權(quán)代碼的部分集合且使用所述部分集合來進(jìn)行關(guān)于對應(yīng)客戶端裝置120a、120b或120n的安全代碼驗(yàn)證。不同客戶端裝置120a到120n的經(jīng)授權(quán)代碼可彼此不同。不同驗(yàn)證裝置118a到118n可選擇不同經(jīng)授權(quán)代碼的不同部分集合來進(jìn)行關(guān)于客戶端裝置120a到120n的安全代碼驗(yàn)證。

所揭示實(shí)施方案可用于不同環(huán)境中。在一些實(shí)施方案中,環(huán)境100(或環(huán)境150)為汽車環(huán)境。系統(tǒng)116(或系統(tǒng)110)可為用于汽車中的組件的控制器(例如,ecu),例如,窗控制器、剎車控制器或車輪控制器。主機(jī)裝置112(或主機(jī)裝置152)可為汽車的中央計(jì)算系統(tǒng)(例如,電子控制單元(ecu))或用于將消息從客戶端裝置引導(dǎo)到遠(yuǎn)程計(jì)算裝置(例如,服務(wù)器計(jì)算系統(tǒng)108,或計(jì)算裝置106a或106b)的網(wǎng)關(guān)。用戶104a或104b可為汽車的所有者且使用移動(dòng)電話106a或計(jì)算機(jī)106b通過網(wǎng)絡(luò)102及/或網(wǎng)絡(luò)114與汽車通信。服務(wù)器計(jì)算系統(tǒng)108可為經(jīng)配置以控制與實(shí)體(例如,汽車制造商、汽車經(jīng)銷商或企業(yè))相關(guān)聯(lián)的汽車的數(shù)目的服務(wù)器。應(yīng)了解,所揭示實(shí)施方案不限于汽車環(huán)境且可在其它場境中適用。舉例來說,系統(tǒng)116(或系統(tǒng)110)可包含于家庭網(wǎng)絡(luò)的器具(例如,燈、鬧鐘、車庫開啟器或傳感器)中。

在一些實(shí)例中,摘要與加密散列函數(shù)相關(guān)聯(lián)。裝置(例如,驗(yàn)證裝置118或客戶端裝置120)獲得任意數(shù)據(jù)塊,例如,代碼或程序,且使用加密散列函數(shù)來計(jì)算字符串,其中所述字符串為(加密)散列值。將編碼的數(shù)據(jù)可稱為“消息”,且散列值可稱為“消息摘要”,或簡稱為“摘要”。加密散列函數(shù)可包含(舉例來說)例如sha-256或md5消息-摘要算法的安全散列算法(sha)。所產(chǎn)生摘要可具有固定長度或變化長度。然而應(yīng)注意,本發(fā)明技術(shù)不限于此實(shí)例性算法的實(shí)施,且可實(shí)施其它類型的散列函數(shù)。

在一些實(shí)例中,簽名為用于證明數(shù)字消息(例如,代碼的摘要)的真實(shí)性的數(shù)學(xué)方案。所述簽名可通過數(shù)字簽名算法(dsa)(例如,橢圓曲線數(shù)字簽名算法(ecdsa))來產(chǎn)生。裝置可使用dsa以使用摘要及密鑰(例如,私人密鑰)來計(jì)算或產(chǎn)生所述摘要的簽名。然而應(yīng)注意,本發(fā)明技術(shù)不限于此實(shí)例性算法的實(shí)施,且可實(shí)施其它類型的簽名算法。

在一些實(shí)例中,消息驗(yàn)證碼(mac)為用于驗(yàn)證消息的一條信息。算法接受機(jī)密密鑰及將被驗(yàn)證的消息作為輸入,且輸出mac。舉例來說,所述算法可為密鑰散列消息驗(yàn)證碼(hmac)或高級加密標(biāo)準(zhǔn)(aes)基于密碼的消息驗(yàn)證碼(cmac)(aes-cmac)算法或許多其它算法。

在一些實(shí)例中,校驗(yàn)和(或散列和)為來自數(shù)字?jǐn)?shù)據(jù)塊(例如,代碼)的用于檢測可已在其發(fā)射或存儲期間引入的錯(cuò)誤的小大小數(shù)據(jù)。所述校驗(yàn)和可用于檢驗(yàn)數(shù)據(jù)完整性。校驗(yàn)和可由校驗(yàn)和算法或校驗(yàn)和函數(shù)產(chǎn)生。

在一些實(shí)例中,裝置的經(jīng)授權(quán)代碼表示未進(jìn)行改變或修改的原始代碼,例如,如裝置的原始設(shè)備制造商(oem)或與裝置相關(guān)聯(lián)的實(shí)體所意指。代碼在未被改變或未被修改時(shí)為經(jīng)授權(quán)代碼且在被改變或被修改時(shí)為未授權(quán)代碼。術(shù)語“經(jīng)授權(quán)代碼”及“經(jīng)驗(yàn)證代碼”可互換地使用。

實(shí)例性主機(jī)及客戶端裝置

圖2是根據(jù)實(shí)施例的實(shí)例性系統(tǒng)200的框圖。實(shí)例性驗(yàn)證裝置202執(zhí)行針對實(shí)例性客戶端裝置204的受控安全代碼驗(yàn)證。系統(tǒng)200可類似于圖1a的系統(tǒng)116。驗(yàn)證裝置202可類似于圖1a的驗(yàn)證裝置118??蛻舳搜b置204可類似于圖1a的客戶端裝置120。驗(yàn)證裝置202經(jīng)配置以檢驗(yàn)存儲于客戶端裝置204內(nèi)的代碼是否為經(jīng)授權(quán)代碼。驗(yàn)證裝置202使用連接208耦合到客戶端裝置204。連接208可類似于圖1a的連接119。

在一些實(shí)施方案中,驗(yàn)證裝置202包含質(zhì)詢產(chǎn)生模塊212、隨機(jī)產(chǎn)生模塊214、安全存儲裝置216及驗(yàn)證模塊218以及其它組件。在一個(gè)實(shí)施例中,質(zhì)詢產(chǎn)生模塊212、隨機(jī)產(chǎn)生模塊214、安全存儲裝置216及驗(yàn)證模塊218為驗(yàn)證裝置202內(nèi)的存儲于一或多個(gè)存儲裝置內(nèi)的不同程序、子例程或代碼部分。也就是說,這些模塊不需要為單獨(dú)物理組件,替代地其可為軟件模塊。在一些實(shí)施方案中,安全存儲裝置216在驗(yàn)證裝置202外部且通過安全或受保護(hù)通道耦合到驗(yàn)證裝置202。舉例來說,安全存儲裝置216可在可信第三方實(shí)體中。驗(yàn)證裝置202可從安全存儲裝置216檢索信息。

質(zhì)詢產(chǎn)生模塊212經(jīng)配置以針對客戶端裝置204產(chǎn)生質(zhì)詢。質(zhì)詢產(chǎn)生模塊212可針對客戶端裝置204在不同時(shí)間產(chǎn)生不同質(zhì)詢。質(zhì)詢包含用于請求存儲于客戶端裝置204上的代碼(或此代碼的一部分)的性質(zhì)的對客戶端裝置204的查詢。所述性質(zhì)可為加密性質(zhì),例如,摘要、簽名、校驗(yàn)和或消息驗(yàn)證碼(mac)。質(zhì)詢還可包含對經(jīng)授權(quán)代碼的特定部分的性質(zhì)的請求。在一些實(shí)例中,所述特定部分對應(yīng)于存儲器地址范圍(物理的或虛擬的),例如,包含起始地址及結(jié)束地址的地址對、具有一寬度的中間地址、具有一寬度的起始地址或具有一寬度的結(jié)束地址。所述質(zhì)詢可包含用以表示特定部分的地址范圍。在一些實(shí)施方案中,質(zhì)詢包含與用于安全驗(yàn)證及/或驗(yàn)證的加密或驗(yàn)證密鑰相關(guān)聯(lián)的信息。

隨機(jī)產(chǎn)生(randgen)模塊214經(jīng)配置以產(chǎn)生用作由驗(yàn)證裝置202執(zhí)行的加密操作的種子的隨機(jī)數(shù)。舉例來說,隨機(jī)產(chǎn)生模塊214包含將某一數(shù)目個(gè)隨機(jī)字節(jié)(例如,32個(gè)隨機(jī)字節(jié))傳回到質(zhì)詢產(chǎn)生模塊212的隨機(jī)數(shù)產(chǎn)生器。在一些實(shí)施方案中,質(zhì)詢產(chǎn)生模塊212組合此所產(chǎn)生隨機(jī)數(shù)與單獨(dú)輸入數(shù)以形成存儲于驗(yàn)證裝置202內(nèi)且可由隨后命令使用的加密“臨時(shí)值”。驗(yàn)證裝置202可給客戶端裝置204發(fā)送臨時(shí)值以及對客戶端裝置204的代碼的性質(zhì)的質(zhì)詢??蛻舳搜b置204可產(chǎn)生所述代碼的所述性質(zhì)且通過所述臨時(shí)值對所述代碼的所述所產(chǎn)生性質(zhì)進(jìn)行散列。驗(yàn)證裝置202然后可檢驗(yàn)來自客戶端裝置204的響應(yīng)是否包含與臨時(shí)值相關(guān)聯(lián)的信息。以此方式,驗(yàn)證裝置202可確保對質(zhì)詢的響應(yīng)未被攻擊者復(fù)制并在隨后時(shí)間重放。隨機(jī)產(chǎn)生模塊214可包含于質(zhì)詢產(chǎn)生模塊212中。

在一些實(shí)例中,臨時(shí)值為在裝置之間的加密通信中僅使用一次的任意數(shù)。所述臨時(shí)值可為在驗(yàn)證協(xié)議中發(fā)出以確保舊的通信無法在重放攻擊中重新使用的隨機(jī)或偽隨機(jī)數(shù)。臨時(shí)值還可用于確保流密碼的安全性。為確保臨時(shí)值僅使用一次,其可為時(shí)變的(在其值中包含適合地細(xì)粒度時(shí)間戳),或用足夠隨機(jī)位產(chǎn)生以確保重復(fù)先前所產(chǎn)生值的概率上無關(guān)緊要的機(jī)會。

安全存儲裝置216經(jīng)配置以存儲安全信息,所述安全信息包含客戶端裝置204的經(jīng)授權(quán)代碼的信息及/或驗(yàn)證密鑰(authkey)215。驗(yàn)證密鑰215可包含用于驗(yàn)證或加密函數(shù)的對稱加密密鑰或不對稱加密密鑰。安全存儲裝置216還可存儲客戶端裝置204的機(jī)密或者驗(yàn)證或加密密鑰,(例如)以用于與例如圖1a的計(jì)算裝置106a或106b、服務(wù)器計(jì)算系統(tǒng)108或主機(jī)裝置112的其它裝置通信。

在一些實(shí)施方案中,存儲于安全存儲裝置216中的經(jīng)授權(quán)代碼的信息包含經(jīng)授權(quán)代碼的整個(gè)映像或副本、經(jīng)授權(quán)代碼的摘要、經(jīng)授權(quán)代碼的簽名、經(jīng)授權(quán)代碼的mac或經(jīng)授權(quán)代碼的任何其它性質(zhì)。經(jīng)授權(quán)代碼的整個(gè)映像可在驗(yàn)證裝置202的生產(chǎn)階段(例如制造、工廠初始化、個(gè)性化或分配)期間存儲于安全存儲裝置216中。經(jīng)授權(quán)代碼的整個(gè)映像還可從安全源(例如,安全硬件或例如圖1a的服務(wù)器計(jì)算系統(tǒng)108的安全服務(wù)器)復(fù)制或下載。驗(yàn)證裝置202還可從所述安全源更新經(jīng)授權(quán)代碼的所存儲信息。

在一些實(shí)施方案中,經(jīng)授權(quán)代碼的簽名為客戶端裝置204的原始設(shè)備制造商(oem)簽名,所述簽名可在驗(yàn)證裝置202的生產(chǎn)階段期間存儲于驗(yàn)證裝置202中,或在生產(chǎn)階段之后復(fù)制、下載或更新到驗(yàn)證裝置202。在一些實(shí)例中,驗(yàn)證裝置202與安全密鑰一起使用數(shù)字簽名算法基于經(jīng)授權(quán)代碼的摘要而產(chǎn)生經(jīng)授權(quán)代碼的簽名。所述安全密鑰可作為驗(yàn)證密鑰215而與經(jīng)授權(quán)代碼的信息一起存儲于安全存儲裝置216中。

在一些實(shí)施方案中,存儲于安全存儲裝置216中的經(jīng)授權(quán)代碼的信息包含經(jīng)授權(quán)代碼的多個(gè)個(gè)別部分的信息,例如個(gè)別部分的副本、個(gè)別部分的摘要或簽名或mac及/或個(gè)別部分的地址范圍。在一些實(shí)例中,安全存儲裝置216存儲所述部分的信息,而不具有與經(jīng)授權(quán)代碼的整個(gè)映像相關(guān)聯(lián)的信息。在一些實(shí)例中,安全存儲裝置216將經(jīng)授權(quán)代碼的整個(gè)映像的簽名或摘要(例如,oem簽名)與所述部分的信息一起存儲于安全存儲裝置216中。

在一些實(shí)施方案中,驗(yàn)證裝置202(例如)在從安全源下載經(jīng)授權(quán)代碼的整個(gè)映像期間從所述整個(gè)映像選擇若干個(gè)部分。驗(yàn)證裝置202然后可使用加密散列函數(shù)或散列算法來計(jì)算每一部分的相應(yīng)摘要,且將部分的摘要存儲于安全存儲裝置216中。驗(yàn)證裝置202還可使用相應(yīng)摘要來計(jì)算每一部分的相應(yīng)簽名且將簽名存儲于安全存儲裝置216中。在一些實(shí)施方案中,驗(yàn)證裝置202確定每一部分的相應(yīng)地址范圍或每一部分的摘要,將部分的地址范圍存儲于安全存儲裝置216中,且在安全存儲裝置216中使相應(yīng)地址范圍與部分的相應(yīng)摘要或簽名相關(guān)聯(lián)。每當(dāng)呈現(xiàn)新映像,質(zhì)詢產(chǎn)生模塊212可從所述多個(gè)地址范圍隨機(jī)選擇地址范圍且基于所述所選擇地址范圍而產(chǎn)生質(zhì)詢。質(zhì)詢產(chǎn)生模塊212還可隨機(jī)選擇兩個(gè)或兩個(gè)以上地址范圍且基于所述兩個(gè)或兩個(gè)以上地址范圍的組合而產(chǎn)生質(zhì)詢。

安全存儲裝置216可為驗(yàn)證裝置202的一部分,所述部分實(shí)施強(qiáng)大安全機(jī)制使得包含于安全存儲裝置216中的數(shù)據(jù)不容易地被復(fù)制、克隆或修改,且對數(shù)據(jù)的任何未授權(quán)改變可被檢驗(yàn)裝置檢測到。在一些實(shí)施方案中,安全存儲裝置216包含持久性存儲器,例如以電子方式可擦除的只讀存儲器(eeprom)陣列、快閃存儲器、硬盤驅(qū)動(dòng)器或經(jīng)配置以用于以持久方式存儲數(shù)據(jù)的任一其它適合存儲機(jī)構(gòu)。如先前所指示,安全存儲裝置216可用于存儲與客戶端裝置204的經(jīng)授權(quán)代碼相關(guān)聯(lián)的信息、驗(yàn)證密鑰215、雜項(xiàng)讀取/寫入、只讀或機(jī)密數(shù)據(jù)、消耗記錄及安全配置。對安全存儲裝置216的各個(gè)區(qū)段的存取可以各種方式受限制且然后配置經(jīng)鎖定以阻止改變。

在一些實(shí)施方案中,安全存儲裝置216包含用于數(shù)據(jù)的暫時(shí)存儲的臨時(shí)存儲器。舉例來說,所述臨時(shí)存儲器可為靜態(tài)隨機(jī)存取存儲器(sram),其中在與安全源的安全通信期間緩沖經(jīng)授權(quán)代碼的經(jīng)下載或經(jīng)更新映像或者在與客戶端裝置204的安全通信期間緩沖加密或驗(yàn)證操作的結(jié)果。在一個(gè)實(shí)施例中,所述安全存儲裝置包含用電源(例如,電池或電容器)支持的sram。在一些實(shí)施方案中,所述臨時(shí)存儲器用于存儲輸入命令或輸出結(jié)果及中間計(jì)算值。每當(dāng)安全存儲裝置216進(jìn)入睡眠模式或電力被移除時(shí),所述臨時(shí)存儲器的全部內(nèi)容可為無效的。

驗(yàn)證模塊218經(jīng)配置以檢驗(yàn)來自客戶端裝置204的對質(zhì)詢的響應(yīng)以確定客戶端裝置204上的代碼是否為經(jīng)授權(quán)代碼。驗(yàn)證模塊218經(jīng)配置以與安全存儲裝置216、質(zhì)詢產(chǎn)生模塊212及/或隨機(jī)產(chǎn)生模塊214通信且獲得來自安全存儲裝置216、質(zhì)詢產(chǎn)生模塊212及/或隨機(jī)產(chǎn)生模塊214的信息。舉例來說,質(zhì)詢產(chǎn)生模塊212發(fā)送用于請求客戶端裝置204的代碼的加密性質(zhì)的質(zhì)詢??蛻舳搜b置204可發(fā)回包含存儲于客戶端裝置204內(nèi)的代碼的加密性質(zhì)的響應(yīng)。驗(yàn)證模塊218可(例如)從存儲于安全存儲裝置216中的與經(jīng)授權(quán)代碼相關(guān)聯(lián)的信息獲得對應(yīng)于客戶端裝置204的代碼的經(jīng)授權(quán)代碼的加密性質(zhì),且確定在所述響應(yīng)中接收的代碼的加密性質(zhì)是否與經(jīng)授權(quán)代碼的所獲得加密性質(zhì)匹配。如果代碼的加密性質(zhì)與經(jīng)授權(quán)代碼的所獲得加密性質(zhì)匹配,那么驗(yàn)證模塊218可確定存儲于客戶端裝置204內(nèi)的代碼為經(jīng)授權(quán)代碼。如果代碼的加密性質(zhì)與經(jīng)授權(quán)代碼的所獲得加密性質(zhì)不匹配,那么驗(yàn)證模塊218確定代碼并非為經(jīng)授權(quán)代碼或未經(jīng)授權(quán)。

在一些實(shí)施方案中,客戶端裝置204包含處理器220及存儲器222以及其它組件。存儲器222經(jīng)配置以存儲客戶端裝置204的一或多個(gè)代碼。處理器220經(jīng)配置以使用對應(yīng)代碼執(zhí)行動(dòng)作或操作。存儲器222可為處理器220的內(nèi)部或外部存儲器。代碼及/或與所述代碼相關(guān)聯(lián)的信息(例如,代碼的oem簽名)可在客戶端裝置204的生產(chǎn)階段(例如制造、工廠初始化、個(gè)性化或分配)期間存儲于存儲器222中。所述代碼及/或相關(guān)聯(lián)信息還可從例如安全硬件或安全服務(wù)器的安全源復(fù)制或下載??蛻舳搜b置204還可從安全源更新代碼及/或相關(guān)聯(lián)信息。客戶端裝置204可為不安全的或缺乏安全。舉例來說,存儲器222可為不安全的,且存儲于存儲器222中的代碼及/或相關(guān)聯(lián)信息可被攻擊者修改。

在一些實(shí)施方案中,處理器220經(jīng)配置以對來自驗(yàn)證裝置202的質(zhì)詢或查詢做出響應(yīng)。在一些情形中,客戶端裝置204從驗(yàn)證裝置202接收包含對代碼的加密性質(zhì)(例如,代碼的摘要或簽名或mac)的質(zhì)詢的請求。處理器220可基于來自存儲器222的包含所存儲代碼及/或相關(guān)聯(lián)信息的信息而獲得或產(chǎn)生代碼的加密性質(zhì)且發(fā)回包含代碼的所獲得加密性質(zhì)的響應(yīng)。

在一些實(shí)例中,質(zhì)詢請求代碼的簽名,處理器220用存儲于存儲器220內(nèi)的私人密鑰計(jì)算代碼的摘要且創(chuàng)建摘要的簽名。在一些實(shí)例中,質(zhì)詢請求代碼的mac,處理器220用存儲于存儲器220內(nèi)的機(jī)密密鑰計(jì)算代碼的mac。可與驗(yàn)證裝置202共享機(jī)密密鑰。驗(yàn)證裝置202可使用所述共享機(jī)密密鑰檢驗(yàn)mac。

在一些實(shí)例中,質(zhì)詢請求代碼的特定部分的加密性質(zhì)。舉例來說,質(zhì)詢包含對應(yīng)于所述特定部分的特定地址范圍。處理器220可識別對應(yīng)于所述特定地址范圍的代碼的一部分且獲得代碼的對應(yīng)部分的加密性質(zhì)。

在一些實(shí)施方案中,客戶端裝置204包含耦合到連接208的引腳。在驗(yàn)證存儲于客戶端裝置204中的代碼后,驗(yàn)證裝置202即刻將控制信號發(fā)送到引腳以啟用客戶端裝置204。在一些實(shí)例中,所述引腳為硬件引腳,且所述控制信號為使客戶端裝置204中的特定硬件塊通電或啟用所述特定硬件塊的電信號。

實(shí)例性流程圖

圖3a是實(shí)例性過程300的流程圖,驗(yàn)證裝置通過實(shí)例性過程300來存儲客戶端裝置的經(jīng)授權(quán)代碼的信息。圖3b是另一實(shí)例性過程330的流程圖,驗(yàn)證裝置通過實(shí)例性過程330來存儲客戶端裝置的經(jīng)授權(quán)代碼的信息。圖3c是實(shí)例性過程350的流程圖,驗(yàn)證裝置可通過實(shí)例性過程350來執(zhí)行針對客戶端裝置的安全代碼驗(yàn)證。所述驗(yàn)證裝置可類似于圖1a的驗(yàn)證裝置118或圖2的驗(yàn)證裝置202。所述客戶端裝置可類似于圖1a的客戶端裝置120或圖2的客戶端裝置204。

現(xiàn)在參考圖3a,驗(yàn)證裝置接收經(jīng)授權(quán)代碼的整個(gè)映像(302)。經(jīng)授權(quán)代碼對應(yīng)于客戶端裝置的代碼。舉例來說,經(jīng)授權(quán)代碼為用于使客戶端裝置執(zhí)行操作的經(jīng)驗(yàn)證操作代碼。在一些情形中,經(jīng)授權(quán)代碼為可下載啟動(dòng)代碼的一部分。驗(yàn)證裝置可從源接收經(jīng)授權(quán)代碼的整個(gè)映像??蛻舳搜b置可(例如)與驗(yàn)證裝置同時(shí)從所述源接收經(jīng)授權(quán)代碼的整個(gè)映像。

驗(yàn)證裝置還可接收經(jīng)授權(quán)代碼的整個(gè)映像的總體簽名,例如,oem簽名。在一些實(shí)施方案中,驗(yàn)證裝置計(jì)算經(jīng)授權(quán)代碼的整個(gè)映像的摘要,且基于所接收總體簽名及所計(jì)算摘要而檢驗(yàn)整個(gè)映像的真實(shí)性或完整性。舉例來說,驗(yàn)證裝置可基于所計(jì)算摘要及機(jī)密或驗(yàn)證密鑰而創(chuàng)建所接收整個(gè)映像的簽名且用所接收總體簽名檢驗(yàn)所創(chuàng)建簽名。驗(yàn)證裝置可在整個(gè)映像的傳送期間檢驗(yàn)總體簽名。驗(yàn)證裝置可包含用于經(jīng)授權(quán)代碼的整個(gè)映像的暫時(shí)存儲的臨時(shí)存儲器。

驗(yàn)證裝置從經(jīng)授權(quán)代碼的整個(gè)映像選擇多個(gè)部分(304)。驗(yàn)證裝置可(例如)使用隨機(jī)算法隨機(jī)選擇所述多個(gè)部分。可基于成本、安全性及/或性能而選擇部分的數(shù)目n。在一些實(shí)例中,數(shù)目n在8到32的范圍中,且可任意地為更高或更低。所述部分的性質(zhì)(例如,總大小)可在整個(gè)映像的初始部分中被規(guī)定及/或涵蓋有映像簽名或者提前為固定的或隨機(jī)的。所述部分可具有固定大小,或比所述固定大小大或小的大小。所述部分可具有不同大小。所述部分可重疊,涵蓋所有字節(jié)一次,或涵蓋整個(gè)映像的子集。

驗(yàn)證裝置計(jì)算每一部分的相應(yīng)摘要(306)。驗(yàn)證裝置可(例如)使用加密散列函數(shù)或散列算法計(jì)算部分的摘要。在一些實(shí)例中,驗(yàn)證裝置使用所計(jì)算摘要及機(jī)密或驗(yàn)證密鑰創(chuàng)建部分的簽名。

驗(yàn)證裝置確定每一部分的相應(yīng)地址范圍(308)。驗(yàn)證裝置可基于部分的對應(yīng)摘要或部分自身而確定地址范圍。地址范圍可由包含起始地址及結(jié)束地址的地址對、具有范圍寬度的中間地址或具有范圍寬度的起始地址界定。不同部分可具有不同地址范圍。

驗(yàn)證裝置將地址范圍及相應(yīng)摘要存儲于安全存儲裝置中(310),且在安全存儲裝置中針對每一部分使相應(yīng)地址范圍與相應(yīng)摘要相關(guān)聯(lián)(312)。驗(yàn)證裝置還可存儲部分的其它加密性質(zhì)(例如,部分的簽名)且使所述其它加密性質(zhì)與地址范圍及/或摘要相關(guān)聯(lián)。驗(yàn)證裝置可存儲所述多個(gè)部分的信息,例如,經(jīng)授權(quán)代碼的部分的地址范圍、摘要及/或簽名,而不存儲經(jīng)授權(quán)代碼的整個(gè)映像及/或經(jīng)授權(quán)代碼的部分自身。安全存儲裝置可類似于圖2的安全存儲裝置216。安全存儲裝置還可存儲驗(yàn)證裝置及/或客戶端裝置的機(jī)密、驗(yàn)證及/或加密密鑰。

可在驗(yàn)證裝置的生產(chǎn)階段(例如制造、工廠初始化、個(gè)性化或分配)期間執(zhí)行過程300。驗(yàn)證裝置還可執(zhí)行過程300以從安全源更新經(jīng)授權(quán)代碼的信息。在某一實(shí)施方案中,驗(yàn)證裝置接收客戶端裝置的第二經(jīng)授權(quán)代碼的第二整個(gè)映像。所述第二經(jīng)授權(quán)代碼可與經(jīng)授權(quán)代碼完全相同或不同于經(jīng)授權(quán)代碼。驗(yàn)證裝置可(例如)使用隨機(jī)算法從第二整個(gè)映像選擇多個(gè)第二部分,且確定每一部分的信息,包含摘要、簽名及/或地址范圍。所述第二部分的地址范圍可不同于先前部分的地址范圍。驗(yàn)證裝置可用第二經(jīng)授權(quán)代碼的第二部分的新信息替換經(jīng)授權(quán)代碼的部分的先前所存儲信息。

參考圖3b,實(shí)例性過程330展示驗(yàn)證裝置存儲客戶端裝置的經(jīng)授權(quán)代碼的信息的另一方式。驗(yàn)證裝置接收客戶端裝置的代碼的整個(gè)映像(332)。驗(yàn)證裝置針對整個(gè)映像的多個(gè)部分選擇多個(gè)地址范圍(334)。舉例來說,整個(gè)映像包含代碼的起始地址及結(jié)束地址。驗(yàn)證裝置可隨機(jī)選擇多個(gè)起始地址與結(jié)束地址對來用作所述多個(gè)地址范圍。每一地址范圍對應(yīng)于代碼的特定部分。驗(yàn)證裝置基于代碼的地址范圍而確定每一地址范圍的對應(yīng)部分(336),且計(jì)算每一部分的相應(yīng)摘要(338)。然后,驗(yàn)證裝置將所計(jì)算摘要及相應(yīng)地址范圍存儲于安全存儲裝置中(340)且在安全存儲裝置中針對每一部分使相應(yīng)地址范圍與相應(yīng)摘要相關(guān)聯(lián)(342)。

現(xiàn)在參考圖3c,驗(yàn)證裝置可使用經(jīng)授權(quán)代碼的一或多個(gè)部分的信息來進(jìn)行針對客戶端裝置的安全代碼驗(yàn)證。驗(yàn)證裝置將包含對存儲于客戶端裝置內(nèi)的代碼的特定部分的性質(zhì)的質(zhì)詢的請求發(fā)送到客戶端裝置(352)。所述性質(zhì)可為摘要、簽名或mac。

質(zhì)詢可包含與代碼的特定部分相關(guān)聯(lián)的地址范圍。驗(yàn)證裝置可使用質(zhì)詢產(chǎn)生模塊(例如,圖2的質(zhì)詢產(chǎn)生模塊212)產(chǎn)生質(zhì)詢。驗(yàn)證裝置可(例如)使用隨機(jī)算法從存儲于安全存儲裝置中的多個(gè)地址范圍選擇地址范圍。

在一些實(shí)例中,質(zhì)詢包含查詢(例如,臨時(shí)值查詢)以及地址范圍。可請求客戶端裝置產(chǎn)生包含與查詢相關(guān)聯(lián)的信息的響應(yīng)。舉例來說,驗(yàn)證裝置及客戶端裝置可具有安全策略。根據(jù)所述安全策略,響應(yīng)于接收到質(zhì)詢,客戶端裝置可計(jì)算存儲于客戶端裝置內(nèi)的代碼的加密性質(zhì)(例如,與代碼相關(guān)聯(lián)的摘要),且通過查詢對所述加密性質(zhì)進(jìn)行散列。所述查詢可每次變化,且客戶端裝置的響應(yīng)可對應(yīng)地改變,使得攻擊者無法重放先前所發(fā)射的響應(yīng)。

在一些實(shí)例中,質(zhì)詢或請求由機(jī)密密鑰加密以創(chuàng)建質(zhì)詢或請求的mac以確保其完整性。機(jī)密密鑰可為對稱加密密鑰且由驗(yàn)證裝置及客戶端裝置共享。

在一些實(shí)例中,質(zhì)詢包含使客戶端裝置使用機(jī)密密鑰創(chuàng)建響應(yīng)的mac的請求。mac可通過hmac或aes-cmac算法來創(chuàng)建。機(jī)密密鑰可為對稱加密密鑰且由驗(yàn)證裝置及客戶端裝置共享。驗(yàn)證裝置可使用機(jī)密密鑰檢驗(yàn)來自客戶端裝置的響應(yīng)的mac。此可阻止攻擊者嘗試復(fù)制及存儲對質(zhì)詢的正確響應(yīng)或?qū)碜则?yàn)證裝置的若干個(gè)質(zhì)詢的若干個(gè)響應(yīng)。

在一些實(shí)例中,質(zhì)詢包含對代碼的整個(gè)映像的加密性質(zhì)(例如,整個(gè)映像的摘要或簽名或mac)的請求以及對經(jīng)授權(quán)代碼的特定部分的請求。

在一些實(shí)例中,質(zhì)詢包含對代碼的合并部分的加密性質(zhì)的請求。所述合并部分可包含代碼的所述多個(gè)部分中的兩個(gè)或兩個(gè)以上不同部分。質(zhì)詢可包含組合對應(yīng)于兩個(gè)或兩個(gè)以上不同部分的相應(yīng)地址范圍的地址范圍。所述兩個(gè)或兩個(gè)以上不同部分可彼此鄰近,或彼此分開。以此方式,驗(yàn)證裝置可存儲與部分的數(shù)目相關(guān)聯(lián)的信息且產(chǎn)生比部分?jǐn)?shù)目多的質(zhì)詢數(shù)目,此可使分析攻擊更復(fù)雜。

在一些實(shí)施方案中,驗(yàn)證裝置接收告知驗(yàn)證裝置客戶端裝置將執(zhí)行動(dòng)作的消息。在一些實(shí)例中,當(dāng)將客戶端裝置復(fù)位時(shí)或每當(dāng)從客戶端裝置移除電力,客戶端裝置重復(fù)啟動(dòng)過程,此可觸發(fā)客戶端裝置將重新啟動(dòng)已發(fā)生在客戶端裝置上的消息發(fā)送到驗(yàn)證裝置。響應(yīng)于接收所述消息,驗(yàn)證裝置可與客戶端裝置同時(shí)執(zhí)行復(fù)位序列,(例如)以阻止其中在驗(yàn)證步驟之后修改客戶端裝置中的存儲器的攻擊。在一些實(shí)施方案中,客戶端裝置及驗(yàn)證裝置可使用同一電力供應(yīng)器,連接到同一復(fù)位信號,或具有其它同步方法。

在一些實(shí)例中,驗(yàn)證裝置基于預(yù)定調(diào)度而確定客戶端裝置是不可信的。舉例來說,客戶端裝置的電力循環(huán)在預(yù)定調(diào)度中致使客戶端裝置重復(fù)啟動(dòng)操作,此觸發(fā)客戶端裝置在所述預(yù)定調(diào)度中將消息發(fā)送到驗(yàn)證裝置。然而,當(dāng)電力循環(huán)不根據(jù)預(yù)定調(diào)度而發(fā)生(舉例來說,電力循環(huán)被修改或改變)時(shí),驗(yàn)證裝置可確定客戶端裝置是不可信的。在一些情形中,驗(yàn)證裝置可(例如)使用加密密鑰將驗(yàn)證請求發(fā)送到客戶端裝置。響應(yīng)于從客戶端裝置接收正確驗(yàn)證信息,驗(yàn)證裝置將質(zhì)詢發(fā)送到客戶端裝置。否則,如果驗(yàn)證失敗,那么驗(yàn)證裝置可限制或禁止客戶端裝置重新啟動(dòng)。

驗(yàn)證裝置從客戶端裝置接收對請求的響應(yīng)(354)。所述響應(yīng)可包含存儲于客戶端裝置內(nèi)的代碼的加密性質(zhì)。在一些實(shí)例中,質(zhì)詢包含對代碼的特定部分的摘要的請求。客戶端裝置可確定對應(yīng)于特定部分的代碼的一部分。舉例來說,質(zhì)詢包含對應(yīng)于特定部分的地址范圍??蛻舳搜b置可基于質(zhì)詢中的地址范圍而找出代碼的對應(yīng)部分??蛻舳搜b置可計(jì)算代碼的對應(yīng)部分的摘要且在響應(yīng)中將摘要發(fā)送到驗(yàn)證裝置。在一些實(shí)例中,質(zhì)詢包含對經(jīng)授權(quán)代碼的特定部分的簽名的請求??蛻舳搜b置可基于代碼的對應(yīng)部分的摘要及存儲于客戶端裝置內(nèi)的機(jī)密或驗(yàn)證密鑰而創(chuàng)建簽名。

在一些實(shí)施方案中,驗(yàn)證裝置請求客戶端裝置在預(yù)定時(shí)間周期內(nèi)(例如,在復(fù)位引腳斷言之后或在驗(yàn)證裝置發(fā)送質(zhì)詢之后)做出響應(yīng)。所述預(yù)定時(shí)間周期可(例如)在驗(yàn)證裝置的生產(chǎn)階段(例如制造)經(jīng)編程到驗(yàn)證裝置中。所述預(yù)定時(shí)間周期還可與經(jīng)簽名映像一起發(fā)送到驗(yàn)證裝置。

驗(yàn)證裝置可確定發(fā)送質(zhì)詢或復(fù)位引腳斷言與接收對質(zhì)詢的響應(yīng)之間的時(shí)間周期是否小于預(yù)定時(shí)間周期。如果所確定時(shí)間周期完全相同于或大于預(yù)定時(shí)間周期,那么驗(yàn)證裝置可終止過程350。驗(yàn)證裝置可返回到步驟352以將新質(zhì)詢發(fā)送到客戶端裝置以用于驗(yàn)證。如果所確定時(shí)間周期小于預(yù)定時(shí)間周期,那么過程350繼續(xù)進(jìn)行到步驟356。

驗(yàn)證裝置基于經(jīng)授權(quán)代碼的特定部分的所存儲信息而檢驗(yàn)響應(yīng)是否正確(356)。驗(yàn)證裝置可基于存儲于安全存儲裝置中的經(jīng)授權(quán)代碼的特定部分的信息而獲得經(jīng)授權(quán)代碼的特定部分的加密性質(zhì),且確定響應(yīng)中的代碼的加密性質(zhì)是否與經(jīng)授權(quán)代碼的特定部分的所獲得加密性質(zhì)匹配。

如上文提及,響應(yīng)可包含代碼的一部分的簽名。如果驗(yàn)證裝置存儲經(jīng)授權(quán)代碼的特定部分的簽名,那么驗(yàn)證裝置可檢索特定部分的所存儲簽名且將所檢索簽名與響應(yīng)中的代碼的部分的簽名進(jìn)行比較。

如果驗(yàn)證裝置不存儲特定部分的簽名,那么驗(yàn)證裝置可基于經(jīng)授權(quán)代碼的特定部分的摘要及存儲于安全存儲裝置中的加密密鑰而創(chuàng)建簽名。加密密鑰可為存儲于與客戶端裝置相關(guān)聯(lián)的安全裝置中的對應(yīng)于私人密鑰的公開密鑰??捎煽蛻舳搜b置使用私人密鑰產(chǎn)生代碼的簽名。驗(yàn)證裝置可確定經(jīng)授權(quán)代碼的特定部分的所創(chuàng)建簽名是否與響應(yīng)中的代碼的簽名匹配。如果驗(yàn)證裝置確定經(jīng)授權(quán)代碼的所創(chuàng)建簽名與響應(yīng)中的代碼的簽名匹配,那么驗(yàn)證裝置確定響應(yīng)是正確的。如果驗(yàn)證裝置確定經(jīng)授權(quán)代碼的特定部分的所創(chuàng)建簽名與響應(yīng)中的代碼的簽名不匹配,那么驗(yàn)證裝置確定響應(yīng)是不正確的。

如果驗(yàn)證裝置檢驗(yàn)了響應(yīng)的不正確性,那么驗(yàn)證裝置確定代碼未經(jīng)授權(quán)(358),也就是說,代碼并非經(jīng)授權(quán)代碼。相應(yīng)地,驗(yàn)證裝置可禁止客戶端裝置存取儲存于安全存儲裝置中且用于恰當(dāng)執(zhí)行的關(guān)鍵信息(例如,機(jī)密或密鑰)。舉例來說,客戶端裝置使用關(guān)鍵信息來與外部裝置(例如,圖1a的計(jì)算裝置106a或106b、服務(wù)器計(jì)算系統(tǒng)108或主機(jī)裝置112)通信。如果驗(yàn)證裝置檢驗(yàn)響應(yīng)的正確性,那么驗(yàn)證裝置確定代碼經(jīng)授權(quán)(360),也就是說,代碼為經(jīng)授權(quán)代碼。相應(yīng)地,驗(yàn)證裝置可允許客戶端裝置存取關(guān)鍵信息或通過引腳啟用客戶端裝置。

響應(yīng)于確定代碼經(jīng)授權(quán),驗(yàn)證裝置可應(yīng)用針對客戶端裝置的順序通信的策略。所述策略可包含對稱密鑰驗(yàn)證或不對稱密鑰驗(yàn)證。代碼可為啟動(dòng)代碼。在一些實(shí)例中,在安全啟動(dòng)及客戶端裝置與驗(yàn)證裝置之間的運(yùn)行時(shí)間連接期間啟用存儲于客戶端裝置中的對稱密鑰。在一些實(shí)例中,每當(dāng)客戶端裝置成功地完成安全啟動(dòng)之后,驗(yàn)證裝置經(jīng)由不對稱密鑰交換或協(xié)定或其它加密方法將新不對稱密鑰(例如,私人密鑰)傳送到客戶端裝置。驗(yàn)證裝置可將對應(yīng)不對稱密鑰(例如,公開密鑰)存儲于安全存儲裝置中。

在一些實(shí)施方案中,驗(yàn)證裝置針對客戶端裝置產(chǎn)生多個(gè)質(zhì)詢。所述多個(gè)質(zhì)詢可包含與經(jīng)授權(quán)代碼的第一部分相關(guān)聯(lián)的第一數(shù)目個(gè)第一質(zhì)詢及與經(jīng)授權(quán)代碼的第二部分相關(guān)聯(lián)的第二數(shù)目個(gè)第二質(zhì)詢。驗(yàn)證裝置可使第一數(shù)目與第二數(shù)目的比率或第一質(zhì)詢與第二質(zhì)詢的順序中的至少一者變化。在一些實(shí)例中,驗(yàn)證裝置存儲所述多個(gè)質(zhì)詢且每一質(zhì)詢可具有發(fā)送到客戶端裝置的可變概率。假設(shè)質(zhì)詢的數(shù)目為8??梢砸韵赂怕拾l(fā)出八個(gè)質(zhì)詢,例如,前三個(gè)質(zhì)詢各自具有25%的概率,第四質(zhì)詢具有13%的概率,第五質(zhì)詢具有7%的概率,第六質(zhì)詢具有3%的概率,且第七及第八質(zhì)詢各自具有1%的概率。以此方式,攻擊者收集所有可能質(zhì)詢可為更困難的。

在一些實(shí)例中,驗(yàn)證裝置暫停經(jīng)授權(quán)代碼的部分的所存儲存儲器地址范圍。舉例來說,驗(yàn)證裝置確定發(fā)送到客戶端裝置的多個(gè)質(zhì)詢包括對經(jīng)授權(quán)代碼的部分的所述多個(gè)所存儲消息范圍中的每一者的加密性質(zhì)的請求。響應(yīng)于所述確定,驗(yàn)證裝置可需要重新下載客戶端裝置的代碼的新映像以改進(jìn)安全性。

在一些實(shí)例中,驗(yàn)證裝置需要根據(jù)時(shí)間的額外檢驗(yàn)。舉例來說,驗(yàn)證裝置可根據(jù)時(shí)間重新質(zhì)詢客戶端裝置以增加代碼的選定部分或不同質(zhì)詢的大小等。

實(shí)例性概念

鑒于前文,應(yīng)注意,可(舉例來說)根據(jù)以下實(shí)例性概念實(shí)施本發(fā)明技術(shù):

1.一種非暫時(shí)性計(jì)算機(jī)可讀存儲媒體,其上存儲有在由一或多個(gè)處理器執(zhí)行時(shí)致使所述一或多個(gè)處理器執(zhí)行包含以下操作的方法的指令:將請求從驗(yàn)證裝置發(fā)送到耦合到所述驗(yàn)證裝置的客戶端裝置,所述請求包含對來自存儲于所述客戶端裝置內(nèi)的代碼的多個(gè)部分當(dāng)中的特定部分的性質(zhì)的質(zhì)詢,所述質(zhì)詢包含指示對應(yīng)于所述代碼的所述特定部分的特定存儲器地址范圍的數(shù)據(jù);在所述驗(yàn)證裝置處從所述客戶端裝置接收對所述請求的響應(yīng),所述響應(yīng)包含與所述代碼的所述性質(zhì)相關(guān)聯(lián)的信息;基于所述所接收信息而檢驗(yàn)所述響應(yīng)的正確性;及基于檢驗(yàn)了所述響應(yīng)的正確性,確定所述代碼為經(jīng)授權(quán)代碼。

2.根據(jù)概念1所述的計(jì)算機(jī)可讀存儲媒體,其中所述方法進(jìn)一步包含:選擇所述經(jīng)授權(quán)代碼的多個(gè)存儲器地址范圍;針對所述多個(gè)存儲器地址范圍中的每一者確定所述經(jīng)授權(quán)代碼的相應(yīng)部分;及計(jì)算每一所確定部分的相應(yīng)性質(zhì)。

3.根據(jù)概念2所述的計(jì)算機(jī)可讀存儲媒體,其中所述方法進(jìn)一步包含:將指示所述經(jīng)授權(quán)代碼的所述部分的所述相應(yīng)性質(zhì)的第一信息及指示相應(yīng)存儲器地址范圍的第二信息存儲于安全存儲裝置中;及在所述安全存儲裝置中分別使來自所述多個(gè)存儲器地址范圍當(dāng)中的存儲器地址范圍與來自所述部分的所述性質(zhì)當(dāng)中的性質(zhì)相關(guān)聯(lián)。

4.根據(jù)概念3所述的計(jì)算機(jī)可讀存儲媒體,其中所述選擇所述經(jīng)授權(quán)代碼的所述多個(gè)存儲器地址范圍包含:從由所述經(jīng)授權(quán)代碼的起始地址及所述經(jīng)授權(quán)代碼的結(jié)束地址界定的范圍隨機(jī)選擇所述多個(gè)存儲器地址范圍。

5.根據(jù)概念3所述的計(jì)算機(jī)可讀存儲媒體,其中所述方法進(jìn)一步包含:從所述多個(gè)存儲器地址范圍當(dāng)中隨機(jī)選擇所述特定存儲器地址范圍,在所述安全存儲裝置中所述特定存儲器地址范圍與所述經(jīng)授權(quán)代碼的所述特定部分的特定性質(zhì)相關(guān)聯(lián)。

6.根據(jù)概念5所述的計(jì)算機(jī)可讀存儲媒體,其中所述響應(yīng)中的所述信息包含所述代碼的一部分的性質(zhì),且其中所述檢驗(yàn)所述響應(yīng)的正確性包含確定所述響應(yīng)中的所述代碼的所述部分的所述性質(zhì)匹配存儲于所述安全存儲裝置中的所述經(jīng)授權(quán)代碼的所述特定部分的所述特定性質(zhì)。

7.根據(jù)概念2所述的計(jì)算機(jī)可讀存儲媒體,其中所述方法進(jìn)一步包含:接收所述經(jīng)授權(quán)代碼的整個(gè)映像;接收與所述經(jīng)授權(quán)代碼相關(guān)聯(lián)的簽名;計(jì)算所述經(jīng)授權(quán)代碼的所述所接收整個(gè)映像的摘要;及基于所述所接收簽名及所述所接收整個(gè)映像的所述所計(jì)算摘要而檢驗(yàn)所述所接收整個(gè)映像的真實(shí)性。

8.根據(jù)概念2所述的計(jì)算機(jī)可讀存儲媒體,其中所述方法進(jìn)一步包含:接收所述經(jīng)授權(quán)代碼的整個(gè)映像;隨機(jī)選擇所述經(jīng)授權(quán)代碼的第二整個(gè)映像的多個(gè)第二地址范圍;針對每一第二地址范圍確定所述經(jīng)授權(quán)代碼的相應(yīng)第二部分;計(jì)算所述經(jīng)授權(quán)代碼的每一所確定第二部分的相應(yīng)第二性質(zhì);及在安全存儲裝置中用所述經(jīng)授權(quán)代碼的所述第二部分的所述相應(yīng)第二性質(zhì)替換所述經(jīng)授權(quán)代碼的所述部分的所述相應(yīng)性質(zhì)。

9.根據(jù)概念1所述的計(jì)算機(jī)可讀存儲媒體,其中所述方法進(jìn)一步包含:響應(yīng)于確定所述代碼為所述經(jīng)授權(quán)代碼,使所述客戶端裝置能夠使用存儲于安全存儲裝置中的機(jī)密數(shù)據(jù)或加密密鑰。

10.根據(jù)概念1所述的計(jì)算機(jī)可讀存儲媒體,其中所述方法進(jìn)一步包含:響應(yīng)于確定所述代碼為所述經(jīng)授權(quán)代碼,使所述客戶端裝置能夠通過耦合到所述客戶端裝置的引腳通電或啟用所述客戶端裝置中的一或多個(gè)硬件塊。

11.根據(jù)概念1所述的計(jì)算機(jī)可讀存儲媒體,其中所述請求包含對存儲于所述客戶端裝置內(nèi)的所述代碼的整個(gè)映像的性質(zhì)的第二質(zhì)詢。

12.根據(jù)概念1所述的計(jì)算機(jī)可讀存儲媒體,其中所述請求包含臨時(shí)值,且其中所述檢驗(yàn)所述響應(yīng)的正確性包含確定所述響應(yīng)包含與所述臨時(shí)值相關(guān)聯(lián)的信息。

13.根據(jù)概念1所述的計(jì)算機(jī)可讀存儲媒體,其中所述方法進(jìn)一步包含:將第二請求發(fā)送到所述客戶端裝置,所述第二請求跟隨所述請求且包含對所述客戶端裝置的所述代碼的第二不同部分的性質(zhì)的第二質(zhì)詢,所述第二質(zhì)詢具有對應(yīng)于所述代碼的所述第二部分的第二存儲器地址范圍。

14.根據(jù)概念13所述的計(jì)算機(jī)可讀存儲媒體,其中所述發(fā)送所述第二請求是響應(yīng)于確定在確定所述代碼為所述經(jīng)授權(quán)代碼之后經(jīng)過了預(yù)定時(shí)間周期。

15.根據(jù)概念1所述的計(jì)算機(jī)可讀存儲媒體,其中所述方法進(jìn)一步包含:將第二請求發(fā)送到所述客戶端裝置,所述第二請求跟隨所述請求且包含對所述經(jīng)授權(quán)代碼的包含所述代碼的至少兩個(gè)不同部分的經(jīng)合并部分的性質(zhì)的第二質(zhì)詢,所述第二質(zhì)詢具有分別對應(yīng)于所述代碼的所述至少兩個(gè)不同部分的至少兩個(gè)存儲器地址范圍。

16.根據(jù)概念1所述的計(jì)算機(jī)可讀存儲媒體,其中所述方法進(jìn)一步包含:將多個(gè)質(zhì)詢中的個(gè)別質(zhì)詢發(fā)送到所述客戶端裝置以用于個(gè)別驗(yàn)證,其中所述多個(gè)質(zhì)詢包含與所述代碼的第一部分相關(guān)聯(lián)的第一數(shù)目個(gè)第一質(zhì)詢及與所述代碼的第二部分相關(guān)聯(lián)的第二數(shù)目個(gè)第二質(zhì)詢;及使所述第一數(shù)目與所述第二數(shù)目的比率以及所述第一質(zhì)詢與所述第二質(zhì)詢的順序中的至少一者變化。

17.根據(jù)概念1所述的計(jì)算機(jī)可讀存儲媒體,其中所述方法進(jìn)一步包含:在發(fā)送所述請求之前,用存儲于安全存儲裝置中的對稱加密密鑰產(chǎn)生所述請求的消息驗(yàn)證碼(mac);及將所述請求的所述mac發(fā)射到所述客戶端裝置。

18.根據(jù)概念1所述的計(jì)算機(jī)可讀存儲媒體,其中所述檢驗(yàn)所述響應(yīng)的正確性響應(yīng)于確定發(fā)送所述質(zhì)詢與接收對所述請求的所述響應(yīng)之間的時(shí)間周期小于預(yù)定閾值。

19.根據(jù)概念1所述的計(jì)算機(jī)可讀存儲媒體,其中所述方法進(jìn)一步包含:確定發(fā)送到所述客戶端裝置的多個(gè)請求包含針對存儲于安全存儲裝置中的所述代碼的多個(gè)部分中的每一者的質(zhì)詢,及作為響應(yīng),發(fā)送對更新存儲于所述客戶端裝置內(nèi)的所述代碼的請求。

20.根據(jù)概念1所述的計(jì)算機(jī)可讀存儲媒體,其中所述客戶端裝置的所述代碼包含用于使所述客戶端裝置起動(dòng)的啟動(dòng)代碼,且所述方法進(jìn)一步包含與將所述客戶端裝置復(fù)位同步地將所述驗(yàn)證裝置復(fù)位。

21.根據(jù)概念1所述的計(jì)算機(jī)可讀存儲媒體,其中所述性質(zhì)包含摘要、簽名或消息驗(yàn)證碼(mac)中的至少一者。

22.根據(jù)概念1所述的計(jì)算機(jī)可讀存儲媒體,其中所述驗(yàn)證裝置包含經(jīng)配置以存儲與所述經(jīng)授權(quán)代碼相關(guān)聯(lián)的信息的安全存儲裝置,且其中存儲于所述安全存儲裝置中的與所述經(jīng)授權(quán)代碼相關(guān)聯(lián)的所述信息包含所述經(jīng)授權(quán)代碼的副本、所述經(jīng)授權(quán)代碼的摘要、所述經(jīng)授權(quán)代碼的簽名或所述經(jīng)授權(quán)代碼的消息驗(yàn)證碼(mac)中的至少一者。

23.根據(jù)概念1所述的計(jì)算機(jī)可讀存儲媒體,其中所述響應(yīng)包含由所述客戶端裝置基于所述代碼的摘要及對稱加密密鑰而產(chǎn)生的所述代碼的所述摘要的mac,且其中所述方法進(jìn)一步包含用存儲于安全存儲裝置中的所述對稱加密密鑰驗(yàn)證所述響應(yīng)。

24.一種系統(tǒng),其包含:客戶端裝置;及驗(yàn)證裝置,其耦合到所述客戶端裝置且經(jīng)配置以:將請求發(fā)送到所述客戶端裝置,所述請求包含對來自存儲于所述客戶端裝置內(nèi)的代碼的多個(gè)部分當(dāng)中的特定部分的性質(zhì)的質(zhì)詢,所述質(zhì)詢包含指示對應(yīng)于所述代碼的所述特定部分的特定存儲器地址范圍的數(shù)據(jù);從所述客戶端裝置接收對所述請求的響應(yīng),所述響應(yīng)包含與所述代碼的所述性質(zhì)相關(guān)聯(lián)的信息,所述信息是由所述客戶端裝置基于所述代碼而產(chǎn)生;基于所述所接收信息而檢驗(yàn)所述響應(yīng)的正確性;及基于檢驗(yàn)了所述響應(yīng)的正確性,確定所述代碼為經(jīng)授權(quán)代碼。

25.根據(jù)概念24所述的系統(tǒng),其中所述方法進(jìn)一步包含:針對所述經(jīng)授權(quán)代碼的多個(gè)部分選擇多個(gè)存儲器地址范圍;針對每一所選擇存儲器地址范圍確定相應(yīng)部分;針對所述多個(gè)部分中的每一部分使用加密散列函數(shù)計(jì)算相應(yīng)摘要;及在安全存儲裝置中使所述相應(yīng)摘要與所述相應(yīng)存儲器地址范圍相關(guān)聯(lián),其中在所述安全存儲裝置中所述特定存儲器地址范圍與所述特定部分的特定摘要相關(guān)聯(lián)。

26.根據(jù)概念25所述的系統(tǒng),其中所述響應(yīng)中的所述信息包含所述代碼的一部分的摘要,且其中所述響應(yīng)的所述正確性的所述檢驗(yàn)包含確定所述響應(yīng)中的所述代碼的所述部分的所述摘要與存儲于所述安全存儲裝置中的所述經(jīng)授權(quán)代碼的所述特定部分的所述特定摘要匹配。

27.根據(jù)概念24所述的系統(tǒng),其中所述方法進(jìn)一步包含:響應(yīng)于確定所述代碼為所述經(jīng)授權(quán)代碼,使所述客戶端裝置能夠利用存儲于安全存儲裝置中的機(jī)密數(shù)據(jù)或加密密鑰。

28.根據(jù)概念24所述的系統(tǒng),其中所述方法進(jìn)一步包含:響應(yīng)于確定所述代碼為所述經(jīng)授權(quán)代碼,使所述客戶端裝置能夠通過耦合到所述客戶端裝置的引腳通電或啟用所述客戶端裝置中的一或多個(gè)硬件塊。

29.根據(jù)概念24所述的系統(tǒng),其中所述方法進(jìn)一步包含:將第二請求發(fā)送到所述客戶端裝置,所述第二請求跟隨所述請求且包含對所述代碼的第二不同部分的性質(zhì)的第二質(zhì)詢,所述第二質(zhì)詢具有對應(yīng)于所述代碼的所述第二部分的第二存儲器地址范圍。

30.根據(jù)概念24所述的系統(tǒng),其中所述方法進(jìn)一步包含:將多個(gè)質(zhì)詢中的個(gè)別質(zhì)詢發(fā)送到所述客戶端裝置以用于個(gè)別驗(yàn)證,其中所述多個(gè)質(zhì)詢包含與所述代碼的第一部分相關(guān)聯(lián)的第一數(shù)目個(gè)第一質(zhì)詢及與所述代碼的第二部分相關(guān)聯(lián)的第二數(shù)目個(gè)第二質(zhì)詢;及使所述第一數(shù)目與所述第二數(shù)目的比率以及所述第一質(zhì)詢與所述第二質(zhì)詢的順序中的至少一者變化。

31.根據(jù)概念24所述的系統(tǒng),其包含經(jīng)配置以存儲所述經(jīng)授權(quán)代碼的信息的安全存儲裝置,其中所述性質(zhì)包含摘要、簽名或消息驗(yàn)證碼(mac)中的至少一者,且其中存儲于所述安全存儲裝置中的所述經(jīng)授權(quán)代碼的所述信息包含所述經(jīng)授權(quán)代碼的副本、所述經(jīng)授權(quán)代碼的摘要、所述經(jīng)授權(quán)代碼的簽名或所述經(jīng)授權(quán)代碼的消息驗(yàn)證碼(mac)中的至少一者。

32.根據(jù)概念24所述的系統(tǒng),其中所述驗(yàn)證裝置通過網(wǎng)絡(luò)耦合到遠(yuǎn)程主機(jī)裝置,且其中所述主機(jī)裝置經(jīng)配置以將所述經(jīng)授權(quán)代碼的整個(gè)映像提供到所述驗(yàn)證裝置及所述客戶端裝置。

33.一種方法,其包含:由驗(yàn)證裝置將請求發(fā)送到耦合到所述驗(yàn)證裝置的客戶端裝置,所述請求包含對來自存儲于所述客戶端裝置內(nèi)的代碼的多個(gè)部分當(dāng)中的特定部分的性質(zhì)的質(zhì)詢,所述質(zhì)詢包含指示對應(yīng)于所述代碼的所述特定部分的特定存儲器地址范圍的數(shù)據(jù);由所述驗(yàn)證裝置從所述客戶端裝置接收對所述請求的響應(yīng),所述響應(yīng)包含與所述代碼的所述性質(zhì)相關(guān)聯(lián)的信息;由所述驗(yàn)證裝置基于所述所接收信息而檢驗(yàn)所述響應(yīng)的正確性;及基于檢驗(yàn)了所述響應(yīng)的正確性,由所述驗(yàn)證裝置確定所述代碼為經(jīng)授權(quán)代碼。

應(yīng)注意,出于圖解說明的目的而呈現(xiàn)前述實(shí)例性概念,且本發(fā)明技術(shù)不限于這些實(shí)例性概念。

本說明書中所描述的標(biāo)的物的特定實(shí)施例可經(jīng)實(shí)施以便實(shí)現(xiàn)以下優(yōu)點(diǎn)中的一或多者。通過使用可信或安全驗(yàn)證裝置來執(zhí)行針對例如處理器的客戶端裝置的受控安全代碼驗(yàn)證,客戶端裝置的安全(例如,客戶端裝置的安全啟動(dòng))成為驗(yàn)證裝置的安全。由于驗(yàn)證裝置可具有大于客戶端裝置的安全能力,因此可增加客戶端裝置上的操作的安全性且可最小化或消除欺騙性操作。受控安全代碼驗(yàn)證可確保在客戶端裝置上運(yùn)行的代碼為(例如)如oem所意指的經(jīng)授權(quán)代碼,且惡意軟件不在客戶端裝置上運(yùn)行。客戶端裝置可以低安全能力制成,例如,不具有對抗攻擊的安全存儲裝置,因此可以低成本制成。驗(yàn)證裝置可使用經(jīng)授權(quán)代碼的一部分來執(zhí)行針對客戶端裝置的安全代碼驗(yàn)證,因此其起作用而不管客戶端裝置的代碼的大小如何同時(shí)允許驗(yàn)證裝置中的固定小量的存儲器。外部驗(yàn)證裝置可用作詢問器且提供使系統(tǒng)總線上的消息多樣化以使任何攻擊復(fù)雜化的方法。此外,需要客戶端裝置計(jì)算整個(gè)映像的僅一部分的散列,可使(例如)用于安全啟動(dòng)操作的安全代碼驗(yàn)證加速。驗(yàn)證裝置可具有表示經(jīng)下載代碼的子集的質(zhì)詢集合。針對客戶端裝置包含驗(yàn)證裝置的每一獨(dú)特系統(tǒng)可具有地址范圍的不同集合,因?yàn)檫@些地址范圍將在驗(yàn)證裝置內(nèi)隨機(jī)形成。因此通過存儲正確部分摘要而執(zhí)行的單個(gè)系統(tǒng)上的成功攻擊將不適用于隨后系統(tǒng)??蛻舳搜b置可將對消息的各種操作卸載到驗(yàn)證裝置。當(dāng)驗(yàn)證裝置確定客戶端裝置值得信任時(shí),驗(yàn)證裝置可將可信分量添加到消息。受控安全代碼驗(yàn)證可在不同環(huán)境中(例如,在汽車系統(tǒng)、家庭網(wǎng)絡(luò)或醫(yī)學(xué)裝置系統(tǒng)中)應(yīng)用。

本說明書中所描述的標(biāo)的物及功能性操作的實(shí)施例可實(shí)施于包含本說明書中所揭示的結(jié)構(gòu)及其結(jié)構(gòu)等效物的數(shù)字電子電路、有形地體現(xiàn)的計(jì)算機(jī)軟件或固件、計(jì)算機(jī)硬件或者其中的一或多者的組合中。本說明書中所描述的標(biāo)的物的實(shí)施例可實(shí)施為一或多個(gè)計(jì)算機(jī)程序,即,編碼于有形非暫時(shí)性程序載體上以用于由數(shù)據(jù)處理設(shè)備執(zhí)行或控制數(shù)據(jù)處理設(shè)備的操作的計(jì)算機(jī)程序指令的一或多個(gè)模塊。替代地或另外,所述程序指令可編碼于人工產(chǎn)生的所傳播信號(例如,機(jī)器產(chǎn)生的電、光學(xué)或電磁信號)上,所述人工產(chǎn)生的所傳播信號經(jīng)產(chǎn)生以編碼用于發(fā)射到適合接收器設(shè)備以用于由數(shù)據(jù)處理設(shè)備執(zhí)行的信息。所述計(jì)算機(jī)存儲媒體可為機(jī)器可讀存儲裝置、機(jī)器可讀存儲襯底、隨機(jī)或串行存取存儲器裝置或者其中的一或多者的組合。

本說明書中所描述的過程及邏輯流程可由一或多個(gè)可編程計(jì)算機(jī)執(zhí)行,所述可編程計(jì)算機(jī)執(zhí)行一或多個(gè)計(jì)算機(jī)程序以通過對輸入數(shù)據(jù)進(jìn)行操作且產(chǎn)生輸出來執(zhí)行功能。過程及邏輯流程還可由專用邏輯電路(例如,fpga(現(xiàn)場可編程門陣列)或asic(專用集成電路))執(zhí)行且設(shè)備還可實(shí)施為專用邏輯電路。

適合用于執(zhí)行計(jì)算機(jī)程序的計(jì)算機(jī)以實(shí)例方式包含可基于專用或通用微處理器或兩者,或者任一其它種類的中央處理單元。一般來說,中央處理單元將從只讀存儲器或隨機(jī)存取存儲器或兩者接收指令及數(shù)據(jù)。計(jì)算機(jī)的基本元件是用于執(zhí)行指令的中央處理單元及用于存儲指令及數(shù)據(jù)的一或多個(gè)存儲器裝置。一般來說,計(jì)算機(jī)還將包含用于存儲數(shù)據(jù)的一或多個(gè)大容量存儲裝置(例如,磁盤、磁光盤或光盤)或以操作方式耦合以從所述大容量存儲裝置接收數(shù)據(jù)或向其傳送數(shù)據(jù)或既接收又傳送數(shù)據(jù)。然而,計(jì)算機(jī)不需要具有此些裝置。此外,計(jì)算機(jī)可嵌入于另一裝置中,例如,移動(dòng)電話、個(gè)人數(shù)字助理(pda)、移動(dòng)音頻或視頻播放器、游戲控制臺、全球定位系統(tǒng)(gps)接收器或便攜式存儲裝置(例如,通用串行總線(usb)閃盤驅(qū)動(dòng)器)(僅舉幾例)。

適合用于存儲計(jì)算機(jī)程序指令及數(shù)據(jù)的計(jì)算機(jī)可讀媒體包含所有形式的非易失性存儲器、媒體及存儲器裝置,以實(shí)例方式包含:半導(dǎo)體存儲器裝置,例如eprom、eeprom及快閃存儲器裝置;磁盤,例如內(nèi)部硬盤或可裝卸磁盤;磁光盤;及cd-rom及dvd-rom磁盤。處理器及存儲器可由專用邏輯電路補(bǔ)充或并入專用邏輯電路中。

雖然本說明書含有許多特定實(shí)施方案細(xì)節(jié),但這些細(xì)節(jié)不應(yīng)解釋為對任何發(fā)明的范圍的限制或?qū)芍鲝埖膬?nèi)容的范圍的限制,而是應(yīng)解釋為特定發(fā)明的特定實(shí)施例可特有的特征的說明。在單獨(dú)實(shí)施例的上下文中于本說明書中所描述的某些特征還可以組合方式實(shí)施于單個(gè)實(shí)施例中。相反地,在單個(gè)實(shí)施例的上下文中描述的各種特征還可單獨(dú)地或以任何適合子組合實(shí)施于多個(gè)實(shí)施例中。此外,雖然上文可將特征描述為以某些組合起作用且甚至最初主張如此,但來自所主張組合的一或多個(gè)特征在一些情形中可從所述組合去除,且所述所主張組合可針對于子組合或子組合的變化形式。

類似地,盡管在圖式中以特定次序描繪操作,但不應(yīng)將此理解為需要以所展示的特定次序或以順序次序執(zhí)行此類操作,或執(zhí)行所有所圖解說明的操作以實(shí)現(xiàn)合意結(jié)果。在某些情況中,多任務(wù)及并行處理可為有利的。此外,不應(yīng)將在上文所描述的實(shí)施例中的各種系統(tǒng)模塊及組件的分離理解為在所有實(shí)施例中需要此分離,且應(yīng)理解,一般可將所描述的程序組件及系統(tǒng)一起集成于單個(gè)軟件產(chǎn)品中或封裝到多個(gè)軟件產(chǎn)品中。

因此,已描述標(biāo)的物的特定實(shí)施例。其它實(shí)施例在所附權(quán)利要求書的范圍內(nèi)。在一些情形中,權(quán)利要求書中所引用的動(dòng)作可以不同次序來執(zhí)行且仍實(shí)現(xiàn)合意結(jié)果。另外,隨附圖式中所描繪的過程未必需要所展示的特定次序或順序次序來實(shí)現(xiàn)合意結(jié)果。在某些實(shí)施方案中,多任務(wù)及并行處理可為有利的。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
舞阳县| 拜城县| 延庆县| 张家界市| 广水市| 古田县| 山阴县| 博兴县| 西安市| 布拖县| 佛学| 克山县| 宜丰县| 承德县| 湘西| 邢台市| 固安县| 闽侯县| 新营市| 济阳县| 樟树市| 福鼎市| 罗定市| 吉林省| 安丘市| 高平市| 金湖县| 云安县| 金溪县| 德令哈市| 芮城县| 天镇县| 永吉县| 安化县| 清徐县| 孝义市| 怀来县| 顺平县| 盈江县| 尼玛县| 平阴县|