国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      計算機系統(tǒng)及安全執(zhí)行的方法與流程

      文檔序號:11147422閱讀:528來源:國知局
      計算機系統(tǒng)及安全執(zhí)行的方法與制造工藝

      本申請主要關(guān)于安全執(zhí)行的技術(shù),特別有關(guān)于使用中國商用密碼算法實現(xiàn)基于靜態(tài)信任根(Static Root of Trust for Measurement,SRTM)或動態(tài)信任根(Dynamic Root of Trust for Measurement,DRTM)的安全開機以及安全執(zhí)行系統(tǒng)軟件的方法。



      背景技術(shù):

      英特爾(Intel)的TXT技術(shù),是可信執(zhí)行技術(shù)(Trusted Execution Technology)的簡稱,直接從處理器的層級進行安全性的確認(rèn)。明確來說,TXT技術(shù)主要使用了RSA或SHA-256加密算法構(gòu)建信任鏈(chain of trust)來確保計算機系統(tǒng)的可信狀態(tài),包括確保安全開機、以及確保操作系統(tǒng)(Operating System,OS)及軟件應(yīng)用(Application,APP)的安全運行。

      針對安全開機的部分,TXT技術(shù)首要從靜態(tài)信任根開始創(chuàng)建靜態(tài)信任鏈,對基本輸入輸出系統(tǒng)(Basic Input/Output System,BIOS)中的驗證碼模塊(Authenticated Code Module,ACM)進行驗證。

      另外,針對操作系統(tǒng)及軟件應(yīng)用的安全運行,TXT技術(shù)是在操作系統(tǒng)的運行過程中,從動態(tài)信任根開始動態(tài)地創(chuàng)建動態(tài)信任鏈,對安全初始化驗證碼模塊(SINIT ACM)進行驗證。



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

      本申請的第一實施例提供了一種計算機系統(tǒng),其包括處理器以及存儲器。上述存儲器于操作上耦合至上述處理器,且儲存可信模塊以及上述可信模塊的數(shù)字證書。上述處理器驗證上述數(shù)字證書的數(shù)字簽名,以及當(dāng)上述數(shù)字簽名通過驗證時,根據(jù)上述數(shù)字證書中的第一擴展項中所記錄的與上述可信模塊對應(yīng)的第一哈希值來對上述可信模塊進行驗證。

      本申請的第二實施例提供了一種安全執(zhí)行的方法,適用于處理器。上述安全執(zhí)行的方法包括以下步驟:從存儲器讀取可信模塊以及上述可信模塊的數(shù)字證書;驗證上述數(shù)字證書的數(shù)字簽名;當(dāng)上述數(shù)字簽名通過驗證時,根據(jù)上述數(shù)字證書中的第一擴展項中所記錄的與上述可信模塊對應(yīng)的第一哈希值來對上述可信模塊進行驗證;以及于上述可信模塊驗證通過后允許上述可信模塊所關(guān)聯(lián)的基本輸入輸出系統(tǒng)、操作系統(tǒng)、或軟件應(yīng)用的執(zhí)行。

      值得注意的是,本申請使用的是中國商用密碼算法(例如SM2及SM3),且除了針對可信模塊進行驗證之外,還進一步對可信模塊的數(shù)字證書(或安全性更高的證書鏈)進行驗證,因此可提高安全性的檢驗。關(guān)于本發(fā)明其它附加的特征與優(yōu)點,此領(lǐng)域的熟習(xí)技術(shù)人士,在不脫離本申請的精神和范圍內(nèi),當(dāng)可根據(jù)本案實施方法中所揭露的計算機系統(tǒng)及安全執(zhí)行的方法做些許的更動與潤飾而得到。

      附圖說明

      圖1為根據(jù)本申請一實施例所述的計算機系統(tǒng)的示意圖。

      圖2A及圖2B為根據(jù)本申請一實施例所述的安全執(zhí)行方法的流程圖。

      圖3為根據(jù)本申請一實施例所述的數(shù)字證書的驗證流程圖。

      圖4為根據(jù)本申請一實施例所述的證書鏈的示意圖。

      圖5為根據(jù)本申請一實施例所述的證書鏈的驗證流程圖。

      圖6為根據(jù)本申請一實施例所述的可信模塊的驗證流程圖。

      圖7為根據(jù)本申請一實施例所述以中國商用密碼算法實現(xiàn)的信任鏈傳遞的示意圖。

      具體實施方式

      本章節(jié)所敘述的是實施本申請的最佳方式,目的在于說明本申請的精神而非用以限定本申請的保護范圍,應(yīng)理解下列實施例可經(jīng)由軟件、硬件、固件、或上述任意組合來實現(xiàn)。文中述及由中國國家密碼管理局(Office of State Cryptography Administration)所制訂的中國商用密碼算法(例如SM2及SM3)的規(guī)格標(biāo)準(zhǔn)書僅用以協(xié)助表達(dá)本申請的精神,而非用以限制本申請的保護范圍。

      圖1為根據(jù)本申請一實施例所述的計算機系統(tǒng)的示意圖。計算機系統(tǒng)100包括處理器110以及存儲器120,其中存儲器120操作上耦合至處理器110。計算機系統(tǒng)100可為桌上型計算機、平板計算機、筆記型計算機、工作站、功能型手機、智能型手機、或任何電子計算裝置。

      在一實施例,存儲器120可為非瞬時(non-transitory)的計算機可讀取儲存媒體,例如:閃存(Flash memory),用以儲存可信模塊(trusted module)以及可信模塊的數(shù)字證書(Digital Certificate,DC)或證書鏈。在某些實施例中,為了增加辨識度,存儲器120還儲存用戶身份信息,明確來說,用戶身份信息可包括:使用者姓名或賬號名、使用者性別、以及/或使用者所屬工作單位名稱等。在對辨識度要求不高的實施例中,可以使用默認(rèn)的用戶身份信息來參與可信模塊的數(shù)字證書的驗證(圖3會詳述)。

      處理器110可為通用處理器、微處理器(Micro Control Unit,MCU)、應(yīng)用處理器(Application Processor,AP)、或數(shù)字信號處理器(Digital Signal Processor,DSP)等。明確來說,處理器110包括儲存裝置10、微碼執(zhí)行單元(Microcode Executing Unit)20、電子熔絲存儲器(efuse)30、以及微碼只讀存儲器(Microcode Read-Only Memory,Microcode ROM)40。

      儲存裝置10可為隨機存取存儲器或高速緩存,用以儲存從存儲器120讀取出來的數(shù)據(jù),例如:可信模塊、可信模塊的數(shù)字證書或證書鏈、以及/或用戶身份信息。

      微碼執(zhí)行單元20可包括各式電路邏輯,用以從儲存裝置10及電子熔絲存儲器30中讀取或?qū)懭霐?shù)據(jù)、并加載并執(zhí)行微碼只讀存儲器40中所儲存的微碼,以提供本申請的安全執(zhí)行方法。

      本領(lǐng)域技術(shù)人員當(dāng)可理解,微碼執(zhí)行單元20中的電路邏輯通??砂ǘ鄠€晶體管,用以控制該電路邏輯的運作以提供所需的功能及操作。還進一步的,晶體管的特定結(jié)構(gòu)及其之間的連結(jié)關(guān)系通常是由編譯器所決定,例如:緩存器轉(zhuǎn)移語言(Register Transfer Language,RTL)編譯器可由處理器所運作,將類似匯編語言碼的指令文件(script)編譯成適用于設(shè)計或制造該電路邏輯所需的形式。

      電子熔絲存儲器30為可編程的熔絲結(jié)構(gòu)存儲器,用以儲存由中國商用密碼算法(例如SM2及SM3)所預(yù)先產(chǎn)生的可信信息,本發(fā)明利用這些可信信息以建立靜態(tài)信任根(Static Root of Trust for Measurement,SRTM)或動態(tài)信任根(Dynamic Root of Trust for Measurement,DRTM)。明確來說,建立靜態(tài)/動態(tài)信任根所需的可信信息至少包括:可信模塊的數(shù)字證書的公鑰哈希值(hash value)Hpubk、用戶身份信息的哈希值HENTL_ID、以及可信模塊的版本號Vn。

      微碼只讀存儲器40用以儲存由微碼(microcode)所構(gòu)成的軟件模塊,明確來說,軟件模塊包括:靜態(tài)入口41、動態(tài)入口42、中國商用密碼算法SM2模塊43、中國商用密碼算法SM3模塊44、證書驗證模塊45、證書鏈驗證模塊46、以及可信模塊驗證模塊47。

      處理器110在重置(例如:計算機系統(tǒng)100開機時)之后,會直接進入靜態(tài)入口41,透過靜態(tài)入口41中所記錄的默認(rèn)值取得可信模塊在存儲器120中的起始地址、以及可信模塊的數(shù)字證書在存儲器120中的地址,并且將可信模塊及其數(shù)字證書讀取到儲存裝置10。值得注意的是,建立靜態(tài)信任根是為了確保開機的安全性,因此此時可信模塊為可信固件(trusted firmware),例如基本輸入輸出系統(tǒng)的驗證碼模塊。

      在軟件(例如:操作系統(tǒng)或軟件應(yīng)用(APP))執(zhí)行過程中,特定指令(例如:x86系統(tǒng)中的GETSEC指令)會觸發(fā)處理器110進入特定模式并檢查與該軟件相配套的硬件平臺設(shè)定(例如:芯片組的設(shè)定)是否滿足建立動態(tài)信任根的前提條件,如果前提條件都滿足了,則進入動態(tài)入口42,透過動態(tài)入口42接收該特定指令的參數(shù)所傳遞的信息,包括:可信模塊在存儲器120中的起始地址、以及可信模塊的數(shù)字證書在存儲器120中的地址,然后將可信模塊及其數(shù)字證書讀取到儲存裝置10。值得注意的是,建立動態(tài)信任根是為了保證軟件(操作系統(tǒng)或軟件應(yīng)用)執(zhí)行的安全性,因此這里的可信模塊為操作系統(tǒng)或軟件應(yīng)用的可信功能區(qū)塊之一。

      中國商用密碼算法SM2模塊43為依據(jù)中國國家密碼管理局所制訂的規(guī)格標(biāo)準(zhǔn)書提供的加密算法,規(guī)格標(biāo)準(zhǔn)書例如包括:GM/T-0003-2012、GM/T-0009-2012、GM/T-0010-2012、以及GM/T-0015-2012。

      中國商用密碼算法SM3模塊44為依據(jù)中國國家密碼管理局所制訂的規(guī)格標(biāo)準(zhǔn)書(例如:GM/T-0004-2012)提供的加密算法。值得注意的是,本說明書后面的敘述均采用中國商用密碼算法SM2及SM3來驗證數(shù)字證書、證書鏈以及可信模塊本身,但本發(fā)明不限于此,即是說,中國商用密碼算法SM2模塊43以及SM3模塊44也可以采取其它密碼算法。

      證書驗證模塊45用以提供驗證數(shù)字證書的功能,明確來說,其針對可信模塊的數(shù)字證書進行驗證以確保其可信狀態(tài)。相關(guān)的驗證流程將于圖3作進一步說明。

      證書鏈驗證模塊46用以提供驗證證書鏈的功能,明確來說,其針對可信模塊的證書鏈進行驗證以確保其可信狀態(tài)。相關(guān)的驗證流程將于圖5作進一步說明。

      可信模塊驗證模塊47用以提供驗證可信模塊的功能,明確來說,其針對可信模塊進行驗證以確保其可信狀態(tài)。相關(guān)的驗證流程將于圖6作進一步說明。

      雖未繪示,圖1所示的計算機系統(tǒng)還可進一步包括其它功能組件,例如:顯示裝置(如:液晶顯示器(Liquid-Crystal Display,LCD)、發(fā)光二極管(Light-Emitting Diode,LED)顯示器、或電子紙顯示器(Electronic Paper Display,EPD)等)、有線/無線網(wǎng)絡(luò)接口、電源供應(yīng)器、輸入輸出裝置(如:按鈕、鍵盤、鼠標(biāo)、觸碰板、視訊鏡頭、麥克風(fēng)、以及/或喇叭等),且本申請的保護范圍不在此限。

      圖2A及圖2B為根據(jù)本申請一實施例所述的安全執(zhí)行方法的流程圖。首先,若是針對安全開機,則微碼執(zhí)行單元20于系統(tǒng)開機時進入靜態(tài)入口,若是針對操作系統(tǒng)/軟件應(yīng)用的安全運行,則微碼執(zhí)行單元20于操作系統(tǒng)/軟件應(yīng)用執(zhí)行時進入動態(tài)入口。透過靜態(tài)入口或動態(tài)入口取得可信模塊在存儲器120中的起始地址、以及可信模塊的數(shù)字證書/證書鏈在存儲器120中的地址(步驟201),然后,微碼執(zhí)行單元20將可信模塊及其數(shù)字證書讀取到儲存裝置10(步驟202)。值得注意的是,「可信模塊」在針對安全開機時指可信固件(例如:基本輸入輸出系統(tǒng)的驗證碼模塊);「可信模塊」在針對操作系統(tǒng)/軟件應(yīng)用安全執(zhí)行時指可信功能區(qū)塊(例如:操作系統(tǒng)或軟件應(yīng)用的功能區(qū)塊之一)。

      進一步說明,如果在存儲器120中所儲存的是證書鏈,則微碼執(zhí)行單元20僅先讀取證書鏈中的根證書(root certificate)。

      接著,微碼執(zhí)行單元20使用中國商用密碼算法SM3計算出數(shù)字證書的公鑰哈希值H’pubk(步驟203),然后把H’pubk與電子熔絲存儲器30所儲存的公鑰哈希值Hpubk做比對(步驟204),若相同,則表示該公鑰合法,并接續(xù)進行數(shù)字證書的驗證(步驟205)。關(guān)于驗證數(shù)字證書的詳細(xì)流程將于圖3進一步說明。反之,若公鑰不合法,則中止(abort)系統(tǒng)開機的程序、或中止操作系統(tǒng)/軟件應(yīng)用的執(zhí)行(步驟206)。

      在根據(jù)數(shù)字證書的驗證完成后,微碼執(zhí)行單元20決定其驗證結(jié)果是否指示數(shù)字證書合法(步驟207),若是,則微碼執(zhí)行單元20從儲存裝置10讀取數(shù)字證書的基本證書域(TBSCertificate),并從基本證書域中的擴展項(extension)讀取該數(shù)字證書的證書鏈長度(Certificate Chain Length,CCL)(步驟208);反之,若數(shù)字證書不合法,則流程前往步驟S206。

      接續(xù)步驟S208,微碼執(zhí)行單元20決定證書鏈長度等于1或大于1(步驟209),如果證書鏈長度大于1,則微碼執(zhí)行單元20執(zhí)行證書鏈的驗證(步驟210)。明確來說,證書鏈的驗證依據(jù)證書鏈中的多個數(shù)字證書之間的順序關(guān)系,由根證書往葉證書(leaf certificate)的方向一個證書一個證書逐級進行驗證,關(guān)于驗證證書鏈的詳細(xì)流程將于圖5進一步說明。反之,如果證書鏈長度等于1,則微碼執(zhí)行單元20從數(shù)字證書的擴展項中讀取與可信模塊對應(yīng)的哈希值Htf及版本號V’n(步驟211)。

      之后,微碼執(zhí)行單元20把V’n與電子熔絲存儲器30所儲存的Vn做比對(步驟212),若V’n舊于Vn,則表示可信模塊已過期,則流程前往步驟S206。反之,若V’n新于或等于Vn,則微碼執(zhí)行單元20執(zhí)行可信模塊的驗證(步驟213),然后流程結(jié)束。關(guān)于驗證可信模塊的詳細(xì)流程將于圖6進一步說明。

      圖3為根據(jù)本申請一實施例所述的數(shù)字證書的驗證流程圖。首先,微碼執(zhí)行單元20從電子熔絲存儲器30讀取HENTL_ID(步驟301),然后從存儲器120讀取用戶身份信息,再使用中國商用密碼算法SM3計算用戶身份信息的哈希值H’ENTL_ID并儲存至儲存裝置10(步驟302)。

      接著,微碼執(zhí)行單元20把H’ENTL_ID與HENTL_ID做比對(步驟303),若相同,才繼續(xù)執(zhí)行數(shù)字證書的驗證;若不同,則流程前往步驟S206。

      接續(xù)步驟303,若H’ENTL_ID相同于HENTL_ID,則微碼執(zhí)行單元20根據(jù)預(yù)處理程序1計算出包含用戶身份信息的哈希值Z(步驟304),預(yù)處理程序1例如為圖1中的中國商用密碼算法SM2模塊43采用規(guī)格標(biāo)準(zhǔn)書GM/T-0009-2012所規(guī)定的預(yù)處理程序;然后將哈希值Z與數(shù)字證書的基本證書域進行拼接,并根據(jù)預(yù)處理程序2計算出哈希值H(步驟305),預(yù)處理程序2例如為圖1中的中國商用密碼算法SM2模塊43采用規(guī)格標(biāo)準(zhǔn)書GM/T-0009-2012所規(guī)定的預(yù)處理程序。

      之后,微碼執(zhí)行單元20根據(jù)中國商用密碼算法SM2相關(guān)的數(shù)字簽名驗證算法及流程來驗證數(shù)字證書的數(shù)字簽名(步驟306),然后流程結(jié)束。這里的數(shù)字簽名驗證算法及流程例如為圖1中的中國商用密碼算法SM2模塊43采用規(guī)格標(biāo)準(zhǔn)書GM/T-0003.2-2012所規(guī)定的數(shù)字簽名驗證算法及流程。也就是說,若數(shù)字簽名通過驗證即代表數(shù)字證書合法,反之,則代表數(shù)字證書不合法。

      值得注意的是,在另一些對用戶辨識度要求不高的實施例中,步驟S304可以直接使用默認(rèn)的用戶身份信息計算哈希值Z,而在步驟S305使用默認(rèn)的用戶身份信息計算的哈希值Z以對數(shù)字證書的基本證書域計算哈希值。在這種實施例中,存儲器120中無需存儲用戶身份信息,因此無需執(zhí)行步驟S301至S303的驗證存儲器120中的用戶身份信息的步驟。

      圖4為根據(jù)本申請一實施例所述的證書鏈的示意圖。在此實施例,所示為3級證書鏈,其中每一證書為采固定格式的證書,例如每一證書均為自簽名X509V3證書且遵守規(guī)格標(biāo)準(zhǔn)書GM/T-0015-2012的規(guī)定。

      如圖4所示,根證書至少包含了根認(rèn)證中心(Certificate Authority,CA)的標(biāo)示名(Distinguished Name,DN)、根認(rèn)證中心的公鑰、以及根證書的數(shù)字簽名。中級證書(intermediate certificate)至少包含了中級認(rèn)證中心的標(biāo)示名、中級認(rèn)證中心的公鑰、根認(rèn)證中心的標(biāo)示名、以及中級證書的數(shù)字簽名。葉證書至少包含了葉認(rèn)證中心的標(biāo)示名、葉認(rèn)證中心的公鑰、中級認(rèn)證中心的標(biāo)示名、葉證書的數(shù)字簽名、以及葉證書的擴展項,其中,葉證書的擴展項包含了可信模塊的哈希值。

      需特別說明的是,證書鏈所包括的三個數(shù)字證書之間的驗證有特定的順序關(guān)系:由根證書驗證中級證書、由中級證書驗證葉證書、由葉證書驗證可信模塊。其中,還進一步由中級證書回溯根證書、由葉證書回溯中級證書。

      具體而言,首先根據(jù)根認(rèn)證中心的公鑰驗證根證書的數(shù)字簽名(如圖2的步驟S205,其具體步驟參考圖3),如果根證書驗證通過時(如圖2的步驟S207的“是”),并且中級證書中所包含的根認(rèn)證中心的標(biāo)示名與根證書的根認(rèn)證中心的標(biāo)示名匹配時,微碼執(zhí)行單元20根據(jù)驗證通過的根證書中的根認(rèn)證中心的公鑰驗證中級證書的數(shù)字簽名(驗證中級證書的的數(shù)字簽名的具體步驟也可參考圖3);當(dāng)葉證書所包含的中級認(rèn)證中心的標(biāo)示名與中級證書的中級認(rèn)證中心的標(biāo)示名匹配時,微碼執(zhí)行單元20根據(jù)驗證通過的中級證書中的中級認(rèn)證中心的公鑰驗證葉證書的數(shù)字簽名(驗證葉證書的的數(shù)字簽名的具體步驟也可參考圖3)。也就是說,若一個一個來看,對當(dāng)前的數(shù)字證書來說,其包含的公鑰用以驗證下一級證書的數(shù)字簽名,此外,還能根據(jù)認(rèn)證中心的標(biāo)示名去回溯上一級證書。而對整條證書鏈來說,只有葉證書的擴展項包含了本申請?zhí)赜械膮?shù)字段,具體來說,參數(shù)除了可信模塊的哈希值之外,還可進一步包括:固件類型、證書鏈長度、以及可信模塊的版本號等信息用于可信模塊進行驗證。驗證可信模塊的詳細(xì)流程將于圖6進一步說明。

      本領(lǐng)域技術(shù)人員當(dāng)可理解,本申請所述數(shù)字證書也可采用X509以外其它的已知規(guī)格、或任何自訂的證書格式,且本申請的保護范圍不在此限。

      圖5為根據(jù)本申請一實施例所述的證書鏈的驗證流程圖。由于根證書已于步驟S202完成讀取了,所以在本流程首先,微碼執(zhí)行單元20從存儲器120將證書鏈中剩余的數(shù)字證書都讀取到儲存裝置10(步驟501),然后將當(dāng)前的數(shù)字證書(以圖4的范例來說,即指中級證書)視為證書x、將其上級的數(shù)字證書(以圖4的范例來說,即指根證書)視為證書x-1(步驟502)。

      接著,微碼執(zhí)行單元20從證書x-1取得用以驗證證書x的公鑰(步驟503),并根據(jù)證書x的認(rèn)證中心、版本號、以及數(shù)字簽名來驗證證書x的合法性(步驟504)。明確來說,微碼執(zhí)行單元20可先比對證書x與證書x-1的認(rèn)證中心的標(biāo)示名是否相同,接著根據(jù)圖3的步驟304~306的流程對證書x的數(shù)字簽名進行驗證。

      根據(jù)驗證結(jié)果,微碼執(zhí)行單元20決定證書x是否合法(步驟505),若否,則流程前往步驟S206;反之,若證書x合法,則決定證書x是否為證書鏈中的最后一個證書(步驟506)。

      接續(xù)步驟S506,如果證書x不是證書鏈中的最后一個證書,則將x累加為x+1(步驟507),流程返回至步驟S503持續(xù)往下一級證書進行驗證。

      接續(xù)步驟S506,如果證書x是證書鏈中的最后一個證書,則微碼執(zhí)行單元20取得證書鏈中的最后一個數(shù)字證書(以圖4的范例來說,即指葉證書)(步驟508),然后流程結(jié)束。

      圖6為根據(jù)本申請一實施例所述的可信模塊的驗證流程圖。首先,微碼執(zhí)行單元20使用中國商用密碼算法SM3計算出儲存裝置10中可信模塊的哈希值H’tm(步驟601),然后將該哈希值H’tm與從數(shù)字證書的擴展項中取得的可信模塊的哈希值Htm進行比對(步驟602)。

      若比對結(jié)果是相同的,則微碼執(zhí)行單元20從儲存裝置10中的可信模塊讀取其與硬件平臺相關(guān)的信息(步驟603),然后根據(jù)該信息決定可信模塊是否符合計算機系統(tǒng)100的硬件平臺規(guī)格(步驟604)。明確來說,可信模塊中除了待執(zhí)行的程序代碼之外,還包括與硬件平臺相關(guān)的信息,而微碼執(zhí)行單元20可根據(jù)這些信息來決定可信模塊是否與計算機系統(tǒng)100的硬件平臺規(guī)格相匹配,這些信息包括:適用的芯片組清單、以及版本號等信息。

      接續(xù)步驟S604,如果符合,則決定可信模塊通過驗證并允許執(zhí)行可信模塊(步驟605),換句話說,即允許可信模塊所關(guān)聯(lián)的系統(tǒng)開機或操作系統(tǒng)/軟件應(yīng)用執(zhí)行。反之,如果不符合,則流程前往步驟S206。

      圖7為根據(jù)本申請一實施例所述以中國商用密碼算法實現(xiàn)的信任鏈傳遞的示意圖。為了因應(yīng)不同的使用場景,計算機系統(tǒng)中有的軟/固件是要求防止被竄改的,而有的軟/固件則允許視情況進行的更新或修改,為了方便說明,可將前者軟/固件稱為可信模塊(Trusted Module,TM),后者則可稱為非可信模塊(Non-Trusted Module,NTM)。

      在計算機系統(tǒng)開機或運行的過程中,可信模塊與非可信模塊可同時存在并組成一個鏈,以鏈為單位交錯運行。對于由多個可信模塊所構(gòu)成的可信模塊鏈來說,每一可信模塊均可使用圖2所述的安全執(zhí)行方法流程來驗證,以建構(gòu)基于中國商用密碼算法的信任鏈,包括:靜態(tài)信任鏈、及動態(tài)信任鏈。

      如圖7所示,在處理器通電后(意即計算機系統(tǒng)開機后),首先進行子信任鏈0的驗證,由于子信任鏈0為靜態(tài)信任鏈,其中,從根據(jù)可信信息建立靜態(tài)信任根(如圖2所示的流程直至數(shù)字證書/證書鏈驗證通過,則靜態(tài)信任根建立)開始,再根據(jù)靜態(tài)信任根對可信模塊TM0_0進行驗證,然后接著按可信模塊之間的順序關(guān)系,逐一由當(dāng)前可信模塊向下級可信模塊進行驗證。在子信任鏈0的驗證結(jié)束后,接續(xù)的是非可信模塊鏈0的執(zhí)行,需了解的是,非可信模塊由于不具備安全屬性因此不會對其進行驗證,但其為計算機系統(tǒng)100執(zhí)行時的必要模塊。

      在非可信模塊鏈0的執(zhí)行結(jié)束后,接著進行子信任鏈1的驗證,由于子信任鏈1為動態(tài)信任鏈,其中,從根據(jù)可信信息建立動態(tài)信任根(如圖2所示的流程直至數(shù)字證書/證書鏈驗證通過,則動態(tài)信任根建立)開始,再根據(jù)動態(tài)信任根0對可信模塊TM1_0進行驗證,然后接著按可信模塊之間的順序關(guān)系,逐一由當(dāng)前可信模塊向下級可信模塊進行驗證。在子信任鏈1的驗證結(jié)束后,接續(xù)的是非可信模塊鏈1的執(zhí)行。之后,多條動態(tài)信任鏈的驗證持續(xù)往下,從子信任鏈2到子信任鏈m,其中再穿插非可信模塊鏈2到非可信模塊鏈m的執(zhí)行。如前所述,本申請可根據(jù)觸發(fā)指令(例如:x86系統(tǒng)中的GETSEC指令)創(chuàng)建出多條動態(tài)信任鏈。即是說,當(dāng)處理器執(zhí)行觸發(fā)指令(例如x86系統(tǒng)中的GETSEC指令)時,處理器執(zhí)行多個可信模塊的第一個的驗證,并逐一由多個可信模塊的其中一個向下一個進行驗證,從而建立動態(tài)信任鏈。每一動態(tài)信任鏈所包括的可信模塊關(guān)聯(lián)至操作系統(tǒng)或軟件應(yīng)用的功能區(qū)塊,處理器在操作系統(tǒng)或軟件應(yīng)用被執(zhí)行時,針對其每一功能區(qū)塊分別建立不同的動態(tài)信任鏈。

      在建構(gòu)基于中國商用密碼算法的信任鏈時,可能還需要利用可信密碼模塊(Trusted Cryptography Module,TCM)或可信平臺模塊(Trusted Platform Module,TPM)提供的可信儲存功能,此功能需要使用中國商用密碼算法對其儲存的內(nèi)容進行保護,而儲存的內(nèi)容可包括:用于驗證某個模塊的密鑰、對某個模塊的量測結(jié)果等。

      根據(jù)上述圖2、圖3、圖5、圖6、圖7的實施例,當(dāng)可理解的是,本申請的安全執(zhí)行的方法,使用中國商用密碼算法實現(xiàn)基于靜態(tài)信任根或動態(tài)信任根的安全開機以及安全執(zhí)行系統(tǒng)軟件。值得注意的是,相較于英特爾的TXT技術(shù),其使用的是RSA或SHA-256加密算法,且針對可信模塊進行驗證;而本申請使用的是中國商用密碼算法(例如SM2及SM3),且除了針對可信模塊進行驗證之外,還進一步對可信模塊的數(shù)字證書(或安全性更高的證書鏈)進行驗證,當(dāng)可提高安全性的檢驗。

      本申請雖以各種實施例揭露如上,然而其僅為范例參考而非用以限定本申請的范圍,任何本領(lǐng)域技術(shù)人員,在不脫離本申請的精神和范圍內(nèi),當(dāng)可做些許的更動與潤飾。因此上述實施例并非用以限定本申請的范圍,本申請的保護范圍當(dāng)視權(quán)利要求書所界定的為準(zhǔn)。

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