keyboard samurai ZERO COOL

 

  1. ホーム
  2. IT技術及びツール紹介
  3. ネットワーク(IP-VPN 2)

ネットワーク(IP-VPN)

ネットワークを安全に利用する技術を紹介

ネットワーク上で利用されているセキュリティ技術を理解しプライベートやパブリックなあらゆる環境やシチュエーションで活用し、ライフスタイルとして取り入れよう。

   |  |  |  |  |  | 

ネットワークセキュリティ概論

ネットワークのセキュリティが声高に叫ばれている昨今であるが、インターネットで利用されているTCP/IPプロトコルについて少し勉強するだけでも、TCP/IPプロトコルそのものはセキュリティに関して、ほとんど対処がなされていないことを知ることが出来るだろう。

現在一般的に利用されているTCP/IPプロトコルは、実際のところ、その成り立ちからしてセキュリティ機能に関して充分な検討がなされてきたとは言えない。

TCP/IPが考案され、実験的な試みが繰り返されてきて、現在の普及した状態となるまで、その過程ではどちらかというと利便性を中心に検討されてきているのだ。

そのため、通信相手を特定する際の認証の仕組みや、通信データそのものを第三者に盗み見られることがないようにする、いわゆる「暗号化」の仕組みは、標準的なTCP/IPの仕様の中にはほとんど含まれていない。

例えば、現在のインターネットを利用する上で欠かすことができない電子メールでは、メール本文がネットワーク上を転送されていく際に、その途中ではメールの内容は「覗き見」される可能がある、ということはすでに多くの方の知るところだろう(以前の特集「社内LANが危ない?今どきの社内セキュリティ対策」参照)。

また、TCP/IPにおける通信では、実際に通信データをやりとりする相手を特定する情報は、あくまでIPアドレスである。

つまり、実際に通信している相手が何者なのか、本当に自分が認識している相手なのかどうか、といったことは何も保証してくれない。

そのため、TCP/IPを利用するアプリケーションプログラム自身がそれぞれで、通信データを暗号化する仕組みや、通信相手を認証する仕組みを持つようになっている。

このような仕組みを実現するものが「セキュリティプロトコル」と呼ばれるものだ。

 

セキュリティプロトコルの概要

それでは、現在利用することができるセキュリティプロトコルには、どのようなものがあるのだろうか。

以下にそのいくつかを紹介してみよう。

SSL(Secure Socket Layer)

SSLはネットスケープコミニュケーションズが開発した暗号化と認証の仕組みだ。

正確に言えば、アプリケーション層のプロトコルではなく、TCPプロトコルとの間で実現されるのだが、実装そのものはWebブラウザやWebサーバーといった、アプリケーションプログラムでおこなわれている。

本来はアプリケーションを選ばないのであるが、現在ではブラウザとWebサーバー間の暗号化とサーバー認証に利用されることが多い。

とりわけ、オンラインショップにおける決済のページで個人情報やクレジットカード情報を盗聴から防ぐために使われ、一般的なものとなっているので多くの方がご存知であろう。

SSH(Secure SHell)

SSHは、もともとセキュリティ機能を持たないUNIXにおけるリモート系のツール(rsh、rcp、rlogin、telnet、ftpなど)を置き換えることを目的としたセキュリティプロトコルとして作られている。

実体はあくまでアプリケーションプロトコルであり、商用・無償のどちらのプログラムもある。また、一部のtelnetクライアントではこのSSHに対応しているものもある。

S/MIME(Secure/MIME)

S/MIMEはメールのセキュリティを確保するために、RSA Data Securityが開発した暗号化と認証の仕組みだ。マイクロソフトのOutlook ExpressなどがS/MIMEに対応している。

PGP(Pretty Good Privacy)

PGPもS/MIMEと同様、メールのセキュリティを確保するための仕組みだ。こちらは企業によって開発されたものではなく、個人が作ったものだ。商用のソフトウェアとしても販売されているものもあるが、フリーソフトとして配布されているものもある。


IPsec動作モードに関して

IPsecを単独で用いてVPNを実現するときには、IPsec動作モードとしてトンネルモードを使用します。

このモードでは、インターネットなどの公衆網を介して行き来するIPパケットの中に、VPNを通じて行き来するIPパケットをカプセル化してやり取りします。

カプセル化を行うためにIPヘッダが二重に付くこと、さらにIPsecに固有のESPヘッダが付加されることから、通常のIPパケットよりもサイズが大きくなります。

そのため、無駄なフラグメントを発生させないためには、ペイロード部のサイズを通常よりも小さめに設定する必要があります。

IPsecが関わるVPNとしては、IPsecのトンネルモードを使用する方法以外に、L2TP(Layer2 Tunneling Protocol)とIPsecのトランスポートモードを組み合わせるL2TP over IPsec もあります。

この場合、カプセル化などのVPN関連操作はL2TPが受け持つため、IPsecは暗号化と認証の機能だけを受け持ちます。

同じ「IPsecを利用するVPN」でも、実現の方法によって動作内容が異なる点に注意する必要があります。


暗号化アルゴリズムと認証アルゴリズムに関して

IPsecでの暗号化と認証は、実装によって用意されるものの中から利用者が選択できるようになっている。

ESPで利用可能な暗号化アルゴリズムはDESの他、3DES、AES、RC5、IDEAなどがある(DESのみ必須で、その他は実装によって利用できるかどうか異なる)。

ESPで暗号化を利用しない場合は、NULL暗号化アルゴリズムを選択する。

AHもESPも認証アルゴリズムには、MD5とSHA1が用意出来るよう決められていて、利用者が選択して利用する。

IPsecでは、暗号化アルゴリズムとしてDES(Data Encryption Standard),3DES,あるいはAES(Advanced Encryption Standard)といった共通かぎ暗号を使用しています。

そのため、通信開始に先立って双方で安全に同一のかぎを共有するために、かぎ交換の作業が必要になります。

また、通信を開始した後も一定間隔でかぎの更新(リキー:re-key)を行いますが、これは長期にわたって同じかぎを使い続けると被解読のリスクが増すためです。


    スポンサーリンク