嵌入式系統(tǒng)早在20世紀(jì)70年代初被提出,并逐漸在計(jì)算機(jī)控制領(lǐng)域得到廣泛的認(rèn)可與應(yīng)用。從廣義上說(shuō),具備微處理器的自動(dòng)化控制系統(tǒng)均可以稱(chēng)為“嵌入式系統(tǒng)”,其主要特征表現(xiàn)為以計(jì)算機(jī)為核心,通過(guò)軟件與硬件的聯(lián)合實(shí)現(xiàn)對(duì)目標(biāo)功能進(jìn)行控制,其具有可靠性高、體積小、成本與功耗低等優(yōu)點(diǎn)。在網(wǎng)絡(luò)普及的當(dāng)下,運(yùn)用嵌入式系統(tǒng)進(jìn)行網(wǎng)絡(luò)安全的控制成為計(jì)算機(jī)技術(shù)發(fā)展的重要方向之一。
嵌入式系統(tǒng)在網(wǎng)絡(luò)安全方面的應(yīng)用主要依托網(wǎng)絡(luò)傳輸協(xié)議,其通過(guò)一定的嵌入式結(jié)構(gòu)提升網(wǎng)絡(luò)通訊的靈活性與安全性。文中針對(duì)嵌入式系統(tǒng)的特點(diǎn),以網(wǎng)絡(luò)服務(wù)的安全訪問(wèn)要求為研究對(duì)象,通過(guò)基于密碼學(xué)和基于網(wǎng)絡(luò)分層結(jié)構(gòu)的安全機(jī)制,實(shí)現(xiàn)網(wǎng)絡(luò)單節(jié)點(diǎn)上的嵌入式移植,并設(shè)計(jì)出一種基于32 位處理器和VxWorks 嵌入式 RTOS 環(huán)境下的系統(tǒng)構(gòu)架,能夠?qū)崿F(xiàn)多種平臺(tái)的網(wǎng)絡(luò)安全通訊功能。該設(shè)計(jì)方案對(duì)于縮減研發(fā)成本及研發(fā)周期有著重要的意義。
嵌入式系統(tǒng)的核心為硬件與軟件的靈活性結(jié)合,其中硬件為系統(tǒng)結(jié)構(gòu)的基礎(chǔ),軟件為系統(tǒng)功能的支撐。良好的嵌入式系統(tǒng)具有柔性高、兼容性好等優(yōu)點(diǎn),并能夠根據(jù)用戶要求實(shí)現(xiàn)特定功能,合理的軟件與硬件平臺(tái)是嵌入式系統(tǒng)設(shè)計(jì)的前提。一般地,嵌入式系統(tǒng)可分為四部分:嵌入式處理器、嵌入式外圍設(shè)備、嵌入式操作系統(tǒng)以及嵌入式應(yīng)用軟件等,各個(gè)組成部分之間相輔相成,根據(jù)主次關(guān)系完成自身功能,如圖1所示。
圖1 嵌入式系統(tǒng)總體框架
嵌入式處理器是整個(gè)系統(tǒng)的核心部件,與常規(guī)的處理器相比,其更具有特定性的功能,因而成本更低。在網(wǎng)絡(luò)安全控制中,文中采用的嵌入式處理器為ARM9系列微處理器,屬于32位處理器,該處理器包含ARM920T,ARM922T和ARM940T三種類(lèi)型內(nèi)核,對(duì)于高頻數(shù)據(jù)的處理具有一定的優(yōu)勢(shì)。嵌入式系統(tǒng)中的硬件設(shè)計(jì)需要綜合考慮性?xún)r(jià)比與兼容性,通過(guò)板卡的集成性,可大大減小系統(tǒng)的體積,并增強(qiáng)控制能力及穩(wěn)定性,因此,文中采用VxWorks 嵌入式 RTOS 環(huán)境下的系統(tǒng)構(gòu)架。
網(wǎng)絡(luò)安全主要表現(xiàn)在鏈路層、網(wǎng)絡(luò)層、傳輸層以及應(yīng)用層等,具體表現(xiàn)為:
(1)鏈路層在網(wǎng)絡(luò)安全中的作用為保證數(shù)據(jù)的機(jī)密性與完整性,在實(shí)際中,其通過(guò)局域網(wǎng)的虛擬化、通訊的鏈路加密等方式提升信號(hào)的可靠性。鏈路層的加密相對(duì)簡(jiǎn)單,數(shù)據(jù)的處理速度較快,對(duì)于硬件的加密有著良好的效果。(2)網(wǎng)絡(luò)層在網(wǎng)絡(luò)安全中的作用主要為防止信息的非法修改、冒充、竊取等,可根據(jù)用戶的要求,調(diào)整訪問(wèn)的權(quán)限級(jí)別,比如防火墻、網(wǎng)絡(luò)地址限制等。網(wǎng)絡(luò)層能夠有效的保護(hù)用戶信息的安全性。(3)UDP協(xié)議在網(wǎng)絡(luò)安全中的作用為防止重播攻擊,由于其在進(jìn)行數(shù)據(jù)連接時(shí)具有隨時(shí)性,可通過(guò)管理員驗(yàn)證的方式避免一些容易的重播攻擊,對(duì)于其他層的數(shù)據(jù)安全性有著重要的作用。(4)應(yīng)用層在網(wǎng)絡(luò)安全中的作用為提供安全服務(wù),并能夠補(bǔ)充一些下層協(xié)議之間的漏洞,提升多樣性系統(tǒng)的安全,比如,身份驗(yàn)證、數(shù)字簽名等,均通過(guò)應(yīng)用層的作用進(jìn)行。應(yīng)用層的特點(diǎn)表現(xiàn)在根據(jù)網(wǎng)絡(luò)協(xié)議的情況控制網(wǎng)絡(luò)連接。
根據(jù)嵌入式系統(tǒng)的特點(diǎn)可知,一些良好的網(wǎng)絡(luò)安全加密算法可在系統(tǒng)中得到應(yīng)用,比如用于數(shù)據(jù)完整性驗(yàn)證的摘要算法。目前,對(duì)于摘要算法,在各個(gè)領(lǐng)域中應(yīng)用較多的有:MD2、MD4、MD5、SHA、RIPEMD 和 TIGER 等。其中,MD5算法是專(zhuān)家學(xué)者對(duì)MD2 和MD4 的不斷改進(jìn)后得到的。根據(jù)所查文獻(xiàn)與資料可知,在相同的硬件與軟件平臺(tái)中,基于MD5的摘要算法優(yōu)勢(shì)更為明顯,PC控制下能夠在非常少的CPU占用率下得到滿意的運(yùn)算效率,是近年來(lái)一個(gè)重要的應(yīng)用方向。因此,文中的嵌入式系統(tǒng)采用基于MD5的摘要算法,對(duì)于數(shù)據(jù)完整性與安全性驗(yàn)證具有良好的效果。
圖2 網(wǎng)絡(luò)安全模塊框架
為了進(jìn)一步研究嵌入式系統(tǒng)在網(wǎng)絡(luò)安全中的應(yīng)用,文中針對(duì)系統(tǒng)的特點(diǎn)以及網(wǎng)絡(luò)分層的結(jié)構(gòu)對(duì)系統(tǒng)的整體構(gòu)架進(jìn)行了設(shè)計(jì)。對(duì)于嵌入式系統(tǒng)中的網(wǎng)絡(luò)安全密碼系統(tǒng)研究,文中主要根據(jù)SSL網(wǎng)絡(luò)安全協(xié)議的內(nèi)容以及安全模塊的應(yīng)用,對(duì)系統(tǒng)進(jìn)行調(diào)試與分析,其中,網(wǎng)絡(luò)安全模塊的主體框架如圖2所示,通過(guò)功能移植,將網(wǎng)絡(luò)安全模塊應(yīng)用于嵌入式系統(tǒng)。
在嵌入式系統(tǒng)中,網(wǎng)絡(luò)安全模塊的硬件與軟件平臺(tái)由局域網(wǎng)的環(huán)境進(jìn)行控制。為了便于系統(tǒng)的設(shè)計(jì)與測(cè)試,文中將VxWorks移植到PMI-800為核心的PC104模塊中,并采用編程的方法得到BSP包,獲得了在AR9系列處理器上良好的兼容性。對(duì)于SSL協(xié)議的移植,文中通過(guò) OpenSSL模塊嵌入的方式進(jìn)行,在實(shí)際控制系統(tǒng)中易于檢驗(yàn)。在通訊的安全性與可靠性方面,嵌入式系統(tǒng)應(yīng)用了多種方式的協(xié)議,比如密碼互換協(xié)議、完整性認(rèn)證協(xié)議、數(shù)據(jù)通信加密協(xié)議等,其中,用戶身份驗(yàn)證加密運(yùn)用了非對(duì)稱(chēng)橢圓曲線加密算法,信息的驗(yàn)證采用了對(duì)成算法,數(shù)據(jù)的完整性測(cè)試采用了MD5摘要算法。通過(guò)不同協(xié)議層的應(yīng)用,能夠?qū)崿F(xiàn)多目標(biāo)下的網(wǎng)絡(luò)安全性能。
在嵌入式系統(tǒng)的網(wǎng)絡(luò)安全模塊中,SSL 協(xié)議作為最重要的協(xié)議之一,其主要功能為通訊數(shù)據(jù)的分割、加密、壓縮與解壓、數(shù)據(jù)封裝等。網(wǎng)絡(luò)完全模塊的組成基于 SSL 協(xié)議,其組成與結(jié)構(gòu)如圖3所示。首先,網(wǎng)絡(luò)安全模塊需要用戶進(jìn)行配置、維護(hù)與查詢(xún),數(shù)據(jù)的輸出模塊需要進(jìn)行AH處理與ESP處理,并通過(guò)一定的算法進(jìn)行加密。
圖3 網(wǎng)絡(luò)安全模塊組成
在完成算法認(rèn)證與算法加密的處理后,秘鑰參數(shù)中將保留數(shù)據(jù)的運(yùn)算過(guò)程。SSL協(xié)議的運(yùn)算記錄通過(guò)壓縮操作后進(jìn)行數(shù)據(jù)認(rèn)證,包括加密性與完整性認(rèn)證,其中,SSL協(xié)議的運(yùn)算支持諸多加密算法,比如流加密算法、塊加密算法、認(rèn)證算法等,具有良好的通用性。
數(shù)據(jù)發(fā)送與接收的安全性是網(wǎng)絡(luò)安全模塊重點(diǎn)保證的內(nèi)容。載數(shù)據(jù)交換時(shí),首先需要通過(guò)Handshake Protocol對(duì)相應(yīng)的數(shù)據(jù)處理方法進(jìn)行確定,當(dāng)出現(xiàn)錯(cuò)誤時(shí),能夠及時(shí)停止,避免重要數(shù)據(jù)流失。數(shù)據(jù)的傳輸需要發(fā)送端與接收端相互的認(rèn)證,比如對(duì)協(xié)議版本、加密算法等的認(rèn)證。
在嵌入式系統(tǒng)中,文中采用 OpenSSL 的安全算法模塊來(lái)實(shí)現(xiàn)相應(yīng)的加密方案。在Openssl EVP中,包含了眾多的密碼加密函數(shù),比如對(duì)稱(chēng)算法、摘要算法、簽名算法、驗(yàn)簽算法等。
EVP函數(shù)中的算法具有數(shù)據(jù)封裝功能,能夠保證數(shù)據(jù)的可靠性與安全性。在 EVP函數(shù)所提供的算法庫(kù)中,具有一定的通用性,比如,ENC_CIPHER_CTX結(jié)構(gòu)可通過(guò)CREATE函數(shù)進(jìn)行建立并將其完成初始化操作,然后通過(guò)INIT函數(shù)將具體的算法進(jìn)行掛載和賦予,從而ENC_CIPHER結(jié)構(gòu)完成算法的初始化操作。
在信號(hào)通訊過(guò)程中,不連續(xù)數(shù)據(jù)塊的加密一般通過(guò)以下方式:首先,采用 UPDATE函數(shù)對(duì)各個(gè)需要加密的數(shù)據(jù)塊進(jìn)行定義和調(diào)用;然后,基于 FINAL函數(shù)將所有的數(shù)據(jù)塊進(jìn)行連續(xù)性處理,形成一系列的數(shù)據(jù)密文;最后調(diào)用相應(yīng)的接口函數(shù)進(jìn)行數(shù)據(jù)通訊。在網(wǎng)絡(luò)安全模塊中,數(shù)據(jù)的加密方式作為最重要的設(shè)計(jì)內(nèi)容之一,其對(duì)于整個(gè)嵌入式系統(tǒng)的工作效率有著重要的影響。
嵌入式系統(tǒng)在網(wǎng)絡(luò)安全方面的應(yīng)用能夠提升網(wǎng)絡(luò)安全模塊的靈活性與安全性。文中通過(guò)對(duì)網(wǎng)絡(luò)安全的分析,確定了系統(tǒng)的總體框架,其中,網(wǎng)絡(luò)安全模塊通過(guò)功能移植,將網(wǎng)絡(luò)安全模塊應(yīng)用于嵌入式系統(tǒng);通過(guò)數(shù)據(jù)的分割、加密、壓縮與解壓、數(shù)據(jù)封裝等處理,實(shí)現(xiàn)了不同協(xié)議層下,多目標(biāo)下的網(wǎng)絡(luò)安全性控制,對(duì)于提升網(wǎng)絡(luò)安全系統(tǒng)的模塊功能和降低設(shè)計(jì)成本均有著重要的意義。
網(wǎng)絡(luò)安全技術(shù)與應(yīng)用2015年10期