1、Block chain technology is a r recent research hotspot of a computer network technology, can be applied in a number of areas. Its essence is a decentralized account book, which has open, remove trust, anonymous, cant be tampered, traceable and other characteristics. It can fully meet the most essenti
2、al requirements of the audit system. Therefore, this paper presents an audit system, which is built on the cloud platform and based on the block chain technology. In accordance with the Chainpoint protocol, through the author in the text of the algorithm to build the data Hash operation, the formati
3、on of Merkle Tree, and then sent Merkle Root to the Bitcoin network to save. At the time of the audit, the data were evaluated by the data hash, the Merkle Proof saved by the cloud platform, and the Merkle Root, which was saved by the Bitcoin network, to verify the correctness and completeness of th
4、e data.Keyword: Block chain technology , Audit system , Chainpoint protocol , Hash operation , Merkle Tree目录摘要 IAbstract 目录 第一章 前言 1第二章 基本技术理论和开发环境 32.1 数据源 32.2 区块链 32.2.1 PoW 42.2.2 PoS 52.3 Merkle Tree 62.3.1 Hash和Hash List 62.3.2 Merkle Tree和Hash List 72.4 Chainpoint协议 82.5 系统结构 9第三章 算法设计与实现 113
5、.1 算法设计 113.1.1 Merkle Tree的创建 113.1.2 数据的审计 123.2 算法实现 133.2.1 Mproof类 133.2.2 Mtree类 14第四章 算法评估 18第五章 总结与展望 20参考文献 21致谢 23附录 24Mproof.h文件 24Mproof.cpp文件 24Mtree.h文件 25Mtree.cpp文件 26测试用main.cpp文件 30 第一章 前言 从2009年,中本聪发布白皮书开始,近十年来比特币成为了广受追捧的电子货币。而从比特币这一应用中体现出来的区块链技术,更是吸引了大量的技术人员去进行研究。从最底层的网络构建,到最顶层的应
6、用开发,区块链技术体现出了它强大的应用领域。区块链技术是一个分布式大账本,因为没有一本中央大账本了,所以无法摧毁。每个节点都仅仅是系统的一部分,每个节点权利相等,都有着一样的账本。摧毁部分节点对系统一点都没有影响。而且,区块链技术无法作弊,因为除非你能控制系统内大多数人的电脑都进行修改,否则系统会参照多数人的意见来决定什么才是真实结果,结果会发现修改自己的账本完全没有意义。因为由于不存在中心化的中介机构,所有的东西都通过预先设定的程序自动运行,不仅能降低成本,也能提高效率。每个人都有相同的账本,能确保账本记录过程公开透明。所以说区块链技术有着强大的抗干扰,高度隐私,可追溯等能力。可以这么说,一
7、个完整的区块链网络几乎是不可更改的。一个好的审计系统,抗篡改的能力是必不可缺的。同样一个好的审计系统要解除对审计人员的信任依靠,区块链网络的去中心,去信任话就可以满足这个要求。审计系统所需要的所有必须条件,区块链网络都具备了。所以基于区块链技术的审计系统是有着开发意义的。云计算在商业和军事环境中被广泛采用,应用于数据储存,即时计算和动态配置等需求。云计算环境是分布式的和异构的,是由不同的供应商提供的软件和硬件组成的,所以可能有漏洞和不兼容的风险。云内和云间数据管理和转移的安全保障是一个关键问题。云端审计只有在数据上的所有操作都可靠可跟踪时才会有效。确实可信的来源数据可以帮助检测云服务中的访问冲
8、突。然而,开发有保障的数据来源仍然是云储存应用的关键问题。来源数据包含原始数据和数据持有者的敏感信息,所以不仅要确保云数据,还要确保来源数据的完整性和可信赖性。然而最先进的云服务器也容易受到意外破坏和伪造原始数据的威胁1。区块链技术由于共享,分布式和容错数据库而引起了人们的关注,网络中的每个参与者都可以利用诚实节点的计算能力来共享对抗对手的能力,并且信息交换是有弹性的操作。区块链网络是一个公共的分布式账本,其中任何单个事物都是由网络节点共同目击和验证。可以利用区块链网络的分散式架构为云计算环境建立有保障的数据来源。在分散架构中,每个节点都参与网络提供服务,从而提高效率。区块链的分布式特性可以保
9、证可用性。因为在云服务中经常使用集中式权限,因此需要在保护隐私的同时保护个人数据。使用基于区块链的云数据来源服务,所有的数据操作都是透明和永久记录的。可以保证在数据上的所有操作都是可靠可跟踪的,从而实现审计功能。 本文中介绍了一种基于区块链的数据源架构,并将其应用到审计系统当中。其可以在云储存应用中提供可靠的数据操作保证,同时增强隐私性和可用性。其将云服务的操作历史记录作为源代码数据,分解成为Merkle Tree的节点2。来源数据的Hash列表将构成一个Merkle Tree,并且树的根节点将作为一个收款地址锚定在一笔比特币交易中,借助稳定的区块链网络来进行保存和防止被攻击。想要修改来源数据
10、的对手需要先定位数据的块。区块链的底层加密理论保证,当只有对手可以呈现出比其他矿工更长的链时才可以修改块记录,这是很难实现的。通过利用区块链网络的全球规模计算能力,基于区块链的数据来源可以提供完整性和可信赖性。本文的其余部分内容安排如下。第二章阐述了最新的数据来源和区块链技术,以及Merkle Tree的介绍。第三章描写了关于Merkle Tree的创建以及数据审计时的算法。算法的评估将在第四章中进行,第五章进行总结。第二章 基本技术理论和开发环境 2.1 数据源数据源对于云计算系统管理员来说,是将系统或网络的入侵检测调整到最佳的关键。云计算环境通常以不同系统和网络组件之间的数据传输为特征。这
11、些数据交换可以在数据中心内或跨联合数据中心内进行。数据通常不会遵循相同的路径,因为数据的多倍复制和多样化路径保证的数据的恢复能力。这种设计增加了管理员识别攻击来源的难度,是硬件还是软件导致的攻击,以及攻击所造成的影响。安全违规行为需要在细粒度和来源的帮助下进行识别。目前云中最先进的源系统通过审计和日志支持上述任务。这些技术在云计算系统中是无效的,云计算系统本质上是复杂的,这是由于跨层次的互操作软件和硬件组件横跨地理和组织边界传播。为了确定云基础构架中安全违规的源头,原因和影响,将需要从多种和不同的来源取证和收集日志,这是一项不可能的任务。同时,日志仅提供与每个应用程序相关的操作的顺序历史记录。
12、源数据提供了所有数据对象的更改的源头的历史记录,已转发或者处理对象的组件列表,以及查看或者修改对象的用户,并且有增强的保险要求。研究人员提出了几个数据源方面相关的方案。第一个方案名字叫做“PASS”,是在操作系统级别处理原始数据的收集和维护的方案3。一种通过拦截虚拟文件系统下的文件系统的调用来收集原始数据的文件源系统4被提出,这个需要对操作系统进行改造。对于云数据源,有一种端到端的数据追踪软件被开发,名字叫“S2Logger”5,它可以在内核空间中提供文件级和块级源代码。除了数据源技术和工具外,源数据和用户隐私性的安全也被探索。Asghar等人6提出了一种云中的安全数据源的解决方案,它采用双方
13、加密方式来增强隐私,但是它的计算成本更高。“SPROVE”7使用加密和数字签名保护原始数据的机密性和完整性。但是“SPROVE”不具有源数据查询能力。“Progger”8是一个内核级日志记录工具,可以以用户隐私为代价提供日志篡改证据。还有使用源数据管理云环境的方案,例如发现云资源使用模式,普及资源循环利用和故障管理9。2.2 区块链区块链是从比特币中提取抽象出来的比特币网络的基础支撑技术,首次是在中本聪(Satoshi Nakamoto)发表的比特币:一种点对点式的电子现金系统10中出现,白皮书中详细描述了如何建立一套全新的、去中心化的、不需要任何信任基础的点到点的交易体系的方法,其可实现性已
14、经被自2009年运行至今的比特币所证明。区块链是一种按照时间顺序将数据区块用类似链表的方式组成的数据结构,并以密码学方式保证不可篡改和不可伪造的分布式去中心化账本,能够安全存储简单的、有先后关系的、能在系统内进行验证的数据11。区块链的出现解决了数字货币的两大问题:双重支付问题以及拜占庭将军问题。双重支付问题是同一笔钱被使用了超过一次,是在原有的以物理实体(纸币)为基础的传统金融体系中自然可避免的问题。在区块链出现之前的数字货币,都是通过可信任的中心化第三方机构来保证,以前是银行,现在是支付宝、微信支付等。区块链技术通过共识机制和分布式账本,不需要可信第三方就可以解决双重支付的问题是数字货币的一大突破。拜占庭将军问题( Byzantine generals problem)12是现实世界问题的模型化,适用于分布式网络的简单抽象为“在缺少可信中心节点的情况下,分布式节点怎么达成共识建立互信的问题”。区块链使用“工作量证明”(PoW,proof of work)及“权益证明”(PoS,proof of stake)或其他的共识机制,再加上加密技术,使一个不可信网络变成可信的网络,所有参与者可以在某些方面达成一致,而无需信任单个节点。2.2.1 PoW工作证明(Proof of Work,简称P
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1