客户端应用与可信应用的通信方法、系统以及终端与流程

文档序号:15567571发布日期:2018-09-29 03:42阅读:163来源:国知局

本发明涉及通信技术领域,尤其涉及一种客户端应用与可信应用的通信方法、系统以及终端。



背景技术:

目前,终端大多集成了可信执行环境(tee,trustedexecutionenvironment)、富执行环境(ree,richexecutionenvironment)。ree由客户端应用(ca,clientapplication)以及应用操作系统组成。tee由可信应用(ta,trustedapplication)、以及可信操作系统(trustedos,trustedoperatingsystem)组成。ree支持丰富的应用,但ree存在一定的安全风险。tee是终端中一块独立的区域,向该区域安装应用受管理服务器平台控制。

在基于arm的trustzone技术架构中,运行在normalworld(ree)中的ca和运行在secureworld(tee)中的ta之间具有进行数据交互的能力。在没有安全通道防护的情况下,ca和ta之间的数据交互行为可能存在以下风险:1、敏感信息被泄露:ca和ta进行数据交互的过程中会依赖第三方软件、服务、驱动所提供的功能支持,这些第三方组件有机会截获、存储、分析、泄露ca和ta之间传递的敏感信息,且不被ca和ta感知;2、敏感信息被篡改:第三方组件有机会篡改ca和ta之间传递的敏感信息,且不被ca和ta感知;3、注入攻击:第三方组件可以在ca和ta之间的数据流中注入额外数据,且不被ca和ta感知,使ca或ta执行非预期的功能;4、重放攻击第三方组件可以通过重复播放ca和ta之间陈旧的历史交互数据,且不被ca和ta感知,使ca或ta执行非预期的功能;5、伪装的恶意ta:ca无法验证ta的合法身份,非法的恶意ta有可能假冒合法的ta来获得用户的敏感信息。因此,需要一种新的ca与ta之间的通信机制。



技术实现要素:

有鉴于此,本发明要解决的一个技术问题是提供一种客户端应用与可信应用的通信方法、系统以及终端。

根据本发明的一个方面,提供一种客户端应用与可信应用的通信方法,包括:在客户端应用ca和可信应用ta中分别部署第一密钥参数和第二密钥参数;所述ca与所述ta分别基于所述第一密钥参数和所述第二密钥参数进行双向身份认证;如果认证成功,则在所述ca与所述ta之间建立第一安全通道,生成与此第一安全通道相对应的通道会话密钥;所述ca与所述ta通过所述第一安全通道传输进行数据交互,并基于所述通道会话密钥以及预设的通道传输规则对通过所述第一安全通道传输的数据进行加解密处理。

可选地,所述第一密钥参数包括:厂商公钥;所述第二密钥参数包括:终端公钥、终端私钥、终端公钥签名值。

可选地,所述在客户端应用ca和可信应用ta中分别部署第一密钥参数和第二密钥参数包括:将所述厂商公钥存储在与所述ca相对应的ca程序中,其中,通过所述ca程序的发行、安装部署所述厂商公钥;在安装所述ta并进行首次运行时,在tee环境中生成所述终端公钥、所述终端私钥,其中,所述终端公钥、所述终端私钥以持久化的方式存储在所述ta所处的tee环境中。

可选地,在所述ta的个人化阶段中,所述ta和tam服务器之间建立第二安全通道;所述ta通过所述第二安全通道将所述终端公钥发送给所述tam服务器,并通过所述第二安全通道接收所述tam服务器发送的所述终端公钥签名值,其中,所述tam服务器使用厂商私钥对所述终端公钥进行数字签名;所述ta将所述终端公钥签名值采用持久化的方式进行存储。

可选地,所述ta调用白盒加密库获取所述终端公钥签名值,其中,在所述白盒加密库中使用厂商私钥对所述终端公钥进行数字签名;所述ta将所述终端公钥签名值采用持久化的方式进行存储。

可选地,厂商公钥以及厂商私钥由ta提供商的ta管理根证书签发并在密钥管理中心生成。

可选地,所述ca与所述ta分别基于所述第一密钥参数和所述第二密钥参数进行双向身份认证包括:所述ta向所述ca发送第一验证信息,其中,所述第一验证信息包括:所述终端公钥和所述终端公钥签名值;所述ca使用所述厂商公钥对所述终端公钥签名值进行验证,如果验证成功,则生成所述通道会话密钥;所述ca使用所述终端公钥对第二验证信息进行加密并发送给所述ta,其中,所述第二验证信息包括:所述通道会话密钥、校验数据;所述ta使用所述终端私钥对加密后的所述第二验证信息进行解密处理,如果对所述检验数据检验成功,则建立所述第一安全通道并向所述ca返回通道建立成功消息。

可选地,所述ca向所述ta发送建立安全通道命令,其中,所述建立安全通道命令包含与此ca对应的ca进程实例标识;所述ta基于所述ca进程实例标识判断是否与所述ca已经建立了安全通道,如果是,则返回建立成功消息,如果否,则向所述ca发送所述第一验证信息,其中,所述第一验证信息还包括:所述ca的通道号。

可选地,所述第二验证信息还包括:所述ca的通道号、所述ca进程实例标识;所述通道会话密钥包括:随机数。

可选地,所述基于所述通道会话密钥以及预设的通道传输规则对通过所述第一安全通道传输的数据进行加解密处理包括:基于所述通道会话密钥并采用预设的加密算法对在所述ca与所述ta之间的交互数据进行加解密处理;将所述ca的通道号与加密后的交互数据通过所述第一安全通道在所述ca与所述ta之间进行传输。

可选地,所述基于所述通道会话密钥并采用预设的加密算法对在所述ca与所述ta之间的交互数据进行加解密处理包括:使用所述通道会话密钥作为密钥,获取通道iv计数器的当前值作为iv,采用所述加密算法对所述交互数据以及校验数据进行加解密处理;其中,所述加密算法包括:对称加密算法。

可选地,所述ca设置第一iv计数器,所述ta设置与所述安全通道对应的第二iv计数器;在所述安全通道建立时,所述ca和所述ta分别将所述第一iv计数器和所述第二iv计数器的初始值都为0;在完成一次所述ca与所述ta之间的双向数据交互后,所述ca和所述ta分别将所述第一iv计数器和所述第二iv计数器的值加1。

根据本发明的另一方面,提供一种客户端应用与可信应用的通信系统,包括:运行在可信执行环境tee中的客户端应用ca、运行在富执行环境ree中的可信应用ta;在所述ca和所述ta中分别部署第一密钥参数和第二密钥参数;所述ca与所述ta分别基于所述第一密钥参数和所述第二密钥参数进行双向身份认证,如果认证成功,则在所述ca与所述ta之间建立第一安全通道,生成与此第一安全通道相对应的通道会话密钥;所述ca与所述ta通过所述第一安全通道传输进行数据交互,并基于所述通道会话密钥以及预设的通道传输规则对通过所述第一安全通道传输的数据进行加解密处理。

可选地,所述第一密钥参数包括:厂商公钥;所述第二密钥参数包括:终端公钥、终端私钥、终端公钥签名值。

可选地,将所述厂商公钥存储在与所述ca相对应的ca程序中,其中,通过所述ca程序的发行、安装部署所述厂商公钥;在安装所述ta并进行首次运行时,在tee环境中生成所述终端公钥、所述终端私钥,其中,所述终端公钥、所述终端私钥以持久化的方式存储在所述ta所处的tee环境中。

可选地,还包括:tam服务器;在所述ta的个人化阶段中,所述ta和tam服务器之间建立第二安全通道;所述ta,用于通过所述第二安全通道将所述终端公钥发送给所述tam服务器,并通过所述第二安全通道接收所述tam服务器发送的所述终端公钥签名值,将所述终端公钥签名值以持久化的方式存储在tee环境中;其中,所述tam服务器使用厂商私钥对所述终端公钥进行数字签名。

可选地,所述ta,还用于调用白盒加密库获取所述终端公钥签名值,将所述终端公钥签名值以持久化的方式存储在tee环境中;其中,在所述白盒加密库中使用厂商私钥对所述终端公钥进行数字签名。

可选地,还包括:密钥管理中心;厂商公钥以及厂商私钥由ta提供商的ta管理根证书签发并在所述密钥管理中心生成。

可选地,所述ta,用于向所述ca发送第一验证信息,其中,所述第一验证信息包括:所述终端公钥和所述终端公钥签名值;所述ca,用于使用所述厂商公钥对所述终端公钥签名值进行验证,如果验证成功,则生成所述通道会话密钥;使用所述终端公钥对第二验证信息进行加密并发送给所述ta,其中,所述第二验证信息包括:所述通道会话密钥、校验数据;所述ta,还用于使用所述终端私钥对加密后的所述第二验证信息进行解密处理,如果对所述检验数据检验成功,则建立所述第一安全通道并向所述ca返回通道建立成功消息。

可选地,所述ca,还用于向所述ta发送建立安全通道命令,其中,所述建立安全通道命令包含与此ca对应的ca进程实例标识;所述ta,用于基于所述ca进程实例标识判断是否与所述ca已经建立了安全通道,如果是,则返回建立成功消息,如果否,则向所述ca发送所述第一验证信息,其中,所述第一验证信息还包括:所述ca的通道号。

可选地,所述第二验证信息还包括:所述ca的通道号、所述ca进程实例标识;所述通道会话密钥包括:随机数。

可选地,所述ca与所述ta分别基于所述通道会话密钥并采用预设的加密算法对在所述ca与所述ta之间的交互数据进行加解密处理,其中,将所述ca的通道号与加密后的交互数据通过所述第一安全通道在所述ca与所述ta之间进行传输。

可选地,所述ca与所述ta分别使用所述通道会话密钥作为密钥,获取通道iv计数器的当前值作为iv,采用所述加密算法对所述交互数据以及校验数据进行加解密处理;其中,所述加密算法包括:对称加密算法。

可选地,所述ca设置第一iv计数器,所述ta设置与所述安全通道对应的第二iv计数器;其中,在所述安全通道建立时,所述ca和所述ta分别将所述第一iv计数器和所述第二iv计数器的初始值都为0;在完成一次所述ca与所述ta之间的双向数据交互后,所述ca和所述ta分别将所述第一iv计数器和所述第二iv计数器的值加1。

根据本发明的又一方面,提供一种客户端应用与可信应用的通信系统,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如上所述的客户端应用与可信应用的通信方法。

根据本发明的又一方面,提供一种终端,包括如上所述的客户端应用与可信应用的通信系统。

根据本发明的再一方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,该指令被一个或多个处理器执行时实现如上所述的方法的步骤。

本发明的客户端应用与可信应用的通信方法、系统以及终端,ca与ta分别基于第一密钥参数和第二密钥参数进行双向身份认证,如果认证成功则在ca与ta之间建立第一安全通道,生成与此第一安全通道相对应的通道会话密钥,ca与ta通过第一安全通道传输进行数据交互并基于通道会话密钥以及预设的通道传输规则对数据进行加解密处理;在ca和ta之间建立安全通道并对安全通道中的数据进行保护,ca能够通过验证ta终端公钥签名来验证ta的合法身份,防止系统中的第三方组件截获、存储、分析、泄露ca和ta之间传递的敏感信息;ca和ta能够感知和阻止攻击者的篡改数据、重放攻击、注入攻击等恶意行为;可以支持多个ca通过互相隔离的多个安全通道访问ta。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为根据本发明的客户端应用与可信应用的通信方法的一个实施例的流程示意图;

图2为根据本发明的客户端应用与可信应用的通信方法的一个实施例中的密钥体系示意图;

图3为根据本发明的客户端应用与可信应用的通信方法的一个实施例的建立安全通道的流程示意图;

图4为根据本发明的客户端应用与可信应用的通信系统的一个实施例的模块示意图;

图5为根据本发明的客户端应用与可信应用的通信系统的另一个实施例的模块示意图。

具体实施方式

现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

本发明实施例可以应用于计算机系统/服务器,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与计算机系统/服务器一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于:智能手机、个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。

计算机系统/服务器可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。

下文中的“第一”、“第二”仅用于描述上相区别,并没有其它特殊的含义。

图1为根据本发明的客户端应用与可信应用的通信方法的一个实施例的流程示意图,如图1所示:

步骤101,在客户端应用ca和可信应用ta中分别部署第一密钥参数和第二密钥参数。

步骤102,ca与ta分别基于第一密钥参数和第二密钥参数进行双向身份认证。

步骤103,如果认证成功,则在ca与ta之间建立第一安全通道,生成与此第一安全通道相对应的通道会话密钥。通道会话密钥可以有多种,例如可以是通讯双方根据已知参数各自计算得到通道会话密钥。

步骤104,ca与ta通过第一安全通道传输进行数据交互,并基于通道会话密钥以及预设的通道传输规则对通过第一安全通道传输的数据进行加解密处理。

上述实施例中的客户端应用与可信应用的通信方法,ca和ta作为数据通讯的两端,通过部署密钥体系以及建立端到端的安全通道,保护ca和ta之间的数据交互。

在一个实施例中,第一密钥参数包括:厂商公钥等。第二密钥参数包括终端公钥、终端私钥、终端公钥签名值等。将厂商公钥存储在ca程序中,通过ca程序的发行、安装部署厂商公钥。在安装ta并进行首次运行时,在tee环境中生成终端公钥、终端私钥,终端公钥、终端私钥以持久化的方式存储在ta所处的tee环境中。厂商公钥以及厂商私钥由ta提供商的ta管理根证书签发并在密钥管理中心生成。

如图2所示,ta提供商所拥有的ta管理根证书rpair,存储于厂商的密钥管理中心的加密机中。ta提供商所拥有的厂商证书与其公私钥对ppair,存储于厂商的密钥管理中心的加密机中。ca中存储厂商证书与其公钥ppub;ta中存储ta终端公私钥对tpair;ta存储使用厂商私钥ppri对ta的终端公钥tpub进行数字签名的签名值。

厂商证书由ta提供商所拥有的ta管理根证书签发,其公私钥对ppair在密钥管理中心的加密机中生成和使用,公钥可导出,私钥不可导出。导出的厂商公钥ppub可以二进制形式打包在ca程序中,可以随ca程序的发行一同部署在智能移动终端设备上。ta在被安装后的首次运行时,在tee中生成ta终端公私钥对tpair,并以安全存储的方式持久化存储在tee环境中。

对于是否有tam服务器(trustedapplicationmanager,可信服务管理)的部署场景,ta的终端公钥签名值的生成方法有以下两种情况:对于有tam的部署场景,在ta的个人化阶段中,ta和tam服务器之间建立第二安全通道。ta通过第二安全通道将终端公钥发送给tam服务器,并通过第二安全通道接收tam服务器发送的终端公钥签名值,其中,tam服务器使用厂商私钥对终端公钥进行数字签名,ta将终端公钥签名值采用持久化的方式进行存储。例如,通过第二安全通道,ta将终端公钥tpub发送给tam,tam调用密钥管理中心的加密机用厂商私钥ppri对终端公钥(tpub)进行数字签名,签名值通过第二安全通道下发到ta,最终ta将签名值持久存储在tee环境中。

对于没有tam部署场景,ta调用白盒加密库获取终端公钥签名值,其中,在白盒加密库中使用厂商私钥对终端公钥进行数字签名,ta将终端公钥签名值采用持久化的方式进行存储。例如,厂商私钥ppri通过白盒加密技术安全存储在ta镜像中,白盒加密技术为现有的多种白盒加密技术。ta在生成终端公私钥对后,调用白盒加密库,在白盒库中用厂商私钥ppri对终端公钥tpub进行数字签名,最终ta将签名值持久存储在tee环境中。

在一个实施例中,ca向ta发送建立安全通道命令,建立安全通道命令包含与此ca对应的ca进程实例标识。ta基于ca进程实例标识判断是否与ca已经建立了安全通道,如果是,则返回建立成功消息,如果否,则ta向ca发送第一验证信息,第一验证信息包括:ca的通道号、终端公钥和终端公钥签名值等。

ca使用厂商公钥对终端公钥签名值进行验证,如果验证成功,则生成通道会话密钥,通道会话密钥包括随机数等。ca使用终端公钥对第二验证信息进行加密并发送给ta,第二验证信息包括:ca的通道号、ca进程实例标识、通道会话密钥、校验数据等。ta使用终端私钥对加密后的第二验证信息进行解密处理,如果对检验数据检验成功,则建立第一安全通道并向ca返回通道建立成功消息。

图3为根据本发明的客户端应用与可信应用的通信方法的一个实施例的建立安全通道的流程示意图,如图3所示:

步骤301,ca向ta发送建立安全通道命令,在建立安全通道命令中携带有ca进程实例的唯一标识。ca进程实例的唯一标识可以为多种,例如为2字节进程id+2字节随机数等。

ta检查ca进程实例的唯一标识,如果确认此ca已经建立过安全通道,则进行步骤302,直接返回成功,并给出此ca已关联的通道号;如果确认此ca未建立过安全通道,则进行步骤303,返回通道尚未建立消息并附加输出数据:为此ca新分配的通道号、ta的终端公钥tpub、终端公钥的签名值。

步骤304,ca使用厂商公钥ppub验证ta的终端公钥签名值,如果验证不成功,则说明ta不是真实合法的ta,进行步骤305,结束安全通道建立流程;如果验证成功,则进行步骤306,ca产生一个随机数,作为安全通道的通道会话密钥,ca使用ta的终端公钥tpub加密请求数据包,请求数据包中包含:新分配的通道号、ca进程实例的唯一标识、通道会话密钥、检验数据等,检验数据可以为crc、hash、mac等,ca将加密后的请求数据包发送给ta。

步骤307,ta使用终端私钥tpri解密请求数据,如果解密后的校验数据不正确,则进行步骤308,结束安全通道建立流程;如果解密后的校验数据正确,则就建立新安全通道的上下文,保存相关参数,进行步骤309,返回安全通道建立成功消息。ca和ta都获取了第一安全通道的通道会话密钥及其他参数,第一安全通道的建立过程完成。

在一个实施例中,基于通道会话密钥并采用预设的加密算法对在ca与ta之间的交互数据进行加解密处理,将ca的通道号与加密后的交互数据通过第一安全通道在ca与ta之间进行传输。加密算法包括对称加密算法等,使用通道会话密钥作为密钥,获取通道iv计数器的当前值作为iv,采用加密算法对交互数据以及校验数据进行加解密处理。

在第一安全通道建立后,ca和ta获取了安全通道的通道号、通道会话密钥、ca进程实例的唯一标识、通道iv计数器初始值(默认为0)等。ca和ta间交换的所有数据包都包含通道号和密文数据。密文数据可以使用aes、3des等对称加解密算法的cbc、cfb、ofb等模式,以通道会话密钥作为密钥,通道iv计数器的当前值作为iv,对ca和ta间要交换的原数据以及校验数据进行加密,校验数据包括crc、hash、mac等。

ca设置第一iv计数器,ta设置与安全通道对应的第二iv计数器,ta需要同时支持多个安全通道的并存,每个通道号都对应了ta中的一个安全通道上下文,不同安全通道下的会话密钥、iv计数器等参数保存在各自的安全通道上下文中,互不干涉。在安全通道建立时,ca和ta分别将第一iv计数器和第二iv计数器的初始值都为0,在完成一次ca与ta之间的双向数据交互后,ca和ta分别将第一iv计数器和第二iv计数器的值加1。

例如,ca和ta各自维护一个本地的通道iv计数器,在通道刚建立时,两个通道iv计数器的初始值都为0。ca在加密下行(ca->ta)数据包和解密上行(ta->ca)数据包时、ta在解密密下行数据包和加密上行数据包时,都使用各自的iv计数器的当前值作为加解密运算的iv参数。每完成一次双向交互(ca->ta,ta->ca)后,ca和ta同时对各自的iv计数器加1,下次交互时将使用更新过的iv计数器取值。

在一个实施例中,如图4所示,本发明提供一种客户端应用与可信应用的通信系统,包括:运行在可信执行环境tee中的ca41、运行在富执行环境ree中的ta42、tam服务器43以及密钥管理中心44。在ca41和ta42中分别部署第一密钥参数和第二密钥参数。ca41与ta42分别基于第一密钥参数和第二密钥参数进行双向身份认证,如果认证成功,则在ca41与ta42之间建立第一安全通道,生成与此第一安全通道相对应的通道会话密钥。ca41与ta42通过第一安全通道传输进行数据交互,并基于通道会话密钥以及预设的通道传输规则对通过第一安全通道传输的数据进行加解密处理。

在一个实施例中,第一密钥参数包括厂商公钥等,第二密钥参数包括终端公钥、终端私钥、终端公钥签名值等。将厂商公钥存储在与ca41相对应的ca程序中,通过ca程序的发行、安装部署厂商公钥。在安装ta42并进行首次运行时,在tee环境中生成终端公钥、终端私钥,终端公钥、终端私钥以持久化的方式存储在ta42中。厂商公钥以及厂商私钥由ta提供商的ta管理根证书签发并在密钥管理中心44生成。

在ta42的个人化阶段中,ta42和tam服务器43之间建立第二安全通道。ta42通过第二安全通道将终端公钥发送给tam服务器43,并通过第二安全通道接收tam服务器43发送的终端公钥签名值,将终端公钥签名值以持久化的方式存储在tee环境中,tam服务器43使用厂商私钥对终端公钥进行数字签名。

ta42调用白盒加密库获取终端公钥签名值,将终端公钥签名值以持久化的方式存储在tee环境中;其中,在白盒加密库中使用厂商私钥对终端公钥进行数字签名。

在一个实施例中,ca41向ta42发送建立安全通道命令,建立安全通道命令包含与此ca41对应的ca41进程实例标识。ta42基于ca进程实例标识判断是否与ca41已经建立了安全通道,如果是,则返回建立成功消息,如果否,则ta42向ca41发送第一验证信息,第一验证信息包括ca的通道号、终端公钥和终端公钥签名值等。

ca41使用厂商公钥对终端公钥签名值进行验证,如果验证成功,则生成通道会话密钥,使用终端公钥对第二验证信息进行加密并发送给ta42,其中,第二验证信息包括:ca的通道号、ca进程实例标识、通道会话密钥、校验数据等。通道会话密钥包括:随机数等。ta42使用终端私钥对加密后的第二验证信息进行解密处理,如果对检验数据检验成功,则建立第一安全通道并向ca41返回通道建立成功消息。

ca41与ta42分别基于通道会话密钥并采用预设的加密算法对在ca41与ta42之间的交互数据进行加解密处理,其中,将ca的通道号与加密后的交互数据通过第一安全通道在ca41与ta42之间进行传输。ca41与ta42分别使用通道会话密钥作为密钥,获取通道iv计数器的当前值作为iv,采用加密算法对交互数据以及校验数据进行加解密处理;其中,加密算法包括:对称加密算法。

ca41设置第一iv计数器,ta42设置与安全通道对应的第二iv计数器;其中,在安全通道建立时,ca41和ta42分别将第一iv计数器和第二iv计数器的初始值都为0。在完成一次ca41与ta42之间的双向数据交互后,ca41和ta42分别将第一iv计数器和第二iv计数器的值加1。

图5为根据本发明公开的客户端应用与可信应用的通信系统的另一个实施例的模块示意图。如图5所示,该装置可包括存储器51、处理器52、通信接口53以及总线54。存储器51用于存储指令,处理器52耦合到存储器51,处理器52被配置为基于存储器51存储的指令执行实现上述的客户端应用与可信应用的通信方法。

存储器51可以为高速ram存储器、非易失性存储器(non-volatilememory)等,存储器51也可以是存储器阵列。处理器52可以为中央处理器cpu,或专用集成电路asic(applicationspecificintegratedcircuit),或者是被配置成实施本发明公开的客户端应用与可信应用的通信方法的一个或多个集成电路。

在一个实施例中,本发明提供一种终端,包括如上任一实施例中的客户端应用与可信应用的通信系统。终端可以为智能手机、平板电脑等。

在一个实施例中,本公开还提供一种计算机可读存储介质,其中计算机可读存储介质存储有计算机指令,指令被处理器执行时实现如上任一实施例涉及的客户端应用与可信应用的通信方法。本领域内的技术人员应明白,本公开的实施例可提供为方法、装置、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本公开是参照根据本公开实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

至此,已经详细描述了本公开。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。

上述实施例中提供的客户端应用与可信应用的通信方法、系统以及终端,ca与ta分别基于第一密钥参数和第二密钥参数进行双向身份认证,如果认证成功则在ca与ta之间建立第一安全通道,生成与此第一安全通道相对应的通道会话密钥,ca与ta通过第一安全通道传输进行数据交互并基于通道会话密钥以及预设的通道传输规则对数据进行加解密处理;在ca和ta之间建立安全通道并对安全通道中的数据进行保护,ca能够通过验证ta终端公钥签名来验证ta的合法身份,防止系统中的第三方组件截获、存储、分析、泄露ca和ta之间传递的敏感信息;ca和ta能够感知和阻止攻击者的篡改数据、重放攻击、注入攻击等恶意行为;可以支持多个ca通过互相隔离的多个安全通道访问ta。

可能以许多方式来实现本发明的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法和系统。用于方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。

本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1