セキュリティの強化
企業などの基幹通信を担うべき PacketiX VPN
ソフトウェアでは、十分なセキュリティの確保が重要な事項の一つとなっています。PacketiX VPN ソフトウェアは、旧来の VPN
ソリューションと比べて高度なセキュリティ機能が追加されており、小規模な VPN から企業の基幹部分に使用される VPN
まで十分な安全性を提供しています。ここでは、PacketiX VPN が提供するセキュリティ機能について解説します。
豊富なユーザー認証オプション
PacketiX VPN Server に PacketiX VPN Client や PacketiX VPN Bridge などが
VPN
接続する際のユーザー認証の種類は、単純なパスワードベースのデータベース以外にも色々な方法が使用できるようになりました。すべてのユーザー認証の種類やパラメータはユーザーごとに細かく設定することができ、またユーザーデータベースは仮想
HUB 単位で管理されており仮想 HUB 間では互いに独立しています。
利用できるユーザー認証方法には、次のようなものがあります。詳しくは、「2.2 ユーザー認証」 をお読みください。
- 匿名認証
匿名認証は、ユーザー名さえ知っていれば誰でも接続可能なユーザー認証方法であり、広く一般に提供する仮想 HUB
サービスなどを設置する場合に使用します。企業などでは通常は使用しません。
- 標準パスワード認証
標準パスワード認証は、ユーザー名とパスワードによってユーザー認証を行う方法であり、最も簡単にセキュリティを維持することができる方法です。またユーザーは自己のパスワードを
VPN Client
を用いていつでも変更することができます。パスワードはハッシュ化されて格納され、その上認証時にはチャレンジアンドレスポンス方式によるパスワードの確認が行われるため、パスワード本体や格納されているハッシュデータでさえもネットワーク上に流れることはありません。
- Radius サーバー認証
企業などがすでに所有する Radius 認証サーバーを用いてユーザー認証を行う方法です。
- NT ドメインおよび Active Directory 認証
企業などがすでに所有する Windows NT ドメインコントローラまたは Windows 2000 / Server 2003 の
Active Directory ユーザーデータベースを用いてユーザー認証を行う方法です。
- 証明書認証 (PKI 認証)
VPN 接続者が VPN Server
に対してクライアント証明書を提示することにより、接続者が秘密鍵を保有しているかどうかを数学的な計算によって確実に識別することができるユーザー認証方法であり、パスワードなどの固定文字列を使用しないため最も安全なユーザー認証方法です。
強力な暗号化
PacketiX VPN プロトコルは、すべての通信内容やユーザー認証にかかわるデータを SSL (Secure Socket
Layer) によって暗号化します。SSL はインターネット業界で標準のセキュアプロトコルであり、一般的には HTTP サーバーと Web
ブラウザとの間の通信に使用されています (HTTPS プロトコルと呼ばれます)。
SSL にはいくつかのバージョンがありますが、PacketiX VPN が対応しているのは最も安全であるとされる SSL バージョン 3
のみであり、脆弱性のある古いバージョンの SSL プロトコルは一切使用しないようになっています。
SSL が提供するのは主に「暗号化」、「電子署名」および「証明書検証」の 3 つの機能です。PacketiX VPN ではこれらの 3
つの機能をすべて活用して、PacketiX VPN Server と VPN 接続元との VPN セッションを安全に維持するようになっています。
PacketiX VPN に実装されている SSL
では暗号化に使用するアルゴリズムと電子署名に使用するアルゴリズムは固定ではなく、対応している任意のアルゴリズムを VPN Server
の管理者が選択できるようになっています。デフォルトでは、RC4 128 bit 暗号化アルゴリズムと MD5
ハッシュアルゴリズムが選択されていますが、その他 DES や AES、SHA-1 などのアルゴリズムをビット数を指定して選択することができます。
各種暗号化アルゴリズムによる VPN セッションの強力な暗号化 |
サーバー証明書の検証
旧来の多くの VPN プロトコルは、VPN
サーバーに接続してきた接続元ユーザーを識別して認証を行うユーザー認証の機能を持っていますが、逆に現在接続しようとしている VPN
サーバーが本物であるかどうかを VPN クライアントが確認する機能は無いものが大半です。
しかしながら、インターネットのような公共の IP ネットワークを使用して VPN
を構築するような場合では、途中の回線上に悪意を持ったクラッカーなどが潜んでおり、そこで偽の VPN Server を設置して、Man in
the Middle 攻撃 (中間攻撃) によってクライアントからの VPN 通信を中継して、VPN
内で流れているパケットを盗聴したり改ざんしたりすることが可能です。
HTTPS や SSH などのよく使用されているプロトコルは、接続先の Web サーバーや SSH
サーバーの証明書を検査して、その証明書が正しいものである場合のみ接続を行い、正しくない証明書である場合は接続を中断して警告を表示するという機能を持っています。VPN
通信においても、途中の回線上の成り済まし攻撃や Man in the Middle
攻撃などを防ぐためには、このような接続先サーバーの正当性チェックの仕組みが必要です。
PacketiX VPN は、接続先のサーバーが提示したサーバー証明書が信頼できる証明書であり、またサーバーがその証明書に対応する RSA
秘密鍵を所持しているかどうかを数学的な計算によって厳密に検証することが可能になっています。信頼できない証明書を接続先の VPN Server
が提示した場合は、そのサーバーへの VPN 接続を中止し警告を表示します。PacketiX VPN
は信頼できる証明書の一覧を管理しており、信頼できる証明機関の証明書によって署名されていない証明書は信頼できないと見なします
(証明書一覧はユーザーが管理することができます)。
サーバー証明書の検証は、遠隔地の VPN Server に通常の方法で接続する VPN Client や、カスケード接続する VPN
Server や VPN Bridge などの接続元ソフトウェア側で行うことができます。サーバー証明書の検証について、詳しくは
「4.4.5 サーバー証明書の検証」
などをお読みください。
VPN Server が提示するサーバー証明書の検証 |
スマートカードへの対応
VPN Server へ VPN
接続をするためにユーザー認証を行う際に、パスワード認証や通常の証明書認証を使用するとある程度のセキュリティを確保することが可能ですが、いくつかの問題があります。
-
パスワード認証を使用している場合は、パスワードの長さや複雑さを十分なものにしなければパスワードを推測されて侵入される危険性があります。また、パスワードを入力するところを覗き見られた場合などでパスワードを第三者が入手してしまうと、その第三者によって侵入される可能性もあります。
-
証明書認証はパスワード認証よりもセキュアな認証方法を提供しますが、通常の運用方法では証明書の秘密鍵データはコンピュータのハードディスク内に格納されます。悪意のあるユーザーによってコンピュータのハードディスクが盗まれたり、証明書データのみが抽出されたりした場合は、その証明書の秘密鍵データを用いて第三者がユーザーに成り済まして
VPN サーバーに接続できてしまう可能性があります。
PacketiX VPN では VPN Server に VPN Client
が接続する際のユーザー認証として証明書認証を使用する場合、証明書および RSA
秘密鍵データをコンピュータのハードディスクではなく、外部のスマートカードやその他のハードウェアセキュリティトークンデバイスに書き込んでおき、VPN
Server への接続を行う際に毎回入力することによってユーザー認証を行うことが可能になっています。
スマートカードやその他のハードウェアセキュリティトークンデバイスは、内部に RSA
の演算を行うチップを持っており、スマートカード内のメモリから外部へ秘密鍵を書き出すことなく証明書と秘密鍵を用いた電子署名を行うことができます。また、PacketiX
VPN
ではすでに存在するスマートカード内に格納されている証明書および秘密鍵オブジェクトを指定してそれをユーザー認証のために利用することもできます。
スマートカードやその他のハードウェアセキュリティトークンデバイスは、ハードウェアの仕組みとして、一度内部に書き込んだ秘密鍵データは、外部に抽出することができないようになっています。また、スマートカードにアクセスするために数桁の
PIN コードによって内部のデータを保護し、PIN
コードが一致しない場合はスマートカード自身が外部からのアクセスを停止するような仕組みもあります。このような仕組みがあるため、スマートカードに秘密鍵を入れておき、VPN
Server
への接続時にスマートカード内の秘密鍵を用いてユーザー認証を行うことにより、たとえコンピュータ本体やスマートカードを紛失したり盗難に遭った場合でも、悪意のある第三者による成り済ましの不正アクセスを防止することができます。
スマートカードを利用したユーザー認証機能の使い方については、「4.6 スマートカードの使用と管理」 をお読みください。
スマートカード認証 |
日本国住民基本台帳カードへの対応
PacketiX VPN
は、日本国のほぼすべての市町村で発行を受けることができる「住民基本台帳カード」に対応しており、住民基本台帳カード内に都道府県知事が署名した電子証明書と秘密鍵データが書き込まれていれば、その証明書データを用いて
PacketiX VPN Server へ VPN 接続する際のユーザー認証を行うことができます。
一般的にスマートカードソリューションは導入コストが高額であり、大きな初期投資を行う必要があります。小規模環境で実験的にスマートカードを使用した証明書認証を用いた
VPN
へのアクセスを行いたい場合などでも、少数枚数のスマートカードを発行し電子証明書を書き込んでもらうサービスを既存のスマートカード取り扱い業者から受けるにはコストがかかってしまいます。
しかし、市役所などで住民基本台帳カードの発行を受け、公的個人認証サービスを購入することにより、住民基本台帳カードを PacketiX
VPN
におけるユーザー認証のためのセキュリティトークンとして利用することができます。また、ユーザー認証に使用される証明書は都道府県知事の電子証明書によって署名されたものであることが数学的に検証可能であり、予め都道府県知事の電子証明書を
VPN Server
側の信頼できる証明機関の証明書一覧に登録しておくことにより、住民基本台帳カードによるユーザーごとの認証を正確に行うことができるのです。
日本国住民基本台帳カードとスマートカードリーダ |
|