CN113821787A - 一种安全认证方法及电子设备 - Google Patents
一种安全认证方法及电子设备 Download PDFInfo
- Publication number
- CN113821787A CN113821787A CN202110926974.2A CN202110926974A CN113821787A CN 113821787 A CN113821787 A CN 113821787A CN 202110926974 A CN202110926974 A CN 202110926974A CN 113821787 A CN113821787 A CN 113821787A
- Authority
- CN
- China
- Prior art keywords
- chip
- ese
- soc
- secure
- main chip
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
- G06F21/445—Program or device authentication by mutual authentication, e.g. between devices or programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/77—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in smart cards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3271—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
- H04L9/3273—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual authentication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Telephone Function (AREA)
- Storage Device Security (AREA)
Abstract
本申请实施例提供一种安全认证方法及电子设备,涉及安全技术领域,该电子设备包括系统主芯片SoC和嵌入式安全芯片eSE,SoC主芯片包括TA,eSE安全芯片包括APPLET,可以确保SoC主芯片与eSE安全芯片均为合法芯片,提高了SoC主芯片与eSE安全芯片之间以及TA与APPLET之间通信的安全性。该方法包括:SoC主芯片和eSE安全芯片获取设备认证密钥,SoC主芯片与eSE安全芯片之间采用设备认证密钥进行设备认证;若认证成功,则SoC主芯片的驱动层与eSE安全芯片的驱动层之间协商出第一会话密钥;SoC主芯片与eSE安全芯片采用第一会话密钥和/或设备认证密钥对通信数据进行加/解密;TA与APPLET之间协商出第二会话密钥;TA与APPLET采用第二会话密钥和/或设备认证密钥对通信数据进行加/解密。
Description
技术领域
本申请涉及数据安全技术领域,尤其涉及一种安全认证方法及电子设备。
背景技术
随着电子设备和互联网技术的发展,为了提高电子设备的安全性,越来越多的电子设备(如,手机、智能手环等)使用了安全芯片(secure element,SE)。电子设备中的嵌入式安全芯片(embedded secure element,eSE)与系统主芯片(system-on-a-chip,SoC)通过外部总线进行通信。其中,外部总线包括但不限于串行外设接口(serial peripheralinterface,SPI)、I2C总线(inter-integrated circuit,I2C)等。但是,当与SoC主芯片通过外部总线连接的eSE安全芯片被暴力拆除时,eSE安全芯片的内部应用(如,钱包、会员卡等)得不到保护,将会被非法使用。
然而,如何解决eSE安全芯片的内部应用得不到保护是一个亟需解决的重要问题。
发明内容
本申请实施例提供一种安全认证方法及电子设备,通过在SoC主芯片与eSE安全芯片的安全存储区域中写入设备认证密钥,SoC主芯片与eSE安全芯片采用该设备认证密钥进行设备双向认证,确保了SoC主芯片与eSE安全芯片均为合法芯片,提高了eSE安全芯片的安全性,确保了eSE安全芯片内部应用不会被非法使用。
为达到上述目的,本申请采用如下技术方案:
一方面,本申请实施例提供一种安全认证方法,应用于电子设备,电子设备包括系统主芯片SoC和嵌入式安全芯片eSE,SoC主芯片包括可信应用TA,eSE安全芯片包括应用程序APPLET,方法包括:
SoC主芯片和eSE安全芯片获取设备认证密钥;设备认证密钥是根据SoC主芯片和/或eSE安全芯片的标识生成的,为预先写入在SoC主芯片和eSE安全芯片对应的驱动层或系统层存储区域的;SoC主芯片与eSE安全芯片之间采用设备认证密钥进行设备认证;若设备认证成功,则SoC主芯片的驱动层与eSE安全芯片的驱动层之间协商出第一会话密钥;SoC主芯片与eSE安全芯片之间通信时,SoC主芯片与eSE安全芯片采用第一会话密钥和/或设备认证密钥对通信数据进行加/解密;TA与APPLET之间协商出第二会话密钥;TA与APPLET之间进行通信时,TA与APPLET采用第二会话密钥和/或设备认证密钥对通信数据进行加/解密。
由此,在SoC主芯片与eSE安全芯片的驱动层或系统层存储区域中写入设备认证密钥,SoC主芯片与eSE安全芯片采用该设备认证密钥进行设备双向认证,确保了SoC主芯片与eSE安全芯片均为合法芯片。该方法不仅避免了eSE安全芯片的内部应用被非法占用的问题,还提高了SoC主芯片与eSE安全芯片之间通信数据的安全性。在SoC主芯片与eSE安全芯片之间认证成功后,SoC主芯片与eSE安全芯片的驱动层之间传输数据时,采用协商的第一会话密钥和/或设备认证密钥对通信数据进行加/解密,提高了SoC主芯片与eSE安全芯片之间通信时数据的安全性。在TA与APPLET之间进行通信时,采用第二会话密钥对TA与APPLET之间的通信数据进行加/解密,提高了TA与APPLET通信的安全等级。
在一种可能的实现方式中,SoC主芯片与eSE安全芯片之间采用设备认证密钥进行设备认证,包括:eSE安全芯片采用设备认证密钥对SoC主芯片的第一信息进行加密,生成第一认证密文;eSE安全芯片将第一认证密文发送至SoC主芯片;SOC主芯片采用设备认证密钥对第一认证密文进行解密,以根据解密结果对eSE安全芯片进行设备认证。
由此,SOC主芯片采用设备认证密钥确定eSE安全芯片是否为合法设备,避免了eSE安全芯片的内部应用被非法占用的问题,提高了SoC主芯片与eSE安全芯片之间通信数据的安全性。
在另一种可能的实现方式中,SOC主芯片采用设备认证密钥对第一认证密文进行解密,以根据解密结果对eSE安全芯片进行设备认证,包括:若SoC主芯片采用设备认证密钥对第一认证密文进行解密得到第一信息,则确定eSE安全芯片认证成功。
由此,SoC主芯片确定eSE安全芯片为合法设备后,避免了eSE安全芯片的内部应用被非法占用的问题。
在另一种可能的实现方式中,SOC主芯片采用设备认证密钥对第一认证密文进行解密,以根据解密结果对eSE安全芯片进行设备认证,还包括:若SoC主芯片采用设备认证密钥对第一认证密文进行解密未得到第一信息,则确定eSE安全芯片认证失败。
由此,SoC主芯片对第一认证密文解密未得到eSE安全芯片的第一信息,则SoC主芯片确定eSE安全芯片为非法设备。
在另一种可能的实现方式中,SoC主芯片与eSE安全芯片之间采用设备认证密钥进行设备认证,还包括:SoC主芯片采用设备认证密钥对eSE安全芯片的第二信息进行加密,生成第二认证密文;SoC主芯片将第二认证密文发送至eSE安全芯片;eSE安全芯片采用设备认证密钥对第二认证密文进行解密,以根据解密结果对SoC主芯片进行设备认证。
由此,eSE安全芯片采用设备认证密钥确定SoC主芯片是否为合法设备,避免了eSE安全芯片的内部应用被非法占用的问题,提高了SoC主芯片与eSE安全芯片之间通信数据的安全性。
在另一种可能的实现方式中,根据解密结果对SoC主芯片进行设备认证,包括:若eSE安全芯片采用设备认证密钥对第二认证密文进行解密得到第二信息,则确定SoC主芯片认证成功。由此,SoC主芯片与eSE安全芯片可以进行通信。
在另一种可能的实现方式中,根据解密结果对SoC主芯片进行设备认证,包括:若eSE安全芯片采用设备认证密钥对第二认证密文进行解密未得到第二信息,则确定SoC主芯片认证失败。由此,SoC主芯片与eSE安全芯片之间不进行通信。
在另一种可能的实现方式中,方法还包括:若eSE安全芯片根据解密结果确定SoC主芯片认证成功,则eSE安全芯片向SoC主芯片发送设备认证成功标识。
由此,SoC主芯片接收到eSE安全芯片发送的设备认证成功标识后,确定双方为合法设备,SoC主芯片与eSE安全芯片可以进行通信。
在另一种可能的实现方式中,方法还包括:若eSE安全芯片根据解密结果确定SoC主芯片认证失败,则eSE安全芯片停止运行。
由此,避免了eSE安全芯片的内部应用被非法占用的问题,提高了SoC主芯片与eSE安全芯片之间通信数据的安全性。
在另一种可能的实现方式中,确定SoC主芯片认证失败之后,还包括:电子设备显示提示信息;其中,提示信息用于提示用户SoC主芯片与eSE安全芯片之间设备认证失败。
由此,电子设备通过在显示界面显示提示信息的方式提示用户SoC主芯片与eSE安全芯片未认证成功,无法进行通信,以使得用户进行相应的处理。
在另一种可能的实现方式中,通信数据为应用协议数据单元APDU命令数据,SoC主芯片与eSE安全芯片采用第一会话密钥和/或设备认证密钥对通信数据进行加/解密,包括:
SoC主芯片与eSE安全芯片采用第一会话密钥和/或设备认证密钥对APDU命令数据进行加/解密。
由此,在SoC主芯片与eSE安全芯片的驱动层之间传输数据时,采用协商的第一会话密钥对整个APDU命令数据进行加/解密,提高了SoC主芯片与eSE安全芯片之间通信时数据的安全性。
在另一种可能的实现方式中,SoC主芯片包括可信执行环境操作系统TEE OS,SoC主芯片与eSE安全芯片采用第一会话密钥和/或设备认证密钥对APDU命令数据进行加/解密,包括:SoC主芯片的驱动层接收TEE OS发送的明文APDU命令数据;SoC主芯片的驱动层采用第一会话密钥和/或设备认证密钥对明文APDU命令数据进行加密,得到密文APDU命令数据;SoC主芯片的驱动层将密文APDU命令数据发送至eSE安全芯片的驱动层;eSE安全芯片的驱动层采用第一会话密钥和/或设备认证密钥对密文APDU命令数据进行解密,得到明文APDU命令数据。
由此,在SoC主芯片与eSE安全芯片的驱动层之间传输数据时,采用协商的第一会话密钥对整个APDU命令数据进行加/解密,提高了SoC主芯片与eSE安全芯片之间通信时数据的安全性。
在另一种可能的实现方式中,第一会话密钥是根据设备认证密钥生成的。
由此,SoC主芯片与eSE安全芯片之间采用设备认证密钥协商得到第一会话密钥,使得第一会话密钥的安全等级更高。
在另一种可能的实现方式中,TA与APPLET之间协商出第二会话密钥,包括:TA与APPLET调用函数,以获取设备认证密钥;TA与APPLET调用函数,以根据设备认证密钥协商出第二会话密钥。
由此,TA与APPLET通过调用函数的方式从系统层或驱动层的存储空间获取设备认证密钥,再调用函数根据设备认证密钥协商出第二会话密钥,以采用该第二会话密钥对TA与APPLET之间的通信数据进行加/解密,提高了TA与APPLET通信的安全等级。
在另一种可能的实现方式中,eSE安全芯片包括芯片操作系统COS,TA与APPLET采用第二会话密钥和/或设备认证密钥对通信数据进行加/解密,包括:TA调用加密函数对明文数据进行加密;其中,加密函数用于获取到第二会议密钥后对明文数据进行加密,生成密文数据并返回至TA;TA将密文数据组成APDU命令数据发送至TEE OS,以使得TEE OS将接收到的APDU命令数据发送至SoC主芯片的驱动层;SoC主芯片的驱动层将APDU命令数据发送至eSE安全芯片的驱动层;eSE安全芯片的驱动层将APDU命令数据发送至COS,以使得COS将APDU命令数据发送至APPLET;APPLET调用解密函数对APDU命令数据进行解密,得到明文数据。
由此,采用第二认证密钥和/或设备认证密钥对通信数据进行加/解密,提高SoC主芯片的TA和eSE安全芯片的APPLET之间通信时的安全等级。
在另一种可能的实现方式中,SoC主芯片的驱动层将APDU命令数据发送至eSE安全芯片的驱动层,包括:SoC主芯片的驱动层与eSE安全芯片的驱动层之间协商出第一会话密钥;SoC主芯片的驱动层采用第一会话密钥和/或设备认证密钥对APDU命令数据进行加密后,将加密后的APDU命令数据发送至eSE安全芯片的驱动层。
由此,SoC主芯片与eSE安全芯片的驱动层之间对包含有加密后的通信数据的APDU命令数据进行加密,更加提高了APPLET与TA通信时的安全等级。
在另一种可能的实现方式中,方法还包括:SoC主芯片获取SoC主芯片和/或eSE安全芯片的标识;SoC主芯片将SoC主芯片和/或eSE安全芯片的标识发送至全面维护系统TSM服务器,以使得TSM服务器根据SoC主芯片和/或eSE安全芯片的标识生成设备认证密钥。
由此,根据SoC主芯片和/或eSE安全芯片的标识生成设备认证密钥,从而使得SoC主芯片与eSE安全芯片根据该设备认证密钥进行双向设备认证。
另一方面,本申请提供一种电子设备,包括:SoC主芯片;eSE安全芯片;一个或多个处理器;存储器;其中,存储器中存储有一个或多个计算机程序,一个或多个计算机程序包括指令,当指令被电子设备执行时,使得电子设备执行以下步骤:SoC主芯片和eSE安全芯片获取设备认证密钥;设备认证密钥预先写入在SoC主芯片和eSE安全芯片对应的驱动层或系统层存储区域;SoC主芯片与eSE安全芯片之间采用设备认证密钥进行设备认证。
又一方面,本申请提供一种电子设备,包括:存储器、显示屏和一个或多个处理器;存储器、显示屏与处理器耦合。其中,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令;当电子设备运行时,该处理器用于执行该存储器存储的一个或多个计算机指令,以使电子设备执行如上述一方面中任一项所述的安全认证方法。
又一方面,本申请提供一种计算机存储介质,包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行如上述一方面中任一项所述的安全认证方法。
又一方面,本申请提供一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行如上述一方面中任一项所述的安全认证方法。
可以理解地,上述提供的电子设备、计算机存储介质,以及计算机程序产品均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种SoC主芯片与eSE安全芯片在应用层的合法认证的示例图;
图2为现有的通信线路保护方案示例图;
图3为本申请实施例提供的一种电子设备的结构示意图一;
图4为本申请实施例提供的SoC主芯片的一种软件结构图;
图5为本申请实施例提供的eSE安全芯片的一种软件结构图;
图6为本申请实施例提供的安全认证方法的应用场景示例图一;
图7为本申请实施例提供的一种TSM服务器将设备认证密钥写入eSE安全芯片的流程图;
图8为本申请实施例提供的一种TSM服务器将设备认证密钥写入SoC主芯片的流程图;
图9为本申请实施例提供的SoC主芯片与eSE安全芯片之间使用设备认证密钥进行设备认证的流程图;
图10为本申请实施例提供的安全认证方法的应用场景示例图二;
图11为本申请实施例提供的安全认证方法的应用场景示例图三;
图12为本申请实施例提供的SoC主芯片与eSE安全芯片之间线路数据保护的示例图一;
图13为本申请实施例提供的SoC主芯片与eSE安全芯片之间线路数据保护的示例图二;
图14为本申请实施例提供的SoC主芯片的TA与eSE安全芯片的APPLET之间的安全通道建立的示例图;
图15为本申请实施例提供的一种电子设备的结构示意图二。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
目前,SoC主芯片与eSE安全芯片之间进行通信之前,需要对SoC主芯片与eSE安全芯片进行安全认证。相关技术中,SoC主芯片与eSE安全芯片之间的安全认证是在应用层进行认证的。但是,该认证方法主要是应用厂家根据电子设备的应用架构设计的认证方案,不具备设备普遍适用性。例如,手机盾的SoC主芯片与eSE安全芯片之间的认证方法,无法适用于其它设备。图1为本申请实施例提供的一种SoC主芯片与eSE安全芯片在应用层的合法认证的示例图。
示例性的,如图1所示,SoC主芯片包括通用执行环境(rich executionenvironment,REE)、可信执行环境(trusted execution environment,TEE)以及驱动层。其中,REE包括REE应用程序(application,APP)和REE操作系统(operating system,OS)。TEE包括可信应用(trusted application,TA)和TEE OS。eSE安全芯片包括小应用程序(APPLET)、芯片操作系统(chip operation system,COS)以及驱动层。
图1中SoC主芯片与eSE安全芯片之间的安全认证方法包括但不限于以下两种情况:
第一种情况,在SoC主芯片中的TA与eSE安全芯片中的APPLET进行数据交互时,eSE安全芯片中的APPLET要防止SoC主芯片中的恶意TA对其进行访问,并且SoC主芯片中的TA也要防止有假的APPLET运行。为了解决上述问题,相关技术中,应用启动时,TA与APPLET之间在SoC主芯片与eSE安全芯片的应用层进行安全认证,以实现TA与APPLET之间进行双向安全认证,从而提高了SoC主芯片与eSE安全芯片交互时的安全性。但是,SoC主芯片与eSE安全芯片之间的安全认证,仅是在应用层的安全认证,并未在SoC主芯片与eSE安全芯片之间进行设备认证。
例如,手机盾APP启动后,SoC主芯片中的REE手机盾的软件开发包调用TA时,TA打开与eSE安全芯片的通信接口。TA通过该通信接口选择APPLET后,TA与APPLET之间进行认证以确定APPLET是否合法。同时,APPLET也确定TA是否合法。
第二种情况,在eSE安全芯片中的APPLET无需与TA交互,或者,SoC主芯片中不存在TA时,SoC主芯片中的REE APP可以直接与APPLET进行通信。这种情况下,REE APP与APPLET之间通信时也并未考虑到SoC主芯片与eSE安全芯片之间的设备认证。即SoC主芯片并未认证eSE安全芯片是否为合法芯片。
目前,电子设备中的eSE安全芯片被暴力拆除后,拆除得到的eSE安全芯片可以被更换至其它电子设备或者专有电路中使用。由于SoC主芯片与eSE安全芯片是在应用层进行安全认证的,eSE安全芯片与电子设备之间并未进行设备认证,从而导致eSE安全芯片的内部应用得不到保护,可能被其它电子设备或者专有电路非法使用。
示例性的,假设电子设备A中的eSE安全芯片被暴力拆除后,可以将拆除得到的eSE安全芯片更换至电子设备B中。这种情况下,电子设备B可以使用eSE安全芯片的内部应用(如,支付类应用等)。如该电子设备A和电子设备B均具有近场通信(near fieldcommunication,NFC),电子设备A采用NFC技术进行支付时,无需进行密码验证。即无需验证个人识别密码(personal identification number,PIN)或指纹等。电子设备B可以使用从电子设备A中拆除得到的eSE安全芯片的支付类应用(如,钱包等),即电子设备A中的eSE安全芯片的内部应用被非法使用。
此外,由于电子设备中的eSE安全芯片和SoC主芯片之间缺少统一的设备级别的通信数据加密方法,在eSE安全芯片和SoC主芯片之间通过外部总线通信时,可能存在被窃听或攻击的情况。这种情况下,若电子设备中的eSE安全芯片被暴力拆除或者被窃听,其它电子设备通过外部总线信号获取命令,对部分安全性不高的eSE安全芯片的内部应用发起重放攻击后,可能窃取得到该应用和SoC主芯片之间的通信数据。在电子设备中的eSE安全芯片被暴力拆除后,可以通过逻辑分析仪等设备窃听eSE安全芯片的内部应用与SoC主芯片之间的通信数据。
相关技术中,为了提高eSE安全芯片与SoC主芯片之间通信数据的安全性,eSE安全芯片与SoC主芯片在应用层采用对应的加密方法对通信数据进行加密。
示例性的,图2为现有的通用串行总线密钥(universal serial bus,USB Key)与个人计算机(personal computer,PC)通信时的通信线路保护方案示例图。USBKey命令收发遵循一定的命令规范。如,USBKey命令收发可以遵循ISO7816-4命令规范,比如,USBKey命令收发可以遵循应用协议数据单元(application protocol data unit,APDU)命令,APDU命令的格式如下:【CLA|INS|P1|P2|Lc|Data|Le】。其中,CLA为指令类别;INS为指令码;P1、P2为参数;Lc为Data的长度;Data为待传输数据;Le为在向命令响应的数据字段中期望的字节最大数。
如图2所示,USB Key与PC通信时的数据加密过程如下:USB Key向网银应用发送数据时,USB Key的应用层对待发送数据进行加密层级1的加密,即USB Key的应用层对Data进行加密,其它数据为明文。USB Key的COS系统基于ISO7816-4规范中命令加密规范,对P1、P2、Lc、Data、Le进行加密层级2的加密。此时,CLA、INS为明文。然后,USB Key的驱动层基于底层通信协议收发时的加密方案对整个USB Key命令进行加密层级3的加密。此时,USB Key命令均已经完成加密处理,USB Key与PC之间的通信线路上看到的全是密文。USB Key的驱动层将加密后的USB Key命令发送至PC的驱动层后,PC的驱动层对接收到的加密数据进行第一层级的解密。PC的驱动层将第一层级解密后的数据发送至中间件,中间件对接收到的数据进行第二层级的解密并将解密后的数据发送至网银应用。网银应用对接收到的数据进行第三层级的解密,得到数据。
由此可见,相关技术中eSE安全芯片与SoC主芯片之间通信数据的加密方法主要还是基于应用层的数据加密方法。并且,现有的数据加密方法不具备普遍性,如,基于全球平台组织(global platform,GP)安全通道加密时,一般TA不具备安全通道密钥,因此TA无法对获取到的数据进行解密。
本申请实施例提供一种安全认证方法,该方法通过在SoC主芯片与eSE安全芯片的安全存储区域中写入设备认证密钥,SoC主芯片与eSE安全芯片采用该设备认证密钥进行设备双向认证,确保了SoC主芯片与eSE安全芯片均为合法芯片。由此,避免了eSE安全芯片的内部应用被非法占用的问题,提高了SoC主芯片与eSE安全芯片之间通信数据的安全性。在SoC主芯片与eSE安全芯片的驱动层之间传输数据时,采用协商的第一会话密钥对整个APDU命令数据进行加密,提高了SoC主芯片与eSE安全芯片之间通信时数据的安全性。
示例性的,本申请实施例提供安全认证方法可应用于手机、平板电脑、个人计算机(personal computer,PC)、个人数字助理(personal digital assistant,PDA)、智能手表、上网本、可穿戴电子设备、增强现实技术(augmented reality,AR)设备、虚拟现实(virtualreality,VR)设备、车载设备、智能汽车、智能音响等具有显示功能的电子设备,本申请实施例对此不做任何限制。
如图3所示,图3为本申请实施例提供的手机的一种结构示意图。
手机100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,用户标识模块(subscriber identification module,SIM)卡接口195,NFC(图中未示出)以及eSE安全芯片210等。其中,传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本申请实施例示意的结构并不构成对手机100的具体限定。在本申请另一些实施例中,手机100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
在一些实施例中,手机中的处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130等可以集成在SoC主芯片上。
eSE安全芯片与NFC接口链接,用于手机支付时的安全验证,配合NFC即可替代银行卡的功能实现移动支付。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是手机100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对手机100的结构限定。在本申请另一些实施例中,手机100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
手机100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。手机100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在手机100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(lownoise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
手机100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,手机100可以包括1个或N个显示屏194,N为大于1的正整数。
手机100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,手机100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当手机100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。手机100可以支持一种或多种视频编解码器。这样,手机100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现手机100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展手机100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行手机100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储手机100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
手机100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
SoC主芯片和eSE安全芯片的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本发明实施例以分层架构为例,示例性说明SoC主芯片和eSE安全芯片的软件结构。
图4为本申请实施例提供的SoC主芯片的一种软件结构图。
可以理解的是,分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,SoC主芯片可以包括应用层、系统层以及驱动层。
如图4所示,应用层可以包括REE的REE APP以及TEE的TA。系统层可以包括REE OS以及TEE OS。
其中,TEE已经成为生物识别设备的标配,使用TEE来隔离指纹的采集、存储、验证等过程。TEE内部运行一个完整的操作系统,与REE(如Android)隔离运行,TEE与REE通过共享内存进行交互。TEE内部也分为内核态与用户态,TEE的用户态可以运行多个不同的TA。
驱动层包括通信驱动模块、存储驱动模块以及显示驱动模块等等。
其中,通信驱动模块用于驱动SoC主芯片与eSE安全芯片进行外部通信。存储驱动模块用于驱动SoC主芯片对数据进行存储。显示驱动模块用于SoC主芯片的显示部件进行显示。
图5为本申请实施例提供的eSE安全芯片的一种软件结构图。在一些实施例中,eSE安全芯片可以包括应用层、系统层以及驱动层。
如图5所示,应用层可以包括应用程序,如,交通卡和银行卡等。
系统层可以包括COS。COS可以包括:传送管理器、安全管理器、应用管理器和文件管理器。其中,传送管理器用于检查信息是否被正确地传送。这一部分主要和智能卡所采用的通信协议有关;安全管理器用于对所传送的信息进行安全性的检查或处理,防止非法的窃听或侵入;应用管理器用于判断所接收的命令执行的可能性;文件管理器用于通过核实命令的操作权限,最终完成对命令的处理。
驱动层包括通信驱动模块和存储驱动模块等。其中,通信驱动模块用于eSE安全芯片与SoC主芯片进行外部通信。存储驱动模块用于驱动eSE安全芯片对数据进行存储。
以下实施例中所涉及到的技术方案均可以在具有上述硬件结构的电子设备100中实现。以下以电子设备100为手机为例,对本方案进行示例性说明。
本申请实施例中,手机中的SoC主芯片与eSE安全芯片之间进行通信之前,手机中的SoC主芯片与eSE安全芯片之间不仅可以在TA和APPLET层之间进行安全认证,SoC主芯片与eSE安全芯片之间还可以进行设备双向认证,以确定手机的SoC主芯片与eSE安全芯片是否为合法设备。
示例性的,如图6所示,手机中的SoC主芯片与eSE安全芯片之间可以采用预先存储的设备认证密钥进行双向设备认证。手机上电后,SoC主芯片的通信驱动模块与eSE安全芯片的通信驱动模块,驱动SoC主芯片与eSE安全芯片之间采用设备认证密钥,在驱动层进行双向设备认证。
下面实施例中将详细介绍手机中的SoC主芯片与eSE安全芯片之间在驱动层进行设备认证的过程。
在手机生产阶段,全面维护系统(tivoli storage manager,TSM)服务器可以在生产线中将SoC主芯片与eSE安全芯片双方认证的同一个设备认证密钥写入SoC主芯片与eSE安全芯片的安全区域内。其中,安全区域为与应用层隔离的区域,如SoC主芯片与eSE安全芯片的系统层和/或驱动层。例如,TSM服务器可以将设备认证密钥写入eSE安全芯片的系统层存储空间。由于系统层存储空间与应用层存储空间是隔离开的,TSM服务器将设备认证密钥写入系统层存储空间的安全等级更高。由此,在手机开机时,SoC主芯片与eSE安全芯片之间可以根据TSM服务器预先写入的设备认证密钥进行设备认证,确保了SoC主芯片与eSE安全芯片均为合法芯片。
其中,TSM服务器可以为SoC主芯片与eSE安全芯片分配设备认证密钥,TSM服务器还可以下载或删除eSE安全芯片中的APPLET,等等。
在本申请实施例的一种可能的情况下,SoC主芯片上电后,SoC主芯片获取到eSE安全芯片的标识,SoC主芯片将eSE安全芯片的标识发送至TSM服务器。TSM服务器获取到eSE安全芯片的标识后,生成设备认证密钥。其中,该eSE安全芯片的标识用于唯一标识该eSE安全芯片。
在本申请实施例的另一种可能的情况下,SoC主芯片上电后,SoC主芯片获取到SoC主芯片的标识,SoC主芯片将SoC主芯片的标识发送至TSM服务器。TSM服务器获取到SoC主芯片的标识后,生成设备认证密钥。其中,SoC主芯片的标识能唯一标识该SoC主芯片。
TSM服务器在生产线中将双方认可的设备认证密钥写入至SoC主芯片和eSE安全芯片的安全区域进行存储。由此,SoC主芯片与eSE安全芯片上电后,SoC主芯片与eSE安全芯片之间可以采用安全存储区域中存储的设备认证密钥进行设备认证。
示例性的,图7为本申请提供的一种TSM服务器将设备认证密钥写入eSE安全芯片的流程图。如图7所示,TSM服务器确定eSE安全芯片初始化完成,主安全域(issuersecurity domain,ISD)创建配置完成后,TSM服务器创建ISD安全通道。TSM服务器读取到eSE安全芯片中的近场通信NFC的序列号(secure element id number,SEID)或者其它可以唯一代表eSE安全芯片的唯一标识数据。TSM服务器使用设备认证根密钥对eSE安全芯片的唯一标识数据进行分散,生成设备认证密钥。TSM服务器使用eSE安全芯片提供的私有命令设置设备认证密钥。然后,TSM服务器将设备认证密钥写入eSE安全芯片的安全存储区域。
示例性的,图8为本申请提供的一种TSM服务器将设备认证密钥写入SoC主芯片的流程图。如图8所示,TSM服务器已经生成设备认证密钥后,TSM服务器与SoC主芯片的TA之间进行密钥协商以根据协商得到的密钥建立TSM服务器与TA之间的安全连接通道。TSM服务器在安全连接通道中发送设备认证密钥,TA接收到TSM发送的设备认证密钥后,将设备认证密钥存储至SoC主芯片的安全存储区域。也就是说,TSM服务器向SoC主芯片发送设备认证密钥时,TSM服务器与SoC主芯片可以采用该会话密钥对设备认证密钥进行加/解密。由此,TSM服务器对设备认证密钥加密后发送至SoC主芯片,确保了TSM服务器将设备认证密钥写入SoC主芯片的整个过程的安全性。
在TSM服务器与TA之间进行密钥协商时,可以采用非对称加密算法(diffie-hellman,DH)协商得到TSM服务器与TA之间的会话密钥。
示例性的,假设TSM服务器构建了一对公私密钥,即私钥1和公钥1,TSM服务器向TA公布自己的公钥1。TA获取到TSM服务器公布的公钥1后,TA使用公钥1建立一对密钥,即私钥2和公钥2。TA向TSM服务器公布自己的公钥2。TSM服务器使用自己的私钥1和TA的公钥2构建会话密钥。TA使用自己的私钥2和TSM服务器的公钥1构建会话密钥。TSM服务器和TA构建的会话密钥是相同的,该会话密钥用于对TSM服务器下发至SoC主芯片的设备认证密钥进行加/解密。
需要解释的是,若SoC主芯片和eSE安全芯片的驱动层有足够的存储空间时,TSM服务器可以将设备认证密钥写入SoC主芯片和eSE安全芯片的驱动层的存储区域内。由此,在SoC主芯片和eSE安全芯片之间进行设备认证时,SoC主芯片和eSE安全芯片直接从对应的驱动层的存储区域获取到设备认证密钥进行设备认证。SoC主芯片和eSE安全芯片无需与系统层进行交互,提高了SoC主芯片和eSE安全芯片之间进行设备认证的效率。若SoC主芯片和eSE安全芯片的驱动层没有足够的存储空间时,TSM服务器可以将设备认证密钥写入SoC主芯片和eSE安全芯片的系统层的存储区域内。由于驱动层存储空间、系统层存储空间与应用层存储空间均是隔离开的,TSM服务器将设备认证密钥写入驱动层存储空间或系统层存储空间的安全等级更高。
在本申请实施例中,TSM服务器在SoC主芯片与eSE安全芯片的安全存储区域内写入双方认可的设备认证密钥后,SoC主芯片的驱动层对eSE安全芯片的驱动程序添加设备认证功能代码,eSE安全芯片的COS以及驱动层也添加了设备认证功能代码。由此,SoC主芯片通过驱动对应的设备认证功能代码运行,eSE安全芯片的COS以及驱动层通过驱动对应的设备认证功能代码运行后,SoC主芯片与eSE安全芯片之间才能够进行设备认证。
手机开机后,SoC主芯片在上电后首次使用eSE安全芯片时,SoC主芯片首先向eSE安全芯片发送设备认证命令(比如,APDU命令)以使用设备认证密钥进行设备认证。SoC主芯片与eSE安全芯片之间根据设备认证结果确定是否进行通信。
在一种可能的情况下,如果SoC主芯片与eSE安全芯片之间认证成功,即SoC主芯片与eSE安全芯片之间确保了对方为合法芯片。这种情况下,SoC主芯片可以正常使用eSE芯片,即SoC主芯片与eSE安全芯片之间可以进行通信。在另一种可能的情况下,如果SoC主芯片与eSE安全芯片之间认证失败,即SoC主芯片与eSE安全芯片之间有一方可能为非法芯片。这种情况下,SoC主芯片与eSE安全芯片之间设备认证失败,SoC主芯片设置与eSE安全芯片认证失败的状态并且拒绝与eSE安全芯片进行通信。
下面结合图9详细解释SoC主芯片与eSE安全芯片之间使用设备认证密钥进行设备认证的过程。
示例性的,如图9所示,SoC主芯片在上电后,SoC主芯片对与eSE安全芯片进行通信的eSE接口进行初始化。SoC主芯片生成第一信息(比如,随机数A)后,SoC主芯片将随机数A发送至eSE安全芯片。eSE安全芯片通过eSE接口接收到SoC主芯片发送的随机数A后,eSE安全芯片使用设备认证密钥对随机数A进行加密以生成第一认证密文A1。进一步地,eSE安全芯片生成第二信息(比如,随机数B)后,eSE安全芯片将第一认证密文A1和随机数B同时发送至SoC主芯片。SoC主芯片接收到eSE安全芯片发送的第一认证密文A1后,SoC主芯片对第一认证密文A1进行验证。
在一种可能的情况下,SoC主芯片使用设备认证密钥对第一认证密文A1进行解密后,未得到随机数A。这种情况下,说明SoC主芯片与eSE安全芯片之间设备认证失败,SoC主芯片拒绝与eSE安全芯片进行通信。
在一些实施例中,在SoC主芯片与eSE安全芯片之间设备认证失败后,手机可以提示用户SoC主芯片与eSE安全芯片之间设备认证失败。比如,手机的通知界面显示提示信息,以提示用户SoC主芯片与eSE安全芯片之间设备认证失败,导致SoC主芯片与eSE安全芯片之间无法进行通信。
示例性的,参见图10,手机可以在通知界面显示“提示:SoC主芯片与eSE安全芯片之间认证失败”。由此,用户可以根据手机的通知界面显示的提示信息确定手机无法正常运行的原因,以进行相应处理。
在另一种可能的情况下,SoC主芯片使用设备认证密钥对第一认证密文A1进行解密后,得到随机数A。这种情况下,eSE安全芯片可以确定SoC主芯片为合法芯片。
在本申请实施例中,eSE安全芯片确定SoC主芯片为合法芯片后,SoC主芯片验证eSE安全芯片是否为合法芯片。SoC主芯片验证第一认证密文A1成功后,SoC主芯片使用设备认证密钥对随机数B进行加密以生成第二认证密文B1。SoC主芯片将第二认证密文B1发送至eSE安全芯片。eSE安全芯片接收到SoC主芯片发送的第二认证密文B1后,eSE安全芯片对第二认证密文B1进行验证。
在一些实施例中,eSE安全芯片使用设备认证密钥对第二认证密文B1进行解密后,未得到随机数B。这种情况下,说明SoC主芯片与eSE安全芯片之间设备认证失败,SoC主芯片拒绝与eSE安全芯片进行通信。eSE安全芯片停止运行,并且不返回设备认证成功标识。
在SoC主芯片与eSE安全芯片之间设备认证失败后,也可以在手机的通知界面显示提示信息。由此,手机的系统通过提示信息提示用户SoC主芯片与eSE安全芯片之间设备认证失败,导致SoC主芯片与eSE安全芯片之间无法进行通信。
在一些实施例中,eSE安全芯片使用设备认证密钥对第二认证密文B1进行解密后,得到了随机数B。这种情况下,说明SoC主芯片与eSE安全芯片之间设备认证成功。eSE安全芯片可以继续正常运行,并且向SoC主芯片返回认证成功标识(如,返回1)。SoC主芯片接收到eSE安全芯片返回的认证成功标识后,记录与该eSE安全芯片之间认证成功状态。
在一些实施例中,在SoC主芯片与eSE安全芯片之间设备认证成功后,手机可以提示用户SoC主芯片与eSE安全芯片之间设备认证失败。比如,手机的通知界面显示提示信息,以提示用户SoC主芯片与eSE安全芯片之间设备认证成功,SoC主芯片与eSE安全芯片之间可以进行通信。
示例性的,参见图11,手机可以在通知界面显示“提示:SoC主芯片与eSE安全芯片之间认证成功”。由此,用户可以根据手机的通知界面显示的提示信息确定手机可以正常运行。
需要解释的是,eSE安全芯片在每次上电时均需要与SoC主芯片之间进行设备认证,以确保SoC主芯片与eSE安全芯片均为合法设备,避免eSE安全芯片被非法使用。如果SoC主芯片与eSE安全芯片之间设备认证成功,则进入正常工作状态。否则,eSE安全芯片直接停止运行。也可以理解为,SoC主芯片与eSE安全芯片之间进行设备认证成功后,该认证成功状态仅在本次手机上电期间有效。若手机重新启动,则SoC主芯片与eSE安全芯片之间需要重新进行设备认证。
在本申请实施例的一种可能的情况下,若手机的eSE安全芯片出现故障,手机维修需要更换eSE安全芯片。这种情况下,在维修人员更换手机的eSE安全芯片后,TSM服务器重新生成设备认证密钥。TSM服务器将重新生成的设备认证密钥发送至SoC主芯片与eSE安全芯片的安全存储区域。SoC主芯片与eSE安全芯片之间根据重新生成的设备认证密钥进行设备认证。在SoC主芯片与eSE安全芯片之间进行设备认证成功后,SoC主芯片与eSE安全芯片之间才可以进行通信。
此处,TSM服务器重新生成设备认证密钥以及SoC主芯片与eSE安全芯片之间根据重新生成的设备认证密钥进行设备认证的过程可以参见上述过程,在此不再赘述。
由此,SoC主芯片与eSE安全芯片之间通过上述设备认证流程认证成功后再进行安全通信,避免了eSE安全芯片被暴力拆除后,eSE安全芯片内部应用得不到保护的问题,确保了SoC主芯片与eSE安全芯片的合法性。
目前,SoC主芯片与eSE安全芯片之间通信时,主要还是基于应用层数据加密方法,或者COS层数据加密方法(比如,基于GP安全通道的加密方法等)对通信数据进行加密。现有的数据加密方法不具备普遍适用性,如,基于GP安全通道加密时,一般TA不具备安全通道密钥,因此TA无法对获取到的数据进行解密。
在本申请实施例中,为了提高SoC主芯片与eSE安全芯片之间进行通信时数据的安全性,SoC主芯片与eSE安全芯片可以采用双方约定的密钥对通信数据进行加密后传输。由此,SoC主芯片与eSE安全芯片均采用双方约定的密钥对通信线路上的整个APDU命令数据进行加密,可以确保SoC主芯片与eSE安全芯片之间通信时APDU命令中命令头等信息不被窃取到。
在一些实施例中,SoC主芯片的驱动层可以对eSE驱动程序添加线路数据保护代码,eSE安全芯片的COS以及驱动层也可以对SoC驱动程序添加线路数据保护代码。其中,线路数据保护代码包括密钥协商代码和加密代码。SoC主芯片的驱动层与eSE安全芯片的驱动层通过驱动对应的线路数据保护代码协商出一个第一会话密钥。在SoC主芯片与eSE安全芯片之间每次有数据收发时,SoC主芯片的驱动层与eSE安全芯片的驱动层均采用该第一会话密钥对数据进行加/解密。
需要解释的是,此处将SoC主芯片的驱动层与eSE安全芯片的驱动层通过驱动对应的线路数据保护代码协商出的会话密钥命名为第一会话密钥,是为了与后续在TA与APPLET之间建立安全通道时协商出的会话密钥进行区别,也可以采用其它方式命令,在此不做限定。
在SoC主芯片的驱动层与eSE安全芯片的驱动层之间进行密钥协商时,可以采用密钥交换协议进行密钥协商。例如,SoC主芯片的驱动层与eSE安全芯片的驱动层可以采用DH算法协商得到SoC主芯片与eSE安全芯片通信时的第一会话密钥,以供后续使用。
示例性的,假设SoC主芯片构建了一对公私密钥,即私钥1和公钥1,SoC主芯片向eSE安全芯片公布自己的公钥1。eSE安全芯片获取到SoC主芯片公布的公钥1后,eSE安全芯片使用公钥1建立一对密钥,即私钥2和公钥2。eSE安全芯片向SoC主芯片公布自己的公钥2。SoC主芯片使用自己的私钥1和eSE安全芯片的公钥2构建会话密钥1。eSE安全芯片使用自己的私钥2和SoC主芯片的公钥1构建会话密钥1。SoC主芯片和eSE安全芯片构建的会话密钥1是相同的,该会话密钥1用于对SoC主芯片和eSE安全芯片的驱动层之间的通信数据进行加/解密。
在本申请实施例中,SoC主芯片与eSE安全芯片在每次上电时均驱动线路数据保护代码协商出第一会话密钥,以对SoC主芯片与eSE安全芯片的驱动层之间的通信数据进行加密。
在本申请实施例的一种可能的情况下,SoC主芯片在上电后首次使用eSE安全芯片时,SoC主芯片与eSE安全芯片之间并未使用设备认证密钥进行设备间安全认证。这种情况下,SoC主芯片的驱动层与eSE安全芯片的驱动层之间发起密钥协商,并且生成本次第一会话密钥。SoC主芯片与eSE安全芯片的驱动层之间每次有数据进行收发时,SoC主芯片与eSE安全芯片均采用该第一会话密钥对APDU命令整体进行加密。由此,SoC主芯片与eSE安全芯片的驱动层通过采用第一会话密钥对通信数据进行加密,提高了SoC主芯片与eSE安全芯片的驱动层之间通信时的数据的安全性。
此处,SoC主芯片与eSE安全芯片均采用会话密钥对APDU命令整体进行加密,是指SoC主芯片与eSE安全芯片的驱动层之间通信时均采用第一会话密钥对【CLA|INS|P1|P2|Lc|Data|Le】整体进行加密。加密后的数据在发送方的底层传输协议封装后进行传输,接收方接收到数据后进行解密并向上进行解析处理。
示例性的,如图12所示,SoC主芯片在上电后首次使用eSE安全芯片,SoC主芯片的驱动层与eSE安全芯片的驱动层之间发起密钥协商,并且生成本次第一会话密钥。SoC主芯片与eSE安全芯片之间进行通信时,SoC主芯片与eSE安全芯片的驱动层均采用该第一会话密钥对数据进行对称加密。例如,SoC主芯片的驱动层接收到TEE OS传送过来的待发送数据。其中,待发送数据为明文APDU命令数据。SoC主芯片的驱动层首先使用第一会话密钥对接收到的待发送数据进行加密。即SoC主芯片对明文APDU命令数据进行加密得到密文APDU命令数据。SoC主芯片的驱动层对待发送数据加密后,将加密后的待发送数据发送至eSE安全芯片。eSE安全芯片接收到SoC主芯片发送的加密后的数据后,向SoC主芯片返回响应数据。SoC主芯片接收到eSE安全芯片返回的响应数据后,SoC主芯片的驱动层对接收到的响应数据进行解密。然后,SoC主芯片的驱动层将解密得到的数据返回给TEE OS。SoC主芯片与eSE安全芯片之间的通信过程结束。
在本申请实施例的另一种可能的情况下,SoC主芯片在上电后首次使用eSE安全芯片时,SoC主芯片与eSE安全芯片之间使用设备认证密钥进行设备间安全认证。SoC主芯片与eSE安全芯片之间确定对方为合法设备后,SoC主芯片与eSE安全芯片的驱动层之间可以使用设备认证密钥进行本次上电期间的密钥协商,协商出第一会话密钥。SoC主芯片与eSE安全芯片之间每次有数据进行收发时,SoC主芯片与eSE安全芯片可以采用设备认证密钥和/或协商出的第一会话密钥将APDU命令数据整体进行加密。
由此,在SoC主芯片与eSE安全芯片之间通信之前,SoC主芯片与eSE安全芯片之间采用设备认证密钥进行设备安全认证,确保SoC主芯片与eSE安全芯片均为合法设备后,SoC主芯片与eSE安全芯片之间通信时采用设备认证密钥和/或会话密钥对通信数据进行加密。由于第一会话密钥是根据设备认证密钥协商得到的,第一会话密钥的安全等级更高,SoC主芯片与eSE安全芯片之间通信时采用第一会话密钥进行加密,也提高了SoC主芯片与eSE安全芯片之间通信时数据的安全性。
示例性的,如图13所示,SoC主芯片在上电后首次使用eSE安全芯片,SoC主芯片与eSE安全芯片之间可以先使用设备认证密钥进行本次上电期间的密钥协商,协商出第一会话密钥。SoC主芯片与eSE安全芯片之间进行通信时,SoC主芯片与eSE安全芯片均采用该第一会话密钥对数据进行对称加密。例如,SoC主芯片的驱动层接收到TEE OS传送过来的待发送数据时,SoC主芯片的驱动层首先使用设备认证密钥或者第一会话密钥对接收到的待发送数据进行加密。其中,待发送数据为明文APDU命令数据。SoC主芯片的驱动层对待发送数据加密。即SoC主芯片对明文APDU命令数据进行加密得到密文APDU命令数据。SoC主芯片将加密后的待发送数据发送至eSE安全芯片。eSE安全芯片接收到SoC主芯片发送的加密后的数据后,向SoC主芯片返回响应数据。SoC主芯片接收到eSE安全芯片返回的响应数据后,SoC主芯片的驱动层对接收到的响应数据进行解密。然后,SoC主芯片的驱动层将解密得到的数据返回给TEE OS。SoC主芯片与eSE安全芯片之间的通信过程结束。
需要解释的是,此处SoC主芯片与eSE安全芯片之间采用设备认证密钥进行设备安全认证的过程,可以参见上述实施例中的认证过程,在此不再赘述。
为了提高SoC主芯片的TA和eSE安全芯片的APPLET之间通信时的安全等级,在SoC主芯片的驱动层与eSE安全芯片的驱动层采用设备认证密钥认证SoC主芯片与eSE安全芯片均为合法设备后,SoC主芯片与eSE安全芯片可以采用设备认证密钥在TA与APPLET之间建立安全通道。即SoC主芯片与eSE安全芯片可以采用设备认证密钥在TA与APPLET之间生成一个第二会话密钥。由此,在TA与APPLET之间进行通信时,采用该第二会话密钥对TA与APPLET之间的通信数据进行加/解密,提高了TA与APPLET通信的安全等级。
下面结合图14详细介绍SoC主芯片的TA与eSE安全芯片的APPLET之间的安全通道建立过程。
示例性的,如图14所示,SoC主芯片与eSE安全芯片之间通过设备认证密钥确定对方均为合法设备后,SoC主芯片的驱动层将设备认证密钥提供给TEE OS,TEE OS获取到设备认证密钥后,对设备认证密钥进行安全存储。同样的,eSE安全芯片的驱动层也将设备认证密钥提供给COS,COS获取到设备认证密钥后,对设备认证密钥进行安全存储。
SoC主芯片可以在TEE系统添加应用程序编程接口(application programminginterface,API),SoC主芯片通过API接口将存储在TEE OS的设备认证密钥提供给TA使用。同样的,eSE安全芯片可以在COS系统添加API接口,eSE安全芯片通过API接口将存储在COS的设备认证密钥提供给APPLET使用。其中,API接口提供了数据加密、数据解密以及密钥协商的功能,这样TA和APPLET在进行通信时可以调用这些接口进行数据加/解密、合法设备认证等操作。例如,API接口包括但不限于表1-1和1-2中的函数。
表1-1
表1-2
在TA与APPLET之间建立安全通道时,TA总是发起方,APPLET总是被动接收和处理方。
在一些实施例中,TA调用函数SafeChanelInitforTA()进行安全通道初始化。函数SafeChanelInitforTA()生成随机数X,并返回至TA中。TA将该随机数X组成APDU命令C-APDU-1报文发送至APPLET中。
APPLET接收到C-APDU-1命令后,调用SafeChanelInitforAPPLET()函数。SafeChanelInitforAPPLET()函数从COS的安全存储区域中获取设备认证密钥,对随机数X生成APPLET认证密文数据X1,并生成随机数Y,以及密钥分散数据KEYDIV等。SafeChanelInitforAPPLET()函数将随机数Y以及密钥分散数据KEYDIV返回至APPLET中。其中,APPLET对KEYDIV进行存储进行后续使用。APPLET将上述数据作为返回数据R-APDU-1报文发送至TA中。
TA获取R-APDU-1报文后,调用SafeChanelSetupforTA()函数。SafeChanelSetupforTA()函数从TEE OS的安全存储区域中获取设备认证密钥,进而,采用设备认证密钥对X1进行解密,以认证APPLET的合法性。SafeChanelSetupforTA()函数对随机数Y进行加密以生成TA认证密文数据Y1,并且根据密钥分散数据KEYDIV进行生成本次第二会话密钥以待使用。SafeChanelSetupforTA()函数将Y1返回至TA中。TA将TA认证密文数据Y1组成APDU命令C-APDU-2报文发送至APPLET中。
APPLET接收到C-APDU-2命令后,调用SafeChanelSetupforApplet()函数。SafeChanelSetupforApplet()函数从COS的安全存储区域中获取设备认证密钥,对Y1进行解密,以认证TA的合法性。如果认证TA合法,则SafeChanelSetupforApplet()函数根据KEYDIV数据生成本次第二会话密钥以待使用。SafeChanelSetupforApplet()函数将TA合法性结果返回至APPLET中。APPLET将TA合法性结果作为返回数据R-APDU-2报文发送至TA中。
以上APPLET和TA进行了双向身份认证,并生成了一致的第二会话密钥,建立完成了安全通道。
在TA与APPLET之间进行通信时,TA可以调用SafeChanelENCforTA()函数将明文数据DATA1进行加密。SafeChanelENCforTA()函数从TEE OS的安全存储区域中获取到第二会话密钥,对传送进来的明文数据进行加密生成密文ENCDATA1并返回至TA中。TA将ENCDATA1组成APDU命令数据C-APDU-3发送至TEE OS,TEE OS将接收到的APDU命令数据发送至SoC主芯片的驱动层。
APPLET接收到C-APDU-3命令数据后,可以调用SafeChanelDECforApplet()函数进行解密。
在一种可能的情况下,SoC主芯片的驱动层可以采用设备认证密钥和/或第一会话密钥对整个APDU命令数据进行加密,得到密文APDU命令数据。SoC主芯片的驱动层将密文APDU命令数据发送至eSE安全芯片的驱动层。eSE安全芯片的驱动层对密文APDU命令数据进行解密,得到对通信数据加密后的APDU命令数据。eSE安全芯片的驱动层将对通信数据加密后的APDU命令数据发送至COS。COS将对通信数据加密后的APDU命令数据发送至APPLET。APPLET调用SafeChanelDECforApplet()函数进行解密,SafeChanelDECforApplet()函数从COS获取到第二会话密钥后,使用第二会话密钥对通信数据加密后的APDU命令数据进行解密并返回至APPLET,APPLET得到TA发送的通信数据。
需要解释的是,APPLET无法从SoC主芯片的驱动层获取到设备认证密钥或者第二会话密钥。同样的,TA也无法从eSE安全芯片的驱动层获取到设备认证密钥或者第二会话密钥。这种情况下,APPLET与TA通过调用API函数获取设备认证密钥或者第二会话密钥,实现了在APPLET与TA通信时对数据进行加/解密。
由此,APPLET与TA通过调用API函数获取到设备认证密钥后,在APPLET与TA之间建立安全通道,并生成第二会话密钥。在APPLET与TA之间进行通信时,APPLET与TA调用API函数以使用第二会话密钥对通信数据进行加/解密,从而提高了APPLET与TA通信时的安全等级。
在本申请实施例的一种可能的情况下,SoC主芯片与eSE安全芯片之间使用设备认证密钥确定对方为合法设备。SoC主芯片与eSE安全芯片之间进行通信时,SoC主芯片与eSE安全芯片的驱动层之间可以采用双方约定的第一会话密钥对整个APDU命令数据进行加密后传输。同时,为了提高SoC主芯片的TA与eSE安全芯片的APPLET之间通信的安全性,APPLET与TA通过调用API函数获取到设备认证密钥后,在APPLET与TA之间建立安全通道,并生成第二会话密钥。在APPLET与TA之间进行通信时,APPLET与TA调用API函数以使用第二会话密钥对通信数据进行加/解密。
需要解释的是,上述SoC主芯片与eSE安全芯片之间的设备认证过程,SoC主芯片与eSE安全芯片可以采用双方约定的会话密钥对通信数据进行加密的过程,以及在APPLET与TA之间建立安全通道的过程,可以参见上述实施例的具体实现过程,在此不再赘述。
综上所述,本申请实施例中,SoC主芯片与eSE安全芯片之间使用设备认证密钥确定对方为合法设备,解决了eSE安全芯片被暴力拆除后,eSE安全芯片的内部应用可能被非法使用的问题,提高了SoC主芯片与eSE安全芯片之间通信数据的安全性。在SoC主芯片与eSE安全芯片的驱动层之间传输数据时,采用协商的第一会话密钥对整个APDU命令数据进行加密,提高了SoC主芯片与eSE安全芯片之间通信时数据的安全性。在APPLET与TA之间进行通信时,APPLET与TA调用API函数以使用第二会话密钥对通信数据进行加密,进一步地,SoC主芯片与eSE安全芯片的驱动层之间对包含有加密后的通信数据的APDU命令数据进行加密,更加提高了APPLET与TA通信时的安全等级。
如图15所示,本申请实施例公开了一种电子设备,该电子设备可以为上述手机。该电子设备具体可以包括:触摸屏1501,所述触摸屏1501包括触摸传感器1506和显示屏1507;一个或多个处理器1502;存储器1503;一个或多个应用程序(未示出);以及一个或多个计算机程序1504,上述各器件可以通过一个或多个通信总线1505连接。其中,上述一个或多个计算机程序1504被存储在上述存储器1503中并被配置为被该一个或多个处理器1502执行,该一个或多个计算机程序1504包括指令,该指令可以用于执行上述实施例中的相关步骤。
可以理解的是,上述终端等为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。
本申请实施例可以根据上述方法示例对上述终端等进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,上述实施例中涉及的电子设备的一种可能的组成示意图,该电子设备可以包括:显示单元、传输单元和处理单元等。需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
本申请实施例还提供一种电子设备,包括一个或多个处理器以及一个或多个存储器。该一个或多个存储器与一个或多个处理器耦合,一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当一个或多个处理器执行计算机指令时,使得电子设备执行上述相关方法步骤实现上述实施例中的安全认证方法。
本申请的实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,当该计算机指令在电子设备上运行时,使得电子设备执行上述相关方法步骤实现上述实施例中的安全认证方法。
本申请的实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中电子设备执行的安全认证方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使装置执行上述各方法实施例中电子设备执行的安全认证方法。
其中,本实施例提供的电子设备、计算机可读存储介质、计算机程序产品或装置均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (16)
1.一种安全认证方法,应用于电子设备,所述电子设备包括系统主芯片SoC和嵌入式安全芯片eSE,所述SoC主芯片包括可信应用TA,所述eSE安全芯片包括应用程序APPLET,其特征在于,所述方法包括:
所述SoC主芯片和所述eSE安全芯片获取设备认证密钥;所述设备认证密钥是根据所述SoC主芯片和/或所述eSE安全芯片的标识生成的,为预先写入在所述SoC主芯片和所述eSE安全芯片对应的驱动层或系统层存储区域的;
所述SoC主芯片与所述eSE安全芯片之间采用所述设备认证密钥进行设备认证;
若所述设备认证成功,则所述SoC主芯片的驱动层与所述eSE安全芯片的驱动层之间协商出第一会话密钥;所述SoC主芯片与所述eSE安全芯片之间通信时,所述SoC主芯片与所述eSE安全芯片采用所述第一会话密钥和/或所述设备认证密钥对通信数据进行加/解密;所述TA与所述APPLET之间协商出第二会话密钥;所述TA与所述APPLET之间进行通信时,所述TA与所述APPLET采用所述第二会话密钥和/或所述设备认证密钥对通信数据进行加/解密。
2.根据权利要求1所述的方法,其特征在于,所述SoC主芯片与所述eSE安全芯片之间采用所述设备认证密钥进行设备认证,包括:
所述eSE安全芯片采用所述设备认证密钥对所述SoC主芯片的第一信息进行加密,生成第一认证密文;
所述eSE安全芯片将所述第一认证密文发送至所述SoC主芯片;
所述SOC主芯片采用所述设备认证密钥对所述第一认证密文进行解密,以根据解密结果对所述eSE安全芯片进行设备认证。
3.根据权利要求1所述的方法,其特征在于,所述SoC主芯片与所述eSE安全芯片之间采用所述设备认证密钥进行设备认证,还包括:
所述SoC主芯片采用所述设备认证密钥对所述eSE安全芯片的第二信息进行加密,生成第二认证密文;
所述SoC主芯片将所述第二认证密文发送至所述eSE安全芯片;
所述eSE安全芯片采用所述设备认证密钥对所述第二认证密文进行解密,以根据解密结果对所述SoC主芯片进行设备认证。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若所述eSE安全芯片根据解密结果确定所述SoC主芯片认证成功,则所述eSE安全芯片向所述SoC主芯片发送设备认证成功标识。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若所述eSE安全芯片根据解密结果确定所述SoC主芯片认证失败,则所述eSE安全芯片停止运行。
6.根据权利要求5所述的方法,其特征在于,所述确定所述SoC主芯片认证失败之后,还包括:
所述电子设备显示所述提示信息;其中,所述提示信息用于提示用户所述SoC主芯片与所述eSE安全芯片之间设备认证失败。
7.根据权利要求1所述的方法,其特征在于,所述通信数据为应用协议数据单元APDU命令数据,所述SoC主芯片与所述eSE安全芯片采用所述第一会话密钥和/或所述设备认证密钥对通信数据进行加/解密,包括:
所述SoC主芯片与所述eSE安全芯片采用所述第一会话密钥和/或所述设备认证密钥对所述APDU命令数据进行加/解密。
8.根据权利要求7所述的方法,其特征在于,所述SoC主芯片包括可信执行环境操作系统TEE OS,所述SoC主芯片与所述eSE安全芯片采用所述第一会话密钥和/或所述设备认证密钥对所述APDU命令数据进行加/解密,包括:
所述SoC主芯片的驱动层接收所述TEE OS发送的明文APDU命令数据;
所述SoC主芯片的驱动层采用所述第一会话密钥和/或所述设备认证密钥对所述明文APDU命令数据进行加密,得到密文APDU命令数据;
所述SoC主芯片的驱动层将所述密文APDU命令数据发送至所述eSE安全芯片的驱动层;
所述eSE安全芯片的驱动层采用所述第一会话密钥和/或所述设备认证密钥对所述密文APDU命令数据进行解密,得到所述明文APDU命令数据。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述第一会话密钥是根据所述设备认证密钥生成的。
10.根据权利要求1-8任一项所述的方法,其特征在于,所述TA与所述APPLET之间协商出第二会话密钥,包括:
所述TA与所述APPLET调用函数,以获取所述设备认证密钥;
所述TA与所述APPLET调用函数,以根据所述设备认证密钥协商出所述第二会话密钥。
11.根据权利要求1-8任一项所述的方法,其特征在于,所述eSE安全芯片包括芯片操作系统COS,所述TA与所述APPLET采用所述第二会话密钥和/或所述设备认证密钥对通信数据进行加/解密,包括:
所述TA调用加密函数对明文数据进行加密;其中,所述加密函数用于获取到所述第二会议密钥后对所述明文数据进行加密,生成密文数据并返回至所述TA;
所述TA将所述密文数据组成APDU命令数据发送至TEE OS,以使得所述TEE OS将接收到的所述APDU命令数据发送至所述SoC主芯片的驱动层;
所述SoC主芯片的驱动层将所述APDU命令数据发送至所述eSE安全芯片的驱动层;
所述eSE安全芯片的驱动层将所述APDU命令数据发送至所述COS,以使得所述COS将所述APDU命令数据发送至所述APPLET;
所述APPLET调用解密函数对所述APDU命令数据进行解密,得到所述明文数据。
12.根据权利要求11所述的方法,其特征在于,所述SoC主芯片的驱动层将所述APDU命令数据发送至所述eSE安全芯片的驱动层,包括:
所述SoC主芯片的驱动层与所述eSE安全芯片的驱动层之间协商出第一会话密钥;
所述SoC主芯片的驱动层采用所述第一会话密钥和/或所述设备认证密钥对所述APDU命令数据进行加密后,将加密后的所述APDU命令数据发送至eSE安全芯片的驱动层。
13.根据权利要求1-8任一项所述的方法,其特征在于,所述方法还包括:
所述SoC主芯片获取所述SoC主芯片和/或所述eSE安全芯片的标识;
所述SoC主芯片将所述SoC主芯片和/或所述eSE安全芯片的标识发送至全面维护系统TSM服务器,以使得所述TSM服务器根据所述SoC主芯片和/或所述eSE安全芯片的标识生成所述设备认证密钥。
14.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器;
其中,所述存储器中存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令,当所述指令被所述电子设备执行时,使得所述电子设备执行如权利要求1-13中任一项所述的安全认证方法。
15.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,其特征在于,当所述指令在电子设备上运行时,使得所述电子设备执行如权利要求1-13中任一项所述的安全认证方法。
16.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1-13中任一项所述的安全认证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110926974.2A CN113821787B (zh) | 2021-08-12 | 2021-08-12 | 一种安全认证方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110926974.2A CN113821787B (zh) | 2021-08-12 | 2021-08-12 | 一种安全认证方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113821787A true CN113821787A (zh) | 2021-12-21 |
CN113821787B CN113821787B (zh) | 2022-12-16 |
Family
ID=78913134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110926974.2A Active CN113821787B (zh) | 2021-08-12 | 2021-08-12 | 一种安全认证方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113821787B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115242558A (zh) * | 2022-09-22 | 2022-10-25 | 城云科技(中国)有限公司 | Api接口安全加密方法和认证方法及其应用 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160239686A1 (en) * | 2015-02-17 | 2016-08-18 | Samsung Electronics Co., Ltd. | Storing and using data with secure circuitry |
CN108768963A (zh) * | 2018-05-11 | 2018-11-06 | 北京握奇智能科技有限公司 | 可信应用与安全元件的通信方法和系统 |
WO2020088323A1 (zh) * | 2018-11-01 | 2020-05-07 | 华为技术有限公司 | 一种能力开放方法及装置 |
CN111600854A (zh) * | 2020-04-29 | 2020-08-28 | 北京智芯微电子科技有限公司 | 智能终端与服务端建立安全通道的方法 |
-
2021
- 2021-08-12 CN CN202110926974.2A patent/CN113821787B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160239686A1 (en) * | 2015-02-17 | 2016-08-18 | Samsung Electronics Co., Ltd. | Storing and using data with secure circuitry |
CN108768963A (zh) * | 2018-05-11 | 2018-11-06 | 北京握奇智能科技有限公司 | 可信应用与安全元件的通信方法和系统 |
WO2020088323A1 (zh) * | 2018-11-01 | 2020-05-07 | 华为技术有限公司 | 一种能力开放方法及装置 |
CN111600854A (zh) * | 2020-04-29 | 2020-08-28 | 北京智芯微电子科技有限公司 | 智能终端与服务端建立安全通道的方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115242558A (zh) * | 2022-09-22 | 2022-10-25 | 城云科技(中国)有限公司 | Api接口安全加密方法和认证方法及其应用 |
CN115242558B (zh) * | 2022-09-22 | 2022-12-09 | 城云科技(中国)有限公司 | Api接口安全加密方法和认证方法及装置、可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113821787B (zh) | 2022-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200265418A1 (en) | Electronic device and method for providing digital signature service of block chain using the same | |
JP6092415B2 (ja) | Nfcに基いた指紋認証システム及び指紋認証方法 | |
CN110059499A (zh) | 一种文件访问权限认证方法及电子设备 | |
US11496900B2 (en) | Electronic device and method for storing user identification information | |
CN106330442A (zh) | 身份认证方法、装置及系统 | |
CN114944925B (zh) | 信令的安全传输方法、装置、服务器和se芯片 | |
US11366929B2 (en) | Electronic device and method for protecting personal information using secure switch | |
CN113408016B (zh) | 保存密文的方法和装置 | |
WO2021057982A1 (zh) | 应用程序的处理方法及相关产品 | |
CN113821787B (zh) | 一种安全认证方法及电子设备 | |
CN114245375B (zh) | 一种密钥跨设备分发方法及电子设备 | |
CN104320261A (zh) | 金融智能卡上实现身份认证的方法、金融智能卡和终端 | |
CN113596811B (zh) | 一种数据传输方法及终端设备 | |
CN113676440B (zh) | 通信过程中的权限协商方法、装置和电子设备 | |
CN115706993A (zh) | 认证方法、可读介质和电子设备 | |
CN115146253A (zh) | 一种移动App登录方法、移动设备及系统 | |
CN117176362B (zh) | 一种认证方法和装置 | |
CN116049826B (zh) | 基于tpm的数据保护方法、电子设备及存储介质 | |
CN117852565B (zh) | Nfc卡片生成方法、系统、装置、电子设备及服务器 | |
WO2022042273A1 (zh) | 密钥使用方法及相关产品 | |
CN116028916A (zh) | 一种设备控制方法与相关设备 | |
CN117353945A (zh) | 互联协同的方法和电子设备 | |
CN114095205A (zh) | 一种蓄电池远程核容数据加密传输的通信系统及方法 | |
KR101777042B1 (ko) | 비동기식 근거리 무선 통신 기반 전자서명 카드 | |
CN117009971A (zh) | 数据处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230911 Address after: 201306 building C, No. 888, Huanhu West 2nd Road, Lingang New District, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai Patentee after: Shanghai Glory Smart Technology Development Co.,Ltd. Address before: Unit 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong 518040 Patentee before: Honor Device Co.,Ltd. |
|
TR01 | Transfer of patent right |