CN117792767A - 通信方法、相关装置及存储介质 - Google Patents

通信方法、相关装置及存储介质 Download PDF

Info

Publication number
CN117792767A
CN117792767A CN202311853409.3A CN202311853409A CN117792767A CN 117792767 A CN117792767 A CN 117792767A CN 202311853409 A CN202311853409 A CN 202311853409A CN 117792767 A CN117792767 A CN 117792767A
Authority
CN
China
Prior art keywords
key
data
execution environment
trusted execution
secure element
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
CN202311853409.3A
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.)
Wuxi Rongka Technology Co ltd
Original Assignee
Wuxi Rongka 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 Wuxi Rongka Technology Co ltd filed Critical Wuxi Rongka Technology Co ltd
Priority to CN202311853409.3A priority Critical patent/CN117792767A/zh
Publication of CN117792767A publication Critical patent/CN117792767A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本公开提供一种通信方法、相关装置及存储介质。该通信方法包括:使用密钥协商的方式,确定可信执行环境和安全元件之间共享的安全通道密钥,基于安全通道密钥对可信执行环境和安全元件进行身份认证,在身份认证通过的情况下,基于安全通道密钥生成可信执行环境和安全元件之间共享的会话密钥,基于会话密钥对可信执行环境和安全元件之间的待传输数据进行加解密操作,以便于在可信执行环境和安全元件之间传输待传输数据的密文数据,减少了可信执行环境与安全元件之间的数据通信对终端设备的其他软件和硬件的依赖性,提高了可信执行环境与安全元件之间的数据通信的安全性。

Description

通信方法、相关装置及存储介质
技术领域
本公开属于信息安全技术领域,具体涉及一种通信方法、相关装置及存储介质。
背景技术
在终端设备中,TAM(Trusted Application Management,可信应用管理)服务器和TSM(Trusted Service Manager,可信应用服务管理)服务器分别基于安全通信根密钥进行分散生成安全通道密钥,并将安全通道密钥发送给可信执行环境(Trusted ExecutionEnvironment,TEE)中的可信应用(Trusted Application,TA)与(Secure Element,SE),以便于可信应用与安全元件基于安全通道密钥进行数据安全通信,这增加了可信执行环境与安全元件之间的数据通信对终端设备中其他软件和硬件的依赖性,降低了可信执行环境与安全元件之间数据通信的安全性。
发明内容
鉴于上述问题,本公开提供了一种通信方法、相关装置及存储介质,旨在减少可信执行环境与安全元件之间的数据通信对终端设备的其他软件和硬件的依赖性,提高可信执行环境与安全元件之间的数据通信的安全性。
根据本公开的第一方面,提供一种通信方法,包括:
使用密钥协商的方式,确定可信执行环境和安全元件之间共享的安全通道密钥;
基于所述安全通道密钥对所述可信执行环境和所述安全元件进行身份认证;
在身份认证通过的情况下,基于所述安全通道密钥生成所述可信执行环境和所述安全元件之间共享的会话密钥;
基于所述会话密钥对所述可信执行环境和所述安全元件之间的待传输数据进行加解密操作,以便于在所述可信执行环境和所述安全元件之间传输所述待传输数据的密文数据。
可选地,所述基于所述会话密钥对所述可信执行环境和所述安全元件之间的待传输数据进行加解密操作,以便于在所述可信执行环境和所述安全元件之间传输所述待传输数据的密文数据,包括:
在所述可信执行环境或所述安全元件,基于所述会话密钥对所述待传输数据进行加密操作得到密文数据,将所述密文数据传输给所述安全元件或所述可信执行环境,以便于在所述安全元件或所述可信执行环境使用所述会话密钥对所述密文数据进行解密操作,得到所述待传输数据的明文数据。
可选地,所述待传输数据的数据包的报文格式包括安全状态管理字段,所述安全状态管理字段用于确定是否需要对所述数据包进行加解密操作,
所述基于所述会话密钥对所述可信执行环境和所述安全元件之间的待传输数据进行加解密操作,以便于在所述可信执行环境和所述安全元件之间传输所述待传输数据的密文数据之前,所述通信方法还包括:
基于所述安全状态管理字段确定是否需要对所述待传输数据的数据包进行加解密操作;
所述基于所述会话密钥对所述可信执行环境和所述安全元件之间的待传输数据进行加解密操作,以便于在所述可信执行环境和所述安全元件之间传输所述待传输数据的密文数据,包括:
在基于所述安全状态管理字段确定需要对所述待传输数据的数据包进行加解密操作的情况下,基于所述会话密钥对所述可信执行环境和所述安全元件之间的待传输数据进行加解密操作。
可选地,所述待传输数据的数据包的报文格式包括信息字段,所述基于所述会话密钥对所述可信执行环境和所述安全元件之间的待传输数据进行加解密操作,以便于在所述可信执行环境和所述安全元件之间传输所述待传输数据的密文数据,包括:
基于所述会话密钥对所述待传输数据的数据包中的所述信息字段进行加解密操作,以便于在所述可信执行环境和所述安全元件之间传输所述待传输数据的数据包中的所述信息字段的密文数据。
可选地,所述基于所述会话密钥对所述可信执行环境和所述安全元件之间的待传输数据进行加解密操作,以便于在所述可信执行环境和所述安全元件之间传输所述待传输数据的密文数据,包括:
基于所述会话密钥对所述待传输数据的数据包进行加解密操作,以便于在所述可信执行环境和所述安全元件之间传输所述待传输数据的数据包的密文数据。
可选地,所述使用密钥协商的方式,确定可信执行环境和安全元件之间共享的安全通道密钥,包括:
在所述可信执行环境或所述安全元件,接收所述安全元件或所述可信执行环境中生成的第一密钥对中的第一公钥;
生成第二密钥对,所述第二密钥对包括第二公钥和第二私钥;
利用密钥协商算法,对所述第二私钥和所述第一公钥进行计算,得到第一协商密钥;
利用密钥派生算法,对所述第一协商密钥进行计算,得到第一安全通道密钥;
利用所述第一安全通道密钥对所述第一公钥进行加密,得到所述第一公钥的密文数据;
将所述第一公钥的密文数据和所述第二公钥发送给所述安全元件或所述可信执行环境,以便于在所述安全元件或所述可信执行环境,
利用密钥协商算法,对所述第一密钥对中的第一私钥和所述第二公钥进行计算,得到第二协商密钥,
利用密钥派生算法,对所述第二协商密钥进行计算,得到第二安全通道密钥,
利用所述第二安全通道密钥对所述第一公钥的密文数据进行解密,得到所述第一公钥的明文数据,
将所述第一公钥的明文数据与所述第一公钥进行比较,基于比较结果确定所述可信执行环境和所述安全元件之间的安全通道密钥协商结果,
如果安全通道密钥协商成功,则在所述可信执行环境或所述安全元件,将所述第一安全通道密钥确定为所述可信执行环境和所述安全元件之间共享的安全通道密钥,在所述安全元件或所述可信执行环境,将所述第二安全通道密钥确定为所述可信执行环境和所述安全元件之间共享的安全通道密钥。
可选地,所述第一公钥是第三方证书颁发机构为所述安全元件颁发的数字证书中的公钥,所述第二公钥是第三方证书颁发机构为所述可信执行环境颁发的数字证书中的公钥;或
所述第一公钥是第三方证书颁发机构为所述可信执行环境颁发的数字证书中的公钥,所述第二公钥是第三方证书颁发机构为所述安全元件颁发的数字证书中的公钥。
根据本公开第二方面,提供一种通信装置,包括:
安全通道密钥确定单元,用于使用密钥协商的方式,确定可信执行环境和安全元件之间共享的安全通道密钥;
身份认证单元,用于基于所述安全通道密钥对所述可信执行环境和所述安全元件进行身份认证;
会话密钥生成单元,用于在身份认证通过的情况下,基于所述安全通道密钥生成所述可信执行环境和所述安全元件之间共享的会话密钥;
加解密单元,用于基于所述会话密钥对所述可信执行环境和所述安全元件之间的待传输数据进行加解密操作,以便于在所述可信执行环境和所述安全元件之间传输所述待传输数据的密文数据。
根据本公开的第三方面,提供一种电子设备,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如上所述的方法的步骤。
根据本公开的第四方面,提供一种存储介质,所述存储介质上存储有计算机程序或指令,所述计算机程序或指令被处理器执行时实现如上所述的方法的步骤。
本公开带来了以下有益效果:
本公开提供的通信方法,使用密钥协商的方式,确定可信执行环境和安全元件之间共享的安全通道密钥,基于安全通道密钥对可信执行环境和安全元件进行身份认证,在身份认证通过的情况下,基于安全通道密钥生成可信执行环境和安全元件之间共享的会话密钥,基于会话密钥对可信执行环境和安全元件之间的待传输数据进行加解密操作,以便于在可信执行环境和安全元件之间传输待传输数据的密文数据,这样,无需依赖终端设备中的其他软件和硬件,降低了可信执行环境和安全元件之间的待传输数据泄露的风险,提高了可信执行环境和安全元件之间的待传输数据的安全性。
本公开的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本公开而了解。本公开的目的和其他优点在说明书以及附图中所特别指出的结构来实现和获得。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1为根据本公开一个实施例提供的可信服务系统的结构示意图;
图2为根据本公开一个实施例提供的终端设备的结构示意图;
图3为根据本公开一个实施例提供的通信方法的流程示意图;
图4为根据本公开一个实施例提供的安全通道密钥确定方法的流程示意图;
图5为根据本公开一个实施例提供的安全通道密钥确定方法的流程示意图;
图6为根据本公开一个实施例提供的安全通道密钥确定方法的流程示意图;
图7为根据本公开一个实施例提供的数据包的报文格式的示意图;
图8为根据本公开一个实施例提供的通信装置的结构示意图;
图9为根据本公开一个实施例提供的电子设备的结构示意图。
具体实施方式
以下将参照附图更详细地描述本公开的各种实施例。在各个附图中,相同的元件采用相同或类似的附图标记来表示。为了清楚起见,附图中的各个部分没有按比例绘制。
在本文中使用以下术语:
操作系统(Operating System,OS),是管理计算机硬件与软件资源的计算机程序,是计算机系统的内核与基石。终端设备提供了富执行环境(Rich Execution Environment,REE)和可信执行环境(Trusted Execution Environment,TEE)。在REE中运行大处理能力和多媒体功能的主操作系统,如Android、iOS等。TEE是与主操作系统隔离的安全环境,例如TEE中运行高安全级别的安全操作系统。
可信执行环境(Trusted Execution Environment,TEE),是一种安全环境,是与主操作系统隔离的计算机系统中的环境,使用硬件和软件两者来提供隔离。TEE典型地具有与主操作系统相比更安全并且针对执行应用提供增加的安全等级。在TEE中运行的可信应用(Trusted Application,TA)具有对设备的主处理器和存储器的完全访问权,同时硬件隔离保护TA免受运行在主操作系统中的用户安装的应用影响。TEE内的软件和密码隔离保护TEE内包含的TA免受彼此影响。TEE可以由处理器实现,该处理器包括安全执行技术,例如,Intel的SGX技术、Intel的可管理引擎、或者ARM的TrustZone。
安全元件(Secure Element,SE),也是一种安全环境,是一种具有防篡改功能的电子元件,可以安装到终端设备上以提供安全的、机密的数据保存和运行环境。SE由软件和防篡改硬件组成,支持高级别的安全性,如SIM卡、金融IC卡、智能SD卡等,可以与TEE一起运行。
客户端应用(Client Application,CA)和可信应用(Trusted Application,TA),分别是运行在REE和TEE上的应用。CA是第三方业务应用访问TA的唯一通道,承担了对TA的访问控制管理,将第三方业务应用需要隔离保护的核心代码、关键业务逻辑、敏感数据分离到TA里实现。例如,CA提供TA的管理功能和证书管理功能。TA可以访问设备主处理器和内存的全部功能,硬件隔离技术保护其不受安装在REE的应用的影响。
图1示出根据本公开一个实施例提供的可信服务系统的结构示意图。如图1所示,本公开实施例提供的可信服务系统1000包括:经由网络连接的多个终端设备100和多个第三方业务服务器200。
第三方业务服务器200是由服务提供商(Service Provider,缩写为SP)在网络环境下为终端设备100提供第三方业务服务的专用计算机系统。第三方业务例如包括:在线银行业务、在线商务、在线教育、在线投票等。可以理解,第三方业务服务器200的数据安全是极其重要的。
终端设备100是可以在移动状态使用的通信设备。终端设备100包括移动电话、移动电脑、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、媒体播放器、智能电视、智能手表、智能眼镜、智能手环、智能汽车及车载终端等。
终端设备100支持多个第三方业务的服务提供商,即,多个第三方业务服务器200。在手机盾的应用场景中,终端设备100例如是用户使用的智能手机,第三方业务服务器200的服务提供商例如是银行,第三方业务例如是银行提供的移动支付服务。在一些实施例中,终端设备100通过发送业务调用请求来请求第三方业务服务器200提供第三方业务。
图2为根据本公开一个实施例提供的终端设备的结构示意图。如图2所示,本公开实施例提供的终端设备100的操作环境包括REE 110、TEE 120和SE 130。
在一些实施例中,在REE 110中部署有富操作系统(Rich Operating System,ROS)111和CA 112。在TEE120中部署有可信操作系统(Trusted Operating System,TOS)121、和与REE 110中的CA 112对应的TA 122。在一些实施例中,在SE 130中部署有芯片操作系统(Chip Operating System,COS)131、以及在SE 130中的与TA 122对应的安全元件应用(Applet)132。需要说明的是,REE 110的安全性较低,容易受到攻击。TEE120的安全性高于REE 110,例如用于支持支付业务中校验支付环境等功能。SE 130的安全性在REE 110、TEE120和SE 130中最高。在一些实施例中,TEE 120还包括存储密钥等敏感数据的存储器123。SE 130还包括存储密钥等敏感数据的存储器133。在一些实施例中,富操作系统111、可信操作系统121和芯片操作系统131具有通信接口(例如,应用程序编程接口(ApplicationProgramming Interface,API)、串行外设接口(Serial Peripheral Interface,SPI)和串行双线接口(Inter-Integrated Circuit,I2C)),这样,尽管CA 112、TA 122和安全元件应用132分别运行在彼此隔离的环境中,但是CA 112和TA 122可以通过调用富操作系统111和可信操作系统121之间的通信接口通信,TA 122和安全元件应用132可以通过调用可信操作系统121和芯片操作系统131之间的通信接口通信,从而CA 112可以使用TEE 120和SE 130提供的安全功能。REE 110、TEE 120和SE 130之间相互配合从而可以保证终端设备100的系统安全。
在一些实施例中,在终端设备100中,任何第三方业务的服务提供商的完整应用均包括CA 112、以及与CA 112对应的TA 122。CA 112与其对应的TA 122协同工作,实现应用程序的完整功能。在一些实施例中,CA 112将第三方业务应用需要隔离保护的核心代码、关键业务逻辑、敏感数据等分离到TA 122中实现。在一些实施例中,在特定服务提供商的第三方业务为移动支付的情形下,可以提供在REE 110下运行的CA 112和在TEE 120下运行的TA122,其中,CA 112和TA 122一一对应。在一个示例中,以支付宝应用为例,在开发阶段,可以开发支付宝的客户端应用的安装文件和可信应用的安装文件。在REE 110中,处理器加载支付宝的客户端应用的安装文件,以运行支付宝的客户端应用。在TEE 120中,处理器加载支付宝的可信应用的安装文件,以运行支付宝的可信应用。在一些实施例中,SE 130主要执行安全密码学相关的运算,TA 122通过与SE 130交互来实现用户密钥应用以及用户密码和生物特征认证等。在一些实施例中,用户可以通过使用TEE 120的可信用户界面,实现与TEE120中的TA 122交互,从而向SE 130发送执行命令或信息。SE 130中的安全元件应用132在接收到该命令或信息后执行该命令或对该信息进行处理,并且可以将该命令的执行结果或该信息的处理结果返回TEE 120中的TA 122。例如,SE 130中的安全元件应用132在接收到命令或信息后,在SE 130中执行校验用户PIN码或对用户确认的数据进行签名等,并且将校验结果或签名结果返回TEE 120中的TA 122。
容易理解的是,由于TEE 120和SE 130的安全性较高,TEE 120和SE 130用于存储和处理敏感数据,所以当TEE 120和SE 130之间进行通信时,数据的安全性是至关重要的。为了防止数据泄露和篡改,需要对TEE 120和SE 130之间传输的敏感数据进行加密,防止数据在传输过程中被窃取或篡改。
基于此,本公开实施例提供一种用于TEE 120和SE 130的通信方法,以有效防止TEE 120和SE 130之间传输的敏感数据在传输过程中被窃取或篡改。
图3为根据本公开一个实施例提供的通信方法的流程示意图。本公开实施例中的通信方法可以由TEE 120或SE 130执行。如图3所示,通信方法包括:
在步骤S310中,使用密钥协商的方式,确定可信执行环境和安全元件之间共享的安全通道密钥。
在一些实施例中,TEE 120是一种安全环境,用于保护敏感数据和执行关键任务。SE 130是比TEE 120安全等级更高的安全环境,用于提供安全功能和保护关键数据。安全通道密钥是TEE 120和SE 130之间建立的一种加密通信通道所使用的密钥。安全通道密钥用于保护通信过程中的数据机密性和完整性,防止数据被篡改或窃取。在一些实施例中,使用密钥协商的方式,确定TEE 120和SE 130之间共享的安全通道密钥。图4为根据本公开一个实施例提供的安全通道密钥确定方法的流程示意图。本公开实施例中的安全通道密钥确定方法可以由TEE 120和SE 130执行。如图4所示,安全通道密钥确定方法包括:
在步骤S410中,TEE 120向SE 130发送密钥协商状态获取请求。
在步骤S420中,TEE 120接收SE 130返回的SE 130中存储的密钥协商状态和SE130的设备标识。该密钥协商状态包括已协商和未协商。在接收的SE 130的设备标识与TEE120中存储的SE 130的设备标识一致的情况下,TEE 120确定SE 130是合法设备。在TEE 120确定SE 130是合法设备且接收的密钥协商状态为未协商的情况下,执行步骤S430。在TEE120确定SE 130是合法设备且接收的密钥协商状态为已协商的情况下,执行步骤S320。
在步骤S430中,TEE 120向SE 130发送密钥协商请求。
在步骤S440中,在SE 130中生成第一密钥对,第一密钥对包括第一公钥和第一私钥。SE 130将第一公钥发送给TEE 120。
在步骤S450中,在TEE 120,接收第一公钥,并且,生成第二密钥对,第二密钥对包括第二公钥和第二私钥。
在步骤S460中,在TEE 120,利用密钥协商算法(例如,(Elliptic Curve Diffie-Hellman)算法),对第二私钥和第一公钥进行计算,得到第一协商密钥,利用密钥派生算法(例如,KDF(Key Derivation Function)算法),对第一协商密钥进行计算,得到第一安全通道密钥,利用第一安全通道密钥对第一公钥进行加密,得到第一公钥的密文数据。
在步骤S470中,TEE 120将第一公钥的密文数据和第二公钥发送给SE 130。
在步骤S480中,在SE 130,利用密钥协商算法,对第一私钥和第二公钥进行计算,得到第二协商密钥,利用密钥派生算法,对第二协商密钥进行计算,得到第二安全通道密钥,利用第二安全通道密钥对第一公钥的密文数据进行解密,得到第一公钥的明文数据。
在步骤S490中,在SE 130,将第一公钥的明文数据与第一公钥进行比较,基于比较结果确定TEE 120和SE 130之间的安全通道密钥协商结果,并且将安全通道密钥协商结果返回给TEE 120。如果安全通道密钥协商成功,则在TEE 120,将第一安全通道密钥确定为TEE 120和SE 130之间共享的安全通道密钥,在SE 130,将第二安全通道密钥确定为TEE120和SE 130之间共享的安全通道密钥。
在一些实施例中,图5为根据本公开一个实施例提供的安全通道密钥确定方法的流程示意图。本公开实施例中的安全通道密钥确定方法可以由TEE 120和SE 130执行。如图5所示,安全通道密钥确定方法包括:
在步骤S510中,SE 130向TEE 120发送密钥协商状态获取请求。
在步骤S520中,SE 130接收TEE 120返回的TEE 120中存储的密钥协商状态和TEE120的设备标识。该密钥协商状态包括已协商和未协商。在接收的TEE 120的设备标识与SE130中存储的TEE 120的设备标识一致的情况下,SE 130确定TEE 120是合法设备。在SE 130确定TEE 120是合法设备且接收的密钥协商状态为未协商的情况下,执行步骤S530。在SE130确定TEE 120是合法设备且接收的密钥协商状态为已协商的情况下,执行步骤S320。
在步骤S530中,SE 130向TEE 120发送密钥协商请求。
在步骤S540中,在TEE 120中生成第一密钥对,第一密钥对包括第一公钥和第一私钥。TEE 120将第一公钥发送给SE 130。
在步骤S550中,在SE 130,接收第一公钥,并且,生成第二密钥对,第二密钥对包括第二公钥和第二私钥。
在步骤S560中,在SE 130,利用密钥协商算法,对第二私钥和第一公钥进行计算,得到第一协商密钥,利用密钥派生算法,对第一协商密钥进行计算,得到第一安全通道密钥,利用第一安全通道密钥对第一公钥进行加密,得到第一公钥的密文数据。
在步骤S570中,SE 130将第一公钥的密文数据和第二公钥发送给TEE 120。
在步骤S580中,在TEE 120,利用密钥协商算法,对第一私钥和第二公钥进行计算,得到第二协商密钥,利用密钥派生算法,对第二协商密钥进行计算,得到第二安全通道密钥,利用第二安全通道密钥对第一公钥的密文数据进行解密,得到第一公钥的明文数据。
在步骤S590中,在TEE 120,将第一公钥的明文数据与第一公钥进行比较,基于比较结果确定TEE 120和SE 130之间的安全通道密钥协商结果,并且将安全通道密钥协商结果返回给SE 130。如果安全通道密钥协商成功,则在SE 130,将第一安全通道密钥确定为TEE 120和SE 130之间共享的安全通道密钥,在TEE 120,将第二安全通道密钥确定为TEE120和SE 130之间共享的安全通道密钥。
容易理解是的,本公开实施例中无需依赖终端设备中的其他软件和硬件,而是利用TEE 120和SE 130中的逻辑,通过密钥协商方法,确定TEE 120和SE 130之间共享的安全通道密钥,生成安全通道密钥的过程免受终端设备中的其他软件和硬件的干扰,提高了通过密钥协商方法确定的TEE 120和SE 130之间共享的安全通道密钥的安全性。
图6为根据本公开一个实施例提供的安全通道密钥确定方法的流程示意图。本公开实施例中的安全通道密钥确定方法可以由TEE 120、SE 130和第三方证书颁发机构140执行。如图6所示,安全通道密钥确定方法包括:
在步骤S610中,在SE 130中生成第一密钥对,第一密钥对包括第一公钥和第一私钥。在TEE 120生成第二密钥对,第二密钥对包括第二公钥和第二私钥。
在步骤S620中,SE 130向第三方证书颁发机构140发送第一数字证书下发请求,该第一数字证书下发请求中包括第一密钥对。TEE 120向第三方证书颁发机构140发送第二数字证书下发请求,该第二数字证书下发请求中包括第二密钥对。
在步骤S630中,第三方证书颁发机构140基于第一密钥对生成第一数字证书,基于基于第二密钥对生成第二数字证书。
在步骤S640中,第三方证书颁发机构140将第一数字证书下发给SE 130,将第二数字证书下发给TEE 120。
在步骤S650中,SE 130将第一公钥发送给TEE 120。这里的,第一公钥是第三方证书颁发机构140预先为SE 130颁发的第一数字证书中的公钥。
在步骤S660中,在TEE 120,利用密钥协商算法,对第二私钥和第一公钥进行计算,得到第一协商密钥,利用密钥派生算法,对第一协商密钥进行计算,得到第一安全通道密钥,利用第一安全通道密钥对第一公钥进行加密,得到第一公钥的密文数据。
在步骤S670中,TEE 120将第一公钥的密文数据和第二公钥发送给SE 130。这里的,第二公钥是第三方证书颁发机构140预先为TEE 120颁发的第二数字证书中的公钥。
在步骤S680中,在SE 130,利用密钥协商算法,对第一私钥和第二公钥进行计算,得到第二协商密钥,利用密钥派生算法,对第二协商密钥进行计算,得到第二安全通道密钥,利用第二安全通道密钥对第一公钥的密文数据进行解密,得到第一公钥的明文数据。
在步骤S690中,在SE 130,将第一公钥的明文数据与第一公钥进行比较,基于比较结果确定TEE 120和SE 130之间的安全通道密钥协商结果,并且将安全通道密钥协商结果返回给TEE 120。如果安全通道密钥协商成功,则在TEE 120,将第一安全通道密钥确定为TEE 120和SE 130之间共享的安全通道密钥,在SE 130,将第二安全通道密钥确定为TEE120和SE 130之间共享的安全通道密钥。
容易理解是的,在通过密钥协商方法,确定TEE 120和SE 130之间共享的安全通道密钥之前,利用第三方证书颁发机构140为TEE 120和SE 130下发数字证书,利用数字证书中的公钥来进行密钥协商进而确定TEE 120和SE 130之间共享的安全通道密钥,提高了TEE120和SE 130的身份可靠性,进而提高了通过密钥协商方法确定的TEE 120和SE 130之间共享的安全通道密钥的安全性。
在一些实施例中,通过密钥协商方法确定的TEE 120和SE 130之间共享的安全通道密钥分别存储在TEE 120中的存储器123和SE 130中的存储器133。在一些实施例中,执行步骤S320之前,可以分别在TEE 120中的存储器123和SE 130中的存储器133中预先存储TEE120和SE 130之间共享的安全通道密钥。
在步骤S320中,基于所述安全通道密钥对所述可信执行环境和所述安全元件进行身份认证。
在一些实施例中,根据具体的安全协议和需求,可以采用多种认证方法来对TEE120和SE 130进行身份认证。例如,TEE 120和SE 130基于安全通道密钥进行双向身份认证。TEE 120将第一验证信息发送给SE 130。SE 130采用安全通道密钥对第一验证信息进行加密,并将加密后的第一验证信息、以及第二验证信息、内部计数返回TEE 120。TEE 120基于安全通信密钥对加密后的第一验证信息进行解密,如果解密后的验证信息与初始的第一验证信息相同,则确定对SE 130认证成功。在对SE 130认证成功后,TEE 120采用安全通道密钥对第二验证信息和内部计数进行加密,并将加密后的第二验证信息和内部计数返回SE130。SE 130基于安全通道密钥对加密后的第二验证信息和内部计数进行解密,如果解密后的第二验证信息和内部计数与初始的第二验证信息和内部计数相同,则确定对TEE 120认证成功,并返回认证成功信息。
在步骤S330中,在身份认证通过的情况下,基于所述安全通道密钥生成所述可信执行环境和所述安全元件之间共享的会话密钥。
在一些实施例中,会话密钥是在通信双方建立安全通信时生成的一种临时密钥。它用于加密和解密通信中的数据,以确保通信的机密性和完整性。在一些实施例中,在身份认证通过的情况下,利用密钥派生算法,对安全通道密钥进行计算,派生得到用于TEE 120和SE 130之间的会话的会话密钥。
在步骤S340中,基于所述会话密钥对所述可信执行环境和所述安全元件之间的待传输数据进行加解密操作,以便于在所述可信执行环境和所述安全元件之间传输所述待传输数据的密文数据。
在一些实施例中,在TEE 120,基于会话密钥对TEE 120和SE 130之间的待传输数据进行加密操作得到密文数据,将密文数据传输给SE 130。在SE 130使用会话密钥对密文数据进行解密操作,得到TEE 120和SE 130之间的待传输数据的明文数据。在一些实施例中,在SE 130,基于会话密钥对SE 130和TEE 120之间的待传输数据进行加密操作得到密文数据,将密文数据传输给TEE 120。在TEE 1200使用会话密钥对密文数据进行解密操作,得到TEE 120和SE 130之间的待传输数据的明文数据。
在一些实施例中,TEE 120和SE 130之间的待传输数据通常会被打包成数据包,也称为网络包或数据帧。数据包是网络传输的基本单位,它包含了要传输的数据以及一些必要的控制信息。在传输过程中,数据包会按照特定的网络传输协议进行传输。网络传输协议定义了数据包的报文格式、传输方式、错误检测和纠正等规则。常见的网络传输协议包括TCP/IP协议、UDP协议和T1协议。需要说明的是,数据包的报文格式是指在传输过程中,数据包所采用的结构化格式。它定义了数据包中各个字段的顺序、长度和含义,以便发送方和接收方能够正确地解析和处理数据。通常,数据包的报文格式包括:首部字段、信息字段、尾部字段和可选字段。首部字段包含了一些必要的控制信息,如源地址、目标地址、协议版本等。信息字段包含了实际要传输的数据内容。尾部字段用于校验数据的完整性。可选字段用于扩展数据包的功能,可选字段的存在与否取决于具体的协议和应用需求。不同的网络传输协议可能会采用不同的数据包报文格式。
在一些实施例中,待传输数据的数据包的报文格式包括安全状态管理字段,该安全状态管理字段用于确定是否需要对数据包进行加解密操作。在一些实施例中,在执行步骤S340之前,本公开实施例中的通信方法还包括:基于安全状态管理字段确定是否需要对TEE 120和SE 130之间的待传输数据的数据包进行加解密操作。在基于安全状态管理字段确定需要对TEE 120和SE 130之间的待传输数据的数据包进行加解密操作的情况下,执行步骤S340。在基于安全状态管理字段确定不需要对TEE 120和SE 130之间的待传输数据的数据包进行加解密操作的情况下,可以无需对待传输数据的数据包进行加解密操作,直接在TEE 120和SE 130之间传输待传输数据。
在一些实施例中,在对TEE 120和SE 130之间的待传输数据的数据包进行传输的过程中,可以将该待传输数据的数据包中的所有字段进行加解密操作。在一些实施例中,在TEE 120,基于会话密钥对TEE 120和SE 130之间的待传输数据的数据包进行加密操作得到密文数据,将密文数据传输给SE 130。在SE 130使用会话密钥对密文数据进行解密操作,得到TEE 120和SE 130之间的待传输数据的数据包的明文数据。接着,在SE 130,按照网络传输协议对待传输数据的数据包的明文数据进行解析。在一些实施例中,在SE 130,基于会话密钥对SE 130和TEE 120之间的待传输数据的数据包进行加密操作得到密文数据,将密文数据传输给TEE 120。在TEE 120使用会话密钥对密文数据进行解密操作,得到TEE 120和SE130之间的待传输数据的数据包的明文数据。接着,在TEE 120,按照网络传输协议对待传输数据的数据包的明文数据进行解析。在一个示例中,使用T1协议,对TEE 120和SE 130之间的待传输数据的数据包进行传输。图7根据本公开的一个实施例提供的数据包的报文格式的示意图。如图7所示,使用T1协议传输的待传输数据包的报文格式包括:组头字段、信息字段和组尾字段。在对TEE 120和SE 130之间的待传输数据的数据包进行传输的过程中,可以将该待传输数据的数据包中的组头字段、信息字段和组尾字段进行加解密操作。这样,可以确保TEE 120和SE 130之间的待传输数据的首部字段中包含的如源地址、目标地址、协议版本等控制信息、以及信息字段包含的实际要传输的敏感数据内容在通过SPI/I2C等物理链路传输过程中不被未经授权的人员访问或窃取,提高了在TEE 120和SE 130之间的数据通信的安全性。
在一些实施例中,在对TEE 120和SE 130之间的待传输数据的数据包进行传输的过程中,可以仅仅对该待传输数据的数据包中的信息字段进行加解密操作。在一些实施例中,在TEE 120,基于会话密钥对TEE 120和SE 130之间的待传输数据的数据包中的信息字段进行加密操作得到密文数据,将密文数据传输给SE 130。在SE 130使用会话密钥对密文数据进行解密操作,得到TEE 120和SE 130之间的待传输数据的数据包中的信息字段的明文数据。在一些实施例中,在SE 130,基于会话密钥对SE 130和TEE 120之间的待传输数据的数据包中的信息字段进行加密操作得到密文数据,将密文数据传输给TEE 120。在TEE1200使用会话密钥对密文数据进行解密操作,得到TEE 120和SE 130之间的待传输数据的数据包中的信息字段的明文数据。在一个示例中,继续参考图7,使用T1协议,在对TEE 120和SE 130之间的待传输数据的数据包进行传输的过程中,可以仅仅将该待传输数据的数据包中的信息字段进行加解密操作。这样,可以确保TEE 120和SE 130之间的待传输数据的实际要传输的敏感数据内容在通过SPI/I2C等物理链路传输过程中不被未经授权的人员访问或窃取,提高了在TEE 120和SE 130之间的数据通信的安全性。另外,加解密操作是计算密集型的任务,对TEE 120和SE 130之间的待传输数据的所有字段进行加解密会增加终端设备的系统的计算负担,这样仅对必要的信息字段进行加解密操作,可以减少系统计算资源的使用。
图8示出了根据本公开的一个实施例提供的通信装置的结构示意图。该通信装置可以位于TEE 120或SE 130中。如图8所示,通信装置800包括安全通道密钥确定单元810、身份认证单元820、会话密钥生成单元830和加解密单元840。
安全通道密钥确定单元810,用于使用密钥协商的方式,确定可信执行环境和安全元件之间共享的安全通道密钥。
身份认证单元820,用于基于所述安全通道密钥对所述可信执行环境和所述安全元件进行身份认证。
会话密钥生成单元830,用于在身份认证通过的情况下,基于所述安全通道密钥生成所述可信执行环境和所述安全元件之间共享的会话密钥。
加解密单元840,用于基于所述会话密钥对所述可信执行环境和所述安全元件之间的待传输数据进行加解密操作,以便于在所述可信执行环境和所述安全元件之间传输所述待传输数据的密文数据。
由于在TEE 120和SE 130之间进行数据通信的具体过程在上文中的方法实施例中已经详述,故这里不再赘述。
本公开实施例还提供了一种电子设备,如图9所示,包括存储器920、处理器910及存储在存储器920上并可在处理器910上运行的程序,该程序被处理器910执行时可实现上述通信方法中各实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读的存储介质中,并由处理器进行加载和执行。为此,本公开实施例还提供了一种存储介质,该存储介质上存储有计算机程序或指令,该计算机程序或指令被处理器执行时可实现上述通信方法中各实施例的各个过程。
由于该存储介质中所存储的指令,可以执行本公开实施例所提供的通信方法中的步骤,因此,可以实现本公开实施例所提供的通信方法所能实现的有益效果,详见前面的实施例,在此不再赘述。以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
综上,根据本公开的实施例,使用密钥协商的方式,确定可信执行环境和安全元件之间共享的安全通道密钥,基于安全通道密钥对可信执行环境和安全元件进行身份认证,在身份认证通过的情况下,基于安全通道密钥生成可信执行环境和安全元件之间共享的会话密钥,基于会话密钥对可信执行环境和安全元件之间的待传输数据进行加解密操作,以便于在可信执行环境和安全元件之间传输待传输数据的密文数据,这样,无需依赖终端设备中的其他软件和硬件,降低了可信执行环境和安全元件之间的待传输数据泄露的风险,提高了可信执行环境和安全元件之间的待传输数据的安全性。
最后应说明的是:显然,上述实施例仅仅是为清楚地说明本公开所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引申出的显而易见的变化或变动仍处于本公开的保护范围之中。

Claims (10)

1.一种通信方法,包括:
使用密钥协商的方式,确定可信执行环境和安全元件之间共享的安全通道密钥;
基于所述安全通道密钥对所述可信执行环境和所述安全元件进行身份认证;
在身份认证通过的情况下,基于所述安全通道密钥生成所述可信执行环境和所述安全元件之间共享的会话密钥;
基于所述会话密钥对所述可信执行环境和所述安全元件之间的待传输数据进行加解密操作,以便于在所述可信执行环境和所述安全元件之间传输所述待传输数据的密文数据。
2.根据权利要求1所述的通信方法,其中,所述基于所述会话密钥对所述可信执行环境和所述安全元件之间的待传输数据进行加解密操作,以便于在所述可信执行环境和所述安全元件之间传输所述待传输数据的密文数据,包括:
在所述可信执行环境或所述安全元件,基于所述会话密钥对所述待传输数据进行加密操作得到密文数据,将所述密文数据传输给所述安全元件或所述可信执行环境,以便于在所述安全元件或所述可信执行环境使用所述会话密钥对所述密文数据进行解密操作,得到所述待传输数据的明文数据。
3.根据权利要求1所述的通信方法,其中,所述待传输数据的数据包的报文格式包括安全状态管理字段,所述安全状态管理字段用于确定是否需要对所述数据包进行加解密操作,
所述基于所述会话密钥对所述可信执行环境和所述安全元件之间的待传输数据进行加解密操作,以便于在所述可信执行环境和所述安全元件之间传输所述待传输数据的密文数据之前,所述通信方法还包括:
基于所述安全状态管理字段确定是否需要对所述待传输数据的数据包进行加解密操作;
所述基于所述会话密钥对所述可信执行环境和所述安全元件之间的待传输数据进行加解密操作,以便于在所述可信执行环境和所述安全元件之间传输所述待传输数据的密文数据,包括:
在基于所述安全状态管理字段确定需要对所述待传输数据的数据包进行加解密操作的情况下,基于所述会话密钥对所述可信执行环境和所述安全元件之间的待传输数据进行加解密操作。
4.根据权利要求1所述的通信方法,其中,所述待传输数据的数据包的报文格式包括信息字段,所述基于所述会话密钥对所述可信执行环境和所述安全元件之间的待传输数据进行加解密操作,以便于在所述可信执行环境和所述安全元件之间传输所述待传输数据的密文数据,包括:
基于所述会话密钥对所述待传输数据的数据包中的所述信息字段进行加解密操作,以便于在所述可信执行环境和所述安全元件之间传输所述待传输数据的数据包中的所述信息字段的密文数据。
5.根据权利要求1所述的通信方法,其中,所述基于所述会话密钥对所述可信执行环境和所述安全元件之间的待传输数据进行加解密操作,以便于在所述可信执行环境和所述安全元件之间传输所述待传输数据的密文数据,包括:
基于所述会话密钥对所述待传输数据的数据包进行加解密操作,以便于在所述可信执行环境和所述安全元件之间传输所述待传输数据的数据包的密文数据。
6.根据权利要求1所述的通信方法,其中,所述使用密钥协商的方式,确定可信执行环境和安全元件之间共享的安全通道密钥,包括:
在所述可信执行环境或所述安全元件,接收所述安全元件或所述可信执行环境中生成的第一密钥对中的第一公钥;
生成第二密钥对,所述第二密钥对包括第二公钥和第二私钥;
利用密钥协商算法,对所述第二私钥和所述第一公钥进行计算,得到第一协商密钥;
利用密钥派生算法,对所述第一协商密钥进行计算,得到第一安全通道密钥;
利用所述第一安全通道密钥对所述第一公钥进行加密,得到所述第一公钥的密文数据;
将所述第一公钥的密文数据和所述第二公钥发送给所述安全元件或所述可信执行环境,以便于在所述安全元件或所述可信执行环境,
利用密钥协商算法,对所述第一密钥对中的第一私钥和所述第二公钥进行计算,得到第二协商密钥,
利用密钥派生算法,对所述第二协商密钥进行计算,得到第二安全通道密钥,
利用所述第二安全通道密钥对所述第一公钥的密文数据进行解密,得到所述第一公钥的明文数据,
将所述第一公钥的明文数据与所述第一公钥进行比较,基于比较结果确定所述可信执行环境和所述安全元件之间的安全通道密钥协商结果,
如果安全通道密钥协商成功,则在所述可信执行环境或所述安全元件,将所述第一安全通道密钥确定为所述可信执行环境和所述安全元件之间共享的安全通道密钥,在所述安全元件或所述可信执行环境,将所述第二安全通道密钥确定为所述可信执行环境和所述安全元件之间共享的安全通道密钥。
7.根据权利要求6所述的通信方法,其中,所述第一公钥是第三方证书颁发机构为所述安全元件颁发的数字证书中的公钥,所述第二公钥是第三方证书颁发机构为所述可信执行环境颁发的数字证书中的公钥;或
所述第一公钥是第三方证书颁发机构为所述可信执行环境颁发的数字证书中的公钥,所述第二公钥是第三方证书颁发机构为所述安全元件颁发的数字证书中的公钥。
8.一种通信装置,包括:
安全通道密钥确定单元,用于使用密钥协商的方式,确定可信执行环境和安全元件之间共享的安全通道密钥;
身份认证单元,用于基于所述安全通道密钥对所述可信执行环境和所述安全元件进行身份认证;
会话密钥生成单元,用于在身份认证通过的情况下,基于所述安全通道密钥生成所述可信执行环境和所述安全元件之间共享的会话密钥;
加解密单元,用于基于所述会话密钥对所述可信执行环境和所述安全元件之间的待传输数据进行加解密操作,以便于在所述可信执行环境和所述安全元件之间传输所述待传输数据的密文数据。
9.一种电子设备,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如权利要求1至7中任一项所述的方法的步骤。
10.一种存储介质,所述存储介质上存储有计算机程序或指令,所述计算机程序或指令被处理器执行时实现如权利要求1至7中任一项所述的方法的步骤。
CN202311853409.3A 2023-12-28 2023-12-28 通信方法、相关装置及存储介质 Pending CN117792767A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311853409.3A CN117792767A (zh) 2023-12-28 2023-12-28 通信方法、相关装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311853409.3A CN117792767A (zh) 2023-12-28 2023-12-28 通信方法、相关装置及存储介质

Publications (1)

Publication Number Publication Date
CN117792767A true CN117792767A (zh) 2024-03-29

Family

ID=90394316

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311853409.3A Pending CN117792767A (zh) 2023-12-28 2023-12-28 通信方法、相关装置及存储介质

Country Status (1)

Country Link
CN (1) CN117792767A (zh)

Similar Documents

Publication Publication Date Title
CN109361668B (zh) 一种数据可信传输方法
US9838205B2 (en) Network authentication method for secure electronic transactions
US8689290B2 (en) System and method for securing a credential via user and server verification
US9231925B1 (en) Network authentication method for secure electronic transactions
US9117324B2 (en) System and method for binding a smartcard and a smartcard reader
EP2634703B1 (en) Removable storage device, and data processing system and method based on the device
US8209753B2 (en) Universal secure messaging for remote security tokens
EP1349034B1 (en) Service providing system in which services are provided from service provider apparatus to service user apparatus via network
US20230368194A1 (en) Encryption method and decryption method for payment key, payment authentication method, and terminal device
US8953805B2 (en) Authentication information generating system, authentication information generating method, client apparatus, and authentication information generating program for implementing the method
US10263782B2 (en) Soft-token authentication system
US20110202772A1 (en) Networked computer identity encryption and verification
CN114244508A (zh) 数据加密方法、装置、设备及存储介质
WO2008053279A1 (en) Logging on a user device to a server
RU2363985C2 (ru) Аутентификация на основе вызова, не требующая знания секретных аутентификационных данных
US20240106633A1 (en) Account opening methods, systems, and apparatuses
CN108900595B (zh) 访问云存储服务器数据的方法、装置、设备及计算介质
TWI827906B (zh) 訊息傳輸系統以及應用其中之使用者裝置與資訊安全硬體模組
KR20180082703A (ko) 소프트웨어 인증장치를 위한 키 관리 방법 및 장치
JP2001069138A (ja) 共有鍵暗号型のicカードによるインターネット上のユーザー認証方式
CN115459929A (zh) 安全验证方法、装置、电子设备、系统、介质和产品
CN111651740B (zh) 一种面向分布式智能嵌入式系统的可信平台共享系统
CN114697113A (zh) 一种基于硬件加速卡的多方隐私计算方法、装置及系统
JP2008124987A (ja) 暗号通信装置及び暗号通信システム及び暗号通信方法及びプログラム
CN117792767A (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