代理重加密

Proxy Re-Encryption

Posted by hello2mao on September 26, 2019

0.1. 作用

密文云数据动态共享

基于用户数据隐私性考虑,用户存放在云端的数据都是加密形式存在的。而云环境中存在着大量数据共享的场景。由于数据拥有者对云服务提供商并不完全信任,不能将解密密文的密钥发送给云端,由云端来解密并分享出去。数据拥有者自己下载密文解密后,再用数据接收方的公钥加密并分享,无疑给数据拥有者带来很大的麻烦,同时也失去了云端数据共享的意义。代理重加密可以在不泄漏数据拥有者解密密钥的情况下,实现云端密文数据共享。

0.2. 功能

借助云平台强大的存储能力,数据拥有者将数据利用对称密钥加密,把得到的密文存储于云端,并利用数据拥有者的公钥加密对称密钥把得到的密文也上传存储到云端。当数据拥有者 Alice 想要对 Bob 进行数据共享时,数据拥有者 Alice 根据自己的解密密钥和 Bob 的加密密钥生成一个重加密密钥,并发送给云端。云端服务器利用自己强大的计算能力并结合重加密密钥对进行重加密的操作,把得到的密文也存储在云端。然后 Bob 从云端服务器上下载和,并利用自己的私钥解密得到对称密钥,然后利用对称密钥解密就得到了原始的明文。由此来达到密文共享的目的,而且在这整个过程中并不泄露 Alice 的私钥。由于本方案在云端采用 Hadoop 和 Spark 的框架,因此具有很高的存储和计算能力,可以及时响应用户的请求,完成用户的上传、计算和下载的操作,因此可以达到动态共享的目的。

0.3. 流程