CN108768963B - 可信应用与安全元件的通信方法和系统 - Google Patents
可信应用与安全元件的通信方法和系统 Download PDFInfo
- Publication number
- CN108768963B CN108768963B CN201810450293.1A CN201810450293A CN108768963B CN 108768963 B CN108768963 B CN 108768963B CN 201810450293 A CN201810450293 A CN 201810450293A CN 108768963 B CN108768963 B CN 108768963B
- Authority
- CN
- China
- Prior art keywords
- module
- secure communication
- key
- verification information
- encrypted
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0869—Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/062—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
-
- 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/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
-
- 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/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
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)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明实施例公开了一种可信应用与安全元件的通信方法和系统,其中的方法包括:TA和SE模块基于安全通信密钥进行认证,其中,TA和SE模块分别存储相同的安全通信密钥;在通过认证后,TA和SE模块基于安全通信密钥生成会话密钥,基于会话密钥对TA和SE模块之间传输的命令或信息进行加密处理。本发明的通信方法和系统,提供了TA访问SE模块的安全认证和安全通信机制,可以用来进行TA访问SE模块的权限控制,以及对之间发送的命令进行保密处理,可以防止恶意TA对SE模块中的应用进行非法访问,确保了TA和SE模块之间通信的安全性。
Description
技术领域
本发明涉及信息安全技术领域,尤其涉及一种可信应用与安全元件的通信方法和系统。
背景技术
随着移动终端设备和互联网应用服务的普及,移动终端设备安全越来越得到重视。ARM处理器推出了TrustZone技术架构,各厂家推出了相应的TEE安全系统。并且移动终端为了提高安全级别,会内嵌SE模块芯片,设计成为TEE+SE的安全设计架构。TEE系统中的TA用于接收REE侧的命令,并进行处理,根据需要发送APDU命令至SE模块中。在目前的应用中,TEE安全系统中一般只有一个TA程序,对于访问SE模块,TEE系统并没有相应的访问控制限制,而SE模块应用也不能判定访问自己的TA是哪一个。随着TEE安全系统的普及,TEE安全系统中的TA应用数量会增多,如果对于TA访问SE模块中的应用没有限制,则会产生安全问题。
发明内容
有鉴于此,本发明要解决的一个技术问题是提供一种可信应用与安全元件的通信方法和系统。
根据本发明的一个方面,提供一种可信应用与安全元件的通信方法,包括:运行在可信执行环境TEE中的可信应用TA和安全元件SE模块基于安全通信密钥进行认证;其中,所述TA和所述SE模块分别存储相同的安全通信密钥;在通过认证后,所述TA和所述SE模块基于所述安全通信密钥生成会话密钥;基于所述会话密钥对所述TA和所述SE模块之间传输的命令或信息进行加密处理。
可选地,所述基于安全通信密钥进行认证包括:所述TA和所述SE模块通过APDU命令并基于所述安全通信密钥进行双向身份认证。
可选地,所述TA和所述SE模块通过APDU命令并基于所述安全通信密钥进行双向身份认证包括:所述TA通过APDU命令将第一验证信息发送给所述SE模块;所述SE模块采用所述安全通信密钥对所述第一验证信息进行加密,并将加密后的第一验证信息、以及第二验证信息、内部计数返回所述TA;所述TA基于所述安全通信密钥对加密后的第一验证信息进行解密,如果解密后的验证信息与初始的第一验证信息相同,则确定对所述SE模块认证成功;在对所述SE模块认证成功后,所述TA采用所述安全通信密钥对第二验证信息和内部计数进行加密,并通过APDU命令将加密后的第二验证信息和内部计数返回所述SE模块;所述SE模块基于所述安全通信密钥对加密后的第二验证信息和内部计数进行解密,如果解密后的第二验证信息和内部计数与初始的第二验证信息和内部计数相同,则确定对所述TA认证成功,并返回认证成功信息。
可选地,在进行双向身份认证成功后,所述TA和所述SE模块基于安全通信密钥并根据分散算法生成所述会话密钥。
可选地,所述TA基于所述会话密钥对所述APDU命令进行加密处理并生成此APDU命令的MAC值,将经过加密处理后的所述APDU命令以及MAC值发送给所述SE模块;所述SE模块基于所述会话密钥对所述MAC值进行验证,并在验证成功后对所述APDU命令进行解析;所述SE模块基于所述会话密钥将与所述APDU命令相对应的响应信息进行加密处理,并发送给所述TA。
可选地,如果所述SE模块对所述MAC值验证失败后,则确定所述TA和所述SE模块之间已通过的双向身份认证失效。
可选地,在所述SE模块重新上电或者所述SE模块需要重新选择应用时,确定所述TA和所述SE模块之间已通过的双向身份认证失效。
可选地,在TAM服务器和TSM服务器中分别配置相同的安全通信根密钥;所述TAM服务器和TSM服务器分别基于所述安全通信根密钥生成所述安全通信密钥,并分别将所述安全通信密钥发送给所述TA和所述SE模块。
可选地,所述TAM服务器和TSM服务器分别获取与所述SE模块对应的唯一标识,并根据所述唯一标识,使用所述安全通信根密钥进行分散处理生成所述安全通信密钥;所述TAM服务器和所述TSM服务器在分别对所述TA和所述SE模块中的应用进行个人化时,将所述安全通信密钥发送给所述TA和所述SE模块
可选地,所述SE模块中的应用包括:Applet;所述SE模块包括:eSE模块、inSE模块。
根据本发明的另一方面,提供一种可信应用与安全元件的通信系统,包括:运行在可信执行环境TEE中的可信应用TA和安全元件SE模块;所述TA和所述SE模块基于安全通信密钥进行认证;其中,所述TA和所述SE模块分别存储相同的安全通信密钥;在通过认证后,所述TA和所述SE模块基于所述安全通信密钥生成会话密钥,并且,所述TA和所述SE模块之间传输的命令或信息基于所述会话密钥进行加密处理。
可选地,所述TA和所述SE模块通过APDU命令并基于所述安全通信密钥进行双向身份认证。
可选地,所述TA,用于通过APDU命令将第一验证信息发送给所述SE模块;所述SE模块,用于采用所述安全通信密钥对所述第一验证信息进行加密,并将加密后的第一验证信息、以及第二验证信息、内部计数返回所述TA;所述TA,还用于基于所述安全通信密钥对加密后的第一验证信息进行解密,如果解密后的验证信息与初始的第一验证信息相同,则确定对所述SE模块认证成功;在对所述SE模块认证成功后,采用所述安全通信密钥对第二验证信息和内部计数进行加密,并通过APDU命令将加密后的第二验证信息和内部计数返回所述SE模块;所述SE模块,还用于基于所述安全通信密钥对加密后的第二验证信息和内部计数进行解密,如果解密后的第二验证信息和内部计数与初始的第二验证信息和内部计数相同,则确定对所述TA认证成功,并返回认证成功信息。
可选地,所述TA和所述SE模块在进行双向身份认证成功后,基于安全通信密钥并根据分散算法生成所述会话密钥。
可选地,所述TA,用于基于所述会话密钥对所述APDU命令进行加密处理并生成此APDU命令的MAC值,将经过加密处理后的所述APDU命令以及MAC值发送给所述SE模块;所述SE模块,用于基于所述会话密钥对所述MAC值进行验证,并在验证成功后对所述APDU命令进行解析;基于所述会话密钥将与所述APDU命令相对应的响应信息进行加密处理,并发送给所述TA。
可选地,所述SE模块,还用于如果对所述MAC值验证失败后,则确定所述TA和所述SE模块之间已通过的双向身份认证失效。
可选地,所述SE模块,用于在重新上电或者所述SE模块需要重新选择应用时,确定所述TA和所述SE模块之间已通过的双向身份认证失效。
可选地,TAM服务器和TSM服务器;在TAM服务器和TSM服务器中分别配置相同的安全通信根密钥;所述TAM服务器和TSM服务器分别基于所述安全通信根密钥生成所述安全通信密钥,并分别将所述安全通信密钥发送给所述TA和所述SE模块。
可选地,所述TAM服务器和TSM服务器分别获取与所述SE模块对应的唯一标识,并根据所述唯一标识,使用所述安全通信根密钥进行分散处理生成所述安全通信密钥;所述TAM服务器和所述TSM服务器在分别对所述TA和所述SE模块中的应用进行个人化时,将所述安全通信密钥发送给所述TA和所述SE模块
可选地,所述SE模块中的应用包括:Applet;所述SE模块包括:eSE模块、inSE模块。
根据本发明的又一发面,提供一种可信应用与安全元件的通信系统,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如上所述的方法。
根据本发明的再一方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现如上所述的方法的步骤。
本发明的可信应用与安全元件的通信方法和系统,TA和SE模块基于安全通信密钥进行认证,在通过认证后,TA和SE模块基于安全通信密钥生成会话密钥,基于会话密钥对TA和SE模块之间传输的命令或信息进行加密处理;提供了TA访问SE模块的安全认证和安全通信机制,可以用来进行TA访问SE模块的权限控制,以及对之间发送的命令进行保密处理,可以防止恶意TA对SE模块中的应用进行非法访问,确保了TA和SE模块之间通信的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为根据本发明的可信应用与安全元件的通信方法的一个实施例的流程示意图;
图2为根据本发明的可信应用与安全元件的通信方法的一个实施例中各模块的数据交互示意图;
图3为根据本发明的可信应用与安全元件的通信方法的一个实施例中双向认证流程示意图;
图4为根据本发明的可信应用与安全元件的通信方法的一个实施例中APDU命令数据示意图;
图5为根据本发明的可信应用与安全元件的通信系统的一个实施例的模块示意图;
图6为根据本发明的可信应用与安全元件的通信系统的另一个实施例的模块示意图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本发明实施例可以应用于计算机系统/服务器,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与计算机系统/服务器一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于:智能手机、个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
计算机系统/服务器可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
下文中的“第一”、“第二”仅用于描述上相区别,并没有其它特殊的含义。
图1为根据本发明的可信应用与安全元件的通信方法的一个实施例的流程示意图,如图1所示:
步骤101,运行在可信执行环境TEE中的可信应用TA和安全元件SE模块基于安全通信密钥进行认证,TA和SE模块分别存储相同的安全通信密钥。
可信执行环境TEE(trusted execution environment)是存在于移动终端设备内,与富执行环境相分离的安全区域。TEE由可信应用(TA,TrustedApplication)、以及可信操作系统(Trusted OS,Trusted Operating System)组成。它与富执行环境以及富执行环境上面的应用相分离,确保各种敏感数据在一个可信环境中被存储、处理和受到保护,同时可信执行环境为装载在其中的可信应用提供一个安全的执行环境。
安全单元SE(secure element)模块为可实现密钥等敏感数据的存储和密码运算的高安全性硬件部件,也可以是软硬件及相关协议结合的安全模块,可嵌入使用的智能卡级应用程序,SE模块包括eSE模块、inSE模块等。Applet是一种运行在SE中的程序,运行在SE内的安全应用。
步骤102,在通过认证后,TA和SE模块基于安全通信密钥生成会话密钥。
步骤103,基于会话密钥对TA和SE模块之间传输的命令或信息进行加密处理。TA和SE模块之间传输的命令可以有多种,例如APDU(Application Protocol Data Unit),APDU是智能卡和智能卡读写设备间的标准通讯消息协议。
上述实施例中的可信应用与安全元件的通信方法,提供了TA访问SE模块的安全认证和安全通信机制,可以用来进行TA访问SE模块的权限控制,以及对之间发送的命令进行保密处理,可以防止恶意TA对SE模块中的应用进行非法访问,确保了TA和SE模块之间通信的安全性。
在一个实施例中,在TAM(Trusted Application Management,可信应用管理)服务器和TSM(Trusted Service Manager,可信应用服务管理)服务器中分别配置相同的安全通信根密钥,用于进行分散生成安全通信密钥使用。TAM服务器可以对TA进行管理,包括个人化、安装、更新、删除TA等。如果移动终端中有SE,则在SE中内置Applet,该单元位于最安全层,用于保存和处理数字签名证书。TSM服务器可以对SE模块中的应用,例如Applet进行管理,包括:进行个人化,安装、更新、卸载Applet等。
TAM服务器和TSM服务器分别基于安全通信根密钥生成安全通信密钥,并分别将安全通信密钥发送给TA和SE模块,如图2所示。TAM服务器和TSM服务器分别获取与SE模块对应的唯一标识,并根据唯一标识,使用安全通信根密钥进行分散处理生成安全通信密钥。TAM服务器和TSM服务器在分别对TA和SE模块中的应用进行个人化时,将安全通信密钥发送给TA和SE模块。
例如,获取终端设备的SEID以及其它标识,组成可以表示SE模块中应用的唯一标识,TAM服务器和TSM服务器根据该唯一标识,使用安全通信根密钥进行分散生成每台终端设备的安全通信密钥。分散算法可以采用现有的多种分散算法,仅在TAM服务器和TSM服务器中设置该算法内容。TAM服务器和TSM服务器在对TA应用和SE模块中的应用进行个人化时写入该安全通信密钥,使得每台终端设备的TA应用和SE模块应用具备相同的安全通信密钥。
在一个实施例中,TA和SE模块基于安全通信密钥进行认证可以采用多种认证方法。例如,TA和SE模块通过APDU命令并基于安全通信密钥进行双向身份认证。TA通过APDU命令将第一验证信息发送给SE模块。SE模块采用安全通信密钥对第一验证信息进行加密,并将加密后的第一验证信息、以及第二验证信息、内部计数返回TA。TA基于安全通信密钥对加密后的第一验证信息进行解密,如果解密后的验证信息与初始的第一验证信息相同,则确定对SE模块认证成功。
在对SE模块认证成功后,TA采用安全通信密钥对第二验证信息和内部计数进行加密,并通过APDU命令将加密后的第二验证信息和内部计数返回SE模块。SE模块基于安全通信密钥对加密后的第二验证信息和内部计数进行解密,如果解密后的第二验证信息和内部计数与初始的第二验证信息和内部计数相同,则确定对TA认证成功,并返回认证成功信息。
图3为根据本发明的可信应用与安全元件的通信方法的一个实施例中双向认证流程示意图,如图3所示:
步骤301,TA将TA随机数CT明文内容通过APDU命令传入至SE模块中。
步骤302,SE模块接收到APDU命令传入的数据后,通过自身存储的安全通信密钥A对TA随机数进行加密,向TA返回密钥信息、加密密文、SE随机数CS和内部计数器K等信息。TA接收到SE模块发送的Response消息后,通过自身存储的安全通信密钥A对密文进行解密,比对解密后的随机数与自身存储的随机数CT,如果一致,则TA校验SE模块身份成功,如果不一致,则校验失败,不进行下一步操作。
步骤302,TA在成功校验SE模块身份后,通过安全通信密钥A对SE随机数CS和内部计数器K进行加密,并计算MAC,通过APDU命令将密文信息发送至SE模块。SE模块将解密后的密文数据与存储的SE随机数CS和内部计数器K进行比对,如果数据一致,则SE模块对TA应用的身份校验成功,并返回验证成功信息。
在TA与SE模块进行APDU命令收发通信时,TA和SE模块进行双向身份认证,在进行双向身份认证成功后,TA和SE模块基于安全通信密钥并根据分散算法生成会话密钥,用于后续命令收发加密和计算MAC使用,分散算法可以为现有的多种分散算法。如果有加密传输要求则强制使用会话密钥加密APDU命令并附带MAC值进行通信。
TA基于会话密钥对APDU命令进行加密处理并生成此APDU命令的MAC值,将经过加密处理后的APDU命令以及MAC值发送给SE模块。SE模块基于会话密钥对MAC值进行验证,并在验证成功后对APDU命令进行解析。SE模块基于会话密钥将与APDU命令相对应的响应信息进行加密处理,并发送给TA。
在TA和SE模块进行协商出会话密钥后,后续发送的APDU命令以及命令返回数据都使用会话密钥进行加密保护。如图4所示,CLA为命令报文的类别字节,P1为参数1,P2为参数2,Lc为Data的长度(含mac),Data为在命令的数据字段中发送的字节串。使用会话密钥对Data域进行加密,并计算MAC,密文和MAC的长度重新填入至Lc中。SE模块在接收到加密后的APDU命令数据后,进行验证MAC数据,解密去除补足,然后将实际Lc数据填回至Lc中。
如果SE模块对MAC值验证失败后,则确定TA和SE模块之间已通过的双向身份认证失效,即SE模块在确定APDU命令数据的MAC值错误时,则中断安全通信机制。在SE模块重新上电或者SE模块需要重新选择应用时,确定TA和SE模块之间已通过的双向身份认证失效。例如,在SE模块重新上电或者重新选择应用时,以及TA在发送APDU命令至SE模块,MAC值运算错误时,TA和SE模块的安全通信机制将会解除,如果进行有加密传输要求的命令时,需要重新建立安全通信机制。
在一个实施例中,如图5所示,本发明提供一种可信应用与安全元件的通信系统,包括运行在可信执行环境TEE中的可信应用TA 41和安全元件SE模块42,以及TAM服务器43和TSM服务器44。TA 41和SE模块42位于终端中。TA 41和SE模块基于安全通信密钥进行认证,TA 41和SE模块42分别存储相同的安全通信密钥。在通过认证后,TA 41和SE模块42基于安全通信密钥生成会话密钥,并且,TA 41和SE模块42之间传输的命令或信息基于会话密钥进行加密处理。
在TAM服务器43和TSM服务器44中分别配置相同的安全通信根密钥。TAM服务器43和TSM服务器44分别基于安全通信根密钥生成安全通信密钥,并分别将安全通信密钥发送给TA 41和SE模块42。TAM服务器43和TSM服务器44分别获取与SE模块42对应的唯一标识,并根据唯一标识,使用安全通信根密钥进行分散处理生成安全通信密钥。TAM服务器43和TSM服务器44在分别对TA 41和SE模块42中的应用进行个人化时,将安全通信密钥发送给TA 41和SE模块42。
在一个实施例中,TA 41和SE模块42通过APDU命令并基于安全通信密钥进行双向身份认证。TA 41通过APDU命令将第一验证信息发送给SE模块42。SE模块42采用安全通信密钥对第一验证信息进行加密,并将加密后的第一验证信息、以及第二验证信息、内部计数返回TA 41。
TA 41基于安全通信密钥对加密后的第一验证信息进行解密,如果解密后的验证信息与初始的第一验证信息相同,则确定对SE模块42认证成功。在对SE模块42认证成功后,采用安全通信密钥对第二验证信息和内部计数进行加密,并通过APDU命令将加密后的第二验证信息和内部计数返回SE模块42。SE模块42基于安全通信密钥对加密后的第二验证信息和内部计数进行解密,如果解密后的第二验证信息和内部计数与初始的第二验证信息和内部计数相同,则确定对TA 41认证成功,并返回认证成功信息。
TA 41和SE模块42在进行双向身份认证成功后,基于安全通信密钥并根据分散算法生成会话密钥。TA 41基于会话密钥对APDU命令进行加密处理并生成此APDU命令的MAC值,将经过加密处理后的APDU命令以及MAC值发送给SE模块42。SE模块42基于会话密钥对MAC值进行验证,并在验证成功后对APDU命令进行解析,基于会话密钥将与APDU命令相对应的响应信息进行加密处理,并发送给TA 41。
如果对MAC值验证失败后,则SE模块42确定TA 41和SE模块42之间已通过的双向身份认证失效。SE模块42在重新上电或者SE模块42需要重新选择应用时,确定TA 41和SE模块42之间已通过的双向身份认证失效。
在一个实施例中,如图6所示,提供一种可信应用与安全元件的通信系统,包括存储器51和处理器52,存储器51用于存储指令,处理器52耦合到存储器51,处理器52被配置为基于存储器51存储的指令执行实现上述的可信应用与安全元件的通信方法。
存储器51可以为高速RAM存储器、非易失性存储器(non-volatile memory)等,存储器51也可以是存储器阵列。存储器51还可能被分块,并且块可按一定的规则组合成虚拟卷。处理器52可以为中央处理器CPU,或专用集成电路ASIC(Application SpecificIntegrated Circuit),或者是被配置成实施本发明的可信应用与安全元件的通信方法的一个或多个集成电路。
在一个实施例中,本公开还提供一种计算机可读存储介质,其中计算机可读存储介质存储有计算机指令,指令被处理器执行时实现如上任一实施例涉及的可信应用与安全元件的通信方法。本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本公开实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
至此,已经详细描述了本公开。为了避免遮蔽本发明的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
上述实施例中的可信应用与安全元件的通信方法和系统,TA和SE模块基于安全通信密钥进行认证,在通过认证后,TA和SE模块基于安全通信密钥生成会话密钥,基于会话密钥对TA和SE模块之间传输的命令或信息进行加密处理;提供了TA访问SE模块的安全认证和安全通信机制,可以用来进行TA访问SE模块的权限控制,以及对之间发送的命令进行保密处理,可以防止恶意TA对SE模块中的应用进行非法访问,确保了TA和SE模块之间通信的安全性。
可能以许多方式来实现本发明的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法和系统。用于方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。
Claims (18)
1.一种可信应用与安全元件的通信方法,其特征在于,包括:
运行在可信执行环境TEE中的可信应用TA和安全元件SE模块基于安全通信密钥进行双向认证,包括,所述TA通过APDU命令将第一验证信息发送给所述SE模块;所述SE模块采用所述安全通信密钥对所述第一验证信息进行加密,并将加密后的第一验证信息、以及第二验证信息、内部计数返回所述TA;所述TA基于所述安全通信密钥对加密后的第一验证信息进行解密,如果解密后的验证信息与初始的第一验证信息相同,则确定对所述SE模块认证成功;在对所述SE模块认证成功后,所述TA采用所述安全通信密钥对第二验证信息和内部计数进行加密,并通过APDU命令将加密后的第二验证信息和内部计数返回所述SE模块;所述SE模块基于所述安全通信密钥对加密后的第二验证信息和内部计数进行解密,如果解密后的第二验证信息和内部计数与初始的第二验证信息和内部计数相同,则确定对所述TA认证成功,并返回认证成功信息;其中,所述TA和所述SE模块分别存储相同的安全通信密钥;
在通过认证后,所述TA和所述SE模块基于所述安全通信密钥生成会话密钥;
基于所述会话密钥对所述TA和所述SE模块之间传输的命令或信息进行加密处理。
2.如权利要求1所述的方法,其特征在于,还包括:
在进行双向身份认证成功后,所述TA和所述SE模块基于安全通信密钥并根据分散算法生成所述会话密钥。
3.如权利要求2所述的方法,其特征在于,还包括:
所述TA基于所述会话密钥对APDU命令进行加密处理并生成此APDU命令的MAC值,将经过加密处理后的所述APDU命令以及MAC值发送给所述SE模块;
所述SE模块基于所述会话密钥对所述MAC值进行验证,并在验证成功后对所述APDU命令进行解析;
所述SE模块基于所述会话密钥将与所述APDU命令相对应的响应信息进行加密处理,并发送给所述TA。
4.如权利要求3所述的方法,其特征在于,还包括:
如果所述SE模块对所述MAC值验证失败后,则确定所述TA和所述SE模块之间已通过的双向身份认证失效。
5.如权利要求3所述的方法,其特征在于,还包括:
在所述SE模块重新上电或者所述SE模块需要重新选择应用时,确定所述TA和所述SE模块之间已通过的双向身份认证失效。
6.如权利要求1所述的方法,其特征在于,还包括:
在TAM服务器和TSM服务器中分别配置相同的安全通信根密钥;
所述TAM服务器和TSM服务器分别基于所述安全通信根密钥生成所述安全通信密钥,并分别将所述安全通信密钥发送给所述TA和所述SE模块。
7.如权利要求6所述的方法,其特征在于,还包括:
所述TAM服务器和TSM服务器分别获取与所述SE模块对应的唯一标识,并根据所述唯一标识,使用所述安全通信根密钥进行分散处理生成所述安全通信密钥;
所述TAM服务器和所述TSM服务器在分别对所述TA和所述SE模块中的应用进行个人化时,将所述安全通信密钥发送给所述TA和所述SE模块。
8.如权利要求7所述的方法,其特征在于,
所述SE模块中的应用包括:Applet;
所述SE模块包括:eSE模块、inSE模块。
9.一种可信应用与安全元件的通信系统,其特征在于,包括:
运行在可信执行环境TEE中的可信应用TA和安全元件SE模块;
所述TA和所述SE模块基于安全通信密钥进行双向认证,所述TA,用于通过APDU命令将第一验证信息发送给所述SE模块;所述SE模块,用于采用所述安全通信密钥对所述第一验证信息进行加密,并将加密后的第一验证信息、以及第二验证信息、内部计数返回所述TA;所述TA,还用于基于所述安全通信密钥对加密后的第一验证信息进行解密,如果解密后的验证信息与初始的第一验证信息相同,则确定对所述SE模块认证成功;在对所述SE模块认证成功后,采用所述安全通信密钥对第二验证信息和内部计数进行加密,并通过APDU命令将加密后的第二验证信息和内部计数返回所述SE模块;所述SE模块,还用于基于所述安全通信密钥对加密后的第二验证信息和内部计数进行解密,如果解密后的第二验证信息和内部计数与初始的第二验证信息和内部计数相同,则确定对所述TA认证成功,并返回认证成功信息;其中,所述TA和所述SE模块分别存储相同的安全通信密钥;
在通过认证后,所述TA和所述SE模块基于所述安全通信密钥生成会话密钥,并且,所述TA和所述SE模块之间传输的命令或信息基于所述会话密钥进行加密处理。
10.如权利要求9所述的系统,其特征在于,
所述TA和所述SE模块在进行双向身份认证成功后,基于安全通信密钥并根据分散算法生成所述会话密钥。
11.如权利要求10所述的系统,其特征在于,
所述TA,用于基于所述会话密钥对所述APDU命令进行加密处理并生成此APDU命令的MAC值,将经过加密处理后的所述APDU命令以及MAC值发送给所述SE模块;
所述SE模块,用于基于所述会话密钥对所述MAC值进行验证,并在验证成功后对所述APDU命令进行解析;基于所述会话密钥将与所述APDU命令相对应的响应信息进行加密处理,并发送给所述TA。
12.如权利要求11所述的系统,其特征在于,
所述SE模块,还用于如果对所述MAC值验证失败后,则确定所述TA和所述SE模块之间已通过的双向身份认证失效。
13.如权利要求11所述的系统,其特征在于,还包括:
所述SE模块,用于在重新上电或者所述SE模块需要重新选择应用时,确定所述TA和所述SE模块之间已通过的双向身份认证失效。
14.如权利要求9所述的系统,其特征在于,还包括:
TAM服务器和TSM服务器;
在所述TAM服务器和所述TSM服务器中分别配置相同的安全通信根密钥;
所述TAM服务器和TSM服务器分别基于所述安全通信根密钥生成所述安全通信密钥,并分别将所述安全通信密钥发送给所述TA和所述SE模块。
15.如权利要求14所述的系统,其特征在于,
所述TAM服务器和TSM服务器分别获取与所述SE模块对应的唯一标识,并根据所述唯一标识,使用所述安全通信根密钥进行分散处理生成所述安全通信密钥;
所述TAM服务器和所述TSM服务器在分别对所述TA和所述SE模块中的应用进行个人化时,将所述安全通信密钥发送给所述TA和所述SE模块。
16.如权利要求15所述的系统,其特征在于,
所述SE模块中的应用包括:Applet;
所述SE模块包括:eSE模块、inSE模块。
17.一种可信应用与安全元件的通信系统,其特征在于,包括:
存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如权利要求1至8中任一项所述的方法。
18.一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现权利要求1至8任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810450293.1A CN108768963B (zh) | 2018-05-11 | 2018-05-11 | 可信应用与安全元件的通信方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810450293.1A CN108768963B (zh) | 2018-05-11 | 2018-05-11 | 可信应用与安全元件的通信方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108768963A CN108768963A (zh) | 2018-11-06 |
CN108768963B true CN108768963B (zh) | 2021-02-02 |
Family
ID=64010507
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810450293.1A Active CN108768963B (zh) | 2018-05-11 | 2018-05-11 | 可信应用与安全元件的通信方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108768963B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111222119A (zh) * | 2019-12-27 | 2020-06-02 | 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) | 转储分析终端及机车运行数据的安全转储分析方法 |
CN110929254B (zh) * | 2020-01-09 | 2023-08-22 | 成都三零嘉微电子有限公司 | 安全可信cpu芯片otp数据批量加载系统及方法 |
CN113962676A (zh) * | 2020-07-20 | 2022-01-21 | 华为技术有限公司 | 交易验证的方法、装置 |
CN112713987B (zh) * | 2020-12-10 | 2022-07-26 | 北京握奇数据股份有限公司 | 一种用于在ca与ta之间建立会话密钥的系统和方法 |
CN112953893B (zh) * | 2021-01-26 | 2022-07-08 | 支付宝(杭州)信息技术有限公司 | 基于隐私保护的身份验证方法、装置、设备及系统 |
US11816219B2 (en) | 2021-06-01 | 2023-11-14 | Cisco Technology, Inc. | Binding a trust anchor and an ASIC |
US11784807B2 (en) | 2021-06-01 | 2023-10-10 | Cisco Technology, Inc. | Binding an ASIC to a trust anchor |
CN113821787B (zh) * | 2021-08-12 | 2022-12-16 | 荣耀终端有限公司 | 一种安全认证方法及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105989386A (zh) * | 2015-02-28 | 2016-10-05 | 北京天威诚信电子商务服务有限公司 | 一种读写无线射频识别卡的方法和装置 |
CN106254323A (zh) * | 2016-07-27 | 2016-12-21 | 恒宝股份有限公司 | 一种ta和se的交互方法、ta、se及tsm平台 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103595530B (zh) * | 2012-08-17 | 2017-04-26 | 华为技术有限公司 | 软件密钥更新方法和装置 |
-
2018
- 2018-05-11 CN CN201810450293.1A patent/CN108768963B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105989386A (zh) * | 2015-02-28 | 2016-10-05 | 北京天威诚信电子商务服务有限公司 | 一种读写无线射频识别卡的方法和装置 |
CN106254323A (zh) * | 2016-07-27 | 2016-12-21 | 恒宝股份有限公司 | 一种ta和se的交互方法、ta、se及tsm平台 |
Also Published As
Publication number | Publication date |
---|---|
CN108768963A (zh) | 2018-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108768963B (zh) | 可信应用与安全元件的通信方法和系统 | |
CN107743133B (zh) | 移动终端及其基于可信安全环境的访问控制方法和系统 | |
JP4668619B2 (ja) | 装置鍵 | |
JP4562464B2 (ja) | 情報処理装置 | |
EP1415430B1 (en) | A method and a system for processing information in an electronic device | |
EP3082356A1 (en) | Method to check and prove the authenticity of an ephemeral public key | |
CN110990827A (zh) | 一种身份信息验证方法、服务器及存储介质 | |
US8904195B1 (en) | Methods and systems for secure communications between client applications and secure elements in mobile devices | |
US8953805B2 (en) | Authentication information generating system, authentication information generating method, client apparatus, and authentication information generating program for implementing the method | |
CN107846396B (zh) | 存储器系统及其与主机之间的绑定方法 | |
US11050570B1 (en) | Interface authenticator | |
KR20140126787A (ko) | PUF 기반 하드웨어 OTP 제공 장치 및 이를 이용한 2-Factor 인증 방법 | |
CN110868291B (zh) | 一种数据加密传输方法、装置、系统及存储介质 | |
CN107920052B (zh) | 一种加密方法及智能装置 | |
CN108199847B (zh) | 数字安全处理方法、计算机设备及存储介质 | |
CN108319857B (zh) | 可信应用的加解锁方法和系统 | |
CN111401901B (zh) | 生物支付设备的认证方法、装置、计算机设备和存储介质 | |
CN114244508B (zh) | 数据加密方法、装置、设备及存储介质 | |
CN112241527B (zh) | 物联网终端设备的密钥生成方法、系统及电子设备 | |
CN108768941B (zh) | 一种远程解锁安全设备的方法及装置 | |
CN115859267A (zh) | 一种应用程序安全启动的方法、存储控制芯片和电子设备 | |
KR20070059891A (ko) | 어플리케이션 인증 보안 시스템 및 그 인증 보안 방법 | |
CN109960935B (zh) | 确定tpm可信状态的方法、装置及存储介质 | |
US20240113898A1 (en) | Secure Module and Method for App-to-App Mutual Trust Through App-Based Identity | |
WO2023073198A1 (en) | Method to store data persistently by a software payload |
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 |