【安全系列】IPSEC ***之重要概念解析篇

IPSEC ***之重要概念解析篇

 

無止境系列文檔將以網絡安全爲方向,以專題的形式每週天發佈,希望大家支持。

 

第一期專題:IPSEC ***,將分爲四周完成,每週一篇,分別爲安全基礎篇,重要概念解析篇,配置詳解篇,深入理解篇。

 

【閱讀說明】

爲了方便大家閱讀,特作如下說明:

1. 專業術語或者一些概念用紅色標識。

2. 重要或者強調的語句用藍色標識。

3. 總結的部分用綠色標識。

 

【主要內容】

主要介紹IPSEC裏有可能用到的四個概念:
1.MAC消息認證碼
2.數字簽名
3.數字證書
4.DH算法

 

MAC消息認證碼】

消息認證碼(MAC就是帶密鑰的hash函數,用來做驗證用。
MAC消息認證碼是將共享密鑰和數據一起做hash,如圖2-1所示。

 

 

2-1
驗證過程:
1.AB通信之前已經協商好一個共享密鑰,只有AB知道。
2.A將發出的消息和密鑰一起做hash運算,得到mac值,附在消息後面。
3.B收到消息和mac值,將消息和他共享密鑰做同樣的hash運算。

4.對比兩個hash值,因爲只有消息和密鑰都一樣,hash值纔可能一樣,所以如果hash值一樣,則說明消息是正確的,而且說明消息是由A(擁有共享密鑰的人)發送的。達到認證和完整性的目的。 

注意:IPSEC ***裏用的就是HMAC

 

完整性和數據源認證的區別
本質區別:完整性檢驗只對消息做hash值,而數據源認證對數據和密鑰做hash
第一,數據源認證必須要求通信,而數據完整性認證不一定需要通信,例如存儲數據的完整性認證。
第二,數據源認證必然要求識別數據源,而數據完整性校驗不一定需要,例如無源數據識別中的數據完整性校驗。

 

消息認證碼總結:
1.MAC主要功能是用來做消息認證的。

2.利用hash算法來實現的。

3.Hash算法可以用來做完整性檢驗,也可以用來做消息認證,取決於所hash的內容有沒有包含密鑰。

【數字簽名】

數字簽名,目的是認證,防止欺騙或抵賴。
數字簽名涉及的技術:公鑰密碼體制和完整性檢驗。

 

回顧公鑰密碼體制的最重要特性:
密鑰是成對的,而且公鑰加密只有私鑰能解,同樣私鑰加密只有公鑰能解。
數字簽名方案有兩個部分:簽名算法和驗證算法
2-2和圖2-3表示簽名算法和驗證算法。
簽名算法

 

2-2
圖示說明:數據用hash函數哈希得到定長的輸出,然後用私鑰簽名hash值。
數字簽名的核心在於用私鑰加密。
這裏hash函數的作用有兩個:
1)得到的定長輸出,位數短,私鑰簽名的時候速度快。
2)保證數據的完整性。

 

驗證算法

 

2-3
數字簽名總結:
1.數字簽名的技術支持:完整性算法和公鑰密碼體制。

2.數字簽名的標準:DSS

3.數字簽名是一種身份認證方式。

 

【數字證書】

數字證書,數字證書將身份標識與公鑰綁定在一起,並由可信任的第三方權威機構用其私鑰簽名。
數字證書可以防止“中間人***”。
中間人***的過程如圖2-4所示。
 

 

2-4
圖示解說:
1.帶有引號的公鑰,(即“公鑰”)指的是hacker的公鑰,並不是真正的公鑰,但是Alice認爲是BOb的公鑰。
2.通過數字順序說明中間人***的過程。

 

從中間人***過程可以看出,不安全的因素在於不能識別公鑰的來源。數字證書就是爲解決這個問題而來的。

 

數字證書的解決辦法:
1.身份標識與公鑰綁定在一起,形成證書,這樣公鑰就和身份相對應。

2.由可信任的第三方權威機構用其私鑰簽名來確保證書的有效性和安全性。

 

注意: 數字證書安全的前提是第三方是可信任的,如果第三方被僞造,數字證書就沒有安全性可言。

 

數字證書總結:
1. 驗證過程:A從第三方下載證書,內有B的公鑰和B的身份標識,由第三方證明公鑰是由B所持有。

2. 數字證書用來防止中間人***。

 

DH算法】

DH算法,全稱: Diffie Hellman算法,是一種非對稱密鑰算法。
目的: 在一個非安全的通道上安全地建立一個共享密鑰,用來建立安全的信道。
數學基礎:基於求離散對數難

 

 

詳細過程:
【以下部分較難,需要有一定的數學基礎,可選閱讀】

1、有兩個全局公開的參數,一個素數q和一個整數aaq的一個原根。
2、假設用戶AB希望交換一個密鑰,用戶A選擇一個作爲私有密鑰的隨機數XA<q,並計算公開密鑰YA=aXA mod qAXA的值保密存放而使YA能被B公開獲得。類似地,用戶B選擇一個私有的隨機數XB<q,並計算公開密鑰YB=aXB mod qBXB的值保密存放而使YB能被A公開獲得。
3、用戶A產生共享祕密密鑰的計算方式是K = (YB)XA mod q。同樣,用戶B產生共享祕密密鑰的計算是K = (YA)XB mod q。這兩個計算產生相同的結果:
              K = (YB)XA mod q
                = (aXB mod q)XA mod q
                = (aXB)XA mod q                   (根據取模運算規則得到)
                = aXBXA mod q

                = (aXA)XB mod q

                = (aXA mod q)XB mod q

                = (YA)XB mod q
因此相當於雙方已經交換了一個相同的祕密密鑰。
4、因爲XAXB是保密的,一個敵對方可以利用的參數只有qaYAYB。因而敵對方被迫取離散對數來確定密鑰。例如,要獲取用戶B的祕密密鑰,敵對方必須先計算
               XB = inda ,q(YB)
然後再使用用戶B採用的同樣方法計算其祕密密鑰K
Diffie-Hellman密鑰交換算法的安全性依賴於這樣一個事實:雖然計算以一個素數爲模的指數相對容易,但計算離散對數卻很困難。對於大的素數,計算出離散對數幾乎是不可能的。

 

 

 

 

 

【本期總結】

本篇介紹了IPSEC ***有用到的四個概念,mac和數字簽名是認證的手段,數字證書是用來確認公鑰的持有者身份,DH是用來在非安全的信道上協商共享密鑰,建立安全通道。

 

完成於2009109星期五

 

 

下週主要內容預告:IPSEC ***之配置詳解篇(AHESP封裝方式,IPSEC ***的兩個階段,有無NAT情況下的配置)   敬請期待!
 
最後依然感謝SF,更多文章:bbs.speedfull.com

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章