基于区块链技术的电子档案管理系统的设计

2022-09-01 13:41:58刘丽华
赤峰学院学报·自然科学版 2022年8期
关键词:访问控制日志合约

刘丽华

(内蒙古财经大学 档案馆,内蒙古 呼和浩特 010070)

引言

随着档案的电子化程度不断提高,电子档案管理系统得到了广泛的应用。电子档案管理系统以数据库技术为核心,主要存储包括电子文档、图片、音频等用户数据信息和用户名、口令、用户所在的系统中的操作等管理数据。基于以上需求目前的电子档案系统主要采用分布式文件系统进行数据存储,这样的结构存储和写输入的速度比较快,但也面临着数据被篡改的风险[1]。所以保证电子档案系统中的用户数据信息和管理数据不能被篡改,成为当前电子文档管理系统发展中面临的关键问题[2,3]。

区块链技术利用P2P技术、pow共识机制等实现用户间的信任,通过智能合约来约束用户的行为。采用区块链技术实现数据必须按照时间顺序前后加入链式结构,用来确保数据的安全,目前这种结构已经广泛应用于电子交易、车联网、移动边缘计算等领域,解决了数据的不可否认性问题[4]。所以将电子档案管理与区块链技术相结合,可以有效地保证数据的安全性,同时解决目前电子档案管理系统中存在事务不一致、缺乏防篡改机制等问题,为提高电子档案管理系统的安全性提供了完整的解决方案[5-7]。

本文以区块链技术为基础,结合目前在电子档案管理系统中广泛采用的存储结构,提出了一种基于区块链的电子档案管理系统设计方案。系统主要包含以下三方面功能,首先,异构档案数据安全存储;其次,基于角色分级访问控制模型;再次,基于角色访问控制流程。

1 异构档案数据的安全存储

数据库使用中,在数据库内进行的各种操作会被记录,进而存储到事务日志中。事务日志是确保数据库安全的重要手段。如果发生故障,可以通过事务日志实现重要数据的恢复。目前主要采用主从复制的方法实现事务日志数据的备份和恢复。目前电子档案管理系统中,只对数据库内容进行备份,没有对其他相关档案文件进行备份,另外这种主从复制的管理方式对核心数据库的性能要求较高,容易产生单点故障,而且一旦核心数据库被恶意篡改,其影响就可能随着数据的传输而不断扩大。基于以上问题,我们采用区块链和分布式存储技术,建立根据档案中数据的尺寸来进行数据粒度感知的安全存储模型,其工作过程如下:

首先,选中目标数据对新增加的内容进行检查监听,记录相关日志信息,分析事务并将分析结果转换为对应的电子档案。然后对档案中的日志数据进行加密,加密后的日志等内容加入区块链中。再次,利用分布式方法存储电子版档案文件,根据文件占用存储空间的大小,将文件划分为大粒度文件和小粒度文件,把大粒度文件分布式存储在IPFS网络中,把小粒度文件存储在联盟链上。

1.1 文件提取方式

本系统要保证档案业务不受影响,并且可以方便调取事务日志文件并进行分析,我们提出的基于区块链的主从服务器模型,其工作方式如图1所示,主要有以下几个部分组成:

图1 基于区块链的主从复制工作流程

由上图可知,首先系统更新事务操作,已经发生的操作将会被存储到日志文件中。然后,建立区块链中间件和档案数据库的连接,将主库事务上传到区块链中间件上。在区块链中间件上对提取的操作日志进行加密,加密后的操作日志加入私有区块链网络。对解析日志的文件的存储路径进行抽取,获取相应的文件,并将此电子文件放在IPFS网络上存储。最后,在区块链上存储的日志内容被复制用来形成相应的日志,并放入数据库同步。上述工作方式,能够保证数据的安全转移,数据库也可以通过区块链来获得完整的操作日志,实现数据同步。

1.2 基于文件粒度的安全存储模型

本模型将电子文件放在链上和链下分类存储,保障电子档案文件的完整性和可用性。根据粒度大小来确定文件的储存方式,将文件分为大粒度文件和小粒度文件,大粒度文件存入IPFS中,当有需要时可以调出使用,小粒度文件经过编码后放到区块链上存储,这种方式可以有效地提升存储的效率。基于文件粒度的安全存储模型如图2所示。

图2 基于文件粒度感知的安全存储模型

由于区块链吞吐量和存储问题,大量数据直接存储在区块链上会影响区块链的吞吐量,所以此方案中区块链上只保存小粒度文件和大粒度文件的哈希值,大粒度文件的内容存储在链下的数据库中。用户将链上哈希值与本地数据的哈希值进行判断,通过比较是否一致来判断本地数据的真实性。基于文件粒度的安全存储模型,能够有效减缓区块链上账本数据增长的速度。IPFS使用了去中心化的方式,通过分片的方法把文件由统一的存储变成了多个文件的片段,然后将这些文件分布存储到网络中的各不同的节点中,当这些文件需要被使用或者下载时,IPFS会在各个节点上恢复文件,从而提升大粒度文件的存取效率。

2 基于角色的访问控制模型

基于角色的访问控制模型(RBAC)通过对用户身份与用户的任务进行评价审核,根据相应的角色授权,利用智能合约来记录RBAC模块,实现对不同用户的访问权限控制,并保障RBAC的数据安全性。

目前国内采用的密级划分标准是国家技术监督局提出的标准,分为六个层次:公开、国内、内部、秘密、机密、绝密;档案文件的保密等级分为:公开、秘密、机密。不同的档案文件具有不同的密级,可以根据保密等级将角色划分为三种等级:公开权限用户、秘密权限用户和机密权限用户。表1定义了系统中的常用符号。

表1 主要符号及其含义

在表1中,将拥有文件的用户定义为OW,想要对文件进行访问的用户为AC;文件的密级可以定义为SeiSei,角色分配情况RoleiRolei,能够访问文件的权限AuiAui,PBY、SBY,分别对应每个用户所使用的公私钥对,区块链中使用的访问控制合约定义为DMSC,UAT和DPT,为合约内部的每个用户的权限收录表和动态的权限收录表,Madr是目前的要访问的用户对应的地址。

3 基于角色的访问控制流程

本模型基于以太坊提供的智能合约,结合RBAC的角色划分,将模型划分为智能合约的内部和智能合约的外部两个部分。合约具有访问控制功能和文件处理函数,其中文件合集和授予权限合集,能够完成对合约内部文件的访问控制并获取相应的文件。智能合约外部的主要功能是管理和归纳相应的文件名称、合约地址、编号等基本信息。角色的访问权限分为永久权限和临时权限,由智能合约中的UA和UATmap是权限的集合。整个智能合约访问控制机制的执行过程如图3所示。

图3 智能合约访问控制框架及流程

如上图所示,访问控制工作流分为以下5个步骤:

文件拥有者OW通过合约管理模块来部署合约内类的接口函数,在得到反馈结果后将其传送给文件拥有者OW。

当有需要访问的文件时,访问者AC向文件拥有者OW发送请求授权请求,OW通过智能合约调用内部权限管理函数,之后系统会对访问者进行角色(Rolei)和权限(Aui)的划分,根据划分结果写入记录集中,然后AC的相关信息会被写入区块链中。经过此步骤AC可以通过链外模块方便的获取编号(fileid),保密级别(Sei)和智能合约地址等相关信息,并可以通过合约地址去访问接口函数。

如果系统内的智能合约需要获取内部权限,需要通过账户地址Madr来查看UAT和DPT中储存的记录信息。在获取到记录结果后,与当前权限集合进行比对。如果相同,则可以获取到用户的角色信息和相应的权限;如果存在Aui>Sei的情况,则执行第4条的过程,如果不存在Aui>Sei的情况,执行第5步。如果比对的结果不相同,则证明集合中未查询到相应记录,则执行第5步。

如果访问者需要访问系统中的文件,则需要查询文件的密级Sei,根据密级对文件进行访问,访问者通过文件id链接到文件的相关信息 (Fileinfo),如果找不到id对应的文件,则返回NULL,证明id错误或者是密级错误。

AC获取到相应结果,根据相应信息将文件按照大小分类,文件较大可以使用IPFS的方法,文件较小的直接通过区块链上的内容获取文件。

上述模型利用了智能合约机制,所有发布的合约一旦加入区块链将不可更改,这样可以保证访问控制方法的可靠性和安全性,能够在不获取账户私钥的状态下实现面向不同角色的不同权限的访问控制,通过上述机制实现对电子档案系统中数据的有效保护。

4 结论

基于区块链技术的电子档案管理系统首先对系统内的数据进行分类,然后将档案事务日志加密上传到区块链中,保证了数据的不可篡改。采用基于粒度的安全存储模型,将粒度较大的文件和粒度较小的文件分开存储,IPFS存储大粒度文件,区块链节点直接存储小粒度文件,实现文件的高效存储,本模型的提出为区块链技术在电子档案领域中的应用提供了新的解决方案。

猜你喜欢
访问控制日志合约
一名老党员的工作日志
华人时刊(2021年13期)2021-11-27 09:19:02
扶贫日志
心声歌刊(2020年4期)2020-09-07 06:37:14
游学日志
ONVIF的全新主张:一致性及最访问控制的Profile A
动态自适应访问控制模型
通信学报(2016年11期)2016-08-16 03:20:32
浅析云计算环境下等级保护访问控制测评技术
大数据平台访问控制方法的设计与实现
一种基于粗集和SVM的Web日志挖掘模型
合约必守,谁能例外!——对“情势变更”制度不可寄于过高期望