14分で読めます
| iOS
TMOは毎年WWDCで、自身のストーリーを語りたいApple開発者数名にインタビューを行っています。その結果、開発者コミュニティの現状に関する真摯な洞察が数多く得られます。第5回インタビューでは、Dave HamiltonがCloakのDave Peckと対談します。
_________________________________
Dave Hamilton:私は、Cloak (getcloak.com) の Dave Peck と一緒に WWDC に来ています。
デイブ・ペック:ええ、残念ながらcloak.comは25万ドル以下では入手できませんでした。手元になかったので…
TMO:もちろんです。まあ、小銭くらいですからね。
DP:その通りです。
TMO:興味深い製品をお持ちですね。どこから始めたらいいのかさえ分かりません。どこから始めたのですか?どのようにして実現したのですか?
DP:そうですね、もし 1 年半前に「使いやすい VPN アプリを開発する予定はありますか?」と聞かれたら、私はおそらく驚きの答えを返していたでしょう。
Cloakは3人組の会社です。私、ピーター・サガーソン、ニック・ロビンソンです。ピーターと私はソフトウェア開発者で、ニックはグラフィックデザイナー兼インタラクションデザイナーです。とにかく、私たちはシアトルでフリーランスとして働いていました。シアトルにはコーヒーショップがたくさんあり、いつもカフェインを摂取しながら仕事をしていました。そこで気づいたのですが、私たちはオープンな無線ネットワークばかりを使っていて、セキュリティが全く確保されていない上に、クライアントの機密性の高い作業もこなしていることに気づきました。そこで、「ああ、VPNが必要だな」と思ったのです。
そこでいろいろ調べてみたところ、VPNの最先端の技術は、ずいぶん前から存在していたように思えました。確かに世の中にはたくさんのサービスがありますが、最先端の技術というのは、サイトにアクセスして、それが何なのかを事前に知っておく必要があり、技術を深く理解して、サイトにアクセスして、運が良ければ設定ファイルを入手する、といった感じでした。
そうでない場合は、手順1から12までが記載されたページが表示されます。IPアドレスなど、VPNの設定に必要な情報を入力する方法が書かれています。そして、このやや難解ながらも非常に価値のある技術を使う体験がどのようなものだったのか、改めて考え直す機会があることに気づきました。
それで、2011年後半にピーター、ニック、そして私で、最初の、ごく初期のバージョンをリリースしました。すると、十分な数の人が使ってくれて気に入ってくれたので、私たちはさらに力を入れ、ここしばらくはそれを続けてきました。そして、今年初めのMacworldでバージョン1.0を大々的にリリースしました。ですから、今のところは楽しい道のりを歩んでいます。
TMO:面白いですね。では、最初に書いたのはMacだったんですか?
DP:ええ、その通りです。実際、まさにそれが私たちが最も必要としていた部分です。そして今でも、CloakのMacクライアントは、私たちが重要だと考える機能をすべて備えているという意味で、いわば私たちの最高のクライアントだと考えています。通常、VPNを購入すると、設定ファイルが提供されます。Tunnelblickをダウンロードするか、運が良ければViscosityなどを購入するかもしれません。しかし、それでもすべてを自分で設定する必要があります。
私たちのサービスでは、ウェブサイトにアクセスしてユーザー名とパスワードを入力し、アプリにアクセスして同じユーザー名とパスワードを入力するだけで完了です。他に何も考える必要はありません。面倒な作業から解放されたからこそ、他のツールにはない機能を開発できるのです。
例えば、信頼できるネットワークと信頼できないネットワークをユーザーが指定できる高度な機能があります。Cloakをダウンロードした直後のデフォルトでは、パスワードが設定されていないネットワークに接続している場合は安全ではないと判断し、自動的に接続を保護します。Cloakは接続しているネットワークを自動的に検出し、接続を保護します。これは非常に便利な機能で、ユーザーが意識することなくそのメリットを享受できます。私の場合は、自宅とオフィスの無線ネットワーク以外は信頼しないように設定しています。今はオフィスもあるので、これはちょっと変ですね。
TMO:それは素晴らしいですね。

DP: Macクライアントには他にもたくさんの機能を搭載していて、とても気に入っています。VPNを使うと、接続時にデバイス上のすべてのデータが暗号化され、クラウド上のサーバーに送信されます。サーバーは近くに設置したいと考えるため、世界中にサーバーを設置しています。Amazon Web Services、Rackspace、Linode、Zerigo、Gandi.netなど、ありとあらゆるクラウドコンピューティングサービスを使用しています。
TMO:つまり、サービス提供のすべてのニーズをサードパーティに頼っているということですか?
DP:ええ、3人で世界中に迅速にサービスを提供できるのは、これが唯一の方法です。Cloakに接続すると、舞台裏でレイテンシー検出が行われます。これは完全に目に見えない形で行われます。基本的に、候補となるサーバーのセットを選択し、実際に数回pingを送信して、どのサーバーが接続のレイテンシーを最も低減できるかを判断します。これは完全に透過的です。
TMO:一般人向けのオタク向けソフトウェア。
DP:僕は「Cloak はオタクの夢の VPN です」と書かれた名刺を持っています。
TMO:難しい部分を意図的にユーザーから隠しているため、実際には難しい部分がまだ機能していることにユーザーが気づきにくいのです。おっしゃる通り、単なるVPNではなく、もっと多くの機能を備えています。どのサーバーに接続するかを検索したり、その他様々な機能も備えています。これは非常にクールですね。
DP: VPN技術、特にMacプラットフォームで私が本当に気にしていたもう一つの点は、例えばカフェでノートパソコンの蓋を開けた時に、VPNが接続を安全にするまでに少し時間があり、その間にアプリがネットワーク上で、おそらく安全ではない方法で通信を続けている可能性があるということです。これでは本来の目的が達成されません。そこで、この機能はMountain Lionでのみ利用可能です。Mavericksではまだ試していませんが、試してみたいと思っています。
TMO:君がここにいるのはそのためだ。
DP:ええ、その通りです。OverCloakという機能で、ノートパソコンのカバーを開けた瞬間にネットワークを完全にシャットダウンします。Mountain Lionのファイアウォールを操作し、Cloak自体が侵入して接続を安全に保護できるだけの隙間を残します。
つまり、OverCloak をオンにしておけば、全く知らない無線ネットワークでも安心して利用できるということです。実際、Mac 版 Cloak の最新バージョンでは、この機能がデフォルトで搭載されています。つまり、このループが閉じられるということです。これは本当に素晴らしい機能だと思いますし、私の知る限り、業界で今のところこれを実現している企業は他にありません。そして、これは非常に難しい機能です。Cloak を抜け出すにはファイアウォールに穴を開ける必要があるだけでなく、例えばスターバックスなどで、Wi-Fi に接続した後ブラウザを開かなければならない、キャプティブポータルと呼ばれる Web サイトを見たことがあるでしょう。
ネットワークをロックダウンすると、キャプティブポータルへのログインができなくなります。そこで、これを機能させるためにいくつかの工夫を凝らしました。ユーザーにはこの表示は一切表示されません。そのまま使えるはずです。もしOverCloakが「いいえ、ログインできません」と表示している間にWebブラウザを使用した場合、エラーメッセージが表示される代わりに、その理由を説明する分かりやすいページが表示されます。これはCloakから送信されたもので、なぜ現在ネットワークを利用できないのかを説明するものです。私たちはこの機能を非常に気に入っています。
TMO:それはすごいですね!
DP:これらはMac版Cloakのユニークな点です。iOS版Cloakはいわば弟分のようなものだと思います。使い方は、アプリをダウンロードしてログインし、設定アプリにVPNプロファイルをインストールするだけです。これが最善の方法です。
TMO:少し前に戻って考えさせてください。あなたがやっていることすべてを考えると、Cloak for Mac が App Store で販売されるはずがないですよね。
DP:そうです。残念ながら、Cloak for Macではカーネル拡張機能をインストールしてしまいます。おかしなことに、これはAppleが本来は組み込みで出荷すべきカーネル拡張機能なのです。Mavericksではそうなるかもしれませんが、どうかは分かりません。そうなることを願っています。いずれにせよ、これはインストールしなければならないカーネル拡張機能です。つまり、私たちは完全にサンドボックスの外にいるということです。そして、これについては私たちには何もできないのです。
TMO:しかし、iOS では App Store に登録する必要があるので、選択の余地はありません。
DP:はい、他に方法はありません。では、どうやってそれを実現するのか、という疑問が生じます。数年前のiOS 4では、エンタープライズへの大きな取り組みがありました。そこで、構成プロファイルという概念が導入されました。これは基本的に、デバイスの設定をコード署名でまとめたものです。Cloakアプリをダウンロードして「設定をインストール」ボタンを押すと、当社のサーバーがVPN設定に署名します。ですから、お客様は何も心配する必要はありません。すべて当社が対応します。
TMO:はい。
DP:そして、接続を実際に保護するために Cloak のオン/オフを切り替えるには、設定アプリを開いて VPN をオンにする必要があります。
TMO:なるほど。iOSのやり方で実現しているんですね。アプリを使えばそれが簡単に実現できます。設定やプロセスも簡単にできるんですね。
DP:まさにその通りです。基本的に、ユーザー名とパスワードを入力すれば、あとは完了です。Macの時にも言ったように、接続時にpingを実行して、レイテンシが最も低いサーバーを探し出すという処理があります。iOSではそれができないので、代わりに特別なDNSサービスを実行しています。iOS上でCloakのDNSサービスにアクセスすると、これもユーザーから隠されます。これを作るのは楽しかったです。
TMO:きっとそうでしょう。素晴らしいですね。
DP: … DNSサーバーにアクセスすると、GeoIPルックアップを行ってユーザーが世界のどこにいるかを把握し、レイテンシーベースのルーティングを行います。つまり、DNSサーバーがユーザーがどのサーバーにアクセスするかを決定します。これは非常に便利な機能だと思います。トランスポーター機能を使えば、「米国か英国のサーバーだけを使いたい」といった指定も可能になります。
TMO:絞り込む必要がある場合。
DP:そうですね、絞り込む必要があるなら。とはいえ、結局はプールに絞り込むことになります。そのため、私たちはアメリカの両海岸と中部にサーバーを設置しています。イギリスからアメリカの接続をリクエストすればアメリカ東海岸に接続でき、日本から接続をリクエストすれば西海岸に接続できます。こうした工夫が、ユーザー体験を少し向上させています。
TMO:そうすれば Netflix は引き続き機能します。
DP:ええ、その通りです。私たちはそんなことは口にしません。
TMO:いいえ、そうではないことは分かっています。でも、言えることはあります。
DP:はい、できます。
TMO:私の推測では、その目的で使用している顧客は少数だと思います。
DP:面白いですね。私たちはオンラインセキュリティを重視しているので、Cloakを開発しました。しかし、少し市場に身を置いてみて、私はビジネスマンではなくソフトウェアマンなので、人々がVPNを使う理由についての理解が、当時の状況と合致していなかったことに気づきました。
TMO:まさにこのサービスが作られた目的と同じ目的でVPNを利用している人がいます。そして、彼らはVPN利用者のごく一部を占めているのです。
DP:まさにその通りです。そして、あなたの言う通りだと思います。それは多数派ではなく少数派です。
TMO:まったくその通りです。
DP:人々がVPNを使う理由は4つあるとよく言っていました。1つ目はオンラインでの安全を確保することです。Cloakを開発する際には、まさにこの点に重点を置きました。2つ目は、位置情報の問題を回避することです。これはややグレーゾーンだとは思いますが、率直に言って、そのためには便利なツールです。しかし、近頃は、いずれこうした障壁を打ち破らなければならない時代です。
TMO:そうですね。Netflixのようなサービスについては、Netflixの選択ではなく、Netflix外で締結したライセンス契約によってできることが制限されていることは承知しています。しかし、それは顧客の問題ではありません。
DP:そうですね。もちろん、Netflixがうまくいくとは約束できません。でも、私の経験から言うと、彼らはこうしたことに目をつぶっているように見えます。
TMO:もちろんです。
DP:彼らはもっと多くの人に登録してもらいたいと思っています。
TMO:彼らは顧客を求めています。
DP:興味深いですね。人々がVPNに期待する3つ目のことは、BitTorrentを何の罰も受けずに利用することです。しかし、私たちはそのための最適なサービスではありません。というか、私たちは全くそのサービスに適していないのです。そして…
TMO:技術的な理由ですか?
DP:主な理由は、ネットワークを非常に注意深く監視するクラウド プロバイダーを使用しているためです。
TMO:ああ。わかりました。
DP:もし誰かがBitTorrentを使って『ゲーム・オブ・スローンズ』をダウンロードしたら、NBCユニバーサルから通知が届くことになります。過去にも実際にありました。ここ1年ほどで、良くも悪くもDMCAについて多くのことを学びました。興味深いですね。BTGuardのようなサービスのように、DMCAを謳うサービスもありますが…。
TMO:それが彼らのやり方です。
DP:彼らがやっているのはそれだけです。サーバーはアメリカにありますが、正直に言うと、彼らは法律を遵守しているとは思えません。私は法律が好きではないかもしれませんが、彼らは法律を破っています。
TMO:そうですね。道徳的な議論と法的な議論は別です。
DP:ええ、道徳的には自分の立場はよく分かっていますし、彼らの意見に100%賛成です。でも、ここでビジネスをやらないといけないんです。
TMO:その通りです。そして、他の目的でサービスを利用しているすべての顧客にとって、信頼できるビジネスでなければなりません。
DP:そうです。ネットワークをクリーンに保つことは非常に重要です。私たちが利用しているサーバーサービスを考えると、ネットワークをクリーンに保たなければ、彼らは私たちがそのサービスを使用しなくなるように仕向けるでしょう。そうなると、世界中にサーバーを設置できなくなります。つまり、私たちにとっては何も機能しなくなるのです。本当に残念です。最近、この件についてブログ記事を書きました。今、これは非常に難しい問題だからです。ですから、これは興味深い学習経験となりました。アプリの開発を始めた頃には、考えもしなかったことです。
TMO:今お話いただいたことを全部考えていたんですが、あのコーヒーショップでこの作品を作ろうと決めた時、一体どれだけのことを考えていたんですか? おそらくほとんど何も考えていなかったでしょうね。
DP:全然。いや、確かに、よく見ないうちに飛びついてしまった。
TMO:そうですね。
DP:それが開発者のやり方ですよね?まずは最小限の機能を備えた製品をリリースし、それから市場があるかどうかにかかわらず、市場について学ぶのです。
TMO: 小規模な開発者なら誰もがそうであるように、あなたもかゆいところを掻き立てるような製品を開発されたのだと思います。そして、他の人も同じかゆいところを感じているようですね。
DP:そうみたいです。そう願っています。今のところ順調です。
TMO:他の人が同じように、異なる、似たような悩みを解決したいと望む場所。
DP:関連する悩みですね。私たち自身の悩みを解決できたので、もしあなたの近くにも、私たちが解決できる悩みがあれば、それは本当に…
TMO:この類推はどこまで適用できるでしょうか?
DP:ちょっと気まずかったですか?やりすぎましたか?
TMO:いいえ、まだです。
DP: VPNを利用する人々の4つ目の目的は、オンライン上での犯罪行為を促進するためにVPNを利用することだと思います。これは実のところ問題です。私たちのようなサービスにとって、詐欺は大きな問題です。
TMO:想像できます。
DP:これもまた非常に興味深い学習経験でした。そして幸運なことに、私たちよりもずっと経験豊富な人たちに出会えたことも嬉しかったです。
TMO:いずれにしても、そういう人たちは Tor を使うべきです。
DP:ええ、オンラインで匿名性を保つと謳うVPNサービスがたくさんあると言うなら、それはナンセンスです。全くのナンセンスです。
TMO:私があなたのアカウントを持っている場合、それが匿名であるはずがありません。
DP:ええ、ビットコイン対応のサービスもそうです。彼らは中間的な存在です。あなたは匿名ではありません。オンラインで匿名にするために誰かを雇うべきではありません。それに、深刻な誤解だと感じる点があります。IPアドレスを変えれば、どういうわけか見つけられなくなる、と。では、発信者番号をブロックすれば、誰が電話をかけてきたのか特定できない、と?馬鹿げています。多くのVPNサービスは、いわばその橋渡しを売っているようなものだと私は思います。
TMO: Tor は正しく動作します。
DP:そうですね、オンラインで匿名性を保ちたいなら、Tor を使ってください。ちなみに、Tor はネットワーク層では役立ちますが、Web ブラウザを使っている場合は(おそらく使っていると思いますが)、さらに一歩踏み込んだ対策が必要です。プライベートブラウジングモードにするか、Cookie をうまくサンドボックス化するプラグインを使う必要があります。
TMO:または、Tor ブラウザ バンドルを使用します。
DP:あるいはTorブラウザを使うのもいいでしょう。これらの方法を使えば、VPNなどよりもはるかに高い匿名性をオンラインで維持できます。「IPアドレスを隠してくれるんですか?」と聞かれたら、「別のIPアドレスをお伝えします」と答えますが、これはオンラインでの安全確保のための技術的な副次効果に過ぎません。それがメインイベントではありません。
TMO:いいですよ。本当に良いです。それで、最後に、Macの話に戻りますが、皆さんはこういったクレイジーなことをたくさんやっていますよね。iOSでは、App Storeで動作させる方法を見つけたんですよね。
DP:できる限りのことをします。
TMO:そうですね。Appleのルールを守らなければなりませんね。この機能をリリースした当初、Appleから抵抗はありましたか?それとも、Appleはこれを「回避策」ではなく、素晴らしい「内部対策」と捉えていたのでしょうか?
DP:彼らも大丈夫だと感じたと思います。問題なくApp Storeにアップロードされました。
TMO:よかった。
DP:実際のところ、私たちは拒否されたことはありましたが、それは全く関係のない理由によるものでした。
TMO:もちろんです。
DP:でも、私たちが彼らに尋ねたんです。つまり、私たちが考えている疑問は、CiscoやJuniperの場合、App Storeにサンドボックスを突破する特殊なアプリがあるということです。つまり、そのアプリにはVPNスタックが組み込まれているということです。少しオタクっぽく言うと、Macでは接続のセキュリティ保護にSSL-TLSを使っています。すべてはOpenVPNの上に構築されています。でも、皆さんがそれを目にすることはないでしょう。
TMO:そうですね。でも、それは知っておいてよかったです。そして、その点について透明性があるのは良いことです。
DP:ええ、そうです。iDevicesではIPsecを使っていますが、これは全く異なるプロトコルです。実際に使ってみて分かったのは、IPsecはネットワークの異常に対する堅牢性がはるかに低いということです。IPsec接続は簡単に切断されてしまうんです。
TMO:侵入するのではなく、破壊するだけです。
DP:そうです、完全に形成されないようにするだけです。
TMO:安全ではないわけではなく、単に信頼性が低いだけです。
DP:私たちの知る限りでは、同様に安全です。
TMO:よかった。インタビューでその点を明確にしておきたかったんです。
DP:ええ、でもCiscoアプリとJuniperアプリは実際には内部でSSL-TLSを使っています。App StoreにはOpenVPNアプリもありますが、これは本当に使いにくいです。とにかく、あなたが超オタクで、もっと深く知りたいなら、それを使えばいいんです。なので、人々がもう少し踏み込めるように、いくつか例外を設けているんです。でも、そこにどんなルールがあるのか、私たちにはよく分かりません。
TMO:今週、研究室を訪問してみる価値はあるかもしれない。
DP:まさにその通りです。彼らに「こんにちは」と挨拶しないといけないと思います。その話は何度か交わしています。
TMO:いいですね。お時間を割いていただきありがとうございます。素晴らしいですね。
DP:出演させていただきありがとうございます。
______________________
インタビュー:デイブ・ハミルトン、書き起こし:ジュリー・キュール、編集:ジョン・マルテラロ。