TW201502855A - 使用安全加強晶片之用於資料之安全儲存之系統、方法及裝置 - Google Patents

使用安全加強晶片之用於資料之安全儲存之系統、方法及裝置 Download PDF

Info

Publication number
TW201502855A
TW201502855A TW103112004A TW103112004A TW201502855A TW 201502855 A TW201502855 A TW 201502855A TW 103112004 A TW103112004 A TW 103112004A TW 103112004 A TW103112004 A TW 103112004A TW 201502855 A TW201502855 A TW 201502855A
Authority
TW
Taiwan
Prior art keywords
request
hash value
data
computer processor
key
Prior art date
Application number
TW103112004A
Other languages
English (en)
Inventor
Sergey Ignatchenko
Dmytro Ivanchykhin
Original Assignee
Ologn Technologies Ag
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ologn Technologies Ag filed Critical Ologn Technologies Ag
Publication of TW201502855A publication Critical patent/TW201502855A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

本發明提供一種電腦處理器及一種安全加強晶片。在一態樣中,該電腦處理器可包含:一儲存器,用於儲存一加密金鑰;一中央處理單元(CPU),其經組態以執行一或多個軟體程式;及一電路,其經組態以計算一雜湊函數以產生載入至該電腦處理器中之資料之一雜湊值,且針對由在該CPU上運行之一軟體程式所啟始之一請求產生一鑑認符記。在另一態樣中,該安全加強晶片可包括:一第一儲存器,用於儲存一加密金鑰;一第二儲存器,用於儲存一憑證;一雜湊儲存器;及電路組件,其等經組態以使用第一憑證來確認添加該加密金鑰至該第一儲存器及儲存一第一雜湊至該雜湊儲存器的命令,且若該請求中之一第二雜湊係等於該第一雜湊,則處理一請求。

Description

使用安全加強晶片之用於資料之安全儲存之系統、方法及裝置 相關申請案交叉參考
本申請案主張2013年3月29日申請之美國臨時申請案第61/806,639號之題為「Systems,Methods and Apparatuses for Secure Storage of Data Using a Security-enhancing Chip」之優先權,該案內容之全文以引用方式併入本文中。
本文描述之系統、方法及裝置係關於資料儲存之安全,且特定言之,係關於使用安全儲存在一外部儲存器中之資料之一電腦系統。
一電腦處理器通常使用各種用於資料(例如,程式碼,或由程式碼操作之資料)的儲存器。舉例而言,除晶片上快取記憶體(例如,L1、L2快取)外,為計算需要,一現代電腦處理器亦需要存取其主機電腦系統之主記憶體。然而,因為資料可能被竄改或(甚至更糟)可為惡意的,故自電腦處理器(諸如,主記憶體)外部載入資料具有諸多安全風險。因此,為安全目的,有時可期望特定資料(例如,安全相關邏輯、BIOS)受到防竄改的保護、防讀取的保護或兩者均有。
一現存解決方案將欲保護之資料儲存在電腦處理器晶片上。然而,此解決方案係受電腦晶片上可用之非揮發性儲存空間的限制。再者,增加非揮發性儲存空間以容納更多資料通常不切實際。因此,本 技術中存在將特定資料安全儲存在一電腦處理器晶片外部之一儲存器中之一需要。
100‧‧‧系統
105‧‧‧處理器
110‧‧‧中央處理單元
115‧‧‧私密金鑰
120‧‧‧記憶體快取
130‧‧‧安全加強晶片
135‧‧‧計時器區塊
140‧‧‧接近性確認模組
145‧‧‧公開金鑰
150‧‧‧憑證
155‧‧‧雜湊儲存器
160‧‧‧通信通道
200‧‧‧程序
205‧‧‧方塊
210‧‧‧方塊
215‧‧‧方塊
220‧‧‧方塊
225‧‧‧方塊
300‧‧‧開機程序
305‧‧‧方塊
310‧‧‧方塊
315‧‧‧方塊
320‧‧‧方塊
325‧‧‧程序
330‧‧‧方塊
335‧‧‧方塊
340‧‧‧方塊
345‧‧‧方塊
350‧‧‧方塊
355‧‧‧方塊
360‧‧‧方塊
365‧‧‧方塊
圖1係根據本發明之一例示性系統之一方塊圖。
圖2係根據本發明圖解說明用於製備一電腦處理器及一安全加強晶片之一例示性程序之一流程圖。
圖3A係根據本發明圖解說明在一系統開機期間用於載入及執行程式碼之一例示性程序之一流程圖。
圖3B係根據本發明圖解說明用於一電腦處理器自安全加強晶片讀取資料之一例示性程序之一流程圖。
本文連同以下說明及附圖描述根據本發明之系統、裝置及方法之特定繪示性態樣。然而,此等態樣係指示其中可採用本發明原理之各種方法之僅一些,且本發明意欲包含全部此等態樣及其等等效物。當結合圖式考慮時,可自以下詳細描述明白本發明之其他優勢及新穎特徵。
在以下詳細描述中,陳述若干具體細節以提供本發明之一透徹理解。在其他情況下,並未詳細展示已知結構、介面及程序以避免不必要模糊本發明。然而,一般技術者將明白不一定要使用本文所揭示之具體細節以實踐本發明,且除了如專利申請範圍所敘述的細節,這些細節並非代表對於本發明之範疇之一限制。不意欲將本說明書之任何部分解釋為否定本發明之完整範疇之任何部分。儘管已描述本發明之特定實施例,但此等實施例同樣並非意欲限制本發明之完整範疇。
圖1展示根據本發明之系統100,系統100可具有一處理器105及一安全加強晶片130,其等係透過一通信通道160連接。通信通道160可屬於任何性質,例如,其可係藉由其中安裝有處理器105及安全加 強晶片130之電腦系統主機板(未展示)提供之一有線連接。
處理器105可具有可執行一或多個軟體程式之一中央處理單元110、一記憶體快取120及一私密金鑰115。私密金鑰115對於各處理器105係唯一且可依不得曝露在處理器105外部之一方式儲存。當製造處理器105時,私密金鑰115可添加至處理器105且可儲存在處理器105內部之一非揮發性記憶體中。舉例來說(但非作為限制),一或多個軟體程式可包括一或多個作業系統、BIOS可執行模組、軟體應用程式或任何其他可執行模組。
處理器105可經組態(i)以自實體記憶體(未展示)之位址之一預定義範圍載入資料至記憶體快取120及(可選擇地)將其鎖定(因此防止其將來更新);(ii)使用一預定義雜湊函數以計算資料之雜湊;(iii)以使用私密金鑰115簽署雜湊值及(例如)在安全加強晶片130之請求下報告經簽署值;及(iv)以使用讀取至記憶體快取120且鎖定在其內之資料,自以上提及之位址之預定義範圍內之一具體位址開始執行。在一些實施例中,至少一些操作可在經特定調整用於此等操作之處理器105內之硬體組件中執行。舉例而言,可藉由一電路組件(諸如,運行韌體之一微控制器、場可程式化閘陣列(FPGA)或一專用積體電路(ASIC))執行計算預定義雜湊函數及/或使用私密金鑰115簽署具有雜湊值之一訊息。
安全加強晶片130可具有:一非揮發性儲存器,其儲存對應於處理器105之私密金鑰115之一公開金鑰145;另一非揮發性儲存器,其儲存包括可用於發送至晶片130之訊息之簽章驗證之一或多個公開金鑰之一憑證150;及一雜湊儲存器155,其可用於儲存一或多個雜湊值(將在以下更詳細討論其等之使用)。在一些實施例中,雜湊儲存器155亦可儲存與雜湊之各者相關聯之一些資料。應注意,在一些實施例中,用於公開金鑰145、憑證150及雜湊儲存器155之儲存可藉由一 單一非揮發性記憶體區塊組合及實施。在一些其他實施例中,用於公開金鑰145、憑證150及雜湊儲存器155之儲存可藉由兩個或兩個以上各別記憶體區塊實施或甚至各者藉由一各別記憶體區塊實施。
在一些實施例中,安全加強晶片130可具有一計時器區塊135及一接近性確認模組140。計時器區塊135及接近性確認模組140可分別實施於硬體或硬體及軟體之一組合中。舉例而言,計時器區塊135及接近性確認模組140之任一者或兩者可實施於專用積體電路(ASIC)中,或晶片130可包含可程式處理電路以實施模組。在一些實施例中,接近性確認模組140可產生一通信訊息以發送至處理器105,且自處理器105接收對於訊息之一或多個回應。在此等實施例中,計時器區塊135可計算自發送通信訊息至接收第一回應之間之一時間間隔。基於所接收之回應及由計時器區塊135計算之時間,接近性確認模組140可判定處理器105是否位於一特定距離內。
可在2013年3月15日申請之美國臨時專利申請案61/792,996號,題為「Systems,Methods and Apparatuses for Ensuring Proximity of Communication Device」(該案內容之全文以引用方式併入本文中)中發現使用一計時器及一接近性確認模組之接近性確認之一非限制實例。舉例而言,在一些實施例中,使用計時器區塊135及接近性確認模組140,安全加強晶片130可驗證處理器105位於一距離(例如,0.5米或更少)內,其對應於組裝在相同主機板上之零件之間的距離。
在一些實施例中,一安全加強晶片130可包括與可信任平台模組(TPM)之功能相似的功能。
圖2展示系統100之製造之一例示性程序200。在方塊205處,可製造一處理器105及可產生一公開/私密金鑰對,且將其指派給處理器105。私密金鑰115可儲存在處理器105中,而公開金鑰可提供給處理器105之製造商。在一實施例中,可使用一隨機數目個產生器(未展 示)(諸如,例如定位在處理器105內之基於熱雜訊或基於齊納雜訊之一產生器)來產生公開/私密金鑰對。在其他實施例中,可在外部產生公開/私密金鑰對,且私密金鑰115可在製造處理器105時傳送至處理器105中。
在方塊210處,可儲存公開金鑰以備將來使用。舉例而言,處理器105之製造商可儲存用於所製造之全部處理器105的公開金鑰,且提供公開金鑰至安全加強晶片130的製造商。可期望限制對於製造設備之存取,以便於確保僅報告「較佳」公開金鑰(即,來自實際製造之處理器的金鑰而非惡意產生的偽金鑰集)。
在方塊215處,可製造安全加強晶片130。在製造程序中,一憑證150可永久儲存在晶片130中使得以後修改係不可行。應注意,在製造時,晶片130可不具有儲存在其中之公開金鑰145且公開金鑰145可以後儲存為晶片130之一初始化程序之一部分。在一些實施例中,除非添加公開金鑰145,否則晶片130被視為未初始化且不具完整功能。
在方塊220處,可組裝系統100且一加密金鑰(例如,對應於私密金鑰115之公開金鑰145)可添加至安全加強晶片130。為加強安全,添加一加密金鑰之一命令可使用對應於憑證150中之一公開金鑰之一私密金鑰簽署。簽署該命令可藉由存取私密金鑰之任何實體(例如,晶片130之製造商或一經授權第三方)執行。可使用憑證150驗證簽章。在一些實施例中,在簽署命令之前,晶片130之製造商可在處理器105之製造商之幫助下驗證添加至安全加強晶片130之加密金鑰確實係對應於一實際製造之處理器105之一私密金鑰之一公開金鑰。
在方塊225處,一或多個雜湊值可儲存在雜湊儲存器155中。可藉由一方(例如,一經授權第三方或晶片130之製造商)簽署儲存一雜湊值之一命令,且晶片130在實際執行此命令之前驗證簽章。在一些實施例中,可使用與用以簽署添加一金鑰之命令相同之私密金鑰簽署 儲存一雜湊值之命令。在一些其他實施例中,可使用與簽署添加一金鑰之命令之私密金鑰不同之一私密金鑰簽署儲存一雜湊值之命令。進一步而言,在一些實施例中,一命令可伴隨一憑證鏈,該等憑證證明用於簽署命令之一私密金鑰,使得該鏈可使用儲存在晶片中之一憑證確認。
再者,在一些實施例中,一單一命令可用以添加公開金鑰145且儲存一或多個雜湊值至安全加強晶片。在此等實施例中,可使用私密金鑰簽署單一命令且可使用憑證150驗證簽章。
圖3A展示系統100之一例示性開機程序300。在方塊305處,處理器105可自位址之一預定義範圍讀取資料。可在一外部實體記憶體內界定預定義範圍(例如,在十六進記法中自位址0×0至0×FFFFF)。在一些實施例中,此範圍可對應一隨機存取記憶體(RAM)內之一記憶體區段;在其他實施例中,其可對應於外部唯讀記憶體(ROM)之整體範圍;在另其他實施例中,來自ROM之資料初始可複製至RAM。
在方塊310處,處理器105可將在方塊305處讀取之資料複製至一處理器快取(例如,記憶體快取120)且(可選擇地)將其鎖定於其中,即,防止資料在處理器運行時更新。
在一些實施例中,自ROM中位址之一個別範圍讀取之一些或全部資料區段可在處理器內部鑑認,且僅當資料鑑認係成功時,可認為讀取操作係成功。此一讀取程序可確保自ROM內之一資料區段讀取之內容對於跨彼區段之任何成功讀取操作將係相同。在一非限制實例中,一外部ROM可依一安全格式儲存資料且一處理器可實施確認機制以確認依安全格式儲存之資料。舉例而言,安全格式可係鑑認、加密或兩者,且處理器可實施在硬體(諸如,在ASIC中實施之確認演算法之一記憶體控制器)或軟體(諸如,藉由處理器或處理器之記憶體控制器執行之可執行碼)中之對應確認機制。可如在2014年3月12日申請 之美國專利申請案第14/206,992號,題為「Systems,Methods and Apparatuses for Using a Secure Non-Volatile Storage with a Computer Processor」(該案內容之全文以引用方式併入本文中)中所討論實施處理器105之一例示性實施例及外部ROM(未展示)。在此等實施例中,因為每當處理器105需要一特定資料區段時,可重新讀取此區段,故無需快取資料且將其鎖定在資料快取中。應注意,在此等實施例中,若需要,處理器105仍可快取(及可選擇地鎖定)資料。
在區塊315處,使用一預定義雜湊函數,處理器105可計算在方塊305處讀取之資料之一雜湊且將雜湊值儲存在處理器105內(例如,在記憶體快取120中)。應注意,在一些實施例中,可組合在方塊305、310及315中執行之操作。在此等實施例中,當正自位址之一預定義範圍讀取資料時,處理器105可計算一雜湊。
在方塊320處,處理器105可使用複製至處理器快取之資料,自預定義範圍內之一預定義位址開始執行。舉例而言,處理器105可自儲存在記憶體快取120中對應於十六進計法中之邏輯位址0×0之一命令開始執行。
圖3B展示針對由處理器105發送至安全加強晶片130之資料形成及處理一請求之一程序325。舉例而言,針對資料之請求可係先前儲存在晶片130之一加密金鑰或程式碼片斷之一請求。在一些實施例中,可藉由CPU 110執行之一軟體程式啟始發送請求。
在方塊330處,處理器105可將指示將要發送一請求之一訊息發送至晶片130。接著,在方塊335處,安全加強晶片130可接收此訊息、產生一臨時亂數,且將臨時亂數發回至處理器105。
在方塊340處,處理器105可接收臨時亂數,且在方塊345處可針對來自安全加強晶片之資料或服務準備請求。此一請求可係(例如)來自安全加強晶片內之一金鑰儲存器(未展示)之根金鑰憑證之一請求、 將一憑證儲存在安全加強晶片內(如在金鑰儲存器中)之一請求、使用儲存在安全加強晶片內之一私密金鑰(未展示)加密或簽署資料或解密或驗證一簽章之一請求等。除指定何者被請求(例如,先前儲存在晶片130中之一加密金鑰)之資料外,請求可含有在步驟315處計算之一雜湊值及在方塊335處接收之臨時亂數。在一實施例中,可使用私密金鑰115簽署請求。
在方塊350處,可發送請求至安全加強晶片。舉例而言,在完成(及在特定實施例中簽署)請求之準備之後,處理器105可發送請求至安全加強晶片130。在方塊355處,安全加強晶片130可接收請求且驗證所接收請求。舉例而言,若請求被簽署,則晶片130可使用儲存在晶片130內部之公開金鑰145來確認請求之簽章。再者,晶片130可驗證在方塊335處發送之臨時亂數等於隨請求接收之臨時亂數。若成功通過兩個檢查,則晶片130可比較在請求中接收之雜湊值與儲存在雜湊儲存器155中的一或多個值。若未發現匹配,則可拒絕請求。另外,在一些實施例中,安全加強晶片130亦可驗證處理器105係在一距離內,其對應於組裝在相同主機板上之零件之間的距離。若此驗證失敗,則此可指示處理器105及安全加強晶片130並非在相同主機板上,且因此在系統100上發生一攻擊。在此情況中亦可拒絕請求。
若請求滿足全部檢查,則在方塊360處準備一答覆,且將其發回至處理器105。舉例而言,若請求一些資料(例如,一加密金鑰),則可由公開金鑰145來簽署及/或加密資料。在一些實施例中,答覆資料可含有儲存在雜湊儲存器155中與所接收雜湊值相關聯的資料,或可至少部分基於儲存在雜湊儲存器155中與所接收雜湊值相關聯之資料來加以計算。若請求係用於儲存一些資料,則晶片130可儲存在請求中含有之資料,且準備一確認訊息。在一些實施例中,在請求中含有之資料可與接收自處理器105之雜湊相關聯儲存。
在方塊365處,處理器可接收答覆,將其解密及/或驗證其之簽章,且存取其之資料。
在一些實施例中,以上描述之系統可用於儲存一計算系統之敏感資料。在此等實施例中,安全加強晶片130可實施以下零或多個功能:憑證儲存器、私密金鑰儲存器、唯讀記憶體(ROM)及一安全計時器。舉例而言,憑證、加密金鑰及ROM資料可儲存在雜湊儲存器155內(與一些雜湊值相關聯或無此關聯),且可由計時器區塊135或一額外計時器(未展示)來實施一安全計時器之功能。
在一非限制實施例中,一計算系統可在一電腦處理器上執行一或多個虛擬機器。在2013年3月15日申請之美國臨時專利申請案61/791,632號,題為「Secure Zone on a Virtual Machine for Digital Communications」(該案內容之全文以引用方式併入本文中)中討論此一計算系統之一例示性實施例。在此一計算系統中,於系統啟動時,超管理器之程式碼可載入至記憶體之預定義範圍,及接著可載入且鎖定在處理器快取中。在一些實施例中,於系統啟動期間,超管理器之程式碼可儲存在ROM(未展示)中,且在預定義範圍中之位址可被映射至ROM。因此,在此等實施例中,程式碼並非實際上載入至記憶體之預定義範圍,但記憶體之預定義範圍可被映射至ROM。不論超管理器之程式碼係載入至記憶體的預定義範圍,或記憶體之預定義範圍係映射至儲存超管理器之程式碼的ROM,可根據本文描述之實施例來計算超管理器之程式碼之一雜湊值。隨後,由於執行超管理器之程式碼,建立及管理一受保護計算環境之一監督器之程式碼可經載入且作為虛擬機器之一者而執行。
在一些實施例中,超管理器可負責驗證可信任程式碼係用作監督器之程式碼。舉例而言,超管理器可首先計算監督器之程式碼之雜湊且比較其與含有在超管理器之程式碼內之一預定義值。另外,超管 理器可組態虛擬機器使得僅經授權以執行與安全相關之操作之該等虛擬機器及超管理器具有用於其等之一經確認雜湊之該等虛擬機器(諸如,含有監督器之虛擬機器)被允許存取安全加強晶片。因此,當監督器需要執行一安全相關操作(諸如,例如,以數位簽署代表正執行之一些軟體碼之資料或以更新安全計時器)時,一對應請求可自處理器105發送至安全加強晶片130。
應注意,對應請求可包括針對在記憶體之預定義範圍中之資料計算之雜湊值,即,超管理器之程式碼之雜湊值。藉由對比對應於預定義範圍之資料之雜湊與儲存在雜湊儲存器155中之雜湊值,安全加強晶片130可有效驗證一鑑認超管理器是否在處理器105上運行。因為超管理器確保僅運行可信任軟體之該等虛擬機器可存取安全加強晶片,此驗證可確保所接收之請求係確實自具有一預期組態(例如,經授權及經鑑認)之一系統發出。
在一些實施例中,一對稱密碼法可用於請求鑑認。在此等實施例中,除了或代替簽署請求以產生一簽章且使用簽章作為一鑑認符記,可使用涉及一儲存在處理器105之一儲存器中之一秘密金鑰之任何種類的訊息鑑認碼(MAC)。舉例而言,在製造處理器105時,一秘密金鑰可永久保存在處理器105內且此秘密金鑰之一副本可作為晶片130之一起始程序之一部分儲存在晶片130中。接著,當組裝系統100時,處理器105可使用此秘密金鑰針對發送至晶片之一請求產生作為鑑認符記之一MAC,且晶片130可使用其秘密金鑰之副本以驗證與請求一起接收之MAC。
在一些實施例中,鑑認符記之產生可藉由處理器105內經調整用於此等操作之一或多個硬體組件執行。舉例而言,加密請求、簽署請求以產生一簽章或使用一秘密金鑰產生MAC之任何操作可藉由一電路組件(諸如,運行韌體之一微控制器、一場可程式化閘陣列(FPGA) 或一專用積體電路(ASIC))執行。
儘管已繪示及描述本發明之具體實施例及應用,但應瞭解本發明不限於本文所揭示之精確組態及組件。本文使用之術語、描述及圖式僅藉由繪示方式陳述且不意欲作為限制。熟知此項技術者將明白在不背離本發明之精神及範疇之情況下,可在本文揭示之本發明之配置、操作及裝置之細節、方法及系統中做出各種修改、改變及變動。藉由非限制實例,應瞭解本文包含之方塊圖意欲展示各裝置及系統之組件之一經選擇子集合,且如圖所示之裝置及系統可包含圖上未展示之其他組件。另外,一般技術者將認知,在不減損本文描述之實施例之範疇或效能之情況下,可省略或重組本文描述之特定步驟及功能。
連同本文揭示之實施例描述之各種繪示性邏輯區塊、模組、電路及演算法步驟可實施為電子硬體、電腦軟體或兩者之組合。為圖解說明硬體及軟體之此可互換性,以上已依其等之功能大體描述各種繪示性組件、區塊、模組、電路及步驟。此功能實施為硬體或軟體取決於加諸整體系統之專用及設計之限制。所描述之功能可依用於各專用之各種方式實施,諸如藉由使用微處理器、微控制器、場可程式化閘陣列(FPGA)、專用積體電路(ASIC)及/或晶片上系統(Soc)之任何組合,但此實施決策不應解釋為導致本發明之範疇之一背離。
連同本文揭示之實施例一起描述之一方法或演算法之步驟可直接體現在硬體中、在藉由一處理器執行之一軟體模組中或在兩者之一組合中。一軟體模組可駐存在RAM記憶體、快閃記憶體、ROM記憶體、EPROM記憶體、EEPROM記憶體、暫存器、硬碟、一抽取式磁碟、一CD-ROM或此項技術中已知之任何其他形式儲存媒體中。
本文揭示之方法包括用於達成所描述方法之一或多個步驟或動作。在不背離本發明之範疇之情況下,方法步驟及/或動作可彼此互換。換言之,除非實施例之適當操作需要步驟或動作之一特定順序, 否則在不背離本發明之範疇之情況下可修改特定步驟及或動作之順序及/或使用。
100‧‧‧系統
105‧‧‧處理器
110‧‧‧中央處理單元
115‧‧‧私密金鑰
120‧‧‧記憶體快取
130‧‧‧安全加強晶片
135‧‧‧計時器區塊
140‧‧‧接近性確認模組
145‧‧‧公開金鑰
150‧‧‧憑證
155‧‧‧雜湊儲存器
160‧‧‧通信通道

Claims (40)

  1. 一種電腦處理器,其包括:一儲存器,用於儲存一加密金鑰;一中央處理單元(CPU),該CPU經組態以運行一或多個軟體程式;一電路,其經組態以:計算一雜湊函數,以產生載入至該電腦處理器之資料之一雜湊值,該資料包括該一或多個軟體程式之至少一者之可執行碼;及針對由在該CPU上運行之一軟體程式所啟始之一請求,使用儲存在該儲存器中之該加密金鑰來產生一鑑認符記。
  2. 如請求項1之電腦處理器,其中該請求係擷取資料之一請求、儲存資料之一請求及執行一服務之一請求中之一者。
  3. 如請求項1之電腦處理器,其中該加密金鑰係一公開及私密金鑰對之一私密金鑰,且該鑑認符記係該請求之一簽章。
  4. 如請求項3之電腦處理器,其中該CPU經進一步組態以:產生該公開及私密金鑰對;將該公開及私密金鑰對之該私密金鑰作為該加密金鑰儲存在該儲存器中;報告該公開/私密金鑰對之該公開金鑰;及使用用以簽署該請求之該私密金鑰作為用於該請求之該鑑認符記。
  5. 如請求項1之電腦處理器,其中該加密金鑰係一秘密金鑰,且該鑑認符記係一訊息鑑認碼(MAC)。
  6. 如請求項1之電腦處理器,其中該CPU經進一步組態以: 接收一臨時亂數;及將該臨時亂數添加至該請求。
  7. 如請求項1之電腦處理器,其中產生該鑑認符記包括加密該請求及簽署該請求中之至少一者。
  8. 如請求項1之電腦處理器,進一步包括一記憶體快取,且其中載入至該電腦處理器之該資料係載入至該記憶體快取,且其中在該資料載入至該記憶體快取之後,計算該資料之該雜湊值。
  9. 如請求項1之電腦處理器,進一步包括一記憶體快取,且其中載入至該電腦處理器之該資料係載入至該記憶體快取,且其中當該資料正載入至該記憶體快取中時,計算該資料之該雜湊值。
  10. 如請求項1之電腦處理器,其中該CPU經進一步組態以當讀取該資料至該電腦處理器中時,鑑認該資料之至少某個部分。
  11. 如請求項1之電腦處理器,其中該電路是下列之一者:一微處理器、一微控制器、一場可程式化閘陣列(FPGA)及一專用積體電路(ASIC)。
  12. 一種安全加強晶片,其包括:一第一儲存器,用於儲存一加密金鑰;一第二儲存器,用於儲存一第一憑證;一雜湊儲存器;及電路組件,其等經組態以:接收一命令,以將一第一雜湊值儲存在該雜湊儲存器中;使用該第一憑證來確認儲存該第一雜湊值之該命令;當儲存該第一雜湊值之該命令之確認係成功時,將該第一雜湊值儲存在該雜湊儲存器中;接收一命令,以添加該加密金鑰至該第一儲存器;使用該第一憑證來確認添加該加密金鑰之該命令; 當添加該加密金鑰之該命令的確認係成功時,添加該加密金鑰至該第一儲存器;接收用於一操作之一請求,該請求包括一第二雜湊值;使用該加密金鑰來確認該請求;驗證該第二雜湊值係等於儲存在該雜湊儲存器中之該第一雜湊值;及當該請求係有效且該第二雜湊值之驗證係成功時,處理該請求。
  13. 如請求項12之安全加強晶片,其中該請求係擷取資料之一請求、儲存資料之一請求及執行一服務之一請求中之一者。
  14. 如請求項12之安全加強晶片,其中該等電路組件經進一步組態以驗證該請求係接收自一預定義距離內之一電腦處理器。
  15. 如請求項12之安全加強晶片,其中為處理該請求,該等電路組件經進一步組態以儲存與該第二雜湊值相關聯之資料。
  16. 如請求項15之安全加強晶片,其中與該第二雜湊值相關聯之該資料係儲存在該安全加強晶片處之另一加密金鑰。
  17. 如請求項15之安全加強晶片,其中與該第二雜湊值相關聯之該資料係儲存在該安全加強晶片處之程式碼之一片斷。
  18. 如請求項15之安全加強晶片,其中與該第二雜湊值相關聯之該資料係儲存在該安全加強晶片內之一第二憑證。
  19. 如請求項12之安全加強晶片,其中該加密金鑰係一公開及私密金鑰對之一公開金鑰,且為使用該加密金鑰來確認該請求,該等電路組件經進一步組態以使用該公開金鑰來驗證該請求之一簽章。
  20. 如請求項12之安全加強晶片,其中該加密金鑰係一秘密金鑰,且為使用該加密金鑰來確認該請求,該等電路組件經進一步組 態以使用該秘密金鑰來驗證該請求之一訊息鑑認碼(MAC)。
  21. 一種操作一電腦處理器之方法,其包括:使用在該電腦處理器中之一電路來計算一雜湊函數,以產生載入至該電腦處理器中之資料之一雜湊值,該資料包括在該電腦處理器之一中央處理單元(CPU)上執行之可執行碼;藉由在該CPU上執行之一軟體程式來啟始一請求,該請求包含該雜湊值;及使用該電路及儲存在該電腦處理器之一儲存器中之一加密金鑰來產生該請求之一鑑認符記。
  22. 如請求項21之方法,其中該請求係擷取資料之一請求、儲存資料之一請求及執行一服務之一請求中之一者。
  23. 如請求項21之方法,其中該加密金鑰係一公開及私密金鑰對之一私密金鑰,且該鑑認符記係該請求之一簽章。
  24. 如請求項23之方法,進一步包括:產生該公開及私密金鑰對;將該公開及私密金鑰對之該私密金鑰作為該加密金鑰儲存在該儲存器中;報告該公開/私密金鑰對之該公開金鑰;及使用用以簽署該請求之該私密金鑰作為用於該請求之該鑑認符記。
  25. 如請求項21之方法,其中該加密金鑰係一秘密金鑰,且該鑑認符記係一訊息鑑認碼(MAC)。
  26. 如請求項21之方法,進一步包括:接收一臨時亂數;及添加該臨時亂數至該請求。
  27. 如請求項21之方法,其中產生該鑑認符記包括加密該請求及簽 署該請求中之至少一者。
  28. 如請求項21之方法,其中該電腦處理器包括一記憶體快取,且載入至該電腦處理器之該資料係載入至該記憶體快取,且其中在該資料係載入至該記憶體快取之後,計算該資料之該雜湊值。
  29. 如請求項21之方法,其中該電腦處理器包括一記憶體快取,且載入至該電腦處理器之該資料係載入至該記憶體快取,且其中當該資料係正載入至該記憶體快取時,計算該資料之該雜湊值。
  30. 如請求項21之方法,進一步包括當讀取該資料至該電腦處理器中時,鑑認該資料之至少某個部分。
  31. 如請求項21之方法,其中該電路係下列之一者:一微處理器、一微控制器、一場可程式化閘陣列(FPGA)及一專用積體電路(ASIC)。
  32. 一種用於操作一安全加強晶片之方法,其包括:接收一命令,以將一第一雜湊值儲存在該安全加強晶片之一雜湊儲存器中;使用儲存在該安全加強晶片中之一第一憑證來確認儲存該第一雜湊值之該命令;當儲存該第一雜湊值之該命令之確認係成功時,將該第一雜湊值儲存在該雜湊儲存器中;接收一命令,以添加一加密金鑰至該安全加強晶片之一第一儲存器;使用該第一憑證來確認添加該加密金鑰之該命令;當添加該加密金鑰之該命令之確認係成功時,添加該加密金鑰至該第一儲存器; 接收用於一操作之一請求,該請求包括一第二雜湊值;使用該加密金鑰來確認該請求;驗證該第二雜湊值係等於儲存在該雜湊儲存器中之該第一雜湊值;及當該請求係有效且該第二雜湊值之驗證係成功時,處理該請求。
  33. 如請求項32之方法,其中該請求係擷取資料之一請求、儲存資料之一請求及執行一服務之一請求中之一者。
  34. 如請求項32之方法,進一步包括驗證該請求係接收自一預界定距離內之一電腦處理器。
  35. 如請求項32之方法,其中處理該請求包括儲存與該第二雜湊值相關聯之資料。
  36. 如請求項35之方法,其中與該第二雜湊值相關聯之該資料係儲存在該安全加強晶片處之另一加密金鑰。
  37. 如請求項35之方法,其中與該第二雜湊值相關聯之該資料係儲存在該安全加強晶片處之程式碼之一片斷。
  38. 如請求項35之方法,其中與該第二雜湊值相關聯之該資料係儲存在該安全加強晶片內之一第二憑證。
  39. 如請求項32之方法,其中該加密金鑰係一公開及私密金鑰對之一公開金鑰,且使用該加密金鑰來確認該請求包括使用該公開金鑰來驗證該請求之一簽章。
  40. 如請求項32之方法,其中該加密金鑰係一秘密金鑰,且使用該加密金鑰來確認該請求包括使用該秘密金鑰來驗證該請求之一訊息鑑認碼(MAC)。
TW103112004A 2013-03-29 2014-03-31 使用安全加強晶片之用於資料之安全儲存之系統、方法及裝置 TW201502855A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201361806639P 2013-03-29 2013-03-29
US14/229,531 US10528767B2 (en) 2013-03-29 2014-03-28 Systems, methods and apparatuses for secure storage of data using a security-enhancing chip

Publications (1)

Publication Number Publication Date
TW201502855A true TW201502855A (zh) 2015-01-16

Family

ID=50588769

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103112004A TW201502855A (zh) 2013-03-29 2014-03-31 使用安全加強晶片之用於資料之安全儲存之系統、方法及裝置

Country Status (5)

Country Link
US (2) US10528767B2 (zh)
EP (1) EP2979221B1 (zh)
CA (2) CA3099685C (zh)
TW (1) TW201502855A (zh)
WO (1) WO2014155363A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI608722B (zh) * 2016-06-23 2017-12-11 Public key certificate method
CN109783124A (zh) * 2017-11-14 2019-05-21 慧荣科技股份有限公司 认证固件数据的数据储存装置与数据储存方法

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102277666B1 (ko) * 2014-06-30 2021-07-15 삼성전자 주식회사 영상처리장치 및 그 제어방법
US9894050B1 (en) * 2014-08-11 2018-02-13 Google Llc Server based settings for client software with asymmetric signing
US9870487B2 (en) * 2014-12-30 2018-01-16 Data I/O Corporation Automated manufacturing system with adapter security mechanism and method of manufacture thereof
US9710622B2 (en) * 2015-02-23 2017-07-18 Intel Corporation Instructions and logic to fork processes of secure enclaves and establish child enclaves in a secure enclave page cache
US9953167B2 (en) 2015-10-12 2018-04-24 Microsoft Technology Licensing, Llc Trusted platforms using minimal hardware resources
US9917687B2 (en) 2015-10-12 2018-03-13 Microsoft Technology Licensing, Llc Migrating secrets using hardware roots of trust for devices
US10187375B1 (en) * 2016-04-22 2019-01-22 Walgreen Co. Cryptographic services engine
US9838203B1 (en) * 2016-09-28 2017-12-05 International Business Machines Corporation Integrity protected trusted public key token with performance enhancements
DE102017202787A1 (de) * 2017-02-21 2018-08-23 Siemens Aktiengesellschaft Verfahren und Validierungseinheit zum Steuern des Ladens von in IT-Systemen, insbesondere Eingebetteten Systemen, benutzbaren Krypto-Schlüsseln, insbesondere "Key BLOBs"
EP3679508A4 (en) * 2018-01-29 2021-04-21 Hewlett-Packard Development Company, L.P. DATA PROTECTION IN A PRE-OPERATIONAL SYSTEM ENVIRONMENT
CN110677250B (zh) 2018-07-02 2022-09-02 阿里巴巴集团控股有限公司 密钥和证书分发方法、身份信息处理方法、设备、介质
CN110795774B (zh) 2018-08-02 2023-04-11 阿里巴巴集团控股有限公司 基于可信高速加密卡的度量方法、设备和系统
CN110795742B (zh) 2018-08-02 2023-05-02 阿里巴巴集团控股有限公司 高速密码运算的度量处理方法、装置、存储介质及处理器
CN110874478B (zh) 2018-08-29 2023-05-02 阿里巴巴集团控股有限公司 密钥处理方法及装置、存储介质和处理器
US11005655B2 (en) * 2018-10-31 2021-05-11 Dell Products L.P. System and method of providing information to a device
NL2022902B1 (en) * 2019-04-09 2020-10-20 Univ Delft Tech Integrated circuit device for loT applications
CN113168475A (zh) * 2019-08-29 2021-07-23 谷歌有限责任公司 保护集成于片上系统上的安全元件的外部数据存储的安全
DE102020207861A1 (de) * 2020-06-25 2021-12-30 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zur Durchführung einer abgesicherten Startsequenz eines Steuergeräts

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6378072B1 (en) * 1998-02-03 2002-04-23 Compaq Computer Corporation Cryptographic system
US7181015B2 (en) * 2001-07-31 2007-02-20 Mcafee, Inc. Method and apparatus for cryptographic key establishment using an identity based symmetric keying technique
ATE504446T1 (de) * 2002-12-02 2011-04-15 Silverbrook Res Pty Ltd Totdüsenausgleich
US20050016604A1 (en) * 2003-07-21 2005-01-27 Control Components, Inc., A Delaware Corporation Fluid control device and method of making it
US8255973B2 (en) * 2003-12-10 2012-08-28 Chris Hopen Provisioning remote computers for accessing resources
US20050138393A1 (en) * 2003-12-22 2005-06-23 Challener David C. Determining user security level using trusted hardware device
US8015393B2 (en) * 2004-04-12 2011-09-06 Canon Kabushiki Kaisha Data processing device, encryption communication method, key generation method, and computer program
US7802111B1 (en) * 2005-04-27 2010-09-21 Oracle America, Inc. System and method for limiting exposure of cryptographic keys protected by a trusted platform module
US8261072B2 (en) * 2006-03-24 2012-09-04 Atmel Corporation Method and system for secure external TPM password generation and use
US8341411B2 (en) * 2006-08-16 2012-12-25 Research In Motion Limited Enabling use of a certificate stored in a smart card
US20080072066A1 (en) * 2006-08-21 2008-03-20 Motorola, Inc. Method and apparatus for authenticating applications to secure services
US20090249492A1 (en) * 2006-09-21 2009-10-01 Hans Martin Boesgaard Sorensen Fabrication of computer executable program files from source code
US9286481B2 (en) * 2007-01-18 2016-03-15 Honeywell International Inc. System and method for secure and distributed physical access control using smart cards
MY156596A (en) * 2011-02-16 2016-03-15 Nec Platforms Ltd Enable/disable method of additional-function unit,system for same,program for same,as well as additional-function unit
US20140281587A1 (en) 2013-03-14 2014-09-18 Ologn Technologies Ag Systems, methods and apparatuses for using a secure non-volatile storage with a computer processor

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI608722B (zh) * 2016-06-23 2017-12-11 Public key certificate method
CN109783124A (zh) * 2017-11-14 2019-05-21 慧荣科技股份有限公司 认证固件数据的数据储存装置与数据储存方法

Also Published As

Publication number Publication date
CA2907672C (en) 2022-09-27
CA3099685C (en) 2022-09-20
CA2907672A1 (en) 2014-10-02
US20200125768A1 (en) 2020-04-23
EP2979221B1 (en) 2020-09-23
WO2014155363A1 (en) 2014-10-02
CA3099685A1 (en) 2014-10-02
US20140298040A1 (en) 2014-10-02
EP2979221A1 (en) 2016-02-03
US10528767B2 (en) 2020-01-07
US11074371B2 (en) 2021-07-27

Similar Documents

Publication Publication Date Title
US11074371B2 (en) Systems, methods and apparatuses for secure storage of data using a security-enhancing chip
US10244394B2 (en) Method and update gateway for updating an embedded control unit
JP5703391B2 (ja) 耐タンパー性ブート処理のためのシステム及び方法
US9830456B2 (en) Trust transference from a trusted processor to an untrusted processor
EP2989741B1 (en) Generation of working security key based on security parameters
JP6371919B2 (ja) セキュアなソフトウェアの認証と検証
TW201502847A (zh) 運用一電腦處理器使用一安全非揮發儲存器之系統、方法及裝置
JP2022505355A (ja) 周辺デバイス
TW201732669A (zh) 受控的安全碼鑑認
KR20170095163A (ko) 하드웨어 디바이스 및 그 인증 방법
US20210012008A1 (en) Method of initializing device and method of updating firmware of device having enhanced security function
TW201403377A (zh) 用於裝置之應用程式特定識別之系統、方法及設備
US20100250949A1 (en) Generation, requesting, and/or reception, at least in part, of token
CN107534551B (zh) 提供加密数据的方法、计算设备和计算机可读介质
JP5861597B2 (ja) 認証システムおよび認証方法
JP6387908B2 (ja) 認証システム
US20200195447A1 (en) Communication method of client device, issuing device and server
JP2024503602A (ja) エッジデバイスのための鍵無効化
KR20150089696A (ko) 접근제어와 우선순위기반 무결성 검증 시스템 및 그 방법
CN114024702A (zh) 信息安全保护的方法以及计算设备
US10067770B2 (en) Platform key hierarchy
US20240111853A1 (en) Certificate update method and certificate update system of device driving the same
WO2019212545A1 (en) Updating a security policy
JP2014178906A (ja) 認証方法、認証プログラムおよび認証装置