本发明涉及区跨链,特别涉及一种基于链上链下混合存储的流数据黑盒实时验证方法及系统。
背景技术:
1、近几年随着物联网的快速发展和5g网络的普及,万物互联,网络边缘设备急剧增加,随之产生的数据呈指数级增长。p2p网络、云计算、传感器网络等大规模复杂网络的快速发展也对数据安全提出了新的挑战。需要处理的数据不仅是静态的、已知大小的数据,还有一种是连续的、无限的、快速的、随时间变化的流(如实时监控、在线视频、环境温度监测、股票交易等数据)。有限的用户资源无法存储和处理如此大数量级的流数据,将流数据外包给第三方存储、管理、分析、计算等应用逐渐进入大众视野。与传统的内部存储基础设施相比,其拥有更高的扩展性以及更低的管理成本,吸引了越来越多的用户选择将各类数据存储到云存储服务器上。传统基于云的数据存储与共享方案中,物联网设备将采集的数据上传到云服务器中进行存储,这样解决了物联网设备数据存储能力有限的问题,并且方便用户共享数据。但是外包流数据也带来了额外的安全问题和隐私问题,在传统外包数据中数据的安全性依赖于云服务器,但在开放的网络环境中,没有任何节点是绝对可信的,如果云服务器被攻击者攻破,从根节点一旦被破坏所有的叶子数据信息都无法验证通过的单点故障问题,用户向云服务器抵赖等问题。在上述情况下,引入一个可信的第三方进行公平审计尤为重要,因此如何提升外包流数据完整性验证的可信度成为一个研究热点。
2、随着p2p网络技术的发展,去中心化的分布式存储结构——区块链,由于其去中心化和不可篡改的特性,广泛应用于金融、物联网和文件管理,被认为是安全数据存储和检索的有前途的解决方案。区块链可以被视作分布式账本,由网络中不信任节点共同维护,随着智能合约功能的出现与应用,区块链技术也逐步由简单的交易记录式账本转变为一种有效可靠的数据可信存储载体,无需第三方即可以数字方式实现可信交易,这些交易可追踪且不可逆转。在有效解决服务公平性和存储正确性问题的同时,由于区块链固有的透明性和开放性,基于区块链构建数据存储平台仍然受到潜在隐私和妥协功能问题的严重阻碍。尽管区块链具有明显的优势,但数据需要在整个网络中复制,它的可扩展性有限,开销问题在设计数据外包存储方案中不可忽视。区块链作为数据存储载体,其开销成本和数据隐私保护均是需要考虑的问题。
3、流数据往往具有连续性和不可预测性,传统的可认证数据结构不能直接应用于流数据,需要针对流数据设计专用的可认证数据结构,不仅支持对流数据的实时验证,还要确保流序列的可验证性。随着流数据的完整性验证技术不断地进行突破和发展,目前构造流数据可验证数据结构的方法主要有默克尔哈希树、变色龙认证树和密码累加器等。但上述方法中会存在第三方审计节点不可信、用户抵赖等问题。
技术实现思路
1、为此,本发明提供一种基于链上链下混合存储的流数据黑盒实时验证方法及系统,解决现有流数据外包存储场景中可能出现的数据丢失、损坏及数据抵赖等安全问题。
2、按照本发明所提供的设计方案,一方面,提供一种基于链上链下混合存储的流数据黑盒实时验证方法,包含:
3、数据拥有者利用变色龙哈希函数为外包场景下流数据构造陷门哈希树,并将流数据相关信息及认证路径上传至云服务器,将流数据验证证据上传至区块链,所述陷门哈希树用于表示数据拥有者外包场景下流数据对应的可认证数据结构且根据流数据规模的变化自适应扩展;所述流数据验证证据依据陷门哈希树各层固定的子树根信息、数据拥有者id和根节点上传时间戳获取;
4、获取数据访问权限的数据访问者通过向云服务器发起查询请求来获取所查询内容的认证相关数据,根据认证相关数据还原查询内容所属子树根和对应验证证据并发送给区块链,所述认证相关数据包括查询请求对应的加密数据块、认证信息、数据拥有者及数据生成时间;
5、区块链利用预设的智能合约函数对查询内容所属子树根及验证证据进行审计,并将审计结果反馈给数据访问者。
6、作为本发明基于链上链下混合存储的流数据黑盒实时验证方法,进一步地,数据拥有者利用变色龙哈希函数为外包场景下流数据构造陷门哈希树,包含:
7、数据拥有者对当前流数据进行加密,得到加密密文,并基于加密生成的时间戳、数据拥有者id及加密密文生成数据块;
8、以外包服务场景中各流数据对应的数据块作为叶子节点,建立哈希树,并当流数据规模满足指定条件时,通过增加树结构深度对树结构进行扩展,将原来的树结构变为新生成根节点的左子树,以利用扩展后的树结构来适应当前流数据规模。
9、作为本发明基于链上链下混合存储的流数据黑盒实时验证方法,进一步地,当流数据规模满足指定条件,包括:将指定个数的数据块插入哈希树之后,哈希树结构形成满二叉树结构时,所述指定个数为2i,i为子树根节点个数。
10、作为本发明基于链上链下混合存储的流数据黑盒实时验证方法,进一步地,将流数据验证证据上传至区块链,包含:
11、数据拥有者向区块链和云服务器发送数据初始化请求,并制定创建默认零值,所述默认零值用于计算存储数据为空时各层子树的根哈希值;
12、区块链收到初始化请求后,在状态数中创建智能合约账户,且在数据为空时通过数据拥有者本地零知识证明获取初始的认证证据,将相关操作的合约代码存储在指定字段中,以在审计阶段通过读取该指定字段信息来执行公平公开审计操作;
13、当数据拥有者的流数据满足条件时,基于智能合约并利用生成的子树根节点的集合生成验证证据,通过共识将验证证据上传至区块链进行存储。
14、作为本发明基于链上链下混合存储的流数据黑盒实时验证方法,进一步地,利用生成的子树根节点的集合生成验证证据,包含:
15、将流数据自适应陷门哈希树的每层子树根集合作为私有信息,将数字签名和本地时间附加到私有信息上,以生成辅助信息;
16、利用随机数计算辅助信息的哈希值,并通过私钥对哈希值进行电子签名,依据电子签名、辅助信息及零知识证明生成的密钥来获取验证证据。
17、作为本发明基于链上链下混合存储的流数据黑盒实时验证方法,进一步地,将流数据验证证据上传至区块链,还包含:
18、哈希树中底层的叶子节点以所处的最小子树的根节点来生成验证证据,且哈希树自适应扩展中每产生一个新的子树根节点,根节点集合重新通过零知识证明算法生成验证证据并上传至区块链。
19、作为本发明基于链上链下混合存储的流数据黑盒实时验证方法,进一步地,区块链利用预设的智能合约函数对查询内容所属子树根及验证证据进行审计,包含:
20、使用数据拥有者的公钥和指定验证密钥对验证证据进行验证,验证通过后,通过比较数据拥有者和云服务器两者的零知识证明、计算结果和哈希值来验证流数据的完整性。
21、再一方面,本发明还提供一种基于链上链下混合存储的流数据黑盒实时验证系统,包含:数据拥有者、云存储器、区块链和数据访问者,其中,
22、数据拥有者,利用变色龙哈希函数为外包场景下流数据构造陷门哈希树,并将流数据相关信息及认证路径上传至云服务器,将流数据验证证据上传至区块链,所述陷门哈希树用于表示数据拥有者外包场景下流数据对应的可认证数据结构且根据流数据规模的变化自适应扩展;所述流数据验证证据依据陷门哈希树各层固定的子树根信息、数据拥有者id和根节点上传时间戳获取;
23、云服务器,用于存储并维护流数据相关信息,响应数据访问者的数据查询请求;
24、区块链,作为执行公平审计的第三方,存储流数据动态根节点验证证据,并由去中心化的智能合约执行公平审计中的验证;
25、数据访问者,通过获取数据访问权限,并向云服务器发起查询请求来获取所查询内容的认证相关数据,根据认证相关数据还原查询内容所属子树根和对应验证证据并发送给区块链,所述认证相关数据包括查询请求对应的加密数据块、认证信息、数据拥有者及数据生成时间。
26、本发明的有益效果:
27、本发明在大数据流外包存储验证中,针对规模不可预测、验证实时性高、延迟敏感等问题,利用链上链下混合存储的实时验证结构,链下基于自适应陷门哈希树存储完整流数据,链上存储认证根节点作为查询数据的验证信息,随着大数据流的动态增长和变化进行实时构建,实现了数据流的即来即验证;基于区块链结构,构造链上链下混合存储架构,链下存储完整的可认证数据结构,链上智能合约触发执行公正的结果验证,防止云服务器欺骗和用户抵赖,保证数据验证结果的可信性,提升流数据外包场景下验证节点的可信度。并利用链上黑盒认证,解决云平台下第三方审计存在的验证数据隐私泄露问题,隐藏上链的验证信息,有效维护链上认证数据的安全,使审计方在不泄露任何数据隐私的情况下进行黑盒验证,实现数据在共享过程中的完整性和正确性,保护数据各方的利益,在大数据隐私保护和安全存储领域具有较好的应用前景。