CN109992966A - 存储器子系统、安全客户端装置及其认证方法 - Google Patents
存储器子系统、安全客户端装置及其认证方法 Download PDFInfo
- Publication number
- CN109992966A CN109992966A CN201810951808.6A CN201810951808A CN109992966A CN 109992966 A CN109992966 A CN 109992966A CN 201810951808 A CN201810951808 A CN 201810951808A CN 109992966 A CN109992966 A CN 109992966A
- Authority
- CN
- China
- Prior art keywords
- host
- legal
- launching process
- memory
- signature
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/33—User authentication using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection 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/1425—Protection 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/1441—Protection 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting 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/79—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0876—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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/3239—Cryptographic 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1052—Security improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
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)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Bioethics (AREA)
- Virology (AREA)
- Mathematical Physics (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种存储器子系统、安全客户端装置及其认证方法,存储器子系统包括:存储器接口,用于存取非易失性存储器(NVM);主机接口,与主机进行通信;以及处理器。处理器被配置成:通过主机使用并存储在非易失性存储器中的程序代码来计算签名;在检测到由主机执行的启动进程时,验证启动进程是否合法;以及只有当启动进程被验证为合法时,才将签名提供到主机以供远程服务器认证。
Description
技术领域
本发明大体来说涉及安全通信及数据存储,尤其涉及存储器子系统、安全客户端装置及其认证方法。
背景技术
与服务器进行通信的安全客户端有时需要向服务器进行认证且安全客户端需要证明其尚未被恶意的第三方入侵。针对此种认证过程已提出了各种解决方案。一些解决方案涉及创建并向服务器报告客户端的安全身份。举例来说,可信计算组织(TrustedComputing Group,TCG)在“装置识别码合成引擎的可信平台架构硬件要求(TrustedPlatform Architecture Hardware Requirements for a Device IdentifierComposition Engine)”(2.0家族,00级别,69版本,2016年12月16日)中规定了一种称为“装置识别码合成引擎(Device Identifier Composition Engine,DICE)”的解决方案,并入本文以供参考。
发明内容
本发明的实施例提供一种存储器子系统,存储器子系统包括:存储器接口,用于存取非易失性存储器;主机接口,与主机进行通信;以及处理器。处理器被配置成:计算由主机使用并存储在非易失性存储器中的程序代码上的签名;在检测到由主机执行的启动进程时,验证启动进程是否合法;以及只有当启动进程被验证为合法时,才将签名提供到主机以供远程服务器认证。
在一些实施例中,处理器被配置成将签名存储在易失性寄存器中,并且当检测到启动进程不合法时清除所述易失性寄存器。在一些实施例中,处理器被配置成通过验证主机对非易失性存储器的一个或多个第一存取是否被定址到被预先定义为合法的存储器地址范围来验证启动进程是否合法。在实施例中,当启动进程被验证为合法时,处理器被配置成对被预先定义为合法的存储器地址范围进行修改。
根据本发明的实施例,另外提供一种安全客户端装置,安全客户端装置包括:非易失性存储器;主机;以及存储器子系统。存储器子系统被配置成:代表主机存取非易失性存储器;计算由主机使用并存储在非易失性存储器中的程序代码上的签名;在检测到由主机执行的启动进程时,验证启动进程是否合法;以及只有当启动进程被验证为合法时,才将签名提供到主机以供远程服务器认证。
根据本发明的实施例,还提供一种认证方法,认证方法包括:计算由主机使用并存储在非易失性存储器中的程序代码上的签名。在检测到由主机执行的启动进程时,验证启动进程是否合法。只有当启动进程被验证为合法时,才将签名提供到主机以供远程服务器认证。
为使本发明能更明显易懂,特举实施例并配合附图详细说明如下。
附图说明
包含附图以便进一步理解本发明,且附图并入本说明书中并构成本说明书的一部分。附图说明本发明的实施例,并与描述一起用于解释本发明的原理。
图1是根据本发明一实施例的与远程服务器进行通信的安全客户端装置的方块图。
图2是根据本发明一实施例的条件式供应代码签名的方法的流程图。
附图标号说明
20:系统;
24:客户端;
28:服务器;
32:网络;
36:主机;
40:非易失性存储器;
44:存储器子系统;
48:主机接口;
52:存储器接口;
56:处理器;
60:寄存器;
70~102:本发明一实施例所述的处理器进行条件式供应代码签名的各步骤。
具体实施方式
概述
本发明的实施例提供安全客户端装置对于远程服务器的认证改善方法及系统。在所公开实施例中,安全客户端装置包括非易失性存储器(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功能是利用存储器子系统中专用硬件逻辑来实现,从而使该功能难以被规避。
应理解,以上所述实施例是作为例子而引用,且本发明并非仅限于已在上文中具体示出及阐述的实施例。确切来说,本发明的范围包括在上文中阐述的各种特征的组合及子组合,以及所属领域中的技术人员将通过阅读前述说明后将会想到的,且在现有技术中未公开的所述各种特征的变化及修改。在本专利申请中通过引用并入的文件被认为是本申请的组成部分,除了在这些并入的文件中任何与本说明书明确或隐含地定义冲突的术语,仅应考虑本说明书中的定义。
Claims (12)
1.一种存储器子系统,其特征在于,包括:
存储器接口,用于存取非易失性存储器;
主机接口,用于与主机进行通信;以及
处理器,被配置成:
计算由所述主机使用并存储在所述非易失性存储器中的程序代码上的签名;
在检测到由所述主机执行的启动进程时,验证所述启动进程是否合法;以及
只有当所述启动进程被验证为合法时,才将所述签名提供到所述主机以供远程服务器认证。
2.根据权利要求1所述的存储器子系统,其特征在于,所述处理器被配置成将所述签名存储在易失性寄存器中,并且当检测到所述启动进程不合法时清除所述易失性寄存器。
3.根据权利要求1所述的存储器子系统,其特征在于,所述处理器被配置成通过验证所述主机对所述非易失性存储器的一个或多个第一存取是否被定址到被预先定义为合法的存储器地址范围来验证所述启动进程是否合法。
4.根据权利要求3所述的存储器子系统,其特征在于,当所述启动进程被验证为合法时,所述处理器被配置成对被预先定义为合法的所述存储器地址范围进行修改。
5.一种安全客户端装置,其特征在于,包括:
非易失性存储器;
主机;以及
存储器子系统,被配置成:
代表所述主机存取所述非易失性存储器;
计算由所述主机使用并存储在所述非易失性存储器中的程序代码上的签名;
在检测到由所述主机执行的启动进程时,验证所述启动进程是否合法;以及
只有当所述启动进程被验证为合法时,才将所述签名提供到所述主机以供远程服务器认证。
6.根据权利要求5所述的安全客户端装置,其特征在于,所述存储器子系统被配置成将所述签名存储在易失性寄存器中,并且当检测到所述启动进程不合法时清除所述易失性寄存器。
7.根据权利要求5所述的安全客户端装置,其特征在于,所述存储器子系统被配置成通过验证所述主机对所述非易失性存储器的一个或多个第一存取是否被定址到被预先定义为合法的存储器地址范围来验证所述启动进程是否合法。
8.根据权利要求7所述的安全客户端装置,其特征在于,当所述启动进程被验证为合法时,所述存储器子系统被配置成对被预先定义为合法的所述存储器地址范围进行修改。
9.一种认证方法,其特征在于,包括:
计算由主机使用并存储在非易失性存储器中的程序代码上的签名;
在检测到由所述主机执行的启动进程时,验证所述启动进程是否合法;以及
只有当所述启动进程被验证为合法时,才将所述签名提供到所述主机以供远程服务器认证。
10.根据权利要求9所述的认证方法,其特征在于,还包括:将所述签名存储在易失性寄存器中,并且当检测到所述启动进程不合法时清除所述易失性寄存器。
11.根据权利要求9所述的认证方法,其特征在于,所述验证所述启动进程是否合法包括:验证所述主机对所述非易失性存储器的一个或多个第一存取是否被定址到被预先定义为合法的存储器地址范围。
12.根据权利要求11所述的认证方法,其特征在于,所述验证所述启动进程是否合法还包括:当所述启动进程被验证为合法时,对被预先定义为合法的所述存储器地址范围进行修改。
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 |
---|---|
CN109992966A true CN109992966A (zh) | 2019-07-09 |
CN109992966B CN109992966B (zh) | 2023-06-27 |
Family
ID=67058631
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810951808.6A Active CN109992966B (zh) | 2018-01-02 | 2018-08-21 | 存储器子系统、安全客户端装置及其认证方法 |
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 (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109492352A (zh) * | 2018-10-09 | 2019-03-19 | 华为技术有限公司 | 一种设备标识组合引擎的实现方法及装置 |
CN114065176A (zh) * | 2020-08-03 | 2022-02-18 | 新唐科技股份有限公司 | 安全运算装置、安全运算方法、验证器及装置验证方法 |
Families Citing this family (3)
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 |
US11734458B2 (en) * | 2019-02-26 | 2023-08-22 | Intel Corporation | Extensible layered trusted computing base for computing devices |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090222653A1 (en) * | 2008-02-29 | 2009-09-03 | Ralf Findeisen | Computer system comprising a secure boot mechanism |
CN104021011A (zh) * | 2014-05-09 | 2014-09-03 | 苏州汇川技术有限公司 | 嵌入式设备程序升级系统及方法 |
US20140359239A1 (en) * | 2011-12-29 | 2014-12-04 | Radhakrishna Hiremane | Apparatus for hardware accelerated runtime integrity measurement |
US20160219029A1 (en) * | 2015-01-27 | 2016-07-28 | Renesas Electronics Corporation | Communication device, lsi, program, and communication system |
CN106940769A (zh) * | 2017-03-01 | 2017-07-11 | 广州大学 | 操作系统安全远程加载方法 |
Family Cites Families (17)
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 | 大日本印刷株式会社 | プラットフォーム完全性検証システムおよび方法 |
US8443181B2 (en) * | 2008-09-30 | 2013-05-14 | Qualcomm Incorporated | 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 | 曙光信息产业(北京)有限公司 | 一种基于进程扫描的非法作业监控方法 |
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株式会社 | 端末装置、完全性検証システム、およびプログラム |
EP2973168A1 (en) * | 2013-03-15 | 2016-01-20 | 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 |
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 |
CN104636256B (zh) | 2015-02-17 | 2017-10-24 | 中国农业银行股份有限公司 | 一种内存访问异常的检测方法及装置 |
-
2018
- 2018-01-02 US US15/859,780 patent/US10757087B2/en active Active
- 2018-08-14 TW TW107128381A patent/TWI687840B/zh active
- 2018-08-21 CN CN201810951808.6A patent/CN109992966B/zh active Active
- 2018-09-28 KR KR1020180115600A patent/KR102132534B1/ko active IP Right Grant
- 2018-11-20 JP JP2018217068A patent/JP6639620B2/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090222653A1 (en) * | 2008-02-29 | 2009-09-03 | Ralf Findeisen | Computer system comprising a secure boot mechanism |
US20140359239A1 (en) * | 2011-12-29 | 2014-12-04 | Radhakrishna Hiremane | Apparatus for hardware accelerated runtime integrity measurement |
CN104021011A (zh) * | 2014-05-09 | 2014-09-03 | 苏州汇川技术有限公司 | 嵌入式设备程序升级系统及方法 |
US20160219029A1 (en) * | 2015-01-27 | 2016-07-28 | Renesas Electronics Corporation | Communication device, lsi, program, and communication system |
CN106940769A (zh) * | 2017-03-01 | 2017-07-11 | 广州大学 | 操作系统安全远程加载方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109492352A (zh) * | 2018-10-09 | 2019-03-19 | 华为技术有限公司 | 一种设备标识组合引擎的实现方法及装置 |
CN109492352B (zh) * | 2018-10-09 | 2021-01-29 | 华为技术有限公司 | 一种设备标识组合引擎的实现方法及装置 |
CN114065176A (zh) * | 2020-08-03 | 2022-02-18 | 新唐科技股份有限公司 | 安全运算装置、安全运算方法、验证器及装置验证方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20190082658A (ko) | 2019-07-10 |
US10757087B2 (en) | 2020-08-25 |
KR102132534B1 (ko) | 2020-07-10 |
JP6639620B2 (ja) | 2020-02-05 |
JP2019122030A (ja) | 2019-07-22 |
TWI687840B (zh) | 2020-03-11 |
US20190207917A1 (en) | 2019-07-04 |
TW201931191A (zh) | 2019-08-01 |
CN109992966B (zh) | 2023-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109992966A (zh) | 存储器子系统、安全客户端装置及其认证方法 | |
US11196572B2 (en) | Blockchain-based content verification | |
CN109492983B (zh) | 基于区块链智能合约的电子印章签署方法、装置、设备和介质 | |
CN104954353B (zh) | Apk文件包的校验方法和装置 | |
KR102557005B1 (ko) | 인증 가속화를 위해 신뢰할 수 있는 저장 장치에 대한 검사 생성 | |
CN107292176A (zh) | 用于访问计算设备的可信平台模块的方法和系统 | |
CN108229144B (zh) | 一种应用程序的验证方法、终端设备及存储介质 | |
CN112231702B (zh) | 应用保护方法、装置、设备及介质 | |
US10574642B2 (en) | Protecting a web server against an unauthorized client application | |
CN111953634B (zh) | 终端设备的访问控制方法、装置、计算机设备和存储介质 | |
CN112037058A (zh) | 数据验证方法、装置及存储介质 | |
CN111259364B (zh) | 一种使用国密加密卡的方法、装置、设备及存储介质 | |
JP5986897B2 (ja) | 端末装置、完全性検証システム、およびプログラム | |
CN108171041B (zh) | 用于对访问存储器的应用程序进行身份验证的方法和装置 | |
CN108600259B (zh) | 设备的认证和绑定方法及计算机存储介质、服务器 | |
CN109033818B (zh) | 终端、验证方法和计算机可读存储介质 | |
CN108228312A (zh) | 通过解释器执行代码的系统和方法 | |
CN113886894A (zh) | 数字签名方法和数字签名设备 | |
KR100899638B1 (ko) | 장치식별정보를 이용한 서비스 제공 방법, 그 장치 및 그 프로그램을 기록한 컴퓨터 판독 가능한 기록매체 | |
KR20230082388A (ko) | 차량 제어기의 부트로더 검증 장치 및 그 방법 | |
JP2006338311A (ja) | 複数のアプリケーションを搭載したデバイスを処理するコンピュータシステム、デバイスおよびコンピュータプログラム | |
CN111177752A (zh) | 一种基于静态度量的可信文件存储方法、装置及设备 | |
KR20210083780A (ko) | Dex 파일 분할 및 난독화를 통한 안드로이드 앱 보안성 향상 방법 및 시스템 | |
CN109246091A (zh) | 基于区块链技术的dns防劫持方法及系统 | |
CN117113437B (zh) | 一种文件篡改检测方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |