+

CN115391845B - Key management device and method - Google Patents

Key management device and method Download PDF

Info

Publication number
CN115391845B
CN115391845B CN202211331430.2A CN202211331430A CN115391845B CN 115391845 B CN115391845 B CN 115391845B CN 202211331430 A CN202211331430 A CN 202211331430A CN 115391845 B CN115391845 B CN 115391845B
Authority
CN
China
Prior art keywords
key
storage unit
management device
encryption
request
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.)
Active
Application number
CN202211331430.2A
Other languages
Chinese (zh)
Other versions
CN115391845A (en
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.)
Mole Thread Intelligent Technology Beijing Co ltd
Original Assignee
Moore Threads Technology 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 Moore Threads Technology Co Ltd filed Critical Moore Threads Technology Co Ltd
Priority to CN202211331430.2A priority Critical patent/CN115391845B/en
Publication of CN115391845A publication Critical patent/CN115391845A/en
Application granted granted Critical
Publication of CN115391845B publication Critical patent/CN115391845B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

本申请涉及密钥安全技术领域,公开了一种密钥管理设备和方法,其中该设备包括:密钥存储单元,用于存储密钥;隔离电路,用于接收来自处理器的操作请求:在所述操作请求为针对密钥的读取操作的情况下,所述隔离电路拒绝对于密钥存储单元的加密区间地址的访问,在所述操作请求为针对密钥的写入操作的情况下,所述隔离电路将所述写入操作传递给所述密钥存储单元。本申请实施例能够以简单的方式实现安全可靠的密钥管理。

Figure 202211331430

This application relates to the technical field of key security, and discloses a key management device and method, wherein the device includes: a key storage unit for storing keys; an isolation circuit for receiving an operation request from a processor: When the operation request is a read operation for the key, the isolation circuit denies access to the encryption interval address of the key storage unit; when the operation request is a write operation for the key, The isolation circuit passes the write operation to the key storage unit. The embodiment of the present application can implement safe and reliable key management in a simple manner.

Figure 202211331430

Description

密钥管理设备和方法Key management device and method

技术领域technical field

本申请涉及密钥安全技术领域,尤其涉及一种密钥管理设备和方法。The present application relates to the technical field of key security, in particular to a key management device and method.

背景技术Background technique

密钥在信息安全方面具有广泛的应用,例如,芯片或各种电子设备可利用密钥进行信息加密,确保信息的安全。Keys have a wide range of applications in information security. For example, chips or various electronic devices can use keys to encrypt information to ensure information security.

在现有的一些解决方案中,密钥由第三方可信平台管理,也就是说,密钥存储于第三方可信管理平台,密钥的协商、分发均依赖第三方可信平台,当设备需要使用密钥时,需发送相关的请求到第三方可信平台。In some existing solutions, the key is managed by a third-party trusted platform, that is, the key is stored on the third-party trusted management platform, and the negotiation and distribution of the key depend on the third-party trusted platform. When the device When you need to use the key, you need to send the relevant request to the third-party trusted platform.

在现有的另一些解决方案中,通过本地的软/硬件方案实现密钥的管理。In other existing solutions, key management is realized through local software/hardware solutions.

例如,在ARM ATZ或Intel SGX这样的解决方案中,将处理器的工作环境划分为安全环境和非安全环境,密钥存储在安全环境中,非安全环境不能直接访问安全环境,当需要使用密钥时,需由非安全环境发起相关的请求。For example, in solutions such as ARM ATZ or Intel SGX, the working environment of the processor is divided into a secure environment and a non-secure environment. The key is stored in the secure environment, and the non-secure environment cannot directly access the secure environment. When using the key, the relevant request needs to be initiated by the non-secure environment.

例如,还存在利用本地存储介质管理密钥的解决方案,通过加密密钥(如私钥)对需要存储的密钥进行加密并将生成的加密信息存储在设备的存储介质中,当需要使用密钥时,从设备的一次性存储单元(如OTP/Efuse)中读出和加密密钥对应的解密密钥(如公钥),利用解密密钥对加密信息进行解密获得密钥,以便使用。For example, there is also a solution that utilizes local storage media to manage keys. Encrypt the key to be stored with an encryption key (such as a private key) and store the generated encrypted information in the storage medium of the device. When using the key, read the decryption key (such as the public key) corresponding to the encryption key from the one-time storage unit (such as OTP/Efuse) of the device, and use the decryption key to decrypt the encrypted information to obtain the key for use.

应该注意,上面对技术背景的介绍只是为了方便对本申请的技术方案进行清楚、完整的说明,并方便本领域技术人员的理解而阐述的。不能仅仅因为这些方案在本申请的背景技术部分进行了阐述而认为上述技术方案为本领域技术人员所公知。It should be noted that the above introduction to the technical background is only for the convenience of a clear and complete description of the technical solution of the present application, and for the convenience of understanding by those skilled in the art. It cannot be considered that the above technical solutions are known to those skilled in the art just because these solutions are described in the background technology section of this application.

发明内容Contents of the invention

申请人发现,在上述现有的密钥管理的解决方案中,存在如下问题:The applicant found that in the above-mentioned existing key management solutions, there are the following problems:

对于由第三方可信平台管理的方案,设备和第三方可信平台之间需要进行密钥相关的通信,包括密钥请求和分发,容易受到黑客的嗅探,存在通信的信息被截获的风险,并且即使设备和第三方可信平台之间进行加密通信,对于了解该密钥解决方案的人员,容易实施重放攻击,信息安全受到威胁;另外,第三方可信平台的管理规则往往比较繁琐,与其通信的设置没有普适性,密钥管理方案不能完全客户私有化的需求而实现。For a solution managed by a third-party trusted platform, key-related communication between the device and the third-party trusted platform, including key request and distribution, is vulnerable to sniffing by hackers, and there is a risk of interception of communication information , and even if there is encrypted communication between the device and the third-party trusted platform, it is easy for those who understand the key solution to implement replay attacks, and information security is threatened; in addition, the management rules of the third-party trusted platform are often cumbersome , the setting of its communication is not universal, and the key management scheme cannot be fully realized according to the privatization needs of customers.

对于ARM ATZ或Intel SGX这样的解决方案,ARM ATZ或者Intel SGX虽然划分了安全环境和非安全环境以确保密钥安全,但是,一方面,ATZ和SGX需要复杂的软件栈辅助,另一方面,设备在启动过程的第一阶段处于安全环境,如果攻击者在这个时候暂停设备的启动,攻击者可以通过外部Jtag或者其他内存扫描工具等暴力扫描到所有安全区域,密钥存储也就不再安全。For solutions such as ARM ATZ or Intel SGX, although ARM ATZ or Intel SGX divides the secure environment and non-secure environment to ensure key security, on the one hand, ATZ and SGX require complex software stack assistance; on the other hand, The device is in a safe environment during the first stage of the startup process. If an attacker suspends the startup of the device at this time, the attacker can use external Jtag or other memory scanning tools to brute-force scan all security areas, and the key storage will no longer be safe. .

对于利用本地存储介质管理密钥的解决方案,攻击者能够读取一次性存储单元及存储介质,由此,攻击者可能通过穷举攻击而分析出加密密钥。For solutions that use local storage media to manage keys, an attacker can read the one-time storage unit and the storage media, and thus, the attacker may analyze the encryption key through a brute force attack.

针对上述问题中的至少之一或类似的问题,本申请实施例提供一种密钥管理设备和方法,以简单的方式防止对密钥的非法访问,提高密钥管理的安全可靠性。Aiming at at least one of the above problems or similar problems, the embodiments of the present application provide a key management device and method, which can prevent illegal access to keys in a simple manner and improve the security and reliability of key management.

本申请第一方面的实施例提供一种密钥管理设备,所述设备包括:The embodiment of the first aspect of the present application provides a key management device, the device comprising:

密钥存储单元,用于存储密钥;a key storage unit for storing keys;

隔离电路,用于接收来自处理器的操作请求:Isolation circuit for receiving operation requests from the processor:

在所述操作请求为针对密钥的读取操作的情况下,所述隔离电路拒绝对于密钥存储单元的加密区间地址的访问;In the case that the operation request is a read operation for the key, the isolation circuit denies access to the encryption interval address of the key storage unit;

在所述操作请求为针对密钥的写入操作的情况下,所述隔离电路将所述写入操作传递给所述密钥存储单元。If the operation request is a write operation for a key, the isolation circuit transfers the write operation to the key storage unit.

在一个或多个实施例中,In one or more embodiments,

所述密钥存储单元还包括校验电路,所述校验电路对接收到的所述写入操作进行校验,在校验通过的情况下,将所述写入操作中的密钥写入所述密钥存储单元。The key storage unit also includes a check circuit, the check circuit checks the received write operation, and if the check passes, writes the key in the write operation into The key storage unit.

在一个或多个实施例中,In one or more embodiments,

所述密钥管理设备还包括加解密电路,其连接所述密钥存储单元并利用所述密钥存储单元存储的所述密钥进行加密或解密。The key management device further includes an encryption and decryption circuit, which is connected to the key storage unit and uses the key stored in the key storage unit to perform encryption or decryption.

在一个或多个实施例中,In one or more embodiments,

所述隔离电路包括:The isolation circuit includes:

安全识别模块,所述安全识别模块识别所述操作请求中的操作地址是否为加密区间地址;以及A security identification module, the security identification module identifies whether the operation address in the operation request is an encryption interval address; and

请求识别模块,在所述安全识别模块识别出所述操作地址为加密区间地址的情况下,所述请求识别模块识别所述操作请求为读取操作还是写入操作,在识别结果为写入操作的情况下将写入操作传递给所述密钥存储单元,在识别结果为读取操作的情况下不将读取操作传递给所述密钥存储单元。A request identification module, when the security identification module identifies that the operation address is an encryption interval address, the request identification module identifies whether the operation request is a read operation or a write operation, and if the identification result is a write operation In the case of , the write operation is passed to the key storage unit, and in the case of the identification result being a read operation, the read operation is not passed to the key storage unit.

在一个或多个实施例中,In one or more embodiments,

所述隔离电路还包括过滤模块,在所述安全识别模块识别出所述操作地址为非加密区间地址的情况下,所述过滤模块接收所述操作请求,在所述请求识别模块的识别结果为读取操作的情况下,所述过滤模块接收所述请求识别模块识别出的读取操作。The isolation circuit also includes a filtering module. When the security identification module recognizes that the operation address is an address in an unencrypted range, the filtering module receives the operation request, and the identification result of the request identification module is In the case of a read operation, the filter module receives the read operation identified by the request identification module.

在一个或多个实施例中,In one or more embodiments,

所述过滤模块返回失败应答消息。The filtering module returns a failure response message.

在一个或多个实施例中,In one or more embodiments,

所述隔离电路还包括采集模块,其采集总线的操作请求,并将所采集的操作请求输入所述安全识别模块。The isolation circuit also includes a collection module, which collects operation requests of the bus, and inputs the collected operation requests into the security identification module.

在一个或多个实施例中,In one or more embodiments,

所述密钥存储单元包括静态随机存取寄存器和一次性存储单元,所述静态随机存取寄存器存储对称加密算法密钥和证书,所述一次性存储单元存储非对称加密算法公钥。The key storage unit includes a static random access register and a one-time storage unit, the static random access register stores a symmetric encryption algorithm key and a certificate, and the one-time storage unit stores an asymmetric encryption algorithm public key.

在一个或多个实施例中,所述设备还包括:In one or more embodiments, the device further includes:

所述校验电路在所述一次性存储单元进行首次写入操作的情况下不进行所述校验。The verification circuit does not perform the verification when the one-time memory unit is performing a write operation for the first time.

在一个或多个实施例中,In one or more embodiments,

所述对称加密算法密钥和/或所述证书进行周期性更新。The symmetric encryption algorithm key and/or the certificate are updated periodically.

在一个或多个实施例中,In one or more embodiments,

所述校验电路在接收到写入操作的情况下,触发加解密电路对写入操作中的签名进行校验,在所述签名校验通过的情况下,将所述写入操作中的与签名对应的密钥写入所述密钥存储单元。When the verification circuit receives the write operation, it triggers the encryption and decryption circuit to verify the signature in the write operation, and if the signature verification passes, the AND in the write operation The key corresponding to the signature is written into the key storage unit.

在一个或多个实施例中,In one or more embodiments,

所述处理器为所述写入操作或所述读取操作分配内存,在所述校验电路的校验结果为校验失败或者所述隔离电路拒绝所述读取操作或者所述内存的分配时间超过预定时间的情况下,所述处理器释放所述内存。The processor allocates memory for the write operation or the read operation, and the verification result of the verification circuit is verification failure or the isolation circuit rejects the read operation or the allocation of the memory When the time exceeds a predetermined time, the processor releases the memory.

在一个或多个实施例中,所述密钥管理设备还包括:In one or more embodiments, the key management device further includes:

内存单元,其用于暂时存放所述处理器的处理数据;a memory unit for temporarily storing data processed by the processor;

直接存储器访问单元,其用于在内存单元的不同区域之间或者内存单元和加解密电路之间进行数据传输;以及a direct memory access unit for data transfer between different regions of the memory unit or between the memory unit and the encryption and decryption circuit; and

总线,所述处理器、所述加解密电路、所述内存单元和所述直接存储器访问单元挂接于所述总线。A bus, the processor, the encryption and decryption circuit, the memory unit and the direct memory access unit are connected to the bus.

本申请第二方面的实施例提供一种密钥管理方法,所述方法应用于密钥管理设备,所述密钥管理设备包括用于存储密钥的存储单元,所述方法包括:The embodiment of the second aspect of the present application provides a key management method, the method is applied to a key management device, the key management device includes a storage unit for storing keys, and the method includes:

在来自处理器的操作请求为针对密钥的读取操作的情况下,隔离电路拒绝对于密钥存储单元的加密区间地址的访问;In the case that the operation request from the processor is a read operation for the key, the isolation circuit denies access to the encryption interval address of the key storage unit;

在所述操作请求为针对密钥的写入操作的情况下,所述隔离电路将所述写入操作传递给所述密钥存储单元。If the operation request is a write operation for a key, the isolation circuit transfers the write operation to the key storage unit.

本申请第三方面的实施例提供一种芯片,该芯片包括第一方面的实施例所述的密钥管理装置。The embodiment of the third aspect of the present application provides a chip, and the chip includes the key management device described in the embodiment of the first aspect.

本申请第四方面的实施例提供一种电子设备,该电子设备包括第一方面的实施例所述的密钥管理装置。The embodiment of the fourth aspect of the present application provides an electronic device, and the electronic device includes the key management apparatus described in the embodiment of the first aspect.

本申请实施例的有益效果之一在于:隔离电路拒绝来自处理器的操作请求对于密钥存储单元的加密区间地址的访问。由此,能够以简单的方式防止对密钥的非法访问,提高密钥管理的安全可靠性。One of the beneficial effects of the embodiments of the present application is that the isolation circuit rejects the operation request from the processor from accessing the encryption interval address of the key storage unit. In this way, unauthorized access to the key can be prevented in a simple manner, and the security and reliability of the key management can be increased.

参照后文的说明和附图,详细公开了本申请的特定实施方式,指明了本申请的原理可以被采用的方式。应该理解,本申请的实施方式在范围上并不因而受到限制。在所附权利要求的精神和条款的范围内,本申请的实施方式包括许多改变、修改和等同。针对一种实施方式描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施方式中使用,与其它实施方式中的特征相组合,或替代其它实施方式中的特征。With reference to the following description and accompanying drawings, specific embodiments of the present application are disclosed in detail, indicating the manner in which the principles of the application may be employed. It should be understood that the embodiments of the present application are not limited thereby in scope. Embodiments of the present application encompass many changes, modifications and equivalents within the spirit and scope of the appended claims. Features described and/or illustrated with respect to one embodiment can be used in the same or similar manner in one or more other embodiments, in combination with, or instead of features in other embodiments .

附图说明Description of drawings

在此描述的附图仅用于解释目的,而不意图以任何方式来限制本申请公开的范围。另外,图中的各部件的形状和比例尺寸等仅为示意性的,用于帮助对本申请的理解,并不是具体限定本申请各部件的形状和比例尺寸。本领域的技术人员在本申请的教导下,可以根据具体情况选择各种可能的形状和比例尺寸来实施本申请。The drawings described herein are for illustration purposes only and are not intended to limit the scope of the present disclosure in any way. In addition, the shapes and proportional dimensions of the components in the drawings are only schematic and are used to help the understanding of the present application, and do not specifically limit the shapes and proportional dimensions of the various components of the present application. Under the teaching of this application, those skilled in the art can select various possible shapes and proportional dimensions according to specific situations to implement this application.

图1是本申请实施例的密钥管理设备的一个示意图;FIG. 1 is a schematic diagram of a key management device according to an embodiment of the present application;

图2是本申请实施例的密钥管理设备的另一个示意图;Fig. 2 is another schematic diagram of the key management device of the embodiment of the present application;

图3是本申请实施例的隔离电路的一个示意图;Fig. 3 is a schematic diagram of the isolation circuit of the embodiment of the present application;

图4是本申请实施例的请求数据格式的一个示意图;Fig. 4 is a schematic diagram of the request data format of the embodiment of the present application;

图5是本申请实施例的密钥管理设备的另一个示意图;FIG. 5 is another schematic diagram of a key management device according to an embodiment of the present application;

图6是本申请实施例的写入操作的一个处理流程示意图;FIG. 6 is a schematic diagram of a processing flow of a write operation in an embodiment of the present application;

图7是本申请实施例的读取操作的一个处理流程示意图;FIG. 7 is a schematic diagram of a processing flow of a read operation in an embodiment of the present application;

图8是本申请实施例的密钥管理方法的一个示意图。Fig. 8 is a schematic diagram of a key management method according to an embodiment of the present application.

具体实施方式detailed description

下面将结合附图和具体实施例,对本申请的技术方案作详细说明,应理解这些实施例仅用于说明本申请而不用于限制本申请的范围,在阅读了本申请之后,本领域技术人员对本申请的各种等价形式的修改均落入本申请所附权利要求所限定的范围内。The technical scheme of the application will be described in detail below in conjunction with the accompanying drawings and specific embodiments. It should be understood that these embodiments are only used to illustrate the application and not to limit the scope of the application. After reading the application, those skilled in the art Modifications to various equivalent forms of the present application all fall within the scope defined by the appended claims of the present application.

在本申请实施例中,术语“第一”、“第二”等用于对不同元素从称谓上进行区分,但并不表示这些元素的空间排列或时间顺序等,这些元素不应被这些术语所限制。术语“和/或”包括相关联列出的术语的一种或多个中的任何一个和所有组合。术语“包含”、“包括”、“具有”等是指所陈述的特征、元素、元件或组件的存在,但并不排除存在或添加一个或多个其他特征、元素、元件或组件。In this embodiment of the application, the terms "first", "second", etc. are used to distinguish different elements from the title, but do not indicate the spatial arrangement or time order of these elements, and these elements should not be referred to by these terms restricted. The term "and/or" includes any and all combinations of one or more of the associated listed items. The terms "comprising", "including", "having" and the like refer to the presence of stated features, elements, elements or components, but do not exclude the presence or addition of one or more other features, elements, elements or components.

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在于限制本申请。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the technical field to which this application belongs. The terminology used herein in the description of the application is only for the purpose of describing specific embodiments, and is not intended to limit the application. As used herein, the term "and/or" includes any and all combinations of one or more of the associated listed items.

第一方面的实施例Embodiments of the first aspect

本申请第一方面的实施例提供一种密钥管理设备,图1是本申请实施例的密钥管理设备的一个示意图。The embodiment of the first aspect of the present application provides a key management device, and FIG. 1 is a schematic diagram of the key management device according to the embodiment of the present application.

如图1所示,密钥管理设备100包括密钥存储单元101和隔离电路102。As shown in FIG. 1 , a key management device 100 includes a key storage unit 101 and an isolation circuit 102 .

在本申请实施例中,密钥存储单元101用于存储密钥,隔离电路102用于接收来自处理器200的操作请求,在操作请求为针对密钥的读取操作的情况下,隔离电路102拒绝对于密钥存储单元101的加密区间地址的访问,在操作请求为针对密钥的写入操作的情况下,隔离电路102将写入操作传递给所述密钥存储单元101。In the embodiment of the present application, the key storage unit 101 is used to store the key, and the isolation circuit 102 is used to receive the operation request from the processor 200. When the operation request is a read operation for the key, the isolation circuit 102 Deny access to the encryption interval address of the key storage unit 101 , and if the operation request is a write operation for a key, the isolation circuit 102 transfers the write operation to the key storage unit 101 .

由上述实施例可知,密钥管理设备100中密钥存储单元与隔离电路连接,处理器针对密钥存储单元的操作请求经隔离电路确定能否传递给密钥存储单元,密钥管理设备100通过隔离电路102拒绝来自处理器200的对于密钥存储单元的加密区间地址的读取操作。由此,能够以简单的方式防止对密钥的非法访问,提高密钥管理的安全可靠性。It can be seen from the above embodiments that the key storage unit in the key management device 100 is connected to the isolation circuit, and the processor's operation request for the key storage unit is determined by the isolation circuit whether it can be transmitted to the key storage unit, and the key management device 100 passes The isolation circuit 102 rejects the read operation from the processor 200 on the encrypted interval address of the key storage unit. In this way, unauthorized access to the key can be prevented in a simple manner, and the security and reliability of the key management can be increased.

例如,和现有的通过第三方可信平台进行密钥管理的方案相比,本申请实施例采用本地软硬件管理的方式进行密钥管理,能够避免在和第三方可信平台进行密钥相关的通信时存在的一些缺陷,例如被黑客嗅探或者受到重放攻击的可能性,也可以省去和第三方可信平台之间的繁琐的通讯限制。For example, compared with the existing solution of key management through a third-party trusted platform, the embodiment of the present application uses local software and hardware management for key management, which can avoid key correlation with the third-party trusted platform. Some defects in communication, such as the possibility of being sniffed by hackers or replay attacks, can also save the cumbersome communication restrictions with third-party trusted platforms.

此外,和现有的软/硬件管理方案相比,本申请实施例也具有以简单的方式实现安全可靠的密钥管理的优点。In addition, compared with the existing software/hardware management solutions, the embodiment of the present application also has the advantage of implementing safe and reliable key management in a simple manner.

例如,和ARM ATZ或Intel SGX这样的解决方案相比,本申请实施例无需划分安全环境和非安全环境,因而无需复杂的软件栈辅助,另外,ARM ATZ或Intel SGX这样的解决方案存在启动过程中被攻击者暴力扫描而导致密钥泄露的风险,而在本申请实施例中,通过硬件的隔离电路防止对密钥的非法访问,攻击者无法通过暴力扫描而获取密钥存储单元中的密钥。For example, compared with solutions such as ARM ATZ or Intel SGX, the embodiment of the present application does not need to divide the security environment and the non-security environment, so there is no need for complex software stack assistance. In addition, solutions such as ARM ATZ or Intel SGX have a startup process The risk of the key leaking due to violent scanning by the attacker, but in the embodiment of this application, the hardware isolation circuit prevents illegal access to the key, and the attacker cannot obtain the key in the key storage unit through violent scanning. key.

再如,和现有的利用本地存储介质管理密钥的解决方案相比,本申请实施例中,通过硬件的隔离电路拒绝来自处理器的对于密钥存储单元的加密区间地址的读取操作,换言之,密钥存储单元中至少存储密钥的加密地址空间对外部的软件或设备不可见,攻击者无法通过暴力扫描而获取密钥存储单元中的密钥。For another example, compared with the existing solutions that use local storage media to manage keys, in the embodiment of this application, the hardware isolation circuit rejects the read operation of the encryption interval address of the key storage unit from the processor, In other words, at least the encrypted address space in which the key is stored in the key storage unit is invisible to external software or devices, and an attacker cannot obtain the key in the key storage unit through brute force scanning.

在本申请实施例中,如图1所示,在密钥存储单元101和处理器200之间设置了隔离电路102,由此,在处理器200对密钥存储单元101进行读写操作的情况下,能够通过隔离电路102判断操作的种类,并且拒绝对于密钥存储单元101的加密区间地址的读取,由此,能够防止对密钥存储单元101中的密钥的非法访问,以简单的方式实现安全可靠的密钥管理。In the embodiment of the present application, as shown in FIG. 1 , an isolation circuit 102 is provided between the key storage unit 101 and the processor 200, so that when the processor 200 performs read and write operations on the key storage unit 101 Next, the type of operation can be judged by the isolation circuit 102, and the reading of the encrypted interval address of the key storage unit 101 can be rejected, thereby preventing illegal access to the key in the key storage unit 101, with a simple way to achieve safe and reliable key management.

在本申请实施例中,加密区间地址为密钥存储单元101中用于存储外部环境不能读取的存储单元,外部环境包括外部软件和硬件,例如处理器等。另外,密钥存储单元还可包括非加密区间地址的存储单元,该存储单元中可以存储各种信息,例如和加密区间地址中所存储的密钥不同的允许外部环境访问的其它密钥、证书等信息,本申请对此不作限制。In this embodiment of the present application, the encrypted interval address is a storage unit in the key storage unit 101 that cannot be read by the external environment, and the external environment includes external software and hardware, such as a processor. In addition, the key storage unit may also include a storage unit of a non-encrypted zone address, in which various information may be stored, such as other keys and certificates that are different from the key stored in the encrypted zone address and are allowed to be accessed by the external environment. and other information, this application does not limit it.

图2是本申请实施例的密钥管理设备的另一个示意图。Fig. 2 is another schematic diagram of the key management device according to the embodiment of the present application.

如图2所示,所述密钥存储单元101可包括校验电路103,校验电路103对接收到的写入操作进行校验,在校验通过的情况下,将写入操作中的密钥写入密钥存储单元101。As shown in FIG. 2 , the key storage unit 101 may include a verification circuit 103. The verification circuit 103 verifies the received write operation. The key is written into the key storage unit 101.

由此,通过校验电路103对于写入操作进行校验,能够防止对于密钥存储单元的非法篡改,能够进一步提高密钥管理的安全可靠性。校验电路103也可以为校验单元,通过软件或软硬结合的方式实现校验功能。Therefore, by verifying the writing operation through the verifying circuit 103 , illegal tampering of the key storage unit can be prevented, and the security and reliability of key management can be further improved. The verification circuit 103 can also be a verification unit, which realizes the verification function through software or a combination of software and hardware.

例如,和现有的利用本地存储介质管理密钥的解决方案相比,本申请实施例中,可通过校验电路对密钥写入操作进行校验,攻击者无法恶意篡改存储介质,能够防止密钥被破坏,能够提高安全性能。For example, compared with the existing solutions that use local storage media to manage keys, in the embodiment of the present application, the key writing operation can be verified through the verification circuit, and the attacker cannot maliciously tamper with the storage media, which can prevent The key is compromised, which can improve security performance.

如图2所示,在一个或多个实施例中,密钥管理设备100还包括加解密电路104,加解密电路104连接密钥存储单元101并利用密钥存储单元101存储的密钥进行加密或解密。由此,通过加解密电路104实现硬件加解密,通过硬件加解密,在进行加密或解密过程中,仅由加解密电路104进行密钥的读取,也就是说,在加密或解密过程中,密钥存储单元对于外部的软/硬件模块均不可见,攻击者完全看不到密钥存储设备上的保密信息,杜绝了通过软件介入攻击的可能性,能够进一步提高安全性能。在一个或多个实施例中,处理器200可以为微控制单元MCU或中央处理单元CPU等,本申请对此不作限制,处理器通过运行软件以实现相应的功能,例如,处理器运行密钥管理软件以实现密钥管理,密钥管理软件包括但不限于密钥读取操作、密钥写入操作、加密操作、解密操作等命令,在运行密钥管理软件时,通过处理器执行相关命令以控制相关部件进行相应的操作。后面将对密钥管理软件进行示例性说明。As shown in Figure 2, in one or more embodiments, the key management device 100 further includes an encryption and decryption circuit 104, the encryption and decryption circuit 104 is connected to the key storage unit 101 and uses the key stored in the key storage unit 101 to perform encryption or decrypt. Thus, the hardware encryption and decryption is realized by the encryption and decryption circuit 104, and by hardware encryption and decryption, only the encryption and decryption circuit 104 performs the reading of the key during the encryption or decryption process, that is to say, during the encryption or decryption process, The key storage unit is invisible to external software/hardware modules, and attackers cannot see the confidential information on the key storage device at all, which eliminates the possibility of attacking through software and can further improve security performance. In one or more embodiments, the processor 200 can be a micro control unit MCU or a central processing unit CPU, etc., the present application is not limited to this, the processor implements corresponding functions by running software, for example, the processor runs the key Management software to realize key management. Key management software includes but not limited to commands such as key read operation, key write operation, encryption operation, and decryption operation. When the key management software is running, relevant commands are executed through the processor To control the relevant components to perform corresponding operations. The key management software will be exemplarily described later.

以下对于密钥管理设备100的各个模块以及处理器200进行示例性说明。Each module of the key management device 100 and the processor 200 will be exemplarily described below.

在一个或多个实施例中,密钥存储单元中存储的密钥可理解为任何需要保密的信息,可以为芯片或设备自身的密钥,如公钥、私钥、对称加密算法中的密钥、数字证书(例如根据公钥生成的X.509证书)等,还可以为对端芯片或设备的密钥,对端芯片或设备表示可与密钥存储单元所属芯片或设备进行信息交互,此外,还可以为第三方芯片或设备的密钥,本申请对此不作限制。In one or more embodiments, the key stored in the key storage unit can be understood as any information that needs to be kept secret, which can be the key of the chip or the device itself, such as a public key, a private key, or a key in a symmetric encryption algorithm. Keys, digital certificates (such as X.509 certificates generated based on public keys), etc., can also be the keys of the peer chip or device. The peer chip or device indicates that it can exchange information with the chip or device to which the key storage unit belongs. In addition, it may also be a key of a third-party chip or device, which is not limited in this application.

在一个或多个实施例中,密钥存储单元101可包括静态随机存取寄存器SRAM和一次性存储单元,一次性存储单元例如为One Time Programmable (简称OTP) 存储器,或者为Efuse存储器,本申请对此不作限制。In one or more embodiments, the key storage unit 101 may include a static random access register SRAM and a one-time storage unit. The one-time storage unit is, for example, a One Time Programmable (OTP) memory, or an Efuse memory. This application There is no limit to this.

在一个或多个实施例中,静态随机存取寄存器SRAM存储可修改的密钥或密钥相关的信息,例如,SRAM可存储对称加密算法的密钥、数字证书等,对称加密算法的密钥和数字证书均可以周期性或不定时地进行更新,从而提高安全性能。In one or more embodiments, the static random access register SRAM stores modifiable keys or key-related information, for example, SRAM can store keys of symmetric encryption algorithms, digital certificates, etc., keys of symmetric encryption algorithms Both digital certificates and digital certificates can be updated periodically or irregularly, thereby improving security performance.

在一个或多个实施例中,一次性存储单元可用于存储固定不变的密钥或密钥信息,由此,能够进一步防止密钥被篡改,能够提高安全性能。例如,一次性存储单元可以用于存储非对称加密算法的公钥,该公钥也可称为可信根密钥,密钥信息可以为根据该可信根密钥生成的数字证书。In one or more embodiments, the one-time storage unit can be used to store a fixed key or key information, thereby further preventing the key from being tampered with and improving security performance. For example, the one-time storage unit may be used to store a public key of an asymmetric encryption algorithm, which may also be called a trusted root key, and the key information may be a digital certificate generated according to the trusted root key.

在一个或多个实施例中,可以在一次性存储单元出厂之前进行一次性存储单元的写入操作,在一次性存储单元进行首次写入操作或一次性存储单元为空的情况下不通过校验电路进行校验。在一次性存储单元完成写入操作之后,可以通过校验电路对写入操作进行校验,例如,当校验电路校验结果为写入操作对象是一次性存储单元,校验电路可以拒绝针对一次性存储单元的写入操作,可以返回写入失败应答信号。In one or more embodiments, the write operation of the one-time storage unit can be performed before the one-time storage unit leaves the factory, and the one-time storage unit does not pass the calibration when the first write operation is performed or the one-time storage unit is empty. Verify the circuit. After the one-time storage unit completes the write operation, the write operation can be verified by the verification circuit. For example, when the verification result of the verification circuit is that the object of the write operation is a one-time storage unit, the verification circuit can reject the A write operation of a one-time storage unit may return a write failure response signal.

在一个或多个实施例中,对于存储可修改的密钥或密钥信息的SRAM,在对SRAM进行写入操作时,可通过校验电路进行校验,在校验通过的情况下允许进行相应的写入操作。In one or more embodiments, for the SRAM that stores the modifiable key or key information, when the SRAM is written into the SRAM, it can be verified by a verification circuit, and it is allowed to proceed if the verification is passed. corresponding write operation.

例如,在一个或多个实施例中,对于需要写入的密钥或密钥信息,写入操作需要携带密钥或密钥信息发送方的数字签名,校验电路首先判断是否携带数字签名,若判断结果为未携带数字签名,则拒绝写入操作,返回写入失败应答信号,若判断结果为携带数字签名,则校验电路对数字签名进行校验,在校验通过的情况下将相应的密钥或密钥信息写入SRAM。For example, in one or more embodiments, for the key or key information that needs to be written, the write operation needs to carry the digital signature of the sender of the key or key information, and the verification circuit first determines whether the digital signature is carried, If the judgment result is that the digital signature is not carried, the write operation is rejected, and a write failure response signal is returned. If the judgment result is that the digital signature is carried, the verification circuit verifies the digital signature, and the corresponding The key or key information is written to SRAM.

在本申请实施例中,数字签名包括对密钥或密钥信息进行进行哈希摘要加密以及利用发送方私钥进行加密,数字签名的校验需要进行非对称解密和哈希摘要加密,关于数字签名可以参考相关技术。In the embodiment of this application, the digital signature includes performing hash digest encryption on the key or key information and encrypting with the sender's private key. The verification of the digital signature requires asymmetric decryption and hash digest encryption. Regarding digital For the signature, reference may be made to related technologies.

在一个或多个实施例中,校验电路可以向加解密电路发送触发信号以控制加解密电路对数字签名进行验签,在校验成功的情况下,将相应的密钥或密钥信息写入SRAM,否则拒绝写入操作,返回写入失败应答信号。In one or more embodiments, the verification circuit can send a trigger signal to the encryption and decryption circuit to control the encryption and decryption circuit to verify the digital signature, and if the verification is successful, write the corresponding key or key information to Otherwise, the write operation is rejected and a write failure response signal is returned.

在一个或多个实施例中,密钥存储单元自身包括校验电路以实现校验功能,也就是说,校验电路可以集成于密钥存储单元中,可以提高集成度,减小芯片面积。但本申请不限于此,校验电路也可以例如集成于隔离电路。In one or more embodiments, the key storage unit itself includes a verification circuit to implement the verification function, that is, the verification circuit can be integrated into the key storage unit, which can improve integration and reduce chip area. But the present application is not limited thereto, and the verification circuit can also be integrated in the isolation circuit, for example.

在一个或多个实施例中,处理器在执行相应的操作时,例如写入操作或读取操作,可以为相应的操作分配内存以构建相应的请求数据格式,该请求数据格式可包括密钥、数字签名等保密信息,在校验电路的校验结果为校验失败或者隔离电路拒绝读取操作或者内存的分配时间超过预定时间的情况下,处理器释放该内存,由此,通过及时释放内存中所存储的密钥、数字签名等,能够防止保密信息的泄露,提高安全性。在一个或多个实施例中,校验电路对写入操作进行校验,包括对写入操作是否携带数字证书进行校验以及对数字证书进行验签,校验电路可以连接加解密电路,或者校验电路可以发送信号触发加解密电路进行数字证书的验签,此外,校验电路可以对写入操作中的密钥或密钥信息进行存储,也就是说,校验电路可以包括存储单元进行信息存储,此外,校验电路可以连接密钥存储单元中的SRAM和OTP/Efuse,从而实现密钥或密钥信息的写入。In one or more embodiments, when the processor performs a corresponding operation, such as a write operation or a read operation, it may allocate memory for the corresponding operation to construct a corresponding request data format, and the request data format may include a key , digital signature and other confidential information, when the verification result of the verification circuit is a verification failure or the isolation circuit refuses to read the operation or the allocation time of the memory exceeds the predetermined time, the processor releases the memory. Keys, digital signatures, etc. stored in the memory can prevent the leakage of confidential information and improve security. In one or more embodiments, the verification circuit verifies the write operation, including verifying whether the write operation carries a digital certificate and verifying the digital certificate. The verification circuit can be connected to the encryption and decryption circuit, or The verification circuit can send a signal to trigger the encryption and decryption circuit to verify the digital certificate. In addition, the verification circuit can store the key or key information in the write operation, that is to say, the verification circuit can include a storage unit for Information storage, in addition, the verification circuit can connect the SRAM and OTP/Efuse in the key storage unit, so as to realize the writing of the key or key information.

在一个或多个实施例中,校验电路本身可以仅进行校验操作,由此,校验电路可以连接隔离电路,也就是说,利用隔离电路对写入操作的地址进行检查,只有写入操作的写入地址为密钥存储单元中可进行写入操作的存储单元的地址时,如写入地址为SRAM存储器的地址,隔离电路才将写入操作转移给校验电路,由此,校验电路无需事先地址检查功能,能够简化校验电路。In one or more embodiments, the verification circuit itself can only perform the verification operation, thus, the verification circuit can be connected to the isolation circuit, that is, the isolation circuit is used to check the address of the write operation, and only the write operation When the write address of the operation is the address of the storage unit that can perform write operation in the key storage unit, if the write address is the address of the SRAM memory, the isolation circuit will transfer the write operation to the verification circuit, thus, the calibration The verification circuit does not need the address checking function in advance, which can simplify the verification circuit.

在一个或多个实施例中,隔离电路对读取操作进行检查,例如检查读取操作所要读取的密钥存储单元的地址,从而能够防止对于禁止访问的密钥存储单元的读取,从硬件上实现了屏蔽功能,能够提高防止密码嗅探、杜绝攻击的可靠性。In one or more embodiments, the isolation circuit checks the read operation, for example, checks the address of the key storage unit to be read by the read operation, so as to prevent the reading of the key storage unit that is prohibited from being accessed. The shielding function is implemented on the hardware, which can improve the reliability of preventing password sniffing and eliminating attacks.

在一个或多个实施例中,隔离电路可以允许对于SRAM中存储的数字证书和OTP/Efuse中的可信根密钥的读取,也就是说允许对于存储数字证书和可信根密钥的存储单元的地址空间的读取,拒绝对于存储单元的其它地址空间的读取请求,但本申不限于此,例如,隔离电路可以拒绝对于密钥存储单元的所有地址空间的读取请求,本申请对此不作限制,可根据需要设置隔离电路。In one or more embodiments, the isolation circuit can allow reading of the digital certificate stored in the SRAM and the trusted root key in the OTP/Efuse, that is to say, allow the reading of the stored digital certificate and the trusted root key The reading of the address space of the storage unit rejects the reading request of other address spaces of the storage unit, but this application is not limited thereto. For example, the isolation circuit can reject the reading request of all address spaces of the key storage unit. The application is not limited to this, and isolation circuits can be set as required.

在一个或多个实施例中,隔离电路也可以对于写入操作进行检查,例如检查写入操作的写入地址,在此情况下,可以将写入操作中携带的数据,包括密钥或密钥信息暂存在校验电路,在隔离电路对于写入地址的检查结果为通过的情况下,例如写入地址在SRAM存储器的地址空间内,触发校验电路进行校验操作,否则返回写入操作失败应答。In one or more embodiments, the isolation circuit can also check the write operation, for example, check the write address of the write operation. In this case, the data carried in the write operation, including the key or password The key information is temporarily stored in the verification circuit. When the check result of the isolation circuit for the write address is passed, for example, the write address is in the address space of the SRAM memory, the verification circuit is triggered to perform the verification operation, otherwise the write operation is returned Failed to answer.

也就是说,处理器对于密钥存储单元的写入操作和读取操作均可以通过隔离电路进行检查。That is to say, both the write operation and the read operation of the processor to the key storage unit can be checked through the isolation circuit.

图3是本申请第一方面实施例的隔离电路的一个示意图。Fig. 3 is a schematic diagram of the isolation circuit of the embodiment of the first aspect of the present application.

如图3所示,在一个或多个实施例中,隔离电路102可包括安全识别模块302和请求识别模块303。As shown in FIG. 3 , in one or more embodiments, the isolation circuit 102 may include a security identification module 302 and a request identification module 303 .

安全识别模块302识别操作请求中的操作地址是否为加密区间地址;The security identification module 302 identifies whether the operation address in the operation request is an encrypted interval address;

请求识别模块303,在安全识别模块302识别出操作地址为加密区间地址的情况下,请求识别模块303识别操作请求为读取操作还是写入操作,在识别结果为写入操作的情况下将写入操作传递给密钥存储单元101,在识别结果为读取操作的情况下不将读取操作传递给密钥存储单元101。The request identification module 303, when the security identification module 302 identifies that the operation address is an encryption interval address, the request identification module 303 identifies whether the operation request is a read operation or a write operation, and if the identification result is a write operation, write The input operation is passed to the key storage unit 101, and the read operation is not passed to the key storage unit 101 if the identification result is a read operation.

由此,隔离电路102能够防止处理器对于密钥存储单元101的加密区间地址的读取,提高密钥管理设备的安全性能。Thus, the isolation circuit 102 can prevent the processor from reading the encryption interval address of the key storage unit 101, and improve the security performance of the key management device.

但本申请不限于此,例如,在隔离电路中,也可以首先通过请求识别模块识别读取操作的类型,然后由安全识别模块识别是否为针对加密区间地址的操作,本申请对此不作限制。But the present application is not limited thereto. For example, in the isolation circuit, the type of the read operation may also be firstly identified by the request identification module, and then the security identification module identifies whether it is an operation for an encrypted interval address, which is not limited by the present application.

如图3所示,在一个或多个实施例中,隔离电路102还包括过滤模块304,在安全识别模块302识别出操作地址为非加密区间地址的情况下,过滤模块304接收操作请求,在请求识别模块303的识别结果为读取操作的情况下,过滤模块304接收请求识别模块303识别出的读取操作,也就是说,通过设置过滤模块304对非加密区间地址的操作请求以及加密区间地址的读取操作进行处理,以模块化的处理方式提高操作请求的处理效率。As shown in FIG. 3 , in one or more embodiments, the isolation circuit 102 further includes a filter module 304, and when the security identification module 302 recognizes that the operation address is an address in a non-encrypted range, the filter module 304 receives the operation request. When the identification result of the request identification module 303 is a read operation, the filter module 304 receives the read operation identified by the request identification module 303, that is, by setting the operation request of the filter module 304 to the address of the non-encrypted interval and the encrypted interval The read operation of the address is processed, and the processing efficiency of the operation request is improved in a modular processing manner.

在一个或多个实施例中,过滤模块304返回失败应答消息,也就是说,过滤模块304在接收到任意消息的情况下均返回失败应答消息。但本申请不限于此,例如,过滤模块也可以进一步对接收到的消息进行分类处理,例如,当过滤模块304接收到一般地址的读取操作,而该一般地址为密钥存储单元中存储可访问的密钥、证书等信息的地址时,过滤模块也可以根据该读取操作读取相应的信息并返回给处理器。本申请对此不作限制,可根据实际需要而设置。In one or more embodiments, the filtering module 304 returns a failure response message, that is, the filtering module 304 returns a failure response message when any message is received. But the present application is not limited thereto. For example, the filtering module can further classify the received messages. When accessing addresses of information such as keys and certificates, the filtering module can also read corresponding information according to the read operation and return it to the processor. This application does not limit this, and it can be set according to actual needs.

如图3所示,在一个或多个实施例中,隔离电路102还可包括采集模块301,采集模块301采集总线的操作请求,并将所采集的操作请求输入所述安全识别模块302,总线的操作请求可包括数据请求和地址信息。As shown in FIG. 3 , in one or more embodiments, the isolation circuit 102 can also include a collection module 301, the collection module 301 collects the operation request of the bus, and inputs the collected operation request into the safety identification module 302, the bus The operation request can include data request and address information.

在本申请实施例中,采集模块301可接收请求,例如采集模块301可以从总线接收请求,也就是说,隔离电路104可以挂接在总线上,但本申请不限于此,采集模块301也可以从处理器接收请求,本申请对此不作限制,可根据实际需要而设置。在本申请实施例中,请求可以为读取请求或写入请求,请求中可以包括相关的数据和/或地址。以下对于请求进行示例性说明。In the embodiment of the present application, the acquisition module 301 can receive the request, for example, the acquisition module 301 can receive the request from the bus, that is to say, the isolation circuit 104 can be connected to the bus, but the application is not limited thereto, the acquisition module 301 can also The request is received from the processor, which is not limited in the present application and can be set according to actual needs. In this embodiment of the present application, the request may be a read request or a write request, and the request may include relevant data and/or addresses. The following is an example description of the request.

图4是本申请第一方面实施例的请求的数据格式。Fig. 4 is the data format of the request in the embodiment of the first aspect of the present application.

如图4所示,请求数据格式可包括请求类型字段、请求业务字段、数据长度字段和内容字段,其中,请求类型字段的长度可以为1字节,请求业务字段的长度可以为1字节,数据长度字段的长度可以为2字节,内容字段的长度为0至64k字节范围内的任意数值,但本申请不限于此,各字段的长度还可以根据实际需要而设置,本申请对此不作限制。As shown in Figure 4, the request data format can include a request type field, a request service field, a data length field and a content field, wherein the length of the request type field can be 1 byte, and the length of the request service field can be 1 byte, The length of the data length field can be 2 bytes, and the length of the content field can be any value in the range of 0 to 64k bytes, but the application is not limited thereto, and the length of each field can also be set according to actual needs. No limit.

在本申请实施例中,请求类型字段表示请求的类型,例如,0x80表示写请求,也即写入操作,0x81表示读请求,也即读取操作,值得注意的是,写请求和读请求还可以由其它数值表示,在此仅进行示例性说明。In the embodiment of this application, the request type field indicates the type of request, for example, 0x80 indicates a write request, that is, a write operation, and 0x81 indicates a read request, that is, a read operation. It is worth noting that the write request and the read request also It can be represented by other numerical values, which are only illustrated here.

在本申请实施例中,请求业务字段表示请求的业务,例如,0x70表示对称加密算法的密钥,0x71表示数字证书,如X.509证书,0x72表示非对称根密钥(公钥),值得注意的是,各业务还可以由其它数值表示,在此仅进行示例性说明。In the embodiment of this application, the requested service field indicates the requested service, for example, 0x70 indicates the key of a symmetric encryption algorithm, 0x71 indicates a digital certificate, such as an X.509 certificate, and 0x72 indicates an asymmetric root key (public key), which is worth It should be noted that each service may also be represented by other numerical values, which are only described as examples here.

在本申请实施例中,数据长度字段表示内容字段中的数据长度,以字节为单位。In this embodiment of the application, the data length field indicates the data length in the content field, in bytes.

在本申请实施例中,内容字段表示请求所携带的数据或地址,例如,当请求类型为写请求时,内容字段可以存放对称加密算法的密钥和数字签名,或者存放数字证书和数字签名,或者其它类型的需要保密的信息,当请求类型为读请求时,内容字段存放内存地址,在密钥存储单元读取成功的情况下,内存地址用于存放所读取的内容。此外,内容字段还可携带写入操作或读取操作所对应的密钥存储单元的地址。In this embodiment of the application, the content field indicates the data or address carried by the request. For example, when the request type is a write request, the content field can store the key and digital signature of the symmetric encryption algorithm, or store the digital certificate and digital signature. Or other types of information that need to be kept secret. When the request type is a read request, the content field stores the memory address. When the key storage unit is successfully read, the memory address is used to store the read content. In addition, the content field may also carry the address of the key storage unit corresponding to the write operation or the read operation.

在本申请实施例中,安全识别模块302识别请求对应的地址空间,在一个或多个实施例中,存储密钥的SRAM和OTP/Efuse的地址空间是加密区间,其他地址空间为一般地址空间,但本申请不限于此,也可以将存放禁止读取的密钥等保密信息的区间称为加密区间,如将SRAM中存放对称加密算法的密钥的地址设为加密区间,SRAM中存放公钥的地址以及OTP/Efuse的地址可属于一般地址空间,本申请对此不作限制,可根据禁止访问的信息而设定对应的地址为加密区间,也就是说,加密区间可以仅表示存放禁止访问的信息的区间,或者,加密区间也可以表示存放禁止访问的信息和相对而言保密性相对于禁止访问的信息较弱的信息的区间,可根据实际需要而设置,总体而言,加密区间表示访问受到限制的区间,其中,禁止访问的信息表示禁止外部软件或设备访问,仅可通过密钥管理设备的加解密电路访问,如对称加密算法的密钥,而保密性相对于禁止访问的信息较弱的信息例如可包括但不限于此非对称加密密钥的公钥、证书等信息。In this embodiment of the application, the security identification module 302 identifies the address space corresponding to the request. In one or more embodiments, the address space of the SRAM and OTP/Efuse that store the key is an encrypted area, and other address spaces are general address spaces , but the present application is not limited thereto, and the interval for storing secret information such as a key that is prohibited from being read can also be called an encryption interval, such as setting the address of the key for storing a symmetric encryption algorithm in the SRAM as an encryption interval, and storing public information in the SRAM The address of the key and the address of OTP/Efuse can belong to the general address space. This application does not limit this, and the corresponding address can be set as an encrypted area according to the information of prohibited access. That is to say, the encrypted area can only indicate the storage of prohibited access. Alternatively, the encryption interval can also refer to the interval for storing information that is prohibited from access and information that is relatively weaker in confidentiality than the information that is prohibited from access. It can be set according to actual needs. Generally speaking, the encryption interval represents Access-restricted intervals, where access-prohibited information means that access by external software or devices is prohibited, and can only be accessed through the encryption and decryption circuit of the key management device, such as the key of a symmetric encryption algorithm, and the confidentiality is relative to the access-prohibited information Weaker information may include, but not limited to, the public key and certificate of the asymmetric encryption key, for example.

在本申请实施例中,在安全识别模块302的识别结果为加密区间地址的情况下,可由请求识别模块303进行下一步处理,在安全识别模块302的识别结果为一般区间地址的情况下,由过滤模块304进行下一步处理。由此,无论读取操作还是写入操作,均可以通过安全识别模块302首先识别是否针对密钥存储单元的操作,并根据识别结果由不同的模块进行下一步的处理,能够避免其他不可控的硬件对密钥存储单元、尤其是密钥存储单元的加密区间的随意访问,另外在请求数据格式中携带错误的密钥存储单元的地址或在请求处理的过程中写入地址寄存器的地址出错的情况下,能够避免写入操作将密钥或密钥信息写入错误的地址而导致异常或造成安全隐患,也能够避免从不可访问的加密区间、尤其是存储例如非对称加密的密钥的地址空间读取信息而造成安全隐患。In the embodiment of the present application, when the identification result of the security identification module 302 is an encrypted interval address, the request identification module 303 can perform the next step of processing; when the identification result of the security identification module 302 is a general interval address, the The filtering module 304 performs the next step of processing. Thus, regardless of the read operation or the write operation, the security identification module 302 can first identify whether the operation is aimed at the key storage unit, and according to the identification result, the next step is processed by different modules, which can avoid other uncontrollable The hardware randomly accesses the key storage unit, especially the encryption interval of the key storage unit, and the address of the key storage unit is carried in the request data format or the address written to the address register is wrong during request processing. In this case, it is possible to prevent the write operation from writing the key or key information to the wrong address, causing anomalies or security risks, and it is also possible to avoid accessing from inaccessible encryption areas, especially addresses that store keys such as asymmetric encryption Space to read information and cause security risks.

在本申请实施例中,在安全识别模块302的识别结果为加密区间地址的情况下,请求识别模块303识别针对加密区间地址的请求类型,即读取还是写入,在识别结果为写入的情况下,请求识别模块将该请求转发出去,例如转发给校验电路或者向校验电路发送触发信号以进行校验操作,在识别结果为读取的情况下,请求识别模块将该读取请求转发给过滤模块,进行处理。In the embodiment of the present application, when the identification result of the security identification module 302 is an encryption interval address, the request identification module 303 identifies the request type for the encryption interval address, that is, reading or writing, and if the identification result is an encryption interval address Under normal circumstances, the request identification module forwards the request, such as forwarding it to the verification circuit or sending a trigger signal to the verification circuit to perform a verification operation. When the identification result is read, the request identification module sends the read request Forward to the filtering module for processing.

在本申请实施例中,过滤模块304过滤一般地址访问和加密区间读数据请求,例如,对于一般地址,过滤模块304可以输出失败应答,从而避免非法地址访问导致异常,对于加密区间读数据请求,过滤模块304也可以输出失败应答,从而阻止加密区间读数据请求,但本申请不限于此,例如,对于加密区间读数据请求,过滤模块304可以进一步识别加密区间地址是否为密钥存储单元中存储可读取的信息(如密钥或证书)的地址,如果为是,则过滤模块304可以从密钥存储单元读取相应的信息并将读取的信息返回到读请求数据格式中指定的内存地址,或者,过滤模块304可以向校验电路发送读取指令以读取相应的信息并将读取的信息最终返回到读请求数据格式中指定的内存地址,或者,可以由加解密电路从密钥存储单元读取相应的信息并将读取的信息存放在请求数据格式中指定的内存地址,如果为否,过滤模块304可以输出失败应答信号,从而阻止读取请求。In the embodiment of the present application, the filter module 304 filters the general address access and the request for reading data in the encrypted area. For example, for the general address, the filter module 304 can output a failure response, thereby preventing illegal address access from causing exceptions. For the request for reading data in the encrypted area, The filtering module 304 can also output a failure response, thereby preventing the encryption interval read data request, but the present application is not limited thereto. For example, for the encryption interval read data request, the filtering module 304 can further identify whether the encryption interval address is stored in the key storage unit. The address of the readable information (such as a key or a certificate), if yes, the filter module 304 can read the corresponding information from the key storage unit and return the read information to the memory specified in the read request data format address, or, the filtering module 304 can send a read command to the verification circuit to read the corresponding information and finally return the read information to the memory address specified in the read request data format, or the encryption and decryption circuit can read from the encryption The key storage unit reads the corresponding information and stores the read information in the memory address specified in the request data format, if not, the filter module 304 can output a failure response signal, thereby preventing the read request.

在一个或多个实施例中,加解密电路104实现硬件加解密,通过硬件加解密,在进行加密或解密过程中,仅由加解密电路104进行密钥的读取,也就是说,在加密或解密过程中,密钥存储单元对于外部的软/硬件模块均不可见,攻击者完全看不到密钥存储设备上的保密信息,杜绝了通过软件介入攻击的可能性,提高安全性能。In one or more embodiments, the encryption and decryption circuit 104 implements hardware encryption and decryption, through hardware encryption and decryption, during the encryption or decryption process, only the encryption and decryption circuit 104 performs key reading, that is, during encryption Or during the decryption process, the key storage unit is invisible to external software/hardware modules, and the attacker cannot see the confidential information on the key storage device at all, eliminating the possibility of attacking through software and improving security performance.

在一个或多个实施例中,加解密电路104可以进行各种加解密操作,包括但不限于对称加密算法(如AES、SM4等算法)的加密和解密、非对称加密算法的加密和解密,哈希摘要算法的加密,本申请对此不作限制,可根据实际需要设置。In one or more embodiments, the encryption and decryption circuit 104 can perform various encryption and decryption operations, including but not limited to encryption and decryption of symmetric encryption algorithms (such as AES, SM4, etc.), encryption and decryption of asymmetric encryption algorithms, The encryption of the hash digest algorithm is not limited in this application, and can be set according to actual needs.

在本申请实施例中,密钥管理设备100可应用于各种芯片、电子设备中,在一个或多个实施例中,除了上述的密钥存储单元101、校验电路103、隔离电路102和加解密电路104,密钥管理设备100还可以包括其它部件。In the embodiment of this application, the key management device 100 can be applied to various chips and electronic devices. In one or more embodiments, in addition to the above-mentioned key storage unit 101, verification circuit 103, isolation circuit 102 and The encryption and decryption circuit 104, the key management device 100 may also include other components.

图5是本申请实施例的密钥管理设备的另一个示意图。Fig. 5 is another schematic diagram of the key management device according to the embodiment of the present application.

如图5所示,密钥管理设备100还包括内存单元105、直接存储器访问单元106和总线107。As shown in FIG. 5 , the key management device 100 further includes a memory unit 105 , a direct memory access unit 106 and a bus 107 .

在本申请实施例中,内存单元105用于暂时存放处理器的处理数据,包括生成的的各种请求数据、从密钥存储单元读取的信息等。内存单元可以为双倍速率同步动态随机存储器DDR,但本申请不限于此,内存单元还可以为其它类型的存储器。In the embodiment of the present application, the memory unit 105 is used to temporarily store data processed by the processor, including various generated request data, information read from the key storage unit, and the like. The memory unit may be a double rate synchronous dynamic random access memory (DDR), but the present application is not limited thereto, and the memory unit may also be other types of memory.

在本申请实施例中,直接存储器访问单元106可用于在内存单元105中搬移数据,直接存储器访问单元106即DMA,DMA数据通道包括不同内存区域之间的数据搬移,例如内存区域1与内存区域2之间的数据搬移,DMA数据通道还可包括内存区域和加解密电路之间的数据搬移,例如内存区域1和加解密电路之间、内存区域2和加解密电路之间,例如,可以先将内存区域1中的待加密或待解密数据搬移到加解密电路中,加解密电路完成加密或解密之后,将加密数据或解密数据搬移到内存区域2中。In the embodiment of the present application, the direct memory access unit 106 can be used to move data in the memory unit 105, the direct memory access unit 106 is DMA, and the DMA data channel includes data movement between different memory areas, such as memory area 1 and memory area 2, the DMA data channel can also include the data movement between the memory area and the encryption and decryption circuit, for example, between the memory area 1 and the encryption and decryption circuit, and between the memory area 2 and the encryption and decryption circuit, for example, you can first The data to be encrypted or decrypted in the memory area 1 is moved to the encryption and decryption circuit, and the encrypted or decrypted data is moved to the memory area 2 after the encryption and decryption circuit completes the encryption or decryption.

在本申请实施例中,总线107用于不同部件之间的通信以及数据传输,例如,如图5所示,处理器、加解密电路、内存单元和直接存储器访问单元可挂接于所述总线107。但本申请不限于此,例如,隔离电路也可以挂接于总线107,也就是说,处理器通过总线和隔离电路进行通信和数据传输,本申请对此不作限制,可根据实际需要而设置。In the embodiment of the present application, the bus 107 is used for communication and data transmission between different components. For example, as shown in FIG. 107. But the application is not limited thereto. For example, the isolation circuit can also be connected to the bus 107, that is, the processor communicates and transmits data through the bus and the isolation circuit. This application does not limit this, and can be set according to actual needs.

以上对于密钥管理设备100的各个部件进行了示例性说明,以下对于密钥管理设备100进行密钥管理的各个操作的软件处理流程进行示例性说明。Each component of the key management device 100 has been exemplarily described above, and the software processing flow of each operation of the key management device 100 for key management will be exemplarily described below.

图6是本申请实施例的写入操作的一个处理流程示意图。FIG. 6 is a schematic diagram of a processing flow of a write operation in an embodiment of the present application.

如图6所示,写入操作的处理流程包括如下步骤:As shown in Figure 6, the processing flow of the write operation includes the following steps:

步骤601,接受对端发过来的证书或者协商好的密钥,该密钥例如为非对称加密的公钥或对称加密的密钥,或其它的密钥或保密信息,本申请对此不作限制。Step 601, accept the certificate or negotiated key sent by the peer end, the key is, for example, an asymmetric encryption public key or a symmetric encryption key, or other keys or confidential information, which is not limited in this application .

步骤602,分配内存,构造请求命令,该请求命令为写入请求命令,写入请求命令的数据格式如上述图3所示,写入请求命令的各个字段的具体内容和长度可根据设置而确定。Step 602, allocate memory, construct a request command, the request command is a write request command, the data format of the write request command is shown in Figure 3 above, and the specific content and length of each field of the write request command can be determined according to the settings .

步骤603,将构造好的命令写入到对应的寄存器,以便由处理器执行。Step 603, write the constructed command into the corresponding register so as to be executed by the processor.

在该步骤603中,构造好的命令可称为写入请求数据格式,在将写入请求数据格式写入到对应寄存器的情况下,处理器的执行流程可包括,对应的寄存器可根据接收到的数据写地址寄存器,也就是说,将写入请求数据格式中所包含的地址写入到地址寄存器,该地址表示写入请求数据格式所对应的写入操作所要写入的密钥存储单元的地址,之后,该对应的寄存器可以写触发寄存器,从而自动触发请求,并携带该密钥存储单元的地址到隔离电路以进行进一步处理,包括由安全识别模块进行识别,具体可参见上述关于安全识别模块以及隔离电路的说明。In this step 603, the constructed command may be referred to as the write request data format, and in the case of writing the write request data format into the corresponding register, the execution flow of the processor may include that the corresponding register may receive Write the data to the address register, that is to say, write the address contained in the write request data format to the address register, the address represents the key storage unit to be written in the write operation corresponding to the write request data format Address, after that, the corresponding register can be written into the trigger register, thereby automatically triggering the request, and carrying the address of the key storage unit to the isolation circuit for further processing, including identification by the security identification module. For details, please refer to the above security identification Description of the modules and isolation circuits.

步骤604,在一定时间内,轮询状态寄存器,如可以设定定时器。Step 604, within a certain period of time, poll the status register, for example, a timer can be set.

步骤605,通过状态寄存器判断指令执行是否成功或者是否超时,在判断结果为否时,继续执行步骤604,直到指令执行成功或者超时,之后执行步骤606。Step 605, judge whether the instruction is executed successfully or whether it times out through the status register, and if the judgment result is no, continue to execute step 604 until the instruction is executed successfully or times out, and then execute step 606.

步骤606,释放分配用于构造请求命令的内存,密钥写入请求执行结束。In step 606, the memory allocated for constructing the request command is released, and the execution of the key writing request ends.

可见,在上述写入操作过程中,密钥管理软件负责将请求命令写入寄存器,密钥管理软件不直接操作密钥存储单元,本申请实施例通过隔离电路拒绝来自处理器200的对于密钥存储单元的加密区间地址的读取操作。由此,能够以简单的方式防止对密钥的非法访问,提高密钥管理的安全可靠性。另外,在具有校验电路的情况下,还可以通过校验电路对写入操作进行校验,从而确保写入密钥存储单元的密钥的来源是可信的且未被篡改,进一步提高安全性能。It can be seen that during the above-mentioned write operation process, the key management software is responsible for writing the request command into the register, and the key management software does not directly operate the key storage unit. The read operation of the encryption interval address of the storage unit. In this way, unauthorized access to the key can be prevented in a simple manner, and the security and reliability of the key management can be increased. In addition, in the case of a verification circuit, the write operation can also be verified by the verification circuit, so as to ensure that the source of the key written into the key storage unit is credible and has not been tampered with, further improving security performance.

在本申请实施例中,上述处理流程可以用于各种密钥或密钥信息的写入操作,包括OTP/Efuse的第一次烧写请求、数字证书的写入请求、对称密钥的写入请求等,其中在OTP/Efuse的第一次烧写请求中,校验电路不进行校验处理。In the embodiment of this application, the above-mentioned processing flow can be used for writing operations of various keys or key information, including the first burning request of OTP/Efuse, the writing request of digital certificates, and the writing of symmetric keys. Input requests, etc., wherein in the first programming request of OTP/Efuse, the verification circuit does not perform verification processing.

图7是本申请实施例的读取操作的一个处理流程示意图。FIG. 7 is a schematic diagram of a processing flow of a read operation according to an embodiment of the present application.

如图7所示,读取操作的处理流程包括如下步骤:As shown in Figure 7, the processing flow of the read operation includes the following steps:

步骤701,分配内存,构造请求命令,该请求命令为读取请求命令,读取请求命令的数据格式如上述图4所示,读取请求命令的各个字段的具体内容和长度可根据设置而确定,在本申请实施例中,密钥管理软件可以在收到对端软件或设备的密钥读取请求消息而触发步骤701以构造读取请求命令。Step 701, allocate memory, construct a request command, the request command is a read request command, the data format of the read request command is shown in Figure 4 above, and the specific content and length of each field of the read request command can be determined according to the settings , in this embodiment of the application, the key management software may trigger step 701 to construct a read request command after receiving a key read request message from the peer software or device.

在本申请实施例中,步骤701所分配的内存包括用于构造读取请求命令本身的存储空间以及读取请求命令的内容字段所指向的内存空间,其中读取请求命令中的内容字段为所指向的内存的地址用于接收从密钥存储单元中读取出的信息。In this embodiment of the application, the memory allocated in step 701 includes the storage space used to construct the read request command itself and the memory space pointed to by the content field of the read request command, where the content field in the read request command is The address of the memory pointed to is used to receive the information read from the key storage unit.

步骤702,将构造好的命令写入到对应的寄存器,以便由处理器执行。关于步骤702中处理器的执行流程的示例性说明,可参见上述关于步骤603的说明。Step 702, write the constructed command into the corresponding register so as to be executed by the processor. For an exemplary description of the execution flow of the processor in step 702, reference may be made to the above description about step 603.

步骤703,在一定时间内,轮询状态寄存器,如可以设定定时器。Step 703, within a certain period of time, poll the status register, for example, a timer can be set.

步骤704,通过状态寄存器判断指令执行是否成功或者是否超时,在判断结果为否时,继续执行步骤703,直到指令执行成功或者超时,之后执行步骤705。Step 704, judge whether the instruction is executed successfully or whether it times out through the status register, and if the judgment result is no, continue to execute step 703 until the instruction is executed successfully or times out, and then execute step 705.

步骤705,释放分配用于构造请求命令的内存,包括构造请求命令本申请的内存空间和用于存放读取出的信息的内存空间,密钥读取请求执行结束,其中,用于存放读取出的信息的内存空间应在读取出的信息被发送给对端软件或设备之后进行释放。Step 705, release the memory allocated for constructing the request command, including the memory space for constructing the request command application and the memory space for storing the read information, and the execution of the key reading request is completed, in which, the memory space for storing the read information is completed. The memory space of the read information should be released after the read information is sent to the peer software or device.

可见,在上述读取操作过程中,密钥管理软件负责将读取请求命令写入寄存器,密钥管理软件不直接操作密钥存储单元,本申请实施例通过隔离电路可以对读取操作进行检查,从而阻止对于加密地址空间所存储的信息的访问,提高安全性能。It can be seen that during the above read operation, the key management software is responsible for writing the read request command into the register, and the key management software does not directly operate the key storage unit. The embodiment of the present application can check the read operation through the isolation circuit , thereby preventing access to information stored in the encrypted address space and improving security performance.

在本申请实施例中,上述处理流程可以用于多种密钥或密钥信息的读取操作,包括OTP/Efuse的读取请求、数字证书的读取请求等。In the embodiment of the present application, the above processing flow can be used for reading operations of various keys or key information, including OTP/Efuse read requests, digital certificate read requests, and the like.

在本申请实施例中,密钥管理软件还包括加解密功能,以加密功能为例,加密流程包括:分配内存,构造加密请求命令,内存包括加密请求命令本身的存放空间、待加密数据的存放空间,还可包括用于存放已加密数据的空间,将加密请求命令写入相应的寄存器以便处理器执行相应的加密处理指令,之后密钥软件管理软件轮询状态寄存器直到加密成功或超时,在加密成功的情况下,从存放已加密数据的空间中提取已加密数据。密钥管理软件的解密功能的处理流程类似,在此不一一介绍。In this embodiment of the application, the key management software also includes an encryption and decryption function. Taking the encryption function as an example, the encryption process includes: allocating memory, constructing an encryption request command, the memory includes the storage space for the encryption request command itself, and the storage of the data to be encrypted The space can also include the space for storing encrypted data, and the encryption request command is written into the corresponding register so that the processor can execute the corresponding encryption processing instruction, and then the key software management software polls the status register until the encryption succeeds or times out. If the encryption is successful, the encrypted data is extracted from the space where the encrypted data is stored. The processing flow of the decryption function of the key management software is similar and will not be introduced here.

可见,在上述加解密操作过程中,密钥管理软件负责将加密请求命令或解密请求命令写入寄存器,本申请实施例通过硬件的加解密电路从密钥存储单元中读取密钥以进行加密或解密,密钥管理软件在加密或解密处理流程中不直接操作密钥存储单元,也就是说,密钥存储单元对密钥管理软件不可见,从而杜绝了在加密或解密过程中导致密钥泄露的可能性,提高安全性能。It can be seen that during the above-mentioned encryption and decryption operation process, the key management software is responsible for writing the encryption request command or decryption request command into the register, and the embodiment of the present application uses the hardware encryption and decryption circuit to read the key from the key storage unit for encryption Or decryption, the key management software does not directly operate the key storage unit during the encryption or decryption process, that is, the key storage unit is invisible to the key management software, thereby preventing the key from being damaged during the encryption or decryption process. Possibility of leakage, improve safety performance.

由上述实施例可知,密钥管理设备100通过隔离电路102拒绝来自处理器200的对于密钥存储单元的加密区间地址的读取操作。由此,能够以简单的方式防止对密钥的非法访问,提高密钥管理的安全可靠性。It can be seen from the above embodiments that the key management device 100 rejects the read operation of the encrypted interval address of the key storage unit from the processor 200 through the isolation circuit 102 . In this way, unauthorized access to the key can be prevented in a simple manner, and the security and reliability of the key management can be increased.

第二方面的实施例Embodiments of the second aspect

本申请第二方面的实施例提供一种密钥管理方法,该方法应用于密钥管理设备,该密钥管理设备包括用于存储密钥的存储单元,由于第一方面的实施例对于该密钥管理设备进行了详细的说明,其内容合并于此,在此不再赘述。The embodiment of the second aspect of the present application provides a key management method, which is applied to a key management device, and the key management device includes a storage unit for storing keys. The key management device has been described in detail, and its content is incorporated here, and will not be repeated here.

图8是本申请实施例的密钥管理方法的一个示意图。Fig. 8 is a schematic diagram of a key management method according to an embodiment of the present application.

如图8所示,在一个或多个实施例中,密钥管理方法包括:As shown in Figure 8, in one or more embodiments, the key management method includes:

步骤801,在来自处理器的操作请求为针对密钥的读取操作的情况下,隔离电路拒绝对于密钥存储单元的加密区间地址的访问;Step 801, in the case that the operation request from the processor is a read operation for the key, the isolation circuit denies access to the encryption interval address of the key storage unit;

步骤802,在操作请求为针对密钥的写入操作的情况下,隔离电路将写入操作传递给密钥存储单元。Step 802, if the operation request is a write operation for the key, the isolation circuit transmits the write operation to the key storage unit.

由上述实施例可知,通过隔离电路拒绝来自处理器的对于密钥存储单元的加密区间地址的读取操作。由此,能够以简单的方式防止对密钥的非法访问,提高密钥管理的安全可靠性。It can be known from the above embodiments that the read operation of the encryption interval address of the key storage unit from the processor is rejected through the isolation circuit. In this way, unauthorized access to the key can be prevented in a simple manner, and the security and reliability of the key management can be increased.

在一个或多个实施例中,密钥管理方法还可包括,利用密钥存储单元中的校验电路对接收到的写入操作进行校验,在校验通过的情况下,将写入操作中的密钥写入密钥存储单元。由此,通过校验电路对于写入操作进行校验,能够防止对于密钥存储单元的非法篡改,能够进一步提高密钥管理的安全可靠性。In one or more embodiments, the key management method may further include, using the verification circuit in the key storage unit to verify the received write operation, and if the verification is passed, the write operation The key in is written to the key storage unit. Therefore, by verifying the writing operation through the verification circuit, illegal tampering of the key storage unit can be prevented, and the security and reliability of key management can be further improved.

在一个或多个实施例中,密钥管理方法还可包括,与密钥存储单元连接的加解密电路利用密钥存储单元存储的密钥进行加密或解密。由此,通过加解密电路实现硬件加解密,通过硬件加解密,在进行加密或解密过程中,仅由加解密电路进行密钥的读取,也就是说,在加密或解密过程中,密钥存储单元对于外部的软/硬件模块均不可见,攻击者完全看不到密钥存储设备上的保密信息,杜绝了通过软件介入攻击的可能性,能够进一步提高安全性能。In one or more embodiments, the key management method may further include that the encryption and decryption circuit connected to the key storage unit performs encryption or decryption using the key stored in the key storage unit. Thus, the hardware encryption and decryption is realized through the encryption and decryption circuit, and through the hardware encryption and decryption, only the encryption and decryption circuit reads the key during the encryption or decryption process, that is to say, during the encryption or decryption process, the key The storage unit is invisible to external software/hardware modules, and the attacker cannot see the confidential information on the key storage device at all, which eliminates the possibility of attacking through software and can further improve security performance.

在一个或多个实施例中,步骤802包括,In one or more embodiments, step 802 includes,

步骤8021,识别所述操作请求中的操作地址是否为加密区间地址;以及Step 8021, identifying whether the operation address in the operation request is an encryption interval address; and

步骤8022,在识别结果为所述操作地址为加密区间地址的情况下,识别所述操作请求为读取操作还是写入操作,在识别结果为写入操作的情况下将写入操作传递给密钥存储单元,在识别结果为读取操作的情况下不将读取操作传递给密钥存储单元。Step 8022, if the identification result is that the operation address is an encryption interval address, identify whether the operation request is a read operation or a write operation, and if the identification result is a write operation, pass the write operation to the encryption The key storage unit does not pass the read operation to the key storage unit if the identification result is a read operation.

在一个或多个实施例中,步骤802还包括,In one or more embodiments, step 802 also includes,

在步骤8021识别出操作地址为非加密区间地址的情况下,或者,在步骤8022的识别结果为读取操作的情况下,密钥管理设备向处理器返回失败应答消息。If it is identified in step 8021 that the operation address is an unencrypted range address, or in the case that the identification result in step 8022 is a read operation, the key management device returns a failure response message to the processor.

在一个或多个实施例中,步骤802还包括,In one or more embodiments, step 802 also includes,

采集总线的操作请求,并将所采集的操作请求输入步骤8021。Collect the operation request of the bus, and input the collected operation request into step 8021 .

在一个或多个实施例中,密钥管理方法还包括,处理器为写入操作或读取操作分配内存,在校验电路的校验结果为校验失败或者隔离电路拒绝读取操作或者内存的分配时间超过预定时间的情况下,处理器释放内存。In one or more embodiments, the key management method further includes that the processor allocates memory for the write operation or the read operation, and the verification result of the verification circuit is that the verification fails or the isolation circuit rejects the read operation or the memory The processor frees the memory if the allocated time exceeds the predetermined time.

第三方面的实施例Embodiments of the third aspect

本申请第三方面的实施例提供一种芯片,该芯片包括第一方面的实施例所述的密钥管理设备,由于第一方面的实施例对于该密钥管理设备进行了详细的说明,其内容合并于此,在此不再赘述。The embodiment of the third aspect of the present application provides a chip, which includes the key management device described in the embodiment of the first aspect. Since the embodiment of the first aspect has described the key management device in detail, it The content is incorporated here, and will not be repeated here.

在本申请实施例中,芯片也可称为集成电路(integrated circuit)、微电路(microcircuit)、微芯片(microchip),该芯片可用于各种场景或实现各种用途,例如用于加密流媒体的接收处理的芯片、用于图形处理的芯片(例如,图形处理芯片等),但本申请对此不作限制,可以为存在保密需求的任意芯片,由此,通过使该芯片包括本申请实施例的密钥管理设备,能够实现安全可靠的密钥管理,确保芯片的安全性。In this embodiment of the application, a chip can also be called an integrated circuit (integrated circuit), a microcircuit (microcircuit), or a microchip (microchip), which can be used in various scenarios or achieve various purposes, for example, for encrypted streaming media The chip for receiving and processing, the chip for graphics processing (for example, graphics processing chip, etc.), but this application is not limited to this, and it can be any chip that has confidentiality requirements. Therefore, by making the chip include this application embodiment The advanced key management equipment can realize safe and reliable key management and ensure the security of the chip.

第四方面的实施例Embodiments of the fourth aspect

本申请第四方面的实施例提供一种电子设备,该电子设备包括第一方面的实施例所述的密钥管理设备,由于第一方面的实施例对于该密钥管理设备进行了详细的说明,其内容合并于此,在此不再赘述。The embodiment of the fourth aspect of the present application provides an electronic device, the electronic device includes the key management device described in the embodiment of the first aspect, since the embodiment of the first aspect has described the key management device in detail , whose contents are incorporated here and will not be repeated here.

在本申请实施例中,电子设备可以为用于各种场景或实现各种用于的电子设备,例如,电子设备可以为计算机,但本申请对此不作限制,可以为存在保密需求的任意电子设备。由此,通过使该电子设备包括本申请实施例的密钥管理设备,能够实现安全可靠的密钥管理,确保电子设备的安全性。 在一个或多个实施例中,电子设备可以包括芯片,关于该芯片可见第三方面的实施例的描述。In the embodiment of the present application, the electronic device can be used in various scenarios or realize various uses. For example, the electronic device can be a computer, but this application does not limit this, and it can be any electronic device that requires confidentiality. equipment. Therefore, by making the electronic device include the key management device of the embodiment of the present application, safe and reliable key management can be realized and the security of the electronic device can be ensured. In one or more embodiments, the electronic device may include a chip, and the description of the embodiments of the third aspect may be found for the chip.

虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。Although the present application provides the operation steps of the method described in the embodiments or flowcharts, more or less operation steps may be included based on routine or non-inventive efforts. The sequence of steps enumerated in the embodiments is only one of the execution sequences of many steps, and does not represent the only execution sequence. When executed by an actual device or client product, the methods shown in the embodiments or drawings may be executed sequentially or in parallel (for example, in a parallel processor or multi-thread processing environment).

本领域内的技术人员应明白,本申请的实施例可提供为方法、装置(系统)、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动磁盘、CD-ROM或者本领域已知的任何其它形式的存储介质)上实施的计算机程序产品的形式。Those skilled in the art should understand that the embodiments of the present application may be provided as methods, devices (systems), or computer program products. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present application may adopt one or more computer-usable storage media (including but not limited to RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, register, hard disk, removable disk, CD) containing computer-usable program code therein. - ROM or any other form of storage medium known in the art) in the form of a computer program product.

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或晶体管逻辑器件、分立硬件组件、或者其任意适当组合以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。The present application is described with reference to flowcharts and/or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present application. It should be understood that each procedure and/or block in the flowchart and/or block diagram, and a combination of procedures and/or blocks in the flowchart and/or block diagram can be realized by computer program instructions. These computer program instructions may be provided to a general-purpose processor, digital signal processor (DSP), application-specific integrated circuit (ASIC), field-programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware Components, or any appropriate combination thereof to produce a machine, so that instructions executed by a processor of a computer or other programmable data processing device generate a process or multiple processes and/or a block or multiple blocks in the flowchart for realizing devices with the functions specified in the boxes.

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing apparatus to operate in a specific manner, such that the instructions stored in the computer-readable memory produce an article of manufacture comprising instruction means, the instructions The device realizes the function specified in one or more procedures of the flowchart and/or one or more blocks of the block diagram.

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。These computer program instructions can also be loaded onto a computer or other programmable data processing device, causing a series of operational steps to be performed on the computer or other programmable device to produce a computer-implemented process, thereby The instructions provide steps for implementing the functions specified in the flow chart or blocks of the flowchart and/or the block or blocks of the block diagrams.

以上所述的具体实施例,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施例而已,并不用于限定本申请的保护范围,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。The specific embodiments described above have further described the purpose, technical solutions and beneficial effects of the application in detail. It should be understood that the above descriptions are only specific embodiments of the application and are not intended to limit the scope of the application. Scope of protection: All modifications, equivalent replacements, improvements, etc. made within the spirit and principles of this application shall be included within the scope of protection of this application.

Claims (16)

1.一种密钥管理设备,其特征在于,所述密钥管理设备包括:1. A key management device, characterized in that the key management device comprises: 密钥存储单元,用于存储密钥;a key storage unit for storing keys; 隔离电路,用于接收来自处理器的操作请求:Isolation circuit for receiving operation requests from the processor: 在所述操作请求为针对密钥的读取操作的情况下,所述隔离电路拒绝对于密钥存储单元的加密区间地址的访问;In the case that the operation request is a read operation for the key, the isolation circuit denies access to the encryption interval address of the key storage unit; 在所述操作请求为针对密钥的写入操作的情况下,所述隔离电路将所述写入操作传递给所述密钥存储单元。If the operation request is a write operation for a key, the isolation circuit transfers the write operation to the key storage unit. 2.根据权利要求1所述的密钥管理设备,其特征在于,2. The key management device of claim 1, wherein: 所述密钥存储单元包括校验电路,所述校验电路对接收到的所述写入操作进行校验,在校验通过的情况下,将所述写入操作中的密钥写入所述密钥存储单元。The key storage unit includes a verification circuit, and the verification circuit verifies the received write operation, and if the verification is passed, writes the key in the write operation into the the key storage unit. 3.根据权利要求1或2所述的密钥管理设备,其特征在于,3. The key management device according to claim 1 or 2, characterized in that, 所述密钥管理设备还包括加解密电路,其连接所述密钥存储单元并利用所述密钥存储单元存储的所述密钥进行加密或解密。The key management device further includes an encryption and decryption circuit, which is connected to the key storage unit and uses the key stored in the key storage unit to perform encryption or decryption. 4.根据权利要求1所述的密钥管理设备,其特征在于,4. The key management device of claim 1, wherein: 所述隔离电路包括:The isolation circuit includes: 安全识别模块,所述安全识别模块识别所述操作请求中的操作地址是否为加密区间地址;以及A security identification module, the security identification module identifies whether the operation address in the operation request is an encryption interval address; and 请求识别模块,在所述安全识别模块识别出所述操作地址为加密区间地址的情况下,所述请求识别模块识别所述操作请求为读取操作还是写入操作,在识别结果为写入操作的情况下将写入操作传递给所述密钥存储单元,在识别结果为读取操作的情况下不将读取操作传递给所述密钥存储单元。A request identification module, when the security identification module identifies that the operation address is an encryption interval address, the request identification module identifies whether the operation request is a read operation or a write operation, and if the identification result is a write operation If the identification result is a read operation, the read operation is not passed to the key storage unit. 5.根据权利要求4所述的密钥管理设备,其特征在于,5. The key management device of claim 4, wherein: 所述隔离电路还包括过滤模块,在所述安全识别模块识别出所述操作地址为非加密区间地址的情况下,所述过滤模块接收所述操作请求,在所述请求识别模块的识别结果为读取操作的情况下,所述过滤模块接收所述请求识别模块识别出的读取操作。The isolation circuit also includes a filtering module. When the security identification module recognizes that the operation address is an address in an unencrypted range, the filtering module receives the operation request, and the identification result of the request identification module is In the case of a read operation, the filter module receives the read operation identified by the request identification module. 6.根据权利要求5所述的密钥管理设备,其特征在于,6. The key management device of claim 5, wherein: 所述过滤模块返回失败应答消息。The filtering module returns a failure response message. 7.根据权利要求4至6中任意一项所述的密钥管理设备,其特征在于,7. The key management device according to any one of claims 4 to 6, characterized in that, 所述隔离电路还包括采集模块,其采集总线的操作请求,并将所采集的操作请求输入所述安全识别模块。The isolation circuit also includes a collection module, which collects operation requests of the bus, and inputs the collected operation requests into the security identification module. 8.根据权利要求2所述的密钥管理设备,其特征在于,8. The key management device of claim 2, wherein: 所述密钥存储单元包括静态随机存取寄存器和一次性存储单元,所述静态随机存取寄存器存储对称加密算法密钥和证书,所述一次性存储单元存储非对称加密算法公钥。The key storage unit includes a static random access register and a one-time storage unit, the static random access register stores a symmetric encryption algorithm key and a certificate, and the one-time storage unit stores an asymmetric encryption algorithm public key. 9.根据权利要求8所述的密钥管理设备,其特征在于,9. The key management device of claim 8, wherein: 所述校验电路在所述一次性存储单元进行首次写入操作的情况下不进行所述校验。The verification circuit does not perform the verification when the one-time memory unit is performing a write operation for the first time. 10.根据权利要求8所述的密钥管理设备,其特征在于,10. The key management device of claim 8, wherein: 所述对称加密算法密钥和/或所述证书进行周期性更新。The symmetric encryption algorithm key and/or the certificate are updated periodically. 11.根据权利要求2所述的密钥管理设备,其特征在于,11. The key management device of claim 2, wherein: 所述校验电路在接收到写入操作的情况下,触发加解密电路对写入操作中的签名进行校验,在所述签名校验通过的情况下,将所述写入操作中的与签名对应的密钥写入所述密钥存储单元。When the verification circuit receives the write operation, it triggers the encryption and decryption circuit to verify the signature in the write operation, and if the signature verification passes, the AND in the write operation The key corresponding to the signature is written into the key storage unit. 12.根据权利要求2所述的密钥管理设备,其特征在于,12. The key management device of claim 2, wherein: 所述处理器为所述写入操作或所述读取操作分配内存,在所述校验电路的校验结果为校验失败或者所述隔离电路拒绝所述读取操作或者所述内存的分配时间超过预定时间的情况下,所述处理器释放所述内存。The processor allocates memory for the write operation or the read operation, and the verification result of the verification circuit is verification failure or the isolation circuit rejects the read operation or the allocation of the memory When the time exceeds a predetermined time, the processor releases the memory. 13.根据权利要求3所述的密钥管理设备,其特征在于,所述密钥管理设备还包括:13. The key management device according to claim 3, further comprising: 内存单元,其用于暂时存放所述处理器的处理数据;a memory unit for temporarily storing data processed by the processor; 直接存储器访问单元,其用于在内存单元的不同区域之间或者内存单元和加解密电路之间进行数据传输;以及a direct memory access unit for data transfer between different areas of the memory unit or between the memory unit and the encryption and decryption circuit; and 总线,所述处理器、所述加解密电路、所述内存单元和所述直接存储器访问单元挂接于所述总线。A bus, the processor, the encryption and decryption circuit, the memory unit and the direct memory access unit are connected to the bus. 14.一种密钥管理方法,其特征在于,所述方法应用于密钥管理设备,所述密钥管理设备包括用于存储密钥的存储单元,所述方法包括:14. A key management method, characterized in that the method is applied to a key management device, and the key management device includes a storage unit for storing keys, and the method comprises: 在来自处理器的操作请求为针对密钥的读取操作的情况下,隔离电路拒绝对于密钥存储单元的加密区间地址的访问;In the case that the operation request from the processor is a read operation for the key, the isolation circuit denies access to the encryption interval address of the key storage unit; 在所述操作请求为针对密钥的写入操作的情况下,所述隔离电路将所述写入操作传递给所述密钥存储单元。If the operation request is a write operation for a key, the isolation circuit transfers the write operation to the key storage unit. 15.一种芯片,其特征在于,所述芯片包括权利要求1至13中任意一项所述的密钥管理设备。15. A chip, characterized in that the chip comprises the key management device according to any one of claims 1-13. 16.一种电子设备,其特征在于,所述电子设备包括权利要求1至13中任意一项所述的密钥管理设备。16. An electronic device, characterized in that the electronic device comprises the key management device according to any one of claims 1-13.
CN202211331430.2A 2022-10-28 2022-10-28 Key management device and method Active CN115391845B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211331430.2A CN115391845B (en) 2022-10-28 2022-10-28 Key management device and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211331430.2A CN115391845B (en) 2022-10-28 2022-10-28 Key management device and method

Publications (2)

Publication Number Publication Date
CN115391845A CN115391845A (en) 2022-11-25
CN115391845B true CN115391845B (en) 2023-01-06

Family

ID=84115181

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211331430.2A Active CN115391845B (en) 2022-10-28 2022-10-28 Key management device and method

Country Status (1)

Country Link
CN (1) CN115391845B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116011041B (en) * 2022-12-07 2024-06-18 成都海光集成电路设计有限公司 Key management method, data protection method, system, chip and computer equipment
CN117492932B (en) * 2023-12-28 2024-04-09 北京微核芯科技有限公司 Virtual machine access method and device

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101354737A (en) * 2008-08-26 2009-01-28 北京中星微电子有限公司 Method and apparatus for reading CPU machine code and SOC chip
CN108139984A (en) * 2015-10-06 2018-06-08 美光科技公司 security subsystem
CN109154972A (en) * 2016-05-24 2019-01-04 微软技术许可有限责任公司 The piracy and cheating on electronic equipment are prevented using hardware based security isolation region
CN113821835A (en) * 2021-11-24 2021-12-21 飞腾信息技术有限公司 Key management method, key management device and computing equipment
CN114172650A (en) * 2022-02-14 2022-03-11 北京安盟信息技术股份有限公司 Multi-user key security isolation method and system in cloud computing environment
CN114528603A (en) * 2022-04-24 2022-05-24 广州万协通信息技术有限公司 Isolation dynamic protection method, device, equipment and storage medium of embedded system
CN115186309A (en) * 2022-07-06 2022-10-14 北京神州安付科技股份有限公司 Data information security protection method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070180271A1 (en) * 2006-02-02 2007-08-02 Ibm Corporation Apparatus and method for providing key security in a secure processor
US10079677B2 (en) * 2015-06-05 2018-09-18 Apple Inc. Secure circuit for encryption key generation
US20170277898A1 (en) * 2016-03-25 2017-09-28 Advanced Micro Devices, Inc. Key management for secure memory address spaces

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101354737A (en) * 2008-08-26 2009-01-28 北京中星微电子有限公司 Method and apparatus for reading CPU machine code and SOC chip
CN108139984A (en) * 2015-10-06 2018-06-08 美光科技公司 security subsystem
CN109154972A (en) * 2016-05-24 2019-01-04 微软技术许可有限责任公司 The piracy and cheating on electronic equipment are prevented using hardware based security isolation region
CN113821835A (en) * 2021-11-24 2021-12-21 飞腾信息技术有限公司 Key management method, key management device and computing equipment
CN114172650A (en) * 2022-02-14 2022-03-11 北京安盟信息技术股份有限公司 Multi-user key security isolation method and system in cloud computing environment
CN114528603A (en) * 2022-04-24 2022-05-24 广州万协通信息技术有限公司 Isolation dynamic protection method, device, equipment and storage medium of embedded system
CN115186309A (en) * 2022-07-06 2022-10-14 北京神州安付科技股份有限公司 Data information security protection method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种加密硬盘的身份鉴别和密钥保护方案;谷双双等;《密码学报》;20160415(第02期);全文 *

Also Published As

Publication number Publication date
CN115391845A (en) 2022-11-25

Similar Documents

Publication Publication Date Title
EP3314808B1 (en) Binding a trusted input session to a trusted output session
US8484486B2 (en) Integrated cryptographic security module for a network node
US8909932B2 (en) Method and apparatus for security over multiple interfaces
CN115391845B (en) Key management device and method
CN101800738B (en) System and method for implementing secure access and storage of intranet data by mobile devices
CN105260663A (en) Secure storage service system and method based on TrustZone technology
Nguyen et al. Cloud-based secure logger for medical devices
CN105745661A (en) Policy-based trusted inspection of rights managed content
CN101819612A (en) Versatile content control with partitioning
CN102508792B (en) Method for realizing secure access of data in hard disk
CN112968774B (en) Method, device storage medium and equipment for encrypting and decrypting configuration file
CN107196932A (en) Managing and control system in a kind of document sets based on virtualization
CN111046405B (en) Data processing method, device, equipment and storage medium
CN114385987A (en) Dynamic multi-factor identity authentication and certification method and storage medium
KR20140140717A (en) Apparatus and method for providing security in remote digital forensics
CN116886356B (en) Chip-level transparent file encryption storage system, method and equipment
CN119892522B (en) Negative control terminal program trusted loading method and electronic device
CN118484793A (en) Identity security authentication method for energy storage equipment
Focardi et al. A formally verified configuration for hardware security modules in the cloud
CN118468310A (en) A computer information theft prevention method and system
CN117892337A (en) A method and device for automatically processing solid state hard disk data based on password
CN118018297A (en) Security gateway protection device, method, equipment and medium based on generation countermeasure network
CN116527365A (en) System and method for realizing air traffic control heterogeneous data sharing
CN116305330A (en) Safety management method for CPU hardware
CN108984114A (en) Data processing method and solid state hard disk

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
CP03 Change of name, title or address

Address after: B655, 4th Floor, Building 14, Cuiwei Zhongli, Haidian District, Beijing, 100036

Patentee after: Mole Thread Intelligent Technology (Beijing) Co.,Ltd.

Country or region after: China

Address before: 209, 2nd Floor, No. 31 Haidian Street, Haidian District, Beijing

Patentee before: Moore Threads Technology Co., Ltd.

Country or region before: China

CP03 Change of name, title or address
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载