李清平 孟祥芳 黃莉平
摘 要:Diffie-Hellman算法通過密鑰交換的方式為企業(yè)VPN網(wǎng)絡(luò)的信息傳輸提供數(shù)據(jù)機(jī)密性,其有效性依賴于計算離散對數(shù)的難度。在描述算法過程的基礎(chǔ)上,利用Visual C++語言編程并在Windows XP環(huán)境中編譯。通過一個具體的企業(yè)VPN網(wǎng)絡(luò)部署和配置,實現(xiàn)了企業(yè)內(nèi)網(wǎng)對等體之間通過VPN隧道的相互通信和對Internet資源的訪問,分析了由于加載VPN數(shù)據(jù)包而對網(wǎng)絡(luò)性能產(chǎn)生的影響,主要體現(xiàn)在網(wǎng)絡(luò)吞吐量和網(wǎng)絡(luò)延遲的變化上。因此提高VPN網(wǎng)絡(luò)的應(yīng)用性能和數(shù)據(jù)傳輸?shù)馁|(zhì)量是今后研究的主要方向。
關(guān)鍵詞:Diffie-Hellman算法;VPN技術(shù);網(wǎng)絡(luò)性能;網(wǎng)絡(luò)吞吐量;網(wǎng)絡(luò)延遲
中圖分類號:TP391 文獻(xiàn)標(biāo)識碼:A
1 引言(Introduction)
Diffie-Hellman算法,簡稱DH算法,由W.Diffie和M.E.Hellman在1976年公布的一種密鑰一致性算法,該算法是一種建立密鑰的方法,并非加密方法,但其產(chǎn)生的密鑰可用于加密、密鑰管理或任何其它的加密方式,這種密鑰交換技術(shù)的目的在于使兩個用戶間能安全地交換密鑰(KEY)以便用于今后的報文加密[1]。DH密鑰交換算法對公開密鑰密碼編碼學(xué)產(chǎn)生了深遠(yuǎn)的影響。
DH算法是一種確保共享KEY安全穿越網(wǎng)絡(luò)的方法。Internet是一個公共的網(wǎng)絡(luò),企業(yè)通過Internet來連接遠(yuǎn)程站點(diǎn)和傳輸數(shù)據(jù),容易造成內(nèi)部網(wǎng)絡(luò)的安全威脅。VPN(Virtual Private Network,虛擬專用網(wǎng)絡(luò))在公用網(wǎng)絡(luò)上建立企業(yè)網(wǎng)絡(luò),通過提供機(jī)密性和安全性來保障企業(yè)內(nèi)網(wǎng)數(shù)據(jù)的安全傳輸,具有成本低,易于使用的特點(diǎn)。數(shù)據(jù)機(jī)密性包括對稱式加密DES、3DES、AES和非對稱式加密RSA,這些加密方法都可以通過DH密鑰交換來為對等體生成所需的密鑰[2-4]。
2 Diffie-Hellman算法描述(Diffie-Hellman
algorithm description)
離散對數(shù):定義素數(shù)p的原始根(Primitive Root)是能生成1-(p-1)之間所有數(shù)的一個數(shù),設(shè)a為p的原始根,則:
a mod p,a2 mod p,…,ap-1 mod p是各不相同的整數(shù),且以某種排列方式組成了從1到p-1的所有整數(shù)。對于任意數(shù)b及素數(shù)p的原始根a,可以找到一個唯一的指數(shù)i,滿足:
b=ai mod p,其中0≤i≤p-1,那么指數(shù)i稱為b的以a為基數(shù)的模p的離散對數(shù)。
Diffie-Hellman算法的有效性依賴于計算離散對數(shù)的難度,其含義是:當(dāng)已知大素數(shù)p和它的一個原根a后,對于給定的b,要計算出i被認(rèn)為是很困難的,而給定i計算b卻相對容易[5-7]。
假設(shè)網(wǎng)絡(luò)上有兩個用戶A和B,彼此之間協(xié)商共同的密碼,算法過程如圖1所示。
圖1 Diffie-Hellman算法過程示意圖
Fig.1 Diagram of Diffie-hellman algorithm process
(1)A和B事先約好大素數(shù)p和它的原始根a;
(2)A隨機(jī)產(chǎn)生一個數(shù)x,計算X=ax mod p,然后把X發(fā)給B;
(3)B隨機(jī)產(chǎn)生一個數(shù)y,計算Y=ay mod p,然后把Y發(fā)給A;
(4)A計算k=Yx mod p;
(5)B計算k* =Xy mod p。
因為k=Yx mod p=(ay)x mod p=(ax)y mod p=Xy mod p;
k* =Xy mod p;
所以k=k* 。
不安全網(wǎng)絡(luò)上的竊聽者只能得到a、p、X、Y,除非能計算離散對數(shù)x和y,否則將無法得到密鑰k,但對于大素數(shù)p,計算離散對數(shù)是十分困難的,因此k為用戶A和B獨(dú)立計算出的密鑰。
3 Diffie-Hellman算法實現(xiàn)(Diffie-Hellman
algorithm implementation)
編程思路:輸入一個素數(shù)和它的一個原始根,生成小于此素數(shù)的一個隨機(jī)數(shù),計算出用戶的公鑰,保存信息。然后再輸入對方的公鑰,計算出雙方的會話密鑰。
核心代碼如圖2所示,程序在Windows XP操作系統(tǒng)下,Visual C++ 2012環(huán)境中編譯通過。
圖2 Diffie-Hellman算法的C++編程核心代碼
Fig.2 Core code of diffie-hellman algorithm by C++
4 網(wǎng)絡(luò)部署和配置(Network deployment and
configuration)
4.1 網(wǎng)絡(luò)部署和拓?fù)鋱D
用戶A所在的網(wǎng)絡(luò)和用戶B所在的網(wǎng)絡(luò)分別接入Internet,各自通過公有地址訪問Internet上的資源,同時出于通信安全和節(jié)省費(fèi)用的考慮,需要建立彼此之間點(diǎn)到點(diǎn)的VPN隧道,其拓?fù)鋱D如圖3所示。
圖3 企業(yè)網(wǎng)絡(luò)VPN部署拓?fù)鋱D
Fig.3 Topology of enterprise network VPN deployment
4.2 配置命令及解析
VPN使用數(shù)據(jù)機(jī)密性、數(shù)據(jù)完整性、認(rèn)證等加密技術(shù)以及隧道技術(shù)來允許企業(yè)在Internet上建立安全的端到端私有網(wǎng)絡(luò)。數(shù)據(jù)機(jī)密性包括DES、3DES、AES對稱式加密算法和RSA非對稱性式加密算法,兩者都可以通過Diffie-Hellman密鑰交換生成對等體雙方的密鑰[2,8]。數(shù)據(jù)完整性目前有兩種常用的散列算法:HMAC-MD5和HMAC-SHA-1,HMAC-SHA-1算法更安全,但占用的資源也相對較多[2,9]。認(rèn)證包含兩種方法:預(yù)共享密鑰(Pre-Shared Key,PSK)和RSA簽名,預(yù)共享密鑰比較容易配置,但擴(kuò)展性不是很好[10,11]。現(xiàn)以用戶A所在網(wǎng)絡(luò)的路由器Enterprise Router 1(簡稱ER1)為例配置VPN并進(jìn)行解析,用戶B所在網(wǎng)絡(luò)的路由器Enterprise Router 2可參考此配置,不再贅述。主要配置命令如下:endprint
// IKE(Internet Key Exchange Protocol,Internet 密鑰交換協(xié)議)配置
ER1(config)#crypto isakmp policy 1 // 建立isakmp策略
ER1(config-isakmp)#hash md5 // 哈希采用md5驗證
ER1(config-isakmp)#encryption 3des // 采用3des加密
ER1(config-isakmp)#authentication pre-share // 采用預(yù)共享密鑰認(rèn)證方式
ER1(config)#crypto isakmp key ﹡ address ※ // ﹡代表預(yù)共享密鑰,※表示對等體的路由器IP地址
ER1(config)#crypto ipsec transform-set # ah-md5-hmac esp-des // 創(chuàng)建交換集,#為交換集名稱,后面兩項為加密傳輸算法
ER1(config)#crypto map §1 ipsec-isakmp // 創(chuàng)建加密圖§,序號為1
ER1(config-crypto-map)#set transform-set # // 使用創(chuàng)建的交換集#
ER1(config-crypto-map)#set peer ※ // VPN隧道對端的IP地址※
ER1(config-crypto-map)#match address 101 // 創(chuàng)建訪問控制列表ACL,確定受保護(hù)的感興趣流。ACL的具體配置這里從略,需要說明的是VPN不能使用標(biāo)準(zhǔn)ACL,只能使用擴(kuò)展ACL。
ER1(config)#interface serial 1/0
ER1(config-if)#crypto map § // 加密圖§與接口綁定
4.3 外網(wǎng)服務(wù)器配置
為了驗證企業(yè)內(nèi)網(wǎng)用戶訪問Internet上的資源,在WWW Server服務(wù)器中制作一個簡單的web網(wǎng)頁index.html,域名為http://www.dhalgorithm.com,如圖4所示,同時使用公有IP地址202.101.172.1在DNS Server中創(chuàng)建與域名的對應(yīng)解析,如圖5所示。
圖4 在WWW Server服務(wù)器中制作的web網(wǎng)頁
Fig.4 Web page making in WWW server
圖5 在DNS Server中建立的域名解析
Fig.5 Domain name resolution making in DNS server
5 結(jié)果驗證(Result validation)
企業(yè)內(nèi)網(wǎng)用戶A和用戶B之間能相互ping通,彼此之間能通過VPN隧道進(jìn)行信息交流,如圖6所示。
圖6 用戶A ping 用戶B的結(jié)果
Fig.6 Result of user A ping user B
企業(yè)內(nèi)網(wǎng)用戶A和用戶B均能通過公有IP地址訪問Internet上WWW Server中的web頁面,如圖7所示。
圖7 用戶訪問Internet資源的結(jié)果
Fig.7 Result of the user accessing internet resource
6 網(wǎng)絡(luò)影響分析(Network influence analysis)
當(dāng)用戶A和用戶B建立通信時,雙方執(zhí)行IKE驗證,協(xié)商加密方式,此時網(wǎng)絡(luò)的吞吐量比較小且平穩(wěn),網(wǎng)絡(luò)延遲降低。此后所有的數(shù)據(jù)流都將使用雙方協(xié)商的加密機(jī)制進(jìn)行加密,再封裝于隧道包頭內(nèi),用戶A所在網(wǎng)絡(luò)的VPN網(wǎng)關(guān)在接收到終端A發(fā)出的訪問數(shù)據(jù)包時對其目標(biāo)地址進(jìn)行檢查并封裝構(gòu)造一個新的VPN數(shù)據(jù)包,然后將封裝后的原數(shù)據(jù)包作為VPN數(shù)據(jù)包的負(fù)載發(fā)送到Internet。用戶B所在網(wǎng)絡(luò)的VPN網(wǎng)關(guān)對接收到的數(shù)據(jù)包進(jìn)行檢查并解封裝,然后將還原后的原始數(shù)據(jù)包發(fā)送至目標(biāo)終端B,在終端B看來,它收到的數(shù)據(jù)包就和從終端A直接發(fā)過來的一樣。從終端B返回終端A的數(shù)據(jù)包處理過程與上述相同。由于VPN技術(shù)的加密與解密、封裝和解封裝,在此過程會產(chǎn)生新的VPN數(shù)據(jù)包,使得網(wǎng)絡(luò)吞吐量加大,網(wǎng)絡(luò)延遲也相應(yīng)增加。之后數(shù)據(jù)包發(fā)送完畢,網(wǎng)絡(luò)吞吐量和網(wǎng)絡(luò)延遲也緩慢下降,分別如圖8和圖9所示。
圖8 企業(yè)網(wǎng)絡(luò)吞吐量情況
Fig.8 Enterprise network throughput
圖9 企業(yè)網(wǎng)絡(luò)的網(wǎng)絡(luò)延遲情況
Fig.9 Enterprise network delay
7 結(jié)論(Conclusion)
VPN允許遠(yuǎn)程站點(diǎn)或企業(yè)分支機(jī)構(gòu)使用Internet等公共互聯(lián)網(wǎng)絡(luò)的路由基礎(chǔ)設(shè)施以安全的方式建立連接,具有節(jié)約成本、增強(qiáng)安全性、容易擴(kuò)展、支持新興應(yīng)用等特點(diǎn)。Diffie-Hellman算法為VPN網(wǎng)絡(luò)對等體雙方提供加密和解密所需的密鑰,以保證通信雙方的數(shù)據(jù)機(jī)密性。VPN技術(shù)在企業(yè)內(nèi)網(wǎng)中的配置較為復(fù)雜,另外由于隧道技術(shù)、數(shù)據(jù)機(jī)密性、完整性和認(rèn)證等安全保障策略,導(dǎo)致網(wǎng)絡(luò)吞吐量隨著VPN數(shù)據(jù)包的生成而增大,網(wǎng)絡(luò)延遲也相應(yīng)增加,使得網(wǎng)絡(luò)產(chǎn)生抖動,數(shù)據(jù)的傳輸質(zhì)量也隨之減低,因此提高VPN網(wǎng)絡(luò)的應(yīng)用性能是亟待解決的問題。
參考文獻(xiàn)(References)
[1] Diffie W,Hellman M E.New Directions in Cryptography[J].
IEEE Transactions on Information Theory,1976,22(06):644-654.
[2] 崔北亮.CCNA認(rèn)證指南(640-802)[M].北京:電子工業(yè)出版
社,2009:551-556.
[3] 余海冰,潘澤宏.Diffie-Hellman密鑰交換技術(shù)綜述[J].科技信
息,2007(10):51-52.
[4] 汪志達(dá),葉 偉.Diffie-Hellman密鑰交換的算法實現(xiàn)與應(yīng)用研
究[J].計算機(jī)應(yīng)用與軟件,2008,25(05):260-261.
[5] 李必濤,等.一種能夠抵抗主動攻擊的改進(jìn)Diffie-Hellman密
鑰協(xié)商方案[J].中央民族大學(xué)學(xué)報(自然科學(xué)版),2008,17(04):
54-57.
[6] 閻軍智,李鳳華,馬建峰.基于Diffie-Hellman算法的分層密鑰
分配方案[J].電子學(xué)報,2011(01):119-123.
[7] 楊增福.基于Diffie-Hellman方法的密鑰協(xié)商協(xié)議的設(shè)計與分
析[D].鄭州:鄭州大學(xué),2012:3-14.
[8] 寇應(yīng)展,等.基于IPSec的VPN實現(xiàn)技術(shù)研究[J].科學(xué)技術(shù)與工
程,2006,06(14):2171-2173.
[9] 陳旭.虛擬專用網(wǎng)VPN 在企業(yè)辦公中的應(yīng)用[J].計算機(jī)安全,
2007(09):59-61.
[10] 李緒亮.校園網(wǎng)的VPN方案設(shè)計[D].濟(jì)南:山東大學(xué),2011:
13-25.
[11] 董芳.虛擬專用網(wǎng)(VPN)的研究與實現(xiàn)[J].集寧師范學(xué)院學(xué)
報,2013,35(02):107-108;114.
作者簡介:
李清平(1969-),男,本科,副教授.研究領(lǐng)域:計算機(jī)網(wǎng)絡(luò)技
術(shù)教學(xué)與應(yīng)用.
孟祥芳(1978-),女,本科,講師.研究領(lǐng)域:高職教學(xué)管理.
黃莉平(1986-),女,碩士,軟件設(shè)計師.研究領(lǐng)域:網(wǎng)站開發(fā)
和編程.endprint
// IKE(Internet Key Exchange Protocol,Internet 密鑰交換協(xié)議)配置
ER1(config)#crypto isakmp policy 1 // 建立isakmp策略
ER1(config-isakmp)#hash md5 // 哈希采用md5驗證
ER1(config-isakmp)#encryption 3des // 采用3des加密
ER1(config-isakmp)#authentication pre-share // 采用預(yù)共享密鑰認(rèn)證方式
ER1(config)#crypto isakmp key ﹡ address ※ // ﹡代表預(yù)共享密鑰,※表示對等體的路由器IP地址
ER1(config)#crypto ipsec transform-set # ah-md5-hmac esp-des // 創(chuàng)建交換集,#為交換集名稱,后面兩項為加密傳輸算法
ER1(config)#crypto map §1 ipsec-isakmp // 創(chuàng)建加密圖§,序號為1
ER1(config-crypto-map)#set transform-set # // 使用創(chuàng)建的交換集#
ER1(config-crypto-map)#set peer ※ // VPN隧道對端的IP地址※
ER1(config-crypto-map)#match address 101 // 創(chuàng)建訪問控制列表ACL,確定受保護(hù)的感興趣流。ACL的具體配置這里從略,需要說明的是VPN不能使用標(biāo)準(zhǔn)ACL,只能使用擴(kuò)展ACL。
ER1(config)#interface serial 1/0
ER1(config-if)#crypto map § // 加密圖§與接口綁定
4.3 外網(wǎng)服務(wù)器配置
為了驗證企業(yè)內(nèi)網(wǎng)用戶訪問Internet上的資源,在WWW Server服務(wù)器中制作一個簡單的web網(wǎng)頁index.html,域名為http://www.dhalgorithm.com,如圖4所示,同時使用公有IP地址202.101.172.1在DNS Server中創(chuàng)建與域名的對應(yīng)解析,如圖5所示。
圖4 在WWW Server服務(wù)器中制作的web網(wǎng)頁
Fig.4 Web page making in WWW server
圖5 在DNS Server中建立的域名解析
Fig.5 Domain name resolution making in DNS server
5 結(jié)果驗證(Result validation)
企業(yè)內(nèi)網(wǎng)用戶A和用戶B之間能相互ping通,彼此之間能通過VPN隧道進(jìn)行信息交流,如圖6所示。
圖6 用戶A ping 用戶B的結(jié)果
Fig.6 Result of user A ping user B
企業(yè)內(nèi)網(wǎng)用戶A和用戶B均能通過公有IP地址訪問Internet上WWW Server中的web頁面,如圖7所示。
圖7 用戶訪問Internet資源的結(jié)果
Fig.7 Result of the user accessing internet resource
6 網(wǎng)絡(luò)影響分析(Network influence analysis)
當(dāng)用戶A和用戶B建立通信時,雙方執(zhí)行IKE驗證,協(xié)商加密方式,此時網(wǎng)絡(luò)的吞吐量比較小且平穩(wěn),網(wǎng)絡(luò)延遲降低。此后所有的數(shù)據(jù)流都將使用雙方協(xié)商的加密機(jī)制進(jìn)行加密,再封裝于隧道包頭內(nèi),用戶A所在網(wǎng)絡(luò)的VPN網(wǎng)關(guān)在接收到終端A發(fā)出的訪問數(shù)據(jù)包時對其目標(biāo)地址進(jìn)行檢查并封裝構(gòu)造一個新的VPN數(shù)據(jù)包,然后將封裝后的原數(shù)據(jù)包作為VPN數(shù)據(jù)包的負(fù)載發(fā)送到Internet。用戶B所在網(wǎng)絡(luò)的VPN網(wǎng)關(guān)對接收到的數(shù)據(jù)包進(jìn)行檢查并解封裝,然后將還原后的原始數(shù)據(jù)包發(fā)送至目標(biāo)終端B,在終端B看來,它收到的數(shù)據(jù)包就和從終端A直接發(fā)過來的一樣。從終端B返回終端A的數(shù)據(jù)包處理過程與上述相同。由于VPN技術(shù)的加密與解密、封裝和解封裝,在此過程會產(chǎn)生新的VPN數(shù)據(jù)包,使得網(wǎng)絡(luò)吞吐量加大,網(wǎng)絡(luò)延遲也相應(yīng)增加。之后數(shù)據(jù)包發(fā)送完畢,網(wǎng)絡(luò)吞吐量和網(wǎng)絡(luò)延遲也緩慢下降,分別如圖8和圖9所示。
圖8 企業(yè)網(wǎng)絡(luò)吞吐量情況
Fig.8 Enterprise network throughput
圖9 企業(yè)網(wǎng)絡(luò)的網(wǎng)絡(luò)延遲情況
Fig.9 Enterprise network delay
7 結(jié)論(Conclusion)
VPN允許遠(yuǎn)程站點(diǎn)或企業(yè)分支機(jī)構(gòu)使用Internet等公共互聯(lián)網(wǎng)絡(luò)的路由基礎(chǔ)設(shè)施以安全的方式建立連接,具有節(jié)約成本、增強(qiáng)安全性、容易擴(kuò)展、支持新興應(yīng)用等特點(diǎn)。Diffie-Hellman算法為VPN網(wǎng)絡(luò)對等體雙方提供加密和解密所需的密鑰,以保證通信雙方的數(shù)據(jù)機(jī)密性。VPN技術(shù)在企業(yè)內(nèi)網(wǎng)中的配置較為復(fù)雜,另外由于隧道技術(shù)、數(shù)據(jù)機(jī)密性、完整性和認(rèn)證等安全保障策略,導(dǎo)致網(wǎng)絡(luò)吞吐量隨著VPN數(shù)據(jù)包的生成而增大,網(wǎng)絡(luò)延遲也相應(yīng)增加,使得網(wǎng)絡(luò)產(chǎn)生抖動,數(shù)據(jù)的傳輸質(zhì)量也隨之減低,因此提高VPN網(wǎng)絡(luò)的應(yīng)用性能是亟待解決的問題。
參考文獻(xiàn)(References)
[1] Diffie W,Hellman M E.New Directions in Cryptography[J].
IEEE Transactions on Information Theory,1976,22(06):644-654.
[2] 崔北亮.CCNA認(rèn)證指南(640-802)[M].北京:電子工業(yè)出版
社,2009:551-556.
[3] 余海冰,潘澤宏.Diffie-Hellman密鑰交換技術(shù)綜述[J].科技信
息,2007(10):51-52.
[4] 汪志達(dá),葉 偉.Diffie-Hellman密鑰交換的算法實現(xiàn)與應(yīng)用研
究[J].計算機(jī)應(yīng)用與軟件,2008,25(05):260-261.
[5] 李必濤,等.一種能夠抵抗主動攻擊的改進(jìn)Diffie-Hellman密
鑰協(xié)商方案[J].中央民族大學(xué)學(xué)報(自然科學(xué)版),2008,17(04):
54-57.
[6] 閻軍智,李鳳華,馬建峰.基于Diffie-Hellman算法的分層密鑰
分配方案[J].電子學(xué)報,2011(01):119-123.
[7] 楊增福.基于Diffie-Hellman方法的密鑰協(xié)商協(xié)議的設(shè)計與分
析[D].鄭州:鄭州大學(xué),2012:3-14.
[8] 寇應(yīng)展,等.基于IPSec的VPN實現(xiàn)技術(shù)研究[J].科學(xué)技術(shù)與工
程,2006,06(14):2171-2173.
[9] 陳旭.虛擬專用網(wǎng)VPN 在企業(yè)辦公中的應(yīng)用[J].計算機(jī)安全,
2007(09):59-61.
[10] 李緒亮.校園網(wǎng)的VPN方案設(shè)計[D].濟(jì)南:山東大學(xué),2011:
13-25.
[11] 董芳.虛擬專用網(wǎng)(VPN)的研究與實現(xiàn)[J].集寧師范學(xué)院學(xué)
報,2013,35(02):107-108;114.
作者簡介:
李清平(1969-),男,本科,副教授.研究領(lǐng)域:計算機(jī)網(wǎng)絡(luò)技
術(shù)教學(xué)與應(yīng)用.
孟祥芳(1978-),女,本科,講師.研究領(lǐng)域:高職教學(xué)管理.
黃莉平(1986-),女,碩士,軟件設(shè)計師.研究領(lǐng)域:網(wǎng)站開發(fā)
和編程.endprint
// IKE(Internet Key Exchange Protocol,Internet 密鑰交換協(xié)議)配置
ER1(config)#crypto isakmp policy 1 // 建立isakmp策略
ER1(config-isakmp)#hash md5 // 哈希采用md5驗證
ER1(config-isakmp)#encryption 3des // 采用3des加密
ER1(config-isakmp)#authentication pre-share // 采用預(yù)共享密鑰認(rèn)證方式
ER1(config)#crypto isakmp key ﹡ address ※ // ﹡代表預(yù)共享密鑰,※表示對等體的路由器IP地址
ER1(config)#crypto ipsec transform-set # ah-md5-hmac esp-des // 創(chuàng)建交換集,#為交換集名稱,后面兩項為加密傳輸算法
ER1(config)#crypto map §1 ipsec-isakmp // 創(chuàng)建加密圖§,序號為1
ER1(config-crypto-map)#set transform-set # // 使用創(chuàng)建的交換集#
ER1(config-crypto-map)#set peer ※ // VPN隧道對端的IP地址※
ER1(config-crypto-map)#match address 101 // 創(chuàng)建訪問控制列表ACL,確定受保護(hù)的感興趣流。ACL的具體配置這里從略,需要說明的是VPN不能使用標(biāo)準(zhǔn)ACL,只能使用擴(kuò)展ACL。
ER1(config)#interface serial 1/0
ER1(config-if)#crypto map § // 加密圖§與接口綁定
4.3 外網(wǎng)服務(wù)器配置
為了驗證企業(yè)內(nèi)網(wǎng)用戶訪問Internet上的資源,在WWW Server服務(wù)器中制作一個簡單的web網(wǎng)頁index.html,域名為http://www.dhalgorithm.com,如圖4所示,同時使用公有IP地址202.101.172.1在DNS Server中創(chuàng)建與域名的對應(yīng)解析,如圖5所示。
圖4 在WWW Server服務(wù)器中制作的web網(wǎng)頁
Fig.4 Web page making in WWW server
圖5 在DNS Server中建立的域名解析
Fig.5 Domain name resolution making in DNS server
5 結(jié)果驗證(Result validation)
企業(yè)內(nèi)網(wǎng)用戶A和用戶B之間能相互ping通,彼此之間能通過VPN隧道進(jìn)行信息交流,如圖6所示。
圖6 用戶A ping 用戶B的結(jié)果
Fig.6 Result of user A ping user B
企業(yè)內(nèi)網(wǎng)用戶A和用戶B均能通過公有IP地址訪問Internet上WWW Server中的web頁面,如圖7所示。
圖7 用戶訪問Internet資源的結(jié)果
Fig.7 Result of the user accessing internet resource
6 網(wǎng)絡(luò)影響分析(Network influence analysis)
當(dāng)用戶A和用戶B建立通信時,雙方執(zhí)行IKE驗證,協(xié)商加密方式,此時網(wǎng)絡(luò)的吞吐量比較小且平穩(wěn),網(wǎng)絡(luò)延遲降低。此后所有的數(shù)據(jù)流都將使用雙方協(xié)商的加密機(jī)制進(jìn)行加密,再封裝于隧道包頭內(nèi),用戶A所在網(wǎng)絡(luò)的VPN網(wǎng)關(guān)在接收到終端A發(fā)出的訪問數(shù)據(jù)包時對其目標(biāo)地址進(jìn)行檢查并封裝構(gòu)造一個新的VPN數(shù)據(jù)包,然后將封裝后的原數(shù)據(jù)包作為VPN數(shù)據(jù)包的負(fù)載發(fā)送到Internet。用戶B所在網(wǎng)絡(luò)的VPN網(wǎng)關(guān)對接收到的數(shù)據(jù)包進(jìn)行檢查并解封裝,然后將還原后的原始數(shù)據(jù)包發(fā)送至目標(biāo)終端B,在終端B看來,它收到的數(shù)據(jù)包就和從終端A直接發(fā)過來的一樣。從終端B返回終端A的數(shù)據(jù)包處理過程與上述相同。由于VPN技術(shù)的加密與解密、封裝和解封裝,在此過程會產(chǎn)生新的VPN數(shù)據(jù)包,使得網(wǎng)絡(luò)吞吐量加大,網(wǎng)絡(luò)延遲也相應(yīng)增加。之后數(shù)據(jù)包發(fā)送完畢,網(wǎng)絡(luò)吞吐量和網(wǎng)絡(luò)延遲也緩慢下降,分別如圖8和圖9所示。
圖8 企業(yè)網(wǎng)絡(luò)吞吐量情況
Fig.8 Enterprise network throughput
圖9 企業(yè)網(wǎng)絡(luò)的網(wǎng)絡(luò)延遲情況
Fig.9 Enterprise network delay
7 結(jié)論(Conclusion)
VPN允許遠(yuǎn)程站點(diǎn)或企業(yè)分支機(jī)構(gòu)使用Internet等公共互聯(lián)網(wǎng)絡(luò)的路由基礎(chǔ)設(shè)施以安全的方式建立連接,具有節(jié)約成本、增強(qiáng)安全性、容易擴(kuò)展、支持新興應(yīng)用等特點(diǎn)。Diffie-Hellman算法為VPN網(wǎng)絡(luò)對等體雙方提供加密和解密所需的密鑰,以保證通信雙方的數(shù)據(jù)機(jī)密性。VPN技術(shù)在企業(yè)內(nèi)網(wǎng)中的配置較為復(fù)雜,另外由于隧道技術(shù)、數(shù)據(jù)機(jī)密性、完整性和認(rèn)證等安全保障策略,導(dǎo)致網(wǎng)絡(luò)吞吐量隨著VPN數(shù)據(jù)包的生成而增大,網(wǎng)絡(luò)延遲也相應(yīng)增加,使得網(wǎng)絡(luò)產(chǎn)生抖動,數(shù)據(jù)的傳輸質(zhì)量也隨之減低,因此提高VPN網(wǎng)絡(luò)的應(yīng)用性能是亟待解決的問題。
參考文獻(xiàn)(References)
[1] Diffie W,Hellman M E.New Directions in Cryptography[J].
IEEE Transactions on Information Theory,1976,22(06):644-654.
[2] 崔北亮.CCNA認(rèn)證指南(640-802)[M].北京:電子工業(yè)出版
社,2009:551-556.
[3] 余海冰,潘澤宏.Diffie-Hellman密鑰交換技術(shù)綜述[J].科技信
息,2007(10):51-52.
[4] 汪志達(dá),葉 偉.Diffie-Hellman密鑰交換的算法實現(xiàn)與應(yīng)用研
究[J].計算機(jī)應(yīng)用與軟件,2008,25(05):260-261.
[5] 李必濤,等.一種能夠抵抗主動攻擊的改進(jìn)Diffie-Hellman密
鑰協(xié)商方案[J].中央民族大學(xué)學(xué)報(自然科學(xué)版),2008,17(04):
54-57.
[6] 閻軍智,李鳳華,馬建峰.基于Diffie-Hellman算法的分層密鑰
分配方案[J].電子學(xué)報,2011(01):119-123.
[7] 楊增福.基于Diffie-Hellman方法的密鑰協(xié)商協(xié)議的設(shè)計與分
析[D].鄭州:鄭州大學(xué),2012:3-14.
[8] 寇應(yīng)展,等.基于IPSec的VPN實現(xiàn)技術(shù)研究[J].科學(xué)技術(shù)與工
程,2006,06(14):2171-2173.
[9] 陳旭.虛擬專用網(wǎng)VPN 在企業(yè)辦公中的應(yīng)用[J].計算機(jī)安全,
2007(09):59-61.
[10] 李緒亮.校園網(wǎng)的VPN方案設(shè)計[D].濟(jì)南:山東大學(xué),2011:
13-25.
[11] 董芳.虛擬專用網(wǎng)(VPN)的研究與實現(xiàn)[J].集寧師范學(xué)院學(xué)
報,2013,35(02):107-108;114.
作者簡介:
李清平(1969-),男,本科,副教授.研究領(lǐng)域:計算機(jī)網(wǎng)絡(luò)技
術(shù)教學(xué)與應(yīng)用.
孟祥芳(1978-),女,本科,講師.研究領(lǐng)域:高職教學(xué)管理.
黃莉平(1986-),女,碩士,軟件設(shè)計師.研究領(lǐng)域:網(wǎng)站開發(fā)
和編程.endprint