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