基于区块链技术的审计系统的设计与实现毕业论文Word格式.docx
《基于区块链技术的审计系统的设计与实现毕业论文Word格式.docx》由会员分享,可在线阅读,更多相关《基于区块链技术的审计系统的设计与实现毕业论文Word格式.docx(31页珍藏版)》请在冰豆网上搜索。
![基于区块链技术的审计系统的设计与实现毕业论文Word格式.docx](https://file1.bdocx.com/fileroot1/2022-10/28/459563cc-31fa-4300-852e-945129e42198/459563cc-31fa-4300-852e-945129e421981.gif)
Blockchaintechnologyisarrecentresearchhotspotofacomputernetworktechnology,canbeappliedinanumberofareas.Itsessenceisadecentralizedaccountbook,whichhasopen,removetrust,anonymous,can’tbetampered,traceableandothercharacteristics.Itcanfullymeetthemostessentialrequirementsoftheauditsystem.Therefore,thispaperpresentsanauditsystem,whichisbuiltonthecloudplatformandbasedontheblockchaintechnology.InaccordancewiththeChainpointprotocol,throughtheauthorinthetextofthealgorithmtobuildthedataHashoperation,theformationofMerkleTree,andthensentMerkleRoottotheBitcoinnetworktosave.Atthetimeoftheaudit,thedatawereevaluatedbythedatahash,theMerkleProofsavedbythecloudplatform,andtheMerkleRoot,whichwassavedbytheBitcoinnetwork,toverifythecorrectnessandcompletenessofthedata.
Keyword:
Blockchaintechnology,Auditsystem,Chainpointprotocol,Hashoperation,MerkleTree
目录
摘要I
AbstractⅡ
目录Ⅲ
第一章前言1
第二章基本技术理论和开发环境3
2.1数据源3
2.2区块链3
2.2.1PoW4
2.2.2PoS5
2.3MerkleTree6
2.3.1Hash和HashList6
2.3.2MerkleTree和HashList7
2.4Chainpoint协议8
2.5系统结构9
第三章算法设计与实现11
3.1算法设计11
3.1.1MerkleTree的创建11
3.1.2数据的审计12
3.2算法实现13
3.2.1Mproof类13
3.2.2Mtree类14
第四章算法评估18
第五章总结与展望20
参考文献21
致谢23
附录24
Mproof.h文件24
Mproof.cpp文件24
Mtree.h文件25
Mtree.cpp文件26
测试用main.cpp文件30
第一章前言
从2009年,中本聪发布白皮书开始,近十年来比特币成为了广受追捧的电子货币。
而从比特币这一应用中体现出来的区块链技术,更是吸引了大量的技术人员去进行研究。
从最底层的网络构建,到最顶层的应用开发,区块链技术体现出了它强大的应用领域。
区块链技术是一个分布式大账本,因为没有一本中央大账本了,所以无法摧毁。
每个节点都仅仅是系统的一部分,每个节点权利相等,都有着一样的账本。
摧毁部分节点对系统一点都没有影响。
而且,区块链技术无法作弊,因为除非你能控制系统内大多数人的电脑都进行修改,否则系统会参照多数人的意见来决定什么才是真实结果,结果会发现修改自己的账本完全没有意义。
因为由于不存在中心化的中介机构,所有的东西都通过预先设定的程序自动运行,不仅能降低成本,也能提高效率。
每个人都有相同的账本,能确保账本记录过程公开透明。
所以说区块链技术有着强大的抗干扰,高度隐私,可追溯等能力。
可以这么说,一个完整的区块链网络几乎是不可更改的。
一个好的审计系统,抗篡改的能力是必不可缺的。
同样一个好的审计系统要解除对审计人员的信任依靠,区块链网络的去中心,去信任话就可以满足这个要求。
审计系统所需要的所有必须条件,区块链网络都具备了。
所以基于区块链技术的审计系统是有着开发意义的。
云计算在商业和军事环境中被广泛采用,应用于数据储存,即时计算和动态配置等需求。
云计算环境是分布式的和异构的,是由不同的供应商提供的软件和硬件组成的,所以可能有漏洞和不兼容的风险。
云内和云间数据管理和转移的安全保障是一个关键问题。
云端审计只有在数据上的所有操作都可靠可跟踪时才会有效。
确实可信的来源数据可以帮助检测云服务中的访问冲突。
然而,开发有保障的数据来源仍然是云储存应用的关键问题。
来源数据包含原始数据和数据持有者的敏感信息,所以不仅要确保云数据,还要确保来源数据的完整性和可信赖性。
然而最先进的云服务器也容易受到意外破坏和伪造原始数据的威胁[1]。
区块链技术由于共享,分布式和容错数据库而引起了人们的关注,网络中的每个参与者都可以利用诚实节点的计算能力来共享对抗对手的能力,并且信息交换是有弹性的操作。
区块链网络是一个公共的分布式账本,其中任何单个事物都是由网络节点共同目击和验证。
可以利用区块链网络的分散式架构为云计算环境建立有保障的数据来源。
在分散架构中,每个节点都参与网络提供服务,从而提高效率。
区块链的分布式特性可以保证可用性。
因为在云服务中经常使用集中式权限,因此需要在保护隐私的同时保护个人数据。
使用基于区块链的云数据来源服务,所有的数据操作都是透明和永久记录的。
可以保证在数据上的所有操作都是可靠可跟踪的,从而实现审计功能。
本文中介绍了一种基于区块链的数据源架构,并将其应用到审计系统当中。
其可以在云储存应用中提供可靠的数据操作保证,同时增强隐私性和可用性。
其将云服务的操作历史记录作为源代码数据,分解成为MerkleTree的节点[2]。
来源数据的Hash列表将构成一个MerkleTree,并且树的根节点将作为一个收款地址锚定在一笔比特币交易中,借助稳定的区块链网络来进行保存和防止被攻击。
想要修改来源数据的对手需要先定位数据的块。
区块链的底层加密理论保证,当只有对手可以呈现出比其他矿工更长的链时才可以修改块记录,这是很难实现的。
通过利用区块链网络的全球规模计算能力,基于区块链的数据来源可以提供完整性和可信赖性。
本文的其余部分内容安排如下。
第二章阐述了最新的数据来源和区块链技术,以及MerkleTree的介绍。
第三章描写了关于MerkleTree的创建以及数据审计时的算法。
算法的评估将在第四章中进行,第五章进行总结。
第二章基本技术理论和开发环境
2.1数据源
数据源对于云计算系统管理员来说,是将系统或网络的入侵检测调整到最佳的关键。
云计算环境通常以不同系统和网络组件之间的数据传输为特征。
这些数据交换可以在数据中心内或跨联合数据中心内进行。
数据通常不会遵循相同的路径,因为数据的多倍复制和多样化路径保证的数据的恢复能力。
这种设计增加了管理员识别攻击来源的难度,是硬件还是软件导致的攻击,以及攻击所造成的影响。
安全违规行为需要在细粒度和来源的帮助下进行识别。
目前云中最先进的源系统通过审计和日志支持上述任务。
这些技术在云计算系统中是无效的,云计算系统本质上是复杂的,这是由于跨层次的互操作软件和硬件组件横跨地理和组织边界传播。
为了确定云基础构架中安全违规的源头,原因和影响,将需要从多种和不同的来源取证和收集日志,这是一项不可能的任务。
同时,日志仅提供与每个应用程序相关的操作的顺序历史记录。
源数据提供了所有数据对象的更改的源头的历史记录,已转发或者处理对象的组件列表,以及查看或者修改对象的用户,并且有增强的保险要求。
研究人员提出了几个数据源方面相关的方案。
第一个方案名字叫做“PASS”,是在操作系统级别处理原始数据的收集和维护的方案[3]。
一种通过拦截虚拟文件系统下的文件系统的调用来收集原始数据的文件源系统[4]被提出,这个需要对操作系统进行改造。
对于云数据源,有一种端到端的数据追踪软件被开发,名字叫“S2Logger”[5],它可以在内核空间中提供文件级和块级源代码。
除了数据源技术和工具外,源数据和用户隐私性的安全也被探索。
Asghar等人[6]提出了一种云中的安全数据源的解决方案,它采用双方加密方式来增强隐私,但是它的计算成本更高。
“SPROVE”[7]使用加密和数字签名保护原始数据的机密性和完整性。
但是“SPROVE”不具有源数据查询能力。
“Progger”[8]是一个内核级日志记录工具,可以以用户隐私为代价提供日志篡改证据。
还有使用源数据管理云环境的方案,例如发现云资源使用模式,普及资源循环利用和故障管理[9]。
2.2区块链
区块链是从比特币中提取抽象出来的比特币网络的基础支撑技术,首次是在中本聪(SatoshiNakamoto)发表的《比特币:
一种点对点式的电子现金系统》[10]中出现,白皮书中详细描述了如何建立一套全新的、去中心化的、不需要任何信任基础的点到点的交易体系的方法,其可实现性已经被自2009年运行至今的比特币所证明。
区块链是一种按照时间顺序将数据区块用类似链表的方式组成的数据结构,并以密码学方式保证不可篡改和不可伪造的分布式去中心化账本,能够安全存储简单的、有先后关系的、能在系统内进行验证的数据[11]。
区块链的出现解决了数字货币的两大问题:
双重支付问题以及拜占庭将军问题。
双重支付问题是同一笔钱被使用了超过一次,是在原有的以物理实体(纸币)为基础的传统金融体系中自然可避免的问题。
在区块链出现之前的数字货币,都是通过可信任的中心化第三方机构来保证,以前是银行,现在是支付宝、微信支付等。
区块链技术通过共识机制和分布式账本,不需要可信第三方就可以解决双重支付的问题是数字货币的一大突破。
拜占庭将军问题(Byzantinegeneralsproblem)[12]是现实世界问题的模型化,适用于分布式网络的简单抽象为“在缺少可信中心节点的情况下,分布式节点怎么达成共识建立互信的问题”。
区块链使用“工作量证明”(PoW,proofofwork)及“权益证明”(PoS,proofofstake)或其他的共识机制,再加上加密技术,使一个不可信网络变成可信的网络,所有参与者可以在某些方面达成一致,而无需信任单个节点。
2.2.1PoW
工作证明(ProofofWork,简称P