物聯網安全:信任與信任管理
信任是信息安全的基石,是交互雙方進行身份認證的基礎。信任涉及假設、期望和行為。信任是與風險相聯系的,并且信任關系的建立不可能總是全自動的,這意味著信任的定量測量是比較困難的,但信任可以通過級別進行度量和使用,以決定身份和訪問控制級別。
1、信任的分類
信任通常分為基于身份的信任(Identity Trust)和基于行為的信任(Behavior Trust)兩類。基于身份的信任采用靜態的控制機制,即在用戶對目標對象實施訪問前就對其訪問權限進行了限制。基于行為的信任通過實體的行為歷史記錄和當前行為的特征來動態判斷目標實體的可信任度。基于行為的信任包括直接信任(Direct Trust)和反饋信任(Indirect Trust)。反饋信任又可稱為推薦信任、間接信任或者聲譽(Reputation)。
(1)基于身份的信任
基于身份的信任采用靜態驗證機制(Static Authentication Mechanism)來決定是否給一個實體授權。常用的技術包括加密(Encryption)、數據隱藏(Data Hiding)、數字簽名(Digital Signatures)、授權協議(Authentication Protocols)以及訪問控制(Access Control)策略等。
目前,基于身份的信任技術的研究相當成熟,并得到了廣泛應用。大部分應用系統都通過用戶認證、安全身份相互鑒別、通信加密、私鑰保護、安全委托與單點登錄等安全技術防止非法用戶通過網絡使用或獲取目標對象的任何資源,以保障數據和計算結點的安全性。
例如,實體A與實體B進行交互,它們首先需要對對方的身份進行驗證。這也就是說,信任的首要前提是對對方身份的確認,否則,與虛假、惡意的實體進行交互,很有可能會導致損失。
基于身份的信任是信任的基礎。在傳統安全領域,身份信任問題已經得到了廣泛的研究和應用。而在現今復雜多變的網絡環境下,基于身份的信任在安全模塊設計時固然必要,但是僅靠它還不能解決網絡系統面臨的所有安全問題。
盡管采用基于身份的信任機制能夠一定程度上保護網絡系統的安全,但在一個開放的網絡環境中,明顯存在以下問題。
1)在基于身份信任的系統中,必須事先確定管理域內、管理域間的資源是可信賴的,用戶是可靠的,應用程序是無惡意的。但在基于網絡的計算系統中,交互實體間的生疏性以及共享資源的敏感性成為了跨管理域信任建立的屏障。網絡涉及數以百計的、處在不同安全域的計算資源,大量的計算資源的介入將導致無法直接在各個實體(如應用、用戶與資源)間建立事先的信任關系。
2)在基于身份信任的系統中,隨著時間的推移,原先信賴的用戶或資源也可能變得不可信,期望所有的用戶對他們的行為負責是不現實的。因為大部分網絡平臺許可應用程序在計算資源上運行,這時網絡計算資源會被應用程序部分控制,惡意用戶可以通過運行網絡應用程序來攻擊系統。應用程序在網絡計算資源上運行時,需要占用一定的計算資源,即使用計算機上的CPU計算能力、內存空間和磁盤空間等資源,并且還要使用操作系統的系統調用。在這種情況下,一個合法注冊用戶如果是惡意用戶的話,其完全可以通過在網絡計算環境上執行應用程序(或任務)來發現計算機系統的漏洞、獲取其他用戶的信息資源,甚至攻擊網絡系統,破壞網絡資源的完整性。
(2)基于行為的信任
基于行為的信任是指針對兩個或者多個實體,某一實體對其他實體在交互過程中的歷史行為表現作出評價,也就是對其他實體所生成的能力可靠性進行確認。采用基于行為的信任,在實體安全性驗證時,往往比一個身份或者是授權更具有不可抵賴性和權威性,也更加貼合社會實踐中的信任模式,因而具有很高的研究價值。
2、信任的屬性
信任的屬性包括信任的動態性、不對稱性、傳遞性和衰減性,分別說明如下。
(1)信任的動態性
信任關系不是絕對的,而是動態變化的。實體A與實體B在交互前,雙方之間不存在信任關系,即A不信任B在某方面執行特定操作或者提供特定服務的能力。通過推薦介紹,A與B建立交互關系后,如果B總能按照A的預期完成任務,則A對B的信任程度會逐漸提高。
(2)信任的不對稱性
信任的不對稱性又稱為信任的主觀性。具體而言,A信任B,不等價于B也信任A;實體A對B的信任程度也不一定等于B對A的信任程度。信任可以是一對一、一對多甚至是多對多的關系。圖1表示了這幾種信任關系模式。
圖1 信任關系模式
(3)信任的傳遞性
兩個實體間存在多次交互歷史時,雙方可以根據對方的歷史行為評價對方,這樣建立起的信任關系稱為直接信任;而如果交互的雙方事先不存在協作關系,或者交互的一方需要更多地了解另一方時,往往會通過第三方實體的推薦信息來為信任決策提供參考,這樣建立起的信任關系稱為反饋信任,即A信任B,B信任C,那么A也信任C。信任存在的推薦關系,說明了信任在一定程度上具有傳遞性。
(4)信任的衰減性
信任有隨時間衰減的趨勢。在某一特定時刻T,實體A信任實體B,但是經過一段時間,在該時間段內A與B不存在交互關系,則A會由于時間的推移而對B的認知程度下降,即A不確定B當前是否能夠表現得如同時刻T那樣,從而顯示為A對B的信任程度降低。這就說明在實體交互過程中,最近的交互活動更能反映實體的可信程度。
3、信任管理
1996年,布拉澤(Blaze)等人為解決互聯網上網絡服務的安全問題,提出了信任管理(Trust Management)的概念,并首次將信任管理機制引入分布式系統之中。隨著以互聯網為基礎的各種大規模開放應用系統(如網格、普適計算、P2P、Ad hoc、Web服務、Cloud、物聯網等)相繼出現并被應用,信任關系、信任模型和信任管理的研究逐漸成為了信息安全領域的研究熱點。
近10年來,科研工作者在信任關系、信任模型和信任管理等方面開展了深入的研究工作,取得了較大的研究進展,主要體現在以下3個層面。
(1)基于策略(或憑證)的靜態信任管理技術
基于策略(或憑證)的靜態信任管理(Policy-Based or Credential-Based Static Trust Management)技術主要是根據布拉澤等人提出的信任管理的概念,在實體可信的基礎上為該實體提供資源訪問權限,并以信任查詢的方式提供分布式靜態信任機制,這對于解決單域環境的安全可信問題具有良好的效果。在該可信性保障系統中,信任關系通過憑證或憑證鏈獲得,如果沒有憑證鏈,則表示沒有信任關系,否則就是完全信任。可以通過撤銷憑證來撤銷信任關系,其基本原理繼承了基于身份的靜態信任驗證機制,主要方法是應用策略建立信任、聚焦管理和交換憑證,進而增強訪問控制能力。
為了使信任管理能夠獨立于特定的應用,布拉澤等人還提出了一個通用的信任管理框架,如圖2所示。其中,信任管理引擎(Trust Management Engine,TME)是整個信任管理模型的核心,體現了通用的、與應用無關的一致性檢驗算法,并可根據輸入的請求、符號憑證、本地策略,輸出請求是否被許可的判斷結果。
圖2 基于策略(或憑證)的信任管理框架
信任管理引擎是信任管理系統的核心,在設計信任管理引擎會涉及以下幾個主要問題:① 描述和表達安全策略和安全信任憑證;② 設計策略一致性檢驗算法;③ 劃分信任管理引擎和應用系統的職能。
基于策略(或憑證)的靜態信任管理技術本質上是使用一種精確的、靜態的方式來描述和處理復雜的、動態的信任關系,即通過程序以形式化的方法驗證信任關系。其研究的核心問題是訪問控制信息的驗證,包括憑證鏈的發現、訪問控制策略的表達與驗證等。應用開發人員需要編制復雜的安全策略,以進行信任評估,這樣的方法顯然不適合處理運行時動態演化的可信關系。
另外,基于策略(或憑證)的靜態可信性保障技術主要分析的是身份和授權信息,并側重于授權關系、委托等的研究,一旦信任關系建立,通常會將授權絕對化,不會顧及實體的行為對實體信任關系的影響。而且,在基于策略(憑證)的靜態可信性保障系統中,必須事先確定管理域內、管理域間的資源是可信賴的,用戶是可靠的,應用程序是無惡意的。但在云計算、邊緣計算和物聯網等大規模開放網絡計算系統中,交互實體間的生疏性以及共享資源的敏感性成為了跨管理域建立信任的屏障。大規模開放網絡計算涉及數以萬計的、處在不同安全域的計算資源,大量的計算資源的介入將導致無法直接在各個網絡實體(如應用、用戶與資源等)間建立事先的信任關系。
(2)基于證書和訪問控制策略交互披露的自動信任協商技術
在開放的、自主的網絡環境中的在線服務、供應鏈管理和應急處理等具有多個安全管理自治域的應用中,為了實現多個虛擬組織間的資源共享和協作計算,需要通過一種快速、有效的機制在數目龐大、動態分散的個體和組織間建立信任關系,而服務間的信任關系通常會被動態地建立、調整,需要依靠協商方式達成協作或資源訪問的目的,以維護服務的自治性、隱私性等安全需要。
為了解決以上問題,溫斯萊特(Winslett)和溫斯伯勤(Winsborough)等人提出了自動信任協商(Automated Trust Negotiation, ATN)的概念。ATN是通過協作網絡實體間的信任憑證、訪問控制策略的交互披露,逐漸為各方建立信任關系的。當訪問者與資源或服務提供方不在同一個安全域時,基于憑證和策略的常規訪問控制方法就不能有效地對訪問者的行為進行控制,而ATN則可以為合法用戶訪問資源提供安全保障,以防止非法用戶進行非授權訪問。
ATN的優點體現在:陌生者之間的信任關系通過參與者的屬性信息交換進行確立,通過數字證書的暴露來實現;協商雙方都可定義訪問控制策略,以規范對方對其敏感資源的訪問;協商過程中不需要可信第三方(如CA)的參與。最近幾年,ATN 的研究已經取得了迅速發展,并已經應用到了一些分布式應用系統中,通過信任憑證、訪問控制策略的交互披露,資源的請求方和提供方可以方便地建立實體間的初始信任關系。自動信任協商技術解決了跨多安全域隱私保護、信任建立等問題,成為了廣域安全協作中一個嶄新的研究領域,其研究和應用在國際上倍受關注。但對于網絡化實體行為的關系問題,例如,如何描述網絡實體信任屬性,如何動態建模網絡實體行為的關系,以及如何建立信任性質和實體行為之間的內在聯系及其嚴格的描述等問題,還沒有展開深入的研究。在復雜開放的網絡環境下,隨著網絡規模的增大,所涉及資源的種類和范圍的不斷擴大、應用復雜度的提高以及計算模式的革新等,都需要學者對信任的動態屬性及其與網絡實體行為的關系問題進行深入探索。
(3)基于行為特征的動態信任管理
1994年,馬歇爾(Marsh)首先從社會學、行為學等角度對基于行為特征的信任管理技術(Behavior-based Trust Management Technology,BTMT)進行了開創性的研究。BTMT也稱為動態信任管理技術(Dynamic Trust Management Technology,DTMT),其最初在在線貿易社區(Online Trading Communities)構建信任和促進合作中得到了廣泛的研究。如在eBay中,用戶的高度動態性使傳統的質量保障機制不起作用,而動態信任機制則可使松散的系統用戶間進行相互評估,并由系統綜合后得到每個用戶的信任值。
不同于基于策略的靜態信任管理技術和基于證書和訪問控制策略交互披露的自動信任協商技術,動態信任管理技術與相關理論的主要思想是:在對信任關系進行建模與管理時,強調綜合考察影響實體可信性的多種因素(特別是行為上下文),針對實體行為可信的多個屬性進行有側重點地建模;強調動態地收集相關的主觀因素和客觀證據的變化,以一種及時的方式實現對實體可信性評測、管理和決策,并對實體的可信性進行動態更新與演化。信任管理技術已經廣泛應用于電子商務交易平臺之中。
相較于傳統的信任管理,動態信任關系的管理有以下新的特征:① 需要盡可能多地收集與信任關系相關的信息,并將其轉化為影響信任關系的不同量化輸入;② 在信任管理中強調對信任關系進行動態地監督和調整,考察信任關系的多個屬性,同時考慮不同信任關系之間的關聯性,因此,需要管理的信任網絡的復雜性和不確定性提高了;③ 在決策支持方面,強調通過綜合考慮信任關系中的各主要因素以及其他相關聯的安全因素進行決策,因此,動態信任管理中的可信決策制定需要更加復雜的策略支持;④ 動態信任管理技術要求采用分布式信任評估和分布式決策的形式,同時要求解決不同實體之間的信任管理的協調問題,根據實體能力的差異采取不同的信任管理策略。
4、動態信任管理
布拉澤將信任管理定義為采用一種統一的方法描述和解釋安全策略(security policy)、安全憑證以及用于直接授權關鍵性安全操作的信任關系。信任管理系統的核心內容是,用于描述安全策略和安全憑證的安全策略描述語言和用于對請求、安全憑證和安全策略進行一致性證明-驗證的信任管理引擎。具體說來,動態信任管理的主要任務包括以下幾個方面。
(1)信任關系的初始化
主體和客體信任關系的建立,需要經歷兩個階段:主體的服務發現階段以及客體的信任度賦值和評估階段。當一個客體需要某種服務時,能夠提供某種服務的服務者可能有多個,客體需要選擇一個合適的服務提供者。這時就需要根據服務者的聲譽等因素來進行選擇。
(2)行為觀測
監控主體間所有交互的影響及其產生的證據是動態信任管理的關鍵任務之一,信任評估和決策依據在很大程度上依賴于觀察者。信任值的更新需要根據觀測系統的觀測結果進行動態更新。行為觀測主要有兩個任務:實體之間交互上下文的觀測與存儲,以及觸發信任值的動態更新。當一個觀測系統檢測到某個實體的行為超出了許可或者實體的行為是一個攻擊性行為時,則需要觸發一個信任值的重新評估。
(3)信任評估與計算
根據數學模型建立的運算規則,在時間和觀測到的證據上下文的觸發下動態地進行信任值的重新計算,是信任管理的核心工作。實體A和實體B交互后,實體A需要更新信任信息結構表中對實體B的信任值。如果這個交互是基于推薦者的交互,那么主體A不僅要更新它對實體B的信任值,還要評估對它提供推薦的主體的信任值,這樣,信任評估就可以部分解決信任模型中存在的惡意推薦問題。
5、信任評價與計算
(1)信任度
信任關系通常有程度之分,信任計算的目的就是要比較準確地刻畫這種程度。正是由于信任有程度之分,因此其評價過程才變得重要而有意義。信任的可度量性使源實體可利用歷史經驗對目標實體的未來行為進行判斷,進而得到信任的具體程度。信任度是信任程度的定量表示,它是用來度量信任程度高低的。
信任度(Trust Degree,TD),就是信任程度的定量表示。信任度可以根據歷史交互經驗推理得到,它反映的是主體(Trustor,也叫作源實體)對客體(Trustee,也叫作目標實體)的能力、誠實度、可靠度的認識,對目標實體未來行為的判斷。TD可以稱為信任程度、信任值、信任級別、可信度等。
信任度可以用直接信任度和反饋信任度來綜合衡量。這里,直接信任源于其他實體的直接接觸,而反饋信任則是一種口頭傳播的名望。
圖3給出了直接信任和反饋信任的圖示化描述。
圖3 直接信任和反饋信任
一般來說,信任關系不是絕對的,而是動態變化的。A信任B提供某種服務的能力,隨著與B交互次數的增多,A會根據每次交互的成功與否而逐漸調整對B的信任度,形成A對B的直接信任。另外,信任還存在反饋關系,當實體以前沒有直接與某個實體交互時,則只能參考別的實體提供的反饋信息,并根據自己的策略來判斷交互實體的信任度。
在圖3中,若A信任B,而B信任C,則A具有對B提供的關于目標C的某一信任目標的信任度,B是推薦人,A對B有直接信任,A對C有反饋信任。若D對E有直接信任,而A對D沒有直接信任(不信任),那么,A對E會有什么樣的信任關系呢?目前有兩種認知。一種是接受來自陌生節點的推薦信息。在這種方法中,若E請求A提供的服務,而A事先沒有E的任何信息,則A會在整個網絡中使用廣播的方式查詢對E的推薦信息,然后再對收集到的推薦信息進行聚合,從而得到E的反饋信任度。另一種是A只相信可信節點的反饋信息,而不采納陌生節點的反饋信息。因此,在圖3中,A不會通過D形成對E的反饋信任度。第一種方法雖然簡單,但是不太符合人類社會對推薦過程的認知規律,而且容易引發陌生節點的惡意反饋問題,第二種是一種比較符合人類認知規律的反饋聚合機制。根據上面的描述,下面給出直接信任度、反饋信任度以及總體信任度的定義。
直接信任度(Direct Trust Degree,DTD),是指通過實體之間的直接交互經驗得到的信任關系的度量值。直接信任度建立在源實體與目標實體交互經驗的基礎上,隨著雙方交互的不斷深入,源實體對目標實體的信任關系會更加明晰。相對于其他來源的信任關系,源實體會更傾向于根據直接經驗來對目標實體作信任評價。
反饋信任度(Feedback Trust Degree,FTD),表示實體間通過第三者的間接推薦形成的信任度,也叫聲譽(Reputation)、推薦信任度(Recommendation Trust Degree)、間接信任度(Indirect Trust)等(本書統一稱為反饋信任度)。反饋信任建立在中間推薦實體的推薦信息的基礎上,根據源實體對這些推薦實體信任程度的不同,推薦信任也會被不同程度地取舍。但是由于推薦實體的不穩定性,或者有偽裝的惡意推薦實體的存在,反饋信任度的可靠性難以度量。
總體信任度(Overall Trust Degree,OTD),也叫作綜合信任度或者全局信任度。信任關系的評價,就是源實體根據直接交互得到對目標實體的直接信任關系,以及根據反饋得到目標實體的推薦信任關系,將兩種信任關系進行合成即可得到對目標實體的綜合信任評價。
(2)信任度計算
信任度計算是實現身份認證的前提。典型的信任度計算方法介紹如下。
1)基于加權平均的總體信任度計算
目前的信任模型在獲取總體信任度時大多采用直接信任度與反饋信任度加權平均的方式進行聚合計算:
其中,Pi與Pj是兩個交互實體,Γ(Pi,Pj)是總體信任度,ΓD(Pi,Pj)是直接信任度,ΓI(Pi,Pj)是反饋信任度,W1和W2分別為直接信任度與反饋信任度的分類權重。
當W1=0時,信任由推薦決定;但當W2=0時,信任由行為觀測決定。
(2)基于歷史證據窗口的總體信任度計算
在一個信任管理系統中,信任評估和預測的依據是系統檢測到的、保存在主體節點本地數據庫中的一些交互上下文數據,這些上下文數據被稱為歷史證據。信任管理系統所設定的參與信任度評估的最大歷史記錄個數,稱為歷史證據窗口(History Evidence Window,HEW)。
基于HEW的總體信任度計算方法可以定義如下:
其中,h是信任評估主體的本地數據庫中現有的Pi與Pj之間交互的歷史證據(樣本)總數,H是系統設定的參與信任度評估的最大歷史記錄個數,也就是歷史證據窗口HEW,W1和W2分別為直接信任度與反饋信任度的權重。
當一個服務請求者(Service Requester,SR)向服務提供者(Service Provider,SP)提出服務請求時,SP需要對該SR的總體信任度進行評估和預測,進而根據預測結果由訪問控制模塊中的決策函數決定SR可以得到的服務級別(Service Level)。為了預測SR的總體信任度,SP會首先在本地數據庫(Evidence Base)中檢索與該SR以前直接交互的證據,并統計在系統設定的有效時間內的證據數目h。若h≥H,則表示SP現有的有效直接證據數目足以判斷該SR的可信度,這時,信任管理系統只需要計算直接信任度,就可將計算得到的結果作為該SR的總體信任度。若0<h<H,則表示現有的直接證據不充分,不足以判斷該SR的總體信任度,因此,還需要考慮第三方實體的反饋信息,也就是反饋信任度。此時,信任管理系統既需要計算直接信任度,也需要計算反饋信任度,然后根據W1和W2進行總體信任度的聚合計算。若h=0,則表示主體與客體之間是首次交互,主體的本地數據庫中沒有記錄客體的任何信息,這時信任評估系統只能依靠第三方的反饋信任來評估客體的總體信任度。
與傳統的總體信任度計算方法相比,該方法具有以下優點。
1)更加符合人類社會的心理認知與行為習慣
從信任的內涵來看,信任關系本質上是最復雜的社會關系之一,也是一個抽象的心理“認知”過程,這里的總體信任度計算方法與人類社會的信任決策過程相一致,因此,能更合理地反映信任關系的內涵。
2)可以有效抵御惡意節點的不誠實反饋信息
在開放的環境中,可能存在著大量的惡意節點,這些惡意節點也有可能發送不誠實的反饋信息。動態信任管理的主要任務就是如何有效地發現和抵御這些惡意節點可能給系統帶來的攻擊和有效減少惡意節點的反饋行為。這里的總體信任度計算方法在主體證據較充分時,不再考慮第三方的反饋信息,這樣,顯然可以有效抵御惡意節點的不誠實反饋信息。
3)可以有效提高系統的執行效率
傳統的總體信任度計算方法在任何情況下都要進行反饋信任度的計算,而計算反饋信任度需要在整個分布式網絡中進行反饋節點的搜索,這需要大量的時空開銷。總體信任度計算方法有效地減少了信任評估系統計算反饋信任度的次數,因而可以有效提高信任管理系統的執行效率。圖4給出的是兩種信任計算方法的流程。
圖4 兩種信任計算方法流程