• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      嵌入式系統(tǒng)的安全隧道的場景使用與原理分析

      2019-10-21 11:17:15吳鵬程李孝成
      科學與財富 2019年31期
      關鍵詞:嵌入式系統(tǒng)

      吳鵬程 李孝成

      摘 要:隨著網(wǎng)絡技術(shù)和嵌入式系統(tǒng)的發(fā)展,嵌入式系統(tǒng)對網(wǎng)絡安全的要求也在逐步提升。對此,本文分析了一種解決網(wǎng)絡安全的網(wǎng)絡隧道方案的原理,并針對嵌入式系統(tǒng)的特性和嵌入式網(wǎng)絡環(huán)境的特性,提出了一套基于安全隧道且適合嵌入式系統(tǒng)使用的虛擬專屬網(wǎng)絡工具 KidVPN的設計。全文從其組成的三個方面對 KidVPN進行了詳細設計介紹,并針對其使用場景等,進行了模擬環(huán)境測試與最終的報文分析驗證。

      關鍵詞:嵌入式系統(tǒng),安全網(wǎng)絡隧道,虛擬專屬網(wǎng)絡,KidVPN

      中圖分類號:TP311.1? ? ? ? ? 文獻標識碼:A

      引言

      隧道技術(shù)指的是利用一種網(wǎng)絡協(xié)議來傳輸另一種網(wǎng)絡協(xié)議的技術(shù)。他可以利用公共網(wǎng)絡來實現(xiàn)某些使用特別通信協(xié)議的網(wǎng)絡或用戶之間的連接和通信,或在不改變網(wǎng)絡標準的條件下,在公共網(wǎng)絡中建立某種固定連接。網(wǎng)絡隧道是虛擬專用網(wǎng)絡 VPN技術(shù)(virtual private network)實現(xiàn)的基礎[1]。VPN技術(shù)是一種在公共網(wǎng)絡上 (主要是Internet網(wǎng)) 將多個私有專用網(wǎng)絡或網(wǎng)絡節(jié)點采用加密、身份驗證、隧道協(xié)議等技術(shù)連接起來, 為用戶提供可通過公用網(wǎng)絡安全地對私有專用網(wǎng)絡進行遠程訪問服務的虛擬專用網(wǎng)絡構(gòu)建技術(shù)[2]。目前許多嵌入式操作系統(tǒng)也開始對 VPN技術(shù)提供了良好的支持,本文借助基于SylixOS的一款輕量型 VPN— KidVPN來闡述安全隧道在嵌入式系統(tǒng)中的場景使用與原理分析。

      1.網(wǎng)絡隧道簡介

      1.1網(wǎng)絡隧道的原理

      一幀網(wǎng)絡報文由兩部分組成,分別為報頭與載荷。整個網(wǎng)絡報文通信時,只有報頭起作用,而真正的報文數(shù)據(jù)存在載荷內(nèi),在傳輸過程中不會被分析和處理。如圖1所示。

      如果在傳輸過程中,將一個完成的網(wǎng)絡報文封裝在另一個網(wǎng)絡報文的載荷中,作為另一個網(wǎng)絡報文的數(shù)據(jù)字段在網(wǎng)絡中進行傳送,那個這個傳送的報文所經(jīng)過的路徑就是網(wǎng)絡隧道。如圖2所示。隧道轉(zhuǎn)變了在報文頭部中協(xié)議嚴格分層的思路,通過隧道的建立,可實現(xiàn)將數(shù)據(jù)強制送到特定的地址、隱藏私有的網(wǎng)絡地址、在 IP網(wǎng)絡上傳遞非 IP數(shù)據(jù)包、提供數(shù)據(jù)安全支持等功能。

      1.2網(wǎng)絡隧道協(xié)議

      為了在通信兩端建立隧道,通信雙方(一般角色為客戶端和服務器)需要使用相同的網(wǎng)絡協(xié)議,這類協(xié)議就成為隧道協(xié)議。這類協(xié)議主要有兩類,一類是以OSI模型中以第二層數(shù)據(jù)鏈路層為基礎的,還有一類是以第三層網(wǎng)絡網(wǎng)絡層為基礎的。

      第一類是以幀作為數(shù)據(jù)交換的單位,主要有:

      ●PPTP(點對點隧道協(xié)議)

      ●L2TP(第二層隧道協(xié)議)

      ●L2F(第二層轉(zhuǎn)發(fā)協(xié)議)

      第二類是以數(shù)據(jù)包作為數(shù)據(jù)交換的單位,主要有:

      ●IPsec;

      ●IP in IP

      1.3網(wǎng)絡隧道的形成

      如1.1 中原理介紹所說,形成網(wǎng)絡隧道的方法只有一種,就是報文封裝。報文封裝是借助上文提到的隧道協(xié)議將上層的數(shù)據(jù)進行打包封裝,但此時這部分數(shù)據(jù)此時仍然是明文的,在網(wǎng)絡傳輸中無法收到保護,很不安全,不符合網(wǎng)絡隧道安全的這一特性。因此在形成隧道時,除了會用到報文封裝外,還會使用到另一種技術(shù),就是隧道加密。隧道加密與報文封裝是相關的,光有隧道加密不無法形成隧道的,只有將數(shù)據(jù)先經(jīng)過隧道加密后,再次進行封裝傳輸,這樣才可以形成加密隧道。如圖3所示。

      2.嵌入式系統(tǒng)中的網(wǎng)絡隧道

      嵌入式系統(tǒng)指的是一個以應用為中心、以計算機技術(shù)為基礎、軟件硬件可裁剪、適應應用系統(tǒng)對功能、可靠性、體積、功耗嚴格要求的專用計算機系統(tǒng)。

      在嵌入式系統(tǒng)中,有如下幾個特點:

      ●專用性強

      ●嵌入式硬件性能較低

      ●嵌入式軟件操作系統(tǒng)的內(nèi)核小

      ●嵌入式系統(tǒng)需要較高的實時性

      ●嵌入式系統(tǒng)需要較高的安全性

      隨著技術(shù)的發(fā)展,嵌入式系統(tǒng)的復雜程度逐漸提高,對網(wǎng)絡功能的需求也日趨上升。尤其是物聯(lián)網(wǎng)的發(fā)展與普及,網(wǎng)絡隧道技術(shù)也被應用到各個嵌入式行業(yè)中。各種嵌入式終端設備在接入網(wǎng)絡時,常常會借助網(wǎng)絡隧道技術(shù)實現(xiàn)嵌入式設備與網(wǎng)絡設備的安全通信。在嵌入式系統(tǒng)中,網(wǎng)絡隧道通常需要滿足如下條件:

      ●網(wǎng)絡隧道搭建與開發(fā)容易

      ●網(wǎng)絡隧道使用便捷

      ●網(wǎng)絡隧道對資源的消耗低

      ●基于網(wǎng)絡隧道的通信安全

      ●基于網(wǎng)絡隧道的通信能滿足實時性的要求

      3.嵌入式輕量型VPN(KidVPN)設計

      VPN技術(shù)通過對網(wǎng)絡數(shù)據(jù)進行封包和加密, 在Internet網(wǎng)絡或其他公共網(wǎng)絡中建立一條虛擬的專用通道, 在公網(wǎng)上傳輸私有數(shù)據(jù), 同時, 保證私有網(wǎng)絡安全性, 將公共網(wǎng)絡的便捷性與專用, 網(wǎng)絡的安全性結(jié)合起來, 實現(xiàn)公網(wǎng)私用[3]。本文將論述一款符合上文描述的嵌入式系統(tǒng)網(wǎng)絡隧道特性的一款輕量型VPN—

      KidVPN的設計。KidVPN一款開源的,體量輕,操作便捷,極其適合嵌入式系統(tǒng)下使用的虛擬專屬網(wǎng)絡工具。KidVPN支持 SylixOS和 Linux操作系統(tǒng)。同時,KidVPN也符合虛擬性,專用性的VPN特點[4],其組成框圖如圖4所示。

      3.1KidVPN的網(wǎng)絡隧道設計

      KidVPN使用的是IPIP隧道協(xié)議。IPIP隧道是一種三層隧道,通過把原來的IP包封裝在新的IP包里面,來創(chuàng)建隧道傳輸。IPIP隧道協(xié)議的實現(xiàn)原理簡單,非常符合在嵌入式系統(tǒng)中使用。如圖5所示

      左側(cè)A報文是原始的正常報文,其內(nèi)部具備“IP頭部”與“IP載荷”。在經(jīng)過IPIP隧道協(xié)議后,報文變成了圖中右側(cè)B報文的結(jié)構(gòu)。其中,原始A報文的“IP頭部”變成了右側(cè)B報文中的“內(nèi)部IP頭部”,原始A報文的IP載荷沒有變化。同時,右側(cè)B報文結(jié)構(gòu)中又多出了“外部IP頭部”與“隧道頭部”。“外部IP頭部”是用來將封裝好的B報文進行網(wǎng)絡傳輸?shù)年P鍵,此時網(wǎng)絡傳輸中的尋址發(fā)送等操作都是根據(jù)“外部IP頭部”中的內(nèi)容進行的。而“隧道頭部”則是用來告知此次傳輸?shù)腂報文是隧道報文,報文內(nèi)容需要進行二次處理后,才能拿到真實的數(shù)據(jù),及封裝前的A報文。

      3.2KidVPN的數(shù)據(jù)收發(fā)設計

      KidVPN通信是基于IPIP網(wǎng)絡隧道協(xié)議實現(xiàn)的,但隧道設計只是VPN實現(xiàn)需要考慮的一部分內(nèi)容。VPN的實現(xiàn)還需要考慮的第二部分內(nèi)容是網(wǎng)絡報文的收發(fā)實現(xiàn)。

      KidVPN采用的是虛擬網(wǎng)卡的方式,實現(xiàn)隧道報文收發(fā)流程。其整體流程如下:

      1.首先在嵌入式系統(tǒng)中需要創(chuàng)建一個虛擬網(wǎng)卡設備,它與真實的網(wǎng)卡設備的差別就在于它沒有對應的硬件。但從上層看到,它與真實的物理網(wǎng)卡設備沒有區(qū)別;

      2.此時,如果嵌入式設備需要借助網(wǎng)絡隧道發(fā)送一幀報文時,報文在經(jīng)過協(xié)議棧操作進行尋址后,協(xié)議棧會將此報文送到第一步創(chuàng)建出的虛擬網(wǎng)卡中,進行報文的發(fā)送;

      3.由于KidVPN接管了虛擬網(wǎng)卡的操作,因此當虛擬網(wǎng)卡收到報文時,KidVPN就會對報文進行隧道封裝,此時封裝后的報文就是一幀符合IPIP隧道協(xié)議的報文;

      4.在KidVPN封裝好隧道報文之后,會進行正常的 UDP通信將報文再次送到協(xié)議棧,此時,協(xié)議棧在進行尋址等操作時,就會按照封裝后的“外部IP頭部”的內(nèi)容進行操作,從而將封裝好的隧道報文經(jīng)過真實的物理網(wǎng)卡發(fā)送到目的端,實現(xiàn)整個網(wǎng)絡隧道報文的發(fā)送流程。

      同樣的,KidVPN隧道報文的接收與發(fā)送類似,當接收端收到隧道報文時,協(xié)議棧只會看“外部IP頭部”,然后將報文去掉“外部IP頭部”后,發(fā)現(xiàn)是一幀 UDP報文,因此會將此報文傳送到上層 UDP服務,即 KidVPN中。此時,KidVPN會對這幀報文進行解包處理,從而拿到隧道封裝前的數(shù)據(jù)報,并將其發(fā)送給虛擬網(wǎng)卡設備。而虛擬網(wǎng)卡設備收到解包好后報文后,會將其作為一個正常的報文在此傳入到協(xié)議棧。這樣完成一個正常隧道報文的接收流程。

      另外,為了保證數(shù)據(jù)的正確連續(xù)通信,KidVPN雙方還需要約定好相關的通信參數(shù),如MTU、保持心跳等。

      因此,KidVPN使用時,通信雙方需要先創(chuàng)建一個虛擬網(wǎng)卡設備,用來進行隧道報文的收發(fā)流程。接著雙方需要建立連接,協(xié)商好通信的參數(shù),最后上層應用即可借助 KidVPN進行正常的網(wǎng)絡隧道通信。

      3.3KidVPN的通信安全設計

      KidVPN主要從兩方面來保證數(shù)據(jù)通信的安全性。

      1.KidVPN使用加密隧道保證數(shù)據(jù)安全

      3.2 中描述了 KidVPN網(wǎng)絡隧道通信的實現(xiàn),但此時的報文仍然是明文報文,如果進行抓包分析處理,仍然可以看到真實的報文內(nèi)容。因此KidVPN使用了 AES高級加密標準加密算法對隧道報文進行了加解密。在網(wǎng)絡隧道通信時,只有“外部IP頭部”是明文的,而涉及到的真實報文數(shù)據(jù),均是加密后的內(nèi)容,因此可以很大程度的保證數(shù)據(jù)安全。

      2.KidVPN使用雙重驗證保證設備安全

      在使用 KidVPN時,客戶端與服務器需要先建立通信連接,用來確保通信報文的準確性與穩(wěn)定性。在建立連接時,KidVPN要求雙方需要提供相同的 AES KEY與 密鑰。KidVPN采用這種雙重認證的方式,來確保加入虛擬專屬網(wǎng)絡中的設備是經(jīng)過認證安全的。

      4.嵌入式輕量型VPN(KidVPN)使用場景驗證

      4.1KidVPN 模擬測試環(huán)境

      由于是 VPN的使用場景一般是兩個網(wǎng)絡,因此需要兩臺設備來搭建驗證 KidVPN的模擬環(huán)境。本文使用兩臺路由器來模擬測試,一臺路由器A作為 KidVPN的服務器,另一臺路由器B作為 KidVPN的客戶端。將這兩臺路由器均接入互聯(lián)網(wǎng)中,此時,這兩臺路由器下的內(nèi)網(wǎng)設備雖能同時訪問互聯(lián)網(wǎng),但它們是不具備互通功能的[5]。拓撲結(jié)構(gòu)如圖6所示。

      4.2KidVPN驗證與報文分析

      此時,配置兩臺路由器讓其運行 KidVPN。在配置時,如上文描述所示需要指定好相關配置參數(shù)與連接密鑰等內(nèi)容。在配置好后,使用B路由器去連接A路由器中的KidVPN服務,出現(xiàn)“[KidVPN] Client add”時,則說明連接成功。此后,配置好路由器上對應的路由策略后,兩個路由器及接入他們的子網(wǎng)設備均已經(jīng)處于同一子網(wǎng)下,此時使用B路由器下的一個主機設備,IP地址為 10.9.0.201 去pingA路由器的虛擬網(wǎng)卡地址也可直接ping通。如圖7所示。

      PC端再通過 wireshare去抓取從路由器 A中發(fā)出的ping報文,抓包內(nèi)容如圖8所示。

      此時,wireshark抓到的 ping報文不是一幀 ICMP報文,而是一幀 UDP報文,其中端口號是 KidVPN服務器使用的 10088 端口號,并且 UDP報文的載荷也已經(jīng)是加密后混亂的數(shù)據(jù),根本無法分析得到真正的 ping報文,從而可以保證數(shù)據(jù)的安全通信。

      綜上,KidVPN經(jīng)過模擬測試環(huán)境的測試,可以實現(xiàn)其預設的功能,能夠做到快速的搭建一個虛擬專屬網(wǎng)絡,同時也符合嵌入式系統(tǒng)下的安全隧道的要求。

      參考文獻:

      [1] 郭鋒.高效圖書館VPN網(wǎng)絡建設研究[J].情報檢索, 2010, (2) :105~107..

      [2] 周群.VPN技術(shù)應用于圖書館研究概述[J].圖書館學刊, 2011, (3) :100~102.

      [3] Sixto Ortiz Jr.Virtual Private Networks:Levera-ging the Internet[J].Computer, 1997, (30) :18~20.

      [4] 蘇東出.利用RounterOs構(gòu)建高校圖書館無縫網(wǎng)絡辦公系統(tǒng)[J].現(xiàn)代圖書情報技術(shù), 2007, (11) :84~86.

      [5] 魏念忠.基于VPN技術(shù)的多校區(qū)校園網(wǎng)絡安全研究[J].微電子學與計算機, 2007, (10) :108~110.

      猜你喜歡
      嵌入式系統(tǒng)
      Teaching Research on IoT and—Embedded System of Software Engineering
      計算機教育(2016年8期)2016-12-24 10:34:05
      基于Xilinx口袋實驗室的組合邏輯電路設計實驗
      面向應用的智能專業(yè)嵌入式系統(tǒng)教學
      基于物聯(lián)網(wǎng)的遠程紅外控制器
      嵌入式系統(tǒng)軟件開發(fā)技術(shù)探析
      基于AVR單片機的SPI接口設計與實現(xiàn)
      辦公自動化系統(tǒng)的設計
      嵌入式系統(tǒng)在醫(yī)療器械中的應用分析
      基于物聯(lián)網(wǎng)項目驅(qū)動的嵌入式系統(tǒng)教學改革的研究與實踐
      嵌入式系統(tǒng)課程“中斷、異常與事件”教學實踐及啟示
      計算機教育(2016年7期)2016-11-10 08:31:34
      托里县| 集贤县| 加查县| 翁牛特旗| 青田县| 班玛县| 鱼台县| 乐平市| 长武县| 扶余县| 象州县| 彰化市| 宝应县| 宜城市| 镇巴县| 天镇县| 德清县| 和平县| 八宿县| 石嘴山市| 深水埗区| 海兴县| 永和县| 隆化县| 梅河口市| 铜山县| 霞浦县| 濉溪县| 安达市| 定兴县| 墨江| 平舆县| 巫山县| 荥经县| 巴马| 会昌县| 疏附县| 武强县| 定边县| 东乡县| 哈巴河县|