新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 嵌入式網絡接入的安全通信機制研究

        嵌入式網絡接入的安全通信機制研究

        作者: 時間:2006-07-28 來源:網絡 收藏
        摘要 設備Internet是當今系統發展的一個重要趨勢,但是Internet提供的開放性環境并不保障系統的性。為了保證系統的性,以目前廣泛采用的32位處理囂加TCP/IP協議棧Interner的方案為實現平臺,通過選擇基于密碼學的,設計并實現嵌入式Internet安全EISCM。它提供一個相對安全的平臺,可以使系統放心地接入Internet。
        關鍵詞 嵌入式系統 接入 安全 加密

        引 言
        Internet已經成為人們獲取信息、相互交流的重要渠道。將嵌入式系統和Internet相結合,使嵌入式設備接入Internet是當今嵌入式系統發展的一個重要趨勢,因此就有了嵌入式Internet的說法。利用該技術可以實現基于Internet的遠程數據采集、遠程控制、自動報警等功能,大大擴展嵌入式設備的應用范圍;同時充分利用資源,實現更廣泛的信息共享和更多信息服務。

        嵌入式Internet解決了終端設備的網絡化問題,然而Internet提供的網絡環境并不保障接入系統的安全性。可以這樣說,嵌入式Internet的安全問題直接關系到嵌入式Internet的發展及其應用前景;因此,在開發和使用嵌入式Internet系統的同時,必須把嵌入式Internet的安全問題放到重要的地位考慮。在這種背景下,本文選擇了嵌入式Internet通信安全作為主要的方向,基于0SI安全體系架構,設計并實現嵌入式Interet安全通信機制EISCM(Embedded Internet Security Commumcation Mechanism)。主要通過密碼協議和嵌入式數據庫來實現數據保密性服務、數據完整性服務和認證服務。

        1 嵌入式Intemet的安全需求分析
        根據OSI安全體系結構以及對嵌入式Internet特點分析,一個有效的嵌入式安全通信機制必須提供以下安全服務:數據保密性、數據完整性、認證服務、訪問控制服務和抗抵賴服務。實現這些安全服務需求,可以采用的安全機制為:加密機制、數字簽名機制、訪問控制機制、數據完整性機制、鑒別交換機制、業務流填充機制、路由控制機制和公證機制。根據嵌入式Internet系統的安全特點,這里提出的安全機制的制定主要從下面兩個方面來考慮。

        (1)實現安全機制的網絡層次

        TCP/IP參考模型是一個四層網絡協議系統,各種安全機制并不都可應用在任意一層。針對嵌入式Internet的安全服務,也可以參考四層協議系統進行規劃,應該在合適的層次來實現。

        (2)基于密碼學理論的安全機制

        基于密碼學理論,嵌入式Internet技術可以使用以下幾種算法實現數據保密性和完整性服務:
        ◆使用對稱密鑰體制或非對稱密鑰體制,實現數據保密性服務;
        ◆使用單向散列函數等方法實現數據完整性服務。在嵌入式Internet中,可以選用以上合適的密碼協議和算法,實現預期的安全服務要求。

        2 網絡接入的安全通信機制
        2.1 實現層次

        首先確定安全協議的實現層次,對各種機制實現方法作深入分析,比較它們的不同實現方法和不同安全特點,設計一個適合嵌入式Intemet設備進行網絡通信的安全模型。

        鏈路層主要采用劃分VLAN、鏈路加密通信等手段保證通過網絡鏈路傳送數據的機密性、數據完整性等。基于鏈路層加密與應用程序無關,實現簡單,可用硬件設備進行加密,提供較高的處理速度。缺點是兩個加密參與的實體必須在物理形式上連接在一起,即不能實現對不同進程進行不同的加密處理。網絡層安全性的主要優點是安全服務的提供與應用層的無關性,而且由于多種傳輸協議和應用程序可以共享由網絡層提供的密鑰管理框架,使得密鑰協商的數量也大大削減。網絡層安全業務最有用的特性是能夠構建VPN。網絡層加密的主要缺點是:對屬于不同進程和相應條例的數據包一般不作區別。對所有發往同一地址的包,它將按照同樣的加密密鑰和訪問控制策略來處理。同網絡層安全機制相比,傳輸層安全機制的主要優點是它提供對進程的安全服務。傳輸層安全機制的主要缺點是要對傳輸層進程間通信接口和應用程序兩端都進行修改;另外,由于SSL_和TLS都是建立在TCP協議上的,因此對于UDP的安全通信就無法保證。在應用層實施加密是最具強制性的選擇。它也是最具靈活性,因為保護的范圍和力度可以裁剪到滿足某一應用的特定需要。這一點正符合嵌入式Internet設備靈活多變的應用的需求。應用層的安全可以彌補下層協議漏洞和不足,可以采用多種多樣的安全措施來保證系統的安全性。除了采用一些針對應用層協議的安全方案外,其他例如身份認證、數據加密、數字簽名等都可以在應用層進行。應用層提供安全服務的優點在于不用考慮網絡采用的具體協議和鏈路情況,同時由于應用程序以用戶為背景執行,容易獲得用戶訪問憑據,而且對用戶想保護的數據具有完整的訪問權并有著充分的理解,這些特性使得在應用層引入安全業務具有特定的優勢。在應用程序中實施安全機制,程序要和一個特殊的系統集成到一起,應用程序通過改進調用該特殊系統實現安全機制。

        基于以上比較,為了在嵌入式Internet接入設備和訪問者之間建立起有效的,具有更強大的適應性和安全性的安全通信機制,選擇應用層作為實現層次,以保證設備訪問者與嵌入式設備間通信的信息安全。

        2.2密碼協議

        設計基于密碼學安全機制的通信協議,目的是通過使用基于密碼學的機制來實現數據保密性和數據完整性服務,抵抗攻擊。目前的密鑰體制從原理上可分為兩類,即對稱密鑰體制和非對稱密鑰體制[2]。在嵌入式Internet的應用中,使用哪一種密鑰體制應該根據嵌入式Internet的具體特點決定:
        ①由于嵌入式Internet設備通常是一臺具有專有功能的嵌入式設備,網絡接人方式差別較大,網絡結構也非常靈活,因此一個更具通用性和靈活性的安全結構,應該避免采用帶有可信第三方服務器的安全框架。
        ②嵌入式設備的數據處理能力有限,所以加密算法等相關安全機制的選擇應該以減少資源利用和處理器的負擔為依據,這樣才更能適應嵌入式設備的應用。

        根據上述分析可以看出,對稱加密算法更符合嵌入式Interne安全通信協議對加密機制和應用靈活性的要求。

        密碼協議的目的是完成EID(Embedded Internet Device,具有Internet接入功能的設備)和CC(Control Computer,對。EID進行合法控制、通信的主機)之間的通信過程。為了描述密碼協議的實現,這里首先描述一個基本會話協議的通信過程。
        CC和EID的通信過程為:
        ①CC向EID發送控制命令;
        ②EID收到控制命令后,執行相應的操作;
        ③EID執行完畢后,向CC發送確認信息;
        ④CC接到確認信息后,結束通信過程,否則重新發送控制命令。
        在以上所描述的通信過程中,從數據的保密性和完整性來考慮,EID和CC將面臨著以下幾種安全威脅:
        ①竊聽者Eve可以竊聽EID和CC之間的通信,獲得通信內容;
        ②惡意的主動攻擊者Attacker截獲EID發送給CC的數據,并且篡改信息后發送給CC;
        ③Attacker截獲CC發給EID的控制信息,進行重放攻擊;
        ④Attacker不斷地竊聽并保留CC和EID之間的通信內容,同時記錄EID的相應動作,得到“通信信息”與EID動作的對應關系,然后就可以在任何時刻冒充CC或EID進行非法活動。

        為了使EID和CC之間的通信過程能抵抗Eve的竊聽,根據通信對保密性服務的需求,這里使用對稱密鑰的加密機制對報文進行加密,從而實現連接保密性、無連接保密性、選擇字段保密性服務。但在一般的嵌入式Internet通信系統中,CC和EID之間的通信信息可能只有簡單的幾條,例如對于一個家電的控制命令,可能只有開關和上下調節的控制,這樣使用加密機制產生的密文集合也較小。Eve可以得到所有的可能明文的密文 C,因為Eve-沒有密鑰K,所以Eve不能知道密文C對應的確切明文P,但是可以通過觀察和記錄的方法來判斷某個密文C對應CC的相應動作。Eve記錄CC發給EID的密文,觀察EID的動作,同時記錄EID發給CC的密文,從而確定密文C對應明文P的含義(例如控制命令等),這就是業務流分析。可以看出,加密機制不能保證數據的業務流保密性來防止Eve通過業務流分析猜測明文含義。可以采用業務流填充機制來抵抗Eve從密文中得知其含義。業務流填充主要有兩種具體方法:使用偽造的數據包填充通信流和用偽造的隨機數據填充明文數據報。第一種方法會帶來過大的帶寬消耗,占用過多嵌入式系統的系統資源。此處采用第二種方法在明文中引入隨機數R,從而增加了密文C的集合空間。

        實現了加密機制和業務流完整性機制的通信協議,還可能受到主動攻擊者Attacker的篡改和重放攻擊。為了抵抗Attacker對數據的攻擊,引入單向散列函數,它可以把任意長度的消息M映射成一固定長度為m的哈希值h,即h=H(M)。從哈希函數的性質可以看出,如果用它對CC和EID之間的通信內容進行運算,則可以通過驗證消息的哈希值來確定消息是否被更改。目前常用的抵
        抗重放攻擊(replay attack)的機制有三種:序列號機制(sequence number)、時間戳機制(time stamp)、挑戰應答機制(challenge/response)。一般而言,對于一個資源有限的嵌入式設備,要求密碼協議應該盡量減少其資源消耗,并且應該對網絡環境有良好的適應性,所以選擇序列號機制更適合嵌入式系統的要求。因此改進后的會話協議具體描述如下:
        ①CC用密鑰K加密發送信息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進行比較,如果正確將繼續執行協議;
        ⑦EID計算x′i+l=Y(Xi);
        ⑧EID根據P執行相應的動作,并準備好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′發送給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),通信完成并為下一次通信做好準備。
        如果執行正確,就會有Xi=X′i,Xi+1=x′i+l,Xi+2=X′i+2……
        協議的通信流程如圖1所示。

        在保證系統安全性的前提下,嵌入式系統中算法和模式的選擇必須從處理速度和占用內存空間兩方面來考慮。此處系統選擇的是MD5和RC5算法。

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

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


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 永春县| 台前县| 宁远县| 隆化县| 拜城县| 克东县| 西和县| 鞍山市| 老河口市| 阿勒泰市| 独山县| 宽甸| 图木舒克市| 聊城市| 托克逊县| 襄城县| 汪清县| 溧水县| 石嘴山市| 克拉玛依市| 保德县| 方山县| 波密县| 沁阳市| 锡林浩特市| 鄂托克前旗| 卓资县| 叙永县| 柳河县| 丹棱县| 平定县| 云阳县| 拜泉县| 资兴市| 汉中市| 台北县| 阿鲁科尔沁旗| 壤塘县| 边坝县| 洛浦县| 昌平区|