程羅德
(大連海洋大學圖書館,遼寧 大連116023)
新信息環境下,物聯網、云計算及AI等技術在圖書館的創新應用,為圖書館建設、管理和服務向智慧化深層次發展提供了新的機遇。圖書館數字資源量呈指數級增長,數據共享規模不斷擴大,數據在采集、存儲、管理和提供服務等方面的保護工作被提上日程,這使得如何提升圖書館信息安全防護水平成為數字圖書館建設信息安全領域中研究的熱點問題。同時,館際合作、區域聯盟和圖情領域共享參與者的大幅增加,為多方參與共建共享數據的安全保護帶來了新的挑戰。當前大多數圖書館對數據的管理仍然使用傳統集中式管理模式,這種模式在應用過程中對利用、交流和傳遞數據的靈活、可靠和自主性等產生很大的限制。圖書館將數據存儲和共享轉移到云中,但是云服務提供商(CSP)并沒有提供云共享數據的安全保護,這給存儲在云端的數據也帶來一定的風險。如何解決新環境下數字圖書館信息安全問題仍是數據建設、管理和服務中迫切需要解決的問題之一。區塊鏈作為一種有效的分布式數據存儲技術,在多個網絡節點共同參與下,具有去中心化、防篡改和可追溯等優勢[1]。研究基于區塊鏈的數字圖書館可信安全問題,對提升其信息安全防護具有重要現實意義。
與傳統圖書館相比,數字圖書館以網絡和數據庫存儲為基礎平臺,更注重物聯網和人機交互,呈現出信息資源建設和管理網絡化、數字化和共享化等特點[2]。信息安全事關數字化圖書館能否正常開展線上、線下業務服務。網絡安全建設一般具有P2P網絡的開放性,數字圖書館的資源建設、數據管理、價值服務都是在開放的網絡環境下進行的,面臨著多種安全威脅,如遭受寬帶攻擊、協議攻擊(包括Smurf、UDP、ICMP、SYN、DNS、CGI請求等)、軟件漏洞攻擊等DDOS攻擊,攻擊者通過大量僵尸節點向受害節點發送海量數據包以達到拒絕服務的目的。失效的身份認證和會話管理,與身份認證和會話管理相關的應用功能實現不正確,允許攻擊者可以構造密碼、密鑰、會話令牌或利用信息系統功能缺陷,這些都會造成敏感數據泄露。功能級訪問控制策略缺失,訪問請求沒有驗證,攻擊者構造請求,訪問未授權的功能,即可實施數據篡改和竊取。
信息安全已成為數字圖書館建設重要內容,根據研究文獻分析,國內外高校圖書館在信息安全方面的研究和應用各有側重,一些專家學者從圖書館空間安全、智能識別、策略控制等物理安全層面進行了研究[3]。圖情領域相關技術人員對網絡與設備安全、存儲與系統安全、數據加密與共享等方面也進行了初步的探索[4]。利用區塊鏈技術驅動數字圖書館信息安全的研究和應用非常少,很難找到當前區塊鏈技術應用于數字圖書館信息安全方面相關實踐的案例。因此,對區塊鏈技術應用于數字圖書館進行深入的研究,構建技術、機制、模式、人員、管理和服務立體綜合性的圖書館信息安全防護體系非常有意義和價值。
區塊鏈由區塊相互連接形成鏈式存儲結構,它的數據結構含有父區哈希值、隨機數、難度值和時間戳等信息,該結構將數據以區塊為單位進行驗證與存儲,由于硬件或管理機構無中心特征,任意節點都是對等的,系統中具有維護功能的節點對鏈上數據庫進行共同維護。存儲在區塊鏈上的數據信息需經加密算法進行處理,只有授權合法用戶才擁有訪問和使用權限,保證數據的安全和個人隱私性問題。哈希算法,提供一個數據的摘要或者指紋,對數據進行完整性校驗。區塊鏈網絡使用智能合約,對分布式賬本進行受控訪問,支持信息一致性更新。智能合約的編碼信息具有開放性,且不受硬件設備的制約。智能合約這種高效、安全的約定協議,可以促使參與用戶能夠在區塊鏈上自覺履行所有承諾的協議內容。
區塊鏈是一個去中心化的數據庫,在運行過程中,區塊鏈將數據信息采用分布式方式進行記錄,并且由所有的參與者共同記錄[5]。這些數據信息會被存儲到所有的節點之中,不同于傳統數據庫僅存在于唯一的中心化機構。在安全性方面,區塊鏈具有的保密性、完整性、可用性等安全屬性,較傳統技術而言,取得了實質性突破。利用區塊鏈技術安全優勢,應用于數字圖書館信息安全領域中,能夠有效地解決數字圖書館網絡和信息系統中數據在存取、處理、傳輸和服務過程中無中心網絡信任安全、用戶個人信息保護和數字資源存儲共享安全等方面的難題,保證網絡、數據和信息系統本身能連續、可靠、正常的運行,并且在遭到攻擊或破壞后能夠迅速地恢復正常狀態。區塊鏈技術為中心化數據存儲和信息共享中出現的云存儲數據可拓展性、隱私性和敏感數據訪問控制等問題提供了解決方案。
云計算環境下,圖書館在服務模式和服務內容方面發生了變化,數字圖書館虛擬化技術的應用使得虛擬機的創建、管理和應用程序等面臨新的安全威脅。有些虛擬機提供比較完整的操作系統(OS),可以安裝操作系統和應用程序,如VMware、Oracle VirtualBox、Hyper-V等,有的則只能提供應用程序環境,如JAVA虛擬機。在區塊鏈的智能合約系統設計中,很少采用模擬完整操作系統模式,因為這種模式會消耗大量的資源并嚴重影響性能,對不同操作系統的架構也難以做到互相兼容。虛擬機安全可從智能合約運行的可確定性、停機問題、資源控制和資源隔離等幾個維度進行綜合考慮。因此,在數字圖書館區塊鏈虛擬技術及平臺的應用中應適當選擇采用更加輕量級的虛擬機架構,如EVM、JVM、JavaScript虛擬機引擎等。
數字圖書館區塊鏈上的智能合約設計中,可以采用以太坊智能合約,它提供了一個圖靈完備的平臺,用戶可以編寫任意的邏輯程序。由于沒有提供任何非確定性的系統函數,可訪問的數據僅限于鏈內數據,外部數據需要通過交易發送到合約[6]。合約訪問到的數據都是確定的,鏈上的所有節點在動態調用函數庫目標代碼的時候,得到目標地址均相同,解決了系統一致性問題。在這個開放的數字圖書館區塊鏈上,任何節點上的用戶都可以進行代碼的編寫和智能合約的上傳,圖靈完備的智能合約可以編寫并執行包括病毒、故障合約在內任意的邏輯。一旦這些非綠色的智能合約在數字圖書館區塊鏈節點部署的虛擬平臺宿主系統上運行,病毒即可實施復制攻擊,虛擬平臺宿主系統的數據就會被故障合約破壞。因此,對于開放的數字圖書館區塊鏈上智能合約來說,需要有一個隔離的虛擬化平臺運行環境,以便合約之間、合約和宿主系統之間,進行資源的有效隔離,實現對惡意或故障合約產生影響和破壞程度的控制。
身份管理與訪問控制是數字圖書館信息系統安全的基石,區塊鏈技術在解決圖書館身份管理與訪問控制系統問題方法如表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根證書以及館際聯盟鏈成員間身份屬性的映射規則和訪問控制策略等。
為提高消息在網絡中傳輸安全性,對信封信息進行處理和封裝,使用這種信封結構無需考慮網絡節點之間的具體通信方式或協議。采用非對稱加密,數字簽名的密鑰對傳輸封裝消息進行明文數據的加密或密文解密。區塊鏈可信數據傳輸數據信息處理層,防止區塊鏈網絡數據傳輸安全遭到攻擊。智能合約共識層傳輸、排序和驗證執行,實現網絡數據的安全傳輸。
區塊鏈網絡節點管理主要對網絡中的節點進行組織關系劃分、信任身份驗證、訪問權限控制策略、Node類型分類等功能管理。消息在網絡傳輸模式中,每一次節點之間的數據傳輸,不再發送至核心服務器,而是通過多節點集群共識模塊對數據完整性檢查,對消息內容的真實性和發送方身份進行驗證。在該模式中傳輸數據加密、身份認證技術與共識模塊結合應用,保障圖書館網絡傳輸數據信息安全。
區塊鏈技術具有的去中心化、點對點傳輸、開放和共識等特點[8],為圖書館用戶個人數據安全提供新的解決思路。利用區塊鏈去信任化將其應用到圖書館個人信息保護中,需要引入新的管理機制,由目前的信息集中管理到無中心或弱中心化管理,這對于系統管理人員來說,在意識、操作、技能等方面,都可很大程度上減少個人用戶數據信息泄露的機會。區塊鏈對任何的交易行為和業務操作等都有時序記錄,實現零信任、可追溯,防篡改數字圖書館個人數據信息的立體、全生命周期的保護。
在圖書館整個分布式多節點體系中,數據信息存儲于鏈上的某個節點時,其他節點將保存一個相應的數據副本,當某個節點存儲的數據信息被破壞,系統將從臨近節點提取完整的副本數據,以修復故障節點存儲數據,提高整個系統的容錯率。區塊鏈對圖書館新增用戶進行一次性加密,分配用戶唯一密鑰,只有擁有對應密鑰者才能使用個人信息數據,有效防止個人數據被非法篡改,確保用戶個人數據具有可追溯性。個人數據一旦上鏈,就會受到區塊鏈的數據檢測,以避免無效、虛假信息的出現,實現數據自我監管,大大降低對個人數據信息保護的管理成本。區塊鏈具有的可擴展性,能夠較好地適應圖書館對個人數據信息保護應用過程中出現的動態變化需求。
應用區塊鏈基礎架構,設計圖書館用戶數據信息保護模型,數據層封裝私有鏈、聯盟鏈和公有鏈等區塊鏈數據庫的存取操作,供業務邏輯層調用,邏輯層提供具體的操作處理模塊,根據應用層業務請求,得到數據層的相應處理結果反饋。圖書館用戶數據信息的采集、存儲、操作、銷毀等全生命周期都會得到區塊鏈技術的保護,確保用戶數據信息的安全。區塊鏈的圖書館用戶數據信息保護框架如圖2所示。

圖2 區塊鏈的圖書館用戶數據信息保護框架
在區塊鏈數據管理中,聯合機構、用戶和節點等多個實體協同存儲和共享資源數據,有效解決了圖書館數字資源共建共享中出現的諸如修改上傳的共享數據、共享數據因軟硬件故障而受損、破壞存儲的共享數據完整性、惡意攻擊者可能獲取數據所有權、用戶身份等數據隱私信息存儲共享鏈潛在安全威脅問題。聯合體區塊鏈的圖書館數據存儲與共享安全模型如圖3所示。

圖3 聯合體區塊鏈的圖書館
機構被視為基于區塊鏈的多組數據共享方案的區塊鏈成員在一個聯合體區塊鏈網絡,各機構共同為用戶提供數據共享服務。用戶是數據的所有者,他們屬于不同的機構,希望通過機構共享數據。用戶在該機構注冊,并將他們共享的數據上傳到該機構。數據共享層,由多個機構組成,主要負責存儲和管理數據,為所有用戶提供數據共享服務。所有成員一起維護區塊鏈數據庫,該數據庫為上層用戶提供公共審計服務。在公共審計服務層中,所有機構維護一個防篡改數據庫,該數據庫記錄公共驗證信息用戶,以驗證共享數據的完整性和可用性。在該存儲共享安全模型中,所有成員都可以根據公共區塊鏈上的信息使用驗證協議來驗證共享數據的完整性,而不需要可信的第三方。
共享數據對區塊鏈節點不可見,區塊鏈節點維護一個記錄共享數據驗證信息的區塊鏈數據庫。節點驗證共享數據的正確性,但不會得到真實的數據。因分享數據可能包含敏感信息,為了保護用戶隱私,數據應以匿名的方式共享。在一定條件下,當發生糾紛時,管理器可以跟蹤惡意用戶的真實身份,此模型方案解決了數字圖書館存儲和共享數據的機密性、匿名性和可追溯性問題。
區塊鏈技術下構建數字圖書館信息安全體系過程中,運用區塊鏈點對點、去中心化、鏈式數據結構和密碼學原理等技術有效預防運行故障和安全威脅,滿足對數據監管和審計安全性要求,保障數據安全完整、可信和可審計,解決圖書館信息鏈中相關安全技術難題,實現圖書館多樣性信息采集、安全性數據存儲和廣泛性資源共享,助推圖書館成為一個數據安全、管理規范、服務高效的全域性資源信息保障中心。