CN117544319A - 一种身份认证方法、处理器和相关设备 - Google Patents

一种身份认证方法、处理器和相关设备 Download PDF

Info

Publication number
CN117544319A
CN117544319A CN202311649582.1A CN202311649582A CN117544319A CN 117544319 A CN117544319 A CN 117544319A CN 202311649582 A CN202311649582 A CN 202311649582A CN 117544319 A CN117544319 A CN 117544319A
Authority
CN
China
Prior art keywords
key
domain
isolation domain
isolation
derivative
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311649582.1A
Other languages
English (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.)
Phytium Technology Co Ltd
Original Assignee
Phytium 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 Phytium Technology Co Ltd filed Critical Phytium Technology Co Ltd
Priority to CN202311649582.1A priority Critical patent/CN117544319A/zh
Publication of CN117544319A publication Critical patent/CN117544319A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本申请公开了一种身份认证方法、处理器和相关设备,其中身份认证方法应用于处理器,处理器搭载有至少一种执行环境,执行环境包括多个隔离域,该身份认证方法包括:基于本层隔离域的私钥和待签名的数据生成数字签名,将数字签名和本层隔离域的身份标识添加到密钥派生请求中;本层隔离域的公钥与本层隔离域的身份标识绑定并存储在多个隔离域的共享空间中,将密钥派生请求发送至下层隔离域,以使下层隔离域基于本层隔离域的身份标识从共享空间中获取本层隔离域的公钥,并基于本层隔离域的公钥对数字签名进行验证,若验证通过,则响应密钥派生请求,以避免派生密钥被攻击者获得,进而可以提高设备的安全性。

Description

一种身份认证方法、处理器和相关设备
技术领域
本申请涉及处理器技术领域,具体涉及一种身份认证方法、处理器和相关设备。
背景技术
密钥派生技术是指从一个基础密钥或根密钥产生出一个或者多个派生密钥的技术。在密钥派生的过程中,密钥申请者会向密钥派生者发送包括派生算法的密钥派生请求,密钥派生者响应密钥派生请求,基于派生算法生成派生密钥,并将派生密钥返回给密钥申请者。虽然在密钥派生的过程中,会基于密钥申请者提供的密钥对派生算法和派生密钥进行加密,但是,在攻击者假冒密钥申请者的情况下,密钥由攻击者提供,因而无法保证派生密钥不被攻击者获得。
发明内容
本申请公开一种身份认证方法、处理器和相关设备,以对密钥申请者进行身份认证,避免派生密钥被攻击者获得。
第一方面,本申请公开了一种身份认证方法,应用于处理器,所述处理器搭载有至少一种执行环境,所述执行环境包括多个隔离域,所述身份认证方法包括:基于所述本层隔离域的私钥和待签名的数据生成数字签名;将所述数字签名和所述本层隔离域的身份标识添加到密钥派生请求中;所述本层隔离域的公钥与所述本层隔离域的身份标识绑定并存储在所述多个隔离域的共享空间中;将所述密钥派生请求发送至下层隔离域,以使所述下层隔离域基于所述本层隔离域的身份标识从所述共享空间中获取所述本层隔离域的公钥,并基于所述本层隔离域的公钥对所述数字签名进行验证,若验证通过,则响应所述密钥派生请求。
在一些可选示例中,所述本层隔离域为申请者隔离域,所述将所述数字签名和所述本层隔离域的身份标识添加到密钥派生请求中包括:向派生根隔离域发送信息获取请求,获取所述派生根隔离域的公钥;所述派生根隔离域为生成派生密钥的隔离域;基于会话密钥,对生成所述派生密钥所需的算法信息进行加密生成算法信息密文;所述会话密钥包括所述申请者隔离域随机生成的密钥;基于所述派生根隔离域的公钥,对所述会话密钥进行加密生成会话密钥密文;将所述申请者隔离域的数字签名、所述申请者隔离域的身份标识、所述算法信息密文和所述会话密钥密文添加到密钥派生请求中。
在一些可选示例中,还包括:将所述本层隔离域的状态掩码添加到所述密钥派生请求中,所述本层隔离域的状态掩码用于指示下层隔离域的至少一种状态信息,以便所述下层隔离域基于所述状态信息生成派生密钥,所述状态信息包括软件状态信息和/或硬件状态信息。
第二方面,本申请公开了一种身份认证方法,应用于处理器,所述处理器搭载有至少一种执行环境,所述执行环境包括多个隔离域,所述身份认证方法包括:接收上层隔离域发送的密钥派生请求,所述密钥派生请求包括基于所述上层隔离域的私钥和待签名的数据生成的数字签名和所述上层隔离域的身份标识;基于所述上层隔离域的身份标识,从所述多个隔离域的共享空间中获取所述上层隔离域的公钥,所述上层隔离域的公钥与所述上层隔离域的身份标识绑定并存储在所述共享空间中;基于所述上层隔离域的公钥,对所述数字签名进行验证;若验证通过,则响应所述密钥派生请求。
在一些可选示例中,所述响应所述密钥派生请求之前,还包括:将本层隔离域的状态信息添加到所述密钥派生请求中,所述状态信息包括软件状态信息和/或硬件状态信息;所述响应所述密钥派生请求之后,还包括:基于所述状态信息生成派生密钥,或者,将具有所述状态信息的密钥派生请求发送至下层隔离域,以使所述下层隔离域响应所述密钥派生请求生成派生密钥。
在一些可选示例中,所述将本层隔离域的状态信息添加到所述密钥派生请求中包括:将所述本层隔离域的状态信息添加到所述密钥派生请求的路径信息中;所述基于所述状态信息生成派生密钥包括:基于具有所述状态信息的路径信息生成派生密钥。
在一些可选示例中,所述密钥派生请求包括所述上层隔离域的状态掩码,所述将本层隔离域的状态信息添加到所述密钥派生请求中之前,还包括:基于所述上层隔离域的状态掩码和所述本层隔离域的状态掩码确定所述本层隔离域的状态信息,所述上层隔离域的状态掩码和所述本层隔离域的状态掩码分别用于指示所述本层隔离域的至少一种状态信息。
在一些可选示例中,所述本层隔离域为派生根隔离域,所述密钥派生请求包括会话密钥密文和算法信息密文,所述基于所述状态信息生成派生密钥包括:基于所述派生根隔离域的私钥,对所述会话密钥密文进行解密获得会话密钥;基于所述会话密钥,对所述算法信息密文进行解密获得算法信息;基于所述状态信息和所述算法信息生成派生密钥。
在一些可选示例中,还包括:接收所述上层隔离域发送的信息获取请求;响应所述信息获取请求,将所述派生根隔离域的公钥返回给所述上层隔离域,以便申请者隔离域从所述上层隔离域获取所述派生根隔离域的公钥,基于所述派生根隔离域的公钥对所述会话密钥进行加密,所述会话密钥包括所述申请者隔离域随机生成的密钥。
在一些可选示例中,所述基于所述状态信息和所述算法信息生成派生密钥包括:基于所述状态信息、所述算法信息和所述派生根隔离域的身份标识生成派生密钥。
在一些可选示例中,所述基于所述状态信息生成派生密钥之后,还包括:基于所述会话密钥,生成所述派生密钥的验证码;利用所述会话密钥,对所述派生密钥和所述验证码进行加密获得派生密钥密文,并将所述派生密钥密文返回给所述上层隔离域,以便申请者隔离域从所述上层隔离域获取所述派生密钥密文。
在一些可选示例中,所述将具有所述状态信息的密钥派生请求发送至下层隔离域之前,还包括:基于所述本层隔离域的私钥和待签名的数据,重新生成数字签名;将所述本层隔离域的身份标识和重新生成的数字签名添加到所述密钥派生请求中。
在一些可选示例中,所述将具有所述状态信息的密钥派生请求发送至下层隔离域之前,还包括:将所述本层隔离域的状态掩码添加到所述密钥派生请求中。
第三方面,本申请公开了一种处理器,被配置为执行如上任一项所述的身份认证方法。
第四方面,本申请公开了一种计算机设备,包括:存储器,用于存储指令;处理器,用于根据所述存储器中存储的指令,执行如上任一项所述的身份认证方法。
第五方面,本申请公开了一种计算机可读存储介质,其上存储有用于执行如上任一项所述的身份认证方法的指令。
本申请公开的身份认证方法、处理器和相关设备,在攻击者假冒密钥申请者的情况下,攻击者无法获得本层隔离域的私钥,或者,攻击者的提供的私钥无法与下层隔离域基于本层隔离域的身份标识从共享空间中获取本层隔离域的公钥匹配,导致数字签名无法通过验证,从而不能生成派生密钥,进而可以避免派生密钥被攻击者获得,进而可以提高设备的安全性。
附图说明
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
图1为本申请实施例公开的一种身份认证方法的流程图。
图2为本申请实施例公开的另一种身份认证方法的流程图。
图3为本申请实施例公开的另一种身份认证方法的流程图。
图4为本申请实施例公开的另一种身份认证方法的流程图。
图5为本申请实施例公开的另一种身份认证方法的流程图。
图6为本申请实施例公开的另一种身份认证方法的流程图。
图7为本申请实施例公开的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
随着安全需求的增加,越来越多的安全技术逐步应用到各种计算机设备中。以硬件唯一密钥(Hand ware Unique Key,HUK)为基础密钥生成派生密钥,不仅可以使得派生密钥与HUK所在的设备绑定,使得派生密钥离开HUK所在的设备无法被解密,进一步提升了数据的安全性,而且可以基于一个HUK和多种不同的派生算法生成多种不同的派生密钥,进而满足多种应用场景的密钥需求,因而以HUK为基础密钥生成派生密钥的方式,得到了诸多的认可和使用。
在密钥派生的过程中,密钥申请者会向密钥派生者发送包括派生算法的密钥派生请求,该派生算法可以以芯片标识和关键字符串作为算法参数,密钥派生者响应密钥派生请求,基于派生算法和基础密钥如HUK生成派生密钥,并将派生密钥返回给密钥申请者。虽然在密钥派生的过程中,会基于密钥申请者提供的密钥对派生算法和派生密钥进行加密,但是,在攻击者假冒密钥申请者的情况下,密钥由攻击者提供,因而无法保证派生密钥不被攻击者获得。
基于此,本申请公开了一种身份认证方案,密钥申请者基于私钥和待签名的数据生成数字签名,并将数字签名及其身份标识添加到密钥派生请求中,以便密钥派生者等接收到密钥派生请求后,基于身份标识从共享空间中获取公钥,并基于公钥对数字签名进行验证,以对密钥申请者进行身份验证。
作为本申请公开内容的一种可选实现,本申请实施例公开了一种身份认证方法,应用于处理器,处理器搭载有至少一种执行环境,该执行环境包括多个隔离域。
需要说明的是,处理器可以搭载有一个执行环境,例如可信执行环境(TrustedExecution Environment,TEE),也可以搭载有多个执行环境,例如可信执行环境、普通执行环境(Rich Execution Environment,REE)和系统控制处理器核(System ControlProcessor,SCP)执行环境等。
而每个执行环境又可以进一步划分为内核态、用户态、服务、进程、线程等要素,这些要素可以统称为隔离域(partition)。也就是说,每个执行环境又可以进一步划分为内核态、用户态隔离域、服务隔离域、进程隔离域、线程隔离域等。每个隔离域都有确定的逻辑边界,或者说,隔离域之间都有隔离机制,隔离域之间只能通过已定义好的接口交互。
而每个隔离域都会有密钥派生的需求,例如,SCP中设备证明服务、TEE中安全存储服务、可信应用(TEE Application,TA)层面的密钥仓库服务等都会有密钥派生的需求,REE侧客户端应用(Client Application,CA)也会使用REE侧TA提供的密码派生服务,因而,需要保证每个隔离域的密钥派生的安全性。
如图1所示,本申请实施例公开的一种身份认证方法,包括:
S101:基于本层隔离域的私钥和待签名的数据生成数字签名;
本申请一些实施例中,基础密钥如HUK存储在可信执行环境的可信隔离域中,该可信隔离域以下称为派生根隔离域,也就是说,派生根隔离域为生成派生密钥的隔离域。其他的隔离域有密钥派生需求时,可以向该派生根隔离域发送密钥派生请求,该派生根隔离域可以响应密钥派生请求,基于基础密钥如HUK生成相应的派生密钥,并将生成的派生密钥反馈给有密钥派生需求的隔离域,该有密钥派生需求的隔离域以下称为申请者隔离域。其中,密钥申请者可以位于申请者隔离域中,密钥派生者可以位于派生根隔离域中。
可以理解的是,在申请者隔离域向派生根隔离域发送密钥派生请求之前,申请者隔离域为本层隔离域,接收密钥派生请求的隔离域为本层隔离域的下层隔离域。需要说明的是,该下层隔离域可以是派生根隔离域,也可以是申请者隔离域与派生根隔离域之间的中间隔离域,该中间隔离域在申请者隔离域与派生根隔离域之间的通信路径上,用于转发申请者隔离域与派生根隔离域之间的请求或数据等。
本申请一些实施例中,在各个隔离域建立之时,各个隔离域都会通过非对称密码技术生成自身的非对称密钥,该非对称密钥包括公钥和私钥。其中,利用任一隔离域的公钥进行加密后,可以利用该隔离域的私钥进行解密,利用任一隔离域的私钥和待签名的数据生成数字签名后,可以利用该隔离域的公钥对数字签名进行验证。可以理解的是,公钥和私钥是隔离域自主产生的,因而无需额外的密钥存储机制以及证书等基础设施,并且,私钥无法被第三方如攻击者获知,因此,可以保证身份认证的安全性。
S102:将数字签名和本层隔离域的身份标识添加到密钥派生请求中;本层隔离域的公钥与本层隔离域的身份标识绑定并存储在多个隔离域的共享空间中;
本申请一些实施例中,本层隔离域为申请者隔离域,申请者隔离域向派生根隔离域发送密钥派生请求之前,会基于申请者隔离域的私钥和待签名的数据生成数字签名,并将申请者隔离域的数字签名和身份标识添加到密钥派生请求中。其中,该待签名的数据可以是密钥派生请求需要携带的算法信息等。
当然,本申请并不仅限于此,在另一些实施例中,为了保证密钥派生的安全性,会对申请者隔离域与派生根隔离域通信路径上的各层隔离域进行身份验证,以保证攻击者不能在同一路径上假冒身份。
也就是说,本层隔离域可以是申请者隔离域,也可以是中间隔离域。申请者隔离域或中间隔离域向下层隔离域发送密钥派生请求之前,都会基于本层隔离域的私钥和待签名的数据生成数字签名,并将本层隔离域的数字签名和本层隔离域的身份标识添加到密钥派生请求中。基于此,无论申请者隔离域到派生根隔离域之间具有哪些隔离域,第三方即攻击者均无法破坏信息的机密性,也就无法假冒派生根隔离域生成派生密钥。
S103:将密钥派生请求发送至下层隔离域,以使下层隔离域基于本层隔离域的身份标识从共享空间中获取本层隔离域的公钥,并基于本层隔离域的公钥对数字签名进行验证,若验证通过,则响应密钥派生请求。
本申请一些实施例中,如图2所示,申请者隔离域向派生根隔离域发送密钥派生请求之前,会基于申请者隔离域的私钥和待签名的数据生成数字签名,并将申请者隔离域的数字签名和身份标识添加到密钥派生请求中。派生根隔离域接收到密钥派生请求之后,会基于申请者隔离域的身份标识,从多个隔离域的共享空间中获取申请者隔离域的公钥,其中,申请者隔离域的公钥与申请者隔离域的身份标识绑定并存储在多个隔离域的共享空间中,然后基于申请者隔离域的公钥,对申请者隔离域的数字签名进行验证,若验证通过,则申请者隔离域的身份认证通过,派生根隔离域响应密钥派生请求,若验证不通过,则申请者隔离域的身份认证失败,派生根隔离域不响应密钥派生请求。
当然,本申请并不仅限于此,在另一些实施例中,如图3所示,申请者隔离域向派生根隔离域发送密钥派生请求之前,会基于申请者隔离域的私钥和待签名的数据生成数字签名,并将申请者隔离域的数字签名和身份标识添加到密钥派生请求中。中间隔离域接收到密钥派生请求之后,会基于申请者隔离域的身份标识,从多个隔离域的共享空间中获取申请者隔离域的公钥,然后基于申请者隔离域的公钥,对申请者隔离域的数字签名进行验证,若验证不通过,则申请者隔离域的身份认证失败,中间隔离域不转发密钥派生请求,若验证通过,则申请者隔离域的身份认证通过,中间隔离域基于中间隔离域的私钥和待签名的数据重新生成数字签名,将中间隔离域的数字签名和身份标识添加到密钥派生请求中,并将密钥派生请求发送至派生根隔离域。派生根隔离域接收到密钥派生请求之后,会基于中间隔离域的身份标识,从多个隔离域的共享空间中获取中间隔离域的公钥,其中,中间隔离域的公钥与中间隔离域的身份标识绑定并存储在多个隔离域的共享空间中,然后基于中间隔离域的公钥,对中间隔离域的数字签名进行验证,若验证通过,则中间隔离域的身份认证通过,派生根隔离域响应密钥派生请求,若验证不通过,则中间隔离域的身份认证失败,派生根隔离域不响应密钥派生请求。
需要说明的是,本申请一些实施例中,在各个隔离域生成自身的非对称密钥之后,都会将公钥与身份标识绑定并存储在共享空间中,但是,本申请并不仅限于此,在另一些实施例中,可以在初始阶段将各个中间隔离域的公钥与其身份标识绑定并存储在共享空间中,在密钥派生阶段,申请者隔离域再将其公钥与其身份标识绑定并存储在共享空间中。在申请者隔离域获得派生根隔离域反馈的派生密钥之后,申请者隔离域可以从共享空间中清除其公钥与身份标识。
在攻击者假冒密钥申请者的情况下,攻击者无法获得本层隔离域的私钥,或者,攻击者的提供的私钥无法与下层隔离域基于本层隔离域的身份标识从共享空间中获取本层隔离域的公钥匹配,导致数字签名无法通过验证,从而不能生成派生密钥,进而可以避免派生密钥被攻击者获得,进而可以提高设备的安全性。
本申请一些实施例中,本层隔离域为申请者隔离域,在申请者隔离域向派生根隔离域发送密钥派生请求之前,申请者隔离域会将其指定的生成派生密钥所需的算法信息添加到密钥派生请求中,而为了保证算法信息的安全性,申请者隔离域会基于对称加密技术对算法信息进行加密。具体地,申请者隔离域会生成会话密钥,并基于会话密钥对算法信息进行加密生成算法信息密文。其中,会话密钥包括申请者隔离域随机生成的密钥。在一些实施例中,算法信息密文还包括开始加密时的时间戳,以便根据时间戳确定是否长时间未响应加密服务,若是,则认定加密服务失败。
并且,为了保证派生根隔离域能够对算法信息密文进行解密获得算法信息,申请者隔离域会基于密钥派生者所在下层隔离域即派生根隔离域的公钥对会话密钥进行加密生成会话密钥密文,将会话密钥密文和算法信息密文与其数字签名和身份标识添加到密钥派生请求中,并将密钥派生请求发送至派生根隔离域。
在一些实施例中,申请者隔离域向派生根隔离域发送密钥派生请求之前,申请者隔离域还会向派生根隔离域发送信息获取请求,以获取派生根隔离域的公钥。基于此,派生根隔离域在接收到密钥派生请求之后,可以基于其自己的私钥,对会话密钥密文进行解密获得会话密钥,基于会话密钥对算法信息密文进行解密获得算法信息,并基于状态信息和算法信息生成派生密钥。
在一些实施例中,派生根隔离域还会将基于其私钥和待签名的数据生成的数字签名返回至申请者隔离域,申请隔离域可以基于派生根隔离域的数字签名对接收到的派生根隔离域的公钥进行验证。该待签名的数据是派生根隔离域的公钥。
在一些实施例中,申请者隔离域接收到派生根隔离域返回的公钥时,还会得到申请者隔离域与派生根隔离域之间的路径信息。申请者隔离域会保存首次获得的路径信息,并在每次获得路径信息之后,将其与首次获得的路径信息进行对比,若二者一致,则申请者隔离域向派生根隔离域发送密钥派生请求,若二者不一致,则申请者隔离域不再向派生根隔离域发送密钥派生请求。
本申请一些实施例中,本层隔离域还会将本层隔离域的状态掩码添加到密钥派生请求中,本层隔离域的状态掩码用于指示下层隔离域的至少一种状态信息,以便下层隔离域基于状态信息生成派生密钥,状态信息包括软件状态信息和/或硬件状态信息。该本层隔离域可以是申请者隔离域,也可以是中间隔离域。
如图4所示,本申请实施例公开的另一种身份认证方法,包括:
S201:接收上层隔离域发送的密钥派生请求,密钥派生请求包括基于上层隔离域的私钥和待签名的数据生成的数字签名和上层隔离域的身份标识;
S202:基于上层隔离域的身份标识,从多个隔离域的共享空间中获取上层隔离域的公钥,上层隔离域的公钥与上层隔离域的身份标识绑定并存储在共享空间中;
S203:基于上层隔离域的公钥,对数字签名进行验证;
S204:若验证通过,则响应密钥派生请求。
本实施例中,本层隔离域可以是派生根隔离域,也可以是中间隔离域,上层隔离域可以是申请者隔离域,也可以是中间隔离域。
以本层隔离域是派生根隔离域,上层隔离域是申请者隔离域为例,如图2所示,派生根隔离域接收到申请者隔离域发送的密钥派生请求之后,会基于密钥派生请求中申请者隔离域的身份标识,从多个隔离域的共享空间中获取申请者隔离域的公钥,然后基于申请者隔离域的公钥,对申请者隔离域的数字签名进行验证,若验证通过,则申请者隔离域的身份认证通过,派生根隔离域响应密钥派生请求,若验证不通过,则申请者隔离域的身份认证失败,派生根隔离域不响应密钥派生请求。
以本层隔离域是中间隔离域,上层隔离域是申请者隔离域为例,如图3所示,中间隔离域接收到申请者隔离域发送的密钥派生请求之后,会基于密钥派生请求中申请者隔离域的身份标识,从多个隔离域的共享空间中获取申请者隔离域的公钥,然后基于申请者隔离域的公钥,对申请者隔离域的数字签名进行验证,若验证不通过,则申请者隔离域的身份认证失败,中间隔离域不转发密钥派生请求,若验证通过,则申请者隔离域的身份认证通过,中间隔离域基于中间隔离域的私钥和待签名的数据重新生成数字签名,将中间隔离域的数字签名和身份标识添加到密钥派生请求中,并将密钥派生请求发送至派生根隔离域。
以本层隔离域是派生根隔离域,上层隔离域是中间隔离域为例,如图3所示,派生根隔离域接收到密钥派生请求之后,会基于中间隔离域的身份标识,从多个隔离域的共享空间中获取中间隔离域的公钥,然后基于中间隔离域的公钥,对中间隔离域的数字签名进行验证,若验证通过,则中间隔离域的身份认证通过,派生根隔离域响应密钥派生请求,若验证不通过,则中间隔离域的身份认证失败,派生根隔离域不响应密钥派生请求。
本申请一些实施例中,本层隔离域响应密钥派生请求之前,还会将本层隔离域的状态信息添加到密钥派生请求中,状态信息包括软件状态信息和/或硬件状态信息。本层隔离域响应密钥派生请求之后,若本层隔离域为派生根隔离域,则会基于状态信息生成派生密钥,若本层隔离域为中间隔离域,则会将具有状态信息的密钥派生请求发送至下层隔离域。
在一些实施例中,如图5所示,在本层隔离域为派生根隔离域的情况下,申请者隔离域通过派生根隔离域的身份验证之后,派生根隔离域会将其状态信息添加到密钥派生请求中,响应密钥派生请求,基于该状态信息生成派生密钥,并将派生密钥返回至申请者隔离域。当然,本申请并不仅限于此,在另一些实施例中,如图6所示,在本层隔离域为中间隔离域的情况下,申请者隔离域通过中间隔离域的身份认证之后,中间隔离域会基于其私钥和待签名的数据重新生成数字签名,将其状态信息与其数字签名和身份标识添加到密钥派生请求中,并将该密钥派生请求发送至下层隔离域,使得下层隔离域如派生根隔离域对中间隔离域进行身份认证后,将其状态信息添加到密钥派生请求中,响应密钥派生请求,基于状态信息生成派生密钥,并将派生密钥返回至申请者隔离域。
可以理解的是,下层隔离域可以是派生根隔离域,也可以是中间隔离域,下层隔离域在接收到本层隔离域发送的密钥派生请求之后,本层隔离域转变为上层隔离域,下层隔离域转变为本层隔离域,然后重复将本层隔离域的状态信息添加到密钥派生请求中,响应密钥派生请求,基于状态信息生成派生密钥,或者,将具有状态信息的密钥派生请求发送至下层隔离域的步骤,直到生成派生密钥为止。
需要说明的是,图3和图6中仅以申请者隔离域与派生根隔离域之间具有一层中间隔离域为例进行说明,但是,本申请并不仅限于此,在另一些实施例中,申请者隔离域与派生根隔离域之间还可以具有多层中间隔离域,在此不再赘述。
因为在设备受到攻击或恶意访问的情况下,计算机设备的软件执行环境会从正常状态转变为故障或告警状态,而正常状态与故障或告警状态下隔离域的状态信息即软件状态信息和/或硬件状态信息会有所不同,所以,基于设备受到攻击或恶意访问的情况下的状态信息生成的派生密钥与基于设备未受到攻击或恶意访问的情况下的状态信息生成的派生密钥并不相同,也就是说,在设备受到攻击或恶意访问的情况下,无法正确复现派生密钥,进而不仅可以保证密钥派生的安全性,而且可以保证设备的重要数据不被泄露,进而可以提高设备的安全性。
本申请一些实施例中,可以将随软件环境变化而变化的软件状态信息和/或硬件状态信息作为状态信息添加到密钥派生请求中。该软件状态信息可以包括堆栈信息、软件版本信息、软件生命周期信息、软件开发者信息或软件授权信息等,该硬件状态信息可以包括设备安全周期状态等。其中,设备安全周期状态可以包括装配状态、注入状态、安全状态、调试状态和报废状态等。
举例来说,假设状态信息为堆栈信息,在设备未受到攻击或恶意访问的情况下,设备的软件执行环境为正常状态,本层隔离域获取到的本层隔离域的状态信息为第一堆栈信息A,则派生密钥以A为算法参数生成密钥,而在设备受到攻击或恶意访问的情况下,设备的软件执行环境为故障或告警状态,本层隔离域获取到的本层隔离域的状态信息为第二堆栈信息B,则派生密钥以B为算法参数生成密钥。因为算法参数不同,生成的派生密钥不同,所以,基于A生成的派生密钥与基于B生成的派生密钥并不相同,因而在设备受到攻击或恶意访问的情况下,无法正确复现派生密钥。
本申请一些实施例中,可以仅基于派生根隔离域的状态信息生成派生密钥。但是,本申请并不仅限于此,在另一些实施例中,可以基于派生根隔离域的状态信息以及各个中间隔离域的状态信息生成派生密钥。
在一些实施例中,将本层隔离域的状态信息添加到密钥派生请求中包括:将本层隔离域的状态信息添加到密钥派生请求的路径信息中;基于本层隔离域的状态信息生成派生密钥包括:基于具有本层隔离域的状态信息的路径信息生成派生密钥。
可以理解的是,密钥派生请求的路径信息包括申请者隔离域与派生根隔离域通信路径上的各层隔离域的信息,各层隔离域在接收到密钥派生请求之后,都会将其状态信息添加到路径信息中与本层隔离域对应的信息中,这样在派生根隔离域接收到密钥派生请求之后,密钥派生请求的路径信息中会具有其通信路径上除申请者隔离域之外的各层隔离域的状态信息,派生根隔离域可以根据包括除申请者隔离域之外的各层隔离域的状态信息的路径信息生成派生密钥,以在任一中间隔离域或派生根隔离域受到攻击的情况下都不能正确复现派生密钥,以进一步保证密钥派生的安全性。
本申请一些实施例中,将本层隔离域的状态信息添加到密钥派生请求中之前,本层隔离域可以基于本层隔离域的状态掩码确定本层隔离域的状态信息,例如,本层隔离域可以基于本层隔离域的状态掩码,确定本层隔离域的状态信息为堆栈信息。但是,本申请并不仅限于此,在另一些实施例中,为了进一步保证密钥派生的安全性,将本层隔离域的状态信息添加到密钥派生请求中之前,本层隔离域可以基于其上层隔离域的状态掩码和本层隔离域的状态掩码,确定本层隔离域的状态信息。
其中,上层隔离域的状态掩码和本层隔离域的状态掩码分别用于指示本层隔离域的至少一种状态信息。假设上层隔离域的状态掩码指示的状态信息为软件生命周期信息,本层隔离域的状态掩码指示的状态信息为堆栈信息,则可以确定本层隔离域的状态信息为软件生命周期信息和堆栈信息。需要说明的是,上层隔离域的状态掩码是预先设定的上层隔离域的固有参数,本层隔离域的状态掩码是预先设定的本层隔离域的固有参数。
需要说明的是,本层隔离域接收到的密钥派生请求包括上层隔离域的状态掩码,也就是说,上层隔离域将密钥派生请求发送至本层隔离域之前,会将上层隔离域的状态掩码添加到该密钥派生请求中。同样,本层隔离域将具有状态信息的密钥派生请求发送至下层隔离域之前,还会将本层隔离域的状态掩码添加到密钥派生请求中,以便下层隔离域基于其状态掩码和本层隔离域的状态掩码,确定下层隔离域的状态信息。
具体而言,申请者隔离域发送密钥派生请求之前,会将申请者隔离域的状态掩码添加到该密钥派生请求中,任一中间隔离域在发送密钥派生请求之前,都会将其自身隔离域的状态掩码添加到该密钥派生请求中,以便任一中间隔离域或派生根隔离域都可以根据其自身的状态掩码及其上层隔离域的状态掩码,确定其状态信息。
本申请一些实施例中,除了将状态信息作为算法参数外,还需指定算法信息作为算法参数,该算法信息可以是芯片标识和关键字符串等,该算法信息可以由申请者隔离域指定。
本申请一些实施例中,在申请者隔离域向派生根隔离域发送密钥派生请求之前,申请者隔离域会将其指定的生成派生密钥所需的算法信息添加到密钥派生请求中,而为了保证算法信息的安全性,申请者隔离域会基于对称加密技术对算法信息进行加密。具体地,申请者隔离域会生成会话密钥,并基于会话密钥对算法信息进行加密生成算法信息密文。
并且,为了保证派生根隔离域能够对算法信息密文进行解密获得算法信息,申请者隔离域会基于密钥派生者所在下层隔离域即派生根隔离域的公钥对会话密钥进行加密生成会话密钥密文,将会话密钥密文和算法信息密文与其数字签名和身份标识添加到密钥派生请求中,并将密钥派生请求发送至派生根隔离域。
基于此,在本层隔离域为派生根隔离域的情况下,本层隔离域会基于其私钥,对会话密钥密文进行解密获得会话密钥,基于会话密钥对算法信息密文进行解密获得算法信息,并基于状态信息和算法信息生成派生密钥。
在本层隔离域为派生根隔离域的情况下,本层隔离域接收到上层隔离域发送的信息获取请求之后,会响应信息获取请求,将本层隔离域的公钥即派生根隔离域的公钥返回给上层隔离域,以便上层隔离域基于本层隔离域的公钥即派生根隔离域的公钥对会话密钥进行加密。其中,该上层隔离域可以为申请者隔离域,也可以为中间隔离域。
本申请一些实施例中,在本层隔离域为派生根隔离域的情况下,为了进一步保证密钥派生的安全性,本层隔离域不仅可以基于状态信息和算法信息生成派生密钥,还可以基于状态信息、算法信息和本层隔离域即派生根隔离域的身份标识生成派生密钥,以区分不同派生根隔离域的派生密钥。因为隔离域的身份标识也作为密钥派生的算法参数,所以,在获取派生密钥时所经过的路径必须完全一致才可能复现派生密钥。当然,在另一些实施例中,还可以基于其他信息生成派生密钥,在此不再赘述。
本申请一些实施例中,在本层隔离域为派生根隔离域的情况下,基于本层隔离域的状态信息生成派生密钥之后,还会基于会话密钥,生成派生密钥的验证码,利用会话密钥,对派生密钥和验证码进行加密获得派生密钥密文,并将派生密钥密文返回给上层隔离域即申请者隔离域。其中,验证码可以是利用HMAC算法生成的HMAC消息认证码,HMAC算法的算法密钥可以为算法信息的哈希值。当然,本申请并不仅限于此,在另一些实施例中,也可以直接基于会话密钥对派生密钥进行加密获得派生密钥密文,在此不再赘述。
派生根隔离域将派生密钥密文返回给申请者隔离域之后,申请者隔离域可以根据自身存储的会话密钥对派生密钥密文进行解密,获得派生密钥和验证码,然后根据自身存储的会话密钥生成校验码,并将校验码与验证码进行对比后,若二者一致,则会话密钥验证通过,可以基于获得的派生密钥进行加密操作等。
作为本申请公开内容的一种可选实现,本申请实施例公开了一种处理器,该处理器被配置为执行如上任一实施例公开的身份认证方法。其中,处理器可以是通用处理器,例如通用中央处理器(CPU)等,也可以是特定应用集成电路(application-specificintegrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路,还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
作为本申请公开内容的一种可选实现,本申请实施例公开了一种计算机设备。如图7所示,计算机设备可以包括一个或多个处理器20和一个或多个存储器30。可以理解的是,计算机设备可以根据需要而包含其他组件。
计算机设备可以装载并因此包括一个或多个应用。这些应用是指令集(例如,计算机程序代码),当被一个或多个处理器20读取时,这些指令集控制计算机设备的操作。为此,一个或多个存储器30可以包括可由一个或多个处理器20执行的指令/数据,由此计算机设备可执行根据本公开至少一实施例中所公开的方法。
作为本申请公开内容的一种可选实现,本申请实施例公开了一种计算机程序产品,其包括计算机程序指令,计算机程序指令在被处理器运行时使得处理器执行如上任一实施例公开的身份认证方法。
计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,程序设计语言包括面向对象的程序设计语言,诸如python、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
作为本申请公开内容的一种可选实现,本申请实施例公开了一种计算机可读存储介质,其上存储有用于执行如上任一实施例公开的身份认证方法的指令。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本说明书所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本说明书的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本说明书构思的前提下,还可以做出若干变形和改进,这些都属于本说明书的保护范围。因此,本说明书专利的保护范围应以所附权利要求为准。

Claims (16)

1.一种身份认证方法,其特征在于,应用于处理器,所述处理器搭载有至少一种执行环境,所述执行环境包括多个隔离域,所述身份认证方法包括:
基于本层隔离域的私钥和待签名的数据生成数字签名;
将所述数字签名和所述本层隔离域的身份标识添加到密钥派生请求中;所述本层隔离域的公钥与所述本层隔离域的身份标识绑定并存储在所述多个隔离域的共享空间中;
将所述密钥派生请求发送至下层隔离域,以使所述下层隔离域基于所述本层隔离域的身份标识从所述共享空间中获取所述本层隔离域的公钥,并基于所述本层隔离域的公钥对所述数字签名进行验证,若验证通过,则响应所述密钥派生请求。
2.根据权利要求1所述的身份认证方法,其特征在于,所述本层隔离域为申请者隔离域,所述将所述数字签名和所述本层隔离域的身份标识添加到密钥派生请求中包括:
向派生根隔离域发送信息获取请求,获取所述派生根隔离域的公钥;所述派生根隔离域为生成派生密钥的隔离域;
基于会话密钥,对生成所述派生密钥所需的算法信息进行加密生成算法信息密文;所述会话密钥包括所述申请者隔离域随机生成的密钥;
基于所述派生根隔离域的公钥,对所述会话密钥进行加密生成会话密钥密文;
将所述申请者隔离域的数字签名、所述申请者隔离域的身份标识、所述算法信息密文和所述会话密钥密文添加到密钥派生请求中。
3.根据权利要求1或2所述的身份认证方法,其特征在于,还包括:
将所述本层隔离域的状态掩码添加到所述密钥派生请求中,所述本层隔离域的状态掩码用于指示下层隔离域的至少一种状态信息,以便所述下层隔离域基于所述状态信息生成派生密钥,所述状态信息包括软件状态信息和/或硬件状态信息。
4.一种身份认证方法,其特征在于,应用于处理器,所述处理器搭载有至少一种执行环境,所述执行环境包括多个隔离域,所述身份认证方法包括:
接收上层隔离域发送的密钥派生请求,所述密钥派生请求包括基于所述上层隔离域的私钥和待签名的数据生成的数字签名和所述上层隔离域的身份标识;
基于所述上层隔离域的身份标识,从所述多个隔离域的共享空间中获取所述上层隔离域的公钥,所述上层隔离域的公钥与所述上层隔离域的身份标识绑定并存储在所述共享空间中;
基于所述上层隔离域的公钥,对所述数字签名进行验证;
若验证通过,则响应所述密钥派生请求。
5.根据权利要求4所述的身份认证方法,其特征在于,所述响应所述密钥派生请求之前,还包括:将本层隔离域的状态信息添加到所述密钥派生请求中,所述状态信息包括软件状态信息和/或硬件状态信息;
所述响应所述密钥派生请求之后,还包括:基于所述状态信息生成派生密钥,或者,将具有所述状态信息的密钥派生请求发送至下层隔离域,以使所述下层隔离域响应所述密钥派生请求生成派生密钥。
6.根据权利要求5所述的身份认证方法,其特征在于,所述将本层隔离域的状态信息添加到所述密钥派生请求中包括:将所述本层隔离域的状态信息添加到所述密钥派生请求的路径信息中;
所述基于所述状态信息生成派生密钥包括:基于具有所述状态信息的路径信息生成派生密钥。
7.根据权利要求5所述的身份认证方法,其特征在于,所述密钥派生请求包括所述上层隔离域的状态掩码,所述将本层隔离域的状态信息添加到所述密钥派生请求中之前,还包括:
基于所述上层隔离域的状态掩码和所述本层隔离域的状态掩码确定所述本层隔离域的状态信息,所述上层隔离域的状态掩码和所述本层隔离域的状态掩码分别用于指示所述本层隔离域的至少一种状态信息。
8.根据权利要求5所述的身份认证方法,其特征在于,所述本层隔离域为派生根隔离域,所述密钥派生请求包括会话密钥密文和算法信息密文,所述基于所述状态信息生成派生密钥包括:
基于所述派生根隔离域的私钥,对所述会话密钥密文进行解密获得会话密钥;
基于所述会话密钥,对所述算法信息密文进行解密获得算法信息;
基于所述状态信息和所述算法信息生成派生密钥。
9.根据权利要求8所述的身份认证方法,其特征在于,还包括:
接收所述上层隔离域发送的信息获取请求;
响应所述信息获取请求,将所述派生根隔离域的公钥返回给所述上层隔离域,以便申请者隔离域从所述上层隔离域获取所述派生根隔离域的公钥,基于所述派生根隔离域的公钥对所述会话密钥进行加密,所述会话密钥包括所述申请者隔离域随机生成的密钥。
10.根据权利要求8所述的身份认证方法,其特征在于,所述基于所述状态信息和所述算法信息生成派生密钥包括:
基于所述状态信息、所述算法信息和所述派生根隔离域的身份标识生成派生密钥。
11.根据权利要求8所述的身份认证方法,其特征在于,所述基于所述状态信息生成派生密钥之后,还包括:
基于所述会话密钥,生成所述派生密钥的验证码;
利用所述会话密钥,对所述派生密钥和所述验证码进行加密获得派生密钥密文,并将所述派生密钥密文返回给所述上层隔离域,以便申请者隔离域从所述上层隔离域获取所述派生密钥密文。
12.根据权利要求5所述的身份认证方法,其特征在于,所述将具有所述状态信息的密钥派生请求发送至下层隔离域之前,还包括:
基于所述本层隔离域的私钥和待签名的数据,重新生成数字签名;
将所述本层隔离域的身份标识和重新生成的数字签名添加到所述密钥派生请求中。
13.根据权利要求5或12所述的身份认证方法,其特征在于,所述将具有所述状态信息的密钥派生请求发送至下层隔离域之前,还包括:
将所述本层隔离域的状态掩码添加到所述密钥派生请求中。
14.一种处理器,其特征在于,被配置为执行如权利要求1~3或4~13任一项所述的身份认证方法。
15.一种计算机设备,其特征在于,包括:
存储器,用于存储指令;
处理器,用于根据所述存储器中存储的指令,执行如权利要求1~3或4~13任一项所述的身份认证方法。
16.一种计算机可读存储介质,其特征在于,其上存储有用于执行如权利要求1~3或4~13任一项所述的身份认证方法的指令。
CN202311649582.1A 2023-12-04 2023-12-04 一种身份认证方法、处理器和相关设备 Pending CN117544319A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311649582.1A CN117544319A (zh) 2023-12-04 2023-12-04 一种身份认证方法、处理器和相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311649582.1A CN117544319A (zh) 2023-12-04 2023-12-04 一种身份认证方法、处理器和相关设备

Publications (1)

Publication Number Publication Date
CN117544319A true CN117544319A (zh) 2024-02-09

Family

ID=89785962

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311649582.1A Pending CN117544319A (zh) 2023-12-04 2023-12-04 一种身份认证方法、处理器和相关设备

Country Status (1)

Country Link
CN (1) CN117544319A (zh)

Similar Documents

Publication Publication Date Title
CN110519260B (zh) 一种信息处理方法及信息处理装置
CN109886040B (zh) 数据处理方法、装置、存储介质及处理器
CN110750803B (zh) 数据提供和融合的方法及装置
US9281949B2 (en) Device using secure processing zone to establish trust for digital rights management
US10110380B2 (en) Secure dynamic on chip key programming
US8281115B2 (en) Security method using self-generated encryption key, and security apparatus using the same
CN111031047B (zh) 设备通信方法、装置、计算机设备及存储介质
CN109981255B (zh) 密钥池的更新方法和系统
CN104836784B (zh) 一种信息处理方法、客户端和服务器
JP6190404B2 (ja) 受信ノード、メッセージ受信方法およびコンピュータプログラム
US20180204004A1 (en) Authentication method and apparatus for reinforced software
US20200344075A1 (en) Secure provisioning of keys
EP3292495B1 (en) Cryptographic data
US20170353315A1 (en) Secure electronic entity, electronic apparatus and method for verifying the integrity of data stored in such a secure electronic entity
WO2012126729A1 (en) Electronic device with flash memory component
CN112241527B (zh) 物联网终端设备的密钥生成方法、系统及电子设备
US20220209946A1 (en) Key revocation for edge devices
CN111479265A (zh) 信息传播方法、装置、计算机设备和存储介质
CN110837643B (zh) 一种可信执行环境的激活方法和装置
CN111079157A (zh) 一种基于区块链的秘密碎片化托管平台及设备、介质
CN115242471B (zh) 信息传输方法、装置、电子设备及计算机可读存储介质
CN110971610A (zh) 控制系统身份验证方法、装置、计算机设备和存储介质
CN115828290A (zh) 一种基于分布式对象存储的加解密方法及装置
CN117353920B (zh) 一种密钥派生方法、处理器和相关设备
CN115766192A (zh) 基于ukey的离线安全认证方法、装置、设备及介质

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