一种基于区块链的文件存储和访问方法及系统技术方案

技术编号:23318359 阅读:31 留言:0更新日期:2020-02-11 18:58
本发明专利技术公开一种基于区块链的文件存储和访问方法及系统,包括文件划分、文件加密签名、文件信息上链、文件访问授权、文件重建与共享,最后将重建目标文件加密发送给访问用户进行相关的读或写操作。本发明专利技术采用分离式文件存储和基于区块链智能合约的文件管理机制,文件访问权限管理模块利用了区块链的公开透明、不可篡改等主要特点,有效增强了文件访问的安全性和可追溯性。通过将文件划分为多个子文件,并且用不同的私钥加密,可以防止单方面操作文件。同时,子文件相关信息加密存储于区块链中不可篡改,极大增强了文件信息的安全性。

A file storage and access method and system based on blockchain

【技术实现步骤摘要】
一种基于区块链的文件存储和访问方法及系统
本专利技术涉及区块链
,特别涉及一种基于区块链的文件存储和访问方法及系统。
技术介绍
在人类社会化活动中,关于重要文件的存储、访问和保密等问题,通常采用中心化的管理机制,例如,授予管理员拥有增、删、读、写等文件管理权限,由文件管理员统一管理文件,保证文件管理效率,但是,授权管理员管理文件的这种集中式管理方法存在潜在风险,比如存在篡改、泄露信息等风险。区块链技术是一种分布式账本系统,包括加解密、共识机制、对等通信网络、链式存储等系列技术,具有去中心化、自信任、不可篡改、可追溯、公开透明等特点。同时,区块链智能合约技术提供了分布式应用的执行环境和开发框架,大大扩展了区块链的业务应用空间。因此,利用区块链技术解决文件管理过程中存在管理问题具有非常高的应用潜力。
技术实现思路
本专利技术提出一种基于区块链的文件存储和访问方法及系统,旨在防止管理员单方面操作文件,降低恶意或非法修改文件、泄露文件信息等风险。为实现上述目的,本专利技术提出的基于区块链的文件存储和访问方法,包括以下步骤:步骤S1:文件划分,首先定义子文件划分方式集合、采用的划分方式和控制参数,将目标文件划分成若干子文件,每个子文件对应一个权限用户;步骤S2:文件加密签名,权限用户将对应的子文件加密签名之后发给文件管理模块,文件管理模块进行签名验证,决策是否验证通过;步骤S3:文件信息上链,文件管理模块创建区块链智能合约,对所述步骤S2中验证通过的加密子文件、加密子文件相关信息上链,存储于区块链智能合约中,并将所有加密文件和加密子文件信息备份到文件存储模块;步骤S4:文件访问授权,在文件访问服务时,访问用户先向文件管理模块发起文件访问请求,文件访问权限管理模块通知各权限用户授权确认;步骤S5:文件重建与共享,在所有权限用户通过区块链智能合约完成授权同意确认后,权限用户从区块链智能合约读取加密子文件之后解密为对应的子文件,并加密签名、验证成功之后发送给文件管理模块获得重建目标文件,最后将重建目标文件加密发送给访问用户进行相关的读或写操作;若访问用户为读操作,直接解密重建目标文件后即可查看;若访问用户为写操作,访问用户提交文件信息后,通过文件管理模块提交各权限用户审核,审核通过后,由文件管理模块从步骤S1重新执行完成文件更新。优选地,所述步骤S1中,若干子文件分别记为A1、A2、A3…….AK,K为子文件个数,每个子文件对应一个权限用户,将Ak对应的权限用户记为k;所述步骤S2至步骤S5中,权限用户通过其公、私钥处理对应的子文件,权限用户公、私钥分别记为PubKeyk、PrivKeyk,权限用户加密子文件记为Akcypher;文件管理模块通过其公、私钥进行信息判断和访问请求决策,文件管理模块的公、私钥分别为PubKeyfileManager、PrivKeyfileManager,文件管理模块对子文件Ak用私钥加密后的子文件记为AkM,其摘要签名记为SigkM。文件管理模块通过比对目标文件摘要和目标文件签名摘要进行验证,如果目标文件摘要和目标文件签名摘要一致,则验证成功,否则验证失败;其中,摘要由摘要计算函数获得,文件加密和签名由非对称加密函数获得,文件解密由非对称解密函数获得。优选地,所述步骤S2包括如下步骤:a.文件管理模块加密签名先计算目标文件A的摘要,并用文件管理模块的私钥PrivKeyManager签名该摘要,记为Sig;再用权限用户k的公钥Pubkeyk加密子文件Ak,获得AkM;然后通过文件管理模块私钥PrivKeyManager对子文件Ak的摘要签名,获得子文件签名,记为SigkM;最后将AkM、SigkM发送给权限用户k;b.权限用户子文件加密签名待每个权限用户k收到AkM、SigkM后,执行如下操作:b1子文件还原先通过权限用户k的私钥PrivKeyk对AkM解码,获得子文件Ak;然后解出子文件Ak的摘要,记为HkU;再用文件管理模块的公钥PubkeyfileManager解码SigkM得到摘要HkM;最后校验摘要一致性:如果HkU=HkM,则子文件还原成功,继续下步处理,否则,还原失败;b2.加密子文件生成先用权限用户k的公钥Pubkeyk加密子文件Ak,获得Akcypher;然后用文件管理模块的公钥PubKeyfileManager加密Akcypher,获得AkU;再生成Akcypher的摘要并通过权限用户k私钥PrivKeyk签名,获得SigkU;最后将AkU和SigkU发送给文件管理模块。其中,文件的摘要由摘要计算函数获得,文件加密和签名由非对称加密函数获得,文件的解密由非对称解密函数获得。优选地,所述步骤S3中创建区块链智能合约,即:分别定义区块链智能合约访问授权函数、区块链智能合约访问授权决策函数,对验证通过的加密子文件相关信息上链,存储于区块链智能合约中,并将所有加密文件和加密子文件信息备份到文件存储模块。优选地,所述步骤S4中,文件管理模块查询区块链智能合约获得权限用户的公钥列表,并向各权限用户发起授权审核请求,各权限用户调用区块链智能合约决策访问用户的访问请求,根据区块链智能合约中确定的所有权限用户均授权同意之后,区块链智能合约将授权决策状态置为通过,继续进行下步处理;否则,用户授权未通过。优选地,所述步骤S5,包括如下步骤:a.权限用户解密子文件权限用户k从区块链智能合约中读取Akcypher,通过权限用户私钥PrivKeyk解密得到子文件Ak;b.权限用户加密子文件并发送给文件管理模块各权限用户将子文件Ak用文件管理模块的公钥PubKeyfileManager加密获得AkU,再生成Ak的摘要并通过权限用户k私钥PrivKeyk签名,获得SigkU,并将AkU、SigkU发送给文件管理模块;c.文件管理模块从子文件重建目标文件,包括如下步骤:c1.文件管理模块先对AkU用私钥PrivKeyManager解密得到子文件Ak、计算子文件Ak的摘要,记为HkM,并由SigkU解出子文件Ak的摘要HkU,若HkU=HkM,则子文件Ak摘要信息验证成功;c2.文件管理模块从区块链智能合约中读取SigkM计算摘要,通过文件管理模块的公钥解出SigkM对应的摘要HkBlockChain,若HkU=HkBlockChain,则子文件摘要Ak与区块链信息验证成功;c3.文件管理模块读取区块链智能合约存储的子文件划分方式配置和控制参数获得重建目标文件,记为Areconstruct,并解出重建目标文件摘要,记为HReconstruct,再用文件管理模块公钥解出区块链智能合约存储的签名摘要Sig对应的原始摘要,记为HBlockChain,若HReconstruct=HBlockChain本文档来自技高网...

【技术保护点】
1.一种基于区块链的文件存储和访问方法,其特征在于,包括以下步骤:/n步骤S1:文件划分,首先定义子文件划分方式集合、采用的划分方式和控制参数,将目标文件划分成若干子文件,每个子文件对应一个权限用户;/n步骤S2:文件加密签名,权限用户将对应的子文件加密签名之后发给文件管理模块,文件管理模块进行签名验证,决策是否验证通过;/n步骤S3:文件信息上链,文件管理模块创建区块链智能合约,对所述步骤S2中验证通过的加密子文件、加密子文件相关信息上链,存储于区块链智能合约中,并将所有加密文件和加密子文件信息备份到文件存储模块;/n步骤S4:文件访问授权,在文件访问服务时,访问用户先向文件管理模块发起文件访问请求,文件访问权限管理模块通知各权限用户授权确认;/n步骤S5:文件重建与共享,在所有权限用户通过区块链智能合约完成授权同意确认后,权限用户从区块链智能合约读取加密子文件之后解密为对应的子文件,并加密签名、验证成功之后发送给文件管理模块获得重建目标文件,最后将重建目标文件加密发送给访问用户进行相关的读或写操作;/n若访问用户为读操作,直接解密重建目标文件后即可查看;/n若访问用户为写操作,访问用户提交文件信息后,通过文件管理模块提交各权限用户审核,审核通过后,由文件管理模块从步骤S1重新执行完成文件更新。/n...

【技术特征摘要】
1.一种基于区块链的文件存储和访问方法,其特征在于,包括以下步骤:
步骤S1:文件划分,首先定义子文件划分方式集合、采用的划分方式和控制参数,将目标文件划分成若干子文件,每个子文件对应一个权限用户;
步骤S2:文件加密签名,权限用户将对应的子文件加密签名之后发给文件管理模块,文件管理模块进行签名验证,决策是否验证通过;
步骤S3:文件信息上链,文件管理模块创建区块链智能合约,对所述步骤S2中验证通过的加密子文件、加密子文件相关信息上链,存储于区块链智能合约中,并将所有加密文件和加密子文件信息备份到文件存储模块;
步骤S4:文件访问授权,在文件访问服务时,访问用户先向文件管理模块发起文件访问请求,文件访问权限管理模块通知各权限用户授权确认;
步骤S5:文件重建与共享,在所有权限用户通过区块链智能合约完成授权同意确认后,权限用户从区块链智能合约读取加密子文件之后解密为对应的子文件,并加密签名、验证成功之后发送给文件管理模块获得重建目标文件,最后将重建目标文件加密发送给访问用户进行相关的读或写操作;
若访问用户为读操作,直接解密重建目标文件后即可查看;
若访问用户为写操作,访问用户提交文件信息后,通过文件管理模块提交各权限用户审核,审核通过后,由文件管理模块从步骤S1重新执行完成文件更新。


2.如权利要求1所述的基于区块链的文件存储和访问方法,其特征在于,所述步骤S1中,若干子文件分别记为A1、A2、A3…….AK,K为子文件个数,每个子文件对应一个权限用户,将Ak对应的权限用户记为k;
所述步骤S2至步骤S5中,权限用户通过其公、私钥处理对应的子文件,权限用户公、私钥分别记为PubKeyk、PrivKeyk,权限用户加密子文件记为Akcypher;
文件管理模块通过其公、私钥进行信息判断和访问请求决策,文件管理模块的公、私钥分别为PubKeyfileManager、PrivKeyfileManager,文件管理模块对子文件Ak用私钥加密后的子文件记为AkM,其摘要签名记为SigkM。
文件管理模块通过比对目标文件摘要和目标文件签名摘要进行验证,如果目标文件摘要和目标文件签名摘要一致,则验证成功,否则验证失败;
其中,摘要由摘要计算函数获得,文件加密和签名由非对称加密函数获得,文件解密由非对称解密函数获得。


3.如权利要求2所述的基于区块链的文件存储和访问方法,其特征在于,所述步骤S2包括如下步骤:
a.文件管理模块加密签名
先计算目标文件A的摘要,并用文件管理模块的私钥PrivKeyManager签名该摘要,记为Sig;
再用权限用户k的公钥Pubkeyk加密子文件Ak,获得AkM;
然后通过文件管理模块私钥PrivKeyManager对子文件Ak的摘要签名,获得子文件签名,记为SigkM;
最后将AkM、SigkM发送给权限用户k;
b.权限用户子文件加密签名
待每个权限用户k收到AkM、SigkM后,执行如下操作:
b1子文件还原
先通过权限用户k的私钥PrivKeyk对AkM解码,获得子文件Ak;
然后解出子文件Ak的摘要,记为HkU;
再用文件管理模块的公钥PubkeyfileManager解码SigkM得到摘要HkM;
最后校验摘要一致性:如果HkU=HkM,则子文件还原成功,继续下步处理,否则,还原失败;
b2.加密子文件生成
先用权限用户k的公钥Pubkeyk加密子文件Ak,获得Akcypher;
然后用文件管理模块的公钥PubKeyfileManager加密Akcypher,获得AkU;
再生成Akcypher的摘要并通过权限用户k私钥PrivKeyk签名,获得SigkU;
最后将AkU和SigkU发送给文件管理模块。...

【专利技术属性】
技术研发人员:杨忠勋
申请(专利权)人:深圳市超算科技开发有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1