CN112182668A - 密码存储器认证 - Google Patents
密码存储器认证 Download PDFInfo
- Publication number
- CN112182668A CN112182668A CN202010624979.5A CN202010624979A CN112182668A CN 112182668 A CN112182668 A CN 112182668A CN 202010624979 A CN202010624979 A CN 202010624979A CN 112182668 A CN112182668 A CN 112182668A
- Authority
- CN
- China
- Prior art keywords
- random access
- access memory
- memory device
- hardware element
- secure hardware
- 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.)
- Pending
Links
- 230000006870 function Effects 0.000 claims abstract description 37
- 238000012545 processing Methods 0.000 claims abstract description 37
- 238000000034 method Methods 0.000 claims description 25
- 238000004519 manufacturing process Methods 0.000 claims description 7
- 238000003752 polymerase chain reaction Methods 0.000 description 8
- 230000009471 action Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 101150102573 PCR1 gene Proteins 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 239000000463 material Substances 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 3
- 229910052710 silicon Inorganic materials 0.000 description 3
- 239000010703 silicon Substances 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000001010 compromised effect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 239000000446 fuel Substances 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 101100519158 Arabidopsis thaliana PCR2 gene Proteins 0.000 description 1
- 101100217298 Mus musculus Aspm gene Proteins 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
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/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
- G06F21/72—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 in cryptographic circuits
-
- 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60T—VEHICLE BRAKE CONTROL SYSTEMS OR PARTS THEREOF; BRAKE CONTROL SYSTEMS OR PARTS THEREOF, IN GENERAL; ARRANGEMENT OF BRAKING ELEMENTS ON VEHICLES IN GENERAL; PORTABLE DEVICES FOR PREVENTING UNWANTED MOVEMENT OF VEHICLES; VEHICLE MODIFICATIONS TO FACILITATE COOLING OF BRAKES
- B60T17/00—Component parts, details, or accessories of power brake systems not covered by groups B60T8/00, B60T13/00 or B60T15/00, or presenting other characteristic features
- B60T17/18—Safety devices; Monitoring
- B60T17/22—Devices for monitoring or checking brake systems; Signal devices
- B60T17/228—Devices for monitoring or checking brake systems; Signal devices for railway vehicles
-
- 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/45—Structures or tools for the administration of authentication
- G06F21/46—Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
-
- 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
-
- 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/002—Countermeasures against attacks on cryptographic mechanisms
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0877—Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
-
- 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/3271—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 challenge-response
- H04L9/3278—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 challenge-response using physically unclonable functions [PUF]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Power Engineering (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Storage Device Security (AREA)
Abstract
根据本发明的示例方面,提供了一种设备,包括:随机存取存储器器件;通过第一接口与该随机存取存储器器件耦合的至少一个处理核;以及包括哈希函数电路并通过第二接口直接与该随机存取存储器器件耦合的安全硬件元件,该安全硬件元件被配置为:从随机存取存储器器件的存储器空间获得数据作为输入;产生该输入的哈希值作为输出;以及使用该设备的物理不可克隆函数值来对该哈希值进行密码签名。
Description
技术领域
本公开涉及集成器件中的安全存储器管理领域。
背景技术
受信平台模块(TPM)是被设计用于提高处理以及处理硬件的各个方面的可靠性的安全密码处理器。详细地,TPM可以包括微控制器,该微控制器被设计为通过使用密码处理来使硬件元件更难于未经检测而被篡改。
TPM可以配置有电路,以例如支持平台完整性、磁盘加密和系统口令保护。平台完整性是指对平台处于未篡改状态的置信度(confidence),例如,平台的只读存储器并未因引入未经授权的固件版本而受到损害。磁盘加密的一个示例是BitLocker机制。
发明内容
根据一些方面,提供了独立权利要求的主题。一些实施例在从属权利要求中限定。本发明的各种实施例所寻求的保护范围由独立权利要求阐明。本说明书中描述的不落入独立权利要求范围内的实施例、示例和特征(如果有的话)将被解释为对理解本发明的各种实施例有用的示例。
根据本公开的第一方面,提供了一种设备,包括:随机存取存储器器件;通过第一接口与该随机存取存储器器件耦合的至少一个处理核;以及包括哈希函数电路并通过第二接口直接与该随机存取存储器器件耦合的安全硬件元件,该安全硬件元件被配置为:从该随机存取存储器器件的存储器空间获得数据作为输入;产生输入的哈希值作为输出;以及使用该设备的物理不可克隆函数值对该哈希值进行密码签名。
根据本公开的第二方面,提供一种设备中的方法,该方法包括:通过安全硬件元件从随机存取存储器器件的存储器空间获得数据作为输入;产生该输入的哈希值作为输出;以及使用该设备的物理不可克隆函数值对该哈希值进行密码签名,其中,该设备包括:该随机存取存储器器件;通过第一接口与该随机存取存储器器件耦合的至少一个处理内核;以及该安全硬件元件,其通过第二接口直接与该随机存取存储器器件耦合。
根据本公开的第三方面,提供了一种设备,该设备包括:用于通过安全硬件元件从随机存取存储器器件的存储器空间获得数据作为输入的装置;用于产生该输入的哈希值作为输出的装置;以及用于使用该设备的物理不可克隆函数值对该哈希值进行密码签名的装置,其中,该设备包括:该随机存取存储器器件;通过第一接口与该随机存取存储器器件耦合的至少一个处理内核;以及该安全硬件元件,其通过第二接口直接与该随机存取存储器器件耦合。
附图说明
图1示出了根据本发明的至少一些实施例的示例系统;
图2示出了根据本发明的至少一些实施例的过程;
图3是根据本发明的至少一些实施例的方法的流程图;
图4示出了根据本发明的至少一些实施例的信令;以及
图5示出了根据本发明的至少一些实施例的平台配置寄存器到存储器映射。
具体实施方式
本文公开了用于小型简单器件的受信启动机制,使得提供受信启动机制不会以不可接受的程度增加器件的复杂性,该器件例如被配置为控制例如车辆的制动机构、传感器节点或阀门致动器的微控制器。
图1示出了根据本发明的至少一些实施例的示例系统。器件100可以包括器件控制器,例如制动或泵控制器。器件100通过连接1G连接至外部系统170,例如车辆的制动器、致动器机构或燃料泵。连接1G可以包括控制接口,例如,其中,为连接1G选择特定电势以控制燃料泵以特定速率泵送,或者用于以特定压力被施加的制动器,该特定压力取决于特定电势而被选择。器件100的另一外部连接是通过连接1A去往通信总线180,例如用于对器件100控制和编程。连接1A可以例如是串行或并行连接,并且总线180可以例如基于互联网协议(IP)。
接口器件140被配置为通过接口1C照处理器120所指示的那样向接口1A输出信息。处理器120可以包括例如单核或多核处理器,其中,单核处理器包括一个处理核,而多核处理器包括一个以上的处理核。处理器120通常可以包括控制器件。详细地说,处理器120可以是微控制器,其包括一个或两个微控制器处理核。处理器120可以包括至少一个专用集成电路(ASIC)。处理器120可以包括至少一个现场可编程门阵列(FPGA)。处理器120可以是用于执行器件100中的方法步骤(诸如获得和产生信息)的装置。处理器120可以例如至少部分地被计算机指令配置以执行动作。在处理器120是ASIC的情况下,其可以通过其固有结构来配置。
诸如处理器120之类的处理器可以包括电路,或者被构成为一个或多个电路,该一个或多个电路被配置为执行根据本文所述实施例的方法的各个阶段。如本申请中所使用的,术语“电路”可以指以下的一个或多个或全部:(a)仅硬件的电路实施方式,例如仅采用模拟和/或数字电路的实施方式;以及(b)硬件电路和软件的结合,例如以下各项(适用的话):(i)模拟和/或数字硬件电路与软件/固件的结合,以及(ii)带有软件的硬件处理器(包括数字信号处理器)的任何部分、软件和存储器,它们一起工作以使诸如控制器器件之类的设备执行各种功能;以及(c)硬件电路和/或处理器(例如微处理器或微处理器的一部分),其需要软件(例如,固件)用于进行操作,但是在不需要进行操作时该软件可能不存在。
该电路的定义适用于该术语在本申请中的所有使用,包括在任何权利要求中。作为进一步的示例,如在本申请中所使用的,术语电路也涵盖仅硬件电路或处理器(或多个处理器)、或硬件电路或处理器及其(或它们的)随附软件和/或固件的一部分的实施方式。术语电路还涵盖(例如并且在适用于特定权利要求元素的情况下)用于移动器件的基带集成电路或处理器集成电路,或者服务器、或其他计算或网络器件中的类似集成电路。
处理器120可以配备有发射机,该发射机被布置为通过器件100内部的电引线从处理器120向器件100中包括的其他器件输出信息。这种引线的示例是接口1C。这样的发射机可以包括串行总线发射机,该串行总线发射机被布置为例如通过至少一条电引线向随机存取存储器器件130输出信息以存储在其中。作为串行总线的替代,该发射机可以包括并行总线发射机。同样地,处理器120可以包括接收机,该接收机被布置为通过器件100内部的电引线从器件100中包括的其他器件接收信息在处理器120中。这样的接收机可以包括串行总线接收机,其被布置为例如通过至少一条电引线从接口器件140接收信息用于在处理器120中处理。作为串行总线的替代,接收机可以包括并行总线接收机。
处理器120可以通过接口器件150向外部系统170通信。接口器件150可以被配置为将其通过连接1F从处理器120接收的指令转换为以外部系统170可以理解的格式表达的指令。可以通过接口1G向外部系统170提供这些指令。
器件100包括通过接口1E与处理器120耦合的随机存取存储器器件130,该接口因此可以包括存储器接口。为了简洁起见,以下将随机存取存储器器件130称为存储器130。随机存取存储器器件可以包括例如静态随机存取存储器(SRAM)芯片或一个以上这样的芯片。存储器130可以至少部分地包括在处理器120中。存储器130可以是用于存储信息的装置。存储器130可以包括处理器120被配置为执行的计算机指令。当被配置为使处理器120执行某些动作的计算机指令被存储在存储器130中并且器件100整体被配置为使用来自存储器130的计算机指令在处理器120的指导下运行时,处理器120和/或其至少一个处理核可以被认为被配置为执行所述某些动作。存储器130可以至少部分地在器件100外部,但是可以被器件100访问。
器件100还可包括只读存储器(ROM)160。在图1的示例中,ROM160通过连接1D与处理器120相连,该连接1D因此是存储器接口。ROM160可以被配置为存储计算机指令,例如结合加电器件100而执行该计算机指令。在一些实施例中,结合器件100的启动,将用于控制器件100的功能的计算机程序从ROM 160复制到存储器130。例如,处理器120可以被配置为通过连接1D和1E执行该复制。
图1的器件100还包括受信元件110,该受信元件110是被配置为提供与器件100有关的受信功能的硬件电路器件。受信元件110可以是安全硬件元件,例如受信平台模块。安全硬件元件是与处理器120分离的执行环境。至少在一些实施例中,受信元件110是不可编程的,并且因此其功能不能被破解。在图1的示例结构中,受信元件110包括标识处理电路112、密钥提供电路114和哈希函数电路116。通常,受信元件110和其中包括的电路,例如哈希函数电路116,可以是用于执行例如获得、提供和密码签名的动作的装置。
标识处理电路112被配置为生成器件110的标识符特性。可以基于从器件100的至少一个元件的物理特性导出的物理不可克隆函数(PUF)来生成标识符。例如,标识处理电路112可以在制造时配置有标识符。物理特性可以替代地反映在半导体制造期间不可避免地发生的独特物理变化。例如,PUF可以基于随机存取存储器器件130的制造可变性。由于PUF在物理上是硬件制造可变性的体现,所以它是体现在器件100的物理结构中的物理实体,并且在器件100的重新启动期间将是稳定的。标识处理电路112可以通过连接1M从存储器130获得PUF。作为存储器130的替代,PUF可以基于例如处理器120或受信元件110本身的制造可变性。
密钥提供电路114被配置为基于标识处理电路112被配置为生成的标识符来生成加密密钥。如图1所示,可以通过连接1H从标识处理电路112向密钥提供电路114提供标识符。在一些实施例中,为了节省硅空间,在受信元件110中仅配置了单个加密功能。为了节省更多硅空间,在一些实施例中,加密签名是受信元件110支持的唯一加密过程。在根据受信平台模块(TPM)2.0标准的实施例中,生成两个加密密钥,来自标识处理电路112生成的标识符的背书密钥(EK),和于是例如通过密钥提供电路114从EK中导出的证书密钥。
在图1的示例中,受信元件110还包括哈希函数电路116。哈希函数电路116被配置为在一组输入数据上生成哈希值,所述数据来自随机存取存储器130的存储器空间。在一些实施例中,输入进一步包括由标识处理电路112从物理不可克隆函数值生成的标识符。在一些实施例中,替代标识符或者附加于标识符,输入还包括对器件100已被重新启动或重置的次数的指示。受信元件110可以通过接口1L访问来自存储器13的数据,并通过连接1K访问PUF导出的标识符。哈希函数电路116可以提供哈希值,以用于通过连接1J对密钥提供电路系统114进行签名。实践中,接口1L可以直接有线连接到存储器130的存储器接口1E。通常,受信元件110的接口可以直接有线连接到存储器130的存储器接口1E。通常,受信元件110和存储器之间130的直接接口可包括例如不经过处理器、微控制器或基本输入/输出系统(BIOS)的连接。
受信元件110可以具有到接口器件140的接口1B,用于向例如通信总线180提供经认证的存储器哈希,以检查存储器130的内容是否完整。在这被视为有用的实施例中,受信元件110可以具有到处理器120的可选连接1N,以使处理器120能够触发受信元件110进行的受信动作。
器件100可以包括图1中未示出的其他器件。另一方面,在一些实施例中,器件100缺少上述至少一个器件。例如,某些器件300可能缺少ROM160。受信元件110的内部结构是示意性的,因为电路112、114和116实践中可以形成具有上述功能的受信元件110的单个统一电路。例如,这样的单个统一电路可以被称为哈希函数电路116。以这种观点,连接1J、1H和1K将被包括在统一电路中,而接口1M和1L将被包括在受信元件110具有的与存储器130的接口中。如上所述,这样的接口可被直接应用到存储器接口1E。
处理器120、存储器130、接口器件140、接口器件140和器件100的其他元件可以通过器件100内部的电引线以多种不同的方式互连。例如,每个前述器件可以分别连接到器件100内部的主总线,以允许器件交换信息。然而,如本领域技术人员将理解的,这仅是一个示例,并且取决于实施例,在不背离本公开的范围的情况下,可以选择互连至少两个前述器件的各种方式。
在使用中,为了认证存储器130的存储器空间,受信元件110可以从存储器130的存储器空间获得数据,并使用哈希函数电路116来导出该数据的哈希值。受信元件110可使用受信元件110具有的与存储器130的接口从存储器130获得数据,因此受信元件110不依赖处理器120来获得该数据。在一些实施例中,当导出哈希值时,由标识处理电路112提供的标识符可以被包括在对于哈希函数的输入中。例如,对于重叠的存储器空间,可以生成多个认证。
可以使用加密密钥来对因此获得的哈希值进行加密签名,以获得存储器空间的认证,该加密密钥是使用由标识处理电路112提供的标识符生成的。该认证可以存储在平台配置寄存器(PCR)电路中。PCR电路可包括在例如受信元件110中。在各种实施例中,受信元件110可以具有一个、两个或两个以上的平台配置寄存器来存储存储器认证。在最简单的情况下,在存储器130的整个内容上导出单个认证,即,用于为哈希函数提供数据的存储器空间是存储器130的整个存储器空间。在一些实施例中,为ROM160的内容制作一个认证,并且将所得的认证存储在受信元件110的平台配置寄存器电路的平台配置寄存器中。
可以根据诸如Rivest-Shamir-Adleman(RSA)或ElGamal公钥密码系统的公钥密码系统来执行对哈希值的签名。在这种情况下,基于来自标识处理电路112的标识符来生成公钥-私钥对。详细而言,这种对的私钥可用于对数字信息进行签名,从而证明该私钥的所有者已经对信息进行签名。原则上可以分配公钥,以使得能够验证签名是真实的,而私钥将被紧密地持有而不公开。例如,私钥可被存储在受信元件110的电路中,以保持其安全。
图2示出了根据本发明的至少一些实施例的过程。框210表示图1的存储器130,用作来自要证明的存储器空间的数据的源。框220表示诸如PUF之类的器件的物理特性,其通过标识处理电路230向哈希功能电路240提供如上描述的标识符。
哈希函数电路240使用来自存储器空间的数据以及可选地在一些实施例中还使用标识符作为输入,来计算哈希值。平台配置寄存器(PCR)250存储由此生成的哈希值,以用于该存储器空间的完整性测量。引用生成器260被配置为从PCR寄存器检索认证并将其提供作为与特定存储器空间有关的完整性值。如本文所述,该认证可以包括使用直接或间接地从器件的标识符导出的密钥来加密签名的哈希值,其中,标识符可以基于如上所述的PUF。通常,可以为修复PCR列表(fixes PCR list)自动生成认证,使得认证请求不需要指定要认证的存储器空间。这将减少对电路中硅的需求,并且还将节省处理周期。每个PCR可以被映射到存储器空间,并且因此被配置为证明该存储器空间的内容。
作为关于PCR寄存器的示例,每个PCR寄存器可以包括通过读取存储器130的特定存储器空间的内容而计算出的密码哈希值。可以将PCR分组为与哈希函数相对应的库(bank)。例如,可以提供安全哈希算法1(SHA1)和256位安全哈希算法2(SHA256)的库。哈希值的密码签名可以在将哈希值存储在PCR寄存器中之前进行,也可以作为对认证请求的响应。无论哪种方式,从受信元件110提供的认证具有密码签名的哈希值,该签名使用从器件100的物理特性导出的密钥执行。
例如,SHA256-PCR0可以映射到存储器地址0x0000-0xFFFF并利用SHA256函数来计算那些位置上的值的密码哈希。同样,SHA256-PCR1可以映射到存储器地址0x0000-0xFFFF,并利用SHA256函数来计算那些位置上的值的密码哈希,并利用计算中的标识符值以已知顺序将标识符与测得的哈希组合在一起。其他库和PCR值可返回默认值,例如:0x0...0或0xF...F(根据需要)。
密码哈希计算的来自标识符和存储器的输入的排序是以每系统为基础而定义的,并且可以以任何顺序发生,可以指定该顺序,以便可以执行任何可能的外部验证(validation)。例如,可以在受信元件110中从通信总线180、连接1A、接口器件140和连接1B接收对认证的请求。可以通过相同的路线向通信总线180提供认证。
图3是根据本发明的至少一些实施例的方法的流程图。所示方法的阶段可以在图1的器件100中或者在其中的安全硬件元件中执行。
阶段310包括通过安全硬件元件从随机存取存储器器件的存储器空间获得数据作为输入。可以使用该安全硬件元件具有的与该随机存取存储器器件的接口来获得该输入,该接口独立于设备的处理器。在该安全硬件元件和该随机存取存储器器件之间的接口可以是直接的,因为它不穿过该设备中包括的另一器件,特别是它不穿过该设备的处理器。阶段320包括产生该输入的哈希值作为输出。阶段330包括使用该设备的物理不可克隆函数值对哈希值进行密码签名。该设备包括:该随机存取存储器器件;至少一个处理核,其通过第一接口与该随机存取存储器器件耦合;以及安全硬件元件,其直接通过第二接口与该随机存取存储器器件耦合。
图4示出了根据本发明的至少一些实施例的信令。在垂直轴上从左开始布置了标识处理电路112、存储器130和密钥提供电路114。时间从顶部向底部前进。标识处理电路112和密钥提供电路114可被包括在如上所述的受信元件110中。
在阶段410中,标识处理电路112例如通过在受信元件110和存储器130之间的直接接口,请求物理存储器130的特性。在阶段420中,存储器130响应地提供所请求的特性,从而使标识处理电路112能够在阶段430中基于存储器130的物理特性生成种子。该特性可以限定例如如上文所述的PUF。
在阶段440中,密钥提供电路114请求在阶段430中生成的种子,并在阶段450中响应地接收它。该种子被用于生成密钥,例如加密密钥。生成的加密密钥的一个示例是背书密钥(EK)。
图5示出了根据本发明的至少一些实施例的平台配置寄存器(PCR)到存储器映射。存储器130被示出具有十个示例性存储器位置,0x000至0x009,为了清楚起见,仅示出了最后一位。获得第一PCR,PCR0,作为存储器区0x000-0x002的密码哈希。获得第二PCR,PCR1,作为存储器区0x003-0x005的密码哈希。获得第三PCR,PCR2,作为存储器区0x006–0x008的密码哈希。
例如,可以用诸如认证密钥之类的密钥,来签名对用于PCR0和PCR1的微控制器器件的引用的请求。实现此的过程可以包括例如接收对引用的请求。作为响应,可以生成认证密钥。为了生成认证密钥,可以如结合图4所讨论的那样生成背书密钥。然后,可以例如通过使用用于从背书密钥创建证书链的普通密码方法,从背书密钥导出认证密钥。
PCR0可以包括PCR0有线连接到的或被配置为通过中间电路读取的存储器位置的哈希。同样,PCR1将包含PCR1有线连接到的或被配置为通过某些中间电路读取的存储器位置的哈希。如果使用受信计算组(TCG)标准,则可以通过以某些提供的或预定的顺序将PCR0和PCR1哈希在一起,来生成TPMS_ATTEST结构。TPMS_ATTEST或基于PCR0和PCR1的类似结构可以由生成的认证密钥签名,并作为对引用的请求的响应而返回。
要理解的是,所公开的本发明的实施例不限于本文所公开的特定结构、工艺步骤或材料,而是扩展至其等同物,如相关领域的普通技术人员将认识到的那样。还应理解,本文采用的术语仅用于描述特定实施例的目的,而无意于进行限制。
在整个说明书中,对一个实施例或实施例的引用意味着结合该实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,贯穿本说明书在各处出现的短语“在一个实施例中”或“在实施例中”并不一定都指同一实施例。在使用诸如大约或基本这样的术语来参考数值的情况下,也公开了确切的数值。
如在此使用的,为了方便,可以在共同的列表中呈现多个项目、结构要素、组成要素和/或材料。但是,这些列表应被解释为好像该列表的每个成员都被单独标识为单独且唯一的成员。因此,仅基于它们在共同组中的呈现而没有相反指示,该列表的任何单个成员都不应被解释为等同于同一列表的任何其他成员的事实上的等同物。另外,在此可以参考本发明的各种实施例和示例以及用于其各种组件的替代方案。应当理解,这样的实施例、示例和替代方案不应被理解为彼此的事实上的等同物,而应被认为是本发明的单独和自主的表示。
此外,在一个或多个实施例中,所描述的特征、结构或特性可以以任何合适的方式组合。在前面的描述中,提供了许多具体细节,例如长度、宽度、形状等的示例,以提供对本发明实施例的透彻理解。然而,相关领域的技术人员将认识到,可以在没有一个或多个特定细节的情况下,或者利用其他方法、组件、材料等来实践本发明。在其他情况下,为了避免混淆本发明的各个方面,未详细示出或描述公知的结构、材料或操作。
尽管前述示例在一个或多个特定应用中说明了本发明的原理,但是对于本领域的普通技术人员而言显而易见的是,可以在不需创造性工作并且不背离本发明的原理和概念的情况下,进行实施方式的形式、用途和细节方面的众多修改。因此,除了由下面阐述的权利要求书之外,无意限制本发明。
动词“包括”在本文中用作开放的限制,既不排除也不要求还存在未叙述的特征。除非另有明确说明,否则从属权利要求中记载的特征可以相互自由组合。此外,应当理解,在整个文件中使用“一”或“一个”,即单数形式,并不排除多个。
工业适用性
本发明的至少一些实施例在审查存储器内容中发现了工业应用。
引用标记列表
Claims (21)
1.一种设备,包括:
-随机存取存储器器件;
-通过第一接口与所述随机存取存储器器件耦合的至少一个处理核;以及
-安全硬件元件,其包括哈希函数电路并通过第二接口直接与所述随机存取存储器器件耦合,所述安全硬件元件被配置为:从所述随机存取存储器器件的存储器空间获得数据作为输入;产生所述输入的哈希值作为输出;以及使用所述设备的物理不可克隆函数值对所述哈希值进行密码签名。
2.根据权利要求1所述的设备,其中,所述设备的所述物理不可克隆函数值包括或是所述随机存取存储器器件的制造变化的值特性。
3.根据权利要求1或2所述的设备,其中,所述安全硬件元件被配置为向包括在所述安全硬件元件中的平台配置寄存器电路提供所述哈希值,所述平台配置寄存器电路被配置为存储从所述随机存取存储器器件的多个存储器空间导出的多个哈希值。
4.根据权利要求1-3中的任一项所述的设备,还被配置为输出所述随机存取存储器器件的所述存储器空间的存储器内容的认证,所述认证包括所述哈希值。
5.根据权利要求4所述的设备,被配置为使用公钥密码系统的公钥-私钥对的私钥来对所述哈希值进行密码签名。
6.根据权利要求5所述的设备,其中,所述安全硬件元件包括被布置为对信息进行密码签名的电路,但是不包括被布置为使用所述私钥执行解密操作的电路。
7.根据权利要求5或6所述的设备,其中,所述公钥密码系统包括Rivest-Shamir-Adleman(RSA)或ElGamal密码系统。
8.根据权利要求1-7中的任一项所述的设备,还包括只读存储器,并且其中,所述安全硬件元件通过第三接口与所述只读存储器耦合,并且其中,所述安全硬件元件被配置为获得所述设备的所述物理不可克隆函数值或所述设备的第二物理不可克隆函数值以及来自所述只读存储器的数据作为输入,以生成第二哈希值。
9.根据权利要求1-8中的任一项所述的设备,其中,所述至少一个处理核包括被配置为执行存储在所述随机存取存储器器件的所述存储器空间中的计算机代码的微控制器处理核。
10.根据权利要求9所述的设备,其中,所述设备包括轨道车辆制动器件。
11.一种设备中的方法,包括:
-通过安全硬件元件从随机存取存储器器件的存储器空间获得数据作为输入;
-产生所述输入的哈希值作为输出;以及
-使用所述设备的物理不可克隆函数值对所述哈希值进行密码签名,
-其中,所述设备包括:所述随机存取存储器器件;通过第一接口与所述随机存取存储器器件耦合的至少一个处理核;以及通过第二接口与所述随机存取存储器器件直接耦合的安全硬件元件。
12.根据权利要求11所述的方法,其中,所述设备的所述物理不可克隆函数值包括或是所述随机存取存储器器件的制造变化的值特性。
13.根据权利要求11或12所述的方法,包括通过所述安全硬件元件向所述安全硬件元件中包括的平台配置寄存器电路提供所述哈希值,所述平台配置寄存器电路被配置为存储从所述随机存取存储器器件的多个存储器空间导出的哈希值。
14.根据权利要求11-13中的任一项所述的方法,还包括输出所述随机存取存储器器件的所述存储器空间的存储器内容的认证,所述认证包括所述哈希值。
15.根据权利要求14所述的方法,还包括使用公钥密码系统的公钥-私钥对的私钥来对所述哈希值进行密码签名。
16.根据权利要求15所述的方法,其中,所述安全硬件元件包括被布置为对信息进行密码签名的电路,但是不包括被布置为使用所述私钥执行解密操作的电路。
17.根据权利要求15或16所述的方法,其中,所述公钥密码系统包括Rivest-Shamir-Adleman(RSA)或ElGamal密码系统。
18.根据权利要求11-17中的任一项所述的方法,其中,所述设备还包括只读存储器,并且其中,所述安全硬件元件通过第三接口与所述只读存储器耦合,并且其中,所述方法还包括:由所述安全硬件元件获得所述设备的所述物理不可克隆函数值或所述设备的第二物理不可克隆函数值以及来自所述只读存储器的数据作为输入;以及生成第二哈希值。
19.根据权利要求11-18中的任一项所述的方法,其中,所述至少一个处理核包括被配置为执行存储在所述随机存取存储器器件的所述存储器空间中的计算机代码的微控制器处理核。
20.根据权利要求19所述的方法,其中,所述器件包括轨道车辆制动器件。
21.一种设备,包括:
-用于通过安全硬件元件从随机存取存储器器件的存储器空间获得数据作为输入的装置;
-用于产生所述输入的哈希值作为输出的装置;以及
-用于使用所述设备的物理不可克隆函数值对所述哈希值进行密码签名的装置,
-其中,所述设备包括:所述随机存取存储器器件;通过第一接口与所述随机存取存储器器件耦合的至少一个处理核;以及通过第二接口与所述随机存取存储器器件直接耦合的安全硬件元件。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP19184108.9A EP3761201B1 (en) | 2019-07-03 | 2019-07-03 | Cryptographic memory attestation |
EP19184108.9 | 2019-07-03 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112182668A true CN112182668A (zh) | 2021-01-05 |
Family
ID=67145697
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010624979.5A Pending CN112182668A (zh) | 2019-07-03 | 2020-07-02 | 密码存储器认证 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210004496A1 (zh) |
EP (1) | EP3761201B1 (zh) |
CN (1) | CN112182668A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220200807A1 (en) * | 2020-12-17 | 2022-06-23 | Nxp B.V. | Device attestation |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1868189A (zh) * | 2003-08-12 | 2006-11-22 | 英特尔公司 | 在运行时包签名中使用受信的、基于硬件的身份认证以使移动通信和高价值交易执行安全的方法 |
US20080005574A1 (en) * | 2006-06-29 | 2008-01-03 | Cheng Antonio S | Method and apparatus for establishing prosessor as core root of trust for measurement |
WO2009055147A1 (en) * | 2007-10-24 | 2009-04-30 | Microsoft Corporation | Program and operation verification |
US20100293384A1 (en) * | 2009-05-12 | 2010-11-18 | Miodrag Potkonjak | Digital Signatures |
US20130254636A1 (en) * | 2012-03-22 | 2013-09-26 | Purdue Research Foundation | System on chip and method for cryptography using a physically unclonable function |
US20140258736A1 (en) * | 2013-03-08 | 2014-09-11 | Robert Bosch Gmbh | Systems and Methods for Maintaining Integrity and Secrecy in Untrusted Computing Platforms |
US9135444B2 (en) * | 2006-10-19 | 2015-09-15 | Novell, Inc. | Trusted platform module (TPM) assisted data center management |
CN105354604A (zh) * | 2015-10-30 | 2016-02-24 | 中山大学 | 一种有效的基于物理不可克隆函数的防伪新方法 |
US20190172047A1 (en) * | 2016-08-09 | 2019-06-06 | Huawei Technologies Co.,Ltd. | System on chip and processing device |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8429418B2 (en) * | 2006-02-15 | 2013-04-23 | Intel Corporation | Technique for providing secure firmware |
US8103909B2 (en) * | 2008-09-15 | 2012-01-24 | Juniper Networks, Inc. | Automatic hardware-based recovery of a compromised computer |
US8447974B2 (en) * | 2009-11-19 | 2013-05-21 | Nokia Corporation | Method and apparatus for managing access rights to information spaces |
US8776245B2 (en) * | 2009-12-23 | 2014-07-08 | Intel Corporation | Executing trusted applications with reduced trusted computing base |
CN102763113B (zh) * | 2010-02-16 | 2015-10-07 | 诺基亚公司 | 对移动可信模块中的平台配置寄存器进行复位的方法和设备 |
US8848905B1 (en) * | 2010-07-28 | 2014-09-30 | Sandia Corporation | Deterrence of device counterfeiting, cloning, and subversion by substitution using hardware fingerprinting |
WO2012122994A1 (en) * | 2011-03-11 | 2012-09-20 | Kreft Heinz | Off-line transfer of electronic tokens between peer-devices |
US8655519B2 (en) * | 2011-07-14 | 2014-02-18 | General Elecric Company | Rail vehicle consist speed control system and method |
US9542351B2 (en) * | 2012-06-15 | 2017-01-10 | Nxp Usa, Inc. | Memory controller, computing device with a memory controller, and method for calibrating data transfer of a memory system |
US9122893B1 (en) * | 2014-02-24 | 2015-09-01 | International Business Machines Corporation | Trusted platform module switching |
CN106575323B (zh) * | 2014-08-22 | 2019-12-17 | 诺基亚技术有限公司 | 用于虚拟化网络的安全性和信任框架 |
WO2016075356A1 (en) * | 2014-11-12 | 2016-05-19 | Nokia Technologies Oy | Method and apparatus for cellular access point control |
US10025576B2 (en) * | 2015-07-10 | 2018-07-17 | Dell Products, Lp | Method for deploying BIOS integrity measurement via BIOS update package and system therefor |
FR3048400B1 (fr) * | 2016-03-04 | 2018-04-13 | Faiveley Transport Amiens | Systeme de freinage ferroviaire pour vehicule ferroviaire et procede de freinage d'un vehicule ferroviaire comportant un tel systeme |
US20180060077A1 (en) * | 2016-08-26 | 2018-03-01 | Qualcomm Incorporated | Trusted platform module support on reduced instruction set computing architectures |
US10230527B2 (en) * | 2017-04-19 | 2019-03-12 | Continental Automotive Systems, Inc. | Method and apparatus to quickly authenticate program using a security element |
US10778444B2 (en) * | 2018-07-11 | 2020-09-15 | Verizon Patent And Licensing Inc. | Devices and methods for application attestation |
US11228443B2 (en) * | 2019-03-25 | 2022-01-18 | Micron Technology, Inc. | Using memory as a block in a block chain |
-
2019
- 2019-07-03 EP EP19184108.9A patent/EP3761201B1/en active Active
-
2020
- 2020-06-30 US US16/916,962 patent/US20210004496A1/en not_active Abandoned
- 2020-07-02 CN CN202010624979.5A patent/CN112182668A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1868189A (zh) * | 2003-08-12 | 2006-11-22 | 英特尔公司 | 在运行时包签名中使用受信的、基于硬件的身份认证以使移动通信和高价值交易执行安全的方法 |
US20080005574A1 (en) * | 2006-06-29 | 2008-01-03 | Cheng Antonio S | Method and apparatus for establishing prosessor as core root of trust for measurement |
US9135444B2 (en) * | 2006-10-19 | 2015-09-15 | Novell, Inc. | Trusted platform module (TPM) assisted data center management |
WO2009055147A1 (en) * | 2007-10-24 | 2009-04-30 | Microsoft Corporation | Program and operation verification |
US20100293384A1 (en) * | 2009-05-12 | 2010-11-18 | Miodrag Potkonjak | Digital Signatures |
US20130254636A1 (en) * | 2012-03-22 | 2013-09-26 | Purdue Research Foundation | System on chip and method for cryptography using a physically unclonable function |
US20140258736A1 (en) * | 2013-03-08 | 2014-09-11 | Robert Bosch Gmbh | Systems and Methods for Maintaining Integrity and Secrecy in Untrusted Computing Platforms |
CN105354604A (zh) * | 2015-10-30 | 2016-02-24 | 中山大学 | 一种有效的基于物理不可克隆函数的防伪新方法 |
US20190172047A1 (en) * | 2016-08-09 | 2019-06-06 | Huawei Technologies Co.,Ltd. | System on chip and processing device |
Also Published As
Publication number | Publication date |
---|---|
EP3761201A1 (en) | 2021-01-06 |
US20210004496A1 (en) | 2021-01-07 |
EP3761201B1 (en) | 2024-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7416775B2 (ja) | 周辺デバイス | |
US10771264B2 (en) | Securing firmware | |
US10885197B2 (en) | Merging multiple compute nodes with trusted platform modules utilizing authentication protocol with active trusted platform module provisioning | |
KR101662618B1 (ko) | 단일 신뢰 플랫폼 모듈을 가진 플랫폼 컴포넌트의 측정 | |
US8127146B2 (en) | Transparent trust validation of an unknown platform | |
US9405912B2 (en) | Hardware rooted attestation | |
US11283602B2 (en) | Provisioning authentication keys in computer processor | |
JP2022528641A (ja) | 秘密鍵を使用したアイデンティティの検証 | |
US11886593B2 (en) | Verification of a provisioned state of a platform | |
US10990428B2 (en) | Virtual machine integrity | |
US11252193B2 (en) | Attestation service for enforcing payload security policies in a data center | |
US10853472B2 (en) | System, apparatus and method for independently recovering a credential | |
KR20210016547A (ko) | 데이터 처리 | |
JP7536437B2 (ja) | デバイス証明技術 | |
US10461926B2 (en) | Cryptographic evidence of persisted capabilities | |
CN112182668A (zh) | 密码存储器认证 | |
US9715587B2 (en) | Implementing security functions using ROM | |
CN117640096A (zh) | 更新设备证书的方法和用于驱动该方法的设备 | |
US20240232332A9 (en) | Methods and Means for Attestation of a Platform | |
US20210194705A1 (en) | Certificate generation method | |
WO2022171263A1 (en) | Key attestation methods, computing devices having key attestation abilities, and their provisioning |
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 |