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

        ?

        IKEv2協(xié)議中消息協(xié)商的一種實(shí)現(xiàn)方案

        2010-01-16 10:16:26劉驥宇母軍臣
        關(guān)鍵詞:狀態(tài)值密鑰協(xié)商

        劉驥宇,母軍臣

        (1.商丘師范學(xué)院軟件學(xué)院,河南商丘476000;2.開(kāi)封大學(xué)軟件學(xué)院,河南開(kāi)封475000)

        IKEv2協(xié)議中消息協(xié)商的一種實(shí)現(xiàn)方案

        劉驥宇1,母軍臣2

        (1.商丘師范學(xué)院軟件學(xué)院,河南商丘476000;2.開(kāi)封大學(xué)軟件學(xué)院,河南開(kāi)封475000)

        IKEv2協(xié)議中最重要的內(nèi)容是消息的協(xié)商,消息協(xié)商系統(tǒng)也是整個(gè) IKEv2系統(tǒng)中的難點(diǎn)。本文實(shí)現(xiàn)的方案中,根據(jù)協(xié)商消息的轉(zhuǎn)換定義了多個(gè)狀態(tài)值和狀態(tài)轉(zhuǎn)換表,通過(guò)對(duì)狀態(tài)轉(zhuǎn)換的跟蹤,完成整個(gè)協(xié)商交換。并使用交換得到的信息生成安全傳輸所需的密鑰種子和各種密鑰,成功建立IKE_SA和CHILD_SA。

        IPsec;IKEv2;消息協(xié)商

        IP安全協(xié)議 IPsec協(xié)議族[1]是組建VPN[2]所使用的一種主要協(xié)議,也是IETF為了彌補(bǔ)Internet的安全性缺陷而設(shè)計(jì)的。IPsec是一組開(kāi)放標(biāo)準(zhǔn)集,協(xié)同工作來(lái)確保對(duì)等設(shè)備之間的數(shù)據(jù)機(jī)密性、數(shù)據(jù)完整性以及數(shù)據(jù)認(rèn)證。

        Internet密鑰協(xié)商(IKE)協(xié)議是 IPsec協(xié)議族的重要協(xié)議之一,它的用途就是在 IPsec通信雙方之間,動(dòng)態(tài)建立起共享安全參數(shù)及驗(yàn)證過(guò)的密鑰,即建立安全聯(lián)盟(SA)。該協(xié)議的第二個(gè)版本(IKEv2)[3]簡(jiǎn)化了其第1個(gè)版本(IKEv1)中冗余的功能,增強(qiáng)了安全性[4-5]。其依靠公鑰密碼體制、私鑰密碼體制和 Hash函數(shù),提供了多種交換模式和相關(guān)選項(xiàng)為IPsec服務(wù)。

        1 消息協(xié)商

        IKEv2的消息協(xié)商過(guò)程對(duì) IKEv1進(jìn)行了很大的改進(jìn)。IKEv1的協(xié)商流程非常復(fù)雜,采用2個(gè)階段,4種模式。在第一階段中選擇使用主模式或野蠻模式,其中在主模式中需要六條交換消息,第二階段的快速模式需要3條交換消息。并且根據(jù)不通的認(rèn)證方法,交換的消息也不同,使得整個(gè)協(xié)商流程更加復(fù)雜。IKEv2取消了模式的概念 ,不存在“主模式”、“野蠻模式”、“快速模式”、“帶身份保護(hù)的主模式”和“新組模式”等交換類型。IKEv2中的消息交換包括3種基本交換類型:初始交換(Initial Exchange)、協(xié)商子 SA交換(CREA TE_CH ILD_SA Exchange)和信息交換(INFORMA TIONAL Exchange)。

        IKEv2協(xié)商SA分為2步實(shí)現(xiàn):首先,在通信雙方間建立1個(gè)經(jīng)認(rèn)證的安全信道,即建立 IKE SA;然后,在這個(gè)安全信道保護(hù)之下,為 IPsec安全服務(wù)協(xié)商SA,即建立IPsec SA。在IKEv2中,IKE SA仍然被稱為IKE SA,而IPsec SA則被稱為CHILD SA。為了更好的進(jìn)行上述2步交換,需要進(jìn)行一些控制和狀態(tài)信息的交換。IKEv2相對(duì)于IKEv1在消息的數(shù)量和內(nèi)容上都發(fā)生了不小的變化。

        2 實(shí)現(xiàn)過(guò)程

        根據(jù)協(xié)議的特點(diǎn),筆者使用C++語(yǔ)言,以面向?qū)ο蟮姆椒ㄔO(shè)計(jì)了1個(gè)IKEv2消息協(xié)商系統(tǒng)。

        2.1 消息的處理

        消息的處理主要由 Message類完成,Message類是對(duì) IKEv2消息的抽象,1個(gè)Message對(duì)象就代表一條消息。它主要用來(lái)對(duì)IKEv2交換消息的屬性及消息的分析、構(gòu)造等操作進(jìn)行描述。

        為了表示 IKEv2協(xié)議中重新設(shè)置的4種新的交換類型,Message類中定義了1個(gè)枚舉類型變量,如下所示:

        enum EXCHANGE_TYPE{

        IKE_SA_IN IT=34, /* IKE_SA_IN IT交換,值為34*/

        IKE_AU TH, /* IKE_AU TH交換,值為35*/

        CREA TE_CH ILD_SA, /* CREA TE_CH ILD_SA交換,值為36*/

        INFORMA TIONAL /* 信息交換,值為37*/

        };

        Message類中主要成員函數(shù)如下:

        1)添加載荷。在Message類中定義了2個(gè)載荷集合:unencrypted_payloads用來(lái)存放沒(méi)有加密的載荷,encrypted_payloads用來(lái)存放加密載荷中的加密數(shù)據(jù),即SK{…}中的載荷。而add Payload()成員函數(shù)就是將各個(gè)載荷添加到這2個(gè)集合中來(lái),以便構(gòu)造交換消息。添加載荷時(shí)是從尾部插入。

        2)消息的構(gòu)造。當(dāng)接收到系統(tǒng)的指令,需要向通信對(duì)方發(fā)送消息時(shí),就要按照IKEv2協(xié)議的定義進(jìn)行構(gòu)造消息,即將待發(fā)送的消息暫存到1個(gè)緩沖區(qū)內(nèi)等待發(fā)送。在構(gòu)造消息時(shí),首先消息實(shí)體中對(duì)各個(gè)域的設(shè)置是在實(shí)施消息協(xié)商的IKE_SA_Controller類中完成,設(shè)置完畢后,由 Message類的generate Binary Representation()成員函數(shù)來(lái)完成對(duì)消息的構(gòu)造,它將IKE消息頭與上面介紹的2個(gè)載荷集合 unencrypted_payloads和encrypted_payloads添加進(jìn)緩沖區(qū)中,等待向通信對(duì)端發(fā)送。構(gòu)造消息流程圖如圖1所示。

        圖1 構(gòu)造消息流程圖

        3)消息的分析。當(dāng)接收到通信對(duì)方發(fā)送來(lái)的協(xié)商消息數(shù)據(jù)包時(shí),應(yīng)該按照IKEv2協(xié)議的定義對(duì)其進(jìn)行分析,即將存入緩沖區(qū)的消息進(jìn)行分析,分析出相應(yīng)的 IKE頭和攜帶的載荷。IKE頭的各個(gè)域在Message類的構(gòu)造函數(shù)中分析完成,消息中其余各個(gè)載荷的分析由M essage類的generatePayloads()成員函數(shù)來(lái)完成。分析消息流程圖如圖2所示。

        圖2 分析消息流程圖

        2.2 消息協(xié)商

        IKE_SA_Controller類負(fù)責(zé)通信雙方進(jìn)行協(xié)商消息,根據(jù)當(dāng)前協(xié)商所處的狀態(tài)和收到的消息,對(duì)進(jìn)入的數(shù)據(jù)包進(jìn)行分析處理,然后構(gòu)造發(fā)送對(duì)端的數(shù)據(jù)包,進(jìn)行協(xié)商,最終完成SA的建立。根據(jù)功能不同,可將其分為兩部分,一部分負(fù)責(zé)狀態(tài)轉(zhuǎn)換表的操作,另一部分負(fù)責(zé)消息協(xié)商。

        2.2.1 狀態(tài)轉(zhuǎn)換表的設(shè)計(jì)

        消息協(xié)商過(guò)程中的狀態(tài)信息比較復(fù)雜,可以定義一系列的標(biāo)志進(jìn)行標(biāo)識(shí),如標(biāo)識(shí)是哪一對(duì)節(jié)點(diǎn)間的協(xié)商、協(xié)商所處的階段、協(xié)商雙方在此次協(xié)商中擔(dān)任的角色等。而且協(xié)商時(shí)要交換許多信息,這些信息在計(jì)算密鑰種子和各種密鑰、身份認(rèn)證等情況下使用,因此需要定義1個(gè)變量臨時(shí)存放協(xié)商過(guò)程中的相關(guān)狀態(tài)。在IKE_SA_Controller類中設(shè)計(jì)了1個(gè)狀態(tài)轉(zhuǎn)換表用來(lái)記錄運(yùn)行中的各個(gè)狀態(tài)值。每個(gè)狀態(tài)的轉(zhuǎn)換都由1個(gè)事件激發(fā),一旦1個(gè)事件發(fā)生,就會(huì)激發(fā)狀態(tài)發(fā)生轉(zhuǎn)換。即如果1個(gè)狀態(tài)按照規(guī)定轉(zhuǎn)換到下1個(gè)相應(yīng)的狀態(tài)值,則說(shuō)明上1個(gè)動(dòng)作正確完成了。這些狀態(tài)值的意義如表1所示。

        IKE_SA_Controller類中有關(guān)狀態(tài)表的主要成員函數(shù)如下:

        1)initializes State Tables():初始化狀態(tài)轉(zhuǎn)換表,即表2(空白之處為狀態(tài) STA TE_ERROR),由此可以看到各個(gè)狀態(tài)的轉(zhuǎn)換情況,協(xié)商中各個(gè)狀態(tài)之間的轉(zhuǎn)換將按照這個(gè)表來(lái)進(jìn)行。

        表1 State_Value(狀態(tài)值表)

        表2 State_Conversion(狀態(tài)轉(zhuǎn)換表)

        2)createTransition():在進(jìn)行構(gòu)造狀態(tài)表時(shí)使用,用來(lái)說(shuō)明1個(gè)狀態(tài)在受到特定事件激發(fā)時(shí)會(huì)轉(zhuǎn)換到哪個(gè)狀態(tài)。

        3)getNextState():根據(jù)上1個(gè)狀態(tài)和發(fā)生的事件,轉(zhuǎn)換到1個(gè)新的狀態(tài),該成員函數(shù)返回新的狀態(tài)值。

        2.2.2 消息協(xié)商過(guò)程

        在對(duì)IPsec數(shù)據(jù)包進(jìn)行處理時(shí),首先在內(nèi)核的SAD中查找SA,如果沒(méi)有相應(yīng)的SA,則將啟動(dòng)IKEv2進(jìn)程協(xié)商SA。響應(yīng)建立SA請(qǐng)求并觸發(fā)IKEv2進(jìn)程進(jìn)行消息協(xié)商的方式有以下2種:一種是收到內(nèi)核發(fā)出的創(chuàng)建SA或更新SA的請(qǐng)求:SADB_ACQU IRE消息或SADB_EXPIRE消息;另一種是在收到對(duì)端IKEv2守護(hù)進(jìn)程發(fā)出的協(xié)商SA的請(qǐng)求時(shí),也啟動(dòng)協(xié)商交換以便能夠響應(yīng)對(duì)方的協(xié)商請(qǐng)求。

        IKEv2協(xié)商被觸發(fā)后,首先判斷 IKE_SA是否存在。如果存在,則直接進(jìn)行 CREA TE_CH ILD_SA階段交換,協(xié)商建立該 IKE_SA保護(hù)下的CH ILD_SA;否則,開(kāi)始 IN ITIAL階段的消息交換,協(xié)商建立IKE_SA和CHILD_SA。

        1)初始交換階段協(xié)商。初始交換的協(xié)商由4條消息組成,包含2個(gè)交換:第一個(gè)是 IKE_SA_IN IT交換,第二個(gè)是 IKE_AU TH交換。交換完成,在 IKEv2交換實(shí)體間建立起 IKE_SA和第1個(gè)CH ILD_SA。

        IKE_SA_IN IT交換由頭2條消息完成,進(jìn)行協(xié)商加密算法、交換 nonce值、完成Diffie-Hellman交換、計(jì)算后階段所需要的各種密鑰值。

        首先,協(xié)商雙方處于就緒狀態(tài)。在該狀態(tài)下,系統(tǒng)對(duì)于協(xié)商雙方的連接描述已建立,可以進(jìn)入IKE協(xié)商。當(dāng)發(fā)起方接到系統(tǒng)開(kāi)始協(xié)商的通知后開(kāi)始構(gòu)造第一條消息。構(gòu)造消息時(shí)首先創(chuàng)建消息對(duì)象,設(shè)置消息頭中的各域?qū)傩?然后構(gòu)造消息頭,接著順序加入SAi載荷、KEi載荷和Ni載荷,這些載荷由載荷處理子系統(tǒng)進(jìn)行構(gòu)造。消息構(gòu)造完成后放入緩沖區(qū)進(jìn)行發(fā)送,這時(shí)協(xié)商發(fā)起方的狀態(tài)值轉(zhuǎn)換為狀態(tài)1。

        協(xié)商的響應(yīng)方收到消息后,首先對(duì)其進(jìn)行分析,得到消息頭各域以及 SA載荷、KE載荷和NONCE載荷。然后檢查收到的SA載荷中是否有合適的建議子結(jié)構(gòu),如沒(méi)有,則向?qū)Ψ桨l(fā)送1個(gè)通知載荷并返回。如發(fā)現(xiàn)合適的建議子結(jié)構(gòu),則接著完成D-H交換。在響應(yīng)方對(duì)接收到的消息分析處理完畢后,就開(kāi)始構(gòu)造第二條消息,按順序構(gòu)造消息頭、SA r載荷、KEr載荷和N r載荷。消息構(gòu)造完成后將其發(fā)送到對(duì)方,這時(shí)響應(yīng)方進(jìn)入狀態(tài)4。然后響應(yīng)方根據(jù)雙方協(xié)商的載荷可生成SKYSEED以及后續(xù)交換所需要的各個(gè)密鑰值。

        發(fā)起方收到響應(yīng)方發(fā)送的第二條消息后對(duì)其進(jìn)行分析和檢查,如果協(xié)商出合適的提議子結(jié)構(gòu)和D-H組等值,則發(fā)起方開(kāi)始計(jì)算SKYSEED以及后續(xù)交換所需要的各個(gè)密鑰值。至此IKE_SA_IN IT交換結(jié)束并開(kāi)始IKE_AU TH交換。

        IKE_AU TH交換由后兩條消息完成,主要進(jìn)行認(rèn)證前面發(fā)送的消息、交換身份標(biāo)識(shí)和證書(shū)(可選)、建立第一個(gè)CH ILD_SA。

        首先,消息發(fā)起方構(gòu)造第三條消息所需要的消息頭和載荷,從外面看,此消息只包括消息頭和1個(gè)加密載荷,而 IDi載荷、AU TH載荷、SAi2載荷、TSi載荷和 TSr載荷都由加密載荷封裝和保護(hù)。構(gòu)造好載荷后將他們加入到消息中發(fā)送出去。這時(shí)發(fā)起方的狀態(tài)值轉(zhuǎn)換為狀態(tài)2。響應(yīng)方接收到第三條消息后,同樣對(duì)該消息進(jìn)行分析,得到相應(yīng)的載荷并進(jìn)行流量選擇符的選擇。然后根據(jù)協(xié)商的認(rèn)證方法和密鑰對(duì)消息進(jìn)行驗(yàn)證,以檢驗(yàn)其完整性。驗(yàn)證無(wú)誤后開(kāi)始構(gòu)造第四條消息,構(gòu)造完畢后將其送出。這時(shí)響應(yīng)方的狀態(tài)值轉(zhuǎn)換為狀態(tài)5。發(fā)送方接收并分析第四條信息,并對(duì)其完整性進(jìn)行驗(yàn)證后完成IKE_AU TH交換并建立第1個(gè)CH ILD_SA。此時(shí)發(fā)起方的狀態(tài)值轉(zhuǎn)換為狀態(tài)3。

        2)CREA TE_CHILD_SA階段交換。當(dāng)在IKE_SA的保護(hù)下需要建立更多的CH ILD_SA或者需要重協(xié)商IKE_SA和CHILD_SA時(shí),就需要進(jìn)行CREATE_CHILD_SA交換。CREATE_CH ILD_SA交換可以選擇交換 KE載荷,以支持完美向前保密,使CHILD_SA具有更強(qiáng)的保密性。協(xié)商中的任何一方均可發(fā)起 CREATE_CHILD_SA交換。

        協(xié)商雙方按照協(xié)議規(guī)定的消息的內(nèi)容和格式調(diào)用載荷處理子系統(tǒng)構(gòu)造消息中的載荷,然后構(gòu)造要發(fā)送的消息。對(duì)于接收到的消息,交換的雙方在構(gòu)造完消息頭后,進(jìn)行檢查 spi是否為0,如不為0則表示是安全聯(lián)盟重協(xié)商;如果為0,則表示是建立CH ILD SA交換。然后檢查是否有 KE載荷以支持完美向前保密。CREA TE_CH ILD_SA交換的消息都是經(jīng)過(guò)加密的,具體處理過(guò)程同IN ITIAL交換的加密消息處理。

        3 結(jié)語(yǔ)

        IKEv1低效的原因之一是其復(fù)雜的消息協(xié)商過(guò)程,IKEv2協(xié)議簡(jiǎn)化了 IKEv1冗余的功能,降低了復(fù)雜度,增強(qiáng)了安全性。本文提出的 IKEv2消息協(xié)商實(shí)現(xiàn)方案是整個(gè)IKEv2實(shí)現(xiàn)中最重要的部分,通過(guò)定義和跟蹤協(xié)商的狀態(tài)值,能高效完成IKEv2的消息協(xié)商并能成功建立安全聯(lián)盟。

        [1] Kent S,Seo K.Security Architecture for the Internet Pro tocol[S].RFC4301,2005.

        [2] 戴宗坤,唐三平.VPN與網(wǎng)絡(luò)安全[M].北京:電子工業(yè)出版社,2002.

        [3] Kaufman C,et al.Internet Key Exchange(IKEv2)Protocol[S].RFC 4306,2005.

        [4] Hussaina M,Hajjehb I,Afific H,et al.Tri-party IKEv2 in Home Networks[C].ICACT 07 Seoul,South Ko rea.

        [5] Soussi H,Hussain M,Afifi H,et al.IKEv1 and IKEv2:A Quantitative Analyses[J].The Fourth World Enformatika Conference,2005(6):194-197.

        Implementation for Message Negotiation in IKEv2 Protocol

        Liu Jiyu1,Mu Junchen2
        (1.School of Software,Shangqiu Normal University,Shangqiu,Henan 476000,China;2.School of Software,Kaifeng University,Kaifeng,Henan 475000,China)

        The most important content of IKEv2 protocol is message negotiation and message negotiation system is the difficulty of the whole IKEv2 system.According to the conversion of consultation message,this paper defines a number of state values and state conversion table,and it completes the entire consultation exchange smartly through the state transition of the track.Also,it can use the information to generate the necessary seed and all kinds of secret keys.In this way,IKE_SA and CH ILD_SA are set up successfully.

        IPsec;IKEv2;message negotiation

        TP393.09

        A

        1671-2544(2010)06-0062-04

        2010-09-02

        劉驥宇(1978— ),男,河南商丘人,商丘師范學(xué)院軟件學(xué)院助教,碩士。母軍臣(1979— ),男,河南周口人,開(kāi)封大學(xué)軟件學(xué)院助教,碩士。

        (責(zé)任編輯:陳錦華)

        猜你喜歡
        狀態(tài)值密鑰協(xié)商
        探索企業(yè)創(chuàng)新密鑰
        密碼系統(tǒng)中密鑰的狀態(tài)與保護(hù)*
        研究降雨事件對(duì)交通流時(shí)空特性的影響
        一種基于切換拓?fù)涞碾x散時(shí)間一致性協(xié)議
        一種對(duì)稱密鑰的密鑰管理方法及系統(tǒng)
        論協(xié)商實(shí)效與協(xié)商倫理、協(xié)商能力
        基于ECC的智能家居密鑰管理機(jī)制的實(shí)現(xiàn)
        Rheological Properties and Microstructure of Printed Circuit Boards Modifed Asphalt
        以政協(xié)參與立法深化協(xié)商民主
        基于短文本的突發(fā)事件發(fā)展過(guò)程表示方法
        日韩AV无码免费二三区| 亚洲欧美v国产一区二区| 无码国产福利av私拍| 亚洲精品国产美女久久久| 一区二区av日韩免费| 91成人黄色蘑菇视频| 欧美video性欧美熟妇| 人体内射精一区二区三区| 国产一区二区三区高清视频| 国产三级精品三级男人的天堂 | 亚洲一区二区三区精品久久av | 中文字幕丰满乱子无码视频| 波多野结衣国产一区二区三区| 久久亚洲精品国产精品婷婷| 日本一区二区三区视频免费观看| 夜夜添夜夜添夜夜摸夜夜摸| 亚洲欧美精品91| 国产三级av在线播放| 国产成人精品一区二区20p| 国产麻豆剧传媒精品国产av| 亚洲人妻无缓冲av不卡| 亚洲一区二区三区1区2区| 五月色丁香婷婷网蜜臀av| 亚洲精华国产精华液的福利| 亚洲欧美日韩精品高清| 激情视频在线观看好大| 尤物在线精品视频| 99在线播放视频| 国产精品黄页免费高清在线观看 | 日韩精品成人区中文字幕| 午夜无码国产理论在线| 中文字幕日产人妻久久| 91熟女av一区二区在线| 久久久亚洲av成人网站| 欧美日韩人妻| 国语对白三级在线观看| 人妻少妇-嫩草影院| aaaaa级少妇高潮大片免费看| 国产av大片在线观看| 99久久婷婷国产亚洲终合精品| 少妇性l交大片|