吴花平,刘自豪
(重庆理工大学 会计学院, 重庆 400054)
近年来,云会计的重要性日益显著,许多中小微企业和机构纷纷开始运用云会计,云会计模式已然成为我国会计信息化发展的主要方向之一[1]。与传统会计模式不同,用户只需通过将其会计信息数据储存至云端,便可获得低成本、高效率和灵活的在线会计服务[2]。与此同时,用户可从更新会计软件、定期维护财务信息系统和建设数据存储基础设施的高成本中解放出来[3]。尽管云会计有着显著优势,然而云端数据安全事件频频发生,云端数据的安全问题仍然阻碍着云会计的发展和推广[4],如何确保和验证云端数据的安全性和完整性,建立有效的云会计数据的保护机制,已成为推动云会计发展的当务之急。
近几年兴起的区块链技术因其去中心化、不可篡改和可追溯等天然的技术优势[5],使得区块链技术在保障数据安全性和完整性方面具有显著的优势,这与云会计对于提升数据安全性的迫切需要不谋而合。乔鹏程[6]是我国较早对区块链技术与云会计进行融合研究的学者,他认为区块链技术在保障数据安全方面的特性迎合了云会计对于加强数据安全的需要,并且区块链与云会计的融合不仅有助于解决云会计所面临的会计伦理问题,而且有助于完善云会计的相关功能和治理模式。学术界有关“区块链+云会计”的研究成果虽较少,但在有关区块链技术对于提升会计数据的安全性、完整性和可靠性方面却取得了丰富的研究成果。毕秀玲等[7]将区块链比作审计数据的“免疫系统”,认为区块链能够增强数据的真实性、可靠性和可追溯性;蒋尧明等[8]则进一步指出区块链技术有助于促进数据更加透明、保障数据更加真实、保护数据更加安全,提升数据质量;此外,大量学者认为区块链技术有助于增强企业数据的安全性和完整性,能够进一步降低数据安全风险,保障企业会计信息数据的安全性和完整性。因此,在云会计中应用区块链技术有助于解决云会计所面临的数据安全问题,增加企业“上云”的动力,推动我国会计信息化的发展进程。
本文通过对云会计进行介绍,分析云会计在当前发展过程中面临的数据安全问题,并在此基础上结合区块链的技术优势,探讨区块链技术在保障云会计数据安全和检查云会计数据完整性方面的契合点。在此基础上,通过非对称加密技术和哈希算法构建基于区块链加密技术的云会计数据安全模型,并进一步地分析基于区块链加密技术的云会计数据安全模型的优势,以期为解决云会计的数据安全问题和保障云会计数据的完整性提供思路和为企业数字化转型提供数据安全保障机制,最终推动云会计的进一步创新发展和应用。
图1 云会计基本要素
云会计是云计算技术与会计学科交叉融合而形成的新型会计模式。程平等[9]首次提出“云会计”概念,即“构建于互联网上并向企业提供会计核算、会计管理和会计决策服务的虚拟会计信息系统”。云会计基本要素如图1所示[10]:用户通过互联网将财务数据与业务数据储存至云会计服务提供商的云端,云会计服务提供商基于用户的财务数据与业务数据开展业务、通过互联网向用户提供会计核算、管理会计、管理决策和数据存储等在线会计服务。
作为从云计算技术和会计概念融合基础上应运而生的虚拟会计信息系统,云会计是由云会计服务公司提供的基于互联网的远程线上会计服务,具有低成本、提高会计工作效率和管理效率等优势。因此,云会计作为一种在云计算技术和会计融合的基础上衍生的新生事物,已成为推进我国会计信息化建设进程的一种新模式。
2022年1月,财政部出台《会计信息化发展规划(2021—2025年)》(以下简称“规划”),指出“十三五”时期我国会计信息化建设有序推进,业财融合程度得到进一步加强,大数据、人工智能等信息技术得到逐步推广,电子会计资料得到普遍推广。然而,规划同样指出在推进会计信息化进程的同时,由于网络环境的日益复杂和会计信息系统的推广应用,包括云会计数据在内的会计数据在使用、传输、存储等环节存在着较之以往更为严峻的泄露、失真和损毁风险。因此,尽管云会计具有降低用户运营成本、提高用户业务效率和推动企业数字化建设的显著优势,但目前云会计的推广和发展仍面临着数据安全方面的相关问题,如何保障云端数据的安全性和完整性、建立安全有效的云端数据保护机制,已成为目前云会计实现进一步推广和发展所面临的当务之急。
在当今大数据背景下,云会计的数据结构不仅仅局限于结构化数据,其非结构化数据的数量也与日俱增,例如文字、视频、图片和音频等,这使得将形式多样的非结构化数据转换成标准的结构化会计信息的难度大大增加[11]。一旦数据在转化过程中产生差错,往往会发生数据失真,从而破坏会计信息的完整性和准确性,最终影响云会计服务的质量。随着信息技术的发展,数据安全事件频发。在复杂的网络环境中,保护云端数据的安全性这一任务面临严峻的挑战。陈毅春[12]认为云会计的运行安全问题和数据安全问题将对企业的运营产生最为直接的影响,云会计服务提供商应当保证用户数据的存储安全和访问安全,避免用户的数据遭到攻击而被破坏,或者因为恶意访问而导致用户隐私数据被泄露。企业核心数据的安全甚至会直接决定企业的生死存亡。学者们对这一观点达成广泛的共识,并认为一旦企业的云端核心数据遭到攻击而被泄露或被破坏,其产生的后果甚至会直接瘫痪企业的运营。在数据传输的安全性方面,李明等[13]认为复杂的网络环境为网络不法活动提供了温床,不法组织往往利用数据痕迹追踪技术或者使用黑客攻击工具获取正在传输中的数据和数据传输痕迹,导致隐私数据被泄露或被篡改。周文娟[14]在对云会计风险进行研究的基础上得出结论:企业数据在传输过程或使用过程中充满着病毒和非法攻击等不安全因素,存在着较大的数据被损毁和被泄露的隐患。
综上所述,一旦储存大量用户隐私数据的云端受到破坏或者遭到黑客的恶意攻击,往往会导致用户的核心数据被泄露、破坏和丢失,所产生的后果和带来的损失将是用户和云服务提供商都无法承受和弥补的。数据安全问题严重阻碍着云会计的发展和其优势的发挥,更使得云会计的巨大潜力无法完全释放。因此,要推动云会计的发展和推广,应当对云会计数据的可靠性和完整性建立有效保护的机制,而区块链技术的成熟及其去中心化和不可篡改等技术特性则为保障云会计数据的安全性和完整性提供了新的契机。
区块链技术是中本聪(Satoshi Nakamoto)提出的一种比特币的底层技术,并指出区块链是应用密码方法学生成的、由包含所有交易信息的数据块组合而成的、去中心化的分布式账本数据库;郑石桥[15]则认为区块链是交叉运用密码学、数学等多种学科技术的数据存储体系;Aldredge等[16]基于区块链的交易机制,认为区块链是以分布式账本和点对点交易为基础,从而进行信息传输的新型技术。总之,区块链技术是一种具有集中式基础架构,由数据加密技术、数据链存储结构和去中心化的分布式共识机制等多种技术组成的一种数据管理技术。随着党和国家的不断重视与区块链研究的持续开展,区块链技术已从加密货币领域不断向外扩展,逐步扩展至金融、教育、通信和社会治理等领域,成为推动我国经济社会发展的热门技术之一。
目前,大数据时代已经从海量大数据时代迈向价值大数据时代。对于广大中小企业来讲,云会计降低了用户的大量数据的储存成本,同时使得用户可通过互联网获得便捷的在线会计服务,并且云会计可从用户的大量数据中提炼价值信息以支持用户的经营决策、满足中小企业快速发展的会计服务需求。从云会计的内部来看,目前云会计服务商的数据安全防护等级还未达到绝对安全的程度;从云会计的外部来看,近几年黑客活动的猖獗以及黑客技术的发展使得云端数据的安全性面临更加严峻的挑战,而具有去中心化、不可篡改和可追溯等技术优势的区块链将为云会计数据的安全性提供保障。
1.提高云会计数据隐私性
点对点网络的去中心化是区块链技术的显著优势。区块链可以看作是由分布式账本技术共同维护的多个节点。区块链通过采用分布式记账和存储来实现去中心化[15],即区块链均是采用分布式结构进行数据的处理,通过数学算法建立分布式节点之间的信任,使得相互信任的每个平等节点均参与数据的记账和存储,并且在点对点交易过程中无需第三方信用中介机构的参与。此外,用户可通过非对称加密技术对即将上传至区块链中的云会计数据进行加密,从而能够避免数据在上传的过程中因遭受攻击而导致数据泄露。因此,将区块链技术与云会计进行融合,将使得区块链网络中的用户仅包括企业与云会计服务提供商,双方的交易过程中不再包括如第三方审计平台等中心化角色的参与,进而形成用户与云会计服务提供商之间的双向互动的交易机制,有助于降低用户云会计数据的泄露风险,增强云会计数据的隐私性。
2.增强云会计数据安全性
区块链技术的不可篡改性能够保护储存在区块链中的数据不被恶意篡改。区块链由数据区块和哈希链组成,其中数据区块可通过检查前后数据区块中的哈希值证明其前区块和后区块的真实性。区块链采用链式结构储存数据,并且通过哈希值实现区块之间的逻辑链接。数据区块中的区块体包含当前所有的交易信息,一旦数据区块中的交易数据发生变化,与交易数据相对应的哈希值也随之发生改变,只有非法攻击者控制了区块链网络中超过50%的节点时(即51%攻击),攻击者才能篡改区块数据,但由于发动51%攻击需要攻击者付出巨大的成本,因此51%攻击几乎不可能成功,所以区块链技术能够极大地增加恶意攻击者篡改云会计数据的难度。此外,区块链是一个由无数节点通过各种共识机制共同维护与更新的分布式账本,加之数据区块中的交易信息拥有对应的时间戳和数字签名,且交易信息是用户使用私钥加密后的密文数据,同样大大增加了黑客破解区块数据的难度。
3.保障云会计数据完整性
一方面,区块链技术的可追溯性是云端数据完整性强有力的保证。可追溯性是指区块链利用时间戳技术和链式数据存储结构使得区块链数据库中的数据按照时间顺序进行排列。通过这种排序方式可实现对数据从源头节点到最新节点的全过程检索,从而提升云端用户数据对用户和云会计服务提供商的可见性,提升用户对其云端数据使用痕迹的追踪能力,有助于实现云会计业务参与者对云端数据的使用痕迹进行追踪,从而掌握云会计数据的过去和现在的全部数据信息。因此,即使发生区块链51%攻击事件,用户仍可通过区块链的可追溯特性将区块链中的云端数据调整至攻击事件发生之前的时间节点数据,大大地保障云会计数据的完整性。另一方面,用户和云会计服务提供商还可通过构建区块链中云会计数据的默克尔哈希根(Merkle Hash Tree Root,MHTR)与本地保存的默克尔哈希根进行对比的方式检查云会计数据的完整性,能够快速判断数据是否被篡改和被篡改数据的具体位置,同样有助于增强云会计数据的完整性。
因此,区块链作为由点对点网络、共识机制、智能合约等技术组成的集成系统,因其去中心化、不可篡改、可追溯性等天然技术优势在保障数据安全方面的强大功能,为保障云会计数据安全、增强云会计数据隐私性、降低云会计数据安全风险提供了切实可行的思路。
本文构建一个基于区块链加密技术的云会计数据安全模型(如图2所示),该模型与大多数现有云会计服务模式不同,该模型采用区块链存储和备份用户的会计信息数据以及会计信息数据对应的哈希值,通过非对称加密技术和哈希算法保障用户云端数据的安全性与完整性,从而使得用户获得更加安全的在线会计服务。此外,区块链具有的不可篡改、可追溯、公开透明等技术特征,使得企业和云会计服务商能够在信任和透明的环境中开展云会计业务,从而有助于为企业和云会计服务商建立新的信任模式。
传统云平台基本结构一般包括HaaS(硬件即服务)层、IaaS(基础设施即服务)层、DaaS(数据即服务)层、PaaS(平台即服务)层和SaaS(软件即服务)层。然而,在基于区块链加密技术的云会计数据安全模型中,传统DaaS层的数据挖掘、数据清洗、数据存储等功能则通过区块链实现。如图2所示,区块链系统中的节点仅包括云会计服务提供商和云会计用户,无其他第三方平台的参与,减少了数据的可见范围,有助于保护用户的数据的隐私性。并且企业生产经营过程中产生的结构化数据、非结构化数据和半结构化数据,将按照具体的交易字段被细分为会计核算数据、生产制造数据、绩效考核数据等,同时通过非对称加密技术、哈希算法和数字签名等技术将企业生产经营数据及其相应的哈希值安全完整地保存在区块链中,从而为PaaS层和SaaS层提供高质量的底层数据支持。
图2 基于区块链加密技术的云会计数据安全基础架构
1.相关基础知识
(1)哈希值
哈希值是由哈希函数(Hash Function)通过将原始数据压缩成具有固定长度的二进制值,是原始数据的“数据摘要”。哈希函数通常采用安全性更高的SHA-256算法将数据映射为长度为32字节的随机散列数据,并且哈希值的碰撞(重复)概率极低[17],这意味着内容固定的数据所对应的哈希值也是固定唯一的,一旦数据内容发生变化,其所对应的哈希值将同样发生改变,从而能够有效地检查数据内容是否被篡改。
(2)默克尔哈希树
图3 区块链默克尔哈希树结构
区块链默克尔哈希树(Merkle Hash Tree,MHT)由底部数据的哈希值构成,结构如图3所示[18],底部的区块链数据通过SHA-256算法计算出对应的哈希值作为叶子节点,再将相邻的2个叶子节点通过SHA-256算法生成中间节点,最后将两个中间节点同样通过SHA-256算法生成默克尔哈希树的根节点,即根哈希值(默克尔哈希根)。用户可通过默克尔哈希树对储存在区块链内的数据进行快速定位,并且一旦底部数据发生变化,那么与之相对应的哈希值也会发生变化,最终导致根哈希值发生改变,从而能够快速核实数据是否被篡改并快速定位到被篡改的数据位置。
2.基本流程
如图4所示,基于区块链加密技术的云会计数据安全模型流程中包含两个实体:用户和云会计服务提供商。其中,用户是将其财务数据和业务数据存储在区块链中的主体,主要是以中小微企业为主的企业和机构等。云会计服务提供商则是通过互联网向用户提供在线会计核算、管理、决策和数据存储服务的主体。基于区块链加密技术的云会计数据安全系统模型流程如下:首先,用户使用Hash256算法生成加密数据区块的哈希标签,同时通过非对称加密技术对即将要上传至区块链的数据进行加密。其次,用户使用哈希标签构建默克尔哈希树,并且保留默克尔哈希根用以验证数据完整性。同时,用户将哈希标签广播到区块链网络中,使所有的哈希标签的副本均被存储到区块链网络中。最后,用户将加密后的数据区块上传至区块链中进行储存,以备云会计服务提供商向用户提供在线会计服务时使用。
此外,用户也可进行更新其区块链中会计信息数据的操作。例如:当用户在区块链中进行插入新数据的操作时,首先需要计算保留在用户本地计算机的所插入区块的哈希标签,然后为该数据区块分配唯一的、不重复的新区块号码(区块ID),之后将新哈希标签存储在区块链中,同时更新该区块的时间戳数据,最后将新数据区块上传至区块链中。当用户进行修改数据信息的操作时,用户可根据唯一的区块ID从区块链中下载加密后的数据区块并使用其私钥解密,之后按照系统流程修改和重新上传数据区块,最后为该区块重新计算哈希标签,并将带有新的哈希标签和相应区块ID的数据区块上传至区块链中。
如图5所示,当用户上传会计信息数据至区块链进行储存时,首先利用其公钥库中的公钥对未加密的用户数据进行加密,然后将加密后的密文数据上传至区块链中,此时加密后的密文数据只能由与公钥相对应的私钥才能解密。当使用者进行数据验证或使用数据时,使用者首先需要从区块链下载密文数据,其次使用所拥有的与加密公钥相对应的私钥进行解密以获得明文数据。
图4 基于区块链加密技术的云会计数据基本流程
在该流程中,私钥与公钥均由用户拥有和控制,并且云会计服务商仅具有解密用户加密数据的能力,使得侵入区块链的恶意攻击者无法查看和修改用户的财务数据和业务数据。同时,因非对称加密技术的破解具有极高的难度,故恶意攻击者在用户数据传输过程中截取和破解加密数据的难度大大增加,这会保障数据传输过程中的安全性,从而有效保证用户财务数据的安全和完整。
在该系统模型下,用户和云会计服务提供商均可检查用户会计数据的完整性。在基于区块链加密技术的云会计数据安全模型中,用户将所有的数据哈希标签同时存储在区块链网络中和在本地计算机上存储MHTR,因此用户上传会计数据后可立即检查其数据的完整性。如图6所示,当用户进行数据完整性验证时,用户首先可通过使用其存储在区块链中的哈希标签构建MHTR,之后云会计服务提供商为用户生成其解密数据文件的MHTR,并将MHTR返回给用户。最后,用户通过对比从云会计服务提供商提供的MHTR与用户所拥有的MHTR匹配来检查其会计数据的安全和完整,如果用户的MHTR与云会计服务提供商的MHTR是一致的,则证明用户存储在区块链的数据是完整的;反之,如果二者的MHTR是不一致的,则证明用户的会计数据已经被篡改。此外,云会计服务提供商也可以通过计算用户会计信息数据的哈希值并构建MHTR,与用户储在区块链网络中的哈希标签生成的MHTR进行对比,以此检查用户的数据是否与其掌握的数据一致,从而有助于避免非法用户通过数据造假而造成的欺诈损失。
图6 基于区块链加密技术的云端数据完整性验证
如果用户仅保存会计信息数据的哈希标签,那么当用户对其会计数据进行更新操作时,则必须重新计算所有数据区块的哈希标签,这会为用户带来巨大的计算工作量。所以,在该系统模型下,用户在更新其远程数据时,会在本地计算和保留更新后的数据块哈希标签,使用户无需重新构建MHT便可以更新区块链中的哈希标签,大幅提高用户会计数据的更新效率。同时,云会计服务提供商还可以为更新后的数据计算哈希标签,使得云会计服务提供商和用户均可对用户更新后的数据进行验证,有助于保障用户数据的安全性和云会计服务提供商的合法权益。
在传统的云会计服务模式下,由于用户将其核心数据上传至云会计服务提供商的云端进行储存,使得云会计服务商对用户的核心数据形成事实上的管理和控制,用户实际上失去了对其核心数据的控制权。核心会计数据是用户的商业机密,在传统云会计服务模式下,由云会计服务提供商管理和控制的用户核心数据面临着被泄露和破坏的危险。例如:不法的云会计服务提供商会为了利益出卖其所拥有的大量用户数据,或者云会计服务提供商为了巨大的利益与用户的竞争对手进行交易,从而导致用户的核心数据被泄露。然而,在基于区块链加密技术的云会计数据安全模型中,用户上传至区块链网络中的会计信息数据均经过加密,而且区块链网络中的节点用户仅包括企业和云会计服务提供商,意味着其他第三方无法查看、无法修改用户的会计信息数据。此外,因为区块链技术具有可追溯性,所以用户可随时查看其会计信息数据的使用痕迹,从而能够降低云会计服务提供商泄露用户数据的主观意图。此外,即使用户的会计信息数据被泄露,因窃取者未掌握用户的私钥,从而使得窃取者无法查看用户的明文数据,有效地保障了用户会计信息数据的安全与完整。
在传统的云会计服务模式下,用户向云端传输数据信息时往往忽视数据加密或者只是进行简单的数据加密。这使得用户的数据信息在上传至云端的过程中容易被恶意截取或者被恶意篡改和删除,数据的安全性和完整性无法得到有效保障。而在基于区块链加密技术的云会计数据安全模型中,传输过程中的攻击者由于缺少用户的私钥,从而无法获取用户传输数据的明文信息,更无法在传输过程中篡改用户的数据。另外,由于用户同时将哈希标签存储到区块链网络和用户本地的计算机中,因此用户上传数据后可以立即检查其云端数据的数据完整性,能够有效地保障用户数据在互联网传输过程中的安全性。
用户和云会计服务提供商之间的相互信任是推动云会计发展和会计信息化进程的重要因素之一。然而,在传统的云会计服务模式下,用户和云会计服务商无法做到完全的相互信任。一方面,从用户的角度来看,用户的核心商业数据实质上是由云会计服务提供商控制的,因此担忧云会计服务提供商存在出卖用户数据给其商业竞争对手的潜在可能性,或者担忧云会计服务提供商的资质不足,无法为用户的数据提供有效的保护和管理手段,从而造成用户的数据被泄露或者被破坏,或者云会计服务商因其自身数据安全技术的原因造成安全事故;此外,担忧云会计服务提供商可能会为了维护自身的声誉而掩盖数据安全事故的发生。以上因素使得用户对云端数据的安全性与完整性充满担忧,因而无法完全信任云会计服务提供商。另一方面,云会计服务提供商也无法完全信任用户,这是因为一些不法用户可能会上传伪造后的数据,造成数据不完整的假象,并借此试图向云会计服务提供商索要高额赔偿。
然而,基于区块链加密技术的云会计数据安全模型,用户和云会计服务提供商均能够检查数据的安全与完整,从而能够有效应对用户与云会计服务提供商之间的信任缺失问题。例如:当用户对数据信息进行修改并更新数据区块标签后,云会计服务商同样能够重新计算更新后的数据区块标签,以此实现与用户数据保持同步。因此,在基于区块链加密技术的云会计数据安全模型下,用户与云会计服务提供商之间拥有比传统的云会计服务模式更高的相互信任水平。
传统的云会计模式面临着数据安全问题和数据完整性问题,并且云会计数据的泄露、恶意篡改等数据安全问题严重阻碍着云会计的推广和我国会计信息化建设进程的推进。本文构建了一个基于区块链加密技术的云会计数据安全模型。在该系统模型中,用户将加密后的会计信息数据上传至区块链中,并且将与加密数据相对应的哈希标签存储到区块链当中。之后,用户可通过检查用户自身的会计信息数据MHT与云会计服务提供商提供会计信息数据MHT是否匹配,以此来判断云端数据是否完整。同样,云会计服务提供商也可以通过检查双方的MHT是否匹配,以此来避免因不诚实的用户的行为而遭受经济损失。
总之,本文构建的基于区块链加密技术的云会计数据安全模型将云会计与区块链技术相结合,会有助于解决云会计在发展过程中面临的数据安全问题和完整性问题,从而能够有效地保障用户会计信息数据的安全性和完整性,并且在一定程度上会加强云会计服务提供商与用户之间的相互信任,最终促进云会计的推广和发展,推动我国会计信息化的发展进程。