當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]Motorola通信處理器PowerPC在通信業(yè)中使用廣泛,并具有良好的性價(jià)比,可以滿足VPN安全網(wǎng)關(guān)的設(shè)計(jì)需要。另外,安全產(chǎn)品涉及一個(gè)國(guó)家的主權(quán)和敏感的安全信息,作為保證安全極為重要的操作系統(tǒng)和加密算法應(yīng)該完全為自己掌握。因此,采用具有自主知識(shí)產(chǎn)權(quán)的操作系統(tǒng)和加密算法尤為重要。而Linux操作系統(tǒng)源代碼的開放性及其在網(wǎng)絡(luò)產(chǎn)品中的優(yōu)異表現(xiàn),使得我們可以用其構(gòu)建具有自主知識(shí)產(chǎn)權(quán)的VPN安全網(wǎng)關(guān)。

目前,國(guó)內(nèi)大部分VPN 網(wǎng)關(guān)在硬件平臺(tái)上使用基于x86 CPU的商用工控機(jī)主板。由于商用工控機(jī)是為一般的工業(yè)控制而設(shè)計(jì)的,作為VPN網(wǎng)關(guān)使用時(shí),存在功能冗余、成本及可靠性難于控制等問(wèn)題。因此,有必要自己設(shè)計(jì)一款性價(jià)比較高的硬件平臺(tái)供VPN網(wǎng)關(guān)使用。Motorola通信處理器PowerPC在通信業(yè)中使用廣泛,并具有良好的性價(jià)比,可以滿足VPN安全網(wǎng)關(guān)的設(shè)計(jì)需要。另外,安全產(chǎn)品涉及一個(gè)國(guó)家的主權(quán)和敏感的安全信息,作為保證安全極為重要的操作系統(tǒng)和加密算法應(yīng)該完全為自己掌握。因此,采用具有自主知識(shí)產(chǎn)權(quán)的操作系統(tǒng)和加密算法尤為重要。而L inux操作系統(tǒng)源代碼的開放性及其在網(wǎng)絡(luò)產(chǎn)品中的優(yōu)異表現(xiàn),使得我們可以用其構(gòu)建具有自主知識(shí)產(chǎn)權(quán)的VPN安全網(wǎng)關(guān)。

VPN概念

什么是VPN

VPN即虛擬專用網(wǎng),是通過(guò)一定的安全機(jī)制在公用的網(wǎng)絡(luò)如因特網(wǎng)中建立起與公網(wǎng)相對(duì)獨(dú)立和封閉的信息通道,以保護(hù)企業(yè)各子網(wǎng)之間、子網(wǎng)和移動(dòng)用戶之間、移動(dòng)用戶和服務(wù)器之間的通信數(shù)據(jù)的安全。VPN利用公網(wǎng)的資源,讓用戶擁有同專網(wǎng)相同的安全性,并享受因特網(wǎng)帶來(lái)的經(jīng)濟(jì)實(shí)惠和方便迅捷。

VPN如何保護(hù)通信安全

不同類型的VPN所采用的協(xié)議不同,使用的安全機(jī)制也不同。關(guān)于VPN的協(xié)議比較多,但目前最完善的、安全性最高的應(yīng)屬IPSec協(xié)議。它可使用CA 數(shù)字證書來(lái)實(shí)現(xiàn)通信雙方的身份認(rèn)證;使用對(duì)稱加密算法來(lái)對(duì)數(shù)據(jù)進(jìn)行加密,保證數(shù)據(jù)的安全性;使用單向散列函數(shù)對(duì)數(shù)據(jù)計(jì)算摘要,并對(duì)摘要進(jìn)行加密來(lái)保證數(shù)據(jù)的完整性。此外,VPN節(jié)點(diǎn)之間通信,不可能每次都手工配置密鑰,手工方式既不安全也不方便,可以采用因特網(wǎng)自動(dòng)密鑰交換協(xié)議來(lái)進(jìn)行密鑰的協(xié)商,設(shè)置每次會(huì)話密鑰的生命期,在快要結(jié)束生命期時(shí),自動(dòng)協(xié)商下一個(gè)會(huì)話密鑰。

當(dāng)企業(yè)虛擬專網(wǎng)建立時(shí),需要在各個(gè)子網(wǎng)的出口配置安全網(wǎng)關(guān)。安全網(wǎng)關(guān)負(fù)責(zé)對(duì)流出數(shù)據(jù)進(jìn)行加密和計(jì)算校驗(yàn)和,對(duì)進(jìn)入數(shù)據(jù)進(jìn)行檢驗(yàn)和解密,并實(shí)施訪問(wèn)控制。VPN安全網(wǎng)關(guān)在其中具有舉足輕重的作用。比如,當(dāng)一臺(tái)主機(jī)與另外一臺(tái)主機(jī)通信時(shí),會(huì)首先啟動(dòng)IKE (自動(dòng)密鑰協(xié)商)進(jìn)程協(xié)商各種工作參數(shù),包括加密算法、驗(yàn)證算法、密鑰長(zhǎng)度、密鑰值等,并進(jìn)行雙向的身份認(rèn)證,所有這些成為一個(gè)安全關(guān)聯(lián)( Security Association) 。

VPN的使用

VPN安全網(wǎng)關(guān)與VPN Client軟件配合使用,通過(guò)靈活配置隧道策略,不僅可以解決通信的安全問(wèn)題,還可以解決用戶對(duì)公司總部網(wǎng)絡(luò)的訪問(wèn)授權(quán)問(wèn)題。圖1 是一個(gè)VPN安全系統(tǒng)的典型網(wǎng)絡(luò)拓?fù)鋱D。

當(dāng)網(wǎng)關(guān)與網(wǎng)關(guān)相連時(shí),通過(guò)VPN管理中心或終端方式為需要相互通信的兩臺(tái)網(wǎng)關(guān)間配置對(duì)應(yīng)的隧道,位于兩臺(tái)私口后的主機(jī)就能通過(guò)加密隧道進(jìn)行通信,防止數(shù)據(jù)被丟失、篡改并保證數(shù)據(jù)的完整。

VPN安全網(wǎng)關(guān)設(shè)計(jì)方案概述

VPN系統(tǒng)體系結(jié)構(gòu)

VPN的主要作用是采用加密、認(rèn)證和網(wǎng)絡(luò)技術(shù)在公共互聯(lián)網(wǎng)上構(gòu)建相互信任方之間的安全加密信息傳輸通道,以期達(dá)到專用網(wǎng)絡(luò)的效果。VPN網(wǎng)關(guān)在其中將發(fā)揮非常重要的核心作用。

由圖1可知,VPN網(wǎng)關(guān)工作在本地局域網(wǎng)及與其通信的遠(yuǎn)程局域網(wǎng)的網(wǎng)關(guān)位置,具有加密和認(rèn)證功能。相互信任的局域網(wǎng)間進(jìn)行通信時(shí),仍然使用互聯(lián)網(wǎng)作為中間信道。但是,通過(guò)VPN網(wǎng)關(guān)的加密功能確保信息在不安全的互聯(lián)網(wǎng)上流通時(shí)是密文形式。這樣,即便信息被截取,也無(wú)法偷窺或篡改其內(nèi)容,保證通過(guò)互聯(lián)網(wǎng)連接的局域網(wǎng)間通信的安全性、機(jī)密性、可認(rèn)證性和完整性等安全性能。

VPN安全網(wǎng)關(guān)的設(shè)計(jì)目標(biāo)

(1) 完整實(shí)現(xiàn)IPSec協(xié)議簇,完全支持VPN的要求。

(2) 要建立在具有自主版權(quán)的、安全性完全控制在自己手中的內(nèi)核操作系統(tǒng)之上。

(3) 要確保自身的安全、協(xié)議的安全和信息通道的安全。采用國(guó)密辦批準(zhǔn)的加密算法,由硬件實(shí)現(xiàn)數(shù)據(jù)加解密。

(4) 要具有較高的性價(jià)比,滿足低端網(wǎng)絡(luò)的要求。明文吞吐率10Mbp s;啟用IPSec協(xié)議,以隧道方式加密傳輸時(shí),吞吐率大于4Mbp s。

(5) 設(shè)計(jì)與實(shí)現(xiàn)要采用先進(jìn)的硬、軟件技術(shù)和方法。

(6) 盡可能方便管理、靈活配置和界面友好。

技術(shù)思想

(1) 軟件: ①自主開發(fā)的嵌入式安全操作系統(tǒng)內(nèi)核;②由于L inux OS的源代碼的開放性及其在網(wǎng)絡(luò)產(chǎn)品中的優(yōu)異表現(xiàn),因而可以用其構(gòu)建具有自主知識(shí)產(chǎn)權(quán)的VPN安全網(wǎng)關(guān)(采用嵌入式L inux 2. 4. 4 For PowerPC,內(nèi)核根據(jù)需要裁減,并加入相應(yīng)的硬件驅(qū)動(dòng)程序,完成對(duì)FlashMemory和DOC文件系統(tǒng)的支持) ;③網(wǎng)絡(luò)協(xié)議和IPSec協(xié)議層; ④數(shù)據(jù)加/解密算法由采用國(guó)密辦批準(zhǔn)的硬件加密芯片SSF10B實(shí)現(xiàn); ⑤管理系統(tǒng)層需支持手工和通過(guò)SMC (安全管理中心)配置IPSec策略。

(2) 硬件:根據(jù)設(shè)計(jì)要求,該VPN網(wǎng)關(guān)將用于10Mbp s以太網(wǎng)環(huán)境中,設(shè)計(jì)采用目前在通信業(yè)中使用較廣的Mo2torola通信處理器PowerPC MPC8xx作為主CPU,選用其中一款性價(jià)比較高的控制器MPC855T。在硬件平臺(tái)的設(shè)計(jì)中,本著滿足性能要求,保證高可靠性和高性價(jià)比的原則,采用有多種硬件選項(xiàng)的設(shè)計(jì),來(lái)滿足設(shè)計(jì)要求。嵌入式L inux操作系統(tǒng)的構(gòu)建

通常的嵌入式系統(tǒng)開發(fā)大致可以分為硬件設(shè)計(jì)、裝載或引導(dǎo)嵌入式系統(tǒng)、在嵌入式系統(tǒng)上建立開發(fā)平臺(tái)以及開發(fā)應(yīng)用等四個(gè)步驟。

利用ppcboot引導(dǎo)

ppcboot是德國(guó)Denk軟件工程中心開發(fā)的引導(dǎo)程序,我們?cè)谘芯块_發(fā)中使用了其中的ppcboot-1. 1. 5作為開發(fā)藍(lán)本,對(duì)其代碼進(jìn)行了修改,以滿足硬件設(shè)計(jì)的要求。

ppcboot源碼樹的目錄結(jié)構(gòu)

CHANGELOG / /記錄歷次版本升級(jí)時(shí)的修改內(nèi)容

COPYING

CRED ITS

MAKEALL

Makefile / /制作文件

README / /必讀的文件

System. map / /當(dāng)編譯連接完成后,所生成的ppcboot二進(jìn)

/ /制中所有函數(shù)、數(shù)據(jù)的地址信息

board / /各種與板子硬件關(guān)聯(lián)的. c模塊

common / /一些通用ppcboot命令集的. c模塊

config. mk

cpu / /與MPC8xx硬件關(guān)聯(lián)的系統(tǒng)初始化. c代碼

disk / /磁盤分區(qū)支持

doc / /技術(shù)文檔目錄

examp les / /一些簡(jiǎn)單的、無(wú)需操作系統(tǒng)的應(yīng)用程序

fs / /ppcboot中對(duì)文件系統(tǒng)的支持

include / /頭文件

net / /網(wǎng)絡(luò)協(xié)議支持

ppc PowerPC / /處理器運(yùn)行時(shí)環(huán)境支持

ppcboot / / elf32格式的ppcboot二進(jìn)制執(zhí)行文件

ppcboot. bin / / raw二進(jìn)制格式的ppcboot執(zhí)行文件

ppcboot. map / / s2record格式的ppcboot執(zhí)行文件

rtc / /實(shí)時(shí)時(shí)鐘支持

tools / /與ppcboot相關(guān)的一些工具軟件ppcboot的特點(diǎn)

經(jīng)修改后, ppcboot-1. 1. 5 具有如下特性: ( 1 ) 支持bootm,直接從flash引導(dǎo)L inux,并提供軟件工具集,可構(gòu)建出最終燒結(jié)用的影像; (2) 支持從doc或flash memory引導(dǎo)L inux,并提供工具集,可構(gòu)建出最終燒結(jié)用的影像; (3) 板上flash /doc讀、寫、擦除功能; (4) 支持串行口kermit協(xié)議下載代碼或數(shù)據(jù); (5) 支持scc1以太網(wǎng)口啟動(dòng)tftp下傳數(shù)據(jù):如內(nèi)核、ramdisk、autoscrip t等影像; ( 6) 支持串行口srecord下載代碼或數(shù)據(jù); (7) 支持autoscrip t; (8) 提供板上內(nèi)存讀寫,格式化顯示,可進(jìn)行簡(jiǎn)單測(cè)試。

當(dāng)完成ppcboot-1. 1. 5的改寫后,對(duì)其進(jìn)行編譯,得到二進(jìn)制的ppcboot. bin代碼,然后將其燒錄在板上的BOOTEPROM中,這樣就可以在上電后完成對(duì)系統(tǒng)的引導(dǎo)。

建立Linux開發(fā)平臺(tái)

修改和編譯嵌入式Linux內(nèi)核

Linux內(nèi)核有自己的結(jié)構(gòu)體系,進(jìn)程管理、內(nèi)存管理和文件系統(tǒng)是其最基本的三個(gè)子系統(tǒng)。圖2 為L(zhǎng)inux 內(nèi)核的結(jié)構(gòu)。圖中虛線框中部分可以看成是Linux內(nèi)核的單內(nèi)核結(jié)構(gòu),因此修改內(nèi)核必須注意各子系統(tǒng)間的協(xié)調(diào)。

Linux開發(fā)平臺(tái)使用內(nèi)核版本為2. 4. 4的PowerPC嵌入式L inux操作系統(tǒng)作為VPN 網(wǎng)關(guān)的基本軟件平臺(tái)。為了支持硬件平臺(tái),需要對(duì)內(nèi)核進(jìn)行修改,并增加相應(yīng)設(shè)備的驅(qū)動(dòng)程序。

(1) 驅(qū)動(dòng)程序列表。

DOC 驅(qū)動(dòng)程序源碼: /home / sjw01 / linux/drivers/mtd /devices/ doc2000. c;

以太網(wǎng)驅(qū)動(dòng)程序源碼: / home / sjw01 / linux/ arch /ppc /8xx _ io / enet_scc1. c fec. c;

RTC 驅(qū)動(dòng)程序源碼: /home / sjw01 / linux/drivers/unis _ rtc / rtc8xx. h rtc8xx. c setrtc8xx. cMkaefile setrtc8xx;

串口驅(qū)動(dòng)程序源碼: /home / sjw01 / linux/ arch /ppc /8xx_ io / uart. c;

flash memory 驅(qū)動(dòng)程序源碼: /home / sjw01 / linux/drivers/mtd / map s/unis. c。

(2) 交叉編譯環(huán)境。

使用hardhat CDK2. 0作為開發(fā)工具,需將下面的路徑加入用戶環(huán)境變量$PATH 中: /op t/hardhat/devkit/ppc /8xx/bin; #export PATH = $PATH: /op t/hardhat/devkit/ppc /8xx/bin或編輯“. bash_p rofile”文件的PATH行。對(duì)于應(yīng)用軟件,一般情況下只要替換編譯器cc為ppc_8xx-gcc,重新編譯一下源代碼即可。構(gòu)建目標(biāo)文件系統(tǒng)

配置DOC或FlashMemory中的文件系統(tǒng)是件很講究的事情,主要是因?yàn)镈OC /Flash容量有限,在保證正常功能的前提下,要盡可能地少占用資源。

總體上,文件分成如下幾類: (1)共享庫(kù)類:這類文件必不可少。(2) L inux/GNU系統(tǒng)實(shí)用工具:盡量用busybox、tinylogin代替,能減則減。(3)配置文件:多出現(xiàn)在/ etc下,不太占地方,但要注意協(xié)調(diào)關(guān)系。(4)用戶應(yīng)用程序:編譯時(shí)盡量使用動(dòng)態(tài)連接,編譯后strip一下,放到固定位置。

目標(biāo)文件系統(tǒng)列表如表1所示。

所有配置文件、可執(zhí)行文件、庫(kù)文件的位置均符合L inux操作系統(tǒng)的慣例。

IPSec實(shí)現(xiàn)中的硬件加密算法

在VPN安全網(wǎng)關(guān)中,加密算法的安全、高效,是VPN網(wǎng)關(guān)安全性和有效性的重要保證。為此,在設(shè)計(jì)中采用了一種硬件加密模塊的方式,使得我們的VPN網(wǎng)關(guān)可以在硬件上使用不同的加密算法。在我們的默認(rèn)配置中,使用國(guó)密辦批準(zhǔn)的分組加密算法芯片SSF10。

為了使用硬件加密模塊,需要在Linux內(nèi)核的IPSec實(shí)現(xiàn)中添加和修改相應(yīng)的代碼,下面對(duì)其簡(jiǎn)單說(shuō)明。由于IPSec實(shí)現(xiàn)在內(nèi)核中的特殊位置,并且MPC855T的主頻較低 (80MHz) ,采用訪問(wèn)設(shè)備驅(qū)動(dòng)文件的方式訪問(wèn)硬件SSF10加密模塊會(huì)造成速率大幅降低。因此,我們采用I/O直接訪問(wèn)硬件SSF10芯片。這需要將模塊驅(qū)動(dòng)中的操作分散到IPSec實(shí)現(xiàn)的相關(guān)部分,替換原來(lái)的軟件加密算法。同理,可以使用硬件DES/3DES、硬件AES算法和其他國(guó)密辦批準(zhǔn)的算法,用硬件實(shí)現(xiàn)數(shù)據(jù)加密。對(duì)IPSec的一個(gè)實(shí)現(xiàn)freeswan算法部分進(jìn)行修改,使其可以實(shí)現(xiàn)硬件算法。與硬件加密算法有關(guān)的文件如下:

freeswan-1. 94 /klip s/net/ ip sec /Config. in;

freeswan-1. 94 / libdes/des_enc. c;

freeswan-1. 94 /klip s/net/ ip sec / ip sec_sa. h;

freeswan-1. 94 /klip s/net/ ip sec / ip sec_tunnel. c;

freeswan-1. 94 /klip s/net/ ip sec / ssf10. h;

freeswan-1. 94 /klip s/net/ ip sec / ip sec_init. c;

freeswan-1. 94 /klip s/net/ ip sec /pfkey_v2_parser. c;

freeswan-1. 94 /klip s/net/ ip sec_rcv. c。

完成修改后, 使用內(nèi)核make menuconfig 命令, 選中Networking op tions→[* ] IPSEC: Use SSF10..,重新編譯即可使用SSF10硬件算法模塊。

結(jié)束語(yǔ)

為了滿足VPN安全網(wǎng)關(guān)設(shè)計(jì)的目標(biāo),本文在基于Motorola PowerPC和嵌入式L inux的VPN網(wǎng)關(guān)設(shè)計(jì)中使用Motorola通信處理器PowerPC、采用L inux和加密算法,構(gòu)建出了具有自主知識(shí)產(chǎn)權(quán)的VPN安全網(wǎng)關(guān)。理論分析表明,本文提出的VPN安全網(wǎng)關(guān)設(shè)計(jì)方案、嵌入式L inux操作系統(tǒng)的構(gòu)建方法以及硬件加密模塊的實(shí)現(xiàn)方法能夠滿足10Mbp s的網(wǎng)絡(luò)環(huán)境中提供虛擬專用網(wǎng)的安全服務(wù)。但是,由于其定位在低端,不適合在100Mbp s的網(wǎng)絡(luò)環(huán)境中使用。如果要在100Mbp s的環(huán)境中使用VPN網(wǎng)關(guān),就要考慮使用基于PowerPCMPC82xx的硬件平臺(tái)

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉