Document
拖动滑块完成拼图
首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种基于以太坊和星际文件系统的云文件动态完整性保护和验证方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:南京理工大学

摘要:本发明提出了一种基于以太坊和星际文件系统的云文件动态完整性保护和验证方法,首先本地准备文件并将文件组织成一颗MerkleTree,获得文件的root哈希值;随后本地将获得的root哈希值以文件的形式存储到星际文件系统并将返回的哈希写入以太坊区块链中,同时将相关信息上传到云存储服务器端;最后本地发出验证请求,云存储服务器端和以太坊区块链端利用反馈的验证信息与智能合约对文件进行静态或动态完整性验证并返回结果,同时对已被损坏的云文件进行恢复。本发明可以快速定位损坏文件块的位置,并且避免了将整个文件重新传到云上的开销,在保证完整性、隐私性的同时有效地解决了大文件存储和传输开销过大的问题。

主权项:1.一种基于以太坊和星际文件系统的云文件动态完整性保护和验证方法,其特征在于,包括以下步骤:步骤1:本地准备文件并将文件组织成一颗MerkleTree,获得文件的root哈希值:步骤1-1:设定文件sourcefile所在位置的绝对路径Absolute_path_sourcefile,并设定好将文件分割后进行保存的块文件目录Absolute_path_blocks;设置文件分割块的固定大小blocksize,计算文件sourcefile分割后的总块数:blocknum=sourceFilelengthblocksize步骤1-2:设置大小为buffersize的缓冲区用于保存当前读取的文件对象,并将blocksizebuffersize的个数的缓冲区文件内容写入一个分割块blocki,其中0≤i≤blocknum-1,存入Absolute_path_blocks目录中;步骤1-3:分别读取分割好的块文件blocki,其中0≤i≤blocknum-1,计算blocki的文件哈希值blockihask并保存;步骤1-4:以blocknum个文件哈希值作为叶子节点的哈希值,按顺序两两配对组合成新的哈希值blockihash||blocki+1hash,其中0≤i≤blocknum-2且i为偶数,将新的哈希值作为父节点哈希值,这样循环下去,组织成一颗MerkleTree,并获得唯一的root哈希值roothash;步骤2,本地将获得的root哈希值以文件的形式存储到星际文件系统并将返回的哈希写入以太坊区块链中,同时将相关信息上传到云存储服务器端:步骤2-1:将步骤1获得的root哈希值roothash转换为字节流的形式写入一个新的文件rootfile中,并指定相应的目录位置Absolute_path_rootfile进行保存;步骤2-2:通过IPFS-JS-API抓取Absolute_path_rootfile位置的文件,以缓存区的形式上传至IPFS星际文件系统中,并获得该文件基于内容的IPFS哈希ipfshash;步骤2-3:编写智能合约,其中包括将步骤2-2中获得的IPFS哈希写入以太坊区块链中的setHash方法;根据生成的智能合约地址smartcontract_address和ABI通过以太坊账户在区块链中进行部署,并通过ETH-API调用setHash方法将IPFS哈希写入以太坊交易中,打包成区块记录下来,如若成功,则返回相关的区块交易信息,若包括智能合约地址smartcontract_address,区块编号ethblocknum,交易哈希值transactionhash;若不成功,则返回报错信息,并重新申请区块写入;步骤2-4,本地将源文件分块和各分块辅助路径上传至云存储服务器;步骤3,本地发出验证请求,云存储服务器端和以太坊区块链端利用反馈的验证信息与智能合约对文件进行静态或动态完整性验证并返回结果,同时对已被损坏的云文件进行恢复。

全文数据:

权利要求:

百度查询: 南京理工大学 一种基于以太坊和星际文件系统的云文件动态完整性保护和验证方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。