CN113591109A - 可信执行环境与云端通信的方法及系统 - Google Patents

可信执行环境与云端通信的方法及系统 Download PDF

Info

Publication number
CN113591109A
CN113591109A CN202110839272.0A CN202110839272A CN113591109A CN 113591109 A CN113591109 A CN 113591109A CN 202110839272 A CN202110839272 A CN 202110839272A CN 113591109 A CN113591109 A CN 113591109A
Authority
CN
China
Prior art keywords
data
key exchange
cloud
public key
trust
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
Application number
CN202110839272.0A
Other languages
English (en)
Other versions
CN113591109B (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.)
Shanghai Trustkernel Information Technology Co ltd
Original Assignee
Shanghai Trustkernel Information 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 Shanghai Trustkernel Information Technology Co ltd filed Critical Shanghai Trustkernel Information Technology Co ltd
Priority to CN202110839272.0A priority Critical patent/CN113591109B/zh
Publication of CN113591109A publication Critical patent/CN113591109A/zh
Application granted granted Critical
Publication of CN113591109B publication Critical patent/CN113591109B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • H04L63/045Network 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 wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioethics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种可信执行环境与云端通信的方法及系统,包括如下步骤:信任根构造步骤:在碎片化的软硬件环境中,使用设备上已有的信息构造安全通信中的信任根;数据传输步骤:使用所述信任根保护数据,加密过程在TEE中执行。本发明中信任根,兼容性比较高;由于此类信任根不可伪造且可被云端验证,使用此类信任根保护数据具有较高的安全性;基于信任根交换公钥,可以防止交换过程中发生中间人攻击;且TEE加密的数据第三方无法读取;使用对称加密算法加密数据,使用非对称加密保护对称加密的密钥,既可以保证安全性,又可以保证效率。

Description

可信执行环境与云端通信的方法及系统
技术领域
本发明涉及可行执行环境与云端通信的技术领域,具体地,涉及一种可信执行环境与云端通信的方法及系统。
背景技术
云与端的可信数据传输是现有移动智能设备软件业务中至关重要的部分。根据业务性质的不同,可信数据传输需要保护数据的隐私性、完整性或以上两者。数据的隐私性是指数据在传输时不会被第三方读取,而完整性指的是传输时不被第三方修改。现有的传输层安全性协议(Transport Layer Security)已经能较好地防止数据在传输过程中被第三方窃取或篡改,但是对端上的恶意行为起到的保护作用有限。一个恶意的操作系统或者拥有足够权限的恶意应用程序能够在构建可信数据链路前,通过读取或篡改内存、替换伪造的证书的方式以较低的成本窃取或者篡改待传输的数据。存在该问题的一个重要的原因是,设备上缺乏不可伪造、且可被云端验证的信任根(Root of Trust)。信任根包含以设备硬件为根的身份和加密密钥,在设备的整个生命周期内为关键系统安全用例提供支持,可以保护设备免受伪造、克隆和逆向工程的侵害。
为了改善数据传输过程中的端上的安全性,可以使用设备端已经存在的可信执行环境(Trusted Execution Environment,简称TEE)。可信执行环境是一个独立于常规操作系统的执行环境,通常用于运行高安全需求操作、保护敏感数据、保护高价值数据等。可信执行环境目前已在移动智能设备上大规模部署,其实通常基于硬件隔离机制,能够在操作系统被攻陷后仍然保证TEE内执行逻辑以及数据不受到外部不可信组件的影响。
公开号为CN110519049A的中国发明专利文献公开了一种基于可信执行环境的云端数据保护系统,包括上传终端和下载终端和可信执行环境处理端,其中,上传终端将数据拥有者加密后的从可信执行环境处理端获取的密钥连同加密后的数据上传至云端服务器,响应于所述数据使用者的访问请求,所述可信执行环境处理端能够在验证所述数据使用者身份并且成功的前提下对所述密文进行解密以生成私钥,用于访问所述数据。TEE作为可信方来进行密钥操作的生成和管理;数据持有者完全控制批准或拒绝应用程序拥有访问敏感文件的决定,只有应用程序具有一组满足数据持有者访问策略的属性时可以解密密文。
针对上述中的相关技术,发明人认为上述传输层安全性协议对端上的恶意行为起到的保护作用有限,设备上缺乏不可伪造、且可被云端验证的信任根,且由于移动设备上可信执行环境的封闭性以及碎片化,作为普通第三方应用的开发者难以在充分利用设备端安全能力的同时,保证应用在不同设备上的兼容性。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种可信执行环境与云端通信的方法及系统。
根据本发明提供的一种可信执行环境与云端通信的方法,其特征在于,包括如下步骤:
信任根构造步骤:在碎片化的软硬件环境中,使用设备上已有的信息构造安全通信中的信任根;
数据传输步骤:使用所述信任根保护数据,加密过程在TEE中执行。
优选的,该方法还包括数据传输协议步骤,数据传输协议步骤包括如下步骤:
协议步骤1:利用所述信任根交换用于数据加密和验证的秘钥;
协议步骤2:分块加密传输数据。
优选的,该方法还包括公钥交换步骤,公钥交换步骤包括如下步骤:
公钥交换步骤1:设备端生成与云端通信的公私钥对,公私钥对包括公钥和私钥,并设备端导出公钥;
公钥交换步骤2:设备端生成具有一定有效期的随机数n;
公钥交换步骤3:设备端导出认证信任根的数据;
公钥交换步骤4:将公钥交换步骤1导出的用于通信的公钥和公钥交换步骤2生成的随机数n打包,生成数据包;
公钥交换步骤5:设备端使用信任根私钥对所述公钥交换步骤4生成的数据包进行签名,得到签名结果;设备端对数据包进行编码,然后将经过设备端编码的数据包、签名结果、验证信任根的数据和信任根类型发送至云端;
公钥交换步骤6:云端收到密钥交换请求后,根据设备端发来的数据包、签名结果、验证信任根的数据和信任根类型验证所述信任根;如果验证成功,云端使用加密流程将云端公钥和公钥交换步骤1设备端生成的随机数n打包,云端打包的数据包经过云端编码后返给设备端;如果验证失败告知设备端验签失败;
公钥交换步骤7:设备端接收到云端返回的数据包后,解码,解包数据,验证云端签名,然后验证云端返回的数据包中的随机数n是否与所述公钥交换步骤1的随机数n相同;如果验签失败和/或随机数n不同和/或随机数n过期,则公钥交换步骤失败,公钥交换步骤终止;如果验签成功和随机数n相同,则验证通过,则将云端公钥保存在可信存储中;
公钥交换步骤8:当密钥交换流程结束后,不论成功或失败,都会重置所述随机数n。
优选的,所述公钥交换步骤2包括:随机数n防重放攻击,保存在可信内存中,一次性使用,具有一定有效时间。
优选的,所述公钥交换步骤2包括:如果信任根由金融支付提供商提供,则所需数据为金融服务设备独立标识符;如果使用预先注入的信任根,则所需数据为注入信任根时写入的设备唯一标识;在设备支持的前提下,如果使用设备自带的密钥认证服务,则所需数据为密钥认证的证书链。
优选的,所述公钥交换步骤5还包括设备端发起的请求中附带标记位标记设备端使用的信任根类型,云端收到密钥交换请求后,根据设备端发来的数据及其签名验证信任根,云端验证信任根的方式包括:如果设备端使用的信任根为金融级安全支付方案中的信任根,则云端会使用金融支付提供商提供的网络接口,传入数据、签名以及金融服务设备独立标识来验证信任根;如果设备使用预先注入的信任根,则云端会通过可信服务管理验证信任根,其中可信服务管理会通过设备唯一标识获取对应设备的公钥,然后由对应设备的公钥验证签名;如果设备端使用自带的密钥认证方式,则云端会调用设备制造商提供的网络接口,验证由设备传来的证书链。
优选的,所述协议步骤1还包括密钥交换步骤,当设备端将数据发送至云端时,设备端为数据发送方,云端为数据接收方;云端将数据返还至设备端时,云端为数据发送方,设备端为数据接收方;在设备端和云端的通信流程中,加密过程在数据发送方进行,解密流程在数据接收方进行,将数据发送方称为加密方,数据接收方称为解密方;所述密钥交换步骤包括如下步骤:
密钥交换步骤1:加密方随机生成AES运算的密钥aesKey和HMAC运算的密钥hMacKey;
密钥交换步骤2:将aesKey和hMacKey打包并使用解密方公钥进行非对称加密;
密钥交换步骤3:将aesKey、hMacKey和版本号打包并使用加密方私钥进行签名;
密钥交换步骤4:将密钥交换步骤2和密钥交换步骤3的结果以及版本号打包,然后将打包数据进行编码;
密钥交换步骤5:将密钥交换步骤4结果的长度编码后与密钥交换步骤4的结果拼接,即为密钥交换数据。
优选的,所述协议步骤1包括:解密方接收到加密数据后,获取aesKey和hMacKey,获取aesKey和hMacKey包括如下步骤:
获取步骤1:解出密钥交换数据的长度,进而从加密数据中截取出密钥交换数据;
获取步骤2:将获取步骤1的结果进行解码,解包解码结果并从中获取加密数据和签名;
获取步骤3:使用加密方的公钥验证加密数据的签名,如果验证失败则认为数据遭到篡改,解析失败;如果验证通过则进行下一步;
获取步骤4:使用解密方私钥解密数据,解包后即可获取到aesKey和hMacKey。
优选的,所述协议步骤2还包括加密前将数据进行分割,对分割后的每组数据进行单独加密,最后将加密结果进行拼装。
根据本发明提供的一种可信执行环境与云端通信的系统,包括如下模块:
信任根构造模块:在碎片化的软硬件环境中,使用设备上已有的信息构造安全通信中的信任根;
数据传输模块:使用所述信任根保护数据,加密过程在TEE中执行。
与现有技术相比,本发明具有如下的有益效果:
1、本发明中的信任根,兼容性比较高;由于此类信任根不可伪造且可被云端验证,使用此类信任根保护数据具有较高的安全性;基于信任根交换公钥,可以防止交换过程中发生中间人攻击;
2、本发明中的TEE加密的数据第三方无法读取;使用对称加密算法加密数据,使用非对称加密保护对称加密的密钥,既可以保证安全性,又可以保证效率;
3、本发明中加密结果附带签名,云端可以通过信任根验证消息的完整性和可信性。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明公钥交换流程图;
图2为本发明加密流程图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
本发明实施例公开了一种可信执行环境与云端通信的方法及系统,如图1和图2所示,信任根构造步骤:在碎片化的软硬件环境中,使用设备上已有的信息构造安全通信中的信任根;目前大部分设备支持使用此类信任根,兼容性比较高。由于此类信任根不可伪造且可被云端验证,使用此类信任根保护数据具有较高的安全性。基于信任根交换公钥,可以防止交换过程中发生中间人攻击。
数据传输步骤:使用信任根保护数据,加密过程在TEE中执行。TEE加密的数据第三方无法读取。使用非对称加密直接加密数据,安全性可以得到保障,但是加解密效率太低,而使用对称加密算法加密数据,使用非对称加密保护对称加密的密钥,既可以保证安全性,又可以保证效率。加密结果附带签名,云端可以通过信任根验证消息的完整性和可信性。
如图1所示,设备端与云端的公钥交换由设备端发起,信任根保存在设备端中,发起交换请求后,由云端通过特定方式验证信任根。在交换信任根之前,云端不会主动通讯并且也无法找到未交换信任根的设备端。
该方法还包括公钥交换步骤:公钥交换步骤包括如下步骤:公钥交换步骤1:设备端生成一对与云端通信的公私钥对,公私钥对包括公钥和私钥,并且设备端导出公钥。
公钥交换步骤2:设备端生成一个保存在可信内存中、一次性使用、具有一定有效时间的随机数n用于防重放攻击,一定有效时间通常为5分钟。
公钥交换步骤3:设备端导出认证信任根的数据。如果信任根由金融支付提供商提供,则所需数据为金融服务设备独立标识符;如果使用预先注入的信任根,则所需数据为注入信任根时写入的设备唯一标识;在设备支持的前提下,如果使用设备自带的密钥认证服务,则所需数据为密钥认证的证书链。
公钥交换步骤4:将公钥交换步骤2生成的随机数n和公钥交换步骤1导出的用于通信的设备端公钥打包,生成数据包。
公钥交换步骤5:设备端使用信任根私钥对公钥交换步骤4生成的数据包进行签名,得到签名结果;设备端对数据包进行编码,然后将经过设备端Base64编码(一种常见的用于传输8bit字节码的编码方式)的数据包、签名结果、用于验证信任根的数据和信任根类型发送至云端。
公钥交换步骤6:云端收到密钥交换请求后,根据设备端发来的数据包、签名结果、验证信任根的数据和信任根类型验证所述信任根。如果验证成功,云端使用加密流程将云端公钥和公钥交换步骤1设备端生成的随机数n打包,云端打包的数据包经过云端编码后返给设备端;如果验证失败告知设备端验签失败。
设备端发起的请求中附带一个标记位用于标记设备端使用的信任根类型,云端收到密钥交换请求后,首先根据设备端发来的数据及其签名验证信任根,通常使用的信任根有以下几种:如果设备端使用的信任根为金融级安全支付方案中的信任根,则云端会使用金融支付提供商提供的网络接口,传入数据、签名以及金融服务设备独立标识来验证信任根。如果设备使用预先注入的信任根,则云端会通过可信服务管理验证信任根,其中可信服务管理会通过设备唯一标识获取对应设备的公钥,然后由此公钥验证签名。如果设备端使用自带的密钥认证方式,则云端会调用设备制造商提供的网络接口,验证由设备传来的证书链。如果验证成功,云端使用加密流程将云端公钥和公钥交换步骤2设备端生成的随机数打包,经过Base64编码后返给设备端;如果验证失败告知设备端验签失败。
公钥交换步骤7:设备端接收到云端返回的数据包后,解码Base64,解包数据,验证云端签名,然后验证云端返回的数据包中的随机数n是否与所述公钥交换步骤1的随机数n相同;如果验签失败和/或随机数n不同和/或随机数n过期,则公钥交换步骤失败,公钥交换步骤终止,即设备端和云端的公钥交换流程终止,认为遭到攻击,此次公钥交换无效;如果验签成功和随机数n相同,则验证通过,则将云端公钥保存在可信存储中。
公钥交换步骤8:当密钥交换流程结束后,不论成功或失败,都会重置随机数n。
数据传输协议:设备端与云端交换公钥成功后,云端与设备端即可使用对方的公钥进行数据加密。目前RSA、SM2等非对称加解密算法当密钥长度足够大时,已经可以满足大部分需求。但是仍然存在一些问题:密钥长度越大,加解密的效率也就越低;同时,在某些极端情况下加密过程中生成的数据(比如:对称加密密钥)被非法获取,仍具有安全隐患。
为了解决以上问题,保证通讯的效率和安全性,本方案采用对称加密原文、非对称加密保护对称密钥的方案,同时对原文加密时分组加密,每组使用不同的初始化向量,进一步加大了破解难度;在TEE中执行加解密,可以防止攻击者获取中间生成的数据。同时使用信任根进行签名使数据更具真实性。具体的加密流程如图2所示。
该方法还包括数据传输协议步骤,数据传输协议步骤还包括协议步骤1:利用信任根交换用于数据加密和验证的秘钥。利用信任根交换用于数据加密和验证的密钥,此部分数据构成了加密结果的第一部分。协议步骤1还包括密钥交换步骤。当设备端将数据发送至云端时,设备端为数据发送方,云端为数据接收方;云端将数据返还至设备端时,云端为数据发送方,设备端为数据接收方;在设备端和云端的通信流程中,加密过程在数据发送方进行,解密流程在数据接收方进行,将数据发送方称为加密方,数据接收方称为解密方。密钥交换步骤包括如下步骤:密钥交换步骤1:加密方随机生成AES运算的密钥aesKey和生成HMAC运算的密钥hMacKey。密钥交换步骤2:将aesKey和hMacKey打包并使用解密方公钥进行非对称加密。密钥交换步骤3:将aesKey、hMacKey和版本号打包并使用加密方私钥进行签名。密钥交换步骤4:将密钥交换步骤2和密钥交换步骤3的结果以及版本号打包,然后将打包数据进行Base64编码。密钥交换步骤5:将密钥交换步骤4结果的长度编码后与密钥交换步骤4的结果拼接。即将密钥交换步骤4结果的长度转为字节数组后,经过编码,再与密钥交换步骤4的结果结合,即为密钥交换数据。
解密方接收到加密数据后,获取aesKey和hMacKey,获取aesKey和hMacKey的步骤包括如下步骤:获取步骤1:解出密钥交换数据的长度,进而从加密数据中截取出密钥交换数据。因为长度固定占4字节,经过Base64编码后占8字节,通过前8字节解出密钥交换数据的长度,进而从加密数据中截取出密钥交换数据。获取步骤2:将获取步骤1的结果进行解码,解包解码结果并从中获取加密数据和签名。将获取步骤1的结果进行Base64解码,解包解码结果并从中获取加密数据和签名。获取步骤3:使用加密方的公钥验证加密数据的签名,如果验证失败则认为数据遭到篡改,解析失败;如果验证通过则进行下一步。获取步骤4:使用解密方私钥解密数据,解包后即可获取到aesKey和hMacKey。
协议步骤2:分块加密传输数据。加密数据时,原文中一般会放入一个有效期为5分钟的随机数n,用于防重放攻击。如上图所示,加密前首先以16384字节为单位,将数据进行分割,对分割后的每组数据进行单独加密,最后将加密结果进行拼装。加密前将数据进行分割,对分割后的每组数据进行单独加密,最后将加密结果进行拼装。
对每组数据的加密步骤;对每组数据的加密步骤包括如下步骤:加密步骤1:随机生成用于AES加密的初始化向量iv(每组加密时iv不同)。加密步骤2:使用协议步骤1中生成的aesKey和加密步骤1生成的iv对待加密数据进行AES加密。加密步骤3:将密文、明文长度、iv以及字节的结束位打包,并使用协议步骤1中生成的hMacKey计算数据包的HMAC。将密文、明文长度、iv以及1字节的结束位(0x00)打包,并使用协议步骤1中生成的hMacKey计算数据包的HMAC。加密步骤4:将加密步骤3中生成的HMAC添加到加密步骤3的数据包中,然后进行编码,进行Base64编码。加密步骤5:将加密步骤4结果的长度转为字节数组后,经过编码,经过Base64编码,再与加密步骤4的结果结合,即为分组加密数据。
当分组加密完成后,还需添加一块特殊的加密数据,用于标记加密完成。将明文长度0、密文0x00、初始化向量(16字节0x30)和1字节的结束位(0x01)进行加密,此加密结果构成加密数据的第三部分。
数据传输协议还包括数据的解密步骤,数据的解密,解密方经过协议步骤1解出密钥交换数据后,剩余部分即为带解密数据,按照以下步骤循环解密,直到解析出结束标记(加密数据的第三部分)为止。数据的解密步骤包括如下步骤:解密步骤1:前8字节为经过Base64编码的待解密数据的长度,解码此长度,进而提取出经过Base64编码的待解密数据,然后将数据Base64解码。解密步骤2:将解密步骤1的解码结果解包并从中获取原文长度、对称加密结果、对称加密的初始化向量iv、加密结束标记以及HMAC,首先验证由前4者组成的数据包的HMAC,如果验证失败则认为数据遭到篡改,解析失败,如果验证通过则进行下一步。解密步骤3:使用aesKey和iv解密数据,验证原文长度,如果验证失败则解密失败,如果验证通过则进行下一步。解密步骤4:判断标记位,如果标记位为0x01,则认为解密结束,停止解密,否则继续循环。
本发明是用于云端设备端安全通信,本发明主要做了以下几点:1、根据设备情况,构造拥有高优先级别的信任根。云端验证信任根目前主要有以下三种方式:(1)基于设备上可能存在的金融级安全支付方案中的信任根:设备在生产时,会在产线写入密钥对,金融提供商会提供接口验证信任根。(2)基于设备上预先注入的信任根:设备在生产时,会在产线写入密钥对以及设备唯一标识,并将设备公钥、设备唯一标识记录在可信服务管理中,由可信服务管理验证信任根。(3)基于密钥认证方式(Key Attestation):部分设备支持密钥认证,设备制造商已在出厂时将根密钥注入到设备的硬件支持的密钥库中,一般由设备制造商提供的网络接口验证证书链。在此基础上设计了一套数据传输的协议,保证完整性和隐私性。协议分为两步:(1)利用信任根交换用于数据加密和验证的秘钥。(2)分块加密传输数据。
本发明介绍了安全通信方式中用到的加解密、数据编码等方式。AES算法,全称为Advanced Encryption Standard,高级加密标准,是一种用于替代DES(Data EncryptionStandard,数据加密标准)的对称加密算法,分为加密反馈模式CFB、输出反馈模式OFB、电子密码本模式ECB、加密块链模式CBC和计数器模式CTR五种。本发明中采用了AES-CBC的加解密方法,加密时需要传入初始化向量iv。
HMAC,全称为Hash-based Message Authentication Code,哈希运算消息认证码,是一种利用密码学中的散列函数来进行消息认证的一种机制,可以提供的消息认证包括以下两方面:(1)消息完整性认证:能够证明消息内容在传送过程没有被修改。(2)信源身份认证:因为通信双方共享了认证的密钥,接收方能够认证发送该数据的信源与所宣称的一致,即能够可靠地确认接收的消息与发送的一致。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

Claims (10)

1.一种可信执行环境与云端通信的方法,其特征在于,包括如下步骤:
信任根构造步骤:在碎片化的软硬件环境中,使用设备上已有的信息构造安全通信中的信任根;
数据传输步骤:使用所述信任根保护数据,加密过程在TEE中执行。
2.根据权利要求1所述的可信执行环境与云端通信的方法,其特征在于,该方法还包括数据传输协议步骤,数据传输协议步骤包括如下步骤:
协议步骤1:利用所述信任根交换用于数据加密和验证的秘钥;
协议步骤2:分块加密传输数据。
3.根据权利要求1所述的可信执行环境与云端通信的方法,其特征在于,该方法还包括公钥交换步骤,公钥交换步骤包括如下步骤:
公钥交换步骤1:设备端生成与云端通信的公私钥对,公私钥对包括公钥和私钥,并设备端导出公钥;
公钥交换步骤2:设备端生成具有一定有效期的随机数n;
公钥交换步骤3:设备端导出验证信任根的数据;
公钥交换步骤4:将公钥交换步骤1导出的用于通信的公钥和公钥交换步骤2生成的随机数n打包,生成数据包;
公钥交换步骤5:设备端使用信任根私钥对所述公钥交换步骤4生成的数据包进行签名,得到签名结果;设备端对数据包进行编码,然后将经过设备端编码的数据包、签名结果、验证信任根的数据和信任根类型发送至云端;
公钥交换步骤6:云端收到密钥交换请求后,根据设备端发来的数据包、签名结果、验证信任根的数据和信任根类型验证所述信任根;如果验证成功,云端使用加密流程将云端公钥和公钥交换步骤1设备端生成的随机数n打包,云端打包的数据包经过云端编码后返给设备端;如果验证失败告知设备端验签失败;
公钥交换步骤7:设备端接收到云端返回的数据包后,解码,解包数据,验证云端签名,然后验证云端返回的数据包中的随机数n是否与所述公钥交换步骤1的随机数n相同;如果验签失败和/或随机数n不同和/或随机数n过期,则公钥交换步骤失败,公钥交换步骤终止;如果验签成功和随机数n相同,则验证通过,则将云端公钥保存在可信存储中;
公钥交换步骤8:当密钥交换流程结束后,不论成功或失败,都会重置所述随机数n。
4.根据权利要求3所述的可信执行环境与云端通信的方法,其特征在于,所述公钥交换步骤2包括:随机数n防重放攻击,保存在可信内存中,一次性使用,具有一定有效时间。
5.根据权利要求3所述的可信执行环境与云端通信的方法,其特征在于,所述公钥交换步骤3包括:如果信任根由金融支付提供商提供,则所需数据为金融服务设备独立标识符;如果使用预先注入的信任根,则所需数据为注入信任根时写入的设备唯一标识;在设备支持的前提下,如果使用设备自带的密钥认证服务,则所需数据为密钥认证的证书链。
6.根据权利要求3所述的可行执行环境云端通信的方法,其特征在于,所述公钥交换步骤5还包括设备端发起的请求中附带标记位标记设备端使用的信任根类型,云端收到密钥交换请求后,根据设备端发来的数据及其签名验证信任根,云端验证信任根的方式包括:如果设备端使用的信任根为金融级安全支付方案中的信任根,则云端会使用金融支付提供商提供的网络接口,传入数据、签名以及金融服务设备独立标识来验证信任根;如果设备使用预先注入的信任根,则云端会通过可信服务管理验证信任根,其中可信服务管理会通过设备唯一标识获取对应设备的公钥,然后由对应设备的公钥验证签名;如果设备端使用自带的密钥认证方式,则云端会调用设备制造商提供的网络接口,验证由设备传来的证书链。
7.根据权利要求2所述的可信执行环境与云端通信的方法,其特征在于,所述协议步骤1还包括密钥交换步骤,当设备端将数据发送至云端时,设备端为数据发送方,云端为数据接收方;云端将数据返还至设备端时,云端为数据发送方,设备端为数据接收方;在设备端和云端的通信流程中,加密过程在数据发送方进行,解密流程在数据接收方进行,将数据发送方称为加密方,数据接收方称为解密方;所述密钥交换步骤包括如下步骤:
密钥交换步骤1:加密方随机生成AES运算的密钥aesKey和HMAC运算的密钥hMacKey;
密钥交换步骤2:将aesKey和hMacKey打包并使用解密方公钥进行非对称加密;
密钥交换步骤3:将aesKey、hMacKey和版本号打包并使用加密方私钥进行签名;
密钥交换步骤4:将密钥交换步骤2和密钥交换步骤3的结果以及版本号打包,然后将打包数据进行编码;
密钥交换步骤5:将密钥交换步骤4结果的长度编码后与密钥交换步骤4的结果拼接,即为密钥交换数据。
8.根据权利要求7所述的可信执行环境与云端通信的方法,其特征在于,所述协议步骤1包括:解密方接收到加密数据后,获取aesKey和hMacKey,获取aesKey和hMacKey包括如下步骤:
获取步骤1:解出密钥交换数据的长度,进而从加密数据中截取出密钥交换数据;
获取步骤2:将获取步骤1的结果进行解码,解包解码结果并从中获取加密数据和签名;
获取步骤3:使用加密方的公钥验证加密数据的签名,如果验证失败则认为数据遭到篡改,解析失败;如果验证通过则进行下一步;
获取步骤4:使用解密方私钥解密数据,解包后即可获取到aesKey和hMacKey。
9.根据权利要求2所述的可信执行环境与云端通信的方法,其特征在于,所述协议步骤2还包括加密前将数据进行分割,对分割后的每组数据进行单独加密,最后将加密结果进行拼装。
10.一种可信执行环境与云端通信的系统,其特征在于,应用权利要求1-9任一所述的可信执行环境与云端通信的方法,包括如下模块:
信任根构造模块:在碎片化的软硬件环境中,使用设备上已有的信息构造安全通信中的信任根;
数据传输模块:使用所述信任根保护数据,加密过程在TEE中执行。
CN202110839272.0A 2021-07-23 2021-07-23 可信执行环境与云端通信的方法及系统 Active CN113591109B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110839272.0A CN113591109B (zh) 2021-07-23 2021-07-23 可信执行环境与云端通信的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110839272.0A CN113591109B (zh) 2021-07-23 2021-07-23 可信执行环境与云端通信的方法及系统

Publications (2)

Publication Number Publication Date
CN113591109A true CN113591109A (zh) 2021-11-02
CN113591109B CN113591109B (zh) 2023-05-02

Family

ID=78249569

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110839272.0A Active CN113591109B (zh) 2021-07-23 2021-07-23 可信执行环境与云端通信的方法及系统

Country Status (1)

Country Link
CN (1) CN113591109B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114845298A (zh) * 2022-03-29 2022-08-02 国网山东省电力公司经济技术研究院 一种基于可信wlan的架空光缆监测传输系统
CN116305330A (zh) * 2023-05-22 2023-06-23 西安晟昕科技股份有限公司 一种cpu硬件的安全管理方法

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101442403A (zh) * 2008-12-25 2009-05-27 中国电子科技集团公司第五十四研究所 一种自适应的复合密钥交换和会话密钥管理方法
CN102710605A (zh) * 2012-05-08 2012-10-03 重庆大学 一种云制造环境下的信息安全管控方法
CN103763315A (zh) * 2014-01-14 2014-04-30 北京航空航天大学 一种应用于移动设备云存储的可信数据存取控制方法
US20140281554A1 (en) * 2013-03-13 2014-09-18 Atmel Corporation Generating keys using secure hardware
US20140337234A1 (en) * 2013-05-09 2014-11-13 Dresser, Inc. Systems and methods for secure communication
US20160254918A1 (en) * 2015-02-27 2016-09-01 Samsung Electronics Co., Ltd Trust-zone-based end-to-end security
US20180039795A1 (en) * 2016-08-08 2018-02-08 Data I/O Corporation Embedding foundational root of trust using security algorithms
CN109101822A (zh) * 2018-07-10 2018-12-28 西安交通大学 一种解决多方计算中数据隐私泄露问题的方法
CN109792386A (zh) * 2016-09-29 2019-05-21 诺基亚技术有限公司 用于可信计算的方法和装置
CN110120869A (zh) * 2019-03-27 2019-08-13 上海隔镜信息科技有限公司 密钥管理系统及密钥服务节点
US20210144004A1 (en) * 2019-11-11 2021-05-13 International Business Machines Corporation Forward secrecy in Transport Layer Security (TLS) using ephemeral keys

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101442403A (zh) * 2008-12-25 2009-05-27 中国电子科技集团公司第五十四研究所 一种自适应的复合密钥交换和会话密钥管理方法
CN102710605A (zh) * 2012-05-08 2012-10-03 重庆大学 一种云制造环境下的信息安全管控方法
US20140281554A1 (en) * 2013-03-13 2014-09-18 Atmel Corporation Generating keys using secure hardware
US20140337234A1 (en) * 2013-05-09 2014-11-13 Dresser, Inc. Systems and methods for secure communication
CN103763315A (zh) * 2014-01-14 2014-04-30 北京航空航天大学 一种应用于移动设备云存储的可信数据存取控制方法
US20160254918A1 (en) * 2015-02-27 2016-09-01 Samsung Electronics Co., Ltd Trust-zone-based end-to-end security
US20180039795A1 (en) * 2016-08-08 2018-02-08 Data I/O Corporation Embedding foundational root of trust using security algorithms
CN109792386A (zh) * 2016-09-29 2019-05-21 诺基亚技术有限公司 用于可信计算的方法和装置
CN109101822A (zh) * 2018-07-10 2018-12-28 西安交通大学 一种解决多方计算中数据隐私泄露问题的方法
CN110120869A (zh) * 2019-03-27 2019-08-13 上海隔镜信息科技有限公司 密钥管理系统及密钥服务节点
US20210144004A1 (en) * 2019-11-11 2021-05-13 International Business Machines Corporation Forward secrecy in Transport Layer Security (TLS) using ephemeral keys

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
余波;杨明广;李传学;: "信任实体与ABE密码体制相结合的云存储加密模型" *
张鲁胜;吴建平;: "基于可信平台模块的文件传输备份协议" *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114845298A (zh) * 2022-03-29 2022-08-02 国网山东省电力公司经济技术研究院 一种基于可信wlan的架空光缆监测传输系统
CN114845298B (zh) * 2022-03-29 2023-11-28 国网山东省电力公司经济技术研究院 一种基于可信wlan的架空光缆监测传输系统
CN116305330A (zh) * 2023-05-22 2023-06-23 西安晟昕科技股份有限公司 一种cpu硬件的安全管理方法
CN116305330B (zh) * 2023-05-22 2023-08-04 西安晟昕科技股份有限公司 一种cpu硬件的安全管理方法

Also Published As

Publication number Publication date
CN113591109B (zh) 2023-05-02

Similar Documents

Publication Publication Date Title
US7773754B2 (en) Key management system and method
CN103595530B (zh) 软件密钥更新方法和装置
CN111740844A (zh) 基于硬件的国密算法的ssl通信方法及装置
US8909932B2 (en) Method and apparatus for security over multiple interfaces
US20110041046A1 (en) Apparatus and method for protecting rfid data
CN111614621B (zh) 物联网通信方法和系统
KR20050084877A (ko) 장치 특정 보안 데이터의 안전한 실시 및 이용
CN108323230B (zh) 一种传输密钥的方法、接收终端和分发终端
CN111639348B (zh) 数据库秘钥的管理方法及装置
CN113591109B (zh) 可信执行环境与云端通信的方法及系统
CN112020038A (zh) 一种适用于轨道交通移动应用的国产加密终端
CN105281910A (zh) 带ca数字证书作为入网身份识别的物联网锁及其入网身份识别方法
US20060053288A1 (en) Interface method and device for the on-line exchange of content data in a secure manner
US11784812B1 (en) Device, system, and method to facilitate secure data transmission, storage and key management
KR20200099873A (ko) 드론(Unnamed Aerial vehicle)시스템을 위한 HMAC기반의 송신원 인증 및 비밀키 공유 방법 및 시스템
CN114978769B (zh) 单向导入装置、方法、介质、设备
CN101902610B (zh) 实现iptv机顶盒和智能卡间安全通信的方法
CN114866778B (zh) 一种监控视频安全系统
CN114679299B (zh) 通信协议加密方法、装置、计算机设备和存储介质
CN115102768A (zh) 一种数据处理方法、装置及计算机设备
CN114553557A (zh) 密钥调用方法、装置、计算机设备和存储介质
CN212727433U (zh) 一种适用于轨道交通移动应用的国产加密终端
CN114095156B (zh) 一种轨道交通移动终端数据保护方法
WO2019153118A1 (zh) 一种传输密钥的方法、接收终端和分发终端
Lili et al. A New Key Negotiation Mechanism Based on Digital Certificate

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