嵌入式網(wǎng)絡(luò )接入的安全通信機制研究
關(guān)鍵詞 嵌入式系統 網(wǎng)絡(luò )接入 安全通信機制 加密
引 言
Internet已經(jīng)成為人們獲取信息、相互交流的重要渠道。將嵌入式系統和Internet相結合,使嵌入式設備接入Internet是當今嵌入式系統發(fā)展的一個(gè)重要趨勢,因此就有了嵌入式Internet的說(shuō)法。利用該技術(shù)可以實(shí)現基于Internet的遠程數據采集、遠程控制、自動(dòng)報警等功能,大大擴展嵌入式設備的應用范圍;同時(shí)充分利用網(wǎng)絡(luò )資源,實(shí)現更廣泛的信息共享和更多信息服務(wù)。
嵌入式Internet解決了終端設備的網(wǎng)絡(luò )化問(wèn)題,然而Internet提供的網(wǎng)絡(luò )環(huán)境并不保障接入系統的安全性??梢赃@樣說(shuō),嵌入式Internet的安全問(wèn)題直接關(guān)系到嵌入式Internet的發(fā)展及其應用前景;因此,在開(kāi)發(fā)和使用嵌入式Internet系統的同時(shí),必須把嵌入式Internet通信的安全問(wèn)題放到重要的地位考慮。在這種背景下,本文選擇了嵌入式Internet通信安全作為主要的研究方向,基于0SI安全體系架構,設計并實(shí)現嵌入式Interet安全通信機制EISCM(Embedded Internet Security Commumcation Mechanism)。主要通過(guò)密碼協(xié)議和嵌入式數據庫來(lái)實(shí)現數據保密性服務(wù)、數據完整性服務(wù)和認證服務(wù)。
1 嵌入式Intemet的安全需求分析
根據OSI安全體系結構以及對嵌入式Internet特點(diǎn)分析,一個(gè)有效的嵌入式安全通信機制必須提供以下安全服務(wù):數據保密性、數據完整性、認證服務(wù)、訪(fǎng)問(wèn)控制服務(wù)和抗抵賴(lài)服務(wù)。實(shí)現這些安全服務(wù)需求,可以采用的安全機制為:加密機制、數字簽名機制、訪(fǎng)問(wèn)控制機制、數據完整性機制、鑒別交換機制、業(yè)務(wù)流填充機制、路由控制機制和公證機制。根據嵌入式Internet系統的安全特點(diǎn),這里提出的安全機制的制定主要從下面兩個(gè)方面來(lái)考慮。
(1)實(shí)現安全機制的網(wǎng)絡(luò )層次
TCP/IP參考模型是一個(gè)四層網(wǎng)絡(luò )協(xié)議系統,各種安全機制并不都可應用在任意一層。針對嵌入式Internet的安全服務(wù),也可以參考四層協(xié)議系統進(jìn)行規劃,應該在合適的層次來(lái)實(shí)現。
(2)基于密碼學(xué)理論的安全機制
基于密碼學(xué)理論,嵌入式Internet技術(shù)可以使用以下幾種算法實(shí)現數據保密性和完整性服務(wù):
◆使用對稱(chēng)密鑰體制或非對稱(chēng)密鑰體制,實(shí)現數據保密性服務(wù);
◆使用單向散列函數等方法實(shí)現數據完整性服務(wù)。在嵌入式Internet中,可以選用以上合適的密碼協(xié)議和算法,實(shí)現預期的安全服務(wù)要求。
2 網(wǎng)絡(luò )接入的安全通信機制
2.1 實(shí)現層次
首先確定安全協(xié)議的實(shí)現層次,對各種機制實(shí)現方法作深入分析,比較它們的不同實(shí)現方法和不同安全特點(diǎn),設計一個(gè)適合嵌入式Intemet設備進(jìn)行網(wǎng)絡(luò )通信的安全模型。
鏈路層主要采用劃分VLAN、鏈路加密通信等手段保證通過(guò)網(wǎng)絡(luò )鏈路傳送數據的機密性、數據完整性等?;阪溌穼蛹用芘c應用程序無(wú)關(guān),實(shí)現簡(jiǎn)單,可用硬件設備進(jìn)行加密,提供較高的處理速度。缺點(diǎn)是兩個(gè)加密參與的實(shí)體必須在物理形式上連接在一起,即不能實(shí)現對不同進(jìn)程進(jìn)行不同的加密處理。網(wǎng)絡(luò )層安全性的主要優(yōu)點(diǎn)是安全服務(wù)的提供與應用層的無(wú)關(guān)性,而且由于多種傳輸協(xié)議和應用程序可以共享由網(wǎng)絡(luò )層提供的密鑰管理框架,使得密鑰協(xié)商的數量也大大削減。網(wǎng)絡(luò )層安全業(yè)務(wù)最有用的特性是能夠構建VPN。網(wǎng)絡(luò )層加密的主要缺點(diǎn)是:對屬于不同進(jìn)程和相應條例的數據包一般不作區別。對所有發(fā)往同一地址的包,它將按照同樣的加密密鑰和訪(fǎng)問(wèn)控制策略來(lái)處理。同網(wǎng)絡(luò )層安全機制相比,傳輸層安全機制的主要優(yōu)點(diǎn)是它提供對進(jìn)程的安全服務(wù)。傳輸層安全機制的主要缺點(diǎn)是要對傳輸層進(jìn)程間通信接口和應用程序兩端都進(jìn)行修改;另外,由于SSL_和TLS都是建立在TCP協(xié)議上的,因此對于UDP的安全通信就無(wú)法保證。在應用層實(shí)施加密是最具強制性的選擇。它也是最具靈活性,因為保護的范圍和力度可以裁剪到滿(mǎn)足某一應用的特定需要。這一點(diǎn)正符合嵌入式Internet設備靈活多變的應用的需求。應用層的安全可以彌補下層協(xié)議漏洞和不足,可以采用多種多樣的安全措施來(lái)保證系統的安全性。除了采用一些針對應用層協(xié)議的安全方案外,其他例如身份認證、數據加密、數字簽名等都可以在應用層進(jìn)行。應用層提供安全服務(wù)的優(yōu)點(diǎn)在于不用考慮網(wǎng)絡(luò )采用的具體協(xié)議和鏈路情況,同時(shí)由于應用程序以用戶(hù)為背景執行,容易獲得用戶(hù)訪(fǎng)問(wèn)憑據,而且對用戶(hù)想保護的數據具有完整的訪(fǎng)問(wèn)權并有著(zhù)充分的理解,這些特性使得在應用層引入安全業(yè)務(wù)具有特定的優(yōu)勢。在應用程序中實(shí)施安全機制,程序要和一個(gè)特殊的系統集成到一起,應用程序通過(guò)改進(jìn)調用該特殊系統實(shí)現安全機制。
基于以上比較,為了在嵌入式Internet接入設備和訪(fǎng)問(wèn)者之間建立起有效的,具有更強大的適應性和安全性的安全通信機制,選擇應用層作為實(shí)現層次,以保證設備訪(fǎng)問(wèn)者與嵌入式設備間通信的信息安全。
2.2密碼協(xié)議
設計基于密碼學(xué)安全機制的通信協(xié)議,目的是通過(guò)使用基于密碼學(xué)的機制來(lái)實(shí)現數據保密性和數據完整性服務(wù),抵抗攻擊。目前的密鑰體制從原理上可分為兩類(lèi),即對稱(chēng)密鑰體制和非對稱(chēng)密鑰體制[2]。在嵌入式Internet的應用中,使用哪一種密鑰體制應該根據嵌入式Internet的具體特點(diǎn)決定:
①由于嵌入式Internet設備通常是一臺具有專(zhuān)有功能的嵌入式設備,網(wǎng)絡(luò )接人方式差別較大,網(wǎng)絡(luò )結構也非常靈活,因此一個(gè)更具通用性和靈活性的安全結構,應該避免采用帶有可信第三方服務(wù)器的安全框架。
②嵌入式設備的數據處理能力有限,所以加密算法等相關(guān)安全機制的選擇應該以減少資源利用和處理器的負擔為依據,這樣才更能適應嵌入式設備的應用。
根據上述分析可以看出,對稱(chēng)加密算法更符合嵌入式Interne安全通信協(xié)議對加密機制和應用靈活性的要求。
密碼協(xié)議的目的是完成EID(Embedded Internet Device,具有Internet接入功能的設備)和CC(Control Computer,對。EID進(jìn)行合法控制、通信的主機)之間的通信過(guò)程。為了描述密碼協(xié)議的實(shí)現,這里首先描述一個(gè)基本會(huì )話(huà)協(xié)議的通信過(guò)程。
CC和EID的通信過(guò)程為:
①CC向EID發(fā)送控制命令;
②EID收到控制命令后,執行相應的操作;
③EID執行完畢后,向CC發(fā)送確認信息;
④CC接到確認信息后,結束通信過(guò)程,否則重新發(fā)送控制命令。
在以上所描述的通信過(guò)程中,從數據的保密性和完整性來(lái)考慮,EID和CC將面臨著(zhù)以下幾種安全威脅:
①竊聽(tīng)者Eve可以竊聽(tīng)EID和CC之間的通信,獲得通信內容;
②惡意的主動(dòng)攻擊者Attacker截獲EID發(fā)送給CC的數據,并且篡改信息后發(fā)送給CC;
③Attacker截獲CC發(fā)給EID的控制信息,進(jìn)行重放攻擊;
④Attacker不斷地竊聽(tīng)并保留CC和EID之間的通信內容,同時(shí)記錄EID的相應動(dòng)作,得到“通信信息”與EID動(dòng)作的對應關(guān)系,然后就可以在任何時(shí)刻冒充CC或EID進(jìn)行非法活動(dòng)。
為了使EID和CC之間的通信過(guò)程能抵抗Eve的竊聽(tīng),根據通信對保密性服務(wù)的需求,這里使用對稱(chēng)密鑰的加密機制對報文進(jìn)行加密,從而實(shí)現連接保密性、無(wú)連接保密性、選擇字段保密性服務(wù)。但在一般的嵌入式Internet通信系統中,CC和EID之間的通信信息可能只有簡(jiǎn)單的幾條,例如對于一個(gè)家電的控制命令,可能只有開(kāi)關(guān)和上下調節的控制,這樣使用加密機制產(chǎn)生的密文集合也較小。Eve可以得到所有的可能明文的密文 C,因為Eve-沒(méi)有密鑰K,所以Eve不能知道密文C對應的確切明文P,但是可以通過(guò)觀(guān)察和記錄的方法來(lái)判斷某個(gè)密文C對應CC的相應動(dòng)作。Eve記錄CC發(fā)給EID的密文,觀(guān)察EID的動(dòng)作,同時(shí)記錄EID發(fā)給CC的密文,從而確定密文C對應明文P的含義(例如控制命令等),這就是業(yè)務(wù)流分析??梢钥闯?,加密機制不能保證數據的業(yè)務(wù)流保密性來(lái)防止Eve通過(guò)業(yè)務(wù)流分析猜測明文含義??梢圆捎脴I(yè)務(wù)流填充機制來(lái)抵抗Eve從密文中得知其含義。業(yè)務(wù)流填充主要有兩種具體方法:使用偽造的數據包填充通信流和用偽造的隨機數據填充明文數據報。第一種方法會(huì )帶來(lái)過(guò)大的帶寬消耗,占用過(guò)多嵌入式系統的系統資源。此處采用第二種方法在明文中引入隨機數R,從而增加了密文C的集合空間。
實(shí)現了加密機制和業(yè)務(wù)流完整性機制的通信協(xié)議,還可能受到主動(dòng)攻擊者Attacker的篡改和重放攻擊。為了抵抗Attacker對數據的攻擊,引入單向散列函數,它可以把任意長(cháng)度的消息M映射成一固定長(cháng)度為m的哈希值h,即h=H(M)。從哈希函數的性質(zhì)可以看出,如果用它對CC和EID之間的通信內容進(jìn)行運算,則可以通過(guò)驗證消息的哈希值來(lái)確定消息是否被更改。目前常用的抵
抗重放攻擊(replay attack)的機制有三種:序列號機制(sequence number)、時(shí)間戳機制(time stamp)、挑戰應答機制(challenge/response)。一般而言,對于一個(gè)資源有限的嵌入式設備,要求密碼協(xié)議應該盡量減少其資源消耗,并且應該對網(wǎng)絡(luò )環(huán)境有良好的適應性,所以選擇序列號機制更適合嵌入式系統的要求。因此改進(jìn)后的會(huì )話(huà)協(xié)議具體描述如下:
①CC用密鑰K加密發(fā)送信息P及隨機數R和Xi(X;為序列號,初始值Xo為R)得到密文Gi,Gi=Ek(P,R,Xi,);
②CC用Hash函數計算明文信息P和隨機數R、xi的哈希值h,h=H(P,R,xi);
③CC計算Xi+l=Y(xi)(序列號更新函數Y(*)計算返回消息應該帶有的序列號Xi+1);
④CC把明文P的密文Ci和哈希值h傳給EID);
⑤ElD用同樣的算法和密鑰K解密Ci得到P和R、Xi,(P,R,X。)=Ek(Ci);
⑥EID用相同的哈希函數計算P和R、Xi的哈希值并與收到的哈希值h進(jìn)行比較,如果正確將繼續執行協(xié)議;
⑦EID計算x′i+l=Y(Xi);
⑧EID根據P執行相應的動(dòng)作,并準備好CC需要的數據和確認信息P′;
⑨EID用密鑰K加密信息P′、隨機數R′和X′i+1得到密文C′i,C′i=Ek(P′,R′,X′i+1);
⑩EID用哈希函數計算明文P′和R′、X′+l的哈希值h′,h′=H(P′,R′,X′i+1);
⑾E1D把C′i和h′發(fā)送給CC;
⑿EID計算X′+2=Y(Xi+1),為下一次通信的防重放做好準備;
⒀CC用同樣的算法得到P′、R′、X′i+1,(P′,R′,Xi+1)=Ek(Ek(Ek(P′,R′,Xi+1));
⒁CC用相同的哈希函數計算P′、R′、X′i+1的哈希值,與收到的h′比較,如果相同則繼續,否則放棄;
⒂比較Xi+1和X′i+1的值是否相等,如果是則從P′中得到需要的信息,繼續執行;
⒃CC計算X′i+2=Y(Xi+1),通信完成并為下一次通信做好準備。
如果執行正確,就會(huì )有Xi=X′i,Xi+1=x′i+l,Xi+2=X′i+2……
協(xié)議的通信流程如圖1所示。
在保證系統安全性的前提下,嵌入式系統中算法和模式的選擇必須從處理速度和占用內存空間兩方面來(lái)考慮。此處系統選擇的是MD5和RC5算法。
結語(yǔ)
由于各種嵌入式Internet設備的組成和功能干差萬(wàn)別,其網(wǎng)絡(luò )接入所采用的技術(shù)和方案也各不相同,對其安全通信的解決方案的靈活性和適應性要求較高。因此,本文通過(guò)對嵌入式Internet提供安全服務(wù)的安全機制的需求分析,以目前廣泛采用的32位處理器加TCP/IP協(xié)議棧接入Internet的方案為實(shí)現平臺,通過(guò)選擇基于密碼學(xué)的安全機制EISCM,對嵌入式Internet的安全問(wèn)題進(jìn)行了探討。但還存在著(zhù)一些可以進(jìn)一步完善的問(wèn)題,主要包括:
①本機制沒(méi)有提供訪(fǎng)問(wèn)控制服務(wù)和抗抵賴(lài)服務(wù),可以建立一個(gè)數據庫,通過(guò)認證等服務(wù)實(shí)現;
②本機制沒(méi)有提供對攻擊的監測功能,可以通過(guò)建立一個(gè)攻擊日志,通過(guò)一定的監測方法來(lái)記錄非法用戶(hù)對系統的攻擊。
評論