TW201706899A - 安全裝置及在其內提供安全服務至主機的方法、安全設備以及電腦軟體產品 - Google Patents

安全裝置及在其內提供安全服務至主機的方法、安全設備以及電腦軟體產品 Download PDF

Info

Publication number
TW201706899A
TW201706899A TW105115136A TW105115136A TW201706899A TW 201706899 A TW201706899 A TW 201706899A TW 105115136 A TW105115136 A TW 105115136A TW 105115136 A TW105115136 A TW 105115136A TW 201706899 A TW201706899 A TW 201706899A
Authority
TW
Taiwan
Prior art keywords
security
host
security device
dedicated
volatile memory
Prior art date
Application number
TW105115136A
Other languages
English (en)
Other versions
TWI632483B (zh
Inventor
赫詩曼 日弗
摩瑞 丹
Original Assignee
新唐科技股份有限公司
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 新唐科技股份有限公司 filed Critical 新唐科技股份有限公司
Publication of TW201706899A publication Critical patent/TW201706899A/zh
Application granted granted Critical
Publication of TWI632483B publication Critical patent/TWI632483B/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

提供一種安全裝置及在其內提供安全服務至主機的方法、安全設備以及電腦軟體產品。在安全裝置內提供安全服務至主機的方法包含接收來自在主機上執行的應用程式的安全指令。安全指令係藉由存取非揮發性記憶體(NVM)裝置而被執行,其中非揮發性記憶體裝置透過專用裝置驅動器外接安全裝置以通透至應用程式,而專用裝置驅動器在主機上執行並在NVM裝置以及安全裝置之間作調解。

Description

安全裝置及在其內提供安全服務至主機的方法、安全設備以及電腦軟體產品
本發明係一般關於一種安全計算環境,且特別是有關於一種安全裝置及在其內提供安全服務至主機的方法、安全設備以及電腦軟體產品。
在計算系統中,可信賴計算(Trusted Computing)是為例如由可信賴計算組織(Trusted Computing Group, TCG)所研發及提倡的安全技術。借助可信賴計算,藉由採用加密以及其他安全技術實現電腦行為。舉例來說,其揭露於此作為參考併入之美國專利公開號2005/0021968闡述了一種提供安全韌體更新的方法。第一驗證憑據係利用安全憑證(secure token)所產生的金鑰(key)以加密形式安全地儲存在平台,例如可信賴平台模組(Trusted Platform Module, TPM)。平台的配置是「壓印(imprinted)」,使得相同配置需藉由解封對平台配置的金鑰,以存取使用於解密第一驗證憑據的金鑰。在隨後的韌體更新過程期間,包含第二驗證憑據之韌體更新影像在平台上接收。若平台配置為相同的,當金鑰被加封時,可解封金鑰並將其使用於解密第一驗證憑據。在第一驗證憑據中的公鑰(public key)可接著使用於透過第二驗證憑據以驗證韌體更新影像。
作為另一示例,其揭露於此作為參考併入之美國專利公開號2003/0061494係闡述一種保護電腦資料的方法及系統。電腦提供具有預載入作業系統(pre-operating system, pre-OS)空間以及現載入作業系統(operating system-present, OS-present) 空間。保護儲存器(protected storage)是透過可信賴平台模組(TPM)從pre-OS空間存取。相似地,保護儲存器是透過TPM從OS-present空間被存取。因此,電腦可避免未經授權的使用者自pre-OS空間以及OS-present空間中存取保護儲存器內所儲存的資料。
本文所述之本發明的實施例係提供一種在安全裝置內提供安全服務至主機的方法,其包含接收來自在主機上執行的應用程式的安全指令。安全指令係藉由存取安全裝置外之非揮發性記憶體(Non-Volatile Memory, NVM)裝置而被執行,其中非揮發性記憶體透過專用裝置驅動器通透至應用程式,專用裝置驅動器在主機上執行並在NVM裝置以及安全裝置之間調解。
在一些實施例中,安全裝置、專用裝置驅動器以及NVM裝置皆符合可信賴計算組織(Trusting Computing Group, TCG)的個別安全標準。在其他實施例中,安全裝置與專用裝置驅動器以及至少一部份的NVM裝置儲存空間係根據TCG的規範執行可信賴平台模組(TPM)。
在實施例中,執行安全指令包含在應用程式以及專用裝置驅動器之間進行通訊,且安全裝置係位於主機作為主控(master)而安全裝置作為從屬(slave)的介面上。在另一實施例中,執行安全指令包含透過介面於專用裝置驅動器以及NVM裝置之間進行通訊。在又另一實施例中,執行安全指令包含藉由安全裝置要求裝置驅動器將資料寫入NVM裝置或從NVM裝置讀取資料。
在一些實施例中,要求裝置驅動器包含在安全裝置內部預備要求,並透過介面發送訊號至裝置驅動器以取得要求。在其他實施例中,要求裝置驅動器包含在安全裝置的暫存器內預備要求,並等待裝置驅動器藉由以裝置驅動器來輪詢暫存器而取得要求。在又一些其他實施例中,執行安全指令包含在安全裝置內預備在完成安全指令的執行時的指令回應,並指示應用程式其中指令回應已準備好被應用程式所讀取。
此外,根據本發明的實施例提供一種安全裝置,其包含主機介面以及電路。主機介面係配置以接收來自在主機上執行的應用程式的安全指令。電路係配置以藉由存取非揮發性記憶體(NVM)裝置以執行安全指令,其中非揮發性記憶體裝置於安全裝置外透過專用裝置驅動器以通透至應用程式,而專用裝置驅動器在主機上執行並在NVM裝置以及安全裝置之間調解。
此外,根據本發明的實施例提供一種安全設備,其包含提供安全服務至主機的安全裝置以及在主機上執行的專用裝置驅動器。裝置驅動器係配置以在安全裝置以及安全裝置外的非揮發性記憶體(NVM)裝置之間調解。安全裝置係配置以接收來自在主機上執行的應用程式的安全指令,並藉由透過專用裝置驅動器存取NVM裝置以通透至應用程式而執行安全指令。
此外,根據本發明的實施例提供一種電腦軟體產品,其包含其中儲存程式指令的有形非暫時性電腦可讀取媒體(tangible non-transitory computer-readable medium),在藉由主機的處理器讀取時指示,致使處理器運行專用裝置驅動器,以透過專用裝置驅動器在安全裝置以及非揮發性記憶體裝置之間進行調解,其中安全裝置針對在主機上執行的應用程式提供安全服務而安全裝置外之非揮發性記憶體(NVM)裝置通透至應用程式。
本文所述之本發明的實施例提供一種改善計算系統的安全性的方法及系統。在本文所揭露的實施例中,安全裝置作為用於主機的加密協同處理器(cryptographic co-processor)。主機利用安全裝置的輔助來執行提供安全服務的安全應用程式,其在本文中亦稱為「應用程式」。安全應用程式傳送安全指令至安全裝置,並從安全裝置接收個別指令回應。
當提供安全應用程式之服務時,安全裝置有時需存取外部非揮發性記憶體(NVM)裝置。在本公開內容的上下文以及申請專利範圍中,用詞「NVM裝置」是指即使沒有功率時亦保留儲存資訊的多次可程式化儲存裝置(multi-time programmable storage device)。例示性NVM裝置包含快閃裝置(Flash device)以及電子可抹除可程式化唯讀記憶體(Electrically Erasable Programmable Read-Only Memory , EEPROM)裝置。
在公開技術中,主機運行在通透至安全應用程式的安全裝置以及外部NVM裝置之間進行調解的專用裝置驅動器,其在本文中亦稱為「裝置驅動器」。裝置驅動器允許安全裝置透過裝置驅動器以間接存取外部NVM。
專用裝置驅動器透過介面通訊連接安全裝置,其中主機用作為主控而安全裝置用作為從屬。作為從屬,安全裝置無法直接在介面上啟動交換(transaction),例如存取外部NVM。如本文所述,數個機制係用於克服此難處,亦即儘管為從屬狀態下,仍可藉由安全裝置啟動交換。
在例示性實施例中,安全裝置接收來自主機的安全應用程式的安全指令。當執行指令需要被寫入外部NVM裝置或從外部NVM裝置讀取存取時,安全裝置相應地要求裝置驅動器存取外部NVM裝置。在一些實施例中,安全裝置內部預備要求,並藉由產生中斷訊號以通知裝置驅動器已準備好要求。在其他實施例中,裝置驅動器藉由輪詢在安全裝置中的暫存器或記憶體位置以取得要求。裝置驅動器透過第一介面從安全裝置讀取要求,並根據要求將資料寫入外部NVM或從外部NVM讀取資料。裝置驅動器提供從外部NVM擷取的資料至安全裝置。
安全裝置可透過裝置驅動器對外部NVM裝置要求多個存取週期以執行安全指令。例如,安全裝置可請求用以執行單一安全指令的一或多個讀取作業及/或一或多個寫入作業。接續指令執行,安全裝置將指令回應回傳至安全應用程式。指令回應可包含加密作業的結果、錯誤報告以及其類似物。
在一些實施例中,外部NVM可包含使用於計算系統的額外用途的習知NVM裝置。藉由利用適用於安全儲存的至少一部分的現有(通常成本低的)NVM裝置,安全裝置可設計成不具有內部NVM或僅具有微型NVM裝置,藉以降低成本。
由於主機透過介面與安全裝置進行通訊連接,其中主機用作為主控而安全裝置用作為從屬,介面不再需要匯流排主控(bus mastering)以及仲裁(arbitration)功能,從而降低了介面的複雜度。除此之外,沒有匯流排主控支持的介面也可被使用。
系統描述
第1圖係示意性繪示根據本文所述之實施例的計算系統20的方塊圖。系統20包含主機24,其透過第一介面32通訊連接安全裝置28,並透過第二介面40通訊連接非揮發性記憶體(NVM)裝置36。安全裝置28作為用於主機的加密協同處理器。
主機24包含執行安全應用程式48以及專用裝置驅動器52的CPU 44,其係與安全裝置28一起提供主機24所需要執行可信賴計算及其他安全策略的功能。安全應用程式48對安全裝置28提供用於在主機上執行的作業系統(OS)及其他應用程式的共同應用程式設計介面(common application programming interface, API)。
在一些實施例中,系統20係根據藉由可信賴計算組織(TCG)所發展的標準來執行可信賴計算系統。在此實施例中,安全裝置28可與專用裝置驅動器52以及至少一部分的NVM裝置36的儲存空間共同包含可信賴平台模組(TPM)。此外,安全應用程式48可包含TCG軟體堆疊(TCG Software Stack,TSS)。舉例而言,在此併入作為參考之三部分TPM主規範係規範了TPM,版本1.2、第二級、修訂編號116,2011年3月1日。TPM主規範的三個部分包含:「TPM第一主要部分:設計原則」、「TPM第二主要部分:TPM結構」以及「TPM第三主要部分:指令」。舉例來說,TSS被描述於2007年3月7日發行的「TCG軟體堆疊(TCG Software Stack, TSS)規範版本1.2、第一級、勘誤表A、第一部分:指令以及結構」中,其作為參考引述至本文。
在一些實施例中,可信賴計算係執行在個人電腦(PC)系統上。適用於PC用戶的TCG標準被描述在例如2012年2月24日、版本1.21、勘誤表修訂編號1.00(針對TPM家族1.2;第二級)的「適用於習知BIOS的TCG PC用戶專用實施規範」中,以及2013年3月21日、版本1.3的「TCG PC用戶專用TPM介面規範(TPM Interface Specification, TIS)」中,其作為參考引述至本文。
舉例來說,安全應用程式48提供安全儲存服務,例如控制系統資源用以儲存資訊的存取。在一些實施例中,安全性儲存係藉由定義一或多個安全儲存區在某些預定條件下可存取而實現。舉例來說,這些條件可包含位址空間、系統狀態、存取權限、實體權限以及讀/寫保護。
在下述敘述中,假定安全應用程式48被設計成直接至介面安全裝置28,如上述引用的TCG規範的規定。
在一些實施例中,安全應用程式48係藉由透過介面32傳送個別安全指令至安全裝置28,以提供安全服務(例如用於主機的OS)。當接收到安全指令時,安全裝置28解碼指令並從而執行指令。
至少一些安全指令的執行涉及存取NVM裝置,例如儲存及擷取機密資訊。在一些實施例中,安全裝置包含內部(通常為小型的)NVM。在其他實施例中,取代或除了內部NVM以外,安全裝置存取可使用於系統用於額外用途的外部NVM,例如NVM裝置36。如上所述,除了安全應用程式48外,CPU44執行專用裝置驅動器52在安全裝置28以及NVM裝置36之間作調解。通透至安全應用程式48,裝置驅動器52提供安全裝置28間接存取外部NVM裝置36。
安全裝置28可以各種方式要求從裝置驅動器52存取NVM 裝置36。在一實施例中,安全裝置28內部,例如在預先定義暫存器內,預備要求,並產生中斷訊號以通知裝置驅動器透過介面32讀取要求。在另一實施例中,裝置驅動器輪詢在安全裝置內的暫存器,以辨識是否有待決要求。在又另一實施例中,裝置驅動器52係有條件地檢查在安全裝置內的暫存器數值,例如響應於傳送安全指令至安全裝置的安全應用程式。
當裝置驅動器52接收來自安全裝置的寫入要求時,裝置驅動器透過介面40儲存在外部NVM內的個別資料。在一些實施例中,在發佈寫入要求之前,安全裝置加密及/或標記資料。當裝置驅動器52接收來自安全裝置的讀取要求時,裝置驅動器透過介面40從外部NVM讀取要求資料並透過介面32傳送擷取資料至安全裝置。當擷取資料被加密及標記時,安全裝置可驗證及解密資料。
介面32及40可包含任意適合的介面。舉例來說,介面32可包含低腳位數匯流排(Low Pin Count bus, LPC)、序列周邊介面(Serial peripheral Interface, SPI)或內部積體電路(Inter-Integrated Circuit, I2 C)匯流排。舉例來說,介面40可包含序列周邊介面(SPI)。在一些實施例中,介面32及40包含個別(相同或不同的)介面。在其他實施例中,介面32及40可包含相同介面,或共用一或多個介面訊號。
第1圖的下半部係繪示安全裝置28的方塊圖。在本示例中,安全裝置28包含透過內部匯流排62與安全裝置的多個元件互連的微控制器60。微控制器60係用作為安全裝置的主控單元。安全裝置28包含透過介面32通訊連接主機的主機介面64之模組。
微控制器60接受透過主機介面64所接收的安全指令,並可能在適當時使用在安全裝置內的其他元件執行這些指令。系統管理模組66提供裝置元件運作所需的各種訊號,例如像是功率分配、時脈訊號以及中斷訊號。在一些實施例中,系統管理模組66包含一或多個計時器,其可例如使用於時戳(time-stamping)資料。
安全裝置28包含隨機存取記憶體(Random Access Memory, RAM)68,其儲存暫時資料以及可能的微控制器60的編碼指令。唯讀記憶體(Read Only Memory, ROM)72之模組儲存用於微控制器60的編碼指令。此外,ROM72可儲存各種常數值。一次性可程式(One Time Programmable, OTP)記憶體76儲存安全裝置配置以及取決於生成(at production)且針對每個安全裝置獨特的密鑰。在一些實施例中,替代或除了OTP記憶體76以外,安全裝置包含也可使用於儲存內部機密的EEPROM及/或實體不可複製函數(Physical Unclonable Function,PUF)。
安全裝置28更包含支持各種加密函數及演算法的加密引擎(cryptographic engine)80。在一些實施例中,加密引擎80支持加密基元(crypto primitive)以及演算法,例如亂數產生方法(Random Number Generation, RNG)、加密/解密演算法,例如先進加密標準(Advanced Encryption Standard, AES))、用於公鑰加密的不對稱密碼演算法(Rivest-Shamir-Adleman, RSA)加密系統、錯誤修正編碼/解碼(Error Correction Coding/Decoding)以及密碼雜湊函數法(cryptographic hash function),例如安全散列演算法(Secure Hash Algorithm)(SHA-256)。加密引擎80提供核心加密函數,例如加密/解密以及標記及驗證。
PC用戶之可信賴計算
在一些實施例中,第1圖的系統20包含PC系統。下表1係根據上方引用的TCG規範,彙整系統20的各種元件與對應的PC用戶的元件之間的關係。 表1:根據TCG規範,系統20的元件與對應PC用戶的元件的關係。
第1圖所示的系統20以及安全裝置28的配置是為純粹為了清楚顯示概念而繪示的例示性配置。此外,也可使用其他任意適合的計算系統以及安全裝置配置。用以瞭解本發明的原則所不需要之元件,可為了清晰起見而自圖式刪除,諸如各種介面、控制電路、定址電路、時序電路以及除錯電路。
在第1圖所示的例示性系統配置中,CPU44、安全裝置28以及NVM裝置36作為個別積體電路(ICs)執行。然而,在替代實施例中,至少二個的CPU、安全裝置以及NVM裝置可被整合至在單一多晶片封裝(Multi-Chip Package, MCP)或嵌入式系統晶片(System on Chip, SoC)內的個別半導體晶粒上,並可藉由內部匯流排互連。
安全裝置28的不同元件可使用任意適合的硬體執行,例如特殊應用積體電路(Application-Specific Integrated Circuit, ASIC)或場效可規劃閘極陣列(Field-Programmable Gate Array, FPGA)。在一些實施例中,安全裝置的一些元件可使用軟體或使用硬體以及軟體元件的組合執行。舉例來說,在本實施例中,加密引擎80以及系統管理模組66可作為專用硬體模組執行。作為另一示例,簽章計算(signature calculation)以及加密/解密函數可在位於加密引擎80內的硬體上、在藉由微控制器60執行的軟體上或依硬體及軟體的組合上執行。
在下方的描述和申請專利範圍中,沒有包含主機介面64的安全裝置的各種元件被通稱為電路。
典型地,在主機24內的CPU44包含通用處理器(general-purpose processor),其在軟體上被編程執行本文所述的函數。軟體可透過網路以電子形式下載至處理器內,例如或可被替代或附加地提供及/或儲存至非暫時性有形媒體(non-transitory tangible media),例如磁性記憶體、光學記憶體或電子記憶體。
由安全裝置所執行之例示性方法
第2圖係示意性繪示根據本文所述的實施例在計算系統中提供安全服務的方法的流程圖。舉例來說,方法可藉由第1圖的安全裝置28來執行。在描述的方法中,假定安全裝置為部分的計算系統,例如(或相似於)第1圖的系統20。
方法於接受步驟100中藉由安全裝置28透過主機介面64之模組接收安全指令(透過介面32連接主機)開始。安全指令源自安全應用程式48,並辨識由安全裝置提供的一或多個加密服務。在解碼步驟104中,安全裝置解碼安全指令作為欲執行階段。解碼結果通常包含要求服務以及可能的一或多個參數的型態,例如像是辨識個別加密基元、定址的參數以及與應用服務及其類似物之資料相關的尺寸資訊。
為了執行指令,安全裝置必須可存取外部NVM。安全裝置可基於指令參數決定存取外部NVM。替代地或附加地,此決定可取決於保存在外部NVM的內部旗標(flags)、變數及其他資料,若有需要,亦可由安全裝置所還原(restored)。
在寫入檢查步驟106中,安全裝置檢查執行指令是否要求存取外部NVM。當安全裝置需要將資料寫入外部NVM時,方法著手於加密及標記步驟108。在本示例中,指令參數包含原始明文資料(plaintext data),並且安全裝置例如使用加密引擎80以加密及/或標記原始明文資料,如安全指令所規範。下列步驟108,準備好待儲存至外部NVM的加密及標記資料。
在寫入要求步驟112,安全裝置要求從裝置驅動器52儲存步驟108的資料結果在外部NVM。如上所述,安全裝置操作為介面32的從屬,並可以各種方法要求儲存作業,如前所述,例如藉由產生中斷訊號至主機。響應於要求,裝置驅動器透過介面32從安全裝置讀取在步驟108被加密及標記的資料,並透過介面40儲存資料在外部NVM內。
當在步驟106,安全裝置不需要寫入外部NVM時,方法著手讀取檢查步驟114,其中安全裝置檢查執行指令是否要求讀取存取外部NVM。若是,方法著手讀取要求步驟116,其中安全裝置要求從裝置驅動器52讀取來自外部NVM的資料。響應於讀取要求,裝置驅動器52透過介面40讀取來自外部NVM裝置36所要求的資料,並透過介面32傳送擷取資料至安全裝置。在解密及驗證步驟120,安全裝置驗證及解密讀取資料,例如使用加密引擎80。
在後續步驟112或120,或當在步驟114的檢查結果為否定時,方法著手於接續的指令執行步驟124。在步驟124,安全裝置執行安全指令或其一部分,其可能使用從外部NVM所擷取的資料。在迴路終止步驟126,安全裝置檢查是否額外存取外部NVM係必要的以完成執行指令。當需要額外存取時,方法循環回步驟106。反之,方法著手於回應預備步驟128。
在步驟128,安全裝置預備指令回應,例如其可包含加密函數的結果、錯誤報表及其類似物。在回應通知步驟132,安全裝置通知安全應用程式已準備好指令回應。相似於上述用於要求裝置驅動器的方法,安全裝置可例如藉由產生中斷訊號,或是安全應用程式可輪詢在安全裝置內的預先定義暫存器,以通知安全應用程式。安全應用程式接著透過介面32讀取來自安全裝置的指令回應,並結束方法。
第2圖的方法係透過舉例方式給定,且也可使用其他適合的方法。舉例來說,在一些實施例中,安全指令可指示將原始明文寫入外部NVM或從外部NVM讀取原始明文。在這樣的實施例中,可略過步驟108及120。
雖然上述實施例主要參照例如PC等計算系統,但相似實施例亦可執行在其他計算系統中,例如行動裝置、物聯網、智慧型電表(smart metering)、車用和工業系統/環境。
所公開的技術可使用於各種安全儲存應用,例如像是安全啟動(secured booting)或可信賴啟動(trusted booting)。舉例來說,可信賴計算組織(TCG)詳細規定包含於Windows 8作業系統的支持安全啟動功能的統一可延伸韌體介面(Unified Extensible Firmware Interface, UEFI)。作為另一示例,Chromium作業系統包含作為可信賴啟動方案的驗證啟動功能。這些功能可利用本文所述的方法及系統執行。
將理解的是,上述實施例僅為舉例性闡述,且本發明並不受限於本文的具體顯示及說明。而是,本發明的範疇包含本文所述的各種特徵之組合與子組合、以及所屬技術領域中具有通常知識者在閱讀上述內容可進行且未揭露於先前技術中之變化及修改。作為參考文獻引述至本發明申請的文件應認定為本申請案的整合部分,除非在這些整併文件中所定義的任意用詞範圍與本說明書中明確或隱含的定義有衝突時,則應僅考慮本申請案中的定義。
20‧‧‧系統 24‧‧‧主機 28‧‧‧安全裝置 32、40‧‧‧介面 36‧‧‧非揮發性記憶體裝置 44‧‧‧CPU 48‧‧‧安全應用程式 52‧‧‧裝置驅動器 60‧‧‧微控制器 62‧‧‧內部匯流排 64‧‧‧主機介面 66‧‧‧系統管理模組 68‧‧‧隨機存取記憶體 72‧‧‧唯讀記憶體 76‧‧‧一次性可程式記憶體 80‧‧‧加密引擎 100、104、106、108、112、114、116、120、124、126、128、132‧‧‧步驟
本發明將搭配圖式自下列本發明實施例的詳細說明中更充分地瞭解:
第1圖係示意性繪示根據本文所述的實施例的計算系統的方塊圖;以及
第2圖係示意性繪示根據本文所述的實施例在計算系統內提供安全服務的方法的流程圖。
20‧‧‧系統
24‧‧‧主機
28‧‧‧安全裝置
32、40‧‧‧介面
36‧‧‧非揮發性記憶體裝置
44‧‧‧CPU
48‧‧‧安全應用程式
52‧‧‧裝置驅動器
60‧‧‧微控制器
62‧‧‧內部匯流排
64‧‧‧主機介面
66‧‧‧系統管理模組
68‧‧‧隨機存取記憶體
72‧‧‧唯讀記憶體
76‧‧‧一次性可程式記憶體
80‧‧‧加密引擎
100、104、106、108、112、114、116、120、124、126、128、132‧‧‧步驟

Claims (20)

  1. 一種在安全裝置內提供安全服務至主機的方法,其包含: 在一安全裝置中提供一安全服務至一主機,並接收來自在該主機上執行的一應用程式的一安全指令;以及 藉由存取一非揮發性記憶體(NVM)裝置以執行該安全指令,該非揮發性記憶體裝置透過一專用裝置驅動器外接該安全裝置以通透至該應用程式,該專用裝置驅動器在該主機上執行並在該非揮發性記憶體裝置以及該安全裝置之間作調解。
  2. 如申請專利範圍第1項所述之方法,其中該安全裝置、該專用裝置驅動器以及該非揮發性記憶體裝置皆符合可信賴計算組織(TCG)的個別安全標準。
  3. 如申請專利範圍第1項所述之方法,其中該安全裝置與該專用裝置驅動器以及至少一部份的該非揮發性記憶體裝置儲存空間一起根據TCG的規範執行可信賴平台模組(TPM)。
  4. 如申請專利範圍第1項所述之方法,其中執行該安全指令的步驟包含在該應用程式以及該專用裝置驅動器之間建立通訊連接,且該安全裝置在其中該主機用作為主控而該安全裝置用作為從屬的一介面上。
  5. 如申請專利範圍第4項所述之方法,其中執行該安全指令的步驟包含透過該介面以該專用裝置驅動器與該非揮發性記憶體裝置之間建立通訊連接。
  6. 如申請專利範圍第4項所述之方法,其中執行該安全指令的步驟包含藉由該安全裝置要求該專用裝置驅動器將資料寫入該非揮發性記憶體裝置,或從該非揮發性記憶體裝置讀取資料。
  7. 如申請專利範圍第6項所述之方法,其中要求該專用裝置驅動器的步驟包含在該安全裝置內部預備一要求,並透過該介面發送訊號至該專用裝置驅動器以取得該要求。
  8. 如申請專利範圍第6項所述之方法,其中要求該專用裝置驅動器的步驟包含在該安全裝置的一暫存器內預備一要求,並等待該專用裝置驅動器藉由以該專用裝置驅動器輪詢該暫存器以取得該要求。
  9. 如申請專利範圍第1項所述之方法,其中執行該安全指令的步驟包含在該安全裝置內預備在完成該安全指令的執行時的一指令回應,並指示該應用程式準備好待該應用程式讀取的該指令回應。
  10. 一種安全裝置,包含: 一主機介面,其係配置以接收來自在一主機上執行的一應用程式的一安全指令;以及 一電路,其係配置以藉由存取一非揮發性記憶體(NVM)裝置以執行該安全指令,該非揮發性記憶體裝置係透過一專用裝置驅動器外接該安全裝置以通透至該應用程式,該專用裝置驅動器係在該主機上執行並在該非揮發性記憶體裝置以及該安全裝置之間作調解。
  11. 如申請專利範圍第10項所述之安全裝置,其中該安全裝置與該專用裝置驅動器以及至少一部分的該非揮發性記憶體裝置儲存空間一起根據TCG的規範執行可信賴平台模組(TPM)。
  12. 如申請專利範圍第10項所述之安全裝置,其中該電路係配置以藉由在該應用程式以及該專用裝置驅動器之間建立通訊連接以執行該安全指令,且該安全裝置在其中該主機用作為主控而該安全裝置用作為從屬的一介面上。
  13. 如申請專利範圍第12項所述之安全裝置,其中該電路係配置以藉由透過該介面以該專用裝置驅動器與該非揮發性記憶體裝置之間建立通訊連接來執行該安全指令。
  14. 如申請專利範圍第12項所述之安全裝置,其中該電路係配置以要求該專用裝置驅動器將資料寫入該非揮發性記憶體裝置或從該非揮發性記憶體裝置讀取資料。
  15. 如申請專利範圍第14項所述之安全裝置,其中該電路係配置以針對該安全裝置在內部預備一要求,並透過該介面發送訊號至該專用裝置驅動器以取得該要求。
  16. 如申請專利範圍第10項所述之安全裝置,其中該電路係配置以預備在完成該安全指令的執行時的一指令回應,並指示該應用程式準備好待該應用程式讀取的該指令回應。
  17. 一種安全設備,包含: 一安全裝置,其係提供一安全服務至一主機;以及 一專用裝置驅動器,其係在該主機上執行, 其中該專用裝置驅動器係配置以在該安全裝置以及外接該安全裝置的一非揮發性記憶體(NVM)裝置之間作調解,且其中該安全裝置係配置以接收來自在該主機上執行的一應用程式的一安全指令,並藉由透過該專用裝置驅動器存取該非揮發性記憶體裝置通透至該應用程式以執行該安全指令。
  18. 如申請專利範圍第17項所述之安全設備,其中該安全裝置、該專用裝置驅動器以及該非揮發性記憶體裝置皆符合可信賴計算組織(TCG)的個別安全標準。
  19. 如申請專利範圍第17項所述之安全設備,其中該應用程式以及該安全裝置係配置以透過一介面以該專用裝置驅動器進行通訊連接,其中該主機用作為主控而該安全裝置用作為從屬。
  20. 一種包含儲存程式指令的有形非暫時性電腦可讀媒體之電腦軟體產品,當一主機的一處理器讀取指令時,該電腦軟體產品將指使該處理器執行用於在一安全裝置以及一非揮發性記憶體(NVM)裝置之間作調解的一專用裝置驅動器,該安全裝置係針對在該主機上執行的一應用程式提供一安全服務,該非揮發性記憶體裝置係透過該專用裝置驅動器外接該安全裝置以通透至該應用程式。
TW105115136A 2014-07-24 2016-05-17 安全裝置及在其內提供安全服務至主機的方法、安全設備以及電腦軟體產品 TWI632483B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201462028345P 2014-07-24 2014-07-24
US14/714,298 2015-05-17
US14/714,298 US10303880B2 (en) 2014-07-24 2015-05-17 Security device having indirect access to external non-volatile memory

Publications (2)

Publication Number Publication Date
TW201706899A true TW201706899A (zh) 2017-02-16
TWI632483B TWI632483B (zh) 2018-08-11

Family

ID=55166948

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105115136A TWI632483B (zh) 2014-07-24 2016-05-17 安全裝置及在其內提供安全服務至主機的方法、安全設備以及電腦軟體產品

Country Status (3)

Country Link
US (1) US10303880B2 (zh)
JP (1) JP6538610B2 (zh)
TW (1) TWI632483B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10783250B2 (en) 2014-07-24 2020-09-22 Nuvoton Technology Corporation Secured master-mediated transactions between slave devices using bus monitoring
US10691807B2 (en) 2015-06-08 2020-06-23 Nuvoton Technology Corporation Secure system boot monitor
US9794297B1 (en) 2016-10-03 2017-10-17 International Business Machines Corporation Security compliance framework usage
CN106911715B (zh) * 2017-04-05 2019-07-19 数据通信科学技术研究所 一种将读写控制分开的通信控制单元和通信控制方法
JP2019121884A (ja) 2017-12-28 2019-07-22 三菱重工業株式会社 集積回路、制御装置、情報配信方法及び情報配信システム
JP7187362B2 (ja) 2019-03-15 2022-12-12 キオクシア株式会社 ストレージ装置及び制御方法
TWI733399B (zh) * 2019-04-07 2021-07-11 新唐科技股份有限公司 安全裝置、安全方法、安全系統以及安全設備
TWI728572B (zh) * 2019-07-04 2021-05-21 新唐科技股份有限公司 具有快閃記憶體仿真功能之控制器及其控制方法
US11436315B2 (en) 2019-08-15 2022-09-06 Nuvoton Technology Corporation Forced self authentication
US11520940B2 (en) 2020-06-21 2022-12-06 Nuvoton Technology Corporation Secured communication by monitoring bus transactions using selectively delayed clock signal
US20230062521A1 (en) * 2021-09-01 2023-03-02 Wind River Systems, Inc. Gateway
US11775694B2 (en) 2022-01-05 2023-10-03 International Business Machines Corporation Validating and securing non-volatile memory
US20240004803A1 (en) * 2022-06-29 2024-01-04 Samsung Electronics Co., Ltd. Secure element and electronic device including the same

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2686170B1 (fr) * 1992-01-14 1996-09-06 Gemplus Card Int Carte a memoire de masse pour microordinateur.
US7350083B2 (en) * 2000-12-29 2008-03-25 Intel Corporation Integrated circuit chip having firmware and hardware security primitive device(s)
US20030061494A1 (en) 2001-09-26 2003-03-27 Girard Luke E. Method and system for protecting data on a pc platform using bulk non-volatile storage
US20050013218A1 (en) * 2003-05-19 2005-01-20 Samsung Electronics Co., Ltd. Information storage medium having a plurality of data storing units and apparatus and method for data recording and/or reproducing
US20050021968A1 (en) 2003-06-25 2005-01-27 Zimmer Vincent J. Method for performing a trusted firmware/bios update
US20050132186A1 (en) * 2003-12-11 2005-06-16 Khan Moinul H. Method and apparatus for a trust processor
EP1870814B1 (en) * 2006-06-19 2014-08-13 Texas Instruments France Method and apparatus for secure demand paging for processor devices
US7664965B2 (en) * 2004-04-29 2010-02-16 International Business Machines Corporation Method and system for bootstrapping a trusted server having redundant trusted platform modules
EP1626579A1 (en) * 2004-08-11 2006-02-15 Thomson Licensing Device pairing
US7774619B2 (en) * 2004-11-17 2010-08-10 Broadcom Corporation Secure code execution using external memory
US20100003732A1 (en) * 2005-05-31 2010-01-07 Kaneka Corporation Process for production of optically active 2-substituted propanal derivative
JP2006338615A (ja) * 2005-06-06 2006-12-14 Renesas Technology Corp データ通信システム
US8090919B2 (en) * 2007-12-31 2012-01-03 Intel Corporation System and method for high performance secure access to a trusted platform module on a hardware virtualization platform
US20080276302A1 (en) * 2005-12-13 2008-11-06 Yoggie Security Systems Ltd. System and Method for Providing Data and Device Security Between External and Host Devices
JP4890309B2 (ja) * 2007-03-19 2012-03-07 株式会社リコー 情報処理装置及び情報保護方法
US20080282017A1 (en) 2007-05-09 2008-11-13 Microsoft Corporation Serial Peripheral Interface Switch
AU2009244058B2 (en) * 2008-05-09 2015-07-02 Nuvaira, Inc Systems, assemblies, and methods for treating a bronchial tree
US8631488B2 (en) * 2008-08-04 2014-01-14 Cupp Computing As Systems and methods for providing security services during power management mode
US9064116B2 (en) * 2010-11-08 2015-06-23 Intel Corporation Techniques for security management provisioning at a data storage device
US8832452B2 (en) * 2010-12-22 2014-09-09 Intel Corporation System and method for implementing a trusted dynamic launch and trusted platform module (TPM) using secure enclaves
US20130254906A1 (en) * 2012-03-22 2013-09-26 Cavium, Inc. Hardware and Software Association and Authentication
JP6166053B2 (ja) * 2013-02-06 2017-07-19 ローム株式会社 半導体デバイス、通信システム、手振れ補正コントローラ、撮像装置、電子機器
JP6050528B2 (ja) * 2013-03-15 2016-12-21 インテル コーポレイション セキュリティ・コプロセッサ・ブート性能
US9158628B2 (en) 2013-11-27 2015-10-13 American Megatrends, Inc. Bios failover update with service processor having direct serial peripheral interface (SPI) access

Also Published As

Publication number Publication date
US20160026799A1 (en) 2016-01-28
JP2017033537A (ja) 2017-02-09
JP6538610B2 (ja) 2019-07-03
US10303880B2 (en) 2019-05-28
TWI632483B (zh) 2018-08-11

Similar Documents

Publication Publication Date Title
TWI632483B (zh) 安全裝置及在其內提供安全服務至主機的方法、安全設備以及電腦軟體產品
US11741230B2 (en) Technologies for secure hardware and software attestation for trusted I/O
US10339327B2 (en) Technologies for securely binding a platform manifest to a platform
US8572410B1 (en) Virtualized protected storage
KR102244645B1 (ko) 인증된 변수의 관리
US11843705B2 (en) Dynamic certificate management as part of a distributed authentication system
EP3326105B1 (en) Technologies for secure programming of a cryptographic engine for secure i/o
US11809544B2 (en) Remote attestation for multi-core processor
US10846438B2 (en) RPMC flash emulation
TW201535145A (zh) 使用保護讀取儲存器安全地儲存韌體數據之系統及方法
EP2947594A2 (en) Protecting critical data structures in an embedded hypervisor system
EP1429224A1 (en) Firmware run-time authentication
KR102660863B1 (ko) 구성 설정들의 안전한 서명
US10747885B2 (en) Technologies for pre-boot biometric authentication
KR101953444B1 (ko) 하드웨어 수준 보안을 보장하는 가상화 기반 소프트웨어 보안 방법 및 이를 이용하는 장치
CN106156632B (zh) 安全装置及在其内提供安全服务至主机的方法、安全设备
CN111357003A (zh) 预操作系统环境中的数据保护
JPWO2018092289A1 (ja) 情報処理装置
CN113454624A (zh) 网络凭据的存储