亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

安全裝置及在其內(nèi)提供安全服務(wù)至主機(jī)的方法、安全設(shè)備與流程

文檔序號(hào):11831274閱讀:311來源:國(guó)知局
安全裝置及在其內(nèi)提供安全服務(wù)至主機(jī)的方法、安全設(shè)備與流程

本申請(qǐng)主張于2014年7月24日提出申請(qǐng)的美國(guó)臨時(shí)申請(qǐng)No.62/028,345的權(quán)益,其公開內(nèi)容作為參考并入至本文。

技術(shù)領(lǐng)域

本發(fā)明是一般關(guān)于一種安全計(jì)算環(huán)境,且特別是有關(guān)于一種安全裝置及在其內(nèi)提供安全服務(wù)至主機(jī)的方法、安全設(shè)備以及計(jì)算機(jī)軟件產(chǎn)品。



背景技術(shù):

在計(jì)算系統(tǒng)中,可信賴計(jì)算(Trusted Computing)是為例如由可信賴計(jì)算組織(Trusted Computing Group,TCG)所研發(fā)及提倡的安全技術(shù)。借助可信賴計(jì)算,通過采用加密以及其他安全技術(shù)實(shí)現(xiàn)計(jì)算機(jī)行為。舉例來說,其揭露于此作為參考并入的美國(guó)專利公開號(hào)2005/0021968闡述了一種提供安全固件更新的方法。第一驗(yàn)證憑據(jù)是利用安全憑證(secure token)所產(chǎn)生的金鑰(key)以加密形式安全地儲(chǔ)存在平臺(tái),例如可信賴平臺(tái)模塊(Trusted Platform Module,TPM)。平臺(tái)的配置是“壓印(imprinted)”,使得相同配置需通過解封對(duì)平臺(tái)配置的金鑰,以存取使用于解密第一驗(yàn)證憑據(jù)的金鑰。在隨后的固件更新過程期間,包含第二驗(yàn)證憑據(jù)的固件更新影像在平臺(tái)上接收。若平臺(tái)配置為相同的,當(dāng)金鑰被加封時(shí),可解封金鑰并將其使用于解密第一驗(yàn)證憑據(jù)。在第一驗(yàn)證憑據(jù)中的公鑰(public key)可接著使用于通過第二驗(yàn)證憑據(jù)以驗(yàn)證固件更新影像。

作為另一示例,其揭露于此作為參考并入的美國(guó)專利公開號(hào)2003/0061494闡述一種保護(hù)計(jì)算機(jī)數(shù)據(jù)的方法及系統(tǒng)。計(jì)算機(jī)提供具有預(yù)載入作業(yè)系統(tǒng)(pre-operating system,pre-OS)空間以及現(xiàn)載入作業(yè)系統(tǒng)(operating system-present,OS-present)空間。保護(hù)儲(chǔ)存器(protected storage)是通過可信賴平臺(tái)模塊(TPM)從pre-OS空間存取。相似地,保護(hù)儲(chǔ)存器是通過TPM從OS-present空間被存取。因此,計(jì)算機(jī)可避免未經(jīng)授 權(quán)的使用者自pre-OS空間以及OS-present空間中存取保護(hù)儲(chǔ)存器內(nèi)所儲(chǔ)存的數(shù)據(jù)。



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

本文所述的本發(fā)明的實(shí)施例是提供一種在安全裝置內(nèi)提供安全服務(wù)至主機(jī)的方法,其包含接收來自在主機(jī)上執(zhí)行的應(yīng)用程序的安全指令。安全指令通過存取安全裝置外的非易失性存儲(chǔ)器(Non-Volatile Memory,NVM)裝置而被執(zhí)行,其中非易失性存儲(chǔ)器通過專用裝置驅(qū)動(dòng)器通透(transparently)至應(yīng)用程序,專用裝置驅(qū)動(dòng)器在主機(jī)上執(zhí)行并在NVM裝置以及安全裝置之間調(diào)解。

在一些實(shí)施例中,安全裝置、專用裝置驅(qū)動(dòng)器以及NVM裝置皆符合可信賴計(jì)算組織(Trusting Computing Group,TCG)的各自安全標(biāo)準(zhǔn)。在其他實(shí)施例中,安全裝置與專用裝置驅(qū)動(dòng)器以及至少一部分的NVM裝置儲(chǔ)存空間是根據(jù)TCG的規(guī)范執(zhí)行可信賴平臺(tái)模塊(TPM)。

在實(shí)施例中,執(zhí)行安全指令包含在應(yīng)用程序以及專用裝置驅(qū)動(dòng)器之間進(jìn)行通信,且安全裝置是位于主機(jī)作為主控(master)而安全裝置作為從屬(slave)的接口上。在另一實(shí)施例中,執(zhí)行安全指令包含通過接口于專用裝置驅(qū)動(dòng)器以及NVM裝置之間進(jìn)行通信。在又另一實(shí)施例中,執(zhí)行安全指令包含通過安全裝置要求裝置驅(qū)動(dòng)器將數(shù)據(jù)寫入NVM裝置或從NVM裝置讀取數(shù)據(jù)。

在一些實(shí)施例中,要求裝置驅(qū)動(dòng)器包含在安全裝置內(nèi)部預(yù)備要求,并通過接口發(fā)送信號(hào)至裝置驅(qū)動(dòng)器以取得要求。在其他實(shí)施例中,要求裝置驅(qū)動(dòng)器包含在安全裝置的暫存器內(nèi)預(yù)備要求,并等待裝置驅(qū)動(dòng)器通過以裝置驅(qū)動(dòng)器來輪詢暫存器而取得要求。在又一些其他實(shí)施例中,執(zhí)行安全指令包含在安全裝置內(nèi)預(yù)備在完成安全指令的執(zhí)行時(shí)的指令回應(yīng),并指示應(yīng)用程序其中指令回應(yīng)已準(zhǔn)備好被應(yīng)用程序所讀取。

此外,根據(jù)本發(fā)明的實(shí)施例提供一種安全裝置,其包含主機(jī)接口以及電路。主機(jī)接口是配置以接收來自在主機(jī)上執(zhí)行的應(yīng)用程序的安全指令。電路是配置以通過存取非易失性存儲(chǔ)器(NVM)裝置以執(zhí)行安全指令,其中非易失性存儲(chǔ)器裝置于安全裝置外通過專用裝置驅(qū)動(dòng)器以通透至應(yīng)用程序,而專用裝置驅(qū)動(dòng)器在主機(jī)上執(zhí)行并在NVM裝置以及安全裝置之間調(diào)解。

此外,根據(jù)本發(fā)明的實(shí)施例提供一種安全設(shè)備,其包含提供安全服務(wù)至主機(jī)的安全裝置以及在主機(jī)上執(zhí)行的專用裝置驅(qū)動(dòng)器。裝置驅(qū)動(dòng)器是配置以在安全裝置以及安 全裝置外的非易失性存儲(chǔ)器(NVM)裝置之間調(diào)解。安全裝置是配置以接收來自在主機(jī)上執(zhí)行的應(yīng)用程序的安全指令,并通過專用裝置驅(qū)動(dòng)器存取NVM裝置以通透至應(yīng)用程序而執(zhí)行安全指令。

此外,根據(jù)本發(fā)明的實(shí)施例提供一種計(jì)算機(jī)軟件產(chǎn)品,其包含其中儲(chǔ)存程序指令的有形非暫時(shí)性計(jì)算機(jī)可讀取媒體(tangible non-transitory computer-readable medium),在通過主機(jī)的處理器讀取時(shí)指示,致使處理器運(yùn)行專用裝置驅(qū)動(dòng)器,以通過專用裝置驅(qū)動(dòng)器在安全裝置以及非易失性存儲(chǔ)器裝置之間進(jìn)行調(diào)解,其中安全裝置針對(duì)在主機(jī)上執(zhí)行的應(yīng)用程序提供安全服務(wù)而安全裝置外的非易失性存儲(chǔ)器(NVM)裝置通透至應(yīng)用程序。

附圖說明

本發(fā)明將搭配圖式自下列本發(fā)明實(shí)施例的詳細(xì)說明中更充分地了解:

圖1示意性繪示根據(jù)本文所述的實(shí)施例的計(jì)算系統(tǒng)的方塊圖;以及

圖2示意性繪示根據(jù)本文所述的實(shí)施例在計(jì)算系統(tǒng)內(nèi)提供安全服務(wù)的方法的流程圖。

附圖標(biāo)記

20:系統(tǒng)

24:主機(jī)

28:安全裝置

32、40:接口

36:非易失性存儲(chǔ)器裝置

44:CPU

48:安全應(yīng)用程序

52:裝置驅(qū)動(dòng)器

60:微控制器

62:內(nèi)部匯流排

64:主機(jī)接口

66:系統(tǒng)管理模塊

68:隨機(jī)存取存儲(chǔ)器

72:只讀存儲(chǔ)器

76:一次性可程序存儲(chǔ)器

80:加密引擎

100、104、106、108、112、114、116、120、124、126、128、132:步驟

具體實(shí)施方式

本文所述的本發(fā)明的實(shí)施例提供一種改善計(jì)算系統(tǒng)的安全性的方法及系統(tǒng)。在本文所揭露的實(shí)施例中,安全裝置作為用于主機(jī)的加密協(xié)同處理器(cryptographic co-processor)。主機(jī)利用安全裝置的輔助來執(zhí)行提供安全服務(wù)的安全應(yīng)用程序,其在本文中亦稱為“應(yīng)用程序”。安全應(yīng)用程序傳送安全指令至安全裝置,并從安全裝置接收各自指令回應(yīng)。

當(dāng)提供安全應(yīng)用程序的服務(wù)時(shí),安全裝置有時(shí)需存取外部非易失性存儲(chǔ)器(NVM)裝置。在本公開內(nèi)容的上下文以及權(quán)利要求中,用詞“NVM裝置”是指即使沒有功率時(shí)亦保留儲(chǔ)存信息的多次可程序化儲(chǔ)存裝置(multi-time programmable storage device)。例示性NVM裝置包含快閃裝置(Flash device)以及電子可抹除可程序化只讀存儲(chǔ)器(Electrically Erasable Programmable Read-Only Memory,EEPROM)裝置。

在公開技術(shù)中,主機(jī)運(yùn)行在通透(transparently)至安全應(yīng)用程序的安全裝置以及外部NVM裝置之間進(jìn)行調(diào)解的專用裝置驅(qū)動(dòng)器,其在本文中亦稱為“裝置驅(qū)動(dòng)器”。裝置驅(qū)動(dòng)器允許安全裝置通過裝置驅(qū)動(dòng)器以間接存取外部NVM。

專用裝置驅(qū)動(dòng)器通過接口通信連接安全裝置,其中主機(jī)用作為主控而安全裝置用作為從屬。作為從屬,安全裝置無法直接在接口上啟動(dòng)交換(transaction),例如存取外部NVM。如本文所述,數(shù)個(gè)機(jī)制是用于克服此難處,亦即盡管為從屬狀態(tài)下,仍可通過安全裝置啟動(dòng)交換。

在例示性實(shí)施例中,安全裝置接收來自主機(jī)的安全應(yīng)用程序的安全指令。當(dāng)執(zhí)行指令需要被寫入外部NVM裝置或從外部NVM裝置讀取存取時(shí),安全裝置相應(yīng)地要求裝置驅(qū)動(dòng)器存取外部NVM裝置。在一些實(shí)施例中,安全裝置內(nèi)部預(yù)備要求,并通過產(chǎn)生中斷信號(hào)以通知裝置驅(qū)動(dòng)器已準(zhǔn)備好要求。在其他實(shí)施例中,裝置驅(qū)動(dòng)器通過輪詢?cè)诎踩b置中的暫存器或存儲(chǔ)器位置以取得要求。裝置驅(qū)動(dòng)器通過第一接口從安全裝置讀取要求,并根據(jù)要求將數(shù)據(jù)寫入外部NVM或從外部NVM讀取數(shù)據(jù)。裝置 驅(qū)動(dòng)器提供從外部NVM擷取的數(shù)據(jù)至安全裝置。

安全裝置可通過裝置驅(qū)動(dòng)器對(duì)外部NVM裝置要求多個(gè)存取周期以執(zhí)行安全指令。例如,安全裝置可請(qǐng)求用以執(zhí)行單一安全指令的一個(gè)或多個(gè)讀取作業(yè)及/或一個(gè)或多個(gè)寫入作業(yè)。接續(xù)指令執(zhí)行,安全裝置將指令回應(yīng)回傳至安全應(yīng)用程序。指令回應(yīng)可包含加密作業(yè)的結(jié)果、錯(cuò)誤報(bào)告以及其類似物。

在一些實(shí)施例中,外部NVM可包含使用于計(jì)算系統(tǒng)的額外用途的已知NVM裝置。通過利用適用于安全儲(chǔ)存的至少一部分的現(xiàn)有(通常成本低的)NVM裝置,安全裝置可設(shè)計(jì)成不具有內(nèi)部NVM或僅具有微型NVM裝置,藉以降低成本。

由于主機(jī)通過接口與安全裝置進(jìn)行通信連接,其中主機(jī)用作為主控而安全裝置用作為從屬,接口不再需要匯流排主控(bus mastering)以及仲裁(arbitration)功能,從而降低了接口的復(fù)雜度。除此之外,沒有匯流排主控支持的接口也可被使用。

系統(tǒng)描述

圖1示意性繪示根據(jù)本文所述的實(shí)施例的計(jì)算系統(tǒng)20的方塊圖。系統(tǒng)20包含主機(jī)24,其通過第一接口32通信連接安全裝置28,并通過第二接口40通信連接非易失性存儲(chǔ)器(NVM)裝置36。安全裝置28作為用于主機(jī)的加密協(xié)同處理器。

主機(jī)24包含執(zhí)行安全應(yīng)用程序48以及專用裝置驅(qū)動(dòng)器52的CPU44,其是與安全裝置28一起提供主機(jī)24所需要執(zhí)行可信賴計(jì)算及其他安全策略的功能。安全應(yīng)用程序48對(duì)安全裝置28提供用于在主機(jī)上執(zhí)行的作業(yè)系統(tǒng)(OS)及其他應(yīng)用程序的共同應(yīng)用程序設(shè)計(jì)接口(common application programming interface,API)。

在一些實(shí)施例中,系統(tǒng)20是根據(jù)通過可信賴計(jì)算組織(TCG)所發(fā)展的標(biāo)準(zhǔn)來執(zhí)行可信賴計(jì)算系統(tǒng)。在此實(shí)施例中,安全裝置28可與專用裝置驅(qū)動(dòng)器52以及至少一部分的NVM裝置36的儲(chǔ)存空間共同包含可信賴平臺(tái)模塊(TPM)。此外,安全應(yīng)用程序48可包含TCG軟件堆迭(TCG Software Stack,TSS)。舉例而言,在此并入作為參考的三部分TPM主規(guī)范是規(guī)范了TPM,版本1.2、第二級(jí)、修訂編號(hào)116,2011年3月1日。TPM主規(guī)范的三個(gè)部分包含:“TPM第一主要部分:設(shè)計(jì)原則”、“TPM第二主要部分:TPM結(jié)構(gòu)”以及“TPM第三主要部分:指令”。舉例來說,TSS被描述于2007年3月7日發(fā)行的“TCG軟件堆迭(TCG Software Stack,TSS)規(guī)范版本1.2、第一級(jí)、勘誤表A、第一部分:指令以及結(jié)構(gòu)”中,其作為參考引述至本文。

在一些實(shí)施例中,可信賴計(jì)算是執(zhí)行在個(gè)人計(jì)算機(jī)(PC)系統(tǒng)上。適用于PC用戶 的TCG標(biāo)準(zhǔn)被描述在例如2012年2月24日、版本1.21、勘誤表修訂編號(hào)1.00(針對(duì)TPM家族1.2;第二級(jí))的“適用于已知BIOS的TCG PC用戶專用實(shí)施規(guī)范”中,以及2013年3月21日、版本1.3的“TCG PC用戶專用TPM接口規(guī)范(TPM Interface Specification,TIS)”中,其作為參考引述至本文。

舉例來說,安全應(yīng)用程序48提供安全儲(chǔ)存服務(wù),例如控制系統(tǒng)資源用以儲(chǔ)存信息的存取。在一些實(shí)施例中,安全性儲(chǔ)存是通過定義一個(gè)或多個(gè)安全儲(chǔ)存區(qū)在某些預(yù)定條件下可存取而實(shí)現(xiàn)。舉例來說,這些條件可包含地址空間、系統(tǒng)狀態(tài)、存取權(quán)限、實(shí)體權(quán)限以及讀/寫保護(hù)。

在下述敘述中,假定安全應(yīng)用程序48被設(shè)計(jì)成直接至接口安全裝置28,如上述引用的TCG規(guī)范的規(guī)定。

在一些實(shí)施例中,安全應(yīng)用程序48是通過接口32傳送各自安全指令至安全裝置28,以提供安全服務(wù)(例如用于主機(jī)的OS)。當(dāng)接收到安全指令時(shí),安全裝置28解碼指令并從而執(zhí)行指令。

至少一些安全指令的執(zhí)行涉及存取NVM裝置,例如儲(chǔ)存及擷取機(jī)密信息。在一些實(shí)施例中,安全裝置包含內(nèi)部(通常為小型的)NVM。在其他實(shí)施例中,取代或除了內(nèi)部NVM以外,安全裝置存取可使用于系統(tǒng)用于額外用途的外部NVM,例如NVM裝置36。如上所述,除了安全應(yīng)用程序48外,CPU44執(zhí)行專用裝置驅(qū)動(dòng)器52在安全裝置28以及NVM裝置36之間作調(diào)解。通透至安全應(yīng)用程序48,裝置驅(qū)動(dòng)器52提供安全裝置28間接存取外部NVM裝置36。

安全裝置28可以各種方式要求從裝置驅(qū)動(dòng)器52存取NVM裝置36。在一實(shí)施例中,安全裝置28內(nèi)部,例如在預(yù)先定義暫存器內(nèi),預(yù)備要求,并產(chǎn)生中斷信號(hào)以通知裝置驅(qū)動(dòng)器通過接口32讀取要求。在另一實(shí)施例中,裝置驅(qū)動(dòng)器輪詢?cè)诎踩b置內(nèi)的暫存器,以辨識(shí)是否有待決要求。在又另一實(shí)施例中,裝置驅(qū)動(dòng)器52是有條件地檢查在安全裝置內(nèi)的暫存器數(shù)值,例如響應(yīng)于傳送安全指令至安全裝置的安全應(yīng)用程序。

當(dāng)裝置驅(qū)動(dòng)器52接收來自安全裝置的寫入要求時(shí),裝置驅(qū)動(dòng)器通過接口40儲(chǔ)存在外部NVM內(nèi)的各自的數(shù)據(jù)。在一些實(shí)施例中,在發(fā)布寫入要求之前,安全裝置加密及/或標(biāo)記數(shù)據(jù)。當(dāng)裝置驅(qū)動(dòng)器52接收來自安全裝置的讀取要求時(shí),裝置驅(qū)動(dòng)器通過接口40從外部NVM讀取要求數(shù)據(jù)并通過接口32傳送擷取數(shù)據(jù)至安全裝置。當(dāng)擷 取數(shù)據(jù)被加密及標(biāo)記時(shí),安全裝置可驗(yàn)證及解密數(shù)據(jù)。

接口32及40可包含任意適合的接口。舉例來說,接口32可包含低腳位數(shù)匯流排(Low Pin Count bus,LPC)、序列周邊接口(Serial peripheral Interface,SPI)或內(nèi)部集成電路(Inter-Integrated Circuit,I2C)匯流排。舉例來說,接口40可包含序列周邊接口(SPI)。在一些實(shí)施例中,接口32及40包含各自的(相同或不同的)接口。在其他實(shí)施例中,接口32及40可包含相同接口,或共用一個(gè)或多個(gè)接口信號(hào)。

圖1的下半部是繪示安全裝置28的方塊圖。在本示例中,安全裝置28包含通過內(nèi)部匯流排62與安全裝置的多個(gè)元件互連的微控制器60。微控制器60是用以作為安全裝置的主控單元。安全裝置28包含通過接口32通信連接主機(jī)的主機(jī)接口64的模塊。

微控制器60接收通過主機(jī)接口64所接收的安全指令,并可能在適當(dāng)時(shí)使用在安全裝置內(nèi)的其他元件執(zhí)行這些指令。系統(tǒng)管理模塊66提供裝置元件運(yùn)作所需的各種信號(hào),例如像是功率分配、時(shí)脈信號(hào)以及中斷信號(hào)。在一些實(shí)施例中,系統(tǒng)管理模塊66包含一個(gè)或多個(gè)計(jì)時(shí)器,其可例如使用于時(shí)戳(time-stamping)數(shù)據(jù)。

安全裝置28包含隨機(jī)存取存儲(chǔ)器(Random Access Memory,RAM)68,其儲(chǔ)存暫時(shí)數(shù)據(jù)以及可能的微控制器60的編碼指令。只讀存儲(chǔ)器(Read Only Memory,ROM)72的模塊儲(chǔ)存用于微控制器60的編碼指令。此外,ROM72可儲(chǔ)存各種常數(shù)值。一次性可程序(One Time Programmable,OTP)存儲(chǔ)器76儲(chǔ)存安全裝置配置以及取決于生成(at production)且針對(duì)每個(gè)安全裝置獨(dú)特的密鑰。在一些實(shí)施例中,替代或除了OTP存儲(chǔ)器76以外,安全裝置包含也可使用于儲(chǔ)存內(nèi)部機(jī)密的EEPROM及/或?qū)嶓w不可復(fù)制函數(shù)(Physical Unclonable Function,PUF)。

安全裝置28更包含支持各種加密函數(shù)及演算法的加密引擎(cryptographic engine)80。在一些實(shí)施例中,加密引擎80支持加密基元(crypto primitive)以及演算法,例如亂數(shù)產(chǎn)生方法(Random Number Generation,RNG)、加密/解密演算法,例如先進(jìn)加密標(biāo)準(zhǔn)(Advanced Encryption Standard,AES))、用于公鑰加密的不對(duì)稱密碼演算法(Rivest-Shamir-Adleman,RSA)加密系統(tǒng)、錯(cuò)誤修正編碼/解碼(Error Correction Coding/Decoding)以及密碼雜湊函數(shù)法(cryptographic hash function),例如安全散列演算法(Secure Hash Algorithm)(SHA-256)。加密引擎80提供核心加密函數(shù),例如加密/解密以及標(biāo)記及驗(yàn)證。

PC用戶的可信賴計(jì)算

在一些實(shí)施例中,圖1的系統(tǒng)20包含PC系統(tǒng)。下表1是根據(jù)上方引用的TCG規(guī)范,匯整系統(tǒng)20的各種元件與對(duì)應(yīng)的PC用戶的元件之間的關(guān)系。

表1

圖1所示的系統(tǒng)20以及安全裝置28的配置是為純粹為了清楚顯示概念而繪示的例示性配置。此外,也可使用其他任意適合的計(jì)算系統(tǒng)以及安全裝置配置。用以了解本發(fā)明的原則所不需要的元件,可為了清晰起見而自圖式刪除,諸如各種接口、控制電路、定址電路、時(shí)序電路以及除錯(cuò)電路。

在圖1所示的例示性系統(tǒng)配置中,CPU44、安全裝置28以及NVM裝置36作為各自的集成電路(ICs)執(zhí)行。然而,在替代實(shí)施例中,至少兩個(gè)的CPU、安全裝置以及NVM裝置可被整合至在單一多芯片封裝(Multi-Chip Package,MCP)或嵌入式系統(tǒng)芯片(System on Chip,SoC)內(nèi)的各自的半導(dǎo)體晶粒上,并可通過內(nèi)部匯流排互連。

安全裝置28的不同元件可使用任意適合的硬件執(zhí)行,例如特殊應(yīng)用集成電路(Application-Specific Integrated Circuit,ASIC)或場(chǎng)效可規(guī)劃柵極陣列(Field-Programmable Gate Array,FPGA)。在一些實(shí)施例中,安全裝置的一些元件可使用軟件或使用硬件以及軟件元件的組合執(zhí)行。舉例來說,在本實(shí)施例中,加密引擎80以及系統(tǒng)管理模塊66可作為專用硬件模塊執(zhí)行。作為另一示例,簽章計(jì)算(signature calculation)以及加密/解密函數(shù)可在位于加密引擎80內(nèi)的硬件上、在通過微控制器60執(zhí)行的軟件上或依硬件及軟件的組合上執(zhí)行。

在下方的描述和權(quán)利要求中,沒有包含主機(jī)接口64的安全裝置的各種元件被通稱為電路。

典型地,在主機(jī)24內(nèi)的CPU44包含通用處理器(general-purpose processor),其在軟件上被編程執(zhí)行本文所述的函數(shù)。軟件可通過網(wǎng)絡(luò)以電子形式下載至處理器內(nèi),例如或可被替代或附加地提供及/或儲(chǔ)存至非暫時(shí)性有形媒體(non-transitory tangible media),例如磁性存儲(chǔ)器、光學(xué)存儲(chǔ)器或電子存儲(chǔ)器。

由安全裝置所執(zhí)行的例示性方法

圖2示意性繪示根據(jù)本文所述的實(shí)施例在計(jì)算系統(tǒng)中提供安全服務(wù)的方法的流程圖。舉例來說,方法可通過圖1的安全裝置28來執(zhí)行。在描述的方法中,假定安全裝置為部分的計(jì)算系統(tǒng),例如(或相似于)圖1的系統(tǒng)20。

方法于接收步驟100中通過安全裝置28通過主機(jī)接口64的模塊接收安全指令(通過接口32連接主機(jī))開始。安全指令源自安全應(yīng)用程序48,并辨識(shí)由安全裝置提供的一個(gè)或多個(gè)加密服務(wù)。在解碼步驟104中,安全裝置解碼安全指令作為欲執(zhí)行階段。解碼結(jié)果通常包含要求服務(wù)以及可能的一個(gè)或多個(gè)參數(shù)的型態(tài),例如像是辨識(shí)各自的加密基元、定址的參數(shù)以及與應(yīng)用服務(wù)及其類似物的數(shù)據(jù)相關(guān)的尺寸信息。

為了執(zhí)行指令,安全裝置必須可存取外部NVM。安全裝置可基于指令參數(shù)決定存取外部NVM。替代地或附加地,此決定可取決于保存在外部NVM的內(nèi)部旗標(biāo)(flags)、變數(shù)及其他數(shù)據(jù),若有需要,亦可由安全裝置所還原(restored)。

在寫入檢查步驟106中,安全裝置檢查執(zhí)行指令是否要求存取外部NVM。當(dāng)安全裝置需要將數(shù)據(jù)寫入外部NVM時(shí),方法著手于加密及標(biāo)記步驟108。在本示例中,指令參數(shù)包含原始明文數(shù)據(jù)(plaintext data),并且安全裝置例如使用加密引擎80以加密及/或標(biāo)記原始明文數(shù)據(jù),如安全指令所規(guī)范。下列步驟108,準(zhǔn)備好待儲(chǔ)存至外部NVM的加密及標(biāo)記數(shù)據(jù)。

在寫入要求步驟112,安全裝置要求從裝置驅(qū)動(dòng)器52儲(chǔ)存步驟108的數(shù)據(jù)結(jié)果在外部NVM。如上所述,安全裝置操作為接口32的從屬,并可以各種方法要求儲(chǔ)存作業(yè),如前所述,例如通過產(chǎn)生中斷信號(hào)至主機(jī)。響應(yīng)于要求,裝置驅(qū)動(dòng)器通過接口32從安全裝置讀取在步驟108被加密及標(biāo)記的數(shù)據(jù),并通過接口40儲(chǔ)存數(shù)據(jù)在外部NVM內(nèi)。

當(dāng)在步驟106,安全裝置不需要寫入外部NVM時(shí),方法著手讀取檢查步驟114,其中安全裝置檢查執(zhí)行指令是否要求讀取存取外部NVM。若是,方法著手讀取要求步驟116,其中安全裝置要求從裝置驅(qū)動(dòng)器52讀取來自外部NVM的數(shù)據(jù)。響應(yīng)于讀取要求,裝置驅(qū)動(dòng)器52通過接口40讀取來自外部NVM裝置36所要求的數(shù)據(jù),并通過接口32傳送擷取數(shù)據(jù)至安全裝置。在解密及驗(yàn)證步驟120,安全裝置驗(yàn)證及解密讀取數(shù)據(jù),例如使用加密引擎80。

在后續(xù)步驟112或120,或當(dāng)在步驟114的檢查結(jié)果為否定時(shí),方法著手于接續(xù)的指令執(zhí)行步驟124。在步驟124,安全裝置執(zhí)行安全指令或其一部分,其可能使用從外部NVM所擷取的數(shù)據(jù)。在回路終止步驟126,安全裝置檢查是否額外存取外部NVM是必要的以完成執(zhí)行指令。當(dāng)需要額外存取時(shí),方法循環(huán)回步驟106。反之,方法著手于回應(yīng)預(yù)備步驟128。

在步驟128,安全裝置預(yù)備指令回應(yīng),例如其可包含加密函數(shù)的結(jié)果、錯(cuò)誤報(bào)表及其類似物。在回應(yīng)通知步驟132,安全裝置通知安全應(yīng)用程序已準(zhǔn)備好指令回應(yīng)。相似于上述用于要求裝置驅(qū)動(dòng)器的方法,安全裝置可例如通過產(chǎn)生中斷信號(hào),或是安全應(yīng)用程序可輪詢?cè)诎踩b置內(nèi)的預(yù)先定義暫存器,以通知安全應(yīng)用程序。安全應(yīng)用程序接著通過接口32讀取來自安全裝置的指令回應(yīng),并結(jié)束方法。

圖2的方法是通過舉例方式給定,且也可使用其他適合的方法。舉例來說,在一些實(shí)施例中,安全指令可指示將原始明文寫入外部NVM或從外部NVM讀取原始明文。在這樣的實(shí)施例中,可略過步驟108及120。

雖然上述實(shí)施例主要參照例如PC等計(jì)算系統(tǒng),但相似實(shí)施例亦可執(zhí)行在其他計(jì)算系統(tǒng)中,例如移動(dòng)裝置、物聯(lián)網(wǎng)、智能電表(smart metering)、車用和工業(yè)系統(tǒng)/環(huán)境。

所公開的技術(shù)可使用于各種安全儲(chǔ)存應(yīng)用,例如像是安全啟動(dòng)(secured booting)或可信賴啟動(dòng)(trusted booting)。舉例來說,可信賴計(jì)算組織(TCG)詳細(xì)規(guī)定包含于Windows 8作業(yè)系統(tǒng)的支持安全啟動(dòng)功能的統(tǒng)一可延伸固件接口(Unified Extensible Firmware Interface,UEFI)。作為另一示例,Chromium作業(yè)系統(tǒng)包含作為可信賴啟動(dòng)方案的驗(yàn)證啟動(dòng)功能。這些功能可利用本文所述的方法及系統(tǒng)執(zhí)行。

將理解的是,上述實(shí)施例僅為舉例性闡述,且本發(fā)明并不受限于本文的具體顯示及說明。而是,本發(fā)明的范疇包含本文所述的各種特征的組合與子組合、以及所屬技術(shù)領(lǐng)域技術(shù)人員在閱讀上述內(nèi)容可進(jìn)行且未揭露于現(xiàn)有技術(shù)中的變化及修改。作為參考文獻(xiàn)引述至本發(fā)明申請(qǐng)的文件應(yīng)認(rèn)定為本申請(qǐng)案的整合部分,除非在這些整并文件中所定義的任意用詞范圍與本說明書中明確或隱含的定義有沖突時(shí),則應(yīng)僅考慮本申請(qǐng)中的定義。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1