1. 程式人生 > >IPSEC VPN簡要分析總結

IPSEC VPN簡要分析總結

  • 非對稱加密演算法:對於資料的加解密是由一對公私鑰來完成的。
    1976年和1977年誕生了兩個沿用至今的非對稱加密演算法:
    1976年D(Diffie) H(Hellman) 演算法—一種確保共享金鑰安全穿越不安全網路的方法(非對稱演算法用來傳遞對稱加密演算法的公鑰)。
    1977年R(Ron Rivest)S(Adi Shamir)A(Leonard Adleman)演算法—在公開金鑰加密和電子商務中被廣泛的應用
    對極大質數做因數分解的難度決定了RSA演算法的可靠性------一般1000位以後的質數基本安全,2000位以後的質數極其安全。
    注意:RSA演算法是存在著兩種用法的:
    1)公鑰加密私鑰解密:切記公鑰是暴露在網際網路上的是任何人都可以拿到的。
    2)私鑰加密公鑰解密:一般是用來做數字簽名(源認證
    )的。
    核心用法:用非對稱加密演算法安全的傳遞對稱加密演算法的對稱金鑰,利用對稱加密演算法的對稱金鑰來對資料進行加解密。
    2.IPSEC協議簇的兩種工作模式:傳輸模式、野蠻模式;兩個通訊保護協議:AH、ESP
    1>兩種工作模式:
    傳輸模式:可以用於大型企業網(私網和私網對接),原始IP頭的後邊+IPSEC頭,可以用於穿越公網傳遞(前提是在隧道提前建立的情況下,例如DMVPN的部署,他就可以藉助DMVPN的隧道),一般只負責對資料進行安全保障。一般應用於一個企業的內網,相當於對只對資料進行完整性的校驗(必須是在確保私密性的條件下,企業內網一般被窺探的機率較小)。
    隧道模式:一般應用於公共網路,新的IP頭部+被IPSEC封裝(原始IP包頭+資料)

    IPSEC不像GRE那樣,他是不傳協議的,僅僅對資料進行封裝。
    2>兩個通訊保護協議:
    AH:協議號51 鑑別頭 僅鑑別
    ESP:協議號50 封裝安全載荷 加密+鑑別
    兩個通訊保護協議其實就是兩種封裝,在封裝的時候就把安全嵌入進去了,一定一定要掌握,ESP和AH在兩種不同模式下是如何封裝資料的?他的資料包長什麼樣子。
    AH在傳輸模式下:
    在這裡插入圖片描述
    AH在隧道模式下:
    在這裡插入圖片描述
    ESP在傳輸模式下:
    在這裡插入圖片描述
    ESP在隧道模式下:
    在這裡插入圖片描述
    3.IPSEC的建立階段:
    1>安全聯盟SA(一種約定):
    SA由三元組來唯一標識:安全索引引數、目的IP地址、安全協議號;
    用IPSec保護一個IP包之前,必須先建立安全聯盟(SA)IPSec的安全聯盟可以通過手工配置的方式建立。但是當網路中節點較多時,手工配置將非常困難,而且難以保證安全性。這時就可以使用IKE(Internet Key Exchange)自動進行安全聯盟建立與金鑰交換的過程。Internet金鑰交換(IKE)就用於動態建立SA,代表IPSec對SA進行協商。

    2>IKE(IPSEC自動建立安全關聯的協議):
    IKE為IPSec協商生成金鑰,供AH/ESP加解密和驗證使用。
    第一階段:構建一個安全的金鑰傳輸通道(第一階段用來控制、指揮第二階段的形成);
    1)安全的情況下互動金鑰;
    2)安全的情況下做通訊雙方之間的認證;
    形成的過程:(策略協商,D H 演算法交換金鑰,做認證);
    第一階段在協商的過程中是存在著兩種模式的:
    1)主模式: 但是安全,最好雙方都有固定IP(因為主模式預設是使用IP地址作為身份識別標識的,<如果是PPPOE撥號獲取IP地址的話,那主模式就相對太麻煩了,因為地址老變就得每次修改配置。>)且是同一個廠商的裝置(不同廠商在身份標識上會有自己的獨特之處)。
    主模式的標識是main,在主模式的協商中將存在6個包:
    1-2包協商演算法、認證等;
    3-4包DH組傳對稱加密演算法金鑰;
    5-6包用協商好的演算法將身份驗證做加密,雙方來進行認證。

    1234包都是明文進行傳送的(因為剛開始互動,雙方沒有任何的聯絡,上來就直接密文傳輸,雙方都將無法識別),從認證開始便是密文傳送。
    2)野蠻模式但是不安全跨廠商做IPSEC,第一階段推薦用野蠻模式因為IP地址、FQDN(字串)、使用者名稱、證書認證等都可做為身份識別的標識,支援手工配置身份ID。
    野蠻模式的標識是Aggressive,在野蠻模式的協商 過程中將有3個包存在:
    第1個互動包發起方建議SA,發起DH交換 ;
    第2個互動包接收方接受SA;
    第3個互動包發起方認證接受方;

    第1、2個包是明文傳輸,第3個包是密文傳輸;野蠻模式的第1個包就帶出了對方的標識ID並且是在公網上明文傳輸的(很不安全)所以野蠻模式容易遭受中間人攻擊
    第二階段協商:
    第二階段:單向SA (快速模式)只管保障資料傳遞安全的三要素的保障(產生真正用來加密資料流的金鑰)。
    第二階段的兩個主要功能:
    1)協商安全引數來保護資料連線。
    2)週期性的對資料連線更新金鑰資訊。

    預設第一把金鑰的生成叫祖金鑰,後邊經過一個週期(CISCO預設86400S更換一次金鑰),後邊生成的金鑰都與這把金鑰有關係,所以存在著不安全。------完美金鑰生成法(後邊生成的金鑰與祖金鑰沒有關係)
    4.IPSEC VPN隧道的黑洞問題:對端的VPN連線已經斷開而我方還處在SA的有效生存期時間內,從而形成了VPN隧道的黑洞問題。(我方不停的傳送加密後的VPN資料過去,但對方拒絕接受。)
    解決方案:(DPD)死亡對等體檢測(Dead Peer Detection)檢查對端的ISAKMP SA是否存在,當VPN隧道異常的時候,能檢測到並重新發起協商,來維持VPN隧道。只檢測IPSEC IKE的第一階段,第一階段斷掉的話那麼第二階段也會斷掉,DPD主要是為了防止標準IPSEC出現“隧道黑洞”
    DPD的包不是連續傳送的,存在兩個計時器。
    空閒計時器:在一個計時器的時間內,如果沒有收到該SA對應的加密包,就會發出DPD檢測。
    超時計時器:給對方發了一個包但是對方沒有迴應我,那麼我最多給他發個5次就刪除SA。
    5.資料傳輸安全案例分析:
    在這裡插入圖片描述
    Alice、Bob的證書(證書用來傳遞公鑰,證明某人的公鑰是某人的)首先都是去可信任的機構CA註冊過的;
    Alice首先對自己要發給Bob的原始資訊進行Hash摘要,其次對摘要資訊利用非對稱加密演算法的私鑰(也就是Alice自己的私鑰)進行加密形成數字簽名(不可否認性、源認證),Alice將自己要發給Bob的原始資訊、數字簽名、以及CA組織頒給自己的證書利用他和Bob通訊的對稱演算法的金鑰這個金鑰是在IKE第一階段演算法、認證等協商完畢後通過DH演算法從Bob那裡交換過來的)進行加密,而對稱金鑰裸漏在公網上傳輸是極其不安全的,所以Alice可以利用Bob的證書(這個證書可以是Bob傳遞過來的,通過什麼手段不重要,也可以是Alice去CA那裡下載下來的,但是證書是CA用自己的私鑰加過密的,所以必須下載CA的公鑰來解開證書)獲取Bob的非對稱公鑰來對對稱金鑰進行加密形成金鑰信封傳輸的,那麼將只有Bob的私鑰可以解開這個金鑰信封,最終在公網上傳輸的只有加密過的資訊金鑰信封
    Bob這邊在收到Alice那邊發來的加密資訊和金鑰信封之後,首先Bob會用自己的私鑰來開啟金鑰信封獲取到他與Alice通訊的對稱金鑰,利用這個對稱金鑰解開加密過的資訊,得到三樣東西:Alice發來的原始資訊、Alice的數字簽名、Alice的證書,Bob去CA下載CA的公鑰來開啟Alice的證書(同時也就證明了這把公鑰確實是Alice的)獲取到Alice的非對稱公鑰,利用Alice的公鑰解開Alice的數字簽名便得到了Alice利用Hash演算法得到的摘要資訊,同時Bob自己會利用Hash演算法對Alice發來的原始資訊形成摘要兩個摘要做對比一致的話即認證通過,雙方後續正常通訊。
    6.IP資料包通過IPSEC傳輸簡要分析:
    在這裡插入圖片描述
    IKE第一階段:通過演算法、認證等協商形成一條安全的通道;
    DH演算法組交換雙方通訊時對資料實施加密的對稱加密演算法的金鑰;
    第一階段用來控制第二階段的形成;
    IKE第二階段:單向的加密通道,你到他,他到你;

    IP資料包發出後,首先匹配到需要實施IPSEC保護傳遞的資料,其次匹配安全策略資料庫SPD安全關聯資料庫SAD,匹配SPD的將按照事先設定好的加密演算法、認證演算法等來進行IKE第一階段的協商,構建一條安全金鑰傳輸通道,匹配SA的將按照協商成功的策略來形成IKE的第二階段同時對資料實施安全傳遞,通過第一階段協商完畢的加密演算法、認證演算法等形成安全的對稱金鑰傳輸通道,資料通過第二階段形成的加密通道安全傳遞,到達目的地後,接收方以協商過的演算法開啟加密資訊,正常轉發。
    總結:對於IPSEC VPN的學習,我們要注重整個IPSEC的工作原理,個人建議一定要掌握IPSEC協議簇的安全框架以及要清楚在不同的環境下應該使用何種封裝技術及工作模式。