摘 要:在普適計算環境中,用戶能夠在任何時間、任何地點訪問資源,獲得服務。但是這種無處不在性和移動性的環境帶來了新的安全問題。資源的擁有者和請求者一般互相不知道。認證是安全的基石,沒有認證,系統的保密性、完整性和可用性都將受到影響。可是傳統認證是基于身份的認證,不適合普適環境中對陌生實體的認證。
關鍵詞:普適計算;認證要求;信任策略;認證協議
中圖分類號:TP393 文獻標志碼:B文章編號:1671-7953(2009)01-0055-04
Trust Authentication in Pervasive Computing
SHANGuang-qing1,LI He-hua2,XIAO Bao-lin3
(1.Chong QingCity Management University,ChongQing 400055,China;
2.Chong Qing Electron Project Work University Chong Qing 401331,China;
3.SchoolComputer Science of Chong Qing University ,Chong Qing 400030,China)
Abstract: Users can access resources and obtain services anytime and anywhere in pervasive computing environment.However,the ubiquitous and mobile environment presents a new security challenge.The resource owner and requestor do not foreknow each other.Authentication is the footstone of security.Without authentication,confidentiality,integrality and availability of a system will be affected.It is unsuitable for pervasive computing environment which entities are strangers to use traditional identity-based authentication.
Key words: Pervasive computing;requirements of authentication;device of confidence;Authentication treaty
普適計算環境是信息空間與物理空間的融合,在這個融合的空間中人們可以隨時隨地、透明地獲得數字化的服務。但是在這種具有無處不在性和移動性的環境帶來了新的安全問題。信任和安全有緊密的聯系,當前的安全技術都隱含地與信任相關。普適計算環境是由嵌入和遍及在我們環境中的具有通信和計算能力的設備組成。普適計算比傳統計算更強調信任的作用,不僅因為普適計算系統在共享通道上進行高度分散的網絡通信,而且它們之間的交互是自發的,不需要干預的情況下操作。并且普適環境是變化的和預先不可知的,在互相不知道的主體之間交互,雙方必須有足夠級的信任。在該環境中資源的擁有者和請求者一般互不知道。傳統的安全機制是針對靜態網絡或封閉系統,系統中已經明確了授權的用戶,建立了這些用戶的權限與系統資源的關系,阻止沒有授權的用戶訪問這些資源,所以根據每個實體的身份很容易建立起信任。這種系統的認證可以建立在資源請求者的身份基礎上。如果當雙方互相不知道時,基于身份的安全認證顯然是不可行的。
1 認證要求
普適計算環境與傳統的計算環境的本質區別是:前者是動態的系統,后者是靜態、封閉的系統。在封閉的系統中,已經知道授權的用戶,并建立了這些用戶的權限與系統資源的關系,在這樣的系統中實際上已經存在了信任關系。 認證的目的是區分授權的和沒有授權的用戶[1]。因此可以用一些身份信息,如用戶名,口令或者身份證書來認證一個實體是否應該信任。這種認證方法顯然不適合普適環境的認證,應該建立在屬性的基礎上,通過認證各種屬性,確定設備能夠做什么。下面我們借助一個普適計算環境實例說明普適計算環境的認證要求。
假設用戶在公共環境使用PDA無線連接一臺公用打印機,打印一份機密文件。它的安全要求是:用戶的PDA傳輸的加密文件只能傳給用戶選擇的打印機;打印機能夠保證不讓其他用戶訪問該數據,打印結束后應該立即刪除該機密文件。
對于第一個安全要求,傳統的認證要求用戶必須知道打印機的公鑰,或者通過確定打印機的名字,然后從CA簽發的證書中得到打印機的公鑰。也就是說在任何地方必須有公鑰基礎設施,每個設備都有唯一的名字,并且有你信任的權威機構簽署的證書,這是極端不現實和不可能的。即使有這樣的基礎設施可以發現你需要的打印機的名字,也很難確保一個任意設備的名字的真實性。這種基于名字解析的認證方法不適合于普適環境。對于第二個要求的關鍵是打印機應該是值得信賴的,但知道打印機的名字不能確保設備是否可信。通過上面這個應用實例我們認為普適計算的認證需要達到下面的要求:
普適計算的認證是信任的認證,認證是建立在信任的基礎上,陌生的實體之間首先要建立充足的信任。只是認證不能保證自己的安全,安全還取決于實體的信任程度。用戶通過認證后可以訪問機密數據,但數據是否安全取決于用戶是不是可以信賴的。普適計算中大量使用的設備是移動設備和嵌入式設備,這些設備具有有限的計算能力,因此普適計算的認證盡量少使用計算任務大的公開密鑰算法。
2 信任策略
信任和安全有緊密的聯系。信任是人類生活的一個重要方面,我們做的許多事情是與信任相關的,信任是相當復雜的概念[2]。可以通過信任表現出來的性質來了解信任。信任主要具有下列特性:
1)信任的主觀性:不同的主體對同一問題的信任度有所不同;2)信任的傳遞性:一般認為信任具有不可傳遞性,如A信任B,B信任C,但A不一定信任C,但為了簡化模型,我們認為信任是可以傳遞的,是條件限制的傳遞性。如現實生活中人們通過推薦建立了信任;3)信任的反對稱性:A信任B,但B不一定信任A,或者二者互相信任的程度是不同的;4)信任的上下文相關性:信任是相對于某個上下文而言的;5)信任的可測量性,信任像信息和知識一樣能夠被測量;6)信任的多樣性:信任的主體、目的和客體具有多樣性;7)信任的多面性:即使同樣的上下文,信任值也會不同,信任來自多方面的;8)信任的動態性:信任與時間有關,不同的時間信任度會不同,傳統的安全技術中,在給定的時間內雙方絕對信任,而在其他時間內不信任。普適環境的信任應該是隨時間漸變的。一個主體用信任策略評估其他主體的信任值,它與安全策略不同,安全策略表示訪問不同的資源需要不同的信任值。pi對pj的信任值表示為Td=Strategyi(Aj,c);其中Strategyi是Pi的信任策略,它可能要求對方必須具有某些屬性,也可能要求對方必須在某個位置時才具有一定的信任值。Aj 是Pj的屬性集,c是上下文信息。
我們使用信任協商技術來獲得主體的屬性,自動信任協商是為陌生的交互雙方建立信任的技術。雙方多次向對方呈現自己的數字信任書(credentia1)。信任書包含一個或者多個屬性。自動信任協商是基于對方有什么(即有什么屬性),而不是基于對方是誰(身份)。信任書由信任書發行者簽名,證明信任書的擁有者具有哪些屬性。由于協商的雙方可能有敏感的信任書和訪問控制策略,因此可能需要雙方進行多次證書交換,所以稱之為信任協商。
主體之間的信任值用離散形式表示為(untrust,uncertainty,low,medium,high)。從前面討論的信任性質可以知道信任關系具有自反性、反對稱性和傳遞性,因此信任關系是偏序。一個主體與其他主體之間存在單向的直接信任關系或者間接信任關系將構成一個Hasse ,圖中節點表示主體,邊表示兩個主體之間的單向信任值。如圖l所示,P1-P5是主體,P1與P2之間的邊表示P1對P2具有某個信任值。
圖1 信任關系的Hasse圖
在Hasse圖中,每條推薦路徑的信任值為Tr=min{TA1,T12,T23,……,TnB }其中TA1表示A對第1個推薦者的信任值,T12表示第1個推薦者對下一個推薦者的信任值。假設存在K條不相交的推薦路徑,則綜合信任值為Tf=ki=1Wi×Tri其中權值wi(其中wi≥0,且kiwi=1)表示不同的推薦路徑有不同的推薦效果。
3 一種認證協議
資源限制信任協商能夠在陌生實體間建立信任關系。當信任關系建立起來后,就可以使用一些安全密鑰交換協議(如TLS)建立安全通道:AB:資源限制信任協商;AB:密鑰交換協議TLS支持保密性、數據完整性以及客戶端和服務器端的認證[3]。TLS握手協議提供雙方認證和安全參數的協商。2003年7月傳輸層安全工作組對TLS進行了擴充,擴展的目的是讓TLS也能有效地工作在無線網絡環境。TLS擴充主要提供client hello和server hello消息的一般擴充機制,以及基于它的特殊擴充。一般擴充機制是為了使客戶端和服務器端能夠協商是否使用特殊的擴充以及如何使用特殊的擴充。在client hello消息里增加了client_hello_extension_list這個字段,它包含一個擴充列表。同樣,在server hello消息里也增加了server_hello_extension_list與客戶端相對應。我們使用這個擴充的hello消息,將資源限制信任協商融合到TLS中。擴展后的握手協議描述如下:當一方(客戶端)向另一方(服務器端)要求訪問資源[4]。如果客戶端沒有滿足服務端的訪問控制策略,服務器端向客戶端發送Trust Negotiation Request消息。如果客戶端的TLS不支持信任協商,客戶端將會終止協商。如果客戶端接受信任協商,客戶端向服務器端放送Client Hello,在client hello_extension_list這個字段增加協商同意以及協商策略列表。服務器端響應一個Server Hello消息,決定在會話中設置必要的參數。隨后雙方進行多次協商,服務器端向客戶端發送Credential,Policy,Credential Verify和Server Done等消息。客戶端向服務器端發送Credential,Policy,Credential Verify和Client Done等消息。這一輪以后雙方交換密鑰(用于解密敏感屬性),雙方互相發送消息Key,Policy,和Client Done(Server-Done)。由于雙方只交換一次信任書,在后面協商階段不必再次驗證信任書。這個過程直到協商成功或者失敗。隨后由服務器方發送Trust Negotiation Done消息,表示協商結束。最后階段,雙方互相發送Change Cipher Speed和Finished消息,建立安全的會話通道。與資源信任協商相關的,主要在握手協議的第一和第二階段,如下所示:
階段1:建立安全能力
1.Client→Server:Resource Request2.Server→Client:Trust Negotiation Request
3.C1ient→Server:Client Hello4.Server→C1ient:Server Hello
階段2:服務器端和客戶端信任協商、互相認證以及交換密鑰
5.Server→Client:Credential6.Server→Client:Credential Verify
7.Server→C1lent:Policy8.Server→Client:Server Done
9.Client→Server:Credential10.Client→Server:Credential Verify
11.Client→Server:Policy12.Client→Server.Client Done
13.Server→Client:Key14.Server→Client:Policy
15.Server→Client:Server Done16.Client→Server:Key
17.Client→Server:Policy18.Client→Server:Client Done(l3~l8步可能來回多次,直到滿足各自的訪問控制策略。
19.Server→Client:Trust Negotiation Done
4 安全性能分析
認證過程主要分兩個階段,即協商信任階段和密鑰交換階段,協議的性能也取決這兩個階段。這里將不對具體的密鑰交換協議進行分析。對于資源信任協商而言,hash函數具有單向性,所以屬性不能偽造。另外對屬性使用對稱密碼進行加密,屬性具有保密性。在向對方出示第一個解密屬性的密鑰以后,接收方不能知道其他的屬性值,接收方只能在發送方控制下逐步計算出屬性值,因此雙方可以控制自己的屬性值的出示,保護自己的敏感屬性。由于雙方交互的消息是保密的,因此RCTN也防止了傳統信任協商存在的中間人攻擊問題。該認證協議與傳統認證協議主要區別是多了一個建立信任的過程,主要是由于傳統認證協議是基于已經存在了信任關系這個隱含的條件。因此該認證過程要增加一定的計算量。但是在上面的例子里,在TLS中引入資源限制信任協商基本上沒有增加額外的負擔。
5 結束語
傳統的基于身份的安全機制不適合普適環境變化的要求。在普適環境中,不同的應用,不同的上下文,有不同的訪問權限。本文提出主體的認證要求以及普適計算的信任策略和基于信任的一種認證協議。這些的安全措施能夠滿足普適計算的安全要求。
參考文獻
[1]徐光裙,史元春,謝偉凱.普適計算.計算機學報,2003,26(9):1O42-1050.
[2]BA IFANZD,SMETTERS D K,STEWART P,WONGH C. Talking to strang ers:authentication in Ad-hoc wirele~ networks[C].In:the 9th Annual Network and Distributed System Se curity Sym po si um. Sa n Di ego,California,Feb。2002.
[3]KOHI J,NEUMANS The kerberos network authenticati0n service[J].IEIF RFC l5lO.1993.
[4]PIRZADA A A,MCDONALD C. Kerberos assisted authentication in mobile Ad-hoc networks[C].In:Castro EV,ed.the 27th Conference on Australasian Computer Science. Dunedin, New Zealand, 2004(26):41- 46.