UT-VPN の概要と活用方法
第 1 章 - UT-VPN のコンセプト
ここでは、UT-VPN
のコンセプトを説明します。UT-VPN には 3 つの設計思想があります。まず、仮想的な LAN ケーブルを構築することで VPN
を実現すること、次に、徹底して通信の透過性を確保するように設計されていること、最後に、ソフトウェア製品を基にオープンソース化することにより非常に高い品質を維持すること、です。
ご注意: UT-VPN
は学術研究を目的としたプロジェクトです。以下の内容は、あくまでも技術的な観点から UT-VPN
ソフトウェアの特徴や想定される利用方法等を一例として記載したものです。実際に UT-VPN
を利用される際には、所属されている国・地域・組織の法令および慣習等に従って適正にご利用ください。UT-VPN
プロジェクトの関係者は、UT-VPN
およびその派生ソフトウェアの利用者が異常な使い方によって引き起こした一切の出来事について、何ら責任を負いません。 |
コンセプト 1 - 仮想的な LAN ケーブル
UT-VPN における VPN 通信の原理を簡単化に説明すると、「仮想的な LAN
ケーブルをソフトウェアによって引く」ということになります。
VPN
= 非常に長い LAN ケーブル
VPN は Virtual Private Network (仮想専用線) の略です。
VPN、特に UT-VPN があれば、HTTP 通信 (Web ページを閲覧するための通信)
が可能なコンピュータがあるところであれば、非常に長い LAN ケーブルを、地球上の任意の場所 2 箇所間に設置することができます。
たとえば、東京とニューヨークのように、地球の裏側であっても、VPN 接続を行うことができます。
物理的な
LAN (Ethernet) と同じ仕組み
UT-VPN を理解するためには、物理的な LAN (Ethernet) の仕組みについて考えると良いでしょう。物理的な LAN
には、「LAN ケーブル」、「HUB」、「LAN カード」の 3
つの要素があります。他にも「ルータ」や「ファイアウォール」などがあります。
LAN
ケーブル、HUB、LAN カードを VPN で仮想化
VPN では、LAN カードや LAN ケーブル、HUB、IP ルータをソフトウェアによって仮想化します。
ここで、仮想化とは、物理的には存在しないにもかかわらず、論理的には同等の機能・性質を持つものをソフトウェア的に実装・動作させることを意味しています。
たとえば、LAN カードを仮想化すると「仮想 LAN カード」、LAN ケーブルを仮想化すると「VPN セッション」、スイッチング
HUB を仮想化すると「仮想 HUB」、IP ルータを仮想化すると「仮想レイヤ 3 スイッチ」となります。
HTTP (Web) 通信ができる環境なら必ず利用可能
UT-VPN
では、すべての VPN 通信を、物理的なネットワーク上では HTTPS (HTTP over SSL) に偽装
(impersonate) して通信します。つまり、物理的なネットワーク装置、たとえば NAT、ルータ、無線
LAN、プロキシサーバー、ファイアウォールからは、普通の Web ページを閲覧するための HTTPS 通信に見えるということです。
レガシーな VPN プロトコル、たとえば IPsec、L2TP、PPTP は、特別なプロトコルを VPN
通信に使用していました。したがって、NAT、ファイアウォール、プロキシサーバーが存在するネットワークでは利用できない場合が多くありました。UT-VPN
は HTTPS 通信に偽装するので、どのような種類のネットワークデバイスでも経由して VPN セッションを確立することができます。
なお、偽装 (impersonate) とは公正・中立な技術用語であり、悪い意味はありません。
ソフトウェアのみで実装、ハードウェア VPN 装置は不要
UT-VPN は Windows および UNIX で動作します。
オープンソースで、ソースコードが無償で配布されており、もちろんソフトウェア本体も無償です。改造も自由です。
Windows および UNIX (Linux, FreeBSD, Mac OS X, Solaris)
で動作するため、余っている古い PC を VPN サーバーにすることができます。
レガシーな VPN プロトコル、たとえば IPsec、L2TP、PPTP
は、大抵は、高価な専用ハードウェアを購入しなければなりませんでした。一部、Windows Server
等のソフトウェアを購入すると利用することもできましたし、フリーウェアの VPN ソフトもありましたが、UT-VPN
のように使いやすく、また通信の透過性が高いソフトウェアはありませんでした。
コンセプト 2 - 徹底した通信の透過性の確保
UT-VPN は、徹底して通信の透過性を確保するように設計されています。
インターネットに何らかの形で接続していれば、ほとんどどのような環境でも VPN 接続を確立することができます。
HTTPS による暗号化のため管理者による検閲・通信検出が不可能
VPN
を利用すると、ネットワーク管理者によってその通信内容が傍受されることを防止できます。たとえば、独裁的な国における警察・軍事組織の担当者が通信傍受をしようとしていても、VPN
を利用すれば、その内容が見られてしまう心配は不要です。
しかし、レガシーな VPN プロトコル、たとえば IPsec、L2TP、PPTP
は、確かに暗号強度は高く内容をネットワーク管理者に見られない点では優秀であるものの、ユーザーが VPN
通信を行っているという事実自体は、ネットワーク管理者によって簡単に検出されてしまいます。その結果、ネットワーク管理者による捜査の対象となったり、また、遮断
(フィルタリング) されてしまったりします。
諸外国の危険な政治体制の国・地域において密かに VPN 通信する必要がある場合
「HTTPS
による暗号化のため管理者による検閲・通信検出が不可能」という性質は、特に、危険な政治体制の国・地域において、体制に気付かれずに密かに
VPN 通信を行う必要がある場合に便利です。
世界中には色々な国があります。VPN
等の暗号通信を行っているだけで、何か犯罪の予備を行っているのではないかと勘違いされて、強制捜査されたり逮捕されたりする国・地域があります。そのような国で、適法な目的のために
VPN 通信を行っただけでその都度誤解されて捜査の対象となるのは、大変面倒で、時間の無駄です。そこで、できれば政府に対して VPN
通信を行っている事実すら検出されないようにすることが重要なのです。
日本においても、戦時中、治安維持法のような法律ができ、犯罪の予備を行っているのではないかと誤解されただけで投獄される事故がありました。また、例えば米国などでは盗聴法が成立しており、誰かが電話局であなたの通信を無断で盗聴している可能性もあります。そのようなときに、VPN
通信を行っていることが検出されると、無用な疑いをかけられ、面倒なことになるかも知れません。それを予防するために、レガシーな IPsec
等の VPN プロトコルではなく、UT-VPN ソフトウェアを利用することが重要です。
外国の危険地域等でも安心して使えるために - 徹底したプロトコルのステルス化
UT-VPN
はどのようにして「HTTPS による暗号化のため管理者による検閲・通信検出が不可能」という性質を実現しているのでしょうか。
その手法として、徹底したプロトコルのステルス化があります。VPN セッションの物理的な通信を行うために、HTTPS
を利用すると前述しましたが、HTTPS は TCP セッションを確立して通信します。HTTPS のポート番号 (443) の TCP
セッションが長期間、ファイアウォール上で確立され続けており、何らかの通信が継続的に行われていることが検出されると、ネットワーク管理者は、その通信が
VPN
である可能性が高いとして調査の対象とします。また、ネットワーク機器が自動的にその通信を遮断してしまうように設定されている場合があります。
それらの検出手法に引っかからないようにするため、UT-VPN では、設定により、短い間隔の HTTPS
コネクションを時間的にずらして並列的に利用し、1 本の TCP コネクションを長時間持続させないようにすることで、VPN
通信を行っていることを隠ぺいすることができます。
また、1
本の TCP コネクション中において、送受信 (Uplink と Downlink)
が同時に発生していることがネットワーク管理者の設置した装置に検出されると、その TCP コネクションは SSL-VPN
である可能性が高いとマークされる危険があります。そこで、UT-VPN では偶数本のコネクションを確立し、半数は Uplink 用、半数は
Downlink 用に分けて通信することができるようになっています。これにより、SSL-VPN
セッションであることがネットワーク管理者に気付かれないようになっています。
その他の工夫として、SSL ストリーム内において VPN
セッションをネゴシエーションしようとする際におけるデータの送受信に、わざと、毎回異なる乱数長のダミーデータを挿入することにより、毎回ランダムなサイズのデータがやりとりされるので、トラフィック・パターンによる検出も困難にしています。また、VPN
セッションを維持するためのキープアライブ通信も、その間隔を乱数ミリ秒ごとに行うことになっており、パケットの特徴を見ることによる VPN
の検出を難しくしています。
なお、これらの VPN
通信の検出を妨害するステルス的技術について、将来的に、ファイアウォール等の装置がアップグレードした場合で検出可能となった場合でも、UT-VPN
はオープンソースソフトウェアですので、誰でも、より検出が難しくなるようなプログラムの改良を行い、自分のために使用することができます。それを第三者に配布することもできます。オープンソースの
VPN ソフトウェアには、このような面白い特徴があるのです。
コンセプト 3 - オープンソース (無料) で製品並みの完成度
オープンソースで無料のソフトウェアには、あまり完成度が高くないものが多くあります。技術的にはしっかりしていても、ユーザーインターフェイスが不十分だったりすることもあります。
しかし、UT-VPN は、もともと市販製品の SoftEther PacketiX VPN
を基に開発されていますので、製品並みの完成度があります。
無料、オープンソース、改造・配布・販売自由
UT-VPN は無料で、オープンソース (GPL ライセンス) です。GPL
に基づき、改造・配布・販売を誰でも行うことができます。市販製品の完成度を持つソフトウェアですので、ソースコードの内容を読んで学習したり、自社用の製品を開発したりすることもできます。
ソースコードは約 21 万行、5 Mbytes
以上あり、ネットワーク通信ソフトウェア、システムソフトウェアとしては、大規模なソフトウェアの部類に属します。
ほとんどの種類のコンピュータ / OS で動作
UT-VPN は Windows 9x / NT / 2000 / XP / Server 2003 / Vista /
Server 2008 / 7 / Server 2008 R2 で動作します。これらの Windows バージョンでは完全な GUI
が付属しています。
また、Linux、FreeBSD、Solrais および Mac OS X でも動作します。右側の図で Solaris
が抜けているのは、スライド中に記載することを忘れたためで、本当は Solaris 8, 9, 10 で動作します。
対応 CPU は、動作確認をしたものとしては、x86, x64, ARM, MIPS, SH-4, PowerPC, Sparc
があります。しかし、そもそもソースコードが公開されており、またエンディアン依存もありませんので、上記 OS が動作するすべてのコンピュータや
CPU でコンパイルすれば動作するものと思われます。
初心者でも簡単、UI 完備
UT-VPN
はソフトイーサ株式会社が 6 年間かけて開発してきた製品版 PacketiX VPN と同様の操作方法の GUI
を搭載しています。ほとんどドキュメントを読まなくても使うことができる操作性を有しています。
レガシーな VPN プロトコル、たとえば IPsec、L2TP、PPTP をサポートする多くの市販の VPN
製品やルータは、コマンドライン・インターフェイス (CLI)
で複雑な呪文のようなコマンドを入力して操作する必要がありました。それには専門的な知識が必要で、資格試験のような産業も発達していました。UT-VPN
ではそのような専門的な知識は不要です。
このような意味でも、UT-VPN は VPN 技術を一般のコンピュータ利用者に開放し自由化する最初の VPN ソフトウェアであります。
市販製品 PacketiX VPN をベースに開発、接続互換性もあり
UT-VPN
の基となった PacketiX VPN 2.0 / 3.0 は、2005 年 12 月に発売されました。4
年間以上の期間にわたり、日本国内の多くの官公庁・自治体・企業に導入され、技術的なトラブルはほとんど起きませんでした。このように品質の高い製品を基にしているので、UT-VPN
の品質も同様に高く維持されます。
UT-VPN は PacketiX VPN に関連し、ソフトイーサ株式会社と筑波大学との共同研究の成果物として公開されています。
|