一种基于区块链云存储的文件安全分享方法及系统技术方案

技术编号:18403510 阅读:82 留言:0更新日期:2018-07-08 21:58
本发明专利技术适用于数据存储技术改进领域,提供了一种基于区块链云存储的文件安全分享方法,包括:S1、通过对称加密算法对文件进行加密数据并将数据密文存储在云盘中;S2、用户将解密数据密文的对称密钥通过加密生成密钥密文并将密钥密文和数据密文存放位置一起作为元数据的一部分存储在区块链上;S3、对存储的文件数据使用新密钥进行代理重加密,通过新密钥以及重加密后的新密文进行安全分享。在区块链去中心化存储架构下的一种私密文件的云端安全存储及分享机制的实现,使得用户存储于云端的数据必须通过私钥才能访问,而在需要向其他用户分享自有加密数据时不用向他人暴露持有者自身的原始密钥,也不必将云端数据全部下载下来后用分享密钥重新加密后再上传。

A file security sharing method and system based on block chain cloud storage

The invention is applicable to the field of data storage technology improvement, providing a file security sharing method based on block chain cloud storage, including: S1, encrypting data by symmetric encryption algorithm and storing data ciphertext in cloud disk; S2, users will decrypt the symmetric key of data encrypted by encryption to generate key secret The key ciphertext and data ciphertext are stored in the block chain together as a part of the metadata. S3, using the new key for the stored file data to encrypt the agent, and share the new key and the new encrypted cipher after the new key and the new encrypted cipher. The cloud security storage and sharing mechanism of a private file under the block chain centric storage architecture makes the user's data stored in the cloud have to be accessed through the private key, but it does not need to expose the owner's own original key to others when it needs to share its own encrypted data to other users, nor will it be necessary. The cloud data is downloaded and encrypted with the shared key before uploading it.

【技术实现步骤摘要】
一种基于区块链云存储的文件安全分享方法及系统
本专利技术属于数据存储技术改进领域,尤其涉及一种基于区块链的去中心化存储架构下的数据安全存储及分享方法及系统。
技术介绍
目前,云存储已经是一项高度商业化的产业。随着存储技术的发展,存储设备的成本越来越低,因此很多用户自身都可以拥有大量的存储资源。当前中心化云服务的成本主要来自于员工工资、法律成本、数据中心租金等,这些固定成本维持不变或者逐渐增加,使中心化云服务的价格相对较高。而去中心化存储可以充分利用分散用户的空闲存储资源,整体运行成本只有中心化存储的1%~10%。图1是一家开源、去中心化的存储平台Storj制作的成本图,比较了去中心化存储系统Storj与传统中心化存储系统Dropbox的成本。另一方面,当前的云存储模式需要通过云服务提供商以及第三方机构来授权和管理个人数据的存储与访问。用户基于对服务商的信任将数据通过网络上传到服务商的存储系统,当用户需要数据时则从服务商处下载,用户的数据如何存放、存放于何处等等都是服务商通过其内部的算法规则来维护,对用户透明。这种集中化存储结构的可靠性完全取决于该服务商所提供服务的可靠性,一旦该服务商的服务失效,比如自然灾害、误操作、破产等等,用户就无法取回数据。这种机制也存在天生的不安全性:存储在第三方服务器主机上的信息可以被政治、技术、法律等手段盗取、窃听、破坏。去中心化的云存储模式不以用户对云服务提供商的信任为基础,所有用户存放于云端的私有数据在上传之前都由其亲自加密,并分散存储于其他对等的用户存储设备当中。密文存储位置及安全信息仅记载在一个所有用户共同维护的区块链系统上,只有用户私钥能够解开,这样就不会存在攻击者能够利用政策或者法律进行攻击的中心化点。这样,数据安全与用户隐私就得到了充分的保障。现有的云存储数据分享方法:现有的中心化云存储系统中的数据分享一般如此实现:云服务提供商提供分享功能,用户选择要分享的数据生成访问码,其他用户获得访问码后即可访问分享内容。这一分享方式存在很多安全隐患,非常不适合高价值敏感数据的分享:比如访问码的分发过程的安全性以及服务商对数据的非授权访问等等。为了提高分享过程的安全性,一般做法是数据持有者上传云端前先使用对称加密算法加密数据文件得到数据密文,并只将数据密文上传;其他用户发起分享请求时,数据持有者使用分享用户的公钥加密该对称密钥,并使用云存储服务商的分享功能将密文分享给用户。分享用户可以用自己的私钥解密得到对称密钥,再自行从云端下载数据密文,并以该对称密钥解密数据密文,得到数据文件的明文。然而,去中心化存储架构下每个节点都是不可信的,并不存在对某个中心节点(云盘服务商)的信任关系。另外,在这种不信任关系的前提下,数据持有者用于批量加密数据的对称密钥也不宜直接暴露给大量用户。综上所述,这种方法不能直接应用到去中心化架构下的区块链云存储中。代理重加密技术,代理重加密方案由Blaze等人在1998年的欧洲密码学年会上提出,是一种密文-密钥转换机制,并由Ateniese等人给出了规范的形式化定义。它可以广泛应用于云存储中访问控制、数据安全共享、授权管理等途径。在代理重加密中,一个半可信代理人通过代理授权人产生的转换密钥Rk把用授权人A的公钥Pa加密的密文转化为用被授权人B的公钥Pb加密的密文,在这个过程中,代理人得不到数据的明文信息,任何一方的私钥也不会暴露,从而降低了数据泄露风险。而这两个密文所对应的明文是一样的,使A和B之间实现了数据共享。所谓的半可信,指的是只需相信这个代理者一定会按方案来进行密文的转换。代理重加密方案多针对非对称密钥设计,利用的是RSA加密算法体系的代数结构。然而,在许多情形(比如加密、分享大量数据)下,使用对称加密算法加密数据是更好的选择。可惜的是,大多数对称加密算法都不支持代理重加密。Syalim等人于2011年提出了一种直接应用于对称加密算法的代理重加密方案。这种方法可以直接应用在区块链云存储中,为前者架构下的数据安全分享提供工具。区块链技术,信息技术架构的发展,经历了从大型机集中式,到客户端/服务器分布式,再到云计算集中式的发展,它们的共同特点为中心化的架构。中心化架构的瓶颈是中央节点容易成为攻击目标,且在大型分布式环境中管理、维护中央节点需要很高的成本。此外,中央节点诚信问题若不能保障,则会对整个系统带来灾难性的破坏。狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。去中心化、防伪、防篡改、数据可追溯、安全、合约自动执行等都是区块链架构的特点。利用区块链技术实现非中心的存储系统是一个研究方向。如同P2P下载中,各个节点贡献自己的带宽,从而提高整体下载速度一样,区块链技术可以提供这样一种去中心化的、不需要中间服务商的关键数据保存业务:网络中的所有节点都可以贡献自己的存储空间,存储网络中其他节点的数字信息。每个节点既可以是存储需求方,也可以是存储提供方。这种机制实现了一种真正意义的去中心存储,数据存储在未知节点,用户可以随时访问数据,参与节点没有额外负担。存储需求方支付货币以获得存储服务,存储提供方提供空闲存储资源换取报酬,整个过程完全自动化。区块链云存储技术,区块链技术可以直接应用在云存储架构上。其中,每个节点既是海量存储需求方,也是存储空间的提供方。由于数据可能体积巨大,我们不将数据本身存放在区块链中,而只在区块链中存放数据的关键元数据。当节点需要存储数据时,通过查询区块链找到合适存储区域,再将待存储数据加密后,通过网络存储到对应地址。文件的其他有关信息也记录在区块链的节点中。当节点需要提取数据时,通过查询数据,找到存储地址,然后通过网络下载数据。图2是区块链云存储Metadisk项目的架构图。目前,已经有了许多基于区块链的云存储系统,例如Storj、Maidsafe、Ethereum。以Storj项目中开发的Metadisk为例,它是一种基于区块链技术的云存储架构,各个节点既可以是存储资源的提供者,又可以是存储服务的需求者。通过加密存储,确保节点不可读数据;通过区块上存储的数据哈希值,确保节点不可更改数据;通过区块链上记载的存储位置信息,确保用户能够找到对应数据;通过冗余存储,确保数据不因单个节点的离线导致的损失。在这种架构下,不需要额外的服务器,不需要额外的人工干预,所有节点通过区块链技术实现自治。现有的数据分享方法基于中心化的云存储服务提供商,数据持有者直接将自己的解密密钥提供给服务商,分享的具体流程由服务商操作,依靠的是数据持有者对服务商的信任;在区块链云存储系统中,不存在服务商这样的中间人,每个节点均不可信任,因此也不能简单套用现有的数据分享方法。需要一种在区块链云存储架构下能有效工作的数据安全分享方法。在以上提到的区块链云盘中,无论是文件数据还是元数据的加/解密均需要用户私钥的参与。在数据分享过程中,必须由数据持本文档来自技高网...

【技术保护点】
1.一种基于区块链云存储的文件安全分享方法,其特征在于,所述文件安全分享方法包括以下步骤:S1、通过对称加密算法对文件进行加密数据并将数据密文存储在云盘中;S2、用户将解密数据密文的对称密钥通过加密生成密钥密文并将密钥密文和数据密文存放位置一起作为元数据的一部分存储在区块链上;S3、对存储的文件数据使用随机生成的新密钥执行代理重加密操作,并通过新密钥和重加密后的新密文进行安全分享。

【技术特征摘要】
1.一种基于区块链云存储的文件安全分享方法,其特征在于,所述文件安全分享方法包括以下步骤:S1、通过对称加密算法对文件进行加密数据并将数据密文存储在云盘中;S2、用户将解密数据密文的对称密钥通过加密生成密钥密文并将密钥密文和数据密文存放位置一起作为元数据的一部分存储在区块链上;S3、对存储的文件数据使用随机生成的新密钥执行代理重加密操作,并通过新密钥和重加密后的新密文进行安全分享。2.根据权利要求1所述的文件安全分享方法,其特征在于,所述文件安全分享方法中在云存储中通过以非对称加密管理对称密钥增强了文件分享的安全性。3.根据权利要求2所述的文件安全分享方法,其特征在于,所述步骤S3中包括以下步骤:S31、随机产生一个对称密钥S’,结合原本加密文件的对称密钥S与S’产生一个变换密钥K;S32、文件存储节点接收K后原密文先生成一份拷贝发送到用户指定的另一节点,根据K将该密文拷贝变换为新密文;S33、将S’和新密文的存储位置采用分享对象的公钥加密后作为元数据的一部分写入区块链;S34、分享对象访问区块链元数据记录,通过其私钥解密获得新密文位置及对应密钥S’后,下载新的密文并用S’解密实现分享。4.根据权利要求3所述的文件安全分享方法,其特征在于,所述步骤S3中包括以下步骤:S30、用户在区块链中寻找元数据并用私钥解密元数据获取解密数据的对称密钥S和数据密文位置。5.根据权利要求4所述的文件安全分享方法,其特征在于,所述步骤S32中的元数据中包含由数据接收者的私钥加密后新密文的位置信息和新加密密钥S’。6.一种基于区块链云存储的文件...

【专利技术属性】
技术研发人员:李大刚符玥杜蓉林信南
申请(专利权)人:北京大学深圳研究生院深港产学研基地
类型:发明
国别省市:广东,44

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

1