新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式網(wǎng)絡(luò)接入的安全通信機(jī)制研究

嵌入式網(wǎng)絡(luò)接入的安全通信機(jī)制研究

作者: 時(shí)間:2006-07-28 來源:網(wǎng)絡(luò) 收藏
摘要 設(shè)備Internet是當(dāng)今系統(tǒng)發(fā)展的一個(gè)重要趨勢(shì),但是Internet提供的開放性環(huán)境并不保障系統(tǒng)的性。為了保證系統(tǒng)的性,以目前廣泛采用的32位處理囂加TCP/IP協(xié)議棧Interner的方案為實(shí)現(xiàn)平臺(tái),通過選擇基于密碼學(xué)的,設(shè)計(jì)并實(shí)現(xiàn)嵌入式Internet安全EISCM。它提供一個(gè)相對(duì)安全的平臺(tái),可以使系統(tǒng)放心地接入Internet。
關(guān)鍵詞 嵌入式系統(tǒng) 接入 安全 加密

引 言
Internet已經(jīng)成為人們獲取信息、相互交流的重要渠道。將嵌入式系統(tǒng)和Internet相結(jié)合,使嵌入式設(shè)備接入Internet是當(dāng)今嵌入式系統(tǒng)發(fā)展的一個(gè)重要趨勢(shì),因此就有了嵌入式Internet的說法。利用該技術(shù)可以實(shí)現(xiàn)基于Internet的遠(yuǎn)程數(shù)據(jù)采集、遠(yuǎn)程控制、自動(dòng)報(bào)警等功能,大大擴(kuò)展嵌入式設(shè)備的應(yīng)用范圍;同時(shí)充分利用資源,實(shí)現(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)的同時(shí),必須把嵌入式Internet的安全問題放到重要的地位考慮。在這種背景下,本文選擇了嵌入式Internet通信安全作為主要的方向,基于0SI安全體系架構(gòu),設(shè)計(jì)并實(shí)現(xiàn)嵌入式Interet安全通信機(jī)制EISCM(Embedded Internet Security Commumcation Mechanism)。主要通過密碼協(xié)議和嵌入式數(shù)據(jù)庫來實(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ù)、訪問控制服務(wù)和抗抵賴服務(wù)。實(shí)現(xiàn)這些安全服務(wù)需求,可以采用的安全機(jī)制為:加密機(jī)制、數(shù)字簽名機(jī)制、訪問控制機(jī)制、數(shù)據(jù)完整性機(jī)制、鑒別交換機(jī)制、業(yè)務(wù)流填充機(jī)制、路由控制機(jī)制和公證機(jī)制。根據(jù)嵌入式Internet系統(tǒng)的安全特點(diǎn),這里提出的安全機(jī)制的制定主要從下面兩個(gè)方面來考慮。

(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)該在合適的層次來實(shí)現(xiàn)。

(2)基于密碼學(xué)理論的安全機(jī)制

基于密碼學(xué)理論,嵌入式Internet技術(shù)可以使用以下幾種算法實(shí)現(xiàn)數(shù)據(jù)保密性和完整性服務(wù):
◆使用對(duì)稱密鑰體制或非對(duì)稱密鑰體制,實(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、鏈路加密通信等手段保證通過網(wǎng)絡(luò)鏈路傳送數(shù)據(jù)的機(jī)密性、數(shù)據(jù)完整性等。基于鏈路層加密與應(yīng)用程序無關(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)用層的無關(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ā)往同一地址的包,它將按照同樣的加密密鑰和訪問控制策略來處理。同網(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的安全通信就無法保證。在應(yīng)用層實(shí)施加密是最具強(qiáng)制性的選擇。它也是最具靈活性,因?yàn)楸Wo(hù)的范圍和力度可以裁剪到滿足某一應(yīng)用的特定需要。這一點(diǎn)正符合嵌入式Internet設(shè)備靈活多變的應(yīng)用的需求。應(yīng)用層的安全可以彌補(bǔ)下層協(xié)議漏洞和不足,可以采用多種多樣的安全措施來保證系統(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)用程序以用戶為背景執(zhí)行,容易獲得用戶訪問憑據(jù),而且對(duì)用戶想保護(hù)的數(shù)據(jù)具有完整的訪問權(quán)并有著充分的理解,這些特性使得在應(yīng)用層引入安全業(yè)務(wù)具有特定的優(yōu)勢(shì)。在應(yīng)用程序中實(shí)施安全機(jī)制,程序要和一個(gè)特殊的系統(tǒng)集成到一起,應(yīng)用程序通過改進(jìn)調(diào)用該特殊系統(tǒng)實(shí)現(xiàn)安全機(jī)制。

基于以上比較,為了在嵌入式Internet接入設(shè)備和訪問者之間建立起有效的,具有更強(qiáng)大的適應(yīng)性和安全性的安全通信機(jī)制,選擇應(yīng)用層作為實(shí)現(xiàn)層次,以保證設(shè)備訪問者與嵌入式設(shè)備間通信的信息安全。

2.2密碼協(xié)議

設(shè)計(jì)基于密碼學(xué)安全機(jī)制的通信協(xié)議,目的是通過使用基于密碼學(xué)的機(jī)制來實(shí)現(xiàn)數(shù)據(jù)保密性和數(shù)據(jù)完整性服務(wù),抵抗攻擊。目前的密鑰體制從原理上可分為兩類,即對(duì)稱密鑰體制和非對(duì)稱密鑰體制[2]。在嵌入式Internet的應(yīng)用中,使用哪一種密鑰體制應(yīng)該根據(jù)嵌入式Internet的具體特點(diǎn)決定:
①由于嵌入式Internet設(shè)備通常是一臺(tái)具有專有功能的嵌入式設(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ì)稱加密算法更符合嵌入式Interne安全通信協(xié)議對(duì)加密機(jī)制和應(yīng)用靈活性的要求。

密碼協(xié)議的目的是完成EID(Embedded Internet Device,具有Internet接入功能的設(shè)備)和CC(Control Computer,對(duì)。EID進(jìn)行合法控制、通信的主機(jī))之間的通信過程。為了描述密碼協(xié)議的實(shí)現(xiàn),這里首先描述一個(gè)基本會(huì)話協(xié)議的通信過程。
CC和EID的通信過程為:
①CC向EID發(fā)送控制命令;
②EID收到控制命令后,執(zhí)行相應(yīng)的操作;
③EID執(zhí)行完畢后,向CC發(fā)送確認(rèn)信息;
④CC接到確認(rèn)信息后,結(jié)束通信過程,否則重新發(fā)送控制命令。
在以上所描述的通信過程中,從數(shù)據(jù)的保密性和完整性來考慮,EID和CC將面臨著以下幾種安全威脅:
①竊聽者Eve可以竊聽EID和CC之間的通信,獲得通信內(nèi)容;
②惡意的主動(dòng)攻擊者Attacker截獲EID發(fā)送給CC的數(shù)據(jù),并且篡改信息后發(fā)送給CC;
③Attacker截獲CC發(fā)給EID的控制信息,進(jìn)行重放攻擊;
④Attacker不斷地竊聽并保留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之間的通信過程能抵抗Eve的竊聽,根據(jù)通信對(duì)保密性服務(wù)的需求,這里使用對(duì)稱密鑰的加密機(jī)制對(duì)報(bào)文進(jìn)行加密,從而實(shí)現(xiàn)連接保密性、無連接保密性、選擇字段保密性服務(wù)。但在一般的嵌入式Internet通信系統(tǒng)中,CC和EID之間的通信信息可能只有簡(jiǎn)單的幾條,例如對(duì)于一個(gè)家電的控制命令,可能只有開關(guān)和上下調(diào)節(jié)的控制,這樣使用加密機(jī)制產(chǎn)生的密文集合也較小。Eve可以得到所有的可能明文的密文 C,因?yàn)镋ve-沒有密鑰K,所以Eve不能知道密文C對(duì)應(yīng)的確切明文P,但是可以通過觀察和記錄的方法來判斷某個(gè)密文C對(duì)應(yīng)CC的相應(yīng)動(dòng)作。Eve記錄CC發(fā)給EID的密文,觀察EID的動(dòng)作,同時(shí)記錄EID發(fā)給CC的密文,從而確定密文C對(duì)應(yīng)明文P的含義(例如控制命令等),這就是業(yè)務(wù)流分析。可以看出,加密機(jī)制不能保證數(shù)據(jù)的業(yè)務(wù)流保密性來防止Eve通過業(yè)務(wù)流分析猜測(cè)明文含義。可以采用業(yè)務(wù)流填充機(jī)制來抵抗Eve從密文中得知其含義。業(yè)務(wù)流填充主要有兩種具體方法:使用偽造的數(shù)據(jù)包填充通信流和用偽造的隨機(jī)數(shù)據(jù)填充明文數(shù)據(jù)報(bào)。第一種方法會(huì)帶來過大的帶寬消耗,占用過多嵌入式系統(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)算,則可以通過驗(yàn)證消息的哈希值來確定消息是否被更改。目前常用的抵
抗重放攻擊(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ì)話協(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)存空間兩方面來考慮。此處系統(tǒng)選擇的是MD5和RC5算法。

結(jié)語
由于各種嵌入式Internet設(shè)備的組成和功能干差萬別,其網(wǎng)絡(luò)接入所采用的技術(shù)和方案也各不相同,對(duì)其安全通信的解決方案的靈活性和適應(yīng)性要求較高。因此,本文通過對(duì)嵌入式Internet提供安全服務(wù)的安全機(jī)制的需求分析,以目前廣泛采用的32位處理器加TCP/IP協(xié)議棧接入Internet的方案為實(shí)現(xiàn)平臺(tái),通過選擇基于密碼學(xué)的安全機(jī)制EISCM,對(duì)嵌入式Internet的安全問題進(jìn)行了探討。但還存在著一些可以進(jìn)一步完善的問題,主要包括:
①本機(jī)制沒有提供訪問控制服務(wù)和抗抵賴服務(wù),可以建立一個(gè)數(shù)據(jù)庫,通過認(rèn)證等服務(wù)實(shí)現(xiàn);
②本機(jī)制沒有提供對(duì)攻擊的監(jiān)測(cè)功能,可以通過建立一個(gè)攻擊日志,通過一定的監(jiān)測(cè)方法來記錄非法用戶對(duì)系統(tǒng)的攻擊。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉