CN111130799A - 一种基于tee进行https协议传输的方法及*** - Google Patents
一种基于tee进行https协议传输的方法及*** Download PDFInfo
- Publication number
- CN111130799A CN111130799A CN201911358479.5A CN201911358479A CN111130799A CN 111130799 A CN111130799 A CN 111130799A CN 201911358479 A CN201911358479 A CN 201911358479A CN 111130799 A CN111130799 A CN 111130799A
- Authority
- CN
- China
- Prior art keywords
- tee
- server
- client
- key
- isolation area
- 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
Links
Images
Classifications
-
- 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/32—Cryptographic 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/3236—Cryptographic 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 using cryptographic hash functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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/32—Cryptographic 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/3247—Cryptographic 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
-
- 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/32—Cryptographic 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/3263—Cryptographic 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供一种基于TEE进行HTTPS协议传输的方法及***。该方法包括:客户端发起连接请求;服务器向客户端返回请求回应;对请求回应进行验证,并向TEE隔离区进程发送公钥;TEE隔离区生成随机信息,并用公钥加密后返回,客户端将公钥加密后的随机信息发送至服务器;服务器和TEE隔离区进程生成相同的秘钥,所述TEE外部无法生成密钥;服务器与客户端握手完成网路连接,服务器与TEE隔离区进程基于秘钥进行加密数据传输。本发明实施例通过在TEE对敏感数据保护的基础上,在HTTPS协议密钥交换层面用TEE保证了通信链路无法被TEE宿主机窥探,从而实现了服务器无感的敏感数据加密传输,缩小敏感信息泄露可能。
Description
技术领域
本发明涉及网络安全技术领域,尤其涉及一种基于TEE进行HTTPS协议传输的方法及***。
背景技术
HTTPS已经成为了绝大多数服务器到WEB浏览器以及服务器到服务器间的主要数据传输协议。目前大多应用程序接口(API)的调用均基于了HTTPS协议。HTTPS协议通过在两个进程间(远程的)进行四次握手完成秘钥交换,确保了进程到进程间数据加密传输。
而在一些应用场景中,如隐私数据的处理、敏感数据的机器学习等,往往需要服务器端确保无法盗取和泄露数据。但近年来隐私数据泄露事件层出不穷,互联网用户信息泄露容易受到诈骗和骚扰,互联网服务提供商也因此承担法律风险,因此有不少互联网服务提供商使用TEE(Trusted ExecutionEnvironment,可信执行环境)技术来保护和处理用户数据。
出于安全考虑,TEE的输入输出(I/O)收到限制,网络I/O无法在TEE内发起调用。这就导致TEE内的敏感数据无法通过HTTPS调用加密的抵达目标服务器。当敏感数据需要在服务器之间传输时,目前的做法往往需要在TEE内把敏感数据传出存储器屏蔽区,然后由TEE外部操作***向目标服务器发起HTTPS请求,这样就会导致机密数据暴露在原服务器端,这样TEE也就失去了作用。
为了保证隐私数据的安全,需要提出一种新的基于TEE的网络传输方法。
发明内容
本发明实施例提供一种基于TEE进行HTTPS协议传输的方法及***,用以解决现有技术中需要传输敏感数据时,将敏感数据暴露在原服务器端,存在安全隐患的缺陷。
第一方面,本发明实施例提供一种基于TEE进行HTTPS协议传输的方法,包括:
客户端发起连接请求;
服务器接收所述连接请求并向所述客户端返回请求回应;
所述客户端对所述请求回应进行验证,并向TEE隔离区进程发送所述服务器的公钥;
所述TEE隔离区进程接收到所述公钥后,生成随机信息,并将所述随机信息用所述公钥加密后返回至所述客户端,所述客户端将经过所述公钥加密后的所述随机信息发送至所述服务器;
基于所述连接请求、所述请求回应和所述随机信息,所述服务器和所述TEE隔离区进程生成相同的秘钥,所述TEE隔离区进程外部无法生成秘钥;
所述服务器使用预设指令加密指定消息,将所述指定消息发送给所述客户端;
所述服务器与所述客户端执行HTTPS握手,完成网路连接,所述服务器与所述TEE隔离区进程基于所述秘钥,在所述网络连接上进行加密数据传输。
优选地,所述连接请求包括支持协议版本、支持加密及压缩算法和第一随机数。
优选地,所述请求回应包括证书信息、第二随机数、预设发送消息、确定的加密协议和加密算法。
优选地,所述证书信息包括证书颁发机构名称、证书数字签名、证书持有者公钥和证书签名所使用Hash算法。
优选地,所述随机信息包括第三随机数。
优选地,所述基于所述连接请求、所述请求回应和所述随机信息,所述服务器和所述TEE隔离区进程生成相同的秘钥,具体包括:
基于所述第一随机数、所述第二随机数和所述第三随机数,所述服务器和所述TEE隔离区进程生成对称加密的所述秘钥。
优选地,所述服务器使用预设指令加密指定消息,将所述指定消息发送给所述客户端,具体包括:
所述服务器采用Session Secret指令加密Finish消息发送给所述客户端。
第二方面,本发明实施例提供一种基于TEE进行HTTPS协议传输的***,包括:
连接模块,用于客户端发起连接请求;
返回模块,用于服务器接收所述连接请求并向所述客户端返回请求回应;
验证模块,用于所述客户端对所述请求回应进行验证,并向所述客户端的TEE隔离区进程发送所述服务器的公钥;
处理模块,用于所述TEE隔离区进程接收到所述公钥后,生成随机信息,并将所述随机信息用所述公钥加密后返回至所述客户端,所述客户端将经过所述公钥加密后的所属随机信息发送至所述服务器;
生成模块,用于基于所述连接请求、所述请求回应和所述随机信息,所述服务器和所述TEE隔离区进程生成相同的秘钥,所述TEE隔离区进程外部无法生成秘钥;
加密模块,用于所述服务器使用预设指令加密指定消息,将所述指定消息发送给所述客户端;
传输模块,用于所述服务器与所述客户端执行HTTPS握手,完成网路连接,所述服务器与所述TEE隔离区进程基于所述秘钥,在所述网络连接上进行加密数据传输。
第三方面,本发明实施例提供一种电子设备,包括:
存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现任一项所述基于TEE进行HTTPS协议传输的方法的步骤。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现任一项所述基于TEE进行HTTPS协议传输的方法的步骤。
本发明实施例提供的基于TEE进行HTTPS协议传输的方法及***,通过在TEE存储器屏蔽区对敏感数据保护的基础上,拓展了TEE对外的服务调用功能,在HTTPS协议密钥交换层面用TEE保证了通信链路无法被TEE宿主机窥探,从而在目标服务器无需任何功能变动的同时实现了敏感数据加密传输,进一步缩小了敏感信息泄露的可能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中的HTTPS流程图;
图2为本发明实施例提供的TEE兼容的HTTPS流程;
图3为本发明实施例提供的一种基于TEE进行HTTPS协议传输的方法流程图;
图4为本发明实施例提供的一种基于TEE进行HTTPS协议传输的***结构图;
图5为本发明实施例提供的电子设备的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
可信执行环境TEE技术是近年来发展势头比较强劲的计算机安全技术,由多种计算机软硬件技术组成。有5个技术概念是可信计算的核心:
1.Endorsement key签注密钥,签注密钥是一个2048位的RSA公共和私有密钥对,它在芯片出厂时随机生成并且不能改变。这个私有密钥永远在芯片里,而公共密钥用来认证及加密发送到该芯片的敏感数据;
2.Secure input and output安全输入输出安全输入输出是指电脑用户和他们认为与之交互的软件间受保护的路径。当前,电脑***上恶意软件有许多方式来拦截用户和软件进程间传送的数据。例如键盘监听和截屏;
3.Memory curtaining储存器屏蔽储存器屏蔽拓展了一般的储存保护技术,提供了完全独立的储存区域。例如,包含密钥的位置。即使操作***自身也没有被屏蔽储存的完全访问权限,所以入侵者即便控制了操作***信息也是安全的;
4.Sealed storage密封存储密封存储通过把私有信息和使用的软硬件平台配置信息捆绑在一起来保护私有信息。意味着该数据只能在相同的软硬件组合环境下读取。例如,某个用户在他们的电脑上保存一首歌曲,而他们的电脑没有播放这首歌的许可证,他们就不能播放这首歌;
5.Remote attestation远程认证远程认证准许用户电脑上的改变被授权方感知。例如,软件公司可以避免用户干扰他们的软件以规避技术保护措施。它通过让硬件生成当前软件的证明书。随后电脑将这个证明书传送给远程被授权方来显示该软件公司的软件尚未被干扰(尝试破解)。
执行逻辑的代码通过装载进TEE后启动,同时TEE会在内存中开辟出于主操作***隔离的存储器屏蔽区。操作***层面无法直接观察存储器屏蔽区内的数据,TEE存储器屏蔽区内的数据只能按照装载进TEE的代码来进行调度。
现有的HTTPS流程图如图1所示,对比于本发明实施例的TEE兼容的HTTPS流程图如图2所示。
本发明实施例提出的一种基于TEE进行HTTPS协议传输的方法,将HPPTS的实现从代码层面拆分为超文本传输协议HTTP和安全套接层SSL,将HTTP握手放在源服务器的TEE之外执行,而将秘钥交换的相关部分SSL放进TEE里执行。整个解决方案包括如下角色:
(1)源服务器,支持TEE的服务器端,敏感数据在源服务器的TEE被隔离处理,同时也负责对目标服务器发起HTTPS网络调用;
(2)可信执行环境TEE,架设在源服务器上,负责处理敏感数据。在本解决方案中,TEE负责与目标服务器进行秘钥交换,而整个过程中,TEE外部操作***则无法观察到交换的秘钥;
(3)目标服务器,提供HTTPS接口的数据接收方,并不关心发来的数据是什么,也不关心由谁发数据来。只要满足HTTPS握手流程,便可以正确处理数据。
图3为本发明实施例提供的一种基于TEE进行HTTPS协议传输的方法流程图,如图3所示,包括:
S1,客户端发起连接请求;
S2,服务器接收所述连接请求并向所述客户端返回请求回应;
S3,所述客户端对所述请求回应进行验证,并向所述客户端的TEE隔离区进程发送所述服务器的公钥;
S4,所述TEE隔离区进程接收到所述公钥后,生成随机信息,并将所述随机信息用所述公钥加密后返回至所述客户端,所述客户端将经过所述公钥加密后的所述随机信息发送至所述服务器;
S5,基于所述连接请求、所述请求回应和所述随机信息,所述服务器和所述TEE隔离区进程生成相同的秘钥,所述TEE隔离区进程外部无法生成秘钥;
S6,所述服务器使用预设指令加密指定消息,将所述指定消息发送给所述客户端;
S7,所述服务器与所述客户端执行HTTPS握手,完成网路连接,所述服务器与所述TEE隔离区进程基于所述秘钥,在所述网络连接上进行加密数据传输。
具体地,步骤S1中,客户端发起连接请求;
步骤S2中,服务器接收客户端发来的连接请求,并向客户端返回请求回应;
步骤S3中,客户端对请求回应进行验证,验证完毕之后,客户端将服务器的公钥发送至客户端的TEE隔离区进程;
步骤S4中,TEE隔离区进程接收到公钥后,生成随机信息,TEE隔离区进程并将随机信息用公钥加密后返回至客户端,然后客户端将经过公钥加密后的随机信息发送至服务器;
步骤S5中,基于连接请求、请求回应和随机信息,服务器和客户端的TEE隔离区进程生成相同的秘钥,而在TEE隔离区进程的外部是无法生成秘钥的;
步骤S6中,进一步地,服务器使用预设指令加密指定消息,将指定消息发送给客户端,用来验证连接是否成功;
步骤S7中,后续客户端与服务器进行通信,服务器与客户端执行HTTPS握手机制,完成网路的连接建立,服务器与TEE隔离区进程基于秘钥,在网络连接上进行加密数据传输。
本发明实施例通过在TEE存储器屏蔽区对敏感数据保护的基础上,拓展了TEE对外的服务调用功能,在HTTPS协议密钥交换层面用TEE保证了通信链路无法被TEE宿主机窥探,从而在目标服务器无需任何功能变动的同时实现了服务器无感的敏感数据加密传输,进一步缩小了敏感信息泄露的可能。
基于上述实施例,所述连接请求包括支持协议版本、支持加密及压缩算法和第一随机数。
可以理解的是,客户端发起的连接请求,该请求包含:支持的协议版本、支持的加密及压缩算法、第一随机数。
基于上述任一实施例,所述请求回应包括证书信息、第二随机数、预设发送消息、确定的加密协议和加密算法。
此处,服务器会发给客户端一个证书,第二随机数,预设发送消息,例如hello,确定的加密协议和加密算法。
基于上述任一实施例,所述证书信息包括证书颁发机构名称、证书数字签名、证书持有者公钥和证书签名所使用Hash算法。
进一步地,服务器发给客户端的证书具体包含:证书颁发机构的名称、证书本身的数字签名、证书持有者公钥、证书签名用到的Hash算法。
基于上述任一实施例,所述随机信息包括第三随机数。
具体地,TEE隔离区进程生成第三随机数,用来做后来对称加密的秘钥,第三随机数用服务器公钥进行加密并返回给TEE隔离区进程外的客户端,客户端发送加密后的第三随机数给服务器。
基于上述任一实施例,所述基于所述连接请求、所述请求回应和所述随机信息,所述服务器和所述TEE隔离区进程生成相同的秘钥,具体包括:
基于所述第一随机数、所述第二随机数和所述第三随机数,所述服务器和所述TEE隔离区进程生成对称加密的所述秘钥。
具体地,服务端收到秘钥之后,用私钥解密,此时TEE隔离区进程和服务器都持有三个随机数,即第一随机数、第二随机数和第三随机数,可用Random1、Random2和Random3表示,双方在通过这三个随机数生成一个对称加密的密钥.双方根据这三个随机数经过相同的算法生成一个密钥,而以后应用层传输的数据都使用这套密钥进行加密,而隔离区外的客户端缺少第三随机数而无法生成加密秘钥。
基于上述任一实施例,所述服务器使用预设指令加密指定消息,将所述指定消息发送给所述客户端,具体包括:
所述服务器采用Session Secret指令加密Finish消息发送给所述客户端。
具体地,在TEE隔离区进程和服务器生成相同的秘钥后,服务端也会使用SessionSecret加密一段Finish消息发送给客户端,以验证之前通过握手建立起来的加解密通道是否成功。
本发明实施例通过在发起调用端实现HTTPS协议的分离执行,在TEE内执行SSL的秘钥交换逻辑,而在TEE之外的不可信任区执行HTTP握手部分,实现了服务器端无感知的敏感数据加密传输。
图4为本发明实施例提供的一种基于TEE进行HTTPS协议传输的***结构图,如图4所示,包括:连接模块41、返回模块42、验证模块43、处理模块44、生成模块45、加密模块46和传输模块47;其中:
连接模块41用于客户端发起连接请求;返回模块42用于服务器接收所述连接请求并向所述客户端返回请求回应;验证模块43用于所述客户端对所述请求回应进行验证,并向所述客户端的TEE隔离区进程发送所述服务器的公钥;处理模块44用于所述TEE隔离区进程接收到所述公钥后,生成随机信息,并将所述随机信息用所述公钥加密后返回至所述客户端,所述客户端将经过所述公钥加密后的所属随机信息发送至所述服务器;生成模块45用于基于所述连接请求、所述请求回应和所述随机信息,所述服务器和所述TEE隔离区进程生成相同的秘钥,所述TEE隔离区进程外部无法生成秘钥;加密模块46用于所述服务器使用预设指令加密指定消息,将所述指定消息发送给所述客户端;传输模块47用于所述服务器与所述客户端执行HTTPS握手,完成网路连接,所述服务器与所述TEE隔离区进程基于所述秘钥,在所述网络连接上进行加密数据传输。
本发明实施例通过在TEE存储器屏蔽区对敏感数据保护的基础上,拓展了TEE对外的服务调用功能,在HTTPS协议密钥交换层面用TEE保证了通信链路无法被TEE宿主机窥探,从而在目标服务器无需任何功能变动的同时实现了敏感数据加密传输,进一步缩小了敏感信息泄露的可能。
基于上述任一实施例,所述连接模块41中的所述连接请求包括支持协议版本、支持加密及压缩算法和第一随机数。
基于上述任一实施例,所述返回模块42中的所述请求回应包括证书信息、第二随机数、预设发送消息、确定的加密协议和加密算法。
基于上述任一实施例,所述返回模块42中的所述证书信息包括证书颁发机构名称、证书数字签名、证书持有者公钥和证书签名所使用Hash算法。
基于上述任一实施例,所述处理模块44中的所述随机信息包括第三随机数。
基于上述任一实施例,所述生成模块45具体用于基于所述第一随机数、所述第二随机数和所述第三随机数,所述服务器和所述TEE隔离区进程生成对称加密的所述秘钥,所述TEE隔离区进程外部无法生成秘钥。
基于上述任一实施例,所述加密模块46具体用于所述服务器采用Session Secret指令加密Finish消息发送给所述客户端。
本发明实施例通过在发起调用端实现HTTPS协议的分离执行,在TEE内执行SSL的秘钥交换逻辑,而在TEE之外的不可信任区执行HTTP握手部分,实现了服务器端无感知的敏感数据加密传输。
图5示例了一种电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)510、通信接口(Communications Interface)520、存储器(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行如下方法:客户端发起连接请求;服务器接收所述连接请求并向所述客户端返回请求回应;所述客户端对所述请求回应进行验证,并向所述客户端的TEE隔离区进程发送所述服务器的公钥;所述TEE隔离区进程接收到所述公钥后,生成随机信息,并将所述随机信息用所述公钥加密后返回至所述客户端,所述客户端将经过所述公钥加密后的所述随机信息发送至所述服务器;基于所述连接请求、所述请求回应和所述随机信息,所述服务器和所述TEE隔离区进程生成相同的秘钥,所述TEE隔离区进程外部无法生成秘钥;所述服务器使用预设指令加密指定消息,将所述指定消息发送给所述客户端;所述服务器与所述客户端执行HTTPS握手,完成网路连接,所述服务器与所述TEE隔离区进程基于所述秘钥,在所述网络连接上进行加密数据传输。
此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的传输方法,例如包括:客户端发起连接请求;服务器接收所述连接请求并向所述客户端返回请求回应;所述客户端对所述请求回应进行验证,并向所述客户端的TEE隔离区进程发送所述服务器的公钥;所述TEE隔离区进程接收到所述公钥后,生成随机信息,并将所述随机信息用所述公钥加密后返回至所述客户端,所述客户端将经过所述公钥加密后的所述随机信息发送至所述服务器;基于所述连接请求、所述请求回应和所述随机信息,所述服务器和所述TEE隔离区进程生成相同的秘钥,所述TEE隔离区进程外部无法生成秘钥;所述服务器使用预设指令加密指定消息,将所述指定消息发送给所述客户端;所述服务器与所述客户端执行HTTPS握手,完成网路连接,所述服务器与所述TEE隔离区进程基于所述秘钥,在所述网络连接上进行加密数据传输。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种基于TEE进行HTTPS协议传输的方法,其特征在于,包括:
客户端发起连接请求;
服务器接收所述连接请求并向所述客户端返回请求回应;
所述客户端对所述请求回应进行验证,并向所述客户端的TEE隔离区进程发送所述服务器的公钥;
所述TEE隔离区进程接收到所述公钥后,生成随机信息,并将所述随机信息用所述公钥加密后返回至所述客户端,所述客户端将经过所述公钥加密后的所述随机信息发送至所述服务器;
基于所述连接请求、所述请求回应和所述随机信息,所述服务器和所述TEE隔离区进程生成相同的秘钥,所述TEE隔离区进程外部无法生成秘钥;
所述服务器使用预设指令加密指定消息,将所述指定消息发送给所述客户端;
所述服务器与所述客户端执行HTTPS握手,完成网路连接,所述服务器与所述TEE隔离区进程基于所述秘钥,在所述网络连接上进行加密数据传输。
2.根据权利要求1所述的基于TEE进行HTTPS协议传输的方法,其特征在于,所述连接请求包括支持协议版本、支持加密及压缩算法和第一随机数。
3.根据权利要求2所述的基于TEE进行HTTPS协议传输的方法,其特征在于,所述请求回应包括证书信息、第二随机数、预设发送消息、确定的加密协议和加密算法。
4.根据权利要求3所述的基于TEE进行HTTPS协议传输的方法,其特征在于,所述证书信息包括证书颁发机构名称、证书数字签名、证书持有者公钥和证书签名所使用Hash算法。
5.根据权利要求3所述的基于TEE进行HTTPS协议传输的方法,其特征在于,所述随机信息包括第三随机数。
6.根据权利要求5所述的基于TEE进行HTTPS协议传输的方法,其特征在于,所述基于所述连接请求、所述请求回应和所述随机信息,所述服务器和所述TEE隔离区进程生成相同的秘钥,具体包括:
基于所述第一随机数、所述第二随机数和所述第三随机数,所述服务器和所述TEE隔离区进程生成对称加密的所述秘钥。
7.根据权利要求1所述的基于TEE进行HTTPS协议传输的方法,其特征在于,所述服务器使用预设指令加密指定消息,将所述指定消息发送给所述客户端,具体包括:
所述服务器采用Session Secret指令加密Finish消息发送给所述客户端。
8.一种基于TEE进行HTTPS协议传输的***,其特征在于,包括:
连接模块,用于客户端发起连接请求;
返回模块,用于服务器接收所述连接请求并向所述客户端返回请求回应;
验证模块,用于所述客户端对所述请求回应进行验证,并向所述客户端的TEE隔离区进程发送所述服务器的公钥;
处理模块,用于所述TEE隔离区进程接收到所述公钥后,生成随机信息,并将所述随机信息用所述公钥加密后返回至所述客户端,所述客户端将经过所述公钥加密后的所属随机信息发送至所述服务器;
生成模块,用于基于所述连接请求、所述请求回应和所述随机信息,所述服务器和所述TEE隔离区进程生成相同的秘钥,所述TEE隔离区进程外部无法生成秘钥;
加密模块,用于所述服务器使用预设指令加密指定消息,将所述指定消息发送给所述客户端;
传输模块,用于所述服务器与所述客户端执行HTTPS握手,完成网路连接,所述服务器与所述TEE隔离区进程基于所述秘钥,在所述网络连接上进行加密数据传输。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述基于TEE进行HTTPS协议传输的方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7任一项所述基于TEE进行HTTPS协议传输的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911358479.5A CN111130799B (zh) | 2019-12-25 | 2019-12-25 | 一种基于tee进行https协议传输的方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911358479.5A CN111130799B (zh) | 2019-12-25 | 2019-12-25 | 一种基于tee进行https协议传输的方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111130799A true CN111130799A (zh) | 2020-05-08 |
CN111130799B CN111130799B (zh) | 2022-06-14 |
Family
ID=70502275
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911358479.5A Active CN111130799B (zh) | 2019-12-25 | 2019-12-25 | 一种基于tee进行https协议传输的方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111130799B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112016104A (zh) * | 2020-07-14 | 2020-12-01 | 北京淇瑀信息科技有限公司 | 一种金融敏感数据的加密方法、装置和*** |
CN112422275A (zh) * | 2020-10-26 | 2021-02-26 | 深圳Tcl新技术有限公司 | Uart通信中的秘钥协商方法、***、设备及计算机存储介质 |
CN113612746A (zh) * | 2021-07-26 | 2021-11-05 | 建信金融科技有限责任公司 | 基于Android***的敏感信息存储方法及*** |
CN116915760A (zh) * | 2023-09-12 | 2023-10-20 | 哈尔滨工程大学三亚南海创新发展基地 | 一种基于http的全网数据通信封装方法及*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005020041A1 (en) * | 2003-08-26 | 2005-03-03 | International Business Machines Corporation | System and method for secure remote access |
US20160234176A1 (en) * | 2015-02-06 | 2016-08-11 | Samsung Electronics Co., Ltd. | Electronic device and data transmission method thereof |
CN110519304A (zh) * | 2019-09-30 | 2019-11-29 | 四川虹微技术有限公司 | 基于tee的https双向认证方法 |
-
2019
- 2019-12-25 CN CN201911358479.5A patent/CN111130799B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005020041A1 (en) * | 2003-08-26 | 2005-03-03 | International Business Machines Corporation | System and method for secure remote access |
US20160234176A1 (en) * | 2015-02-06 | 2016-08-11 | Samsung Electronics Co., Ltd. | Electronic device and data transmission method thereof |
CN110519304A (zh) * | 2019-09-30 | 2019-11-29 | 四川虹微技术有限公司 | 基于tee的https双向认证方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112016104A (zh) * | 2020-07-14 | 2020-12-01 | 北京淇瑀信息科技有限公司 | 一种金融敏感数据的加密方法、装置和*** |
CN112016104B (zh) * | 2020-07-14 | 2024-04-23 | 北京淇瑀信息科技有限公司 | 一种金融敏感数据的加密方法、装置和*** |
CN112422275A (zh) * | 2020-10-26 | 2021-02-26 | 深圳Tcl新技术有限公司 | Uart通信中的秘钥协商方法、***、设备及计算机存储介质 |
CN113612746A (zh) * | 2021-07-26 | 2021-11-05 | 建信金融科技有限责任公司 | 基于Android***的敏感信息存储方法及*** |
CN116915760A (zh) * | 2023-09-12 | 2023-10-20 | 哈尔滨工程大学三亚南海创新发展基地 | 一种基于http的全网数据通信封装方法及*** |
CN116915760B (zh) * | 2023-09-12 | 2023-12-26 | 哈尔滨工程大学三亚南海创新发展基地 | 一种基于http的全网数据通信封装方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN111130799B (zh) | 2022-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109309565B (zh) | 一种安全认证的方法及装置 | |
CN111130799B (zh) | 一种基于tee进行https协议传输的方法及*** | |
EP2332089B1 (en) | Authorization of server operations | |
JP6399382B2 (ja) | 認証システム | |
US8904195B1 (en) | Methods and systems for secure communications between client applications and secure elements in mobile devices | |
US8321924B2 (en) | Method for protecting software accessible over a network using a key device | |
US20190238334A1 (en) | Communication system, communication client, communication server, communication method, and program | |
CN110933078B (zh) | 一种h5未登录用户会话跟踪方法 | |
CN107918731A (zh) | 用于控制对开放接口进行访问的权限的方法和装置 | |
CN110505055B (zh) | 基于非对称密钥池对和密钥卡的外网接入身份认证方法和*** | |
CN108616352B (zh) | 基于安全元件的动态口令生成方法和*** | |
CN110635901B (zh) | 用于物联网设备的本地蓝牙动态认证方法和*** | |
WO2018030289A1 (ja) | Ssl通信システム、クライアント、サーバ、ssl通信方法、コンピュータプログラム | |
Cao et al. | Protecting web-based single sign-on protocols against relying party impersonation attacks through a dedicated bi-directional authenticated secure channel | |
CN116743470A (zh) | 业务数据加密处理方法及装置 | |
CN113630238B (zh) | 一种基于密码混淆的用户请求许可方法及装置 | |
CN110611679A (zh) | 一种数据传输方法、装置、设备及*** | |
CN108768655B (zh) | 动态口令生成方法和*** | |
US20150170150A1 (en) | Data verification | |
TWI546698B (zh) | 基於伺服器的登入系統、登入驗證伺服器及其驗證方法 | |
WO2023284691A1 (zh) | 一种账户的开立方法、***及装置 | |
JP2007116641A (ja) | 秘密情報送信方法 | |
CN114338201B (zh) | 数据处理方法及其装置、电子设备及存储介质 | |
US20240113898A1 (en) | Secure Module and Method for App-to-App Mutual Trust Through App-Based Identity | |
CN112769759B (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230829 Address after: 202150 building 3, No. 2111, Beiyan highway, Chongming District, Shanghai (Shanghai Chongming Forest Tourism Park) Patentee after: Shanghai Xinyun Information Technology Co.,Ltd. Address before: 200233 Room 305, building 41, No. 333, Qinjiang Road, Xuhui District, Shanghai Patentee before: SHANGHAI YUNJIE INFORMATION TECHNOLOGY Co.,Ltd. |
|
TR01 | Transfer of patent right |