区块链技术与数字图书馆信息安全问题研究*
2021-02-03程罗德
程罗德
(大连海洋大学图书馆,辽宁 大连116023)
新信息环境下,物联网、云计算及AI等技术在图书馆的创新应用,为图书馆建设、管理和服务向智慧化深层次发展提供了新的机遇。图书馆数字资源量呈指数级增长,数据共享规模不断扩大,数据在采集、存储、管理和提供服务等方面的保护工作被提上日程,这使得如何提升图书馆信息安全防护水平成为数字图书馆建设信息安全领域中研究的热点问题。同时,馆际合作、区域联盟和图情领域共享参与者的大幅增加,为多方参与共建共享数据的安全保护带来了新的挑战。当前大多数图书馆对数据的管理仍然使用传统集中式管理模式,这种模式在应用过程中对利用、交流和传递数据的灵活、可靠和自主性等产生很大的限制。图书馆将数据存储和共享转移到云中,但是云服务提供商(CSP)并没有提供云共享数据的安全保护,这给存储在云端的数据也带来一定的风险。如何解决新环境下数字图书馆信息安全问题仍是数据建设、管理和服务中迫切需要解决的问题之一。区块链作为一种有效的分布式数据存储技术,在多个网络节点共同参与下,具有去中心化、防篡改和可追溯等优势[1]。研究基于区块链的数字图书馆可信安全问题,对提升其信息安全防护具有重要现实意义。
1 数字图书馆信息安全与区块链技术
1.1 数字图书馆信息安全问题现状
与传统图书馆相比,数字图书馆以网络和数据库存储为基础平台,更注重物联网和人机交互,呈现出信息资源建设和管理网络化、数字化和共享化等特点[2]。信息安全事关数字化图书馆能否正常开展线上、线下业务服务。网络安全建设一般具有P2P网络的开放性,数字图书馆的资源建设、数据管理、价值服务都是在开放的网络环境下进行的,面临着多种安全威胁,如遭受宽带攻击、协议攻击(包括Smurf、UDP、ICMP、SYN、DNS、CGI请求等)、软件漏洞攻击等DDOS攻击,攻击者通过大量僵尸节点向受害节点发送海量数据包以达到拒绝服务的目的。失效的身份认证和会话管理,与身份认证和会话管理相关的应用功能实现不正确,允许攻击者可以构造密码、密钥、会话令牌或利用信息系统功能缺陷,这些都会造成敏感数据泄露。功能级访问控制策略缺失,访问请求没有验证,攻击者构造请求,访问未授权的功能,即可实施数据篡改和窃取。
信息安全已成为数字图书馆建设重要内容,根据研究文献分析,国内外高校图书馆在信息安全方面的研究和应用各有侧重,一些专家学者从图书馆空间安全、智能识别、策略控制等物理安全层面进行了研究[3]。图情领域相关技术人员对网络与设备安全、存储与系统安全、数据加密与共享等方面也进行了初步的探索[4]。利用区块链技术驱动数字图书馆信息安全的研究和应用非常少,很难找到当前区块链技术应用于数字图书馆信息安全方面相关实践的案例。因此,对区块链技术应用于数字图书馆进行深入的研究,构建技术、机制、模式、人员、管理和服务立体综合性的图书馆信息安全防护体系非常有意义和价值。
1.2 区块链技术安全属性分析
区块链由区块相互连接形成链式存储结构,它的数据结构含有父区哈希值、随机数、难度值和时间戳等信息,该结构将数据以区块为单位进行验证与存储,由于硬件或管理机构无中心特征,任意节点都是对等的,系统中具有维护功能的节点对链上数据库进行共同维护。存储在区块链上的数据信息需经加密算法进行处理,只有授权合法用户才拥有访问和使用权限,保证数据的安全和个人隐私性问题。哈希算法,提供一个数据的摘要或者指纹,对数据进行完整性校验。区块链网络使用智能合约,对分布式账本进行受控访问,支持信息一致性更新。智能合约的编码信息具有开放性,且不受硬件设备的制约。智能合约这种高效、安全的约定协议,可以促使参与用户能够在区块链上自觉履行所有承诺的协议内容。
区块链是一个去中心化的数据库,在运行过程中,区块链将数据信息采用分布式方式进行记录,并且由所有的参与者共同记录[5]。这些数据信息会被存储到所有的节点之中,不同于传统数据库仅存在于唯一的中心化机构。在安全性方面,区块链具有的保密性、完整性、可用性等安全属性,较传统技术而言,取得了实质性突破。利用区块链技术安全优势,应用于数字图书馆信息安全领域中,能够有效地解决数字图书馆网络和信息系统中数据在存取、处理、传输和服务过程中无中心网络信任安全、用户个人信息保护和数字资源存储共享安全等方面的难题,保证网络、数据和信息系统本身能连续、可靠、正常的运行,并且在遭到攻击或破坏后能够迅速地恢复正常状态。区块链技术为中心化数据存储和信息共享中出现的云存储数据可拓展性、隐私性和敏感数据访问控制等问题提供了解决方案。
2 数字图书馆区块链智能合约安全
2.1 智能合约的虚拟机安全
云计算环境下,图书馆在服务模式和服务内容方面发生了变化,数字图书馆虚拟化技术的应用使得虚拟机的创建、管理和应用程序等面临新的安全威胁。有些虚拟机提供比较完整的操作系统(OS),可以安装操作系统和应用程序,如VMware、Oracle VirtualBox、Hyper-V等,有的则只能提供应用程序环境,如JAVA虚拟机。在区块链的智能合约系统设计中,很少采用模拟完整操作系统模式,因为这种模式会消耗大量的资源并严重影响性能,对不同操作系统的架构也难以做到互相兼容。虚拟机安全可从智能合约运行的可确定性、停机问题、资源控制和资源隔离等几个维度进行综合考虑。因此,在数字图书馆区块链虚拟技术及平台的应用中应适当选择采用更加轻量级的虚拟机架构,如EVM、JVM、JavaScript虚拟机引擎等。
数字图书馆区块链上的智能合约设计中,可以采用以太坊智能合约,它提供了一个图灵完备的平台,用户可以编写任意的逻辑程序。由于没有提供任何非确定性的系统函数,可访问的数据仅限于链内数据,外部数据需要通过交易发送到合约[6]。合约访问到的数据都是确定的,链上的所有节点在动态调用函数库目标代码的时候,得到目标地址均相同,解决了系统一致性问题。在这个开放的数字图书馆区块链上,任何节点上的用户都可以进行代码的编写和智能合约的上传,图灵完备的智能合约可以编写并执行包括病毒、故障合约在内任意的逻辑。一旦这些非绿色的智能合约在数字图书馆区块链节点部署的虚拟平台宿主系统上运行,病毒即可实施复制攻击,虚拟平台宿主系统的数据就会被故障合约破坏。因此,对于开放的数字图书馆区块链上智能合约来说,需要有一个隔离的虚拟化平台运行环境,以便合约之间、合约和宿主系统之间,进行资源的有效隔离,实现对恶意或故障合约产生影响和破坏程度的控制。
2.2 智能合约的身份管理与访问控制
身份管理与访问控制是数字图书馆信息系统安全的基石,区块链技术在解决图书馆身份管理与访问控制系统问题方法如表1所示。
表1
图书馆许可链(包括私有链或联盟链)需对参与节点或用户身份进行验证和访问控制,Hyperledger Fabric采用的是一个中心化的身份管理系统,与Fabric CA服务端的通信,都是通过REST API来实现[7]。在访问控制上,Fabric采用隔离区块链网络通道,通道内只允许被授权的参与节点使用通道Chaincode的数据。在通道内部,通过可见性设置对输入和输出数据的限制。将访问控制策略构建到Chaincode逻辑中,达到一定的基于角色的访问控制。这种模式利用CA集群提高了可用性,解决了单点的问题,但仍是一个中心化方案,可能成为黑客攻击的目标,从而导致整个数字图书馆网络和信息的不安全。
运用区块链智能合约,构建数字图书馆多链的身份管理生态系统。如图1所示。
图1 数字图书馆多链的身份管理生态系统
身份消费者,如一高校图书馆对读者有KYR(Know Your Reader)的需求,必须获得身份拥有者的许可。许可可以用身份链的客户端产生一个许可令牌(Access Token),产生许可令牌前,用户必须进行指纹或虹膜扫描等生物认证的方式,以确保安全。身份消费者可以向多链的身份管理生态系统中某一条链发起KYR请求,请求满足,流程即可完成。如果当前请求链不能提供所有信息,可以转发给其他的身份链,获得用户信息数据。若需验证信息在所有的身份链上都无法完成,可以利用身份中介Identity Oracle获得可信的链下身份数据。Oracle可提供诸如基础数据、资源数据、平台信息、规则条例等影响合约执行结果的任何信息,其所提供的信息是经过Oracle数字签名的,确保能够验证,且来源可靠。
数字图书馆公有链访问控制可以借助于修饰符(modifier)来实现对智能合约函数的访问控制,若某些系统功能函数不希望被非授权用户调用,可以创建一个修饰符并限制函数用法,设定多个不同角色,定义修饰符。对于图书馆联盟链上的访问控制,可以考虑建立节点准入条件,如操作系统类型、开放端口、关闭对区块链P2P通信无用账户、增强密码复杂度、CA根证书以及馆际联盟链成员间身份属性的映射规则和访问控制策略等。
3 区块链技术助推数字图书馆信息安全应用
3.1 数字图书馆区块链数据可信安全传输
为提高消息在网络中传输安全性,对信封信息进行处理和封装,使用这种信封结构无需考虑网络节点之间的具体通信方式或协议。采用非对称加密,数字签名的密钥对传输封装消息进行明文数据的加密或密文解密。区块链可信数据传输数据信息处理层,防止区块链网络数据传输安全遭到攻击。智能合约共识层传输、排序和验证执行,实现网络数据的安全传输。
区块链网络节点管理主要对网络中的节点进行组织关系划分、信任身份验证、访问权限控制策略、Node类型分类等功能管理。消息在网络传输模式中,每一次节点之间的数据传输,不再发送至核心服务器,而是通过多节点集群共识模块对数据完整性检查,对消息内容的真实性和发送方身份进行验证。在该模式中传输数据加密、身份认证技术与共识模块结合应用,保障图书馆网络传输数据信息安全。
3.2 区块链的数字图书馆个人数据保护
区块链技术具有的去中心化、点对点传输、开放和共识等特点[8],为图书馆用户个人数据安全提供新的解决思路。利用区块链去信任化将其应用到图书馆个人信息保护中,需要引入新的管理机制,由目前的信息集中管理到无中心或弱中心化管理,这对于系统管理人员来说,在意识、操作、技能等方面,都可很大程度上减少个人用户数据信息泄露的机会。区块链对任何的交易行为和业务操作等都有时序记录,实现零信任、可追溯,防篡改数字图书馆个人数据信息的立体、全生命周期的保护。
在图书馆整个分布式多节点体系中,数据信息存储于链上的某个节点时,其他节点将保存一个相应的数据副本,当某个节点存储的数据信息被破坏,系统将从临近节点提取完整的副本数据,以修复故障节点存储数据,提高整个系统的容错率。区块链对图书馆新增用户进行一次性加密,分配用户唯一密钥,只有拥有对应密钥者才能使用个人信息数据,有效防止个人数据被非法篡改,确保用户个人数据具有可追溯性。个人数据一旦上链,就会受到区块链的数据检测,以避免无效、虚假信息的出现,实现数据自我监管,大大降低对个人数据信息保护的管理成本。区块链具有的可扩展性,能够较好地适应图书馆对个人数据信息保护应用过程中出现的动态变化需求。
应用区块链基础架构,设计图书馆用户数据信息保护模型,数据层封装私有链、联盟链和公有链等区块链数据库的存取操作,供业务逻辑层调用,逻辑层提供具体的操作处理模块,根据应用层业务请求,得到数据层的相应处理结果反馈。图书馆用户数据信息的采集、存储、操作、销毁等全生命周期都会得到区块链技术的保护,确保用户数据信息的安全。区块链的图书馆用户数据信息保护框架如图2所示。
图2 区块链的图书馆用户数据信息保护框架
3.3 联合体区块链的图书馆数据存储与共享安全
在区块链数据管理中,联合机构、用户和节点等多个实体协同存储和共享资源数据,有效解决了图书馆数字资源共建共享中出现的诸如修改上传的共享数据、共享数据因软硬件故障而受损、破坏存储的共享数据完整性、恶意攻击者可能获取数据所有权、用户身份等数据隐私信息存储共享链潜在安全威胁问题。联合体区块链的图书馆数据存储与共享安全模型如图3所示。
图3 联合体区块链的图书馆
机构被视为基于区块链的多组数据共享方案的区块链成员在一个联合体区块链网络,各机构共同为用户提供数据共享服务。用户是数据的所有者,他们属于不同的机构,希望通过机构共享数据。用户在该机构注册,并将他们共享的数据上传到该机构。数据共享层,由多个机构组成,主要负责存储和管理数据,为所有用户提供数据共享服务。所有成员一起维护区块链数据库,该数据库为上层用户提供公共审计服务。在公共审计服务层中,所有机构维护一个防篡改数据库,该数据库记录公共验证信息用户,以验证共享数据的完整性和可用性。在该存储共享安全模型中,所有成员都可以根据公共区块链上的信息使用验证协议来验证共享数据的完整性,而不需要可信的第三方。
共享数据对区块链节点不可见,区块链节点维护一个记录共享数据验证信息的区块链数据库。节点验证共享数据的正确性,但不会得到真实的数据。因分享数据可能包含敏感信息,为了保护用户隐私,数据应以匿名的方式共享。在一定条件下,当发生纠纷时,管理器可以跟踪恶意用户的真实身份,此模型方案解决了数字图书馆存储和共享数据的机密性、匿名性和可追溯性问题。
4 结语
区块链技术下构建数字图书馆信息安全体系过程中,运用区块链点对点、去中心化、链式数据结构和密码学原理等技术有效预防运行故障和安全威胁,满足对数据监管和审计安全性要求,保障数据安全完整、可信和可审计,解决图书馆信息链中相关安全技术难题,实现图书馆多样性信息采集、安全性数据存储和广泛性资源共享,助推图书馆成为一个数据安全、管理规范、服务高效的全域性资源信息保障中心。