初めに
VPN について勉強したことをまとめました。間違っている点がありましたらご指摘頂ければ幸いです。
VPN について
VPN(Virtual Private Network)とは、インターネットを利用した仮想的なプライベートネットワークのことである。専用線(2地点間を直接結ぶプライベートネットワークのこと)との違いは、インターネットを利用する点である。VPNでは暗号化や認証技術を用いてセキュリティの確保を行う。VPN には主に IPsec-VPN と SSL-VPN がある。IPsec-VPN と SSL-VPN では暗号化の仕組みが異なる。IPsec-VPN は IPsec を利用した VPN 、SSL-VPN は SSL/TLS を利用した VPN である。
IPsec-VPN の暗号化の仕組み
-
暗号化・認証情報の作成
- データを暗号鍵で暗号化する。暗号化ヘッダを挿入する。
- 暗号化データ + 暗号化ヘッダ + IP ヘッダ(ESP: Encapsulated Security Payload)に対して認証鍵で認証ヘッダ(AH: Authentication Header)を作成する。
- 認証ヘッダを暗号化ヘッダと IP ヘッダの間に挿入する。
- 作成したパケット(暗号化データ + 暗号化ヘッダ + 認証ヘッダ + IP ヘッダ) を送信する。
-
復号・認証情報のチェック
- 受け取ったパケットから AH を除く。認証鍵を用いて ESP から新たに AH を作成し、除いた AH と比較する。
- ESP から 暗号化ヘッダの情報に基づき暗号鍵を用いて復号する。
SSL-VPN の暗号化の仕組み
SSL/TLSでは、暗号化通信を行う前にハンドシェイクを行う。ハンドシェイクでは公開鍵暗号方式を使用して共通鍵を共有する。暗号化通信では、共通鍵暗号方式を利用する。
- クライアントとサーバ間で暗号アルゴリズムとプロトコルバージョンを決定する
- サーバ証明書によってサーバの認証を行う
- そのセッションで利用するセッション鍵を共有する
用語
-
VPN(Virtual Private Network)とは、インターネットを利用した仮想的なプライベートネットワークのこと。
-
専用線とは、2地点間を直接結ぶプライベートネットワークのこと。
-
IPsec とは、ネットワーク層(OSI参照モデル)のプロトコルであり、IPパケット単位での暗号化・認証を提供する。
-
SSL/TLS とは、セッション層(OSI参照モデル)のプロトコルであり、通信の暗号化、データ完全性の確保、サーバ(場合によりクライアント)の認証を行うことができる。
参考
- 6-1-応. 暗号化に関する知識
- TLS 暗号設定ガイドライン Ver. 3.0.1
- マスタリング TCP/IP 入門編 第6版