代理重加密 Proxy Re-Encryption

好久没来了,把前段时间写的都贴上来。。。

1、研究背景

作用:密文云数据动态共享

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

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

2、算法描述

1:系统初始化

 

3、密文共享

密文共享三种方法:

  1. 传统方法
  2. 代理重加密
  3. 属性加密

在第一种传统方法中,需要耗费大量的通信开销和运算代价,并且需要用户增加本地存储空间,这不符合用户通过云计算节省设备开销的初衷。

在第二种代理重加密方法中,主要是通过代理服务器将一个用户的密文转换为另一个用户可以解密的密文,且不泄露用户的私钥和明文信息。这种方法主要是端到端的。

在第三中属性加密方法中,数据拥有者可以利用属性加密,在数据加密的过程中定义一个访问策略只有满足这个访问策略的用户才能够解密,由此来实现密文的共享。这种方法主要是一对多。

 

猜你喜欢

转载自blog.csdn.net/Black_BearB/article/details/81228030
今日推荐