CN110490008A - 安全装置及安全芯片 - Google Patents

安全装置及安全芯片 Download PDF

Info

Publication number
CN110490008A
CN110490008A CN201810458094.5A CN201810458094A CN110490008A CN 110490008 A CN110490008 A CN 110490008A CN 201810458094 A CN201810458094 A CN 201810458094A CN 110490008 A CN110490008 A CN 110490008A
Authority
CN
China
Prior art keywords
hardware
register
data
module
key
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
Application number
CN201810458094.5A
Other languages
English (en)
Other versions
CN110490008B (zh
Inventor
陈默扬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yingren Technology (Nanjing) Co.,Ltd.
Original Assignee
Yingren Technology (shanghai) Co Ltd
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 Yingren Technology (shanghai) Co Ltd filed Critical Yingren Technology (shanghai) Co Ltd
Priority to CN201810458094.5A priority Critical patent/CN110490008B/zh
Priority to US16/136,237 priority patent/US11308241B2/en
Publication of CN110490008A publication Critical patent/CN110490008A/zh
Application granted granted Critical
Publication of CN110490008B publication Critical patent/CN110490008B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting 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 by creating or determining hardware identification, e.g. serial numbers
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • 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/06Cryptographic 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • 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/3247Cryptographic 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 digital signatures
    • 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/3271Cryptographic 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/3278Cryptographic 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

本公开涉及一种安全装置及安全芯片,所述装置包括硬件读数据模块、第一安全数据生成模块、硬件写数据模块:所述硬件读数据模块,用于通过硬件交互获取所述第一寄存器中的待处理数据,所述第一寄存器包括软件不可读的寄存器;所述第一安全数据生成模块,用于根据所述待处理数据生成第一安全数据;所述硬件写数据模块,用于通过硬件交互将所述第一安全数据存储在所述第一寄存器中。本公开实施例中的安全装置与第一寄存器之间采用硬件交互的方式,保证了数据的安全性,同时也降低了安全装置的维护成本。

Description

安全装置及安全芯片
技术领域
本公开涉及数据安全技术领域,尤其涉及一种安全装置及安全芯片。
背景技术
随着互联网应用、物联网、数据存储领域的飞速发展,数据安全受到越来越广泛的关注。越来越多的芯片和嵌入式系统具备用户认证、密钥密钥管理以及数据加密等功能。各种各样的控制器和操作系统都对数据安全提出更高的要求。在传统的数据安全技术领域,在安全芯片中设置微控制器核,并通过安全读写总线控制随机数发生器等模块,与外部系统进行数据交互。专用的安全总线与外部常规的系统总线相互隔离,同时微控制器核上运行的为专门用于实现安全相关功能的程序固件。专用的安全总线和安全固件保证技术数据仅于安全系统中处理和传输,最大程度保证机密数据不被泄露。但是该结构在固件管理和升级方面比较复杂,还要防止攻击者植入恶意程序从而盗取机密数据。软硬件开发和维护成本高,增加了安全芯片的面积和成本。
发明内容
有鉴于此,本公开提出了一种安全装置及安全芯片,用以解决现有的安全装置及安全芯片的软硬件开发维护成本高,芯片的面积大和成本较高的问题。
根据本公开的一方面,提供了一种安全装置,包括硬件读数据模块、第一安全数据生成模块、硬件写数据模块:
所述硬件读数据模块,用于通过硬件交互获取所述第一寄存器中的待处理数据,所述第一寄存器包括软件不可读的寄存器;
所述第一安全数据生成模块,用于根据所述待处理数据生成第一安全数据;
所述硬件写数据模块,用于通过硬件交互将所述第一安全数据存储在所述第一寄存器中。
在一种可能的实现方式中,所述第一安全数据生成模块,包括:
哈希运算子模块,用于根据所述待处理数据利用哈希运算生成哈希值,
所述硬件写数据模块
用于通过硬件交互将所述哈希值存储在所述第一寄存器中。
在一种可能的实现方式中,所述待处理数据包括私钥和待签名数据,所述第一安全数据生成模块,包括:
数字签名子模块,用于根据所述私钥和待签名数据生成数字签名,
所述硬件写数据模块用于通过硬件交互将所述数字签名存储在所述第一寄存器中。
在一种可能的实现方式中,所述待处理数据包括密钥明文或密钥密文,所述第一安全数据生成模块,包括:
密钥包装子模块,用于将所述密钥明文加密生成密钥密文,或
密钥解包装子模块,用于将密钥密文解密生成密钥明文;
所述硬件写数据模块,
用于通过硬件交互将所述密钥密文存储在所述第一寄存器中,或
用于通过硬件交互将所述密钥明文存储在所述第一寄存器中。
在一种可能的实现方式中,所述装置还包括:
第二安全数据生成模块,所述第二安全数据生成模块用于生成第二安全数据;
所述硬件写数据模块通过硬件交互将所述第二安全数据存储在所述第一寄存器中。
在一种可能的实现方式中,所述第二安全数据包括随机数,所述第二安全数据生成模块,包括:
随机数发生器子模块,用于生成随机数;
所述硬件写数据模块用于通过硬件交互将所述随机数存储在所述第一寄存器中。
在一种可能的实现方式中,所述第二安全数据包括芯片指纹,所述第二安全数据生成模块,包括:
芯片指纹子模块,用于生成芯片指纹;
所述硬件写数据模块用于通过硬件交互将所述芯片指纹存储在所述第一寄存器中。
根据本公开的一方面,提供了一种安全芯片,所述安全芯片包括:第一寄存器和安全装置;
所述第一寄存器包括软件不可读的寄存器;
所述安全装置包括上述任一项所述的安全装置。
在本公开实施例中,安全装置通过硬件交互的方式读取第一寄存器中的待处理数据后,生成第一安全数据,并通过硬件交互的方式写入第一寄存器中。安全装置与第一寄存器之间采用硬件交互的方式,保证了数据的安全性,同时也降低了安全装置的维护成本。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
图1示出根据本公开一实施例的安全装置的框图;
图2示出根据本公开一实施例的安全装置的框图;
图3示出根据本公开一实施例的安全芯片的框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
图1示出根据本公开一实施例的安全装置的框图,如图1所示,所述装置包括硬件读数据模块10、第一安全数据生成模块20、硬件写数据模块30:
所述硬件读数据模块10,用于通过硬件交互获取所述第一寄存器40中的待处理数据,所述第一寄存器40包括软件不可读的寄存器;
所述第一安全数据生成模块20,用于根据所述待处理数据生成第一安全数据;
所述硬件写数据模块30,用于通过硬件交互将所述第一安全数据存储在所述第一寄存器40中。
在一种可能的实现方式中,第一寄存器40可以包括软件不可读的寄存器。例如可以利用一次性软件编程的方式,将寄存器设置为软件不可读的寄存器。第一寄存器40可以通过硬件进行读取操作。例如,第一寄存器可以利用自身的硬件接口与外部系统连接,从而与外部系统进行交互。第一寄存器40可以在硬件上对其进行的清空操作以彻底清除安全信息。第一寄存器40的大小不同,可以对应不同安全水平的需求,例如,第一寄存器40的大小为256比特,可以对应于256比特的安全水平需求。
所述安全装置可以包括例如哈希计算单元等需要对数据进行安全性处理的模块。安全装置中可以从第一寄存器40中读取需要进行安全处理的待处理数据。安全装置可以通过硬件读数据模块30,通过硬件交互的方式读取第一寄存器40中的待处理数据。
第一寄存器40可以包括一个或多个,可以根据需求设定第一寄存器40的个数。当第一寄存器40包括多个时,硬件读数据模块30可以通过硬件交互的方式选择某一第一寄存器进行操作,例如,硬件读数据模块30可以利用与第一寄存器40之间的硬件接口,从第一寄存器40中获取待处理数据。
安全装置中的第一安全数据生成模块20,可以用于根据从第一寄存器40中读取的待处理数据生成第一安全数据。例如,第一安全数据生成模块20可以将待处理数据进行加密处理生成加密数据,将待处理数据进行解密处理生成解密数据,将待处理数据进行哈希计算生成哈希值,以及将待处理数据进行数字签名处理生成数字签名等。本公开对此不做限定。
第一安全数据生成模块20生成的第一安全数据,可以通过硬件写数据模块30采用通过硬件交互的方式写入第一寄存器40中。当有多个第一寄存器40时,硬件读数据模块30可以通过硬件交互的方式,将生成的第一安全数据写入所指定的第一寄存器40中。
在本实施例中,安全装置通过硬件交互的方式读取第一寄存器中的待处理数据后,生成第一安全数据,并通过硬件交互的方式写入第一寄存器中。安全装置与第一寄存器之间采用硬件交互的方式,保证了数据的安全性,同时也降低了安全装置的维护成本。
图2示出根据本公开一实施例的安全装置的框图,如图2所示,在一种可能的实现方式中,所述第一安全数据生成模块20,包括:
哈希运算子模块21,用于根据所述待处理数据利用哈希运算生成哈希值,
在一种可能的实现方式中,第一安全数据生成模块20可以包括哈希运算子模块21。哈希运算子模块21可以利用现有技术中的哈希运算技术方案。例如,哈希运算子模块21可以支持SM3国密标准。哈希运算子模块21可以将待处理数据,例如一段字节序列,映射为一段固定长度的比特序列,例如映射为一段256比特的序列。
在一种可能的实现方式中,哈希运算子模块21可以根据用户直接输入的待处理数据生成哈希值,哈希运算子模块21也可以根据从可以软件读取的寄存器中获取的待处理数据生成哈希值。
所述硬件写数据模块30用于通过硬件交互将所述哈希值存储在所述第一寄存器40中。
在一种可能的实现方式中,当第一寄存器40包括多个时,硬件写数据模块30可以将生成的哈希值通过硬件交互的方式,写入所指定的第一寄存器40中。
哈希运算子模块21、硬件读数据模块10和硬件写数据模块30构成的安全装置为哈希运算装置。哈希运算装置可以根据用户输入的密码和用户名等信息生成哈希值,并与根据该用户注册时生成的哈希值进行比较,若相等,用户认证成功,若不相等,用户认证失败。
哈希运算装置可以允许软件调用多次以获得任意长度消息的哈希值,同时,哈希运算装置可以支持将生成的哈希值与多个第一寄存器中的某一个第一寄存器进行异或运算后写入另一个第一寄存器。
在本实施例中,硬件读数据模块可以通过硬件交互的方式,从第一寄存器中获取待处理的数据,哈希运算子模块可以根据待处理数据生成哈希值,硬件写数据模块可以通过硬件交互的方式,将生成的哈希值存储在第一寄存器中。第一寄存器只能通过硬件交互的方式进行读写操作,软件不可读,提高了哈希值的保密性。
在一种可能的实现方式中,所述待处理数据包括私钥和待签名数据,所述第一安全数据生成模块20,包括:
数字签名子模块22,用于根据所述私钥和待签名数据生成数字签名。
在一种可能的实现方式中,硬件读数据模块10可以从不同的第一安全寄存器40中通过硬件交互的方式,分别获取私钥和待签名数据。也可以从相同的第一安全寄存器40中通过硬件交互的方式获取私钥和待签名数据。
第一安全数据生成模块20可以包括数字签名子模块22。数字签名子模块22可以利用现有技术中的数字签名技术方案。数字签名子模块22可以将私钥和待签名数据进行椭圆曲线运算,得到数字签名结果或得到数字签名的验证结果。
所述硬件写数据模块30用于通过硬件交互将所述数字签名存储在所述第一寄存器40中。
在一种可能的实现方式中,当第一寄存器40包括多个时,硬件写数据模块30可以将生成的数字签名值通过硬件交互的方式,写入相应的第一寄存器40中。
数字签名子模块22、硬件读数据模块10和硬件写数据模块30构成的安全装置为数字签名装置。
在本实施例中,硬件读数据模块可以通过硬件交互的方式,从第一寄存器中获取私钥和待签名数据,数字签名子模块可以根据私钥和待签名数据生成数字签名,硬件写数据模块可以通过硬件交互的方式,将生成的数字签名存储在第一寄存器中。第一寄存器硬件交互的方式提高了数字签名的安全性。
在一种可能的实现方式中,所述待处理数据包括密钥明文或密钥密文,所述第一安全数据生成模块20,包括:
密钥包装子模块23,用于将所述密钥明文加密生成密钥密文,或
密钥解包装子模块24,用于将所述密钥密文解密生成密钥明文;
所述硬件写数据模块30,用于通过硬件交互将所述密钥密文存储在所述第一寄存器40中,或用于通过硬件交互将所述密钥明文存储在所述第一寄存器40中。
在一种可能的实现方式中,密钥明文可以包括需要利用密钥进行加密的数据。密钥明文加密后的数据为密钥密文。
第一安全数据生成模块20可以包括密钥包装子模块23或密钥解包装子模块24。密钥包装子模块23可以利用现有技术中的密钥包装技术方案。当第一安全数据生成模块20包括密钥包装子模块23时,硬件读数据模块10可以通过硬件交互的方式在第一安全寄存器40中读取密钥明文,密钥包装子模块23可以根据密钥明文生成密钥密文。硬件写数据模块30可以通过硬件交互的方式将密钥密文存储在第一寄存器40中。密钥密文也可以存储在除第一寄存器40以外的存储空间中,例如将密钥密文存储在闪存中。
密钥解包装子模块24可以利用现有技术中的密钥解包装技术方案。当第一安全数据生成模块20包括密钥解包装子模块24时,硬件读数据模块10可以通过硬件交互的方式在第一安全寄存器40中读取密钥密文,密钥包装子模块24可以根据密钥密文生成密钥明文。硬件写数据模块30可以通过硬件交互的方式将密钥明文存储在第一寄存器40中。密钥明文也可以提交给加密装置进行数据的加密或解密。
在一种可能的实现方式中,在密钥包装子模块23和密钥解包装子模块24的工作过程中,均需要通过第一寄存器40和芯片指纹合成密钥加密密钥。例如第一寄存器40和芯片可以通过异或操作合成密钥加密密钥。密钥加密密钥和密钥明文可以只存储在第一寄存器40中,从硬件上保证密钥加密密钥和密钥明文具有高等级的保密性。
在本实施例中,第一安全数据生成模块可以包括密钥包装子模块或密钥解包装子模块。密钥包装子模块用于根据从第一寄存器获取的密钥明文生成密钥密文,密钥解包装子模块用于根据从第一寄存器获取的密钥密文生成密钥明文。密钥明文或密钥密文通过硬件交互的方式存储在第一寄存器中。第一寄存器硬件交互的方式提高了密钥明文和密钥密文的安全性。
在一种可能的实现方式中,所述装置还包括:
第二安全数据生成模块50,所述第二安全数据生成模块50用于生成第二安全数据;
所述硬件写数据模块30通过硬件交互将所述第二安全数据存储在所述第一寄存器40中。
在一种可能的实现方式中,安全装置还可以包括第二安全数据生成模块50。第二安全数据生成模块50可以直接生成第二安全数据。例如第二安全数据生成模块50可以生成随机数等安全数据。
所述硬件写数据模块30可以通过硬件交互的方式将第二安全数据生成模块50生成的第二安全数据存储在第一寄存器40中。
在本实施例中,第二安全数据生成模块生成第二安全数据后,硬件写数据模块将第二安全数据通过硬件交互的方式存储在第一存储器中。第一寄存器硬件交互的方式提高了第二安全数据的安全性。
在一种可能的实现方式中,所述第二安全数据包括随机数,所述第二安全数据生成模块50,包括:
随机数发生器子模块51,用于生成随机数;
所述硬件写数据模块30用于通过硬件交互将所述随机数存储在所述第一寄存器40中。
在一种可能的实现方式中,第二安全数据生成模块50可以包括随机数发生器子模块51。随机数发生器子模块51可以包括现有技术中的真随机数发生器。随机数发生器子模块51生成随机数后,硬件写数据模块30将随机数通过硬件交互的方式存在第一寄存器40中。
在本实施例中,第一寄存器硬件交互的方式提高了第二安全数据生成模块生成的随机数的安全性。
在一种可能的实现方式中,所述第二安全数据包括芯片指纹,所述第二安全数据生成模块50,包括:
芯片指纹子模块52,用于生成芯片指纹;
所述硬件写数据模块30用于通过硬件交互将所述芯片指纹存储在所述第一寄存器40中。
在一种可能的实现方式中,第二安全数据生成模块50可以包括芯片指纹子模块52。芯片指纹子模块52可以利用现有技术中的芯片指纹技术方案,可以生成芯片指纹。例如芯片指纹子模块52可以生成包括256比特的芯片指纹。硬件写数据模块30可以通过硬件交互的方式将芯片指纹存储在第一寄存器40中,软件无法读取第一寄存器40中的芯片指纹。
在本实施例中,硬件写数据模块将芯片指纹子模块生成的芯片指纹,通过硬件交互的方式存储在第一寄存器中。第一寄存器保证了芯片指纹的安全性。
图3示出根据本公开一实施例的安全芯片的框图,如图3所示,所述安全芯片包括:第一寄存器40和安全装置,安全装置中可以包括以下子模块中的其中一种或任意组合:哈希运算子模块21(图中的哈希运算单元)、数字签名子模块22(图中的数字签名和验证单元)、密钥包装子模块23(图中的密钥包装单元)、密钥解包装子模块24(图中的密钥解包装单元)、随机数发生器子模块51(图中的随机数发生器)、芯片指纹子模块52(图中的芯片指纹单元)。
在一种可能的实现方式中,安全芯片中可以包括多个第一寄存器40。例如安全芯片中可以包括4个256比特的第一寄存器40,分别为图中的SPR0、SPR1、SPR2、SPR3。
在一种可能的实现方式中,安全芯片可以用于导入保密信息。由安全芯片中的随机数发生器子模块51可以产生随机数A作为私钥,并将随机数存储在第一寄存器40中。数字签名子模块22可以根据私钥计算得到公钥值。随机数发生器51可以产生另一个随机数B。安全芯片发布公钥值和随机数B。用户根据公钥值和随机数B加密待发送的保密信息M,得到信息密文N。信息密文N被发送至安全芯片。安全芯片中的数字签名子模块22可以根据公钥和随机数B将信息密文N解密后,得到保密信息M,保密信息M被存储在安全芯片中的第一寄存器40中,供后续操作使用。
在本实施例中,安全芯片由第一寄存器和安全装置构成。第一寄存器软件不可读,在硬件上保证了安全芯片中的安全数据不泄露。安全芯片中不再需要设置专用的微控制器和安全系统总线。安全芯片的生产成本和维护成本都得到了降低。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (8)

1.一种安全装置,其特征在于,所述装置包括硬件读数据模块、第一安全数据生成模块、硬件写数据模块:
所述硬件读数据模块,用于通过硬件交互获取所述第一寄存器中的待处理数据,所述第一寄存器包括软件不可读的寄存器;
所述第一安全数据生成模块,用于根据所述待处理数据生成第一安全数据;
所述硬件写数据模块,用于通过硬件交互将所述第一安全数据存储在所述第一寄存器中。
2.根据权利要求1所述的装置,其特征在于,所述第一安全数据生成模块,包括:
哈希运算子模块,用于根据所述待处理数据利用哈希运算生成哈希值,
所述硬件写数据模块
用于通过硬件交互将所述哈希值存储在所述第一寄存器中。
3.根据权利要求1所述的装置,其特征在于,所述待处理数据包括私钥和待签名数据,所述第一安全数据生成模块,包括:
数字签名子模块,用于根据所述私钥和待签名数据生成数字签名,
所述硬件写数据模块用于通过硬件交互将所述数字签名存储在所述第一寄存器中。
4.根据权利要求1所述的装置,其特征在于,所述待处理数据包括密钥明文或密钥密文,所述第一安全数据生成模块,包括:
密钥包装子模块,用于将所述密钥明文加密生成密钥密文,或
密钥解包装子模块,用于将所述密钥密文解密生成密钥明文;
所述硬件写数据模块,
用于通过硬件交互将所述密钥密文存储在所述第一寄存器中,或
用于通过硬件交互将所述密钥明文存储在所述第一寄存器中。
5.根据权利要求1所述的装置,其特征在于,所述装置还包括:
第二安全数据生成模块,所述第二安全数据生成模块用于生成第二安全数据;
所述硬件写数据模块通过硬件交互将所述第二安全数据存储在所述第一寄存器中。
6.根据权利要求1所述的装置,其特征在于,所述第二安全数据包括随机数,所述第二安全数据生成模块,包括:
随机数发生器子模块,用于生成随机数;
所述硬件写数据模块用于通过硬件交互将所述随机数存储在所述第一寄存器中。
7.根据权利要求1所述的装置,其特征在于,所述第二安全数据包括芯片指纹,所述第二安全数据生成模块,包括:
芯片指纹子模块,用于生成芯片指纹;
所述硬件写数据模块用于通过硬件交互将所述芯片指纹存储在所述第一寄存器中。
8.一种安全芯片,其特征在于,所述安全芯片包括:第一寄存器和安全装置;
所述第一寄存器包括软件不可读的寄存器;
所述安全装置包括权利要求1至7中任一项所述的安全装置。
CN201810458094.5A 2018-05-14 2018-05-14 安全装置及安全芯片 Active CN110490008B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810458094.5A CN110490008B (zh) 2018-05-14 2018-05-14 安全装置及安全芯片
US16/136,237 US11308241B2 (en) 2018-05-14 2018-09-19 Security data generation based upon software unreadable registers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810458094.5A CN110490008B (zh) 2018-05-14 2018-05-14 安全装置及安全芯片

Publications (2)

Publication Number Publication Date
CN110490008A true CN110490008A (zh) 2019-11-22
CN110490008B CN110490008B (zh) 2021-08-10

Family

ID=68463712

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810458094.5A Active CN110490008B (zh) 2018-05-14 2018-05-14 安全装置及安全芯片

Country Status (2)

Country Link
US (1) US11308241B2 (zh)
CN (1) CN110490008B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113961979A (zh) * 2021-10-25 2022-01-21 南方电网数字电网研究院有限公司 继电保护安全芯片密码服务模块及其哈希算法单元

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110489351B (zh) * 2018-05-14 2021-03-09 英韧科技(上海)有限公司 芯片指纹管理装置及安全芯片
US11580234B2 (en) 2019-06-29 2023-02-14 Intel Corporation Implicit integrity for cryptographic computing
US11575504B2 (en) 2019-06-29 2023-02-07 Intel Corporation Cryptographic computing engine for memory load and store units of a microarchitecture pipeline
US11250165B2 (en) * 2019-12-20 2022-02-15 Intel Corporation Binding of cryptographic operations to context or speculative execution restrictions
US11403234B2 (en) * 2019-06-29 2022-08-02 Intel Corporation Cryptographic computing using encrypted base addresses and used in multi-tenant environments
KR20210117046A (ko) * 2020-03-18 2021-09-28 한국전자통신연구원 거래 내역 데이터 접근 제어 시스템 및 방법
US11669625B2 (en) 2020-12-26 2023-06-06 Intel Corporation Data type based cryptographic computing
US11580035B2 (en) 2020-12-26 2023-02-14 Intel Corporation Fine-grained stack protection using cryptographic computing

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102436423A (zh) * 2011-10-13 2012-05-02 浙江大学 通用片外NorFlash核心数据保护的控制器及方法
CN103377350A (zh) * 2012-04-23 2013-10-30 合肥科盛微电子科技有限公司 利用硬件加密模块实现嵌入式软件的代码保护的方法和装置
CN104618107A (zh) * 2014-12-29 2015-05-13 广东信鉴信息科技有限公司 数字签名方法和系统
KR20160097593A (ko) * 2015-02-09 2016-08-18 현대모비스 주식회사 차량 제어 장치 및 차량 제어 방법
CN106372540A (zh) * 2016-08-29 2017-02-01 北京中电华大电子设计有限责任公司 一种芯片安全信息的安全传输方法及电路
CN106506149A (zh) * 2016-11-07 2017-03-15 福建星海通信科技有限公司 一种tbox终端和tsp平台之间密钥生成方法以及系统
CN107508679A (zh) * 2017-07-11 2017-12-22 深圳市中易通安全芯科技有限公司 一种智能终端主控芯片与加密芯片的绑定及认证方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6986052B1 (en) * 2000-06-30 2006-01-10 Intel Corporation Method and apparatus for secure execution using a secure memory partition
US20050257016A1 (en) * 2004-05-17 2005-11-17 Brian Boles Digital signal controller secure memory partitioning
US8160244B2 (en) * 2004-10-01 2012-04-17 Broadcom Corporation Stateless hardware security module
WO2009121197A1 (de) * 2008-04-01 2009-10-08 Kaba Ag System und verfahren zum bereitstellen von benutzermedien
US8393008B2 (en) * 2008-05-21 2013-03-05 Microsoft Corporation Hardware-based output protection of multiple video streams
TWI405211B (zh) * 2008-11-04 2013-08-11 Phison Electronics Corp 快閃記憶體儲存系統、控制器與資料保護方法
US8631247B2 (en) * 2008-11-24 2014-01-14 Certicom Corp. System and method for hardware based security
US8738932B2 (en) * 2009-01-16 2014-05-27 Teleputers, Llc System and method for processor-based security
US20120137137A1 (en) * 2010-11-30 2012-05-31 Brickell Ernest F Method and apparatus for key provisioning of hardware devices
US20120201379A1 (en) * 2011-02-04 2012-08-09 Motorola Solutions, Inc. Method and apparatus for protecting security parameters used by a security module
US8954017B2 (en) * 2011-08-17 2015-02-10 Broadcom Corporation Clock signal multiplication to reduce noise coupled onto a transmission communication signal of a communications device
US9940444B1 (en) * 2014-04-21 2018-04-10 Virtual Marketing Incorporated Software wrapper and installer using timestamp validation and system identification validation
US9740863B2 (en) * 2014-11-25 2017-08-22 Intel Corporation Protecting a secure boot process against side channel attacks
CN107210914B (zh) * 2015-01-27 2020-11-03 维萨国际服务协会 用于安全凭证供应的方法
DE102015216082A1 (de) * 2015-08-24 2017-03-02 Siemens Aktiengesellschaft Verfahren und Speichermodul für sicherheitsgeschützte Schreibvorgänge und/oder Lesevorgänge auf dem Speichermodul
US9864879B2 (en) * 2015-10-06 2018-01-09 Micron Technology, Inc. Secure subsystem
US10521618B1 (en) * 2015-10-20 2019-12-31 Marvell International Ltd. Methods and apparatus for secure root key provisioning
EP3472747B1 (en) * 2016-06-20 2021-08-04 Hewlett-Packard Development Company, L.P. Firmware-inaccessible key storage

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102436423A (zh) * 2011-10-13 2012-05-02 浙江大学 通用片外NorFlash核心数据保护的控制器及方法
CN103377350A (zh) * 2012-04-23 2013-10-30 合肥科盛微电子科技有限公司 利用硬件加密模块实现嵌入式软件的代码保护的方法和装置
CN104618107A (zh) * 2014-12-29 2015-05-13 广东信鉴信息科技有限公司 数字签名方法和系统
KR20160097593A (ko) * 2015-02-09 2016-08-18 현대모비스 주식회사 차량 제어 장치 및 차량 제어 방법
CN106372540A (zh) * 2016-08-29 2017-02-01 北京中电华大电子设计有限责任公司 一种芯片安全信息的安全传输方法及电路
CN106506149A (zh) * 2016-11-07 2017-03-15 福建星海通信科技有限公司 一种tbox终端和tsp平台之间密钥生成方法以及系统
CN107508679A (zh) * 2017-07-11 2017-12-22 深圳市中易通安全芯科技有限公司 一种智能终端主控芯片与加密芯片的绑定及认证方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
钟丽等: "嵌入式系统芯片中SM2算法软硬件协同设计与实现", 《信息安全》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113961979A (zh) * 2021-10-25 2022-01-21 南方电网数字电网研究院有限公司 继电保护安全芯片密码服务模块及其哈希算法单元

Also Published As

Publication number Publication date
US11308241B2 (en) 2022-04-19
US20190347445A1 (en) 2019-11-14
CN110490008B (zh) 2021-08-10

Similar Documents

Publication Publication Date Title
CN110490008A (zh) 安全装置及安全芯片
CN108780548B (zh) 将椭圆曲线加密用于个人装置安全以共享秘密
US9537657B1 (en) Multipart authenticated encryption
US11487908B2 (en) Secure memory
KR101324825B1 (ko) 메시지 인증 코드 사전 연산 방법 및 시스템
CN101651543B (zh) 一种可信计算平台密钥迁移系统及其密钥迁移方法
CN106778205A (zh) 运用物理不可克隆函数的无数据库验证
CN107251476A (zh) 保密通信管理
US6718468B1 (en) Method for associating a password with a secured public/private key pair
US8995653B2 (en) Generating a secret key from an asymmetric private key
CN110710155A (zh) 渐进式密钥加密算法
TW201502847A (zh) 運用一電腦處理器使用一安全非揮發儲存器之系統、方法及裝置
CN112560058B (zh) 基于智能密码钥匙的ssd分区加密存储系统及其实现方法
CN105468940B (zh) 软件保护方法及装置
CN103067170A (zh) 一种基于ext2文件系统的加密文件系统、加密方法及解密方法
CN102163267A (zh) 固态硬盘安全访问控制方法、装置和固态硬盘
US6704868B1 (en) Method for associating a pass phase with a secured public/private key pair
CN112100696A (zh) 存储器装置及其安全读取方法
CN109657502A (zh) 一种基于国产密码算法的sata桥接实时传输加密系统及方法
CN103605919A (zh) 软件认证文件生成方法和装置、软件认证方法和装置
CN107278357B (zh) 密码系统和方法
CN107332663A (zh) 基于加密技术的档案管理方法
JP6246516B2 (ja) 情報処理システム
CN108242997A (zh) 安全通信的方法与设备
CN113408013A (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
TR01 Transfer of patent right

Effective date of registration: 20220119

Address after: 210000 - 498, building 12, No. 29, buyue Road, Qiaolin street, Pukou District, Nanjing, Jiangsu Province

Patentee after: Yingren Technology (Nanjing) Co.,Ltd.

Address before: Room 502, No. 570, shengxia Road, Pudong New Area pilot Free Trade Zone, Shanghai 201210

Patentee before: Yingren Technology (Shanghai) Co.,Ltd.

TR01 Transfer of patent right