CN110838919B - 通信方法、存储方法、运算方法及装置 - Google Patents

通信方法、存储方法、运算方法及装置 Download PDF

Info

Publication number
CN110838919B
CN110838919B CN201911061968.4A CN201911061968A CN110838919B CN 110838919 B CN110838919 B CN 110838919B CN 201911061968 A CN201911061968 A CN 201911061968A CN 110838919 B CN110838919 B CN 110838919B
Authority
CN
China
Prior art keywords
application program
trusted
execution
user application
target
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
Application number
CN201911061968.4A
Other languages
English (en)
Other versions
CN110838919A (zh
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.)
Guangzhou Xiaopeng Motors Technology Co Ltd
Original Assignee
Guangzhou Xiaopeng Motors 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 Guangzhou Xiaopeng Motors Technology Co Ltd filed Critical Guangzhou Xiaopeng Motors Technology Co Ltd
Priority to CN201911061968.4A priority Critical patent/CN110838919B/zh
Priority to PCT/CN2019/126409 priority patent/WO2021082222A1/zh
Publication of CN110838919A publication Critical patent/CN110838919A/zh
Application granted granted Critical
Publication of CN110838919B publication Critical patent/CN110838919B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key 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)
    • H04L9/0825Key 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) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Abstract

本发明实施例提供了一种通信方法、存储方法、运算方法及装置,所述通信方法通过可信应用程序对用户应用程序发送的第一运算数据集进行验证,生成针对预设执行客体的验证结果,接着当验证结果为执行客体可信时,可信应用程序对用户应用程序发送的第二运算数据集进行签名,生成针对执行客体的目标数据,然后可信应用程序将目标数据发送至用户应用程序,以使执行主体将目标数据发送至执行客体,从而通过在可信执行环境中对执行客体进行验证,同时对执行主体与执行客体之间的握手数据进行签名,保证了根证书以及私钥的安全性,进而提高了执行主体与执行客体之间通信的安全性。

Description

通信方法、存储方法、运算方法及装置
技术领域
本发明涉及通信技术领域,特别是涉及一种终端的通信方法及装置、一种存储方法及装置、一种运算方法及装置。
背景技术
随着车辆逐渐智能化和网联化,车辆上越来越多的应用服务需要联网,它们对通信安全提出了更高要求。例如,车端和服务端通常使用TLS(Transport Layer Security,传输层安全性协议)认证,并且是双向认证,以确保通信的保密性、完整性和可信性。车端要验证服务器是否为可信的服务器,服务端也要验证车端是否为可信的车,否则双方不会建立正常通信。在验证过程中,需要服务端和每个车端都要拥有独立的私钥、证书和对方的根证书。在TLS握手过程中,根证书用于验证对方证书的真实,私钥和证书用于协商密钥。
因此,如果根证书被替换,攻击者容易伪造服务端,使车辆与一个假的服务器连接,从而控制车辆;如果私钥被提取或者被逆向出来,攻击者就可以伪造车端,与服务端进行认证连接,影响通信安全。
发明内容
本发明实施例提供了一种终端的通信方法,以解决现有技术中车辆的根证书容易被替换,私钥容易泄露的问题。
相应的,本发明实施例还提供了一种终端的通信装置,用以保证上述方法的实现及应用。
为了解决上述问题,本发明实施例公开了一种终端的通信方法,应用于具有可信应用程序以及用户应用程序的执行主体,所述可信应用程序运行于可信执行环境,所述用户应用程序运行于操作系统环境,所述方法包括:
所述可信应用程序对所述用户应用程序发送的第一运算数据集进行验证,生成针对预设执行客体的验证结果;
当所述验证结果为所述执行客体可信时,所述可信应用程序对所述用户应用程序发送的第二运算数据集进行签名,生成针对所述执行客体的目标数据;
所述可信应用程序将所述目标数据发送至所述用户应用程序,以使所述执行主体将所述目标数据发送至所述执行客体。
可选地,所述可信执行环境对应于一根密钥;所述第一运算数据集包括适配所述执行客体的目标根证书以及公钥信息;所述可信应用程序对所述用户应用程序发送的第一运算数据集进行验证,生成针对所述执行客体的验证结果,包括:
所述可信应用程序采用所述根密钥对所述目标根证书进行解密,得到针对所述公钥信息的初始根密钥;
所述可信应用程序采用所述初始根密钥对所述公钥信息进行验证,生成所述验证结果,并将所述验证结果返回所述用户应用程序。
可选地,所述可信执行环境对应于一根密钥;所述第二运算数据集包括适配所述执行主体的目标私钥信息以及针对所述执行客体的握手数据;所述可信应用程序对所述用户应用程序发送的第二运算数据集进行签名,生成针对所述执行客体的目标数据,包括:
所述可信应用程序采用所述根密钥对所述目标私钥信息进行解密,得到针对所述握手数据的初始私钥信息;
所述可信应用程序采用所述初始私钥信息对所述握手数据进行签名,生成目标数据,并将所述目标数据返回所述用户应用程序。
可选地,所述可信执行环境对应于一根密钥,所述方法还包括:
所述用户应用程序采用预设第一密码对预设的第一信息进行加密,生成第一加密信息;所述第一信息包括适配于所述执行客体的初始根证书,或,适配于所述执行主体的初始私钥信息;
所述可信应用程序对所述用户应用程序发送的所述第一加密信息进行解密,得到所述第一信息;
所述可信应用程序采用所述根密钥对所述第一信息进行加密,生成第二加密信息,所述第二加密信息包括目标根证书,或,目标私钥信息;
所述用户应用程序将所述第二加密信息存储于所述执行主体的文件系统中。
可选地,所述可信应用程序对所述用户应用程序发送的第一运算数据集进行验证,生成针对所述执行客体的验证结果,包括:
获取所述执行主体与所述执行客体之间的通信类型;
当所述通信类型为终端敏感信息通信时,则所述可信应用程序对所述用户应用程序发送的第一运算数据集进行验证,生成针对所述执行客体的验证结果;
其中,所述终端敏感信息通信至少包括登录服务、支付服务、在线升级服务、远程控制服务以及敏感信息下发和上传服务中的一种。
可选地,所述可信执行环境与所述操作系统环境运行于同一处理器;所述处理器对应于唯一的根密钥。
可选地,所述执行主体包括车辆、无人机、移动终端以及PC终端中的至少一种;所述执行客体包括服务器以及数据库中的至少一种。
本发明实施例还提供了一种通信数据的存储方法,应用于具有可信应用程序以及用户应用程序的执行主体,所述可信应用程序运行于可信执行环境,所述用户应用程序运行于操作系统环境;所述可信执行环境对应于一根密钥,所述方法包括:
所述用户应用程序采用预设第一密码对预设的第一信息进行加密,生成第一加密信息,所述第一信息包括适配于预设执行客体的初始根证书,或,适配于所述执行主体的初始私钥信息;
所述可信应用程序对所述第一加密信息进行解密,得到所述第一信息;
所述可信应用程序采用所述根密钥对所述第一信息进行加密,生成第二加密信息,所述第二加密信息包括目标根证书,或,目标私钥信息;
所述用户应用程序将所述第二加密信息存储于所述执行主体的文件系统中。
可选地,所述可信执行环境与所述操作系统环境运行于同一处理器;所述处理器对应于唯一的根密钥。
可选地,所述执行主体包括车辆、无人机、移动终端以及PC终端中的至少一种;所述执行客体包括服务器以及数据库中的至少一种。
本发明实施例还提供了一种通信数据的运算方法,应用于具有可信应用程序以及用户应用程序的执行主体,所述可信应用程序运行于可信执行环境,所述用户应用程序运行于操作系统环境,所述可信执行环境对应于一根密钥,所述方法包括:
所述可信应用程序接收所述用户应用程序发送的第一运算数据集,所述第一运算数据集包括预设的目标根证书以及针对预设执行客体的公钥信息;
所述可信应用程序采用所述根密钥对所述目标根证书进行解密,得到针对所述公钥信息的初始根密钥;
所述可信应用程序采用所述初始根密钥对所述公钥信息进行运算,生成第一运算结果;
所述可信应用程序将所述第一运算结果返回所述用户应用程序。
可选地,还包括:
所述可信应用程序接收所述用户应用程序发送的第二运算数据集,所述第二运算数据包括预设的目标私钥信息以及针对所述执行客体的握手数据;
所述可信应用程序采用所述根密钥对所述目标私钥信息进行解密,得到针对所述握手数据的初始私钥信息;
所述可信应用程序采用所述初始私钥信息对所述握手数据进行运算,生成第二运算结果;
所述可信应用程序将所述第二运算结果返回所述用户应用程序。
可选地,所述可信执行环境与所述操作系统环境运行于同一处理器;所述处理器对应于唯一的根密钥。
可选地,所述执行主体包括车辆、无人机、移动终端以及PC终端中的至少一种;所述执行客体包括服务器以及数据库中的至少一种。
本发明实施例还提供了一种终端的通信装置,应用于具有可信应用程序以及用户应用程序的执行主体,所述可信应用程序运行于可信执行环境,所述用户应用程序运行于操作系统环境,所述装置包括:
验证模块,用于所述可信应用程序对所述用户应用程序发送的第一运算数据集进行验证,生成针对预设执行客体的验证结果;
签名模块,用于当所述验证结果为所述执行客体可信时,所述可信应用程序对所述用户应用程序发送的第二运算数据集进行签名,生成针对所述执行客体的目标数据;
通信模块,用于所述可信应用程序将所述目标数据发送至所述用户应用程序,以使所述执行主体将所述目标数据发送至所述执行客体。
可选地,所述可信执行环境对应于一根密钥,所述第一运算数据集包括目标根证书以及与所述执行客体对应的公钥信息,所述验证模块包括:
第一解密子模块,用于所述可信应用程序采用所述根密钥对所述目标根证书进行解密,得到针对所述公钥信息的初始根密钥;
验证子模块,用于所述可信应用程序采用所述初始根密钥对所述公钥信息进行验证,生成所述验证结果,并将所述验证结果返回所述用户应用程序。
可选地,所述可信执行环境对应于一根密钥,所述第二运算数据集包括目标私钥信息以及针对所述执行客体的握手数据,所述签名模块包括:
第二解密子模块,用于所述可信应用程序采用所述根密钥对所述目标私钥信息进行解密,得到针对所述握手数据的初始私钥信息;
签名模块,用于所述可信应用程序采用所述初始私钥信息对所述握手数据进行签名,生成目标数据,并将所述目标数据返回所述用户应用程序。
可选地,所述可信执行环境对应于一根密钥,所述装置还包括:
第一加密模块,用于所述用户应用程序采用预设第一密码对预设的第一信息进行加密,生成第一加密信息,所述第一信息包括适配于所述执行客体的初始根证书,或,适配于所述执行主体的初始私钥信息;
第一解密模块,用于所述可信应用程序对所述第一加密信息进行解密,得到所述第一信息;
第二加密模块,用于所述可信应用程序采用所述根密钥对所述用户应用程序发送的所述第一信息进行加密,生成第二加密信息,所述第二加密信息包括目标根证书,或,目标私钥信息;
存储模块,用于所述用户应用程序将所述第二加密信息存储于所述执行主体的车载系统中。
可选地,所述验证模块包括:
通信类型获取子模块,用于获取所述执行主体与所述执行客体之间的通信类型;
验证子模块,用于当所述通信类型为终端敏感信息通信时,则所述可信应用程序对所述用户应用程序发送的第一运算数据集进行验证,生成针对所述执行客体的验证结果;
其中,所述终端敏感信息通信至少包括登录服务、支付服务、在线升级服务、远程控制服务以及敏感信息下发和上传服务中的一种。
可选地,所述可信执行环境与所述操作系统环境运行于同一处理器;所述处理器对应于唯一的根密钥。
可选地,所述执行主体包括车辆、无人机、移动终端以及PC终端中的至少一种;所述执行客体包括服务器以及数据库中的至少一种。
本发明实施例还提供了一种通信数据的存储装置,应用于具有可信应用程序以及用户应用程序的执行主体,所述可信应用程序运行于可信执行环境,所述用户应用程序运行于操作系统环境;所述可信执行环境对应于一根密钥,所述装置包括:
第一加密模块,用于所述用户应用程序采用预设第一密码对预设的第一信息进行加密,生成第一加密信息,所述第一信息包括与预设执行客体对应的初始根证书,或,与所述执行主体对应的初始私钥信息;
解密模块,用于所述可信应用程序对所述第一加密信息进行解密,得到所述第一信息;
第二加密模块,用于所述可信应用程序采用所述根密钥对所述第一信息进行加密,生成第二加密信息,所述第二加密信息包括目标根证书,或,目标私钥信息;
信息存储模块,用于所述用户应用程序将所述第二加密信息存储于所述执行主体的文件系统中。
可选地,所述可信执行环境与所述操作系统环境运行于同一处理器;所述处理器对应于唯一的根密钥。
可选地,所述执行主体包括车辆、无人机、移动终端以及PC终端中的至少一种;所述执行客体包括服务器以及数据库中的至少一种。
本发明实施例还提供了一种通信数据的运算装置,应用于具有可信应用程序以及用户应用程序的执行主体,所述可信应用程序运行于可信执行环境,所述用户应用程序运行于操作系统环境;所述可信执行环境对应于一根密钥,所述装置包括:
第一数据集获取模块,用于所述可信应用程序接收所述用户应用程序发送的第一运算数据集,所述第一运算数据集包括预设的目标根证书以及针对预设执行客体的公钥信息;
第一解密模块,用于所述可信应用程序采用所述根密钥对所述目标根证书进行解密,得到针对所述公钥信息的初始根密钥;
第一运算模块,用于所述可信应用程序采用所述初始根密钥对所述公钥信息进行运算,生成第一运算结果;
第一结果返回模块,用于所述可信应用程序将所述第一运算结果返回所述用户应用程序。
可选地,还包括:
第二数据集获取模块,用于所述可信应用程序接收所述用户应用程序发送的第二运算数据集,所述第二运算数据包括预设的目标私钥信息以及针对所述执行客体的握手数据;
第二解密模块,用于所述可信应用程序采用所述根密钥对所述目标私钥信息进行解密,得到针对所述握手数据的初始私钥信息;
第二运算模块,用于所述可信应用程序采用所述初始私钥信息对所述握手数据进行运算,生成第二运算结果;
第二结果返回模块,用于所述可信应用程序将所述第二运算结果返回所述用户应用程序。
可选地,所述可信执行环境与所述操作系统环境运行于同一处理器;所述处理器对应于唯一的根密钥。
可选地,所述执行主体包括车辆、无人机、移动终端以及PC终端中的至少一种;所述执行客体包括服务器以及数据库中的至少一种。
本发明实施例包括以下优点:
在本发明实施例中,应用于具有可信应用程序以及用户应用程序的执行主体,其中,可信应用程序运行于可信执行环境,用户应用程序运行与操作系统环境,通过可信应用程序对用户应用程序发送的第一运算数据集进行验证,生成针对预设执行客体的验证结果,接着当验证结果为执行客体可信时,可信应用程序对用户应用程序发送的第二运算数据集进行签名,生成针对执行客体的目标数据,然后可信应用程序将目标数据发送至用户应用程序,以使执行主体将目标数据发送至执行客体,从而通过在可信执行环境中对执行客体进行验证,同时对执行主体与执行客体之间的握手数据进行签名,保证了根证书以及私钥的安全性,进而提高了执行主体与执行客体之间通信的安全性。
附图说明
图1是本发明的一种终端的通信方法实施例一的步骤流程图;
图2是本发明的一种终端的通信方法实施例二的步骤流程图;
图3是本发明的一种通信数据的存储方法实施例的步骤流程图;
图4是本发明的一种通信数据的运算方法实施例的步骤流程图;
图5是本发明的一种终端的通信装置实施例的结构框图;
图6是本发明的一种通信数据的存储方法实施例的结构框图;
图7是本发明的一种通信数据的运算方法实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明的一种终端的通信方法实施例一的步骤流程图,所述方法应用于具有可信应用程序以及用户应用程序的执行主体,所述可信应用程序运行于可信执行环境,所述用户应用程序运行于操作系统环境,具体可以包括如下步骤:
步骤101,所述可信应用程序对所述用户应用程序发送的第一运算数据集进行验证,生成针对所述执行客体的验证结果;
随着终端逐渐智能化和网联化,终端上越来越多的应用服务需要联网,比如登陆服务、支付服务、在线升级、远程车控、数据下发和上报等,它们对通信安全提出了更高要求。举例而言,终端和服务器之间需要使用TLS认证,并且是双向认证,以确保通信的保密性、完整性和可信性。则需要服务器和终端都拥有独立的私钥、证书以及对方的根证书,在TLS握手过程中,根证书用于验证对方证书的真实性,私钥和证书则用于协商密钥。终端要验证服务器是否为可信的服务器,服务器也要验证终端是否为可信的终端,否则双方不会建立正常通信。
作为一种示例,执行主体可以包括车辆、无人机、移动终端以及PC终端中的至少一种终端,执行客体可以包括服务器以及数据库中的至少一种,则执行主体可以通过网络连接、近场通信等等与执行客体进行通信连接。为了便于理解与说明,以下称执行主体为终端,并以执行客体为服务器为例进行示例性说明。
在具体实现中,在终端的芯片中可以包括可信执行环境(Trusted ExecutionEnvironment operating system,TEE OS),以及操作系统环境(Rich operating system,Rich OS)。其中,TEE OS提供了可信应用程序(Trusted Application,TA)的安全执行环境,同时也保护了TA的资源和数据的保密性,完整性和访问权限,同时TEE OS外部API(Application Programming Interface,应用程序编程接口)则可以让运行在Rich OS中的用户应用程序(Client Application,CA)访问TA的服务和数据,从而TEE OS既拥有独立可信的计算环境,又能方便为Rich OS提供服务。
在具体实现中,终端与服务器进行通信时,终端可以先对服务器进行验证,以判断服务器是否为可信服务器,避免终端与一个假的服务器连接,从而控制终端。则终端可以通过运行在可信执行环境中的可信应用程序,对运行在操作系统环境中的用户应用程序发送的第一运算数据集进行验证,并生成针对服务器的验证结果。
步骤102,当所述验证结果为所述执行客体可信时,所述可信应用程序对所述用户应用程序发送的第二运算数据集进行签名,生成针对所述执行客体的目标数据;
在具体实现中,验证结果包括服务器可信的验证结果以及服务器不可信的验证结果,当验证结果为服务器可信时,终端可以通过可信应用程序对用户应用程序发送的第二运算数据集进行签名,然后生成针对服务器的目标数据,从而建立与服务器之间的通信连接,以便终端与服务器之间进行数据传输,并实现相应的功能。
步骤103,所述可信应用程序将所述目标数据发送至所述用户应用程序,以使所述执行主体将所述目标数据发送至所述执行客体。
在具体实现中,可信应用程序对第二运算数据集签名完毕后,可以将签名后的目标数据发送至用户应用程序,并由终端将目标数据发送至服务器,从而建立车辆与服务器之间的通信连接,保证了终端与服务器之间通信的安全性。
在本发明实施例中,应用于具有可信应用程序以及用户应用程序的执行主体,其中,可信应用程序运行于可信执行环境,用户应用程序运行与操作系统环境,通过可信应用程序对用户应用程序发送的第一运算数据集进行验证,生成针对预设执行客体的验证结果,接着当验证结果为执行客体可信时,可信应用程序对用户应用程序发送的第二运算数据集进行签名,生成针对执行客体的目标数据,然后可信应用程序将目标数据发送至用户应用程序,以使执行主体将目标数据发送至执行客体,从而通过在可信执行环境中对执行客体进行验证,同时对执行主体与执行客体之间的握手数据进行签名,保证了根证书以及私钥的安全性,进而提高了执行主体与执行客体之间通信的安全性。
参照图2,示出了本发明的一种终端的通信方法实施例二的步骤流程图,所述方法应用于具有可信应用程序以及用户应用程序的车辆,其中,可信应用程序运行于可信执行环境,用户应用程序运行于操作系统环境,具体可以包括如下步骤:
步骤201,所述可信应用程序对所述用户应用程序发送的第一运算数据集进行验证,生成针对预设服务器的验证结果;
在具体实现中,车辆与服务器进行通信时,车辆可以先对服务器进行验证,以判断服务器是否为可信服务器,避免车辆与一个假的服务器连接,从而控制车辆。则车辆可以通过运行在可信执行环境中的可信应用程序,对运行在操作系统环境中的用户应用程序发送的第一运算数据集进行验证,并生成针对服务器的验证结果。
在本发明实施例的一种可选实施例中,可行执行环境与操作系统环境可以运行于同一处理器中,且处理器对应于唯一的根密钥,从而保证终端通信的实时性,并降低硬件和开发成本。
需要说明的是,执行主体可以包括车辆、无人机、移动终端以及PC终端中的至少一种终端,执行客体可以包括服务器以及数据库中的至少一种,则执行主体可以通过网络连接、近场通信等等与执行客体进行通信连接。为了方便了解与描述,以下以车辆为执行主体,以服务器为执行客体进行示例行描述,本发明不局限于此。
作为一种示例,在车辆的芯片中可以包括可信执行环境TEE OS,以及操作系统Rich OS。其中,TEE OS提供了可信应用程序TA的安全执行环境,同时也保护了TA的资源和数据的保密性,完整性和访问权限,同时TEE OS外部API则可以让运行在Rich OS中的用户应用程序CA访问TA的服务和数据,从而TEE OS既拥有独立可信的计算环境,又能方便为Rich OS提供服务。
在具体实现中,每个芯片的TEE OS都拥有独一无二的根密钥,此根密钥无法读出,且经过此根密钥加密的数据只能在本芯片的TEE OS中才能解密,从而可以通过该根密钥对车辆通信的数据进行加密、解密,保证数据的安全性。同时,对于高度敏感的通信数据,在Rich OS中是不可见的,其读取和使用的过程需要在TEE OS中进行,则TEE OS可以通过提供运算接口,对Rich OS发送的运算数据集进行运算,保证了数据运算的安全性。
在本发明实施例中,车辆与服务器进行通信时,车辆可以对服务器进行验证,以判断服务器是否为可信服务器,避免车辆与一个假的服务器连接,从而控制车辆。则车辆可以通过运行在可信执行环境中的可信应用程序,对运行在操作系统环境中的用户应用程序发送的第一运算数据集进行验证,并生成针对服务器的验证结果。其中,第一运算数据集可以包括适配所述服务器的目标根证书以及公钥信息。
在本发明实施例的一种可选实施例中,为了降低反复进行通信验证,可以通过设置对敏感通信类型的通信过程进行验证,则步骤201可以包括如下子步骤:
子步骤S11,获取所述执行主体与所述执行客体之间的通信类型;
子步骤S12,当所述通信类型为终端敏感信息通信时,则所述可信应用程序对所述用户应用程序发送的第一运算数据集进行验证,生成针对所述执行客体的验证结果;
其中,所述终端敏感信息通信至少包括登录服务、支付服务、在线升级服务、远程控制服务以及敏感信息下发和上传服务中的一种。当终端需要进行这些通信服务时,可以先对服务器进行验证,确保服务器为可信的服务器。
在本发明实施例的一种示例中,车辆的车载系统可以先获取车辆与服务器之间的通信类型,当通信类型属于登录服务、支付服务、在线升级服务、远程控制服务以及敏感信息下发和上传服务中的一种时,则触发对服务器进行可信验证,通过运行在可信执行环境中的可信应用程序,对运行在操作系统环境中的用户应用程序发送的第一运算数据集进行验证,并生成针对服务器的验证结果。
在具体实现中,目标根证书为采用TEE OS的根密钥进行加密的根证书,则在车辆进行TLS认证服务过程中,当需要验证服务器的公钥信息是否为可信时,车载系统可以调用CA的根证书验证接口,并将公钥信息传递给CA,接着CA可以获取目标根证书,并将目标根证书以及公钥信息作为第一运算数据集发送至TA。当TA接收到第一运算数据集后,可以先采用根密钥对目标根证书进行解密,从而得到针对根密钥的初始根密钥,即明文的根密钥,接着可以采用该明文的根密钥对公钥信息进行运算验证,从而生成验证运算结果,然后可以将验证运算结果返回至用户应用程序,以告知用户应用程序,服务器是否可信。
在本发明实施例的一种可选实施例中,执行主体可以通过用户应用程序采用预设第一密码对预设的第一信息进行加密,生成第一加密信息,所述第一信息包括适配于预设服务器的初始根证书,或,适配于所述车辆的初始私钥信息;所述可信应用程序对所述第一加密信息进行解密,得到所述第一信息;所述可信应用程序采用所述根密钥对所述第一信息进行加密,生成第二加密信息,所述第二加密信息包括目标根证书,或,目标私钥信息;所述用户应用程序将所述第二加密信息存储于所述执行主体的文件系统中。
在具体实现中,第一密码可以为通用密码,CA可以提供证书预置/更新接口,从而当车辆进行TLS认证服务之前,可以通过CA采用通用密码对于适配于服务器的初始根证书,或适配于车辆的初始私钥信息进行加密,得到第一加密信息,并将已经进行第一加密信息发送至TA,从而可以保证根证书,或,私钥信息在进入TEE OS之前的安全性。其中,初始根证书为适配于服务器且未加密的根证书,初始私钥信息为适配于车辆且未加密的私钥信息。
当TA接收到第一加密信息后,可以采用与通用密码对应的固定密钥对第一加密信息进行解密,得到适配于服务器的初始根证书,或适配于车辆的初始私钥信息,接着TA可以采用根密钥重新对适配于服务器的初始根证书,或适配于车辆的初始私钥信息进行加密,生成第二加密信息,然后将第二加密信息发送至CA,从而CA可以将采用根密钥加密的目标根证书,以及采用根密钥加密的目标私钥信息存储于车载系统中,实现根密钥以及私钥信息的安全存储,保证了车辆通信的安全性。
在本发明实施例的一种示例中,在车辆进行TLS认证服务的过程中,可以先通过CA1采用通用密码对适配于服务器的初始根证书,或,适配于车辆的初始私钥信息进行加密,生成第一加密信息,并将第一加密信息发送至TA1,由TA1对第一加密信息进行解密,得到适配于服务器的初始根证书,或,适配于车辆的初始私钥信息,接着TA1可以采用根密钥对适配于服务器的初始根证书,或,适配于车辆的初始私钥信息重新进行加密,生成第二加密信息,并将采用根密钥加密后的目标根证书以及目标私钥信息发送至CA1,由CA1将目标根证书以及目标私钥信息存储于所述车辆的文件系统中。
当需要验证服务器公钥信息是否可信时,车载系统可以调用CA2的根证书验证接口,获取文件系统中存储的目标根证书,以及获取针对服务器的公钥信息,然后将目标根证书以及公钥信息发送至TA2,由TA2采用根密钥对目标根证书进行解密,得到明文的根证书,然后采用该明文的根证书对公钥信息进行验证运算,以判断服务器的公钥信息是否可信,进而判断服务器是否可信,从而避免车辆与不可信的服务器建立通信连接,保证了车辆通信的安全性,避免给用户带来损失。
需要说明的是,本发明实施例包括但不限于上述示例,可以理解的是,在本发明实施例的思想指导下,本领域技术人员可以根据实际情况进行设置,本发明对此不作限制。
步骤202,当所述验证结果为所述服务器可信时,所述可信应用程序对所述用户应用程序发送的第二运算数据集进行签名,生成针对所述服务器的目标数据;
在本发明实施例中,可信应用程序对执行客体的公钥信息进行验证运算后,可以得到验证运算结果,可以包括执行客体可信的验证结果,以及执行客体不可信的验证结果。当验证结果为执行客体可信时,则可信应用程序可以对用户应用程序发送的第二运算数据集进行签名,生成针对执行客体的目标数据,从而建立与执行客体之间的通信连接。其中,第二运算数据集可以包括适配于执行主体的目标私钥信息以及针对执行客体的握手数据。
在具体实现中,握手数据可以为车辆与服务器建立通信连接的认证请求,则在车辆进行TLS认证服务过程中,当车辆需要对握手数据进行签名时,车载系统可以调用CA的私钥签名接口,并将握手数据传递给CA,接着CA可以获取目标私钥信息,并将握手数据以及目标私钥信息作为第二运算数据集发送至TA。当TA接收到第二运算数据集后,可以先采用根密钥对目标私钥信息进行解密,得到针对握手数据的初始私钥信息后,再采用该初始私钥信息对握手数据进行签名运算,生成签名后的目标数据,然后将该目标数据返回CA,以使车辆将该目标数据发送至服务器,建立与服务器之间的通信连接,从而实现在车辆的TEE OS中对适配于服务器的根证书,以及适配于车辆的私钥信息进行加密、解密以及运算,实现了根证书和私钥信息的全生命周期的安全性,进而保证了车辆与服务器之间通信安全。
在本发明实施例的一种示例中,在车辆进行TLS认证服务的过程中,可以先通过CA1采用通用密码对适配于服务器的初始根证书,或,适配于车辆的初始私钥信息进行加密,生成第一加密信息,并将第一加密信息发送至TA1,由TA1对第一加密信息进行解密,得到适配于服务器的初始根证书,或,适配于车辆的初始私钥信息,接着TA1可以采用根密钥对适配于服务器的初始根证书,或,适配于车辆的初始私钥信息重新进行加密,生成第二加密信息,并将采用根密钥加密后的目标根证书以及目标私钥信息发送至CA1,由CA1将目标根证书以及目标私钥信息存储于所述车辆的文件系统中。
当需要验证服务器公钥信息是否可信时,车载系统可以调用CA2的根证书验证接口,获取文件系统中存储的目标根证书,以及获取针对服务器的公钥信息,然后将目标根证书以及公钥信息发送至TA2,由TA2采用根密钥对目标根证书进行解密,得到明文的根证书,然后采用该明文的根证书对公钥信息进行验证运算,以判断服务器的公钥信息是否可信,进而判断服务器是否可信,从而避免车辆与不可信的服务器建立通信连接,保证了车辆通信的安全性,避免给用户带来损失。
当验证结果为服务器可信时,车载系统可以调用CA2的私钥签名接口,获取文件系统中存储的目标私钥信息,以及获取针对服务器的握手数据,然后将目标私钥信息以及握手数据发送至TA2,由TA2采用根密钥对目标私钥信息进行解密,得到明文的私钥信息,然后采用该明文的私钥信息对握手数据进行签名运算,得到目标数据,从而实现车辆对握手数据进行有效性认证,使得服务器可以对车辆发送的数据进行认证,避免非法车辆与服务器进行认证连接后,上报虚假信息、非法请求数据,保证了服务器的数据安全。
需要说明的是,本发明实施例包括但不限于上述示例,可以理解的是,在本发明实施例的思想指导下,本领域技术人员可以根据实际情况进行设置,本发明对此不作限制。
步骤203,所述可信应用程序将所述目标数据发送至所述用户应用程序,以使所述车辆将所述目标数据发送至所述服务器。
在本发明实施例中,当可信应用程序对握手数据进行签名完毕后,可以将签名后的目标数据发送至用户应用程序,从而车载系统可以将目标数据发送至执行客体,以建立执行主体与执行客体之间的通信连接,保证了执行主体联网的安全性。
在具体实现中,车辆的应用服务需要联网,如登录服务、支付服务、在线升级服务、远程控制服务以及敏感信息下发和上传服务等,它们对通信安全提出了更高要求:车辆和服务器之间使用TLS认证,并且是双向认证,以确保通信的保密性、完整性和可信性。则在车辆与服务器之间进行TLS认证的过程中,车辆不从车辆的文件系统或内存中加载根证书和私钥信息,也不在本地内存中进行运算,而是通过将待处理数据通过CA发送至TA,在TEE OS中进行数据的加密、解密以及运算,一方面可以保证根证书和私钥的全生命周期的安全性,另一方面可以保证车辆联网的安全。
在本发明实施例中,应用于具有可信应用程序以及用户应用程序的执行主体,其中,可信应用程序运行于可信执行环境,用户应用程序运行与操作系统环境,通过可信应用程序对用户应用程序发送的第一运算数据集进行验证,生成针对预设执行客体的验证结果,接着当验证结果为执行客体可信时,可信应用程序对用户应用程序发送的第二运算数据集进行签名,生成针对执行客体的目标数据,然后可信应用程序将目标数据发送至用户应用程序,以使执行主体将目标数据发送至执行客体,从而通过在可信执行环境中对执行客体进行验证,同时对执行主体与执行客体之间的握手数据进行签名,保证了根证书以及私钥的安全性,进而提高了执行主体与执行客体之间通信的安全性。
参照图3,示出了本发明的一种通信数据的存储方法实施例的步骤流程图,所述方法应用于具有可信应用程序以及用户应用程序的执行主体,所述可信应用程序运行于可信执行环境,所述用户应用程序运行于操作系统环境,所述可信执行环境对应于一根密钥,具体可以包括如下步骤:
步骤301,所述用户应用程序采用预设第一密码对预设的第一信息进行加密,生成第一加密信息,所述第一信息包括适配于预设执行客体的初始根证书,或,适配于所述执行主体的初始私钥信息;
步骤302,所述可信应用程序对所述第一加密信息进行解密,得到所述第一信息;
步骤303,所述可信应用程序采用所述根密钥对所述第一信息进行加密,生成第二加密信息,所述第二加密信息包括目标根证书,或,目标私钥信息;
步骤304,所述用户应用程序将所述第二加密信息存储于所述执行主体的文件系统中。
在本发明实施例的一种可选实施例中,所述可信执行环境与所述操作系统环境运行于同一处理器;所述处理器对应于唯一的根密钥。
在本发明实施例的一种可选实施例中,所述执行主体包括车辆、无人机、移动终端以及PC终端中的至少一种;所述执行客体包括服务器以及数据库中的至少一种。
在本发明实施例中,应用于具有可信应用程序以及用户应用程序的执行主体,其中,可信应用程序运行于可信执行环境,用户应用程序运行与操作系统环境,通过可信应用程序对用户应用程序发送的第一运算数据集进行验证,生成针对预设执行客体的验证结果,接着当验证结果为执行客体可信时,可信应用程序对用户应用程序发送的第二运算数据集进行签名,生成针对执行客体的目标数据,然后可信应用程序将目标数据发送至用户应用程序,以使执行主体将目标数据发送至执行客体,从而通过在可信执行环境中对执行客体进行验证,同时对执行主体与执行客体之间的握手数据进行签名,保证了根证书以及私钥的安全性,进而提高了执行主体与执行客体之间通信的安全性。
参照图4,示出了本发明的一种通信数据的运算方法实施例的步骤流程图,所述方法应用于具有可信应用程序以及用户应用程序的执行客体,所述可信应用程序运行于可信执行环境,所述用户应用程序运行于操作系统环境,所述可信执行环境对应于一根密钥,具体可以包括如下步骤:
步骤401,所述可信应用程序接收所述用户应用程序发送的第一运算数据集,所述第一运算数据集包括预设的目标根证书以及针对所述执行客体的公钥信息;
步骤402,所述可信应用程序采用所述根密钥对所述目标根证书进行解密,得到针对所述公钥信息的初始根密钥;
步骤403,所述可信应用程序采用所述初始根密钥对所述公钥信息进行运算,生成第一运算结果;
步骤404,所述可信应用程序将所述第一运算结果返回所述用户应用程序。
在本发明实施例的一种可选实施例中,还可以包括如下步骤:
步骤405,所述可信应用程序接收所述用户应用程序发送的第二运算数据集,所述第二运算数据包括预设的目标私钥信息以及针对所述执行客体的握手数据;
步骤406,所述可信应用程序采用所述根密钥对所述目标私钥信息进行解密,得到针对所述握手数据的初始私钥信息;
步骤407,所述可信应用程序采用所述初始私钥信息对所述握手数据进行运算,生成第二运算结果;
步骤408,所述可信应用程序将所述第二运算结果返回所述用户应用程序。
在本发明实施例的一种可选实施例中,所述可信执行环境与所述操作系统环境运行于同一处理器;所述处理器对应于唯一的根密钥。
在本发明实施例的一种可选实施例中,所述执行主体包括车辆、无人机、移动终端以及PC终端中的至少一种;所述执行客体包括服务器以及数据库中的至少一种。
在本发明实施例中,当执行主体需要使用根证书对执行客体的公钥信息,或者使用私钥信息对握手数据进行签名时,可以通过用户应用程序将待处理的数据和文件系统中加密的根证书或私钥信息,传入TEE OS中,通过可信应用程序用根密钥进行解密,并进行运算,从而通过在可信执行环境中对执行客体进行验证,同时对执行主体与执行客体之间的握手数据进行签名,保证了根证书以及私钥的安全性,进而提高了执行主体与执行客体之间通信的安全性。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图5,示出了本发明的一种终端的通信装置实施例的结构框图,应用于具有可信应用程序以及用户应用程序的执行主体,所述可信应用程序运行于可信执行环境,所述用户应用程序运行于操作系统环境,具体可以包括如下模块:
验证模块501,用于所述可信应用程序对所述用户应用程序发送的第一运算数据集进行验证,生成针对预设执行客体的验证结果;
签名模块502,用于当所述验证结果为所述执行客体可信时,所述可信应用程序对所述用户应用程序发送的第二运算数据集进行签名,生成针对所述执行客体的目标数据;
通信模块503,用于所述可信应用程序将所述目标数据发送至所述用户应用程序,以使所述执行主体将所述目标数据发送至所述执行客体。
在本发明实施例的一种可选实施例中,所述可信执行环境对应于一根密钥,所述第一运算数据集包括目标根证书以及与所述执行客体对应的公钥信息,所述验证模块501包括:
第一解密子模块,用于所述可信应用程序采用所述根密钥对所述目标根证书进行解密,得到针对所述公钥信息的初始根密钥;
验证子模块,用于所述可信应用程序采用所述初始根密钥对所述公钥信息进行验证,生成所述验证结果,并将所述验证结果返回所述用户应用程序。
在本发明实施例的一种可选实施例中,所述可信执行环境对应于一根密钥,所述第二运算数据集包括目标私钥信息以及针对所述执行客体的握手数据,所述签名模块502包括:
第二解密子模块,用于所述可信应用程序采用所述根密钥对所述目标私钥信息进行解密,得到针对所述握手数据的初始私钥信息;
签名模块502,用于所述可信应用程序采用所述初始私钥信息对所述握手数据进行签名,生成目标数据,并将所述目标数据返回所述用户应用程序。
在本发明实施例的一种可选实施例中,所述可信执行环境对应于一根密钥,所述装置还包括:
第一加密模块,用于所述用户应用程序采用预设第一密码对预设的第一信息进行加密,生成第一加密信息,所述第一信息包括适配于所述执行客体的初始根证书,或,适配于所述执行主体的初始私钥信息;
第一解密模块,用于所述可信应用程序对所述第一加密信息进行解密,得到所述第一信息;
第二加密模块,用于所述可信应用程序采用所述根密钥对所述用户应用程序发送的所述第一信息进行加密,生成第二加密信息,所述第二加密信息包括目标根证书,或,目标私钥信息;
存储模块,用于所述用户应用程序将所述第二加密信息存储于所述执行主体的车载系统中。
在本发明实施例的一种可选实施例中,所述验证模块501包括:
通信类型获取子模块,用于获取所述执行主体与所述执行客体之间的通信类型;
验证子模块,用于当所述通信类型为终端敏感信息通信时,则所述可信应用程序对所述用户应用程序发送的第一运算数据集进行验证,生成针对所述执行客体的验证结果;
其中,所述终端敏感信息通信至少包括登录服务、支付服务、在线升级服务、远程控制服务以及敏感信息下发和上传服务中的一种。
在本发明实施例的一种可选实施例中,所述可信执行环境与所述操作系统环境运行于同一处理器;所述处理器对应于唯一的根密钥。
在本发明实施例的一种可选实施例中,所述执行主体包括车辆、无人机、移动终端以及PC终端中的至少一种;所述执行客体包括服务器以及数据库中的至少一种。
参照图6,示出了本发明的一种通信数据的存储装置实施例的结构框图,应用于具有可信应用程序以及用户应用程序的执行主体,所述可信应用程序运行于可信执行环境,所述用户应用程序运行于操作系统环境;所述可信执行环境对应于一根密钥,所述装置包括:
第一加密模块601,用于所述用户应用程序采用预设第一密码对预设的第一信息进行加密,生成第一加密信息,所述第一信息包括与预设执行客体对应的初始根证书,或,与所述执行主体对应的初始私钥信息;
解密模块602,用于所述可信应用程序对所述第一加密信息进行解密,得到所述第一信息;
第二加密模块603,用于所述可信应用程序采用所述根密钥对所述第一信息进行加密,生成第二加密信息,所述第二加密信息包括目标根证书,或,目标私钥信息;
信息存储模块604,用于所述用户应用程序将所述第二加密信息存储于所述执行主体的文件系统中。
在本发明实施例的一种可选实施例中,所述可信执行环境与所述操作系统环境运行于同一处理器;所述处理器对应于唯一的根密钥。
在本发明实施例的一种可选实施例中,所述执行主体包括车辆、无人机、移动终端以及PC终端中的至少一种;所述执行客体包括服务器以及数据库中的至少一种。
参照图7,示出了本发明的一种通信数据的运算装置实施例的结构框图,应用于具有可信应用程序以及用户应用程序的执行主体,所述可信应用程序运行于可信执行环境,所述用户应用程序运行于操作系统环境;所述可信执行环境对应于一根密钥,所述装置包括:
第一数据集获取模块701,用于所述可信应用程序接收所述用户应用程序发送的第一运算数据集,所述第一运算数据集包括预设的目标根证书以及针对预设执行客体的公钥信息;
第一解密模块702,用于所述可信应用程序采用所述根密钥对所述目标根证书进行解密,得到针对所述公钥信息的初始根密钥;
第一运算模块703,用于所述可信应用程序采用所述初始根密钥对所述公钥信息进行运算,生成第一运算结果;
第一结果返回模块704,用于所述可信应用程序将所述第一运算结果返回所述用户应用程序。
在本发明实施例的一种可选实施例中,还包括:
第二数据集获取模块,用于所述可信应用程序接收所述用户应用程序发送的第二运算数据集,所述第二运算数据包括预设的目标私钥信息以及针对所述执行客体的握手数据;
第二解密模块,用于所述可信应用程序采用所述根密钥对所述目标私钥信息进行解密,得到针对所述握手数据的初始私钥信息;
第二运算模块,用于所述可信应用程序采用所述初始私钥信息对所述握手数据进行运算,生成第二运算结果;
第二结果返回模块,用于所述可信应用程序将所述第二运算结果返回所述用户应用程序。
在本发明实施例的一种可选实施例中,所述可信执行环境与所述操作系统环境运行于同一处理器;所述处理器对应于唯一的根密钥。
在本发明实施例的一种可选实施例中,所述执行主体包括车辆、无人机、移动终端以及PC终端中的至少一种;所述执行客体包括服务器以及数据库中的至少一种。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还提供了一种终端,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述终端执行本发明实施例所述的方法。
本发明实施例还提供了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行本发明实施例所述的方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器、EEPROM、Flash以及eMMC等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种终端的通信方法及装置、一种通信数据的存储方法及装置与一种通信数据的运算方法及装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (12)

1.一种终端的通信方法,其特征在于,应用于具有可信应用程序以及用户应用程序的执行主体,所述可信应用程序运行于可信执行环境,所述用户应用程序运行于操作系统环境,所述方法包括:
所述可信应用程序对所述用户应用程序发送的第一运算数据集进行验证,生成针对预设执行客体的验证结果;
当所述验证结果为所述执行客体可信时,所述可信应用程序对所述用户应用程序发送的第二运算数据集进行签名,生成针对所述执行客体的目标数据;
所述可信应用程序将所述目标数据发送至所述用户应用程序,以使所述执行主体将所述目标数据发送至所述执行客体;
其中,所述可信执行环境对应于一根密钥;所述第一运算数据集包括适配所述执行客体的目标根证书以及公钥信息;所述可信应用程序对所述用户应用程序发送的第一运算数据集进行验证,生成针对所述执行客体的验证结果,包括:
所述可信应用程序采用所述根密钥对所述目标根证书进行解密,得到针对所述公钥信息的初始根密钥;
所述可信应用程序采用所述初始根密钥对所述公钥信息进行验证,生成所述验证结果,并将所述验证结果返回所述用户应用程序;
其中,所述可信执行环境对应于一根密钥;所述第二运算数据集包括适配所述执行主体的目标私钥信息以及针对所述执行客体的握手数据;所述可信应用程序对所述用户应用程序发送的第二运算数据集进行签名,生成针对所述执行客体的目标数据,包括:
所述可信应用程序采用所述根密钥对所述目标私钥信息进行解密,得到针对所述握手数据的初始私钥信息;
所述可信应用程序采用所述初始私钥信息对所述握手数据进行签名,生成目标数据,并将所述目标数据返回所述用户应用程序。
2.根据权利要求1所述的方法,其特征在于,所述可信执行环境对应于一根密钥,所述方法还包括:
所述用户应用程序采用预设第一密码对预设的第一信息进行加密,生成第一加密信息;所述第一信息包括适配于所述执行客体的初始根证书,或,适配于所述执行主体的初始私钥信息;
所述可信应用程序对所述用户应用程序发送的所述第一加密信息进行解密,得到所述第一信息;
所述可信应用程序采用所述根密钥对所述第一信息进行加密,生成第二加密信息,所述第二加密信息包括目标根证书,或,目标私钥信息;
所述用户应用程序将所述第二加密信息存储于所述执行主体的文件系统中。
3.根据权利要求1-2任一所述的方法,其特征在于,所述可信应用程序对所述用户应用程序发送的第一运算数据集进行验证,生成针对所述执行客体的验证结果,包括:
获取所述执行主体与所述执行客体之间的通信类型;
当所述通信类型为终端敏感信息通信时,则所述可信应用程序对所述用户应用程序发送的第一运算数据集进行验证,生成针对所述执行客体的验证结果;
其中,所述终端敏感信息通信至少包括登录服务、支付服务、在线升级服务、远程控制服务以及敏感信息下发和上传服务中的一种。
4.根据权利要求1所述的方法,其特征在于,所述可信执行环境与所述操作系统环境运行于同一处理器;所述处理器对应于唯一的根密钥。
5.根据权利要求1所述的方法,其特征在于,所述执行主体包括车辆、无人机、移动终端以及PC终端中的至少一种;所述执行客体包括服务器以及数据库中的至少一种。
6.一种通信数据的运算方法,其特征在于,应用于具有可信应用程序以及用户应用程序的执行主体,所述可信应用程序运行于可信执行环境,所述用户应用程序运行于操作系统环境;所述可信执行环境对应于一根密钥,所述方法包括:
所述可信应用程序接收所述用户应用程序发送的第一运算数据集,所述第一运算数据集包括预设的目标根证书以及针对预设执行客体的公钥信息;
所述可信应用程序采用所述根密钥对所述目标根证书进行解密,得到针对所述公钥信息的初始根密钥;
所述可信应用程序采用所述初始根密钥对所述公钥信息进行运算,生成第一运算结果;
所述可信应用程序将所述第一运算结果返回所述用户应用程序;
其中,还包括:
所述可信应用程序接收所述用户应用程序发送的第二运算数据集,所述第二运算数据包括预设的目标私钥信息以及针对所述执行客体的握手数据;
所述可信应用程序采用所述根密钥对所述目标私钥信息进行解密,得到针对所述握手数据的初始私钥信息;
所述可信应用程序采用所述初始私钥信息对所述握手数据进行运算,生成第二运算结果;
所述可信应用程序将所述第二运算结果返回所述用户应用程序。
7.根据权利要求6所述的方法,其特征在于,所述可信执行环境与所述操作系统环境运行于同一处理器;所述处理器对应于唯一的根密钥。
8.根据权利要求6所述的方法,其特征在于,所述执行主体包括车辆、无人机、移动终端以及PC终端中的至少一种;所述执行客体包括服务器以及数据库中的至少一种。
9.一种终端的通信装置,其特征在于,应用于具有可信应用程序以及用户应用程序的执行主体,所述可信应用程序运行于可信执行环境,所述用户应用程序运行于操作系统环境,所述装置包括:
验证模块,用于所述可信应用程序对所述用户应用程序发送的第一运算数据集进行验证,生成针对预设执行客体的验证结果;
签名模块,用于当所述验证结果为所述执行客体可信时,所述可信应用程序对所述用户应用程序发送的第二运算数据集进行签名,生成针对所述执行客体的目标数据;
通信模块,用于所述可信应用程序将所述目标数据发送至所述用户应用程序,以使所述执行主体将所述目标数据发送至所述执行客体;
其中,所述可信执行环境对应于一根密钥,所述第一运算数据集包括目标根证书以及与所述执行客体对应的公钥信息,所述验证模块包括:
第一解密子模块,用于所述可信应用程序采用所述根密钥对所述目标根证书进行解密,得到针对所述公钥信息的初始根密钥;
验证子模块,用于所述可信应用程序采用所述初始根密钥对所述公钥信息进行验证,生成所述验证结果,并将所述验证结果返回所述用户应用程序;
其中,所述可信执行环境对应于一根密钥,所述第二运算数据集包括目标私钥信息以及针对所述执行客体的握手数据,所述签名模块包括:
第二解密子模块,用于所述可信应用程序采用所述根密钥对所述目标私钥信息进行解密,得到针对所述握手数据的初始私钥信息;
签名模块,用于所述可信应用程序采用所述初始私钥信息对所述握手数据进行签名,生成目标数据,并将所述目标数据返回所述用户应用程序。
10.一种通信数据的运算装置,其特征在于,应用于具有可信应用程序以及用户应用程序的执行主体,所述可信应用程序运行于可信执行环境,所述用户应用程序运行于操作系统环境;所述可信执行环境对应于一根密钥,所述装置包括:
第一数据集获取模块,用于所述可信应用程序接收所述用户应用程序发送的第一运算数据集,所述第一运算数据集包括预设的目标根证书以及针对预设执行客体的公钥信息;
第一解密模块,用于所述可信应用程序采用所述根密钥对所述目标根证书进行解密,得到针对所述公钥信息的初始根密钥;
第一运算模块,用于所述可信应用程序采用所述初始根密钥对所述公钥信息进行运算,生成第一运算结果;
第一结果返回模块,用于所述可信应用程序将所述第一运算结果返回所述用户应用程序;
其中,还包括:
第二数据集获取模块,用于所述可信应用程序接收所述用户应用程序发送的第二运算数据集,所述第二运算数据包括预设的目标私钥信息以及针对所述执行客体的握手数据;
第二解密模块,用于所述可信应用程序采用所述根密钥对所述目标私钥信息进行解密,得到针对所述握手数据的初始私钥信息;
第二运算模块,用于所述可信应用程序采用所述初始私钥信息对所述握手数据进行运算,生成第二运算结果;
第二结果返回模块,用于所述可信应用程序将所述第二运算结果返回所述用户应用程序。
11.一种终端,其特征在于,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述终端执行如权利要求1-5或6-8所述的一个或多个的方法。
12.一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如权利要求1-5或6-8所述的一个或多个的方法。
CN201911061968.4A 2019-11-01 2019-11-01 通信方法、存储方法、运算方法及装置 Active CN110838919B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201911061968.4A CN110838919B (zh) 2019-11-01 2019-11-01 通信方法、存储方法、运算方法及装置
PCT/CN2019/126409 WO2021082222A1 (zh) 2019-11-01 2019-12-18 通信方法、存储方法、运算方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911061968.4A CN110838919B (zh) 2019-11-01 2019-11-01 通信方法、存储方法、运算方法及装置

Publications (2)

Publication Number Publication Date
CN110838919A CN110838919A (zh) 2020-02-25
CN110838919B true CN110838919B (zh) 2021-04-13

Family

ID=69576002

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911061968.4A Active CN110838919B (zh) 2019-11-01 2019-11-01 通信方法、存储方法、运算方法及装置

Country Status (2)

Country Link
CN (1) CN110838919B (zh)
WO (1) WO2021082222A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111542050B (zh) * 2020-03-27 2021-05-18 广西东信易联科技有限公司 一种基于tee的保障虚拟sim卡远程初始化安全的方法
CN112543928B (zh) * 2020-04-30 2021-12-14 华为技术有限公司 数据保护方法及装置
CN112669491B (zh) * 2020-12-16 2022-12-09 广州橙行智动汽车科技有限公司 一种车辆数字钥匙分配管理方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107003889A (zh) * 2014-12-24 2017-08-01 英特尔公司 用于提供全球平台兼容可信执行环境的系统和方法
WO2017208064A1 (en) * 2016-05-30 2017-12-07 Silverleap Technology Limited System and method for ensuring system integrity against, and detection of, rollback attacks for stored value data in mobile devices
CN109560933A (zh) * 2018-10-12 2019-04-02 阿里巴巴集团控股有限公司 基于数字证书的认证方法及系统、存储介质、电子设备
CN110011801A (zh) * 2018-11-16 2019-07-12 阿里巴巴集团控股有限公司 可信应用程序的远程证明方法及装置、电子设备
CN110213039A (zh) * 2018-02-28 2019-09-06 华为技术有限公司 一种管理方法、终端和服务器

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101958793A (zh) * 2010-03-03 2011-01-26 北京唐朝科技股份有限公司 双公钥密码身份识别、密钥认证与数字签名一体化解决方案
CN105260663B (zh) * 2015-09-15 2017-12-01 中国科学院信息工程研究所 一种基于TrustZone技术的安全存储服务系统及方法
TWI575402B (zh) * 2016-03-25 2017-03-21 晨星半導體股份有限公司 計算裝置與資料處理方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107003889A (zh) * 2014-12-24 2017-08-01 英特尔公司 用于提供全球平台兼容可信执行环境的系统和方法
WO2017208064A1 (en) * 2016-05-30 2017-12-07 Silverleap Technology Limited System and method for ensuring system integrity against, and detection of, rollback attacks for stored value data in mobile devices
CN110213039A (zh) * 2018-02-28 2019-09-06 华为技术有限公司 一种管理方法、终端和服务器
CN109560933A (zh) * 2018-10-12 2019-04-02 阿里巴巴集团控股有限公司 基于数字证书的认证方法及系统、存储介质、电子设备
CN110011801A (zh) * 2018-11-16 2019-07-12 阿里巴巴集团控股有限公司 可信应用程序的远程证明方法及装置、电子设备

Also Published As

Publication number Publication date
CN110838919A (zh) 2020-02-25
WO2021082222A1 (zh) 2021-05-06

Similar Documents

Publication Publication Date Title
CN110380852B (zh) 双向认证方法及通信系统
KR101904177B1 (ko) 데이터 처리 방법 및 장치
US8112787B2 (en) System and method for securing a credential via user and server verification
JP6117317B2 (ja) 否認防止方法、このための決済管理サーバおよび使用者端末
US8930700B2 (en) Remote device secure data file storage system and method
US8532620B2 (en) Trusted mobile device based security
US20190173873A1 (en) Identity verification document request handling utilizing a user certificate system and user identity document repository
CN107733636B (zh) 认证方法以及认证系统
CN110838919B (zh) 通信方法、存储方法、运算方法及装置
US8397281B2 (en) Service assisted secret provisioning
KR20220086580A (ko) 분산형 컴퓨터 애플리케이션들을 구축하기 위한 비-보관 툴
CN109145628B (zh) 一种基于可信执行环境的数据采集方法及系统
KR101690989B1 (ko) Fido 인증모듈을 이용한 전자서명 방법
CN113572728B (zh) 认证物联网设备的方法、装置、设备及介质
US11811939B2 (en) Advanced crypto token authentication
KR20110083886A (ko) 휴대용 단말기에서 다른 휴대용 단말기를 인증하는 장치 및 방법
CN111431840B (zh) 安全处理方法、装置、计算机设备及可读存储介质
CN113472790A (zh) 基于https协议的信息传输方法、客户端及服务器
JP2020519050A (ja) 身元検証による暗号チップ
KR101771484B1 (ko) 보안 토큰을 효율적으로 사용하기 위한 서명 키 생성방법
KR102053993B1 (ko) 인증서를 이용한 사용자 인증 방법
KR102288444B1 (ko) 인증모듈의 펌웨어 업데이트 방법, 장치 및 프로그램
CN114065170A (zh) 平台身份证书的获取方法、装置和服务器
CN117063174A (zh) 用于通过基于app的身份的app间相互信任的安全模块及方法
TWI782678B (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