淺析Internet上使用的安全協議

Internet上使用的安全協議

網絡安全是分層實現的,從應用層安全到數據鏈路層安全。git

1、運輸層安全協議:安全套接字SSL

1.1.簡介

  • SSL 是安全套接層 (Secure Socket Layer),可對萬維網客戶與服務器之間傳送的數據進行加密和鑑別。
  • SSL 在雙方的聯絡階段協商將使用的加密算法和密鑰,以及客戶與服務器之間的鑑別。
  • 在聯絡階段完成以後,全部傳送的數據都使用在聯絡階段商定的會話密鑰。
  • SSL 不只被全部經常使用的瀏覽器和萬維網服務器所支持,並且也是運輸層安全協議 TLS (Transport Layer Security)的基礎。

1.2.SSL 的位置

image-20200206165343194

  • 在發送方,SSL 接收應用層的數據(如 HTTP 或 IMAP 報文),對數據進行加密,而後把加了密的數據送往運輸層 TCP 套接字。算法

  • 在接收方,SSL 從 TCP 套接字讀取數據,解密後把數據交給應用層。(發送方和接收方都有SSL層)瀏覽器

1.3.使用SSL技術的例子

image-20200206172009093

當咱們訪問網站時,通常不涉及輸入帳號密碼等操做的網頁使用的都是 "HTTP" 協議(使用80端口),即網站域名開頭爲:http://;當涉及帳號密碼等敏感信息的操做時,網站通常都會使用 "HTTPS"協議(使用443端口),"S"表示的便是SSL (Secure Socket Layer),即網站域名開頭爲:https://安全

例如,咱們訪問中國工商銀行的官網:服務器

image-20200206170948893

在主頁處的域名欄中能夠發現瀏覽器提醒的 "不安全" 字樣,實際上該主頁使用的就是HTTP協議,即不加密信息,明文傳輸。因爲這是谷歌瀏覽器,沒有顯示 "http://" 的域名前綴。網絡

當點擊登陸時,跳轉到另一個網頁:併發

image-20200206171337136

從網站域名開頭的 "https://" 能夠看出,涉及到帳號密碼等敏感信息的登陸頁面使用的是HTTPS協議,說明網頁使用了SSL技術。工具

補充網站

HTTP協議使用了安全套接字(SSL)變成了HTTPS協議,使用的端口由80變爲443,其餘應用層的協議也可使用安全套接字:加密

  • IMAPS:TCP-993;
  • POP3S:TCP-995;
  • SMTPS:TCP-465;

1.4.安全套接字實現的過程:https

image-20200206223547589

https既採用了對稱加密的效率,也採用了非對稱加密的安全。

通訊前Web服務器先把證書中的公鑰交給IE瀏覽器(客戶),IE瀏覽器根據收到的公鑰生成一個對稱密鑰,而後使用公鑰加密對稱密鑰併發送給Web服務器。

Web服務器使用私鑰解密收到的加密後的對稱密鑰,隨後使用對稱密鑰加密須要傳輸的數據。在以後的通訊中都採用該對稱密鑰對數據加密和解密。

在傳輸對稱密鑰的過程當中使用非對稱加密,在傳輸數據過程當中使用對稱加密。這樣既保證了數據傳輸的安全,也提升了效率。

因此,在使用https通訊的時候一開始都不會太快,由於要協商對稱密鑰,協商好以後纔會快起來。

查看使用https網站的證書

例如:百度。

image-20200206224006290

點擊 "鎖" 圖標。

image-20200206224100256

點擊 "證書" 便可查看到該網站使用的證書。

image-20200206224149426

image-20200206224207086

1.5.SSL 實現的三個功能

  • SSL 服務器鑑別 :容許用戶證明服務器的身份。具備 SSL 功能的瀏覽器維持一個表,上面有一些可信賴的認證中心 CA (Certificate Authority)和它們的公鑰。
  • 加密的 SSL 會話 :客戶和服務器交互的全部數據都在發送方加密,在接收方解密。
  • SSL 客戶鑑別 :容許服務器證明客戶的身份。

image-20200206224325686

上圖爲頒發給百度首頁的證書,能夠看到SSL除了能夠加密會話信息以外,還能夠鑑別服務器和客戶身份。


2、網絡層安全協議:IPSec

網絡安全是分層實現的。

image-20200206225737400

  • 應用層安全:好比微軟的 "Outlook" 郵箱,能夠經過在應用程序中的某些設置實現數據傳輸的安全。應用層安全的特色爲須要應用程序的支持。

  • 傳輸層安全:傳輸安全是經過夾在應用層和傳輸層中間的SSL層實現的,發送方的SSL能夠將應用層的數據加密後給傳輸層,接收方的SSL傳輸層收到的數據解密後給應用層。SSL安全的特色爲須要配置相應證書。

  • 網絡層安全:屬於底層安全,不須要應用程序支持,也不須要配置證書,對用戶來講是透明的,即用戶並不知道數據在該層進行了加密。

    好比,未加密的數據通過發送方的網卡實現了加密,接收方的網卡實現數據解密,整個過程用戶是不知道的,是透明的,即便數據在傳輸過程當中被截獲了,第三方也不能破解其中內容;或者數據被篡改了,接收方也能發現,這即是網絡層安全。

2.1.IPsec與安全關聯 SA

網絡層保密是指全部在 IP 數據報中的數據都是加密的。

IPsec 中最主要的兩個部分

  • 鑑別首部 AH (Authentication Header): AH鑑別源點和檢查數據完整性,但不能保密。相似於數字簽名,用於確保數據的來源並判斷數據是否被更改。
  • 封裝安全有效載荷 ESP (Encapsulation Security Payload):ESP 比 AH 複雜得多,它鑑別源點、檢查數據完整性和提供保密。 相似於既使用數字簽名,又使用共享密鑰對數據進行加密。

安全關聯 SA(Security Association)

  • 在使用 AH 或 ESP 以前,先要從源主機到目的主機創建一條網絡層的邏輯鏈接。此邏輯鏈接叫作安全關聯 SA
  • IPsec 就把傳統的因特網無鏈接的網絡層轉換爲具備邏輯鏈接的層。

  • SA(安全關聯)是構成IPSec的基礎,是兩個通訊實體經協商(利用IKE協議)創建起來的一種協定,它決定了用來保護數據分組安全的安全協議(AH協議或者ESP協議)、轉碼方式、密鑰及密鑰的有效存在時間等。

2.2.安全關聯的特色

  • 安全關聯是一個單向鏈接。它由一個三元組惟一地肯定,包括:

    (1) 安全協議(使用 AH 或 ESP)的標識符;

    (2) 此單向鏈接的源 IP 地址;

    (3) 一個 32 位的鏈接標識符,稱爲安全參數索引 SPI (Security Parameter Index);

  • 對於一個給定的安全關聯 SA,每個 IPsec 數據報都有一個存放 SPI 的字段。經過此 SA 的全部數據報都使用一樣的 SPI 值。

2.3.查看安全關聯

  • 在Windows系統開始頁面輸入命令mmc打開 "Microsoft 管理控制檯",打開 "文件" 選擇 "添加/刪除管理單元"。

image-20200207211626876

  • 找到並添加 "IP安全監視器"。

image-20200207211821913

  • 回到控制檯界面,可在IP安全監視器中找到 "安全關聯" 選項,選中後可查看已創建的安全關聯。

image-20200207212859987

2.4.鑑別首部協議 AH

  • 在使用鑑別首部協議 AH 時,把 AH 首部插在原數據報數據部分的前面,同時把 IP 首部中的協議字段置爲 51。
  • 在傳輸過程當中,中間的路由器都不查看 AH 首部。當數據報到達終點時,目的主機才處理 AH 字段,以鑑別源點和檢查數據報的完整性。

image-20200207231300350

AH首部

(1) 下一個首部(8 位)。標誌緊接着本首部的下一個首部的類型(如 TCP 或 UDP)。

(2) 有效載荷長度(8 位),即鑑別數據字段的長度,以 32 位字爲單位。

(3) 安全參數索引 SPI (32 位)。標誌安全關聯,兩個計算機進行通信時的SPI值是固定的。

(4) 序號(32 位)。鑑別數據字段的長度,以32 位字爲單位。

(5) 保留(16 位)。爲從此用。

(6) 鑑別數據(可變)。爲 32 位字的整數倍,它包含了經數字簽名的報文摘要。所以可用來鑑別源主機和檢查 IP 數據報的完整性。

2.5.封裝安全有效載荷 ESP

使用 ESP 時,IP 數據報首部的協議字段置爲 50。當 IP 首部檢查到協議字段是 50 時,就知道在 IP 首部後面緊接着的是 ESP 首部,同時在原 IP 數據報後面增長了兩個字段,即 ESP 尾部和 ESP 數據。

  • ESP 首部:裏面有標識一個安全關聯的安全參數索引 SPI (32 位),和序號(32 位)。
  • ESP 尾部:裏面有下一個首部(8 位,做用和 AH 首部的同樣)。ESP 尾部和原來數據報的數據部分一塊兒進行加密,所以攻擊者沒法得知所使用的運輸層協議。
  • ESP 鑑別:和 AH 中的鑑別數據是同樣的。所以,用 ESP 封裝的數據報既有鑑別源站和檢查數據報完整性的功能,又能提供保密。

image-20200207232719822

2.6.設置本地計算機的IP安全策略

  • 在計算機的 "開始" 界面搜索 "本地安全策略"。

image-20200207115239305

  • 右鍵 "IP安全策略" 打開菜單,選擇 "建立 IP 安全策略"。

image-20200207115445503

  • 進入 "IP安全策略嚮導" ,建立一個自定義的 IP安全策略,隨後一直 "下一步" 結束嚮導。

image-20200207120033791

image-20200207120152009

image-20200207120247539

這裏的 "激活默認規則" 指的是,當沒有指定規則時,使用默認的規則。

image-20200207120323944

  • 進入自定義IP安全策略的屬性界面,去掉默認勾選的 "使用添加嚮導" 這樣能夠看到更多的細節,而後點擊 "添加",添加新的IP安全規則。

image-20200207120926871

進入 "新規則 屬性" 界面,在 "IP篩選器列表" 選項中可選擇和添加 IP篩選器列表,它的做用是:指定受此新規則影響的網絡流量。好比全部的 IP 通信、全部的 ICMP 通信等,即設置容許接收從哪裏來或到哪裏去的數據。

image-20200207121257916

  • 點擊 "添加" 進入 "IP 篩選器列表"界面,自定義IP 篩選器列表。

image-20200207124730121

  • 去掉默認勾選的 "使用添加嚮導" 選項,繼續點擊 "添加" ,進入 "IP 篩選器 屬性" 界面。該界面能夠設置 IP篩選器 的地址、協議和描述信息。

image-20200207122229921

  • 在 "地址" 選項卡的 "源地址" 選項中能夠設置 與本計算機通訊的流量數據中的源地址。

image-20200207122623280

  • 一樣也能夠設置目標地址。

image-20200207122659055

  • 在 "協議" 選項卡中,能夠設置通訊的協議類型和相應的端口。

image-20200207122830457

image-20200207122843818

  • 在 "描述" 選項卡可給自定義的IP篩選器添加描述。

image-20200207122959980

  • 編輯完 IP 篩選器屬性後,回到 "IP篩選器列表" 可看到剛纔添加的IP篩選器。

image-20200207124912045

  • 點擊 "確認" ,回到 "新規則 屬性" 界面,可在 "IP 篩選器列表" 中看到剛纔自定義的IP篩選器列表。

image-20200207124948681

在 "篩選器操做" 選項卡中,能夠指定如何保障新建的IP篩選器列表的網絡流量的安全,即指定在 "IP 篩選器列表" 中設置的容許通行的流量使用的安全方法(AH或ESP等)。一樣不使用嚮導,點擊 "添加",添加篩選器的操做。

image-20200207145554515

  • 在進入的 "新篩選器操做 屬性" 界面中,能夠設置對應的安全方法,好比能夠無條件阻止或許可以前選定的 IP 篩選列表中的通訊流量,也能夠在協商安全的狀況下進行通訊。咱們選中 "協商安全" 選項,而後點擊 "添加" ,添加對應的安全方法。

image-20200207150110642

  • 進入 "新增安全方法" 界面,能夠看到有兩種安全方法,一種爲 "完整性和加密",至關於既使用數字簽名也使用共享密鑰加密;另外一種爲 "僅保持完整性",至關於數字簽名。這即是IPSec中的AH協議和ESP協議這兩種協議。

image-20200207150150691

  • 選擇 "自定義" 選項,再點擊 "設置" ,進入 "自定義安全方法設置" 界面。在該界面中能夠選擇使用的安全協議AH或者ESP及相應的算法,也能夠設置會話密鑰生成的間隔(密鑰生成時間):每傳輸多少數據或每通過多長時間生成新密鑰。

image-20200207150854020

  • 設置完相應的安全方法後回到 "新篩選器操做 屬性" 界面, 能夠看到剛纔自定義的安全方法及相應設置。在界面下方的三個選項中,前兩項設置如字面意思,第三項設置意思爲新密鑰生成以後,之後加密數據都不會再使用舊密鑰。隨後點擊 "應用" 和 "確認" 回到 "新規則 屬性" 界面。

image-20200207152326688

image-20200207152720031

在 "身份驗證方法" 選項卡中,能夠指定通訊雙方創建信任關係的方法,即驗證通訊雙方的身份。點擊 "添加" 進入 "新身份驗證方法 屬性" 界面。

image-20200207153533208

  • 在該界面中,能夠指定身份驗證方法。例如經過設置共享密鑰,來實現身份驗證。

image-20200207153647894

  • 設置完成後點擊 "確認" 可回到 "新規則 屬性" 界面,可看到新增的身份驗證方法。

image-20200207153856786

"新規則 屬性" 界面的 "隧道設置" 選項卡可設置IPSec隧道相關屬性。

image-20200207154209520

"新規則 屬性" 界面的 "鏈接類型" 選項卡可指定使用新規則的鏈接類型。

image-20200207154307189

  • 這樣便完成了新規則的屬性設置,回到自定義IP安全策略的屬性界面,能夠看到添加的自定義列表。

image-20200207154549163

  • 點擊 "肯定",回到 "本地安全策略" 界面,可看到新增的 "toServer" 安全策略,此時該安全策略還未生效。右鍵選擇 "分配" 可指派該策略,使計算機使用該安全策略進行通訊。

image-20200207155041995

2.7.仿真練習

image-20200207160024218

把本地計算機看成Web服務器,按圖中要求設置Web服務器到三臺計算機的安全策略,其中計算機XP1的IP地址爲192.168.80.101,XP2爲192.168.80.102,XP3爲192.168.80.103 。

  • 設置Web服務器到計算機XP1的安全策略:

    在 "新規則 屬性" 界面的 "IP篩選器列表" 中添加新列表,指定通訊的目標地址爲XP1的IP地址:192.168.80.101 。

    image-20200207160540417

    image-20200207160815453

    在 "IP篩選器列表" 中選中 "toXP1" 的狀況下,在 "篩選器操做" 中添加安全方法名稱爲改成AH。

    image-20200207161252422

    image-20200207161513023

    image-20200207161316685

    在 "IP篩選器列表" 中選中 "toXP1" 和 "篩選器操做" 中選中 "AH"的狀況下,在 "身份驗證方法" 中添加Web服務器到XP1的身份驗證方法:使用共享密鑰aaa。

    image-20200207161631766

    image-20200207161652255

    "隧道設置" 和 "鏈接類型" 兩項該例中不用設置,由此完成從Web服務器到XP1安全策略的設置。

  • 設置Web服務器到計算機XP2和XP3的安全策略與到XP1的設置同理。最後,Web服務器把到XP1~XP3的安全策略都按要求添加了。

image-20200207162607923

  • 回到 "本地安全策略" 界面,選中新增的 "toXPS" 安全策略,右鍵 "分配" ,該安全策略生效,即按要求完成了Web服務器的安全策略設置。

image-20200207162855522

設置完以後,當Web服務器與XP1和XP2通訊時,使用裝包工具抓到的數據包只能看到加密後的數據;當Web服務器與XP3通訊時,因爲沒有加密,因此抓包工具抓到的數據包能看到傳輸的明文。可在虛擬機中模擬四臺計算機進行驗證,這裏就不展開了。

2.8.關於IP安全規則衝突問題

以下圖所示,在IP安全規則中勾選的 "全部 IP 通信量" 是否與其餘勾選的安全規則衝突呢?是不衝突的,選擇IP安全規則時採用的是最佳匹配原則。好比:老師說中午12點下課,班幹部11:30開完會後能夠離開,張三11點就能走,雖然時間不一樣,可是每一個學生都清楚本身幾點能夠走,這就是最佳匹配。通訊時,若是是與XP2通訊,那麼計算機就採用 "toXP2" 安全規則;與XP3通訊,則採用 "toXP3" 安全規則;若是都不是,才採用 "全部 IP 通信量" 安全規則。

image-20200207210220402

相關文章
相關標籤/搜索