本发明属于计算机安全和密码学技术领域,具体地涉及一种基于tee的安全代理重加密方法。
背景技术:
基于用户数据隐私性考虑,用户存放在云端的数据都是加密形式存在的。而云环境中存在着大量数据共享的场景。由于数据拥有者对云服务提供商并不完全信任,不能将解密密文的密钥发送给云端,由云端来解密并分享出去。数据拥有者自己下载密文解密后,再用数据接收方的公钥加密并分享,无疑给数据拥有者带来很大的麻烦,同时也失去了云端数据共享的意义。
技术实现要素:
针对现有技术存在的问题,本发明提供了一种基于tee的安全代理重加密方法。该方法基于tee的代理重加密功能将用户的非对称密钥存储在tee中,确保密钥不会被窃取,可以使代理重加密在不泄漏数据拥有者解密密钥的情况下,实现云端密文数据共享。
本发明的目的是通过如下技术方案实现的:一种基于tee的安全代理重加密方法,具体包括以下步骤:
(1)数据发送方与数据接收方各自生成非对称密钥对,并将数据发送方id、数据发送方的非对称密钥对、数据接收方id和数据接收方的非对称密钥对上传至可信服务器安全存储;所述非对称密钥对包含一个公钥和一个私钥。
(2)数据发送方用其非对称密钥对中的公钥加密数据后,发送到可信服务器。
(3)数据发送方将数据发送方id和数据接收方id作为参数发送给可信服务器,发送基于http或rpc协议的代理重加密请求到可信服务器;
(4)可信服务器收到代理重加密请求后,先用数据发送方的私钥解密,再用数据接收方的公钥加密,获得重加密数据。
(5)可信服务器将重加密数据发送给数据接收方。
(6)数据接收方用其私钥解密得到源数据。
与现有技术相比,本发明具有如下有益效果:基于可信硬件,减少了对计算资源的消耗,所需计算成本低。同时通过硬件增强了系统的安全性,即使可信服务器被入侵,可信执行环境也能保证信息交换方的密钥安全,保证数据不会被窃取,降低了被攻击的可能性。
附图说明
图1为本发明安全代理重加密方法的流程图。
具体实施方式
如图1为本发明安全代理重加密方法的流程图,所述安全代理重加密方法具体包括以下步骤:
(1)数据发送方与数据接收方各自生成非对称密钥对,并将数据发送方id、数据发送方的非对称密钥对、数据接收方id和数据接收方的非对称密钥对上传至可信服务器安全存储;所述非对称密钥对包含一个公钥和一个私钥。此时,可信服务器拥有各方的id和密钥对,可以代表各方进行可信加解密操作,充当了可信代理人的角色。
(2)数据发送方用其非对称密钥对中的公钥加密数据后,连同数据发送方id和数据接收方id作为参数,发送基于http或rpc协议的代理重加密请求到可信服务器,调用代理重加密功能;
(3)可信服务器收到代理重加密请求后,先用数据发送方的私钥解密,获取源数据,再用数据接收方的公钥加密,获得重加密数据。由于加解密是在可信执行环境中执行的,保证了数据的安全性和隐私性。
(4)可信服务器将重加密数据发送给数据接收方。
(5)数据接收方用其私钥解密得到源数据。
本发明的方法能够减少了对计算资源的消耗,所需计算成本低。同时通过硬件增强了系统的安全性,即使可信服务器被入侵,可信执行环境也能保证信息交换方的密钥安全,保证数据不会被窃取,降低了被攻击的可能性。
1.一种基于tee的安全代理重加密方法,其特征在于,具体包括以下步骤:
(1)数据发送方与数据接收方各自生成非对称密钥对,并将数据发送方id、数据发送方的非对称密钥对、数据接收方id和数据接收方的非对称密钥对上传至可信服务器安全存储;所述非对称密钥对包含一个公钥和一个私钥。
(2)数据发送方用其非对称密钥对中的公钥加密数据后,发送到可信服务器。
(3)数据发送方将数据发送方id和数据接收方id作为参数发送给可信服务器,发送基于http或rpc协议的代理重加密请求到可信服务器;
(4)可信服务器收到代理重加密请求后,先用数据发送方的私钥解密,再用数据接收方的公钥加密,获得重加密数据。
(5)可信服务器将重加密数据发送给数据接收方。
(6)数据接收方用其私钥解密得到源数据。