TW201931191A - 記憶體子系統、安全客戶端裝置與認證方法 - Google Patents

記憶體子系統、安全客戶端裝置與認證方法 Download PDF

Info

Publication number
TW201931191A
TW201931191A TW107128381A TW107128381A TW201931191A TW 201931191 A TW201931191 A TW 201931191A TW 107128381 A TW107128381 A TW 107128381A TW 107128381 A TW107128381 A TW 107128381A TW 201931191 A TW201931191 A TW 201931191A
Authority
TW
Taiwan
Prior art keywords
host
memory
startup process
signature
legal
Prior art date
Application number
TW107128381A
Other languages
English (en)
Other versions
TWI687840B (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 TW201931191A publication Critical patent/TW201931191A/zh
Application granted granted Critical
Publication of TWI687840B publication Critical patent/TWI687840B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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
    • 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/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • 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/033Test or assess software
    • 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/3236Cryptographic 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 using cryptographic hash functions
    • H04L9/3239Cryptographic 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 using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Virology (AREA)
  • Power Engineering (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Abstract

本發明提供一種記憶體子系統,包括記憶體介面、主機介面與處理器。記憶體介面用以存取非揮發性記憶體。主機介面用以與主機進行通信。處理器用以透過主機使用並儲存在非揮發性記憶體中的程式碼來計算簽名。在檢測到由主機執行的啟動進程時,驗證啟動進程是否合法。只有當啟動進程被驗證為合法時,才將簽名提供到主機以供遠端伺服器認證。

Description

記憶體子系統、安全客戶端裝置與認證方法
本發明是有關於一種安全通信及資料儲存,且特別是有關於一種認證安全客戶端裝置的方法及系統。
與伺服器進行通信的安全客戶端有時需要向伺服器進行認證且安全客戶端需要證明其尚未被惡意的第三方入侵。針對此種認證過程已提出了各種解決方案。一些解決方案涉及創建並向伺服器報告客戶端的安全身份。舉例來說,可信計算組織(Trusted Computing Group,TCG)在“裝置識別碼合成引擎的可信平臺架構硬體要求(Trusted Platform Architecture Hardware Requirements for a Device Identifier Composition Engine)”(2.0家族,00級別,69版本,2016年12月16日)中規定了一種稱為“裝置識別碼合成引擎(Device Identifier Composition Engine DICE,DICE)”的解決方案,併入本文以供參考。
本發明提供一種記憶體子系統、安全客戶端裝置與認證方法,以提高客戶端的安全性。
本發明的實施例提供一種記憶體子系統,包括記憶體介面、主機介面與處理器。記憶體介面,用以存取非揮發性記憶體。主機介面,用以與主機進行通信。處理器,用以計算由主機使用並儲存在非揮發性記憶體中的程式碼上的簽名,在檢測到由主機執行的啟動進程時,驗證啟動進程是否合法,只有當啟動進程被驗證為合法時,才將簽名提供到主機以供遠端伺服器認證。
本發明的實施例提供一種安全客戶端裝置,包括非揮發性記憶體、主機與記憶體子系統。記憶體子系統用以代表主機存取非揮發性記憶體,計算由主機使用並儲存在非揮發性記憶體中的程式碼上的簽名。在檢測到由主機執行的啟動進程時,驗證啟動進程是否合法。只有當啟動進程被驗證為合法時,才將簽名提供到主機以供遠端伺服器認證。
本發明的實施例提供一種認證方法,適用於一記憶體子系統。記憶體子系統包括記憶體介面、主機介面與處理器。記憶體介面用以存取非揮發性記憶體,主機介面用以與主機進行通信。認證方法包括:計算由主機使用並儲存在非揮發性記憶體中的程式碼上的簽名;在檢測到由主機執行的啟動進程時,驗證啟動進程是否合法;只有當啟動進程被驗證為合法時,才將簽名提供到主機以供遠端伺服器認證。
基於上述,在本發明一些實施例中,所述記憶體子系統、安全客戶端裝置與認證方法基於配置記憶體子系統,透過驗證主機的啟動進程是否合法以提供簽名,有效提升客戶端的安全性。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
本發明的實施例提供安全客戶端裝置對於遠端伺服器的認證改善方法及系統。在所公開實施例中,安全客戶端裝置包括非揮發性記憶體(Non-Volatile Memory,NVM)、主機、及代表主機存取非揮發性記憶體的記憶體子系統。作為安全客戶端裝置與伺服器之間認證過程的一部分,主機需要將通過主機儲存在非揮發性記憶體中的一些或全部程式碼(軟體程式碼)計算出來的簽名提供給伺服器。
此種過程的一個可能的安全性漏洞是,惡意的第三方可能會獲取正確的簽名。第三方可能在使用正確簽名的伺服器中進行認證,但會接著使用惡意程式碼來與伺服器進行通信。在一些實施例中,安全客戶端裝置的記憶體子系統只有當驗證出安全客戶端裝置的啟動進程為合法時,才將簽名提供到主機以消除此漏洞以及其他漏洞。
在示範性實施例中,記憶體子系統通過程式碼來計算簽名,並將簽名儲存在揮發性暫存器中。此準備步驟可在安全客戶端裝置進行啟動之前的任意合適時間處執行。在稍後的時間點,記憶體子系統檢測到安全客戶端裝置開始啟動進程。舉例來說,記憶體子系統可檢測從主機向非揮發性記憶體發出的(一個或多個)第一讀取命令。記憶體子系統例如通過檢驗第一讀取命令是否被定址到已知含有合法啟動程式碼的記憶體位址來驗證啟動進程是否合法。如果啟動進程顯示為非法,則記憶體子系統抹除持有簽名的揮發性暫存器的內容。
當記憶體子系統以上述方式運行時,只有執行合法啟動進程的主機才將能夠將正確簽名提供到伺服器。具非法啟動進程特徵的惡意主機將不會從記憶體子系統接收到正確簽名且將不能夠在伺服器中進行認證。
在一些實施例中,一旦合法程式碼從預先定義為合法的位址範圍進行啟動,則程式碼會被允許修改(例如擴展)此位址範圍。此特徵使得合法程式碼能夠從更大的位址範圍繼續執行而不導致抹除簽名。
本文中描述的技術易於實現,但同時提供高度的安全性。所公開的技術可嵌入各種認證框架中,例如嵌入可信計算組織裝置識別符合成發動機框架中。
圖1是依據本發明的一實施例示範性繪示的系統20的方塊圖。其中安全客戶端裝置(客戶端24)通過通信網路(網路32)與遠端伺服器(伺服器28)進行通信。
在一實施例中,客戶端24是物聯網(Internet-of-Things,IoT)終端的一部分且伺服器28包括物聯網應用伺服器。在另一實施例中,客戶端24是車輛中的汽車子系統的一部分,且伺服器28包括車輛的中央電腦。此外,可選地,客戶端24及伺服器28可包括用於任何其他合適應用的任何其他合適計算平臺。網路32可包括任何合適的通信網路,例如區域網路(Local-Area Network)、例如網際網路等廣域網路絡(Wide-Area Network)、蜂巢式網路(cellular network)、或者兩種或更多種網路的組合。
在圖1所示實施例中,客戶端24包括主機處理器(主機36)、非揮發性記憶體(NVM)40及記憶體子系統44。主機36可包括任何合適的處理器。在本實施例中,非揮發性記憶體40包括快閃記憶體,但在可選實施例中可使用任何其他合適類型的非揮發性記憶體。非揮發性記憶體40用於儲存各種資料,包括主機36所運行的程式碼(軟體程式碼)。記憶體子系統44代表主機36存取非揮發性記憶體40。舉例來說,記憶體子系統44接收由主機36發出的讀取及寫入命令,並在非揮發性記憶體40中執行命令。
在圖1所示實施例中,記憶體子系統44包括用於與主機36進行通信的主機介面48、用於與非揮發性記憶體40進行通信的記憶體介面52、及被配置成執行記憶體子系統的各種任務的處理器56。在其他任務中,處理器56透過儲存在非揮發性記憶體40中的程式碼來計算簽名並將簽名儲存在揮發性暫存器(暫存器60)中。每當主機36從非揮發性記憶體40開始主機36的啟動進程時,處理器56也會進行識別,驗證啟動進程是否合法,且如果不合法,則刪除暫存器60的內容。以下詳細闡述此種安全機制。
圖1中所示系統20及客戶端24的配置是純粹為概念清晰而描繪的示範性配置。在可選實施例中,可使用任何其他合適的配置。在一個實施例中,記憶體子系統44及非揮發性記憶體40被製作在單個系統晶片(System-on-Chip,SoC)中,例如在同一封裝中各自的半導體裸片。在另一實施例中,記憶體子系統44及非揮發性記憶體40被製作成單獨的裝置。為清晰起見,已從圖中省略對於理解所公開技術來說並非強制性的元件。
在各種實施例中,圖1中所示客戶端24的不同組件可利用例如特殊應用積體電路(Application-Specific Integrated Circuit,ASIC)或現場可程式設計邏輯閘陣列(Field-Programmable Gate Array,FPGA)中的任何合適的硬體來實施。可選地,客戶端24的功能中的一些功能(例如,主機36的功能及/或處理器56的功能)可通過軟體來實施或利用軟體與硬體元件的組合來實施。
通常,主機36及處理器56包括通用處理器,其通過軟體而被程式設計為施行本文中所述的功能。例如,軟體可透過網路而以電子形式下載到任何處理器,或者可選地或附加地將軟體提供及/或儲存在例如磁記憶體、光記憶體或電子記憶體等非暫時性有形介質上。
在一些實施例中,客戶端24需要在伺服器28中進行認證並證明客戶端24的安全性尚未受到入侵。在示範性認證過程中,客戶端24透過儲存在非揮發性記憶體40中的主機36的至少一部分程式碼來計算簽名。客戶端24使用簽名值在伺服器28中進行認證。伺服器28通常會將由客戶端24提供的簽名與簽名的期望值進行比較。客戶端24可計算簽名,例如通過對程式碼施加單向加密操作。單向加密操作的典型實例例如是安全散列演算法(Secure Hashing Algorithm,SHA)等散列函數。
在一些實施例中,記憶體子系統44施行額外的安全機制,其確保將簽名僅被提供給原始程式碼而不提供給任何惡意程式碼。在這些實施例中,記憶體子系統44的處理器56將簽名保存在揮發性暫存器(暫存器60)中。當檢測到主機36開始其啟動進程時,處理器56驗證啟動進程是否合法。如果處理器56懷疑啟動進程非法(意指主機36可能已被入侵),則處理器56清除暫存器60的內容,從而抹除簽名。因此,只有執行合法啟動進程的程式碼才能夠獲得真簽名值(並在伺服器28中進行認證)。
圖2是依據本發明一實施例繪示的由記憶體子系統44的處理器56進行條件式供應程式碼簽名的方法的流程圖。在該方法的第一階段(步驟70到86)中,處理器56計算並保存程式碼簽名。此階段可在客戶端24被啟動之前的任意合適時間處執行,例如在每一啟動之前及/或在軟體更新之後。在該方法的第二階段(步驟90到102)中,處理器56使簽名僅可用於合法程式碼。
該方法開始於:在金鑰載入步驟(載入初始化向量70),處理器56載入用於計算程式碼簽名的初始化向量(金鑰)。在資料讀出步驟(從快閃記憶體中的程式碼區讀取資料74),處理器56從非揮發性記憶體40用於儲存主機36程式碼的區域讀取下一個資料塊(例如,字或頁)。
在散列步驟(對資料進行散列 78),處理器56對資料塊進行散列操作。散列操作是遞增的,即步驟78的每一個疊代提供最近載入的資料塊及所有先前資料塊的累積簽名。
在終端檢驗步驟(程式碼是否結束?82),處理器56檢驗是否已對所有所需程式碼(使簽名得以定義的程式碼)進行散列。如果不是,則該方法返回到上面的步驟74以從非揮發性記憶體40讀取下一個程式碼塊。在整個程式碼進行被散列之後,在簽名儲存步驟(將程式碼簽名儲存在揮發性暫存器中 86),處理器56將所得的簽名保存在揮發性暫存器(暫存器60)中。
稍後,在啟動檢測步驟(檢測安全客戶端裝置的啟動90),處理器56檢測到主機36開始執行啟動進程。舉例來說,處理器56可在上電之後檢測到由主機36向非揮發性記憶體40發出的(一個或多個)第一讀取命令。
在啟動驗證步驟(是否從所期望的位址進行啟動? 94),處理器56確認所檢測到的啟動進程是否合法。在一個實施例中,處理器56知曉儲存有主機36的真的啟動程式碼的記憶體位址。在上電之後檢測到由主機36發出的第一讀取命令時,處理器56假定這些讀取命令應被定址到這些位址。
如果第一讀取命令確實被定址到所期待的記憶體位址,則處理器56推斷啟動進程合法,並在正常執行步驟(繼續執行 98)處繼續執行。具體來說,如果主機36隨後從記憶體子系統44 處請求程式碼簽名,則處理器56將會回傳儲存在暫存器60中的真簽名值。
另一方面,如果第一讀取命令未被定址到所期望的記憶體位址,則處理器56推斷啟動進程已被一些惡意方入侵。因此,在回到正常執行步驟(繼續執行 98)之前,處理器56在簽名抹除步驟(清除揮發性暫存器 102)清除暫存器60的內容。在此種情形中,主機36無法檢索到程式碼簽名。因此,非法程式碼將不能與伺服器28完成認證過程。
圖2所示方法流程是純粹為概念清晰而描繪的示範性流程。在可選實施例中可使用任何其他合適的流程來實施所公開的技術。舉例來說,處理器56可使用其他準則來驗證主機36的啟動進程是否合法,其未必涉及被讀取的記憶體位址。
在另一個實施例,如上所述,一旦處理器56完成合法啟動進程,則處理器可修改對於程式碼讀出來說合法的地址範圍。通過此種方式,處理器56可繼續從更大的位址範圍執行合法程式碼而不會導致抹除暫存器60中的簽名。
在一些實施例中,至少處理器56的驗證啟動進程及清除暫存器60功能是利用記憶體子系統中的專用硬體邏輯來實現,從而使該功能難以被規避。
綜上所述,本發明的記憶體子系統、安全客戶端裝置與認證方法基於配置記憶體子系統,透過驗證主機的啟動進程是否合法以提供簽名,有效提升客戶端的安全性。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
20‧‧‧系統
24‧‧‧客戶端
28‧‧‧伺服器
32‧‧‧網路
36‧‧‧主機
40‧‧‧非揮發性記憶體
44‧‧‧記憶體子系統
48‧‧‧主機介面
52‧‧‧記憶體介面
56‧‧‧處理器
60‧‧‧暫存器
70~102‧‧‧步驟。
圖1是依據本發明的一實施例繪示的與遠端伺服器進行通信的安全客戶端裝置的方塊圖。 圖2是依據本發明一實施例繪示的一種條件式供應程式碼簽名的方法的流程圖。

Claims (12)

  1. 一種記憶體子系統,包括: 一記憶體介面,用以存取一非揮發性記憶體; 一主機介面,用以與一主機進行通信;以及 一處理器,用以計算由所述主機使用並儲存在所述非揮發性記憶體中的程式碼上的一簽名,在檢測到由所述主機執行的一啟動進程時,驗證所述啟動進程是否合法,只有當所述啟動進程被驗證為合法時,才將所述簽名提供到所述主機以供一遠端伺服器認證。
  2. 如申請專利範圍第1項所述的記憶體子系統,其中所述處理器用以將所述簽名儲存在一揮發性暫存器中,並且當檢測到所述啟動進程不合法時,清除所述揮發性暫存器。
  3. 如申請專利範圍第1項所述的記憶體子系統,其中所述處理器用以通過驗證所述主機對所述非揮發性記憶體的一個或多個第一存取是否被定址到被預先定義為合法的一記憶體位址範圍來驗證所述啟動進程是否合法。
  4. 如申請專利範圍第1項所述的記憶體子系統,其中所述 啟動進程被驗證為合法時,所述處理器被配置成對被預先定義為合法的所述記憶體位址範圍進行修改。
  5. 一種安全客戶端裝置,包括: 一非揮發性記憶體; 一主機;以及 一記憶體子系統,用以代表所述主機存取所述非揮發性記憶體,計算由所述主機使用並儲存在所述非揮發性記憶體中的程式碼上的一簽名,在檢測到由所述主機執行的一啟動進程時,驗證所述啟動進程是否合法,只有當所述啟動進程被驗證為合法時,才將所述簽名提供到所述主機以供一遠端伺服器認證。
  6. 如申請專利範圍第5項所述的安全客戶端裝置,其中所述記憶體子系統用以將所述簽名儲存在一揮發性暫存器中,並且當檢測到所述啟動進程不合法時,清除所述揮發性暫存器。
  7. 如申請專利範圍第5項所述的安全客戶端裝置,其中所述記憶體子系統用以通過驗證所述主機對所述非揮發性記憶體的一個或多個第一存取是否被定址到被預先定義為合法的一記憶體位址範圍來驗證所述啟動進程是否合法。
  8. 如申請專利範圍第5項所述的安全客戶端裝置,其中所述啟動進程被驗證為合法時,所述記憶體子系統用以對被預先定義為合法的所述記憶體位址範圍進行修改。
  9. 一種認證方法,適用於一記憶體子系統,所述記憶體子系統包括一記憶體介面、一主機介面與一處理器,所述記憶體介面用以存取一非揮發性記憶體,所述主機介面用以與一主機進行通信,所述認證方法包括: 計算由所述主機使用並儲存在所述非揮發性記憶體中的程式碼上的一簽名; 在檢測到由所述主機執行的一啟動進程時,驗證所述啟動進程是否合法;以及 只有當所述啟動進程被驗證為合法時,才將所述簽名提供到所述主機以供一遠端伺服器認證。
  10. 如申請專利範圍第9項所述的認證方法,還包括: 將所述簽名儲存在一揮發性暫存器中,並且當檢測到所述啟動進程不合法時,清除所述揮發性暫存器。
  11. 如申請專利範圍第9項所述的認證方法,其中所述驗證所述啟動進程是否合法包括: 驗證所述主機對所述非揮發性記憶體的一個或多個第一存取是否被定址到被預先定義為合法的一記憶體位址範圍。
  12. 如申請專利範圍第9項所述的認證方法,其中所述驗證所述啟動進程是否合法還包括: 當所述啟動進程被驗證為合法時,對被預先定義為合法的所述記憶體位址範圍進行修改。
TW107128381A 2018-01-02 2018-08-14 記憶體子系統、安全客戶端裝置與認證方法 TWI687840B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/859,780 2018-01-02
US15/859,780 US10757087B2 (en) 2018-01-02 2018-01-02 Secure client authentication based on conditional provisioning of code signature

Publications (2)

Publication Number Publication Date
TW201931191A true TW201931191A (zh) 2019-08-01
TWI687840B TWI687840B (zh) 2020-03-11

Family

ID=67058631

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107128381A TWI687840B (zh) 2018-01-02 2018-08-14 記憶體子系統、安全客戶端裝置與認證方法

Country Status (5)

Country Link
US (1) US10757087B2 (zh)
JP (1) JP6639620B2 (zh)
KR (1) KR102132534B1 (zh)
CN (1) CN109992966B (zh)
TW (1) TWI687840B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI773199B (zh) * 2020-08-03 2022-08-01 新唐科技股份有限公司 安全運算裝置、安全運算方法、驗證器及裝置驗證方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11621976B2 (en) * 2017-08-02 2023-04-04 British Telecommunications Public Limited Company Malicious host detection
US11258772B2 (en) * 2018-06-19 2022-02-22 Cypress Semiconductor Corporation Secured communication from within non-volatile memory device
CN109492352B (zh) * 2018-10-09 2021-01-29 华为技术有限公司 一种设备标识组合引擎的实现方法及装置
US11734458B2 (en) * 2019-02-26 2023-08-22 Intel Corporation Extensible layered trusted computing base for computing devices

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6651171B1 (en) * 1999-04-06 2003-11-18 Microsoft Corporation Secure execution of program code
US6986052B1 (en) * 2000-06-30 2006-01-10 Intel Corporation Method and apparatus for secure execution using a secure memory partition
US6715085B2 (en) * 2002-04-18 2004-03-30 International Business Machines Corporation Initializing, maintaining, updating and recovering secure operation within an integrated system employing a data access control function
CN1277219C (zh) 2003-01-15 2006-09-27 泽浦科技股份有限公司 储存单元数据保护方法以及系统
US20080005797A1 (en) * 2006-06-30 2008-01-03 Microsoft Corporation Identifying malware in a boot environment
JP4993122B2 (ja) 2008-01-23 2012-08-08 大日本印刷株式会社 プラットフォーム完全性検証システムおよび方法
DE102008011925B4 (de) 2008-02-29 2018-03-15 Globalfoundries Inc. Sicheres Initialisieren von Computersystemen
WO2010039788A2 (en) * 2008-09-30 2010-04-08 Bigfoot Networks, Inc. Processor boot security device and methods thereof
US8775618B2 (en) * 2010-08-02 2014-07-08 Ebay Inc. Application platform with flexible permissioning
CN102164138A (zh) * 2011-04-18 2011-08-24 奇智软件(北京)有限公司 一种保证用户网络安全性的方法及客户端
CN102521101B (zh) 2011-12-08 2015-05-13 曙光信息产业(北京)有限公司 一种基于进程扫描的非法作业监控方法
US9361244B2 (en) * 2011-12-29 2016-06-07 Intel Corporation Apparatus for hardware accelerated runtime integrity measurement
KR101416536B1 (ko) * 2012-04-25 2014-07-09 주식회사 로웸 패스코드 운영 시스템과 패스코드 장치 및 슈퍼 패스코드 생성 방법
TWI531202B (zh) 2012-11-02 2016-04-21 Keypasco Ab 藉由使用者位置檢驗身份的網路安全驗證方法
JP5986897B2 (ja) * 2012-11-13 2016-09-06 Kddi株式会社 端末装置、完全性検証システム、およびプログラム
US20140281500A1 (en) 2013-03-15 2014-09-18 Ologn Technologies Ag Systems, methods and apparatuses for remote attestation
US9680872B1 (en) * 2014-03-25 2017-06-13 Amazon Technologies, Inc. Trusted-code generated requests
CN104021011A (zh) * 2014-05-09 2014-09-03 苏州汇川技术有限公司 嵌入式设备程序升级系统及方法
US11269984B2 (en) * 2014-12-09 2022-03-08 Janus Technologies, Inc. Method and apparatus for securing user operation of and access to a computer system
JP6659220B2 (ja) * 2015-01-27 2020-03-04 ルネサスエレクトロニクス株式会社 通信装置、半導体装置、プログラムおよび通信システム
CN104636256B (zh) 2015-02-17 2017-10-24 中国农业银行股份有限公司 一种内存访问异常的检测方法及装置
CN106940769B (zh) * 2017-03-01 2020-04-28 广州大学 操作系统安全远程加载方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI773199B (zh) * 2020-08-03 2022-08-01 新唐科技股份有限公司 安全運算裝置、安全運算方法、驗證器及裝置驗證方法

Also Published As

Publication number Publication date
KR102132534B1 (ko) 2020-07-10
CN109992966A (zh) 2019-07-09
JP6639620B2 (ja) 2020-02-05
TWI687840B (zh) 2020-03-11
US20190207917A1 (en) 2019-07-04
CN109992966B (zh) 2023-06-27
JP2019122030A (ja) 2019-07-22
US10757087B2 (en) 2020-08-25
KR20190082658A (ko) 2019-07-10

Similar Documents

Publication Publication Date Title
TWI687840B (zh) 記憶體子系統、安全客戶端裝置與認證方法
US20200272739A1 (en) Performing an action based on a pre-boot measurement of a firmware image
CN111030822B (zh) 用于保护固件的方法和系统,以及计算机可读介质
JP5500458B2 (ja) プロセッサメインメモリのメモリコンテンツのセキュリティ保護
US8522003B2 (en) Software loading method and apparatus to a computing platform
US20160098555A1 (en) Program code attestation circuitry, a data processing apparatus including such program code attestation circuitry and a program attestation method
TWI745629B (zh) 電腦系統以及初始化電腦系統的方法
KR20180013854A (ko) 전자 디바이스의 무결성을 검증하기 위한 시스템 및 방법
US10776493B2 (en) Secure management and execution of computing code including firmware
TWI760752B (zh) 應用加速驗證映像檔方法的系統
US11048801B2 (en) Method and apparatus for secure computing device start up
CN107924440B (zh) 用于管理容器的方法、系统和计算机可读介质
TWI605357B (zh) 電腦系統以及電腦系統操作方法
Zhao et al. A private user data protection mechanism in trustzone architecture based on identity authentication
US11269986B2 (en) Method for authenticating a program and corresponding integrated circuit
WO2016024967A1 (en) Secure non-volatile random access memory
TW201319862A (zh) 嵌入式元件與控制方法
JPWO2021262545A5 (zh)
KR20110048014A (ko) 컴퓨터 플랫폼에서의 방법 및 장치