Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!
当前位置: 主页 > Java文档 > 区块链 >

基于区块链的安全文件存储和共享方法 PDF 下载


分享到:
时间:2020-10-10 11:00来源:http://www.java1234.com 作者:小锋  侵权举报
基于区块链的安全文件存储和共享方法 PDF 下载
失效链接处理
基于区块链的安全文件存储和共享方法 PDF 下载

本站整理下载:
提取码:dp0r 
 
 
相关截图:
 
主要内容:


本方案主要包括文件的加密上传、访问策略的制定、账本信息的同步、密钥的获取、下载解密等操作。文件的加密上传、下载解密以及访问策略的制定都由部门完成,账本信息的同步以及共享部门的身份验证由记账节点负责。用于存储数据的政务服务资源共享交换存储服务器仅拥有文件密文;用于进行文件加密解密操作的是区块链客户端,文件的访问控制策略由部门个性化定制完成。使用的区块链技术保证了分布式账本中的信息的不可篡改,账本上的文件密文哈希值保证了文件的完整以及不可篡改,账本上的访问策略实现了文件的高效共享。
1.实施步骤
1.1本方案实施例提供的基于区块链的安全文件存储和共享方法包括以下步骤,如图1所示:
S01:利用区块链技术实现文件的安全存储与共享;
S02:部门对文件进行加密上传处理,获取文件指针,并在记账节点将制定的访问策略与指针写入区块链账本;
S03:其他部门满足访问策略后可以从文件拥有者获取文件密钥解密文件获得最终明文文件。
 
图1
 
1.2下面结合附图对本方案的应用原理作进一步的描述。
如图1所示,本方案实施例的基于区块链的安全文件存储和共享系统主要包括:部门,记账节点,区块链账本,政务服务资源共享交换存储服务器;
政务服务资源共享交换存储服务器:用于存储密文文件,但是并不存储文件的解密密钥;
区块链账本:记录文件的索引、指针、哈希以及访问策略;
记账节点:可以通过区块链账本上的信息验证发出访问请求的部门是否可以获取文件密钥;
文件拥有部门:则是对文件进行加密,上传密文文件,制定文件的访问策略并提交给记账节点,或者向记账节点发出共享文件的请求,下载密文文件进行解密。
2.实施步骤详细说明
为了更好地理解本方案实施例中的方法与过程,选取一次密文共享过程来进行详细说明,该过程的参与者主要包括以下四方:部门A(进行文件加密上传、文件下载解密以及访问策略的制定);部门B(进行文件加密上传、文件解密下载以及获取共享文件);记账节点 (添加区块以及同步账本信息)以及政务服务资源共享交换存储服务器;其中部门A是数据的拥有者,对文件有控制权;部门B是文件的访问者,在经过记账节点进行身份验证后可以获取文件;记账节点负责区块链账本的添加以及访问者的身份验证;政务服务资源共享交换存储服务器以密文形式存储文件数据。
如图2所示,本方案实施例提供的基于区块链的安全文件存储和共享方法包括以下步骤:
2.1系统初始化:
为了实现共享以及部门身份的合法验证,部门A与部门B在首次登录系统的时候需要进行初始化。初始化过程包括:
2.1.1部门A和B接入系统时,需要提供身份属性信息,然后证书颁发机构会根据部门提供的信息及系统自身状态为部门颁发独一无二的数字证书;
2.1.2在区块链客户端会为拥有证书的合法部门生成公私钥对,存储在区块链客户端由部门控制; 
2.1.3区块链客户端通过本地函数调用在本地生成安全随机数,将部门私钥与安全随机数作为参数通过哈希函数生成主密钥,保存在区块链客户端;
2.1.4将生成的部门A和B的公钥上传至证书机构的部门注册信息列表中,进行存储从而完成新部门的注册。
2.2文件加密上传,获取文件存储指针
2.2.1部门A选择需要加密上传的文件,然后获取系统时间,为文件生成一个索引seq=ID||Number||Hash(keypri||t),其中参数分别代表文件索引(seq)、部门身份(ID)、个人/企业唯一标识码(Number)、部门私钥(keypri)以及时间(t);
2.2.2部门A文件索引与主密钥拼接或进行哈希可以生成对应的文件密钥,使用文件密钥对文件进行对称加密,计算密文文件的哈希值,并将加密结果上传至政务服务资源共享交换存储服务器;
2.2.3部门获取文件的存储地址。
2.3文件拥有部门制定对应的文件访问策略,提交访问策略、文件指针及密文哈希值写入区块链账本
2.3.1部门A根据规定的格式(identityacc,<identitypro,Nj>,ro,<ts,te>)定制访问策略,其中各个参数的含义分别是:访问者的身份标识、数据拥有者的身份标识、数据索引信息、被允许访问的部门身份集、允许访问起始时间和结束时间。部门根据自身对文件安全性和共享的要求制定详细的访问策略,包括访问对象,访问时间限制;
2.3.2部门A通过记账节点将文件索引号、文件指针地址、文件密文哈希值及对应的文件访问策略写入区块链账本,然后全网广播;
2.3.3其他记账节点收到广播后,达成共识,全网同步更新账本信息;
2.4文件下载解密
2.4.1访问部门B向记账节点发出请求,并提交身份信息,记账节点验证部门B是否符合下载文件的访问策略;
2.4.2如果记账节点验证部门B通过访问策略,记账节点为部门B颁发拥有记账节点签名的令牌,部门B利用令牌向部门A发出请求获取文件密钥;
2.4.3部门A验证令牌上记账节点的签名,利用部门B的公钥加密文件密钥发送至部门B;
2.4.4部门B下载密文文件,用自己的私钥解密文件密钥,再用文件密钥解密文件获取文件明文。

 

------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐