IPSec
今更新しいこと覚えようとしてどうなるとか言うな。
来年受ける時に役立つかもしれないじゃないか・・・orz
IPSecの概要
IP(Internet Protocol)の拡張規格。ネットワーク層でパケットをカプセル化し、暗号通信を実現する。暗号化処理はネットワーク層ですべて完結するため、アプリケーションに依存せず利用可能。
実装方法としては、VPNゲートウェイを用いる方法が代表的。拠点間接続において安全な通信を実現できる。この場合のポイントは
- VPNゲートウェイの設置以外にネットワーク構成変更の必要がない
- ファイアウォールではVPNおよびIPSecで使用するポートを開放する必要がある。
- クライアント環境ではVPNクライアントソフトを導入する必要がある
ということ。
どっちかというと、VPNの暗号化通信機能をより詳しく説明している感じ?
或いはモバイルやリモートアクセスでVPNを利用する場合にも使用可能。
この場合はクライアントがソフトウェアでVPN接続からIPSecによる暗号化までを行うことになる。
とはいえ、これもネットワーク層で完結する話なのでアプリケーション側から見れば特に変な意識をせずとも利用可能。
逆に言えば、「現在の利用環境をなるべく変更せずにリモートアクセスの安全性を高めたい」という状況で出題されそうなトピック ということでもある。
IPSecの暗号化モード
トランスポートモード
End-to-Endの通信で利用される方法。IPパケットのペイロードとTCPヘッダを暗号化し、IPヘッダは平文のまま送信。ホストが両方ともIPSecに対応している必要がある。
IPSecによりもたらされる機能
- アクセスコントロール
- メッセージ認証
- 送信元認証
- 重複検知機能
- 暗号化機能
最初の二つは最後の機能が実現してくれるということでたぶんOK。送信元認証と重複検知認証は、後述するAHやESPで実現されている。
IPSec関連の用語
SPD (Security Policiy Database)
IPSecにおけるパケット処理に関するルールをまとめたもの。
これによってアクセスコントロールなども可能。機能としてはパケットフィルタリング方式のファイアウォールに酷似。なお、入出力で2種類作る。
SA (Security Association)
IPSecによる論理的コネクションのこと。利用されるプロトコル(後述)ごとにSAが作成され、宛先アドレス・プロトコル・SPI(Security Parameter Index)による区別が行われる。
AH (Authentication Header)
通信データの認証に使用されるプロトコル。トランスポートモードにおいてはIPヘッダとTCPヘッダの間にAHが挿入され、トンネルモードでは新たに付加されるIPヘッダと一緒にAHも付加される。
AHにはMAC(Message Authentication Code :MACアドレスとは別物なので注意。命名者は誰だ?ややこしい・・・)が含まれ、これが認証の基準となる。
それぞれAHより後方が認証対象となるため、トランスポートモードではIPヘッダが認証対象にならない。(トンネルモードでもVPNゲートウェイが付加するIPヘッダは対象外だが・・・)
なお、パケット全体のICV(Integrity Check Value)を利用するため、NATによるアドレス変換などでトラブルが発生する可能性がある。(まさに出題対象?)
NATとNAPTの問題
NATはIPアドレスを変換するためにIPヘッダを書き換える。
NAPTはIPアドレスとポート番号を変換するためにIPヘッダ、TCPヘッダを書き換える。
書き換えれば当然ICVが変化する。ICVが変化すればメッセージ認証に失敗する。
ということは・・・正常なメッセージでも以上検出される可能性がある(というかすべてがフォールネガティブに陥ることになる)
解決策としてはもう一段階のカプセル化を行いUDPヘッダを付けるというものがあるものの、まだ標準化が行われていないので注意が必要。
情報セキュリティエンジニアのD氏あたりが午後問題で指摘しそうなポイントなので要チェック。
おわりに、酒飲んだ頭でまとめたので明日どこまで覚えているか不安。
明日これ読んだ俺はしっかりと復習すること。忘れずに。 以上。