基于区块链的内容审计的电子档案管理系统设计

2023-06-01 14:05刘丽华
兰台内外 2023年3期
关键词:电子档案系统设计区块链

摘 要:随着信息系统的广泛应用以及各部门对保密性、完整性需求的提升,电子化档案管理系统已经得到了广泛的应用。本文提出了一种基于区块链技术的面向电子档案内容审计的管理系统的设计模型,该系统实现电子档案及上传、审查、监管的流程化管理,利用区块链具有去信任化、点对点传输、去中心化、可追溯等特点,实现不同部门和层级之间电子档案的高效管理。

关键词:区块链;电子档案;系统设计

基金项目:2021年度内蒙古自治区高等学校科学研究项目 人文社会科学一般项目 《基于区块链的异构档案管理技术研究》(NJSY21261);内蒙古自治区高等教育学会档案工作分会2021年档案科研项目 重点研究项目 《基于区块链技术的高校电子档案收集、管理与服务研究》(NGJ-ZD-2021-1);内蒙古财经大学2022年度“5G+智慧校园联合实验室”课题 一般项目《面向档案数字治理水平提升的档案资源智慧化转型路径研究》(5GZHXYAY202209)。

1 背景

随着信息系统的广泛应用以及各部门对保密性、完整性需求的提升,电子化档案管理系统已经得到广泛的应用。当前的电子档案管理系统大多基于数据库技术采用C/S的架构,并采用基于中心化的结构,数据往往保存在某个服务器中,当这个服务器遭到攻击数据被篡改以后,数据恢复较为复杂,无法适应数据多部门、多层级管理的要求。区块链技术采用区块结构记录网络上的每一个事务。底层通过密码学技术确保其正确性,同时采用分布式排序算法,建立可信的结构,从而解决了网络中信任与可靠传递的问题,是解决多部门、多层级电子档案管理的新途径。

在现有的文献中,Yang等人提出了支持连接关键词搜索及定时启用代理重加密功能的云上档案数据分享方案,但该方案计算能力较低,存储开销较大[1]。Olowononi等人提出访问对象的授权以及身份验证是文档管理系统安全的一个不可忽视的问题[2]。信息物理世界的不断壮大,以及分布式的信息处理环境随着信息物理世界规模的壮大变得愈发复杂,这些因素使得文档管理系统的漏洞不断增加,导致网络攻击变得更加容易[3]。区块链具备的高加密特性与数据可回溯特性能够为档案信息系统的安全提供保障[4,5]。

本文提出一种基于区块链技术,面向电子档案内容审计管理系统的设计模型。该系统实现电子档案上传、审查、监管等环节的流程化管理,利用区块链具有去信任化、点对点传输、去中心化、可追溯等特点,实现不同部门和层级之间电子档案的管理。系统利用智能合约自动化约束上传电子档案的格式,提高审计的效率。档案数据由链上的各个节点共同维护,利用区块链具有的共识验证和不可篡改的约束手段,保证数据的真实性、可靠性,通过达成共识实现共享数据的一致性。

2 系统模块划分

区别于以往的基于区块链电子文档管理系统,本系统是面向省、市两级部门实际应用的电子档案管理系统,主要实现针对电子档案内容的进行管理与审核。系统档案管理人员成为区块链中的节点,共同维护数据安全。用户属性包括部门所在的省名稱、市名称、部门名称、地址、邮箱、电话,标识真实身份信息的管理人员的编号以及创建区块链用户时分配的公钥和私钥。省级节点要求能够整合所有隶属市级部门的电子档案文件,利用智能合约自动化的约束上传电子档案的格式,各个部门作为区块链网络中的认证用户共同维护链上数据的安全。

系统采用Fabric联盟链,使用B/S网络架构,将源数据信息存储在链下的IPFS数据库中,并将链下源数据在IPFS的存储地址和源数据的哈希值存储在链上,实现链上地址和哈希值与链下源数据的对应,这样可以提高链上存储效率,降低区块存储和传输的压力,解决区块链网络在存储、传输效率上的不足。上传的电子档案通过智能合约自动化的判定电子档案格式是否符合规范,若不符合规范直接驳回上传请求。智能合约的使用提高了档案处理的工作效率,链上存储的地址和哈希值保证链下IPFS上存储的源数据不可被篡改。系统的工作流程图如图1所示:

如图1所示,系统分为:档案上传模块、档案格式审查模块、电子档案查询模块和电子档案监管模块。

2.1 档案上传模块

此模块面向市级部门使用,采用Web界面的形式上传电子档案数据,并需要上传相关证明材料供后续审查模块使用。用户上传电子档案数据结束后需要附加其数字签名,省级节点会根据签名信息进行用户身份合法性判定,然后将市级部门上传的电子档案信息和证明材料打包发送至档案审查模块进行格式审查。

2.2 档案审查模块

在身份验证通过后,将上传文件发送至档案审查模块。上传的文件首先需要通过智能合约的自动化格式审查,检查文件的格式是否符合要求和内容规范性,如果上传的文件不符合规范会自动退回,市级节点需更改后重新上传。

若智能合约格式审核通过,则将上传的文件和相关证明传到IPFS数据库中,并返回对应的IPFS地址和源文件信息的哈希值,发送给背书节点验证。背书节点根据IPFS地址和哈希值找到电子档案源数据文件执行后生成背书。获取指定的背书后,再发送给排序服务节点排序并打包生成区块。由排序服务节点广播该区块给主节点,主节点验证后保存区块到本地账本,并发送区块给网络中的其他节点。区块链网络中的其他节点检查共识验证区块合法性后,保存到本地账本确保数据的一致性。

2.3 电子档案查询模块

省级部门负责保存区块链系统的分布式账本,在链上展示各个电子档案信息的哈希值和其对应的IPFS数据库地址。市级节点用户可通过上传用户ID在链上找到对应的电子档案信息列表,内容包括:上传时间,IPFS数据库地址和哈希值,该键值被维护在世界状态中。市级用户可以通过IPFS地址进入IPFS数据库中获取对应的电子档案源数据信息和证明材料,用于验证电子档案文件的有效性等。链上数据公开、透明、可溯源,市级节点可通过调用智能合约获取指定的电子档案的IPFS存储地址,通过IPFS存储地址查询该电子档案文件的原始信息。

2.4 电子档案监管模块

由于链上数据公开透明,所有市级节点用户参与链上数据的合法性维护。当有用户发现区块链上某交易的IPFS地址对应的电子档案源文件的哈希值与链上哈希值不同时,即意味着链下IPFS数据库存储的电子档案文件被恶意篡改,该用户可以发起一个举报申诉请求。如果有节点用户发现链下IPFS数据库中存储的电子档案文件与证明材料不符,材料无法证明电子档案的真实性等,用户也可发起一个举报申诉请求。举报申诉请求应写明举报申诉原因、申诉的交易在区块链中的具体信息(哪个区块,第几条交易)、IPFS存储地址、哈希值等。

3 系统节点描述

3.1 省级档案管理部门的CA机构

省级档案管理部门需要使用Fabric联盟链,Hyperledger Fabric网络成员通过成员服务提供者(MSP)进行注册,只有审核通过才能成为区块链的用户。因此各个市级部门操作人员需要通过身份审核才能成为区块链中的用户,系统需要由专门的机构进行用户核验身份和授权颁发数字证书的工作。市级节点用户可通过数字身份的方式参与区块链网络,区块链中的市级节点用户身份包括 Peer 节点、排序节点、客户端应用程序、管理员等等。证书由CA机构进行数字签名,证书把用户与其公钥和属性绑定在一起,私钥由用户独立保管。

默认MSP使用 X.509 证书作为身份,公钥基础设施(PKI)采用层次模型,CA 机构可以进行证书的撤销。例如:当与市财政局的证书关联的加密私有材料被恶意公开,原证书就需要被吊銷并生成新的证书,同时更新证书撤销列表(CRL)。

3.2 区块链系统中的节点主要分为以下四类

3.2.1客户端节点:需要上传电子档案文件的各市级部门用户。此类节点只有连接到peer节点才能与系统进行通信。上传数据时,电子档案的格式要经过系统智能合约的自动化验证,验证通过后将上传信息存储到IPFS数据库中,并返回其存储地址和哈希值,打包后发送给相应背书策略的背书节点,当客户端节点收集到策略要求的背书后,再向排序服务节点广播交易,由排序服务节点进行排序,并生成区块广播给其他用户节点,经其他用户节点验证并实现共识后,电子档案文件成功上传到区块链系统中。

3.2.2普通节点peer,分为:记账节点、背书节点、主节点和锚节点。记账节点:主要指市级用户节点,此类节点主要负责验证排序服务节点广播的区块里的交易,维护区块链网络的安全和账本数据的一致性。排序服务节点排序后将打包好的区块广播给主节点,再由主节点广播给其他记账节点。记账节点:根据交易的IPFS地址找到IPFS数据库中存储的电子档案源文件和证明材料,校验上传的电子档案文件的真实性、是否被篡改等内容,验证通过后把这些区块加入到本地区块链中。背书节点:这类节点是动态角色,与具体链码绑定。当包含上传电子档案智能合约的链码上传到区块链上时,需要设置相应的背书策略。例如市财政局用户节点要上传电子档案文件,可以要求背书策略为市财政局节点在接收到市发改委、市教育局、市科技局部这三个节点用户的背书时,交易才被视为时有效的。锚节点:是组织间信息传输的节点。系统中包含很多组织(一个组织可以理解为一个部门或者一个地区),不同组织间的节点不能直接通信,每个组织需要指定一个或多个锚节点进行通信。主节点:主节点可以与排序服务节点通信。当排序服务节点将交易打包成块后发送给主节点,主节点将最新生成的区块分别发送给系统中的其他记账节点进行共识验证。主节点在整个组织中只能有一个,需要进行设置。

3.2.3排序服务节点:系统需要设置一组确定的排序节点,所有用户共用这一组排序节点。此类节点负责接收背书签名的交易,验证其是否满足相应的背书策略,并按照排序算法对未打包的交易集合进行排序,生成新的区块,最后将新产生的区块广播给主节点。

3.2.4 CA节点:CA节点接收市级用户的注册申请,确定登录密码,发放数字证书。

4 智能合约的设计

4.1 格式审查合约

市级节点用户上传电子档案文件后,智能合约先检查客户端的电子签名是否正确,并验证客户端用户身份是否合法;若验证成功,则验证上传的电子档案文件格式是否符合规范。符合规范则返回1,并上传电子档案信息、哈希值、签名和上传者信息至IPFS数据库,不符合规范返回0。

算法1 电子文档格式审查合约

Input: E-document doc,Sign sig,User information u_info

Output:Check result R

contract Verification_contract()

1.initial a bool Result:

2.if msg.sender != owner then

3.return ERROR:“Cannot be authorized.”;

4.If msg.sender != owner then break;

5.end if

6. if “Verification” not exists this.permissions then

7.return ERROR:“Permission not found.”;

8.end if

9.if Check(sign) == False then

10.return ERR:“Signature failed.”;

11.else

12.if doc.endswith(“.pdf”) then

13.Result←1

14.IPFS.upload(doc,Hash(doc),sign,u_info);

15.else

16.Result←0

17.end if

18.return Result;

4.2 查询合约

世界状态中以键值对的方式维护着每一个市级部门用户UID上传的交易信息(上传到IPFS数据库的电子档案文件对应的存储地址、哈希值和时间戳)。本合约检查市级节点用户身份信息的合法性。通过IPFS地址信息找到IPFS数据库中存储的电子档案源文件,并通过哈希值来验证IPFS数据库中存储的电子档案信息是否被篡改、通过证明材料判断存储的电子档案信息是否真实。

算法2 世界状态查询合约

Input: Sign sig,User information u_info

Output:IPFS address Adr,Hash H

contract inquiry_contract()

1.initial a string Adr:

2.if msg.sender == owner then break;

3.if msg.sender != owner then

4.return ERROR:“Cannot be authorized.”;

5.end if

6.if “inquiryer” not exists this.permissions then

7.return ERROR:“Permission not found.”;

8.end if

9.if Check(sign) then

10.[DATE,ADDRESS,HASH]←WorldState.filter(UID==u_info.UID).get(xxx);

11.Adr←ADDRESS;

12.H←HASH;

13.end if

14.return Adr;

4.3 写入合约

用户节点上传电子档案信息和证明材料,存储到IPFS数据库后返回存储地址和哈希值,整合存储地址和哈希值成交易发送给排序服务节点,验证后由排序服务节点排序并打包成块,并调用写入智能合约将上传的电子档案信息写入以键值对形式存储的世界状态中(世界状态中的key为用户的唯一UID,value为该用户已上传的电子档案信息的存储列表),打包的块经共识验证后上传到区块链中作为世界状态的历史记录。

算法3 世界状态写入合约

Input: Hash value h,IPFS address Adr,Time Date,Sign sig,User information u_info

Output:Put Result r

contract PUT_contract()

1.initial a bool r:

2.if msg.sender == owner then break;

3.if msg.sender != owner then

4.return ERROR:“Cannot be authorized.”;

5.end if

6.if “PUTER” not exists this.permissions then

7.return ERROR:“Permission not found.”;

8.end if

9.if Check(sign) then

10.WorldState.filter(UID==u_info.UID).put([Date,Adr,h]);

11.r←Result(0/1);

12.end if

13.return r;

4.4 删除合约

本合约可以删除IPFS数据库中存储的电子档案信息和世界状态中存储的记录,并生成新的交易声明(用户原来发出的交易信息变为无效交易)。

算法4 世界状态删除合约

Input: Hash value h,Sign sig,User information u_info

Output:Delete Result r

contract DELETE_contract()

1.initial a bool r:

2.if msg.sender == owner then break;

3.if msg.sender != owner then

4.return ERROR:“Cannot be authorized.”;

5.end if

6.if “DELETEER” not exists this.permissions then

7.return ERROR:“Permission not found.”;

8.end if

9.if Check(sign) then

10.WorldState.filter(UID==u_info.UID).delete(HASH==h);

11.r←Result(0/1);

12.end if

13.return r;

总结

基于区块链技术的面向电子档案内容审计的管理系统的设计模型,通过用户共同维护区块链上的信息合法和安全,当链上已上传的电子档案信息出现违规或错误,所有部门用户均可发起举报申诉请求。中心节点收到用户的举报申诉请求后,分发给排序服务节点进行验证。最终将裁定结果整合成交易信息打包成塊,发布到区块链网络中以供其他节点进行共识验证。系统以管理的层级结构为基础,结合工作实际流程,为区块链技术在电子档案管理领域的应用打下了好的基础。

参考文献:

[1]丁庆洋,王秀利,朱建明,等.基于区块链的信息物理融合系统的信息安全保护框架[J].计算机科学, 2018,45(02):32-39.

[2]袁晓慧,尹震宇,黄祖广等.基于故障树分析的数控装置硬件平台功能安全设计与实现[J].组合机床与自动化加工技术,2015(08):70-73.据知网。

[3]丁庆洋,王秀利,朱建明等.基于区块链的信息物理融合系统的信息安全保护框架[J].计算机科学, 2018,45(02):32-39.

[4]李青,张鑫.区块链:以技术推动教育的开放和公信[J]. 远程教育杂志,2017,35(01):36-44.

[5]汪海英.区块链技术在电子档案管理中的应用探讨[J].中国管理信息化,2022,25(16):199-202.

作者简介:刘丽华,女,内蒙古财经大学档案馆副研究馆员。

猜你喜欢
电子档案系统设计区块链
电子档案管理存在的问题及对策
区块链技术的应用价值分析
新时期电子档案在档案管理中的应用
“区块链”的苟且、诗和远方
一种基于SATA硬盘阵列的数据存储与控制系统设计研究
基于区块链技术的数字货币与传统货币辨析
目标特性测量雷达平台建设构想
医院人事档案电子化管理浅析
用“区块链”助推中企走出去