日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

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

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

VPN概念

什么是VPN

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

VPN如何保護通信安全

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

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

VPN的使用

VPN安全網(wǎng)關與VPN Client軟件配合使用,通過靈活配置隧道策略,不僅可以解決通信的安全問題,還可以解決用戶對公司總部網(wǎng)絡的訪問授權問題。圖1 是一個VPN安全系統(tǒng)的典型網(wǎng)絡拓撲圖。

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

VPN安全網(wǎng)關設計方案概述

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

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

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

VPN安全網(wǎng)關的設計目標

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

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

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

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

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

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

技術思想

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

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

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

利用ppcboot引導

ppcboot是德國Denk軟件工程中心開發(fā)的引導程序,我們在研究開發(fā)中使用了其中的ppcboot-1. 1. 5作為開發(fā)藍本,對其代碼進行了修改,以滿足硬件設計的要求。

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

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

COPYING

CRED ITS

MAKEALL

Makefile / /制作文件

README / /必讀的文件

System. map / /當編譯連接完成后,所生成的ppcboot二進

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

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

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

config. mk

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

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

doc / /技術文檔目錄

examp les / /一些簡單的、無需操作系統(tǒng)的應用程序

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

include / /頭文件

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

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

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

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

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

rtc / /實時時鐘支持

tools / /與ppcboot相關的一些工具軟件ppcboot的特點

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

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

建立Linux開發(fā)平臺

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

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

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

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

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

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

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

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

flash memory 驅(qū)動程序源碼: /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行。對于應用軟件,一般情況下只要替換編譯器cc為ppc_8xx-gcc,重新編譯一下源代碼即可。構建目標文件系統(tǒng)

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

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

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

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

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

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

為了使用硬件加密模塊,需要在Linux內(nèi)核的IPSec實現(xiàn)中添加和修改相應的代碼,下面對其簡單說明。由于IPSec實現(xiàn)在內(nèi)核中的特殊位置,并且MPC855T的主頻較低 (80MHz) ,采用訪問設備驅(qū)動文件的方式訪問硬件SSF10加密模塊會造成速率大幅降低。因此,我們采用I/O直接訪問硬件SSF10芯片。這需要將模塊驅(qū)動中的操作分散到IPSec實現(xiàn)的相關部分,替換原來的軟件加密算法。同理,可以使用硬件DES/3DES、硬件AES算法和其他國密辦批準的算法,用硬件實現(xiàn)數(shù)據(jù)加密。對IPSec的一個實現(xiàn)freeswan算法部分進行修改,使其可以實現(xià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é)束語

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

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

CPU親和度通過限制進程或線程可以運行的CPU核心集合,使得它們只能在指定的CPU核心上執(zhí)行。這可以減少CPU緩存的失效次數(shù),提高緩存命中率,從而提升系統(tǒng)性能。

關鍵字: Linux 嵌入式

在Linux系統(tǒng)性能優(yōu)化中,內(nèi)存管理與網(wǎng)絡連接處理是兩大核心領域。vm.swappiness與net.core.somaxconn作為關鍵內(nèi)核參數(shù),直接影響系統(tǒng)在高負載場景下的穩(wěn)定性與響應速度。本文通過實戰(zhàn)案例解析這兩個...

關鍵字: Linux 內(nèi)存管理

對于LLM,我使用b谷歌Gemini的免費層,所以唯一的成本是n8n托管。在使用了n8n Cloud的免費積分后,我決定將其托管在Railway上(5美元/月)。然而,由于n8n是開源的,您可以在自己的服務器上托管它,而...

關鍵字: 人工智能 n8n Linux

在Linux系統(tǒng)管理中,權限控制是安全運維的核心。本文通過解析/etc/sudoers文件配置與組策略的深度應用,結(jié)合某金融企業(yè)生產(chǎn)環(huán)境案例(成功攔截98.7%的非法提權嘗試),揭示精細化權限管理的關鍵技術點,包括命令別...

關鍵字: Linux 用戶權限 sudoers文件

Linux內(nèi)核中的信號量(Semaphore)是一種用于資源管理的同步原語,它允許多個進程或線程對共享資源進行訪問控制。信號量的主要作用是限制對共享資源的并發(fā)訪問數(shù)量,從而防止系統(tǒng)過載和數(shù)據(jù)不一致的問題。

關鍵字: Linux 嵌入式

在云計算與容器化技術蓬勃發(fā)展的今天,Linux網(wǎng)絡命名空間(Network Namespace)已成為構建輕量級虛擬網(wǎng)絡的核心組件。某頭部互聯(lián)網(wǎng)企業(yè)通過命名空間技術將測試環(huán)境資源消耗降低75%,故障隔離效率提升90%。本...

關鍵字: Linux 云計算

在Linux內(nèi)核4.18+和主流發(fā)行版(RHEL 8/Ubuntu 20.04+)全面轉(zhuǎn)向nftables的背景下,某電商平臺通過遷移將防火墻規(guī)則處理效率提升40%,延遲降低65%。本文基于真實生產(chǎn)環(huán)境案例,詳解從ipt...

關鍵字: nftables Linux

在Linux設備驅(qū)動開發(fā)中,等待隊列(Wait Queue)是實現(xiàn)進程睡眠與喚醒的核心機制,它允許進程在資源不可用時主動放棄CPU,進入可中斷睡眠狀態(tài),待資源就緒后再被喚醒。本文通過C語言模型解析等待隊列的實現(xiàn)原理,結(jié)合...

關鍵字: 驅(qū)動開發(fā) C語言 Linux

在Unix/Linux進程間通信中,管道(pipe)因其簡單高效被廣泛使用,但默認的半雙工特性和無同步機制容易導致數(shù)據(jù)競爭。本文通過父子進程雙向通信案例,深入分析互斥鎖與狀態(tài)機在管道同步中的應用,實現(xiàn)100%可靠的數(shù)據(jù)傳...

關鍵字: 管道通信 父子進程 Linux

RTOS :RTOS的核心優(yōu)勢在于其實時性。它采用搶占式調(diào)度策略,確保高優(yōu)先級任務能夠立即獲得CPU資源,從而在最短時間內(nèi)完成處理。RTOS的實時性是通過嚴格的時間管理和任務調(diào)度算法實現(xiàn)的,能夠滿足對時間敏感性要求極高的...

關鍵字: Linux RTOS
關閉