基于区块链的云存储持有性证明方法、系统及介质技术方案

技术编号:24354200 阅读:42 留言:0更新日期:2020-06-03 02:13
本发明专利技术公开了一种基于区块链的云存储持有性证明方法、系统及介质,本发明专利技术方法中验证者的实施步骤包括:确定随机数据、待验证文件F所指定的k个子文件;)将k个子文件的索引、随机数据发送证明者,等待证明者返回k个子文件的挑战证据R;并从区块链下载k个子文件的元数据并分别根据随机数据计算k个子文件的计算证据Rˊ;判断各个指定子文件的挑战证据R、计算证据Rˊ是否一致,如果任意一个指定子文件的挑战证据R、计算证据Rˊ不一致,则判定待验证文件F的完整性被破坏。本发明专利技术能够验证存储在云端的数据的完整性,能够有效避免了第三方审计和云服务提供商(CSP)合谋对用户进行欺骗。

Blockchain based method, system and medium of cloud storage ownership proof

【技术实现步骤摘要】
基于区块链的云存储持有性证明方法、系统及介质
本专利技术涉及云存储持有性证明技术,具体涉及一种基于区块链的云存储持有性证明方法、系统及介质。
技术介绍
进入信息化时代,用户每天都要面对海量的信息和数据,一部高清电影动辄需要几十GB的存储空间,处理这些海量的数据对计算机性能提出很高的要求。在后摩尔时代的今天,处理器和存储设备技术进步的速度已经放缓,渐渐跟不上用户的需求,如何在普通用户可以承担的价格范围内使用尽可能多的计算资源是一大问题,而云计算(CloudComputing)的出现则给个人和企业提供了新的思路和解决方案。云计算(CloudComputing)的核心要点在于“云”,即云计算中的计算资源如同天空中的云彩一般具有无定形、灵活、可移动、取之不尽用之不竭等特点。云端通常由一系列服务器和设备通过网络聚合在一起,对于用户来说,云端的计算资源可以近似看作于无限,而用户按需向云端索求资源,使用完毕后再释放。云计算使得每个用户能在需要的时候可以选择通过支付少量的代价来使用其原本无法负担的计算资源,因此云计算问世后发展迅猛。据统计,在2017年,云计算在全球的市场规模已经达到2602亿美元。同时,在云计算出现后,一系列的“云”技术竞相问世。“云”技术能够使用户以低廉的代价获得大量的计算资源,同样也能给予用户海量的存储资源,云存储(CloudStorage)概念正是基于此。云存储服务提供商CSP(CloudStorageProvider,CSP)通过网络将各种设备连接在一起构成云端的存储池,向用户提供低廉便利的存储服务。如今各种云盘、网盘等服务已经很常见,让人们可以便捷的将数据资源存储到云端。云存储给用户带来极大便利的同时也产生了一系列不同于传统存储模式的安全挑战[1]。2017年3月,微软Azure云服务在全球的数据中心遭遇了大面积故障,由于存储出了问题,其他服务也遭到了波及。微软透露称,Azure的28个数据中心中,有26个都出现了存储问题应。2017年5月,AWSS3存储桶数据仓库被爆,至少220万道琼斯公司客户信息被公开,该错误很简单:存储桶权限设置失当,让免费AWS账户都可以访问里面内容。2017年8月,美国芝加哥选举委员会称,在亚马逊云计算服务器上,有180万个注册投票者的信息,包括姓名、地址和出生日期,被暴露在网上。2018年1月18日,Google云自动化机制失效,导致其us-central1和europe-west3两大可用区中的计算引擎停运93分钟。Google对此的回应是“网络编程失效”导致Autoscaler(自动扩展器)服务无法正常运行,该服务失效意味着新的虚拟机或刚迁移的虚拟机无法与其他可用区虚拟机联系。2018年3月2日凌晨,部署在AWS云主机上的部分Alexa开始出现失声问题,该智能音箱的故障指示灯不断闪烁提示服务出现中断。据了解,这一故障源于亚马逊AWS的网络服务出现问题,其他依赖AWS网络服务的应用也在当天也受到了影响,包括云通讯公司Twilio,软件开发公司Atlassian等。2018年6月27日,16:20左右,阿里云出现重大技术故障,16:50分开始陆续恢复,官方给出的故障时间为30分钟左右,恢复时间大概花费一小时。经过技术复盘,阿里给出的故障原因为工程师团队上线自动化运维新功能时,执行了一项变更验证操作,该操作在测试环境中未发生问题,上线后触发未知bug。由此可见,云服务及云存储服务器提供商无法提供100%的数据安全服务,如何确保、及时发现存储在云服务器商之上数据是完整的仍是一项极具挑战的问题。云模式的开创是互联网领域的一大重要突破,但也引发了一系列新的安全问题。当数据存储在云端时,用户对数据的掌控权十分有限。当发生下列情况:1)云服务提供商(CSP)为节省资源,将用户访问频率低甚至从不访问的数据删除;2)云服务提供商(CSP)的失误操作;3)云服务器硬件故障,如硬盘损毁等;4)黑客的恶意攻击。使得数据的完整性很容易遭到破坏。而云存储服务提供商CSP(CloudStorageProvider,CSP)很可能为了自身的利益对用户进行欺骗,向用户隐瞒数据完整性被破坏的事实。在存储文件巨大、通信开销巨大以及本地并未存储副本的情况下,用户很难发现自己的数据完整性是否被破坏。当用用户在不知情的情况下使用被破坏的数据或找不到数据,很可能会造成难以估量的损失。因此如何在存储文件巨大、通信开销巨大以及本地并未存储副本的环境下进行高效地数据完整性检测十分重要。
技术实现思路
本专利技术要解决的技术问题:针对现有技术的上述问题,提供一种基于区块链的云存储持有性证明方法、系统及介质,本专利技术能够验证存储在云端的数据的完整性,当服务提供商因为各种原因使得客户的数据完整性遭到破坏后,能够及时发现并检测到,以便于采取后续补救和维权措施;本专利技术引入区块链技术,借鉴区块链不可篡改的特性,利用区块链系统将元数据上传至区块链网络,保证元数据不被篡改,能够有效避免了第三方审计和云服务提供商(CSP)合谋对用户进行欺骗。为了解决上述技术问题,本专利技术采用的技术方案为:一种基于区块链的云存储持有性证明方法,验证者的实施步骤包括:1)确定随机数据、待验证文件F所指定的k个子文件;2)将k个子文件的索引、随机数据发送证明者,等待证明者返回k个子文件的挑战证据R;并从区块链下载k个子文件的元数据并分别根据随机数据计算k个子文件的计算证据Rˊ;3)判断各个指定子文件的挑战证据R、计算证据Rˊ是否一致,如果任意一个指定子文件的挑战证据R、计算证据Rˊ不一致,则判定待验证文件F的完整性被破坏。可选地,步骤2)中分别根据随机数据计算k个子文件的计算证据Rˊ的函数表达式为:R′=ar′modN上式中,a为随机数据中的随机数,a∈{1,N-1},N为RSA模数,r′的函数表达式为:上式中,ci为随机数据中的第i个伪随机数据,随机数据中的伪随机数据一共k个,ti为第i个子文件的元数据,Φ(N)为欧拉函数。可选地,步骤2)中验证者将k个子文件的索引、随机数据发送证明者之后,还包括证明者生成k个子文件的挑战证据R的步骤,且生成挑战证据R的函数表达式为:R=armodN上式中,a为随机数据中的随机数,a∈{1,N-1},N为RSA模数,r的函数表达式为:上式中,ci为随机数据中的第i个伪随机数据,随机数据中的伪随机数据一共k个,mi为第i个子文件的分片数据。可选地,步骤3)中还包括根据指定子文件计算待验证文件F完整性未被破坏的概率Px的步骤,且计算待验证文件F完整性未被破坏的概率Px的函数表达式为:上式中,n为待验证文件F的子文件数量,m为步骤1)中验证者确定待验证文件F的指定子文件的数量,p为损坏的子文件数量。可选地,步骤1)之前还包括待验证文件F的持有用户进行初始化处理的步骤,详细步骤包括:S1)将待验证文件F按照固定大小分割为n个子文件,将n个子文件上传到证明者,生成各个子文件的元数据ti上传本文档来自技高网
...

【技术保护点】
1.一种基于区块链的云存储持有性证明方法,其特征在于验证者的实施步骤包括:/n1)确定随机数据、待验证文件F所指定的k个子文件;/n2)将k个子文件的索引、随机数据发送证明者,等待证明者返回k个子文件的挑战证据R;并从区块链下载k个子文件的元数据并分别根据随机数据计算k个子文件的计算证据Rˊ;/n3)判断各个指定子文件的挑战证据R、计算证据Rˊ是否一致,如果任意一个指定子文件的挑战证据R、计算证据Rˊ不一致,则判定待验证文件F的完整性被破坏。/n

【技术特征摘要】
1.一种基于区块链的云存储持有性证明方法,其特征在于验证者的实施步骤包括:
1)确定随机数据、待验证文件F所指定的k个子文件;
2)将k个子文件的索引、随机数据发送证明者,等待证明者返回k个子文件的挑战证据R;并从区块链下载k个子文件的元数据并分别根据随机数据计算k个子文件的计算证据Rˊ;
3)判断各个指定子文件的挑战证据R、计算证据Rˊ是否一致,如果任意一个指定子文件的挑战证据R、计算证据Rˊ不一致,则判定待验证文件F的完整性被破坏。


2.根据权利要求1所述的基于区块链的云存储持有性证明方法,其特征在于,步骤2)中分别根据随机数据计算k个子文件的计算证据Rˊ的函数表达式为:
R′=ar′modN
上式中,a为随机数据中的随机数,a∈{1,N-1},N为RSA模数,r′的函数表达式为:



上式中,ci为随机数据中的第i个伪随机数据,随机数据中的伪随机数据一共k个,ti为第i个子文件的元数据,Φ(N)为欧拉函数。


3.根据权利要求1所述的基于区块链的云存储持有性证明方法,其特征在于,步骤2)中验证者将k个子文件的索引、随机数据发送证明者之后,还包括证明者生成k个子文件的挑战证据R的步骤,且生成挑战证据R的函数表达式为:
R=armodN
上式中,a为随机数据中的随机数,a∈{1,N-1},N为RSA模数,r的函数表达式为:



上式中,ci为随机数据中的第i个伪随机数据,随机数据中的伪随机数据一共k个,mi为第i个子文件的分片数据。


4.根据权利要求1所述的基于区块链的云存储持有性证明方法,其特征在于,步骤3)中还包括根据指定子文件计算待验证文件F完整性未被破坏的概率Px的步骤,且计算待验证文件F完整性未被破坏的概率Px的函数表达式为:



上式中,n为待验证文件F的子文件数量,m为步骤1)中验证者确定待验证文件F的指定子文件的数量,p为损坏的子文件数量。


5.根据权利要求1所述的基于区块链的云存储持有性证明方法,其特征在于,步骤1)之前还包括待验证文件F的持有用户进行初始化处理的步骤,详细步骤包括:
S1...

【专利技术属性】
技术研发人员:谭霜黄辰林丁滟王晓川李宝张建锋谭郁松任怡阳国贵谭林
申请(专利权)人:中国人民解放军国防科技大学
类型:发明
国别省市:湖南;43

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

1