999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于區塊鏈的分布式可信網絡連接架構?

2019-10-28 11:21:44劉明達拾以娟陳左寧
軟件學報 2019年8期
關鍵詞:系統

劉明達 , 拾以娟 , 陳左寧

1(江南計算技術研究所,江蘇 無錫 214083)

2(中國工程院,北京 100088)

為了解決傳統體系結構存在的安全問題,可信計算[1,2]應運而生.可信計算的目標是在計算體系中引入信任根,進而建立一條信任鏈[3],將信任關系從底層硬件擴展到上層應用,以增強計算系統的安全性.可信計算在保護終端安全方面發揮了重要的作用,目前已經成為了標準化的技術.

可信計算組織(TCG)于2015 年發布了TPM2.0 規范[4],成為ISO/IEC 標準[5].另外,以ARM Trustzone[6,7]和Intel SGX[8,9]為代表的可信執行技術(trusted execution environment,簡稱TEE)近年來也得到了廣泛的關注.可信執行技術的核心思想是:以CPU 作為信任根,建立從信任根直接到應用程序的信任鏈.TEE 目前存在側信道攻擊等安全問題[10],并未實現預期的強安全性,但是其思想是可以借鑒和值得研究的.我國可信計算技術走在世界的前列,已經進入了可信3.0 的發展階段[11],核心思想是建立一套主動免疫的計算機安全體系.無論是理論還是工程實踐方面,都取得了可喜的成果.對于國家安全戰略,復雜的網絡安全環境中的關鍵信息基礎設施必須要實現自主可控.然而自主不等于可控,自主也不等于安全,必須加入更多的安全防控手段.可信計算是實現自主可控的關鍵技術,尤其是在云計算大數據的背景之下,可信計算必須重點突破.

面對各種安全威脅和風險,只有終端計算環境的可信是不夠的,還要把信任關系從終端計算環境傳遞到網絡環境,可信網絡連接技術應運而生[12].以TCG 的可信網絡連接(TNC)為例[13],在終端接入網絡之前,TNC 對終端的身份狀態和可信狀態進行度量,只有身份合法,并處于安全運行狀態的終端才可以接入網絡環境.TNC 本質上是可信計算與網絡接入控制機制的結合.研究可信網絡連接,用可信計算的思想解決網絡空間安全問題,本身具有重要的意義.

隨著云計算大數據等新型計算模式的興起[14?16],網絡空間面臨著復雜棘手的安全威脅,最為嚴重的是基礎網絡設備和CPU 級的安全漏洞,典型漏洞見表1.

Table 1 Vulnerability and attack表1 漏洞和攻擊

無論多么高明的網絡安全防護手段,在部署的時候都要依托實際的軟硬件系統,但是漏洞是客觀存在的.尤其基礎網絡設備、CPU 和安全芯片的漏洞,會對基本的安全假設帶來嚴重的挑戰,使安全協議失效.與其他安全技術相比,可信計算更加偏向底層部件的安全,更接近安全的源頭,在保護系統結構安全方面擁有不可替代的優勢.周天明等人指出[17]:可信計算是一個保障體系,其目標是實現網絡空間可信.廣義上講是解決如何將最基本的信任關系傳遞到整個網絡空間,這并不意味著只局限于信任鏈的技術路線.

TNC 和TCA 架構[18]都在一定程度上實現了信任向網絡擴展,相關研究者在此基礎之上展開了大量的研究工作,主要集中在遠程證明、訪問控制、匿名性和可信虛擬化,但是鮮有可信網絡連接基礎架構的研究.TNC 和TCA 架構目前存在以下問題和挑戰.

(1) 信任模型存在局限.網絡空間安全狀態復雜.安全是一個相對性的概念,單純用二值化的可信判斷標準無法準確刻畫實際的安全狀態,信任關系難以傳遞到網絡環境.因此,以信任鏈為基礎的信任模型存在局限,需要進一步拓展.

(2) 訪問控制單點化.在有中心的網絡環境中,無論是實際的物理網絡還是虛擬網絡,最終都是由訪問控制部件根據一定的訪問控制策略來決定計算節點之間是否可以通信.訪問控制部件可以是安全網關、單向隔離設備以及防火墻等.但是基礎網絡設備存在被攻破的風險,一旦發生安全問題,網絡就會被操控.

(3) 策略決策中心化.在傳統的可信網絡架構中,會維護一個策略決策的服務端用于策略判斷和生成訪問控制規則.TCA 架構依托可信第三方進行策略管理,比TNC 架構具有更強的安全性.但是在部署的時候,策略管理器作為可信第三方,實際上就成了整個網絡的可信中心.策略管理器的實體必然是一個通用計算環境,也將面臨上述安全威脅.

針對上述問題,本文結合目前網絡環境的實際需求,提出了基于區塊鏈的分布式可信網絡連接架構.首先,本文對網絡安全世界的信任問題進行深入的闡述,指出目前的信任模型存在的問題;然后提出可信網絡總體架構,對信任關系、基礎框架、區塊鏈結構進行詳細描述,并給出基本的安全假設;接著對可信網絡的運行流程進行介紹,并對核心問題展開描述,提出了一種基于委托股權證明(deligated proof of stake,簡稱DPoS)[19]的遠程證明方法;最后,從正確性、安全性和效率等3 個方面對架構進行分析.本文的主要貢獻在于:

(1) 分析了網絡安全世界的信任問題,在總結現有可信網絡鏈接缺陷的基礎上,提出了“網絡環境依托信任契約,終端環境依賴可信計算”的信任擴展方法;

(2) 提出了基于區塊鏈技術的可信網絡鏈接架構,充分發揮區塊鏈技術在分布式網絡中構建可信契約的優勢,解決了傳統可信網絡連接面臨的訪問控制單點化和策略決策中心化的問題;

(3) 提出了一種基于DPoS 共識的遠程證明協議,在充分保護隱私的情況下,實現了平臺身份證明和完整性證明,將遠程證明的決策從依托中心化的可信第三方變為依托信任契約.

本文第1 節對相關問題和技術進行介紹.第2 節介紹B-TNC 總體架構和建立模型.第3 節介紹B-TNC 運行流程,并且提出關鍵問題的解決思路.第4 節從正確性、安全性和效率這3 個方面對架構進行分析.第5 節總結全文并展望下一步工作.

1 相關問題

為了對基于區塊鏈的分布式可信網絡鏈接進行詳細的闡述,首先對可信網絡連接和區塊鏈的基本原理進行描述,在此基礎上,對安全世界的信任問題進行探討,指出用區塊鏈技術構建可信任網絡的必要性和優勢.

1.1 可信網絡連接

可信網絡連接是以TNC 和TCA 技術路線為代表.狹義上講,可信網絡連接是一種基于對平臺身份和平臺完整性狀態的證明,從而決定終端是否可以接入網絡環境的技術.但是隨著云計算的發展,網絡環境不再是單純的終端連接的網絡,有了更加豐富的組織形式.廣義上講,可信網絡連接是將可信計算的信任關系傳遞到網絡環境的過程.可信計算在云環境下的應用同樣屬于這一范疇,其核心技術是信任根的虛擬化問題.

傳統的可信網絡架構TNC 和TCA 的技術具有相似性,但是TCA 架構克服了TNC 的不足,是中國對可信計算的重要創新.以TCA 架構為例,可信網絡連接旨在構建一個三元對等的安全架構,引入一個可信第三方對參與網絡連接的實體進行身份認證和平臺運行狀態的認證.TCA 對實體鑒別、訪問控制以及各個部分之間的通信都制定了相應的標準,只有具備合法信任根的終端才能夠參與到網絡交互中,這就實現了信任關系傳遞到網絡環境.

可信計算目前已經成為系統安全的重要技術,尤其是在自主可控領域,發揮了無法替代的作用.原因在于:可信計算能夠接管CPU 對計算環境安全的控制權,進而將安全掌握在自己手中.如何實現信任根TPM 或TCM的虛擬化,將信任鏈從計算終端傳遞到虛擬網絡環境,是可信云計算的關鍵問題[20?22].我們曾面向高安全的虛擬計算環境,提出一種基于SR-IOV 技術構建硬件虛擬化TCM 的方法[23],為每個虛擬節點提供硬件級的虛擬化TCM,實現了虛擬機獲取基于硬件的密鑰保護和密碼計算資源.但是這種信任擴展方式和云環境下動態靈活的網絡特性互相矛盾,并不能展開大規模的部署和應用.信任關系如何向云環境傳遞,仍需展開更加深入的研究.

1.2 區塊鏈基礎

區塊鏈[24,25]本質上是一個狀態機副本協議,旨在建立一個去中心或弱中心化的數據庫系統,實現分布式環境下安全高效的共識機制.除了在電子貨幣中取得的成果外,基于區塊鏈可實現更廣泛意義上的安全多方計算,因此,區塊鏈技術可應用領域相對電子貨幣更加廣泛.在區塊鏈提出之前,類似的功能通常基于安全多方協同計算實現,例如通過著名的拜占庭協議[26]也可以實現多方參與者的共識.區塊鏈技術的獨特之處在于如下幾方面.

(1) 區塊鏈共識機制無需可信第三方參與.

無可信第三方參與意味著任何用戶均可自由參與區塊鏈系統,因此,區塊鏈稱為無許可系統.在傳統的安全多方計算環境中,攻擊者可注冊足夠數量的用戶,則可實施女巫攻擊(sybil attacks)[27].Barak 等人系統研究了無許可機制系統下的女巫攻擊問題,區塊鏈技術通過工作量證明機制有效抵抗了此類攻擊[28].隨著區塊鏈技術的演進,從業務驅動的角度出發,又出現了有許可的區塊鏈系統,即私有鏈或聯盟鏈.節點必須提供可信的身份證據才能夠參與到區塊鏈中.

(2) 區塊鏈共識機制運行效率極高.

傳統的安全多方計算協議均較為復雜[29],通信復雜性及計算復雜性限制了其在大規模環境中的使用.區塊鏈技術是第一種可在全球范圍分布式部署的共識協議.區塊鏈系統通過簡單的無認證廣播信道以及區塊鏈長度競爭機制,實現了高效的共識.

典型的區塊鏈系統由網絡層、共識層、數據層、智能合約層和應用層組成[30].其中,網絡層通常是基于P2P協議進行節點之間的通信;共識層實現共識協議,協議可以是根據實際場景自由選擇,比如基于工作量證明PoW,和基于權益證明PoS;數據層是區塊鏈的數據結構,其結構設計通常根據實際需要與應用場景緊密耦合,每一個計算節點負責維護自己的存儲系統;智能合約層能夠對于不同的數據輸入執行不同的操作,這個過程依托代碼自動執行,并在全網達成共識;應用層是區塊鏈系統的各種基本業務,比如金融服務、數據溯源等.為了便于描述,本文將區塊鏈系統進行抽象表示,如圖1 所示.

Fig.1 Abstractdescription of blockchain system圖1 區塊鏈系統抽象描述

1.3 安全世界的信任問題

安全世界的信任問題源自于人類社會的信任關系,而人類社會信任關系擴展模型與人類社會的組織關系是相對應的.信任是多元的,發生在不同主體的交互過程,是一個網狀的拓撲結構.也就是說,如果沒有信任的交互,即便每個人都相信自己,也無法形成信任社會.人類社會發展至今,已經形成了比較完善的社會信任體系,根據信任體系參與者的數量不同,可以從兩個維度去區分.

經過長時間的使用后,往復式真空泵氣閥中的彈簧性能就會逐漸下降,從而會發生漏氣、閉合不嚴等現象,增加其自身的溫度。結合實際情況能夠發現,通常為氣閥所配備的彈簧件質量不佳,而氣閥超溫基本上集中在中間位置,而該位置處沒有冷卻水,所以溫度就會居高不下,加之彈簧不具有耐高溫的性能,因此,影響整個氣閥的實際運行。

(1) 依托信任傳遞的“小團體”信任模型.

這種信任模式通常發生在較少的個體之間,最典型的模式為:A信任B,B信任C,進而A在某種程度上可以信任C,這個過程是單向的.依托這種信任傳遞關系,能夠實現兩類信任場景:一種是家庭、家族甚至族群之間的互相信任,信任傳遞的路徑短,信任在傳遞過程中的損耗相對比較低,但是難以擴展到更大的范圍;另一種是對權威的信任,人們通常愿意相信權威人士或專家,類似于可信的第三方,但是這并不能解決普通成員之間的互信,并且權威并不是完全可信的.在小團體信任中,個體的信任失效有可能引發整個信任關系的失效.

(2) 基于信任契約的“大團體”信任模型.

隨著人類社會的進步與發展,相互協作的團體規模越來越大,形成了城邦、國家或者企業集團,規章制度、法律法規就成了維系其運行的關鍵因素,這就是信任契約.信任契約的形成需要參與的實體達成共識,并且保證大部分的參與者遵守這一契約.在人類社會中,不可能所有的個體都能夠嚴格遵守規章制度和道德法律,一定存在不遵守規則的個體,但是信任契約對此是可以容忍的.

可信計算以信任鏈技術為基礎,將信任傳遞與體系結構高度融合,能夠有效實現計算終端環境的可信.但是為了實現方便,可信計算在實際應用時采用的是二值化的信任判斷模型,對于安全的刻畫局限于安全或不安全,這與復雜的網絡計算環境是不符合的.同樣的安全狀態,對于不同的業務應用場景是不同的,這涉及到復雜的等級保護問題,本文不再展開.

從最基本的原理而言,網絡計算環境和社會環境具有極高的相似性,都是由多個主體構成,主體之間存在各種通信交互往來,存在惡意主體,都更強調整體性而弱化個體.可信計算在將信任關系傳遞到網絡環境時,基本思想是:通過保證每一個計算終端的安全,進而保證網絡環境的整體可信.但是基于上述討論可知,個體安全并不能保證整體安全,并且保證所有的個體可信是困難的,一定存在一定比例的壞節點.本文認為,信任模型缺陷是限制信任關系向網絡環境傳遞最大的制約因素,也是制約可信網絡連接發展的重要原因.

回到可信計算發展的出發點,以人類社會基本的信任關系作為基點去探索安全世界的信任關系,我們可以得到這樣的結論:信任鏈的信任傳遞模型能夠有效實現終端環境的可信,但與網絡環境不適應,需要建立信任契約來解決網絡環境下的信任傳遞問題.

Table 2 Centralized trust root and distributed trust root表2 集中式信任根和分散式信任根

綜上所述,以區塊鏈為基礎的分散式信任根在信任模型構建、安全假設以及信任傳遞方面與實際網絡環境更加貼合.這能夠有效彌補傳統可信計算在構建可信網絡時存在的不足,將信任關系有效傳遞到網絡環境中.為了實現這個目標,本文在對安全世界的信任問題的研究基礎之上,探索如何基于區塊鏈技術構建分散式信任根的方法,以整體的網絡空間作為著眼點,實現網絡空間的可信.

2 B-TNC 總體架構與模型構建

基于區塊鏈的分布式可信網絡連接架構B-TNC 本質上是可信計算技術和區塊鏈的融合.本節首先描述B-TNC 中的信任傳遞關系,然后給出B-TNC 的基礎框架和總體架構.接著對其進行抽象化的描述,提出最基本的理論模型.在此基礎之上,提出B-TNC 的區塊鏈結構設計方法,最后給出安全假設.

2.1 信任關系

根據信任來源不同,B-TNC 架構的信任關系從邏輯上可以分為網絡可信和終端可信,如圖2 所示.

(1) 終端可信.終端計算環境的可信由可信計算保障,采用信任鏈的信任傳遞方法.信任根的可信由硬件安全保證.通常認為,基于硬件的安全防護強度要高于軟件.在硬件設計中,要充分考慮信任根的物理安全,并且能夠有效對抗常見的側信道攻擊,如能量分析[31].信任鏈的信任關系由密碼安全保證,而密碼體質的安全源自于數學原理.具體來說,只要密碼學體制未被攻破,就能保證信任傳遞的真實性.

(2) 網絡可信.根據第1.3 節對安全世界信任問題的討論,本文提出基于區塊鏈實現網絡層的可信.以密碼安全和共識協議為基本手段,建立網絡環境下的信任契約,重點對計算節點在網絡環境中的連接行為進行管控.基于區塊鏈的網絡可信有兩層含義:一方面是基于區塊鏈的可信連接,核心是遠程證明、訪問控制和日志審計過程;另一方面是基于區塊鏈構建可信第三方,提供CA 服務,零知識證明以及可信驗證等服務.

Fig.2 Trustrelationship in B-TNC圖2 B-TNC 中的信任關系

終端可信和網絡可信并不是完全獨立的.終端可信是網絡可信的基礎,可信計算一方面能夠為安全系統提供最基礎的密碼支持,另一方面能夠增強終端計算環境的安全性,這對于區塊鏈系統非常重要.因為區塊鏈系統要滿足大多數節點誠實這一基本的假設,終端可信恰好有助于此.同時,區塊鏈彌補了可信計算在解決網絡可信方面的不足,能夠將信任關系有效地傳遞到網絡環境當中.這樣就構建了一種雙層的信任關系.在這個基礎之上,可以提出B-TNC 的基礎框架和總體架構.

2.2 基礎框架

基于區塊鏈的分布式可信網絡連接架構的基礎框架包含3 個實際網絡運行環境,分別是可信網絡環境、分布式的可信第三方以及外部網絡環境,如圖3 所示.

(1) 可信網絡環境.可信網絡環境是需要保護的網絡環境,在本文的假設中具有去中心的特點.與信任關系相對應,每一個被允許加入可信網絡環境的終端都必須具備合法的信任根TPM/TCM.信任根一方面可以對計算終端安全提供可信支撐,另一方面為計算節點提供強身份認證.可信網絡環境是一個依托區塊鏈系統組成的邏輯環境,在網絡中維護一個面向可信網絡連接的區塊鏈系統,提供訪問控制、日志審計以及遠程證明的服務功能.可信網絡環境中存在兩種節點:可信計算節點(trusted node,簡稱TN),這是實際安全的節點,具有合法的TPM;非可信節點(non-trusted node,簡稱NTN),網絡中實際可能存在安全隱患的節點,但并不一定是惡意節點.

(2) 分布式的可信第三方.可信第三方是構建實際密碼系統的基礎,但是中心化的信任背書通常意味著更大的攻擊威脅.近年來出現了基于區塊鏈技術構建可信第三方的研究,如 Conner 等人提出的Certcoin[32,33]、Chen 等人提出的CertChain[34],都是將區塊鏈技術用于實現一個更加安全高效的公鑰基礎設施(public key infrastructure,簡稱PKI).除PKI 外,可信網絡連接架構需要可信驗證和零知識證明兩種第三方服務,其中,可信驗證源自于基于屬性的遠程證明[35],能夠根據完整性證據為通信雙方提供可信判斷服務;零知識證明被用于直接匿名證明(direct anonymous attestation,簡稱DAA)[36],用于保護計算平臺在參與網絡通信過程中的匿名性.受到Certcoin,CertChain 啟發,分布式的可信第三方的構建具有可行性,但實現細節不作為本文的研究重點.

(3) 外部網絡環境.外部網絡環境從用戶角度分為誠實用戶和惡意用戶,從終端可信角度分為可信終端、惡意終端和未知終端.未知終端的含義是:不具有惡意終端的惡意行為,但是可能存在潛在的安全風險.外部網絡環境和可信網絡環境與可信第三方的關系相同,都是獲取證書服務、可信驗證和零知識證明服務.外部網絡和可信網絡環境之間是遠程證明、可信連接和訪問控制.外部網絡存在惡意節點(malicious node,簡稱MN),是外部網絡試圖入網的惡意節點.

Fig.3 Basicframe of trusted network圖3 可信網絡基礎框架

2.3 總體架構

B-TNC 的總體架構如圖4 所示,包括4 個實體、3 個區塊鏈系統、5 個層次和若干接口組件.該架構在傳統可信網絡連接層次上增加了區塊鏈系統.B-TNC 將策略的執行由中心轉移到各實體,將決策由分布式的可信第三方轉移到分布式的可信第三方,實現了一種新型的可信網絡連接架構.

Fig.4 Overall architecture of B-TNC圖4 B-TNC 總體架構

· 實體

4 個實體分別是訪問請求者(access requestor,簡稱ARQ)、訪問接收者(access receiver,簡稱ARC)、策略決策點(policy decision point,簡稱PDP)和策略執行點(policy enforcement point,簡稱PEP).其中,

· ARQ 位于外部網絡,發出訪問請求,收集平臺完整性可信信息,申請與可信網絡環境中的計算節點建立網絡連接;

· ARC 位于可信網絡環境,是被訪問的計算節點,需要對訪問請求進行處理,將ARQ 的平臺完整性信息轉發到區塊鏈系統進行可信驗證;

· PDP 在組成結構上與傳統可信網絡連接不同:B-TNC 中,PDP 是一個由全網共同組成的邏輯實體,通過區塊鏈數據庫系統和共識協議維系.PDP 根據各計算節點的安全策略對ARQ 的訪問請求進行決策判定,判斷的依據是ARQ 的身份和完整性狀態信息,并將判斷結果寫入的區塊鏈系統;

· PEP 部署在ARQ 和ARC,負責執行訪問控制策略.

ARQ 包括4 個組件:網絡訪問請求者(network access requestor,簡稱NARQ)發出訪問請求,申請加入可信網絡環境,建立網絡連接.ARQ 的B-TNC 客戶端(B-TNC client,簡稱B-TNCC)收集完整性度量模塊(integrity measurement module,簡稱IMM)的完整性度量信息,并將完整性度量信息向遠端平臺報告.完整性度量信息的內容和組成由可信度量的具體模型決定.IMM 和TCM 協同度量ARQ 各個組件的完整性.區塊鏈高速引擎(blockchain high-speed engine,簡稱BHSE)是實體與區塊鏈系統之間的接口,一方面提供區塊鏈讀取寫入查詢等基本功能,另一方面對區塊鏈數據系統進行實時解析,在本地維護一個支持高速查詢的區塊鏈數據庫.但是必須被可信網絡接受以后才能夠獲得區塊鏈上的數據.

ARC 包括4 個組件:網絡訪問接收者(network access receiver,簡稱NARC)接收外部節點ARQ 的入網申請,發起對ARQ 的可信度量.ARC 的B-TNC 服務端(B-TNC server,簡稱B-TNCS)接收ARQ 發送的完整性度量報告,并提交到完整性驗證模塊(integrity verifier module,簡稱IVM)進行驗證.IVM 發起對ARQ 的可信驗證,將可信度量信息廣播到可信網絡環境的計算節點,等待驗證.區塊鏈高速引擎與ARQ 中的作用相同,不再贅述.

PDP 包括兩個組件:基于共識協議的網絡訪問授權者(network access authority based on consensus protocol,簡稱CP-NAA)和區塊鏈高速引擎.與TNC 架構中的NAA 不同,B-TNC 的CP-NAA 并不是單一的物理實體,而是由運行在可信網絡中的多個計算節點組成的邏輯實體.這些計算節點均產生ARQ 是否可以加入可信網絡的決策,并基于共識協議匯總決策,形成最終的共識.需要說明的是,共識協議多種多樣,必須根據具體的共識協議設計合理的決策節點數目.在CP-NAA 中,每次共識均選舉產生一個記賬節點(leader node,簡稱LN),由LN 作為區塊鏈中的“礦工”將最終的結果寫入區塊鏈系統.本文提出了一種基于DPoS 共識的方法,以驗證其可行性,但并不僅局限于此.

· 區塊鏈系統

3 個區塊鏈系統分別是基于區塊鏈的訪問控制系統(access control blockchain,簡稱AccessChain)、基于區塊鏈的日志審計系統(log audit blockchain,簡稱LogChain)和分布式的可信第三方(distributed trusted third party,簡稱DTTP).在前期研究中,我們提出了基于區塊鏈的遠程證明模型[37],給出了訪問控制和可信證據追溯的基本方法,兩類功能都在同一個區塊鏈上.但是訪問控制和日志審計的數據量并不同,不能很好地滿足實際需求.在此基礎之上,本文提出了用3 個區塊鏈系統支撐可信網絡連接的方法.AccessChain 用于記錄訪問控制策略,本質上是一個訪問控制的決策賬本,參與到可信網絡環境的計算節點以身份密鑰(attestation identity key,簡稱AIK)作為標識.計算節點的基本信息被寫入AccessChain,并設置加入網絡的時間和有效期.AccessChain 為PEP 提供決策支撐.LogChain 記錄可信網絡運行的日志數據,為審計和追溯提供證據,主要是利用了區塊鏈防篡改的特性.DTTP 是用區塊鏈技術構建的可信第三方,提供3 種服務:證書服務、完整性驗證和零知識證明.CertChain 的研究已經證明,基于區塊鏈構建分布式的可信第三方是可行的、高效的、安全的.如何具體實現不作為本文研究重點.

· 層次

5 個層次分別是訪問控制層、基礎網絡層、度量評估層、區塊鏈引擎和驗證審計層:訪問控制層運行AccessChain;基礎網絡層支持傳統的網絡連接通信技術,如P2P、Gossip 協議、VPN 等機制;度量評估層進行平臺的度量認證,形成計算節點是否可以加入可信網絡的決策;區塊鏈引擎和其他部件交互,提供區塊鏈服務;驗證審計層由LogChain 和DTTP 組成,為可信網絡提供驗證和審計的支撐.

· 接口

B-TNC 架構存在多個實體,與TNC 架構相同,實體之間同樣有通信和互操作的需求.但是由于引入了區塊鏈系統,導致架構中存在虛擬的邏輯實體,并且接口更加復雜.對其中比較重要的接口進行定義,從底層到上層包括IF-AR,IF-CS,IF-PEP,IF-BHSE 和IF-BPEP.其中,IF-AR 是ARQ 和ARC 之間的接口,實現雙方的信息傳輸;IF-CS 維護B-TNCC 和B-TNCS 之間的通信,主要支持可信網絡節點加入時的網絡數據傳輸;IF-PEP 是PEP 之間的根據訪問控制策略形成的穩定的安全信道;IF-BHSE 是各個實體調用區塊鏈系統的接口;IF-BPEP 是PEP獲取區塊鏈中存儲的策略的接口.但是具體協議實現不作為本文研究重點.

2.4 抽象描述

給出B-TNC 中各部件的定義,未定義的部分沿用第2.3 節的描述.

定義1.Pi={Pi_AIK,Pi_Nonce,Pi_Others},參與節點i的身份證據集合,其核心是Pi_AIK,是用戶的身份密鑰,在可信系統中用于標識用戶的身份;Pi_Nonce是隨機數,用于對抗重放攻擊.對身份合法性的可信驗證就是對Pi的驗證.

定義2.Si={Si_1,Si_2,Si_3,…,Si_n},參與節點i的完整性證據集合,其中,n為計算平臺組件的數目.計算平臺的組件主要包括信任根、BIOS、內核、操作系統和應用程序.

定義3.T={T1,T2,T3,…,Tn},可信網絡中計算節點的集合,n為可信網絡中計算節點的數目.外部節點集合定義為C={C1,C2,C3,…,Cn}.定義計算節點的決策集合Dm={D1_m,D2_m,D3_m,…,Dn_m},表示T中各節點對節點Cm的證明結果,1 代表可信,0 代表不可信.

定義4.AccessChain:(AC1→AC2→…→ACn→…).

定義5.LogChain:(LC1→LC2→…→LCn→…).

給出B-TNC 中各基本操作的定義:

定義6.FMeasure(Cm,Pm,Sm),完整性度量函數.計算平臺Cm對自身的完整性進行度量,得到身份證據集合Pm和完整性證據集Sm.

定義7.Verify_Identity(Tk,Pm,Id_Result),身份合法性驗證函數.計算節點Tk根據Pm對平臺Tm進行身份合法性校驗,得到證明結果Id_Result.

定義8.Verify_Integrity(Tk,Sm,Dk_m),完整性驗證函數.計算節點Tk根據Sm對平臺Tm進行完整性校驗,得到證明結果Dk_m.

定義9.Pick(T,LN),每個階段記賬節點的共識算法,在集合T中選取領導節點LN.

定義10.Decision(LN,Dm,Access,AC_newBlock),全網決策函數.領導節點LN根據決策集合Dm產生最終決策Access,其中,1 代表可以入網,0 代表不可入網.進而根據決策結果生成AccessChain 的新區塊AC_newBlock.

定義11.Re_Blockchain(LN,Blockchain,T,new_Block),區塊鏈更新函數.領導節點LN將new_Block廣播到可信網絡中所有節點T.需要說明的是,根據實際需要,Blockchain有兩種:AccessChain 和LogChain.與之對應,new_Block包括AC_newBlock和LogChain 的新區塊Log_newBlock.

定義12.Refer_AC(AccessChain,Pi_AIK,AC_Result),查詢擁有身份Pi_AIK的計算節點在AccessChain 中是否合法,并得到查詢結果AC_Result.

定義13.Refer_Log(LogChain,Pi_AIK,Log_Result),查詢擁有身份Pi_AIK的計算節點在LogChain 中是否有記錄,并得到查詢結果Log_Result.

定義14.Refer_DTTP(DTTP,Pi_AIK,DTTP_Result),查詢擁有身份Pi_AIK的計算節點在DTTP中是否有記錄,并得到查詢結果DTTP_Result.

定義15.通信功能相關定義如下:

·Send(Message,P,Q),將內容Message從P節點發送到Q節點;

·Connect(P,Q,time_begin,time_end),P和Q兩個節點建立正式通信,有效期從time_begin到time_end;

·Disconnect(P,Q,time),P和Q從時間time開始斷開連接.

2.5 區塊鏈結構

B-TNC 中的3 個區塊鏈系統代表了區塊鏈技術在信息安全領域的3 個重要的應用方向,即訪問控制、數據保護和身份認證[38].本節描述3 種區塊鏈系統的基本結構,對區塊鏈系統的功能進行梳理,重點是說明可行性.

· AccessChain

訪問控制是用戶權限管理的重要技術手段,能夠允許合法用戶訪問資源,并且拒絕非法用戶的越權訪問.區塊鏈和訪問控制的結合主要采用兩種技術路線:基于交易進行策略/權限管理、基于智能合約進行訪問控制.在B-TNC 的架構下,AccessChain 屬于前者.基于交易進行策略/權限管理的訪問控制系統主要有Damiano 機制[39]、Zyskind 機制[40]、FairAccess 機制[41?43]和Dorri[44,45].其中,Zyskind,FairAccess 和Dorri 面向的是移動應用或物聯網環境,和B-TNC 的應用場景不符.AccessChain 的可行性源自于Damiano 系統.Damiano 面向泛化的應用場景,探索了使用區塊鏈創建、管理、執行訪問控制策略的可行性,對基于屬性的訪問控制模型ABAC 進行了擴展.AccessChain 的數據結構如圖5 所示,是一個通用的區塊鏈數據結構.每一條記錄就是一個節點的訪問控制信息,其中包括節點信息(AIK,IP,MAC 等信息)、入網時間、有效期、隨機數等.本文在第3 節參考Damiano 系統的設計方法,對AccessChain 的運行流程進行描述.但是Damiano 面向的是公有鏈,和B-TNC 有一定的不同.

Fig.5 Data structure of AccessChain圖5 AccessChain 的數據結構

· LogChain

區塊鏈是一種分布式的共享數據總賬,記錄在區塊鏈上的數據只可以增加,不可以篡改.這個特性可以用于實現信息系統全流程的監控,實現不可篡改的數據記錄,適合于日志審計系統的構建,從數學原理上保證審計系統的安全性.Cucurull J 等人[46]使用區塊鏈來實現不可篡改的安全審計日志,將區塊鏈防篡改的特性與日志審計系統結合,實現了可信的日志審計系統,也為LogChain 提供了理論和實踐的支撐.在B-TNC 架構中,可信網絡中計算節點的日志信息由LogChain 記錄,網絡運行中的重要行為都會被記錄到鏈上.

在遠程證明中,可信驗證通常依托于可信第三方.但是在B-TNC 中,LogChain 系統能夠為可信驗證的決策提供可靠的依據,增強可信系統的安全性.本文僅對LogChain 基本功能進行梳理,不再展開設計工作.需要說明的是,與AccessChain 相比,LogChain 對數據吞吐量的要求更高,記錄的數據更多,但是對于共識時效性要求較低.

· DTTP

身份認證是可信第三方的一個重要功能,目前,相關研究者已經展開了基于區塊鏈構建PKI 的研究,為分布式可信第三方DTTP 的創建奠定了基礎.目前,PKI 系統在分布式環境下面臨的最大的挑戰是證書授權中心(certificate authority,簡稱CA)不可信的問題.CA 不可信主要包括3 種情況:1) CA 被黑客攻擊,導致中間人攻擊的問題;2) 用戶無法驗證CA 簽證的過程,導致證書不透明的問題;3) 中心化CA 故障,導致所有證書不可用.為了解決上述問題,相關研究者展開了大量的研究.具有代表性的是麻省理工學者Conner 提出的Certcoin 系統和武漢大學學者Chen 提出了CertChain 系統.上述研究一方面證實了基于區塊鏈構建PKI 的可行性,另一方面證明了基于區塊鏈構建PKI 在安全方面的優勢.

可信網絡連接中涉及到3 種可信第三方,除PKI 系統外,還有DAA 中零知識證明證據發布者以及基于屬性的遠程證明中可信驗證者.零知識證明證據發布者可以依托PKI 系統建立,在TPM/TCM 身份注冊或驗證時生成證據,理論上不存在實現難度.但是分布式的可信驗證者目前并沒有可以參考的系統,本文提出了一種基于區塊鏈的設計思路,具體描述見第3.2 節.

2.6 安全假設

1.敵手可以竊聽、截獲和篡改通信消息.

2.底層密碼算法是安全的,隨機數和私鑰均無法被分析攻破.

3.可信網絡在建立之初是可信的.

4.網絡中的節點在剛剛加入網絡時可信.

5.通信信道安全,可以通過加密保證.

6.敵手無法控制1/3 以上的節點,這個數字是由共識算法決定的.

3 B-TNC 運行流程

本節對B-TNC 架構最重要的問題進行描述,包括B-TNC 的基本流程、分布式可信驗證者構建的方法和基于DPoS 共識的遠程證明機制.

3.1 基本流程

3.1.1 系統初始化

B-TNC 在運行之前需要進行基本的初始化操作,主要包括可信網絡環境初始化、區塊鏈系統初始化.

(1)T={T1,T2,T3,…,Tn}.初始節點建立可信網絡環境.

(2) AccessChain:(AC1→AC2→…).初始化AccessChain,創建初始節點.

(3) LogChain:(LC1→LC2→…).初始化LogChain,創建初始節點.

(4) 可信第三方DTTP 開始提供可信第三方服務:證書服務、零知識證明和可信驗證.

3.1.2 基本運行流程

假設B-TNC 處于運行過程中,此時有外部計算節點Ci發起對可信網絡T內部節點Tj網絡申請,該過程的基本運行流程如圖6 所示.

Fig.6 Work process of B-TNC圖6 B-TNC 的工作流程

0a.在進行網絡連接和平臺完整性驗證之前,B-TNCC 需要對IMM 進行初始化.同理,B-TNCS 要對IVM 進行初始化.

0b.BHSE 對AccessChain 和LogChain 進行實時解析,在本地存儲區塊鏈數據庫,實現高速查詢.

1.Send(Pi_AIK,NARQ,ARC.PEP).

當有連接請求發生時,NARQ 向ARC 的PEP 發送連接請求,其節點身份用Pi_AIK進行標識.

2.ARC.PEP→Refer_AC(AccessChain,Pi_AIK,AC_Result).

如果驗證合法,Connect(ARQ,ARC,time_begin,time_end).

ARC 的PEP 向AccessChain 查詢,判斷Pi_AIK是否被認可,并得到結果AC_Result.若驗證合法,則ARC 的PEP根據驗證后的策略執行訪問控制操作,建立通信連接;若驗證不合法,則啟動可信網絡連接的身份驗證和完整性狀態驗證.

3a.B-TNCC 和B-TNCS 對平臺身份的合法性發起驗證.

3b.ARQ.IMM→FMeasure(Ci,Pi,Si) thenSend(Pi||Si,B-TNCC,B-TNCS).

ARQ 的IMM 對平臺進行度量,得到身份證據集合Pi和完整性證據集合Si,然后把證據集發送到B-TNCS,等待驗證.

3c.Verify_Identify(ARC,Pi,Id_Result).

ARC 對身份證據集合進行校驗,得到身份合法性的驗證結果.具體的過程是向使用可信第三方DTTP 的證書服務或零知識證明服務,對Pi_AIK的合法性進行校驗,以證明遠端平臺具備合法的TPM/TCM.身份驗證的實施比較靈活,對于隱私要求高的場景可以使用直接匿名證明DAA協議.若身份驗證通過,則啟動完整性驗證過程.

4.B-TNCS 將完整性證據集發送到ARC 的IVM 進行處理,準備發起完整性證明.在這個過程中,若完整性信息不足,則要繼續進行收集.

5a.Send(Pi||Si,ARC.IVM,CP-NAA).

ARC 的IVM 將身份證據Pi_AIK和完整性證據Si發送到CP-NAA 請求決策.需要說明的是,CP-NAA 是由多個計算節點組成的,需要合作產生對證據驗證結果.

5b.Verify_Integrity(CP-NAA,Si,D).

CP-NAA 調用DTTP 的可信驗證服務,對完整性證據進行驗證,得到驗證結果的決策集合D.可信驗證服務的實現方法在第3.3 節進一步闡述.

5c.CP-NAA→Refer_Log(LogChain,Pi_AIK,Log_Result).

CP-NAA 向LogChain 查詢和Pi_AIK有關的審計日志,追溯該節點是否有惡意行為.

5d.Decision(LN,Dm,Access,AC_newBlock) thenRe_Blockchain(LN,AccessChain,T,AC_newBlock).

領導節點根據CP-NAA 得到的決策集合得出最終結論,并生成新的區塊.進而將新區快廣播到可信網絡的所有節點,更新AccessChain.領導節點的選取過程將在第3.3 節詳細描述.

6.ARC.PEP此時可以在AccessChain 中檢測到可信證明的結果,執行訪問控制策略.

7.Re_Blockchain(PEP,LogChain,T,Log_newBlock).

在可信網絡運行過程中,PEP 會將執行訪問控制決策的日志信息記錄到LogChain.計算節點在網絡中的行為都會記錄下來,并且是不可抵賴的.

3.2 分布式的可信驗證者

可信驗證方是基于屬性遠程證明的重要部分,在傳統可信網絡的體系中,實際扮演了可信第三方的角色.但是在B-TNC 的架構中,如果仍舊采用中心化的驗證方法,就會無法避免單點化和中心化的問題.本節提出一種建立分布式可信驗證者的方法,假設用5 臺驗證節點組成分布式的可信驗證者.驗證節點的數量可以根據實際需求靈活選擇,本文僅以5 為例.如圖7 所示.

5 個驗證點組成一個私有鏈,具有強身份標識,無法被惡意節點偽裝.驗證者的主要任務是對平臺可信報告進行分析和驗證,其中包括完整性證據和平臺屬性證據.5 個節點共同維護一個區塊鏈賬本,存儲驗證策略和可信計算節點的完整性證據集合.在執行驗證任務時,驗證發起方會隨機訪問不同的驗證節點,可以指定隨機策略使每個驗證節點被訪問的頻率大致相同.從分布式可信驗證者建立到運行的過程描述如下.

1.Setup:完成可信驗證方的初始化過程.

(1) 建立驗證策略,將策略寫入可信驗證者的區塊鏈系統.若策略變更,5 個節點運行共識協議共同更新.

(2) 從CA 中心獲取合法TPM/TCM 注冊時的完整性狀態信息,寫入可信驗證者的區塊鏈系統.

2.Verify:驗證證據合法性的過程.以Tm請求驗證Ck節點為例.

(1)Tm隨機選擇一個驗證點,與之建立通信.假設選擇驗證點2.

(2) 驗證點2 發布智能合約,迅速共識到整個區塊鏈系統.

(3) 假設這一階段的記賬節點是驗證點3.

(4) 驗證點3 訪問區塊鏈上的驗證策略和Ck節點的完整性信息:若區塊鏈上沒有Ck節點的信息,則執行第(5)步;若有,則執行第(6)步.

(5) 驗證點向CA 中心請求更新數據,查詢是否具有Ck節點的相關信息:若仍舊沒有,則返回Ck節點非法;若有,則更新區塊鏈,然后執行第(6)步.

(6) 驗證節點將收到的完整性證據與區塊鏈上的完整性進行比對,判斷是否被修改:若沒有被修改,執行第(7)步;若被修改,則返回完整性證據驗證不通過.

(7) 根據驗證策略對安全屬性信息進行決策,判斷待入網的節點安全配置是否符合要求,得出結論,并寫入區塊鏈系統.

(8) 驗證點3 在得出結論之后執行兩個操作:一是將驗證結論發送回驗證請求點;二是將驗證操作和結論寫入到驗證者的區塊鏈系統,供其他驗證者進行審計.

這種設計方法避免了可信證據只由單一的決策者的判斷,從概率學的角度提高了整個驗證判斷過程的安全性.CP-NAA 是由多個節點構成的,在進行完整性驗證的時候,這些節點會隨機選擇不同的驗證點去進行驗證.若某一個驗證點被攻擊,得出錯誤的結論,也無法對整體驗證結論形成影響.并且驗證結果在驗證點之間是可查可審可追溯的,惡意的驗證點能夠迅速被發現清理.

Fig.7 Distributed trusted verifier圖7 分布式的可信驗證者

3.3 基于DPoS共識的遠程證明

3.3.1 DPoS基本原理

股份授權證明DPoS 是EOS 項目最早發布的共識機制,旨在消除比特幣公式算法PoW 資源消耗過大、算力過于集中的問題.DPoS 的基本思想是:選舉出一定數量的節點,由這些節點作為代表協作輪流記賬.這個思路類似于政治活動中的議會制度,選舉出合適的代表,代替更多的節點行使權利.

以EOS 的DPoS 的部署為例,所有EOS 的持有者根據持有的數量按照1:1 獲得選票,選出21 個區塊產生者,也叫做見證人.由這21 個見證人相互協作,按照一定的順序輪流記賬,以3s 為間隔產生區塊.DPoS 有不可逆原則,一旦某個區塊后面跟隨了超過2/3 見證人數量的區塊,區塊就進入了不可逆狀態,也就是常說的該區塊被確認了.在21 區塊產生節點的模型中,15 個區塊(15/21>2/3)進入不可逆狀態的時間(即交易100%安全)為45s.在EOS 最新的版本中,引入了拜占庭容錯機制,實現了秒級的確認性能.總之,EOS 的實踐證明了DPoS 的優勢:解決了能耗的問題;共識節點少,共識效率高;不會產生硬分叉;安全性更強,只有控制超過2/3 數量的節點才能夠改變區塊鏈;確認速度快.

從原理上分析,DPoS 本質上是存在中心的,如果見證人節點存在惡意行為,或者未能履行職責,就會在下一個投票階段被淘汰.本文借鑒了DPoS 的基本思想設計遠程證明協議,描述了證明協議的基本過程.由于DPoS本身算法比較成熟,具體實現方法也不是本文重點,所以不對算法細節進行展開.需要說明的是,B-TNC 并不要求一定采用DPoS 的共識機制實現CP-NAA,能夠實現多個計算節點共識產生共同決策的共識算法都是可以的.

3.3.2 遠程證明過程

遠程證明是B-TNC 區別于傳統可信網絡連接最核心的部分,能夠以集體決策的方式產生訪問控制策略.在EOS 中,DPoS 是根據掌握數字貨幣的數量來分配選票的,貨幣是利益所在.但是B-TNC 中計算節點的利益在于能否被可信網絡環境認可,并沒有掌握數字貨幣.為了減少對DPoS 算法的修改,本文提出可以選用節點在可信網絡中的活躍時間代替數字貨幣.比如某計算節點在可信網絡中的活躍時間為Tsum,單位時間為T,那么擁有選票的數目Ticket=Tsum/T.T的選擇要根據實際網絡運行狀況確定.假設B-TNC 的見證者同樣設置為21 個,這些節點共同組成了圖4 中的網絡授權者CP-NAA.基于DPoS 的遠程證明過程核心是兩個部分:(1) 基于DPoS 選取驗證節點,組成CP-NAA;(2) 基于多方決策的平臺可信證明.證明過程如圖8 所示.為了便于描述,將圖中的節點數目進行了縮減.

Fig.8 Remote attestation based on DPoS圖8 基于DPoS 的遠程證明

1.Initialize:完成第3.2 節中分布式可信驗證者的初始化過程.

2.Select:選舉產生21 個DPoS 見證人.若網絡中節點不足21 個,則網絡中節點都作為見證人.

(1) 可信網絡中的每一個計算節點Ticket=Tsum/T,確定自己掌握的選票的數目.

(2) 假設以2 小時為時間間隔,運行投票算法,選出21 個超級節點作為見證人.在這個過程中,有可能存在節點落選、新節點補增的情況.

(3)Pick(T,LN).超級節點之間共識產生一個隨機數,用于對節點進行編號.然后按照編號的順序,輪流擔任領導節點LN.可以按照3 分鐘的時間間隔輪換,但具體間隔需要結合實際網絡規模進行分析.

3.Verify:對身份和完整性證據進行驗證.

(1) 21 個見證人隨機選擇完整性驗證節點,并將完整性信息和屬性信息發送到相應的節點進行驗證.驗證過程參照第3.2 節.

(2) 見證人根據自己的判斷策略,靈活選擇是否查詢LogChain,追溯待驗證節點是否曾經存在惡意行為.

(3) 見證人根據自己的判斷策略,靈活選擇是否對待驗證節點的身份進行進一步核驗.

(4) 21 個見證人將自己得出的判斷結論和判斷依據廣播給其他節點.需要說明的是,由于每個計算節點的判斷策略由自己掌握,如果結論的得出既包含了完整性驗證,也包含了惡意行為追溯和身份核驗,那么這個結論顯然是更加有說服力的.所以將判斷依據一起廣播出去,領導節點能夠對最終結論進行綜合考量.

(5) 領導節點對其他見證人的判斷進行綜合,若超過2/3 見證人認為待驗節點是可信的,那么就得出最終的結論,允許待驗節點加入可信網絡.并將結論寫入到AccessChain.

可信遠程證明的方法模型有多種,但是其基本流程是相似的,即“連接申請、證據提交、可信判決、決策執行”.本文的遠程證明和TNC 架構相比,最本質的區別在于:對中心化的可信判決和決策執行進行了分布式的改造,能夠提高分布式網絡系統抵抗安全威脅的能力,增強系統容錯性.其核心優勢在于兩個方面:1) 將判決點分散,能夠有效抵抗單點故障或者中心被攻破的問題;2) 所有的決策產生過程在鏈上記錄,可信可查可追溯,讓惡意的判決點無所遁形.

3.4 激勵機制

激勵機制是區塊鏈技術領域的重要研究方向,合理的激勵機制能夠保證更多的節點參與到區塊鏈系統中,從而增強區塊鏈系統的安全性.區塊鏈分為公有鏈、私有鏈和聯盟鏈.公有鏈一般是通過發行代幣來解決激勵問題.一個節點在區塊鏈系統中越活躍,做出的貢獻越多,就能獲取更多的代幣,如以太幣、比特幣.代幣能夠在鏈下換取更多的經濟權益.而對于私有鏈或者聯盟鏈系統,一般不會設計代幣機制.在無代幣區塊鏈系統中,比如政府的各個部門、銀行的各個機構,參與共識的節點本身通常是有利益協作的,所有合法節點都希望系統安全可靠高效運行,愿意參與到區塊鏈系統中.所以,私有鏈或聯盟鏈不需要鏈上經濟的激勵,但可以采取鏈上權益、數據權益等激勵.

判斷區塊鏈系統類型的重要依據是,節點能否自由加入區塊鏈系統.B-TNC 架構引入了3 個區塊鏈系統:訪問控制系統、日志審計系統和分布式的可信第三方,均屬于帶準入控制的區塊鏈系統,節點無法隨意加入.和傳統的可信網絡連接單點化的架構相比,3 種區塊鏈的引入上會增加系統構建的成本,帶來更多的計算和存儲開銷.為了保證系統的良好運行,必須建立合適的激勵機制.然而激勵機制通常和具體的業務應用場景緊密相關,設計通用的激勵機制是困難的.本文以一個具體的應用場景為例,提出激勵機制的設計思路.

· 場景假設

應用場景:某大型科研系統,共有5 個研究所,研究所下屬總計50 個研究室,總共包含2 000 個科研人員.每一個研究所和研究室都有不同規模的數據中心,每一個科研人員擁有多個計算機終端.數據中心和計算終端之間互聯互通.

· 激勵措施

(1) 基于業務需求驅動,研究所和研究室必須按照網絡配置要求提供相關設備,組成各功能區塊鏈系統.可作為業務考核的標準.

(2) 根據參加區塊鏈業務的活躍程度,計算季度或年度的貢獻值,對貢獻大的單位進行表彰或獎勵.

(3) 對于所有可信節點,網絡是否安全可信是他們的共同利益.在更加相信自己的基礎之上,他們愿意貢獻一部分計算和存儲能力.

(4) 惡意節點在網絡中的行為是完全可查可追溯的.惡意行為會降低其他節點對他的信任,很難被選為超級節點.

4 架構分析

4.1 安全性

在Dolev-Yao 威脅模型下進行安全分析,攻擊者可以竊聽、獲取和篡改協議消息,能夠偽裝成一個合法的主體參與協議的運行.底層密碼算法是安全的,隨機數和私鑰無法被攻破,這一點可以由信任根保證,但是系統對信任根仍舊保持一定的懷疑態度.假設2/3 以上的計算節點是誠實可信的,攻擊者無法控制1/3 以上的節點.誠實可信一方面是節點行為可信,另一方面是節點的信任根可信.B-TNC 繼承了可信計算和區塊鏈的安全特性,具有去中心化、可追溯、不可偽造、不可篡改并具備良好的匿名性.本文重點分析去中心化后最突出的安全特點.

1) 去中心化

B-TNC 架構的去中心化體現在4 個方面.

(1) 訪問控制去中心.AccessChain 將訪問控制列表用區塊鏈數據庫的方式維護在每一個網絡參與者,將訪問控制決策執行權限分散,能夠降低整個網絡由于網關被攻破而崩潰的風險.

(2) 策略決策去中心.本文提出在DPoS 共識下,超級節點組成共同的網絡訪問授權者,進而對節點的入網請求共同決策.少量非法節點即便參與到了決策中,也無法對最終結果產生實質的影響.

(3) 審計追溯去中心.基于區塊鏈技術構建計算機日志審計系統是可行的,這一點毋庸置疑.安全可信防篡改的日志系統是安全審計的基礎,大量的安全服務都是基于行為日志展開.基于區塊鏈的日志審計系統不僅能夠提供更強的防篡改特性,更能夠提供一個全網視角下的日志審計視圖,以便于聯合審計挖掘.

(4) 可信第三方去中心.相關研究已證明,基于區塊鏈技術構建分布式的PKI 系統是具有可行性的.和集中式相比,分布式架構的PKI 能夠更加有效得解決單點信任中心存在的固有問題.本文也提出了分布式可信驗證者的設計思路,能夠提供更加安全的第三方驗證服務.

總之,B-TNC 架構從多個角度實現了去中心化的特性,解決了中心化網絡判決模型的固有問題.

威脅場景假設:假設惡意節點MN試圖成為領導節點,將非法的訪問控制規則寫入AccessChain.共識機制是可信的,領導節點的選取具有隨機性,并且大概率屬于可信節點.MN必須能夠控制大多數節點,才能實現對訪問控制規則的任意修改,但這顯然是困難的.考慮3 種攻擊場景.

· 場景1:MN不屬于可信網絡.此時,MN首先要完成可信驗證的整個流程,騙取可信網絡承認自己的身份,將自己的信息寫入AccessChain.若MN不具備合法的TPM/TCM,或者沒有運行在可信狀態,此時MN加入網絡必然是失敗的;若MN本身具備合法的TPM/TCM,并且也處于安全的運行狀態,MN可以加入網絡.但此時只是一個普通的節點,距離成為領導節點還有很大距離.

· 場景2:MN屬于可信網絡.在區塊鏈系統中,MN是否可以成為可信節點仍然是小概率事件.首先要經過投票機制被選舉為見證人之一,并且要在特定時間段才具有記賬權限.在基于權益的共識協議中,運行在可信網絡中的時間越長,當選為見證人的可能性越大.因為審計機制的存在,所有節點的行為都被記錄在區塊鏈日志系統中,只有可信節點才有可能長期運行在可信網絡中.如果MN被選舉為見證人,并且成為某一時間段的領導節點,那么就會在第3.1.2 節的5D 步驟中,寫入與事實相悖的結論.這就會導致其他節點對MN的失信,使其下一階段難以當選見證人.

· 場景3:MN對可信第三方展開攻擊,試圖成為可信第三方服務節點.可信第三方本身的安全防護強度高,攻克難度大.若MN發起對CA 的攻擊,并且成功,根據CertChain 的安全證明,攻擊能夠快速被檢測修復.并且身份驗證過程會隨機選擇CA 節點,不一定會訪問到被攻擊的節點.若MN發起對可信驗證者的攻擊,成功控制一個驗證節點,那么這對于最終驗證結論同樣不會產生較大的影響:一方面,節點訪問驗證點具有隨機性,單個驗證節點的結論在最終結論中只占有1/5;另一方面,驗證節點之間能夠根據異常判定結果及時發現被攻擊的節點.

2) 可追溯

傳統可信網絡連接針對安全接入后的防護能力不足,此時,基于區塊鏈的分布式信任關系模型就能夠對此進行很好的補充.惡意節點往往伴隨惡意行為,可信的審計能夠暴露惡意行為,進而發現惡意節點.區塊鏈是一種以哈希為標志的鏈式存儲結構,數據一但寫入區塊鏈,就能夠沿著區塊鏈追溯到歷史記錄.可追溯具有兩個層面的含義:寫入區塊鏈的證據最終能夠被檢索到、檢索到的數據是可信的并且不可抵賴的.

本文認為,信任根作為安全部件,在實際的設計與生產過程中,客觀上是有可能存在安全隱患的.所以在安全假設中,本文假設安全的信任根是完全可信的,但在實際網絡環境中,對信任根仍舊保持一定懷疑態度.區塊鏈可追溯的特性就是很好的補充.

威脅場景假設,考慮3 種共計場景.

· 場景1:可信網絡T中的可信節點Tm受到網絡攻擊,變成惡意節點.如果惡意節點在網絡接入的有效期內沒有惡意行為,那么對網絡的危害較小.有效期過了以后,需要重新運行可信連接的過程,對該節點的安全性進行分析.此時,如果惡意節點的關鍵數據被修改,或安全配置不足,就無法通過可信驗證,被踢出可信網絡.如果惡意節點在網絡接入的有效期內有惡意行為,那么網絡訪問的日志信息會被寫入LogChain,其他節點能夠通過對日志的審計及時發現異常行為.這就通過節點行為可追溯保證了網絡的整體安全性.

· 場景2:可信網絡T中的Ta和Tb進行安全通信,協同完成某項計算任務.受到利益驅動,Ta存在惡意行為,并試圖刪除網絡日志文件,否認網絡交互行為.但是由于日志審計系統是分布式的,LogChain 能夠被存儲于所有節點,所有的日志文件都是可以被你追溯的.單節點的日志刪除最終是無效的,Ta無法抵賴自己的行為.

· 場景3:可信芯片存在底層的高危漏洞,攻擊者能夠偽造了一個合法的TPM/TCM 參與到網絡中.需要說明的是,此類攻擊雖然客觀存在,但是發生的可能性低,攻擊難度很大.由于惡意節點的所有行為都是被記錄在區塊鏈系統中的,一旦有惡意行為,就會被迅速檢測到.去中心化部分已經說明了單個節點的行為難以對整個系統安全產生決定性的影響.所以,在2/3 節點可信的安全假設之下,即便信任根也存在安全隱患,網絡整體的可信同樣是可以保證的.

3) 不可篡改

不可篡改是區塊鏈能夠用于構建分布式信任根的重要安全特性.攻擊者如果想對區塊鏈數據庫進行篡改,就必須控制網絡中的大多數節點,而這與本文的安全假設不符.假設敵手試圖對B-TNC 中涉及到的區塊鏈系統中的某一個區塊進行修改,那么區塊的哈希值就會發生改變,就必須對該區塊后面的所有區塊均進行改變.而區塊鏈是分布式的數據庫系統,只有在大多數節點上都進行相應的修改,攻擊才能生效.因此,B-TNC 具有不可篡改的安全特性.

4) 抗合謀攻擊

合謀攻擊[47]指的是2 個或2 個以上的惡意節點相互串聯,以破壞正常網絡行為的攻擊.合謀攻擊有幾個典型的特征:(1) 互相擔保,協助攻擊節點看似合法的節點;(2) 互相偽造,能夠建立一個非法的通信鏈路;(3) 做偽證陷害合法節點.B-TNC 的遠程證明和訪問控制具有去中心化的特性,這將導致少量惡意節點的合謀難以對全局的安全決策產生決定性的影響,合謀攻擊難以展開.

女巫攻擊(sybil attack,簡稱SA)指的是在對等網絡中,單一節點具有多個身份標識,通過控制系統的大部分節點來削弱冗余備份的作用,女巫攻擊是一種特殊的合謀攻擊.而在B-TNC 中,節點身份分布式的可信第三方授權,節點身份密鑰由信任根保護,偽造大量身份本身具有難度.而控制多數節點在區塊鏈的安全假設下是困難的,女巫攻擊難以展開.

4.2 效率分析

區塊鏈系統的引入會增加系統開銷、增加網絡系統的運行成本.但是為了獲取更大的安全收益,一定開銷是必然的,也是值得的.本節對系統運行成本和效率進行分析.為了更加直觀,本節采用第3.4 節的場景假設,在一個實際的應用場景中進行分析.

· 應用場景

某大型科研系統,共有5 個研究所,研究所下屬總計50 個研究室,總共包含2 000 個科研人員.每一個研究所和研究室都有不同規模的數據中心,每一個科研人員擁有多個計算機終端,假設一共6 000 臺計算終端.數據中心和計算終端之間互聯互通.

· 網絡配置

(1) 5 個研究所各貢獻1 臺服務器,組成分布式的CA 系統.

(2) 5 個研究所各貢獻1 臺服務器,組成分布式的可信驗證者.

(3) 5 研究所和50 個研究室各貢獻1 臺計算終端,用于組成分布式的日志審計系統.科研人員也可根據實際需求,選擇是否加入日志系統.

(4) 5 研究所和50 個研究室各貢獻1 臺計算終端,用于組成訪問控制系統.科研人員也可選擇加入.

(5) 所有接入網絡的計算終端安裝區塊鏈客戶端軟件.

· 數據存儲

(1) 由研究所和研究室維護的服務器和終端,都要保存完整的區塊鏈數據.

(2) 研究人員的計算終端可以選擇保存完整數據,也可以選擇性保存部分數據,如區塊鏈的哈希根.

(3) 假設區塊大小為1MB.

· 運行頻率

(1) 假設入網的有效期為4 天,超過4 上天就要進行可信證明,重新入網.

(2) 平均每1 分鐘有1 臺終端需要進行可信證明:6000÷(4 天×24 小時×60 分)≈1.

4.2.1 運行成本

區塊鏈系統的運行成本通常包括3 個部分:算力開銷、網絡開銷和存儲開銷.

· 算力開銷

區塊鏈起源于比特幣系統,其共識機制采用的是工作量證明PoW,需要進行大量的哈希運算,尋找滿足要求的隨機數,俗稱挖礦.為了解決這一問題,基于權益證明機制PoS 被提出,從此規避了計算資源的浪費.而DPoS 是在這基礎上的升級,通過選舉合適的代表,組成共識機構,實現高速的共識協議.

因此,在B-TNC 并不會消耗過多的計算能力,僅需要通用的計算平臺即可完成目標.每個研究所數據中心貢獻2 個服務器、2 個計算終端、每個研究室貢獻2 個計算終端,就能夠實現.DPoS 協議是可擴展的,增加計算平臺就能夠實現網絡的擴容.

· 網絡開銷

區塊鏈系統的網絡開銷主要取決于兩個方面:一是區塊數據的大小,二是交易規模和頻率.金融行業追求大吞吐量,要求每秒的交易能夠達到1 000TPS,甚至10 000TPS 以上.在區塊大小相對固定的情況下,網絡性能主要受到交易規模和頻率的制約.

但是B-TNC 中,大規模的共識和通信主要在研究所和研究室之間.其中,CA 系統、分布式的可信驗證者分別由5 臺服務器組成,訪問控制由21 個超級節點組成.根據運行頻率的假設,每分鐘進行1 個終端的可信驗證,區塊大小1MB.每分鐘的網絡開銷為:1MB×21×1=21MB/min=0.35MB/s.公式的含義是:區塊產生方把新區快傳播給所有的超級節點.科研內網的網絡帶寬通常比較大,網絡開銷是可以容忍.

· 存儲開銷

根據網絡開銷部分的分析,訪問控制鏈每分鐘增加1MB,一年增加約513GB.存儲量是比較大的.但是對于一個研究所或者研究室的數據中心,每年擴容一個約5 000GB 的硬盤用于存儲區塊鏈數據,這本身的難度并不大.再加上日志審計系統,以及分布式的可信第三方,數據量約為2TB.

4.2.2 效率分析

1) 共識機制

共識機制本身和應用場景的關聯性很大,需要根據共識節點數目、鏈上數據量等要素來決定.

本文針對AccessChain 和CP-NAA 提出了基于DPoS 的共識方法.在EOS 項目實踐中,DPoS 能夠在公鏈上實現3s 出塊、45s 確認的性能.如果部署在B-TNC 這種私有鏈架構中,必將帶來更大的性能提升.這完全滿足訪問控制鏈中,1 分鐘進行一次可信證明的要求.綜合考慮,DPoS 共識用于遠程證明是能夠滿足效率要求的.需要說明的是,提升區塊鏈共識性能是一個重要的研究方向,相關研究者已經做出了大量的工作.B-TNC 并不要求具體的共識機制,能夠滿足效率和安全性要求的共識機制都是可以的.對于可信第三方,以CertChian 為例的PKI系統使用的是基于PoS 的共識[48],并且其研究者已經證明了用區塊鏈構建CA 系統效率是足夠的,能夠提供毫米級的證書驗證服務.本文提出的分布式可信驗證者在設計中只需要5 個節點,常見的PBFT 等共識協議在目前已經主流的區塊鏈基礎平臺上都能夠實現每秒1 000 筆級別的共識效率,完全可以適用.對于LogChain,日志更加追求的是不可篡改的特性,對于共識效率的要求相對較低.但是日志本身的數據量大,數據產生的參與方多,可以考慮基于有向無環圖DAG 的共識協議構建大規模分布式網絡的日志系統.但共識機制的選取和實際應用場景密切相關.

2) 遠程證明

B-TNC 中的遠程證明過程比傳統的可信網絡連接遠程證明的過程更加復雜.遠程證明的性能損失來自于兩個方面:一是共識協議本身的運行速度,二是DPoS 中的21 個見證者分別運行可信驗證的過程.上一節已經說明了共識機制本身的性能是足夠的,能夠在秒級完成驗證確認.驗證過程的性能開銷主要來自于可信驗證者對完整性證據的確認以及CA 對于身份的確認.21 個見證者可以執行并行化的認證,時間開銷并不是一個21 倍的關系.并且領導節點只要收到2/3 節點的通過驗證的消息就能夠認定驗證通過,不需要等待所有節點結束.所以,即使有惡意節點故意拖延驗證時間,也無法同時控制2/3 的節點同時撒謊.所以和傳統可信網絡連接架構相比,基于區塊鏈的遠程證明帶來的效率損耗不大,主要取決于對于證據的驗證過程,這和TNC 架構是相同的.假設完成證據驗證的時間是10s,那么遠程證明過程的效率約為3s+10s=13s.由于共識效率是高于網絡通信頻率的,所以不會產生交易堆積的情況,只要有證明需要,就可以立即運行證明過程.

3) 訪問控制

區塊鏈作為分布式數據存儲,其數據量本身很大,可以達到TB 級.但是在數據查詢的時候,并不是直接面對整個數據.區塊鏈數據庫的增長速度約為1MB/s,在B-TNC 中的每一個節點都維護一個區塊鏈高速引擎,能夠實時解析區塊鏈數據庫,以結構化的方式存儲在本地.區塊鏈數據更新后,系統會根據新區塊的內容及時更新本地的訪問控制列表,以實現快速的數據查詢.在本文的設計中,一個平臺的最新狀態總會被保存在后面的區塊中,并且區塊是經常更新的,那么這一過程在最新的一部分區塊中就能較快地完成.對于普通的計算終端,并不需要維護全部的區塊鏈數據,只需要去超級節點申請數據更新訪問控制列表即可.所以當計算節點之間進行網絡通信時,能夠在秒級的時間開銷內完成訪問控制決策過程.

5 結束語

本文在對安全實際信任問題的分析基礎之上,提出了基于區塊鏈構建分布式信任根的思想,進而提出了基于區塊鏈的分布式可信網絡連接架構.其核心思想是:用區塊鏈對可信網絡中的中心化認證部件進行分布式改造,主要包括可信第三方、訪問控制和日志審計.分析表明,B-TNC 能夠有效解決傳統架構下面臨的訪問控制單點化、策略決策中心化的問題.基于區塊鏈的結構能夠將二值化的信任模型擴展為網狀的整體信任模型,更加符合實際的網絡運行環境.本文在提出總體架構設計、抽象描述和運行流程的基礎之上,對核心問題展開描述.最后進行了正確性,安全性和效率分析.

下一步工作將從兩個方面展開:一是研究更加適合分布式環境下的可信驗證模型,進一步弱化二值化信任判斷模型的約束;二是原型系統的設計與實現,由于工作量較大,需要展開更廣泛的合作.

猜你喜歡
系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
基于UG的發射箱自動化虛擬裝配系統開發
半沸制皂系統(下)
FAO系統特有功能分析及互聯互通探討
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統 德行天下
PLC在多段調速系統中的應用
主站蜘蛛池模板: 激情综合五月网| 亚洲综合在线网| 日韩国产亚洲一区二区在线观看| 福利在线一区| 久久无码免费束人妻| 一本一道波多野结衣一区二区| 久久精品中文字幕少妇| 欧洲熟妇精品视频| 亚洲综合久久成人AV| 国产精品自在在线午夜| 亚洲一区二区日韩欧美gif| 国产一级裸网站| 国产肉感大码AV无码| 天天躁夜夜躁狠狠躁图片| 国产免费久久精品44| 国产福利大秀91| 久久亚洲日本不卡一区二区| 在线欧美日韩国产| 666精品国产精品亚洲| 麻豆a级片| 午夜老司机永久免费看片| 日韩免费毛片视频| 毛片最新网址| 国产亚洲精品无码专| 成人小视频在线观看免费| 中文字幕日韩丝袜一区| 亚洲天堂.com| 在线播放真实国产乱子伦| 日韩第一页在线| 激情综合网激情综合| 国产一区成人| 伊人久久精品亚洲午夜| 久久精品一品道久久精品| 波多野结衣中文字幕久久| 国产白丝av| 午夜爽爽视频| 日本少妇又色又爽又高潮| 91久久精品国产| 国产精品视频系列专区| 尤物视频一区| 亚洲婷婷六月| 试看120秒男女啪啪免费| 国产免费久久精品44| 国产精品va| 国产精品播放| 欧美午夜在线观看| 高潮毛片免费观看| 久久一本日韩精品中文字幕屁孩| 中文字幕va| 亚洲欧美一区二区三区图片| 精品无码一区二区三区电影| 亚洲性一区| 亚洲天堂网在线视频| 99国产在线视频| 在线亚洲天堂| 日本在线免费网站| 91偷拍一区| 国产a网站| 91探花在线观看国产最新| 狠狠做深爱婷婷综合一区| 最新国产成人剧情在线播放| 伊人精品视频免费在线| 亚洲欧美日韩中文字幕在线| 午夜成人在线视频| 偷拍久久网| 91精品专区国产盗摄| 久久鸭综合久久国产| 波多野结衣一二三| 无码视频国产精品一区二区| 中文字幕乱码中文乱码51精品| 五月天福利视频| 日本福利视频网站| 国产精品思思热在线| 高潮毛片无遮挡高清视频播放| 日韩123欧美字幕| 国产微拍一区二区三区四区| 亚洲精品国偷自产在线91正片| 国产精品一区在线麻豆| 99热国产这里只有精品无卡顿" | 中国黄色一级视频| 国产精品yjizz视频网一二区| 一本大道无码日韩精品影视|