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