摘要 IP8ec(Intemet協議安全)是一個工業標準網絡安全協議,通過使用加密的安全服務以確保在Incemet體議(IP)網絡上進行保密而安全的通訊。而VPN(虛擬專用網)是為通過一個公用網絡建立一個臨時的、安全的連接,是一條穿過混亂的公用網絡的安全、穩定的隧道。IPSecVPN則指的是通過IPSec協議來實現遠程接入的一種VPN技術。
關鍵詞 IPSec VPN 安全
中圖分類號:GTP393 文獻標識碼:A
IPSee(Intemet協議安全)是一個工業標準網絡安全協議,通過使用加密的安全服務以確保在Intemet協議(IP)網絡上進行保密而安全的通訊。而VPN(虛擬專用網)是為通過一個公用網絡建立一個臨時的、安全的連接,是一條穿過混亂的公用網絡的安全、穩定的隧道。IPSecVPN則指的是通過IPSec協議來實現遠程接入的一種VPN技術,IPSee VPN的顯著特點就是它的安全性,這是它保證內部數據安全的根本。IPSecVPN為了實現在Intemet上安全的傳遞數據,采用了對稱密鑰、非對稱密鑰以及摘要算法等多種加密算法,通過數據加密、數據完整性校驗、身份認證等多種方式保證接入的安全,保證的數據的私密性。本文將通過模擬一個簡單的案例來介紹這三個IPSecVPN基礎安全的概念。
1 模擬案例
假設有主機A與主機B需要通過公用網絡進行通信,要保證他們的通信過程是安全的,其它未經授權身份的用戶被拒絕讀取他們的通信內容。
2 機密性保護
2.1 機密性保護的作用
IPSecVPN中機密性保護的作用是加密主機IP地址和數據以保證私有性,主要是為了防止信息泄漏給未經授權的用戶。
2.2 機密性保護簡述
若主機A與主機B要進行安全通信,假設主機A要發送“HELLO”信息給主機B,則不能直接以明文方式進行發送,應當對要發送的\"HELLO”信息進行加密處理,當主機B接收到經過加密的信息后,再進行解密處理得到明文信息“HELLO”。則整個通信工作當中信息加密和解密的過程就是保護數據機密性的過程(如圖1)。
2.3 構成機密性保護的元素
算法:在加密和解密過程中要求采用的一組規則。 密鑰:可以看作是密碼算法的參數,用來控制加密,解密操作。分為加密密鑰Ke和解密密鑰Kd。
本案例中,主機A的所發送的信息“HELLO”為明文信息。假設算法是遵循如下規則:當主機A進行加密工作的時候將每個字母向后移位x個數變成另外一個字母,則主機B解密的時候則需要相應的往前移位x個數,這時密鑰便是x,我們假設本案例中密鑰為3。根據這個算法,主機A所發送的“HEL,LO”信息進過加密后的密文就成了“KHOOR”,這樣即使沒有掌握密鑰的非授權用戶截取到了主機A所發送的信息,也不能讀取這串字母“KHOOR”所表達的正確含義。同樣,解密密鑰也是3,接受方(主機B)則可以根據解密算法將接收到的密文向前移位三個字母,得到明文信息“HELLO”。因此我們就可以這樣理解,加密是要由算法和密鑰共同組成的。
目前,很多加密算法都是公開的,也就是大家可以知道這些算法是如何計算的,都是有標準的。但是密鑰必須要保護,這樣非授權用戶即便知道了算法,也不能對信息解密。既然算法是公開的,密鑰是私有的,如何管理和分配私鑰就成了一個重要的問題。
圖1中的Ke是主機A加密時候所用的密鑰,而Kd則是主機B解密時候需要用的密鑰。如果在算法中Ke和Kd相同,則這種算法被稱為“對稱密鑰算法”。如果在算法中Ke和Kd不同,則算法就為“非對稱密鑰算法”。本文中將不會對比這兩種算法的優缺點,這里只需知道不管是對稱還是非對稱的密鑰算法,都是加密算法,都可以用來作加密。 對稱加密算法有:DES,3DES,AES,IDEA,RC4,A5,SNOW2,0等,其中比較常用的有DES,3DES,AES三個算法。 非對稱加密算法有:RSA,Diffie-Hellman(簡稱DH),Rab-in,ELGmal等,其中比較常用的算法為RSA,Diffie-Hellman。
3 完整性保護
3.1 完整性保護的目的
通過對主機A的原始數據進行加密后形成密文再傳送,雖然保護了數據的機密性,但是在傳輸過程中,如果密文因為某些原因丟失了一部分,或者被別人篡改,那么在主機B中就不能完整的接收到主機A所發送的的信息了。因此需要一種方法來解決這個問題,即驗證數據的完整性。

完整性檢查用于保證數據在通過網絡傳輸時沒有被修改。完整性可以這樣理解,我們要通過某種方法來判斷主機B接收到的信息和主機A所發出的信息是一致的、完整的。我們可以通過HASH算法實現這一功能。(這里需要注意的是數據完整性可以通過HASH函數來實現,但是這些HASH函數不僅僅只用來做數據完整性保護)。
3.2 HASH算法
HASH算法是通過HASH函數來實現的,把任意長度的輸入(又叫做預映射,pre-image),通過散列的算法,變換成固定長度的輸出,該輸出就是散列值。HASH函數的有如下特點:(1)輸入是變長的數據,輸出是固定長度的值的值(MD5為128位),稱為HASH值(2)HASH函數是單向的,即正向計算容易,求逆極其困難。常見的HASH函數有:MD5,SHA-1等。
3.3 完整性保護的過程
圖2為IPSeeVPN完整性保護的過程示意圖。
4 身份認證
4.1 身份認證的作用
身份認證:對發送主機和端點進行身份鑒別,用來驗證發送者身份的真實性,通過身份認證可以發現未經授權的入侵者。本案例中,當主機A給主機B發送信息,則主機B必須要驗證所接受到的信息確實為主機A所發出的,而不是別人代發的。常見的VPN身份認證可以包括預共享密鑰。通訊雙方實現約定加密解密的密碼。
4.2 公鑰密鑰體系
身份認證可用公鑰密碼體系來驗證,首先必須了解公鑰密鑰體系的原理:(1)假設主機A有一對密鑰對,分為公鑰和私鑰,這對密鑰對是唯一的,是通過對一個巨大的素數進行因數分解所得。(2)私鑰加密用于身份認證,只有對應的公鑰才能解密。(3)公鑰加密用于數據加密,只有對應的私鑰才能解密。
公鑰密碼體系不僅可以用來保護數據的機密性,而且可以用來進行身份認證。將公鑰公開,就是任何人都可以得到公鑰,發送者用相應的私鑰加密,由于只有發送者才有私鑰。所以只要接受者能用公鑰解開,就能證明一定是擁有私鑰的人發送的。這樣就可以驗證對方的身份。
5 結語
本文通過模擬案例主要介紹了IPSecVPN安全的三個重要基本概念:一個安全通信的機密性保護、完整性保護和身份認證。這是理解IPSecVPN安全最基礎也最重要的部分,之后的很多東西都是在這些概念的基礎上延伸的。
參考文獻
[1]姚東鈮,基于VPN的校園網絡建設,電腦知識與技術,2010,8.