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