[ Top page ]

« マルチ・プレフィクスとマルチ・ホーミング | メイン | IPv6 によるセキュリティ上の脅威の緩和 »

インターネットのプロトコル, セキュリティ

IPsec と SSL / TLS との比較

概説

IPsec と SSL / TLS はインターネットにおいてセキュリティを確保するための手段という意味では共通している. これらのうち SSL / TLS は Web ブラウザなどにおいてひろく使用されているが,IPsec は普及しているとはいえない. それぞれが使用できる範囲はことなっているが,共通部分もあるので,これらを比較する.

SSL / TLS の多用につながっている 2 つの長所

インターネット上のサービスにおいてはセキュリティの確保が大きな課題となっているが,そのために利用されるセキュリティ機能としてのホスト間の認証・暗号化プロトコルには,SSL / TLS が利用されることが多い. それは主に以下の 2 つの長所によっていると考えられる.

アプリケーション層で処理され,ユーザが設定なしに利用できる.
SSL / TLS においては,Web を利用している際にユーザが通信が暗号化されているかどうかをほとんど気にする必要がない. また,通信が暗号化されているかどうかをアプリケーション (Webブラウザ) のアイコン等の表示によってユーザが容易に確認できる.
ファイアウォールで制御しやすい.
SSL / TLS は トランスポート層で動作するため,IP 層のフィルタ,TCP による制御等の通信制限がかけやすく,ファイアウォールによって制御するのが容易である. ファイアウォールはユーザのネットワークをまもるのに不可欠なものであるから,あらたなしくみを導入しなくても SSL / TLS を使用することができる.

SSL / TLS に対する IPsec のハンディキャップ

上記の 2 点に関して,IPsec は現状では大きな問題を抱えている.

アプリケーション層における処理と設定

IPsec は様々な利用形態に対応できるよう汎用性を持っているために,使い方が難しくなっている. 具体的には,IPsec ではセキュリティ・ポリシとセキュリティ・アソシエーション情報を端末に設定することによって任意の IP 通信に対応できるようになっている. この設定はかなり複雑である. すなわち,送信元 IP アドレス,送信先 IP アドレス,上位プロトコルとその番号などのネットワーク環境や通信相手ごとに異なる多くの情報を指定しなければならない. そのため,専門的な知識のないユーザには使いにくいという問題がある.

一方,SSL / TLS アプリケーションは,公開鍵や証明書など認証の元になる情報を設定すれば環境に関わらず利用できる. そのため,専門的な知識のないユーザにもわかりやすいという利点がある. IPsec においても,環境によって変化する情報を自動的に設定するために IKE (Internet Key Exchange) プロトコルを利用することができる. しかし,SSL / TLS のように任意の通信相手に証明書で認証を行う設定にすると DoS 攻撃 (サービス妨害攻撃) に弱くなるという問題などがあり,広い環境での利用が困難である.

ファイアウォールにおける制御のしやすさ

IPsec アーキテクチャは拡張性に富んでいるため,ファイアウォールの設定が複雑になることや,そもそもユーザが暗号化することによって管理者の手が届かなくなることが問題になっている. 具体的には,P2P 型 IPsec でファイアウォールを通過するには,IKE パケット,IPsec パケットに加えて,フラグメント・パケットも通過させるようにする必要がある. そこでは,送信元 IP アドレス,送信先 IP アドレスなどのネットワーク環境によって変化する情報を指定しなければならない.

IPsec 通信がすべてのホストについて通過可能なようにファイアウォールを設定することも可能である. しかし万一,内部のノードが踏み台になってしまった場合には,IPsec を使えばファイアウォールを通過することができるため,このような設定は現実的ではない. また,近年,多くのファイアウォールで導入されている SPI (Stateful Packet Inspection) 機能を使う場合でも,IPsec においては基本的にサーバにおいても通信の内容がよみとれないため通信状態の把握ができず,自動的な制御は困難である.

参考文献

Keywords:

コメントを投稿

bulb403_7501-1.jpg

螺旋 3D 印刷技術を使用してつくったこのような「3D デザインランプ」を 3d-dl.com で売っています.

Powered by Movable Type