IPSEC ×××
之安全基礎篇
無止境系列文檔將以網絡安全爲方向,以專題的形式每週天發佈,但願你們支持。
第一期專題:
IPSEC ×××
,將分爲三週完成,每週一篇,分別爲安全基礎篇,重要概念解析篇,配置詳解篇。
【閱讀說明】
爲了方便你們閱讀,特做以下說明:
1.
專業術語或者一些概念用紅色標識。
2.
重要或者強調的語句用藍色標識。
3.
總結的部分用綠色標識。
【主要內容】
1.
機密性保護
2.
完整性保護
3.
身份認證
【例子說明】
本篇經過一個簡單的例子來講明不少安全相關的概念。
例子:主機
A
和主機
B
要進行通訊,要保證他們的通訊是安全的。
【機密性保護】
機密性保護的做用:防止信息泄漏給未經受權的我的。
A
和
B
要進行安全通訊,假設
A
要發送給
B
:「
hello
「這個信息,確定不可能直接明文發送,因此要對發出去的信息進行加密處理,而後
B
收到後再進行解密處理,這樣的過程就是保護數據機密性的過程。
圖
1-1
:加密和解密的過程
圖
1-1
幾個概念:
算法:
在加密和解密過程當中採用的一組規則。
密鑰:
能夠看做是密碼算法的參數,用來控制加密,解密操做。分爲加密密鑰
Ke
和解密密鑰
Kd
。
就上面的例子,好比
A
的消息「
hello
」就是明文,假設算法是這樣的一組規則:加密的時候將字母日後移
x
個字母,解密的時候往前移位三個字母。密鑰是
x
,這裏假設密鑰爲
3
。根據這個算法,加密後的密文就成了:「
khoor
」,這樣別人看到這串字母就不知道什麼意思了。解密密鑰也是
x
(這裏也是
3
),接受方根據解密算法就能夠將密文向前移位三個字母,就能夠獲得明文。
所以咱們能夠這樣理解,加密是要由算法和密鑰共同組成的。
目前,不少加密算法都是公開的,也就是你們能夠知道這些算法是怎麼算的,都是有標準的。可是密鑰是要保護的,這樣即時知道了算法,也不能解密。就上面的例子來講,你知道算法是加密後移
k
位,解密前移
k
位,可是你不知道密鑰
k
是多少,因此也就不能解密了。
算法是公開的,密鑰是私有的,如何管理和分配私鑰成爲重要問題。
如今來看下圖中的
Ke
和
Kd
,
Ke
是加密時候用的密鑰,
Kd
是解密時候用的密鑰。
若是在算法中
Ke
和
Kd
是相同的,咱們說這是個對稱密鑰算法。
若是在算法中
Ke
和
Kd
是不同的,咱們就說這是個非對稱密鑰算法。
在這裏不對比這兩種算法的優缺點,這裏只需知道不論是對稱仍是非對稱,都是加密算法,均可以用來做加密,只是密鑰不一樣。
對稱加密算法有:
DES
,
3DES
,
AES
,
IDEA
,
RC4
,
A5
,
SNOW2.0
(記住經常使用的三個便可)
非對稱加密算法有:
RSA
,
Diffie-Hellman
,
Rabin
,
ELGmal
(記住經常使用的兩個便可)
機密性總結:
1.
在傳輸過程當中對數據加密解密就是數據機密性的保護。
2.
目前狀況,算法是能夠公開的,須要保護的是密鑰。
3.
經常使用的對稱加密算法:
DES
,
3DES
,
AES
;經常使用的非對稱加密算法:
RSA
,
Diffie-Hellman
(簡稱
DH
)
【完整性保護】
經過對主機
A
的原始數據加密造成密文再傳送保護了數據的機密性,可是在傳輸過程當中,若是密文由於某些緣由丟失了一部分,或者被別人篡改了,那麼在主機
B
中就不能收到完整的
A
所發送的的信息了。所以咱們須要一種方法來解決這個問題,即驗證數據的完整性。
完整性
,能夠這樣理解,咱們要經過某種方法,來判斷
B
收到的信息和
A
給的信息是同樣的,是完整的。
咱們經過
hash
算法
實現這一功能。(這裏須要注意的是完整性能夠經過
hash
函數來實現,可是這些
hash
函數不只僅只能用來作完整性保護,具體狀況要看被
hash
的數據是什麼而定,後續會提到。)
HASH
算法是經過
HASH
函數來實現的。
hash
函數
的特色,必須記住的:
1.
輸入是變長的數據,輸出是固定長度的值的值(
MD5
是
128
位),叫
hash
值
。
2.hash
函數是單向的,即正向計算容易,求逆極其困難,咱們這裏認爲是不可能的。
這裏有兩點提醒:
1.
注意
hash
算法跟以上提到的加密算法的區別。
2.
不要糾結於爲何正向容易,求逆困難,這是有嚴格的數學基礎的,你只要知道這個結論就行。
圖
1-2
:完整性保護過程
圖
1-2
hash
函數有:
MD5
,
SHA-1
完整性總結:
1.
理解須要保護完整性的目的。
2.
記住
hash
函數的特色。
3.
經常使用的
hash
函數:
MD5
,
SHA-1
【身份認證】
身份認證
:一種用來驗證發送者的身份的真實性,經過身份認證能夠發現那些假冒的頂替的***者。
從例子上看,
A
發給
B
消息,
B
要驗證消息確實是
A
發出的,而不是別人發出的。
身份認證可用公鑰密碼體制來驗證。
首先了解一下公鑰的密鑰體制的一些重要概念
:
1.
有一對密鑰,分爲公鑰和私鑰。
2.
私鑰
加密,只有對應的公鑰才能解密。
-----
用於身份認證
3.
公鑰
加密,只有對應的私鑰才能解密。
-----
用於數據加密
公鑰密碼體制不只能夠用在保護數據的機密性,並且能夠用在身份認證中。將公鑰公開,就是任何人均可以獲得公鑰,發送者用相應的私鑰加密,因爲只有發送者纔有私鑰,因此只要接受者能用公鑰解開,就能證實必定是擁有私鑰的人發送的。這樣就驗證了對方的身份。
總結一句話:
私鑰加密,公鑰解密,實現身份認證。
【本期總結】
主要介紹了三個重要的基本概念,一個安全通訊的機密性保護,完整性保護和身份認證。
這是理解
IPSEC ×××
最基礎也最重要的部分,以後的不少東西都是在這些概念的基礎上延伸的。
完成於
2009
年
10
月
4
日
星期日
下週主要內容預告:
IPSEC ×××
之重要概念解析篇(
MAC
消息認證碼,數字簽名,數字證書
,DH
等
)
敬請期待!