如果我想讓多數的人、地點、公司網路,如何透過網際網路Internet安全的連在一起?
IPAS 115-1 Q6選項C
IPsec協定可用於建立虛擬私人網路(VPN)通道,保護跨網域IP封包的機密性與完整性
Virtual Private Network,VPN
虛擬私人網路不用特別拉一條實體網路線
而是在原本的網路上,建立私人通道
假設公司有兩個在不同地區的辦公室
新北總公司
192.168.1.0/24
桃園分公司
192.168.2.0/24
他們中間沒辦法牽一條實體的網路線
所以他們如果要傳輸重要資料
就必須經過網際網路Internet
這時該如何保護?
這時就需要在公開的網際網路中建立一條私人安全通道
VPN的核心概念
以上面舉例來說:
想像
SSH就像打電話:一對一
如果50台都要跟30台互通,需要設一堆SSH通道
會累死!!!
VPN像在公司與公司中間放了小叮噹傳送門
兩邊的人可以自由地來回走,不用一人挖一條通道
差異在你想要互通的是整個網路
還是單一電腦
VPN利用通道技術
建立安全通訊連接
假設:
封包產生
外層寫的是兩邊VPN設備的公開IP (通道化)
路上的人只看得到外層封包,看不到裡面內容
簡單來說:
包起來 -> 加密 -> 送出去 -> 收到 -> 拆開 -> 解密 -> 送到目的地
注意!通道
只是把封包包進另一個外層封包並送出去
這個行為並不是加密
沒有加密的VPN訊息仍有可能遭竊取風險
VPN的重點是建立通道,加密是需要額外的
只是現在主流VPN通常都自帶加密
遠端存取型虛擬私人網路
通常情境是:
員工人在家,要安全連回公司
員工->網際網路->VPN閘道器->公司網路
個人裝置 <->公司
保護單一使用者的連線安全
站點對站點虛擬私人網路
通常情境是:
新北總公司整個網路->桃園分公司整個網路
新北->VPN閘道->網際網路->VPN閘道->桃園
網路<->網路
保護整個站點間的流量
Internet Protocol Security,IPsec
網際網路協定安全保護IP通訊的安全機制
作用於網路層
- 不讓未授權者直接讀取資料 (機密性)
- IP資料沒有在途中遭未授權修改 (完整性)
- 通訊對象是不是可信的一方 (身分驗證)
IPsec與TLS不同的地方
IPsec網際網路安全協定
TLS 傳輸層安全協定
IPsec在網路層,保護IP封包本身,所以上層不管是TCP、UDP還是應用程式都會被保護到
但範圍只限在VPN端點與端點中間(通道Tunnel下通常),封包出端點後就不管了
TLS保護特定的應用層通訊,最常見就是HTTPS
TLS從應用程式一路加密到目標SERVER伺服器
簡單來說:
IPsec保護的是網路之間的通道
TLS保護的是應用程式之間的對話
兩個一起使用可以達到縱深防禦
假設一個封包從應用程式開始往下(打包)的流程:
- 應用程式產生資料
- TLS把這份資料加密
- TCP加上Port號等資訊
- IP加上來源/目的地IP位址,包成IP封包
- IPsec把整個IP封包包起來只寫上VPN設備IP
- 實體網路傳出去
IPsec有兩個重要的元件:
AH(Authentication Header) 驗證標頭
ESP(Encapsulating Security Payload) 封裝安全負載
AH 驗證標頭
用來確認這個封包沒有被改過而且確實是對方送的但內容還是明文
就像在信上蓋了防偽標籤
主要提供:
完整性
身分驗證
AH本身不提供資料內容加密
ESP 封裝安全負載
AH能做的它都可以,並且還加上了加密
主要提供:
機密性
完整性
身分驗證
ESP可以提供加密
傳輸模式
只加密信封裡面的內容(payload),信封上的地址(IPHeader)不動
外面看得到誰寄給誰
但看不懂內容
通常用在兩台主機之間直接通訊
例:Server A <-> ServerB
比較少見因為每台機器都要設定
通道模式
把整個原始封包(Payload+Header)全部都加密起來,然後在外層套一個新的IPHeader
只看得到兩台VPN設備的IP
原本的來源、內容、目的地全藏起來
用在VPN,最常見
IKE 金鑰交換協定
用來解決
- 我們要用什麼安全參數?
- 金鑰怎麼建立?
- 你的身分是否可信?
簡單來說:讓IPsec雙方 協商安全設定與建立金鑰
SA 安全關聯
IKE協商後的一組結果就是SA
SA會記錄雙方講好的所有設定,例如:
- 用什麼加密演算法
- 用什麼金鑰
- 保護哪些流量
簡單來說:
IKE就是談判的過程
SA是談完後簽的合約
之後會照合約內容進行通訊加密
