亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Netlink消息通信機制的IPSec VPN實現(xiàn)研究

        2017-12-21 22:34:54黃超趙建平韋勇鋼
        網(wǎng)絡空間安全 2017年11期

        黃超++趙建平++韋勇鋼

        摘 要:文章分析研究Netlink機制對于Linux內(nèi)核IPSec服務的支持,提出了一種基于Netlink消息通信機制的IPSec VPN實現(xiàn)方案。方案由內(nèi)核空間IPSec服務模塊和用戶空間IPSEC管理軟件組成,兩者通過Netlink進行通信,并為IPSec VPN提供了靈活、高效的IKE協(xié)商機制和安全可靠IP數(shù)據(jù)包傳輸保障。

        關鍵詞:Netlink;IPSec VPN;IKE協(xié)商;用戶空間;內(nèi)核空間

        中圖分類號:TP393 文獻標識碼:A

        1 引言

        VPN即虛擬專用網(wǎng),是利用開放、不安全的公用網(wǎng)絡作為基本傳輸介質(zhì),通過采用隧道封裝、信息加密、用戶認證和訪問控制等技術形成專用的虛擬鏈路實現(xiàn)對信息傳輸過程的安全保護,從而向用戶提供類似專用網(wǎng)絡安全性能的網(wǎng)絡服務技術。

        IPSec是Internet工程任務組IETF定義的一套安全標準,包括一系列安全協(xié)議,為IP數(shù)據(jù)包傳輸提供安全保障。Linux 虛擬地址空間為0到4G,劃分為內(nèi)核空間和用戶空間兩部分。內(nèi)核空間包括最高的1G字節(jié),而用戶空間包括較低的3G字節(jié)。

        基于Linux 的IPSec VPN由內(nèi)核IPSEC服務模塊和用戶空間IPSec管理軟件組成。內(nèi)核IPSec模塊在內(nèi)核提供IP數(shù)據(jù)包的地址驗證、數(shù)據(jù)完整性校驗,數(shù)據(jù)機密性保護等業(yè)務,用戶空間IPSec管理軟件執(zhí)行IKE密鑰協(xié)商,密鑰配置等業(yè)務。其中IKE密鑰協(xié)商用于產(chǎn)生通信雙方可用于加解密的工作密鑰。

        Netlink是Linux提供的一種消息通信機制,用于內(nèi)核空間和用戶空間之間的信息傳輸。本文提出了一種基于Netlink消息通信機制的IPSec VPN的實現(xiàn)方案。本方案重點是設計用戶空間IPSec管理軟件,實現(xiàn)安全策略管理配置等功能,內(nèi)核模塊采用Linux內(nèi)核原生IPSec服務模塊。

        2 Netlink機制對IPSEC的支持

        內(nèi)核的 IPSEC 處理邏輯中包含SAD 和 SPD 兩個策略數(shù)據(jù)庫,其中 SAD 中包含了所有有效的用于保護通信的安全關聯(lián)(SA),SPD中包含了使用的安全策略(SP)。所有數(shù)據(jù)包在進行IPSEC處理時都要查詢SAD和SPD,根據(jù)查詢到的策略來執(zhí)行相應的安全處理。每個IP數(shù)據(jù)包的處理都需要SP和SA結(jié)合起來使用。內(nèi)核在處理IP數(shù)據(jù)包時,如果應用于該IP數(shù)據(jù)包的安全策略不完整,則通過Netlink向應用層發(fā)送SAD和SPD的管理請求消息。

        Linux內(nèi)核空間和用戶空間使用一種特殊的套接字Netlink Socket實現(xiàn)雙向通信。Linux內(nèi)核中xfrm_user.c文件實現(xiàn)了針對IPSec的Netlink通信模塊,主要是對SAD和SPD的策略管理。xfrm.h文件中定義了14種SAD和SPD的策略管理消息類型,包括新增、刪除、修改、查詢SA和SP,清除所有SA、SP等。

        3 IPSEC-VPN數(shù)據(jù)包處理流程

        基于Netlink的IPSec VPN的IP數(shù)據(jù)包處理流程如圖1所示。

        IPSec管理軟件初始化,讀取解析網(wǎng)絡地址配置文件,分析需要建立IPSec VPN的IP地址,端口號等信息。通過IPSec管理軟件內(nèi)的Netlink消息通信模塊用戶端(以下簡稱Netlink用戶端)發(fā)送“新建SP”消息到內(nèi)核,Netlink消息通信模塊內(nèi)核端(以下簡稱Netlink內(nèi)核端)接收消息并解析出配置信息,調(diào)用內(nèi)核SPD數(shù)據(jù)庫管理接口將新的SP注入到SPD數(shù)據(jù)庫。

        在內(nèi)核層,當有IP數(shù)據(jù)包到來時,判斷合法性,并根據(jù)該包的目的地址、源地址、端口等信息檢索SPD,根據(jù)檢索到的SP對IP數(shù)據(jù)包進行安全策略處理。SPD中對于數(shù)據(jù)包的處理策略包括“應用”“繞過”“丟包”。判斷安全策略的行為是“丟棄”,終止對IP數(shù)據(jù)包的外出處理,包被丟棄;如果行為是“繞過”,做透明處理,不應用安全處理。如果安全策略的行為是“應用”,則進入第三步。

        根據(jù)SAD建立dst_entry鏈表。sk_buff是Linux操作系統(tǒng)網(wǎng)絡部分的一個重要數(shù)據(jù)結(jié)構(gòu),在整個網(wǎng)絡傳輸中作為數(shù)據(jù)載體。dst_entry是sk_buff中的重要組成部分,鏈表記錄了應用于該IP數(shù)據(jù)包的路由,dst_entry中的成員函數(shù)Output指明了數(shù)據(jù)包的具體協(xié)議處理函數(shù)。內(nèi)核IPSEC模塊根據(jù)SP查詢對應SA,如存在,則根據(jù)SA建立dst_entry鏈表。如果沒有,則進行第四步,協(xié)商并建立SA。

        內(nèi)核通過Netlink內(nèi)核端向應用層發(fā)送“請求SA”消息,消息包括需要協(xié)商的對端IP地址等。Netlink用戶端接收到消息并解析為“請求SA”類型以后,發(fā)起IKE密鑰協(xié)商,IKE成功以后,向內(nèi)核發(fā)送“新建SA”消息,消息包括IP地址,SPI,所采取的保護算法,加密參數(shù)等。內(nèi)核接收解析消息,調(diào)用內(nèi)核SAD數(shù)據(jù)庫管理接口將新的SA注入到SAD數(shù)據(jù)庫。隨后根據(jù)SA建立dst_entry鏈表。

        內(nèi)核調(diào)用Output成員函數(shù)進行IP數(shù)據(jù)包的安全協(xié)議處理。處理完成后,將數(shù)據(jù)包放回協(xié)議棧進行后續(xù)的處理。

        4 IPSec管理軟件設計與實現(xiàn)

        在前文對于Linux內(nèi)核IP數(shù)據(jù)包處理流程分析的基礎上,本文設計了用戶友好的IPSec管理軟件。用戶空間IPSec管理軟件結(jié)構(gòu)框圖如圖2所示,由功能模塊組成:主程序模塊、IKE密鑰協(xié)商模塊、策略管理模塊、策略配置模塊、日志記錄模塊、Netlink通信模塊。

        4.1 主線程模塊

        (1)IPSec策略初始化:讀取并解析網(wǎng)絡地址配置信息,根據(jù)地址規(guī)劃配置SP到內(nèi)核SPD數(shù)據(jù)庫,并將配置的SP狀態(tài)信息告知策略管理模塊。地址配置信息包括VPN的IP地址,受IPSEC保護的應用服務器IP地址,IPSec處理模式等,其中處理模式包括“傳輸模式”和“隧道模式”兩種。

        (2)提供用戶友好界面以及IPSec VPN的各項操作指令,包括IPSEC啟動、配置、重啟、查詢等。

        (3)提供面向用戶的操作接口,包括靜態(tài)協(xié)商、策略管理等。

        4.2 IKE密鑰協(xié)商模塊

        支持靜態(tài)和動態(tài)兩種模式IKE協(xié)商。靜態(tài)模式下,用戶通過本軟件手動觸發(fā)IKE協(xié)商功能,動態(tài)模式下,IPSec管理軟件在接收到內(nèi)核的“請求SA”消息以后才會觸發(fā)IKE協(xié)商。IKE協(xié)商模塊接收協(xié)商請求并執(zhí)行,成功后將SA配置信息告知策略管理模塊,并調(diào)用策略配置模塊配置SA到內(nèi)核SAD數(shù)據(jù)庫。

        4.3 策略配置模塊

        根據(jù)需要配置的SA和SP的具體參數(shù),并根據(jù)內(nèi)核xfrm.h定義的14種消息格式將請求封裝成“策略配置消息”,通過Netlink通信模塊發(fā)送到內(nèi)核。

        4.4 Netlink通信模塊

        (1)Netlink通信初始化:創(chuàng)建套接字,指明PF_Netlink 協(xié)議簇、Netlink_XFRM 協(xié)議。

        (2)接收到“策略配置消息”,進一步封裝成內(nèi)核Netlink消息格式,并發(fā)送到內(nèi)核。

        (3)接收并解析來自Netlink內(nèi)核端的Netlink消息,根據(jù)消息內(nèi)容具體處理。例如接收到“請求SA”消息,則觸發(fā)IKE模塊發(fā)起協(xié)商。

        4.5 策略管理模塊

        (1)在本地維護一個安全策略數(shù)據(jù)庫,記錄已存在的SA和SP,提供面向用戶的策略查詢接口。

        (2)提供面向用戶的安全策略管理接口,用戶可以手動對策略進行增刪改查等操作,模塊接收到用戶請求后,首先通過Netlink通信模塊發(fā)送“策略配置消息”到內(nèi)核,更新內(nèi)核的數(shù)據(jù)庫,然后在本地更新數(shù)據(jù)庫,實現(xiàn)應用層和內(nèi)核層的策略信息同步。

        4.6 日志模塊

        (1)記錄運行日志,包括用戶操作過的所有指令。

        (2)協(xié)商信息,包括協(xié)商對端的IP地址,協(xié)商成功記錄等。

        5 結(jié)束語

        本文提出的實現(xiàn)方案為IPSec VPN提供了靈活方便的IKE密鑰協(xié)商,安全策略管理,數(shù)據(jù)包安全處理機制,目前已經(jīng)在Linux3.1操作系統(tǒng)上應用,經(jīng)測試運行穩(wěn)定,符合預期要求。在基于Linux操作系統(tǒng)的項目開發(fā)中,用戶空間和內(nèi)核空間的通信研究具有重要意義,本文提出的實現(xiàn)方案可以為同類軟件開發(fā)提供思路。

        參考文獻

        [1] 高海英,薛元星,辛陽.VPN技術[M].北京:機械工業(yè)出版社,2004.

        [2] 余青霓.Linux防火墻[M].北京:人民郵電出版社,2000。

        [3] 高月松,錢晶.基于Netfilter框架的IPSec VPN網(wǎng)關實現(xiàn)[J].泰州職業(yè)技術學院學報,2009(3):9-10.

        [4] 章曉明,杜春燕,陸建德.Netlink 消息通信機制的研究和在 IPsec VPN 中的應用[J].微電子學與計算機,2007, 24(2): 135-138

        [5] 周莉.Linux 2.6 IPsec 分析與 VPN 網(wǎng)關的研究與實現(xiàn)[D].蘇州大學,2005.6.

        作者簡介:

        黃超(1987-),男,碩士研究生;主要研究方向和關注領域:計算機網(wǎng)絡、信息安全。

        趙建平 (1977-),男,碩士研究生;主要研究方向和關注領域:嵌入式系統(tǒng)、信息安全。

        韋勇鋼(1983-),男,本科學士;主要研究方向和關注領域:移動通信信息、物聯(lián)網(wǎng)安全。

        一区二区国产视频在线| 亚洲av永久无码天堂网手机版| 在线中文字幕有码中文| 久久se精品一区二区国产| 国产av一区二区网站| 少妇高潮av久久久久久| 免费a级毛片无码a∨免费软件| 日本久久久免费高清| 少妇呻吟一区二区三区| 国精产品一区一区三区| 精品国模一区二区三区| 伊人久久一区二区三区无码| av男人操美女一区二区三区| 精品国产日韩一区2区3区| 亚洲伊人一本大道中文字幕| 国产乱子伦露脸在线| 男男互吃大丁视频网站| 国产一区二区三区亚洲avv| 无码成人一区二区| 欧美日韩亚洲成人| 国产毛片一区二区三区| 亚洲桃色视频在线观看一区| 精品国产乱码久久久久久影片| 久久精品—区二区三区无码伊人色 | 91天堂素人精品系列全集亚洲| 中文字幕国产精品专区| 日韩精品成人区中文字幕| 国产精品18久久久久久麻辣| 亚洲男人堂色偷偷一区 | 中文字幕人妻少妇伦伦| 亚洲国产成人精品无码一区二区| a在线免费| 国产亚洲精品综合在线网站| 国产午夜免费高清久久影院| a亚洲va欧美va国产综合| 亚洲AV日韩AV高潮喷潮无码| 国内嫩模自拍偷拍视频| 国产精品无码一区二区在线看| 亚洲熟妇网| 暴露的熟女好爽好爽好爽| 欧美丰满熟妇bbbbbb|