张寅
在现代企业档案工作中,电子文件的管理逐渐成为重中之重。其核心的难题始终围绕着如何保证电子文件在长期保存过程中的真实性。2008年比特币横空出世,其核心“区块链”技术向世界展示了一种去中心且数据不可篡改的记录方法,以更自由的方式为解决上述难题提供一种可能。本文尝试结合区块链与XML技术提出一种电子文件元数据存储解决方案。
1 电子文件管理
企业电子文件是指在企业生产制造、运营管理、客户服务等各项业务活动中通过计算机等电子设备形成、办理、传输和存储的作为证据和具有查考作用的信息,其管理目标是要保证电子文件的真实(准确)、完整、可用、安全。在这四点中真实性检测一直是电子文件在单轨制归档中比较棘手的难题之一,具体表现在:
1)技术真实性,表现为电子文件在整个生命周期中未被误改或篡改,在鉴定检测的实现中多数基于对电子文件执行散列算法(例如MD5)后进行数字签名,由可信算法保证其技术上的“真实”。
2)来源真实性,表现为电子文件客观反映和真实记录业务活动,依靠良好的元数据方案设计,通过记录文件的来源、结构、背景来鉴别来源真实性。
在实际工作中主要通过以上两个方面对电子文件真实性进行检测。作为长时期内电子文件真实性凭证,元数据同样需要使用数字签名系技术来保证其内的信息不被篡改。而数字签名的技术特点是基于中心化的信用机构即CA中心。虽然这种信任机制具备很高效率,但过度的中心化呈现出的如CA机构的职责是否清晰、资质是否完备、管理是否规范、存续时间长短、证书有效期限等一系列问题,给电子文件真实性检测带来许多不确定风险。
2 区块链技术简介
2.1 区块链的概念与特性
从信息技术角度来讲普遍认为区块链技术是一个分布式账本,一种通过去中心化、去信任中介的方式,由“集体”维护一个可靠数据库技术方案。简单来说,笔者认为区块链本质上是一种解决信任问题、降低信任成本的信息技术方案,它通过密码学、集体协作等手段来实现了人们对自由公证渴望。因此区块链为人们带来的并不是某项崭新的技术,而是一种全新的信任与协作模式。
区块链中的“区块”指的是信息块,是数据的集合体,结合实际工作可简单理解为我们企业档案管理中统计台账中的“页”,一“页”可以记录许多档案数据。而“链”就是按照时间顺序将区块串联在一起,通过可信的算法使参与者对全部记录的时间顺序和当前状态建立共识。区块链技术包含许多特性:
1)开放性与共识性:任何人都可以参与到区块链网络,每一台设备都能作为一个节点,每个节点都允许获得一份完整的数据库拷贝。节点之间通过共识机制共同维护整个区块链,任何一个节点失效不影响整个区块链。
2)去中心、去信任中介:基于“端对端”网络建立,不存在中心信任节点,各节点产生的数据通过数字签名技术进行验证,基于共识机制无需相互信任,节点之间不能也无法欺骗其他节点。
3)公开透明:共识机制公开透明,对所有节点均可见。
4)可追溯,不可篡改:单个节点甚至多个节点对数据的修改无法影响其他节点,如果区块链中的各个节点始终保持运行,理论上可以保证数据被“永久”保存。区块链中的每一个区块都通过密码学方法与相邻两个区块串联,区块中的数据彼此相连,使得数据可追溯、可审计。
2.2 区块链的“可信”算法简介
1)分布式计算:利用多个互联节点处理能力来解决大型计算问题。区块链中的“分布式”既体现了分布式存储,也体现了分布式记账(即所有节点参与新区块的校验),通过“分布式”来达到去中心化的效果。
2)非对称加密:在加、解密的过程使用私钥、公钥的加密方法,其特点是经私钥加密的数据仅仅能通过与之对应的公钥进行解密(即私钥加密却无法解密)。应用非对称加密技术的数字签名,能够确保信息确实是由发送方签名、发送,并且验证信息的完整性。
3)时间戳:数据存在的时间证明,在计算机中通常是一个字符序列,唯一标识某一刻的时间。
4)Hash算法:将任何一段数据经Hash算法得到一个值,其特点是相同的数据将得到相同結果,如果数据经过哪怕一个字节的变化,得到的结果将千差万别,且结果无法实现预知。因此它广泛应用于数据校验。区块链中应用的Hash算法为SHA256。
5)默克尔树:一种用于快速校验大规模数据完整性的方法。在区块链中它被用来归纳一个区块中所有信息的根(root)Hash值,区块中任何一段信息被更改都会导致默克尔树的根值改变。默克尔树根值可以唯一标识一个区块。
6)挖矿:区块链的共识机制之一,所有节点通过运算解特定题目的方式来创建区块的过程。解题的过程节点会消耗时间,即工作量证明。最先计算出结果的节点会将广播计算结果由其他节点进行验证,验证通过后该节点即拥有生成新区块的权利,比特币中节点会对得到相应奖励。可以说挖矿就是区块链能够让各节点形成共识,达到去中心化的信任机制的核心。
3 XML技术
XML即可扩展标记语言,通过标记数据与定义数据类型,使计算机之间可以处理各种信息。它是Internet环境中跨平台的、依赖于内容的技术,也是处理分布式结构信息的有效工具。经过多年的应用与发展,它良好的可扩展性、跨平台性,使其在网络服务、数据交换、电子商务、内容管理等领域广泛使用。在档案管理领域国内外更多地使用XML技术来实现对元数据的描述、结构化存储及交换,例如国内的《基于XML的电子文件封装规范》,国外的EAD、MODS等。
在XML常用技术中笔者认为命名空间(namespace)、语法定义(xml schema)十分重要。XML允许用户自定义描述对象的各种词汇,这样在数据互操作时就不必考虑诸如平台、操作系统、语言等方面的差异,但这种互操作性同样给数据带来不可避免语义上的歧义。此外XML还承担着网络数据交换的重任,语义歧义可能直接降低数据处理的效率,这就要求XML既要严格遵守格式规范,同时还应符合语义规范。为此XML中引入了命名空间与XML定义文件,两者相结合,用户便可以在互联环境中保证XML文档中所有的标记名称的唯一且能够被有效验证。基于这种特性使得XML技术对于解决异构环境中数据交换,降低不同系统间集成接口开发难度、建立语义化的网络环境具有十分重要的意义。