セキュリティ ウォッチID に関する考察 (第 1 部)

Jesper M. Johansson

目次

ID とは
ID に関する問題
ID を認証する
ID と利害関係者
ID を使用する
持っている ID の数
ID の原則
1. ID プロバイダの機密性は、少なくとも最も機密性の高い証明書利用者と同程度である
2. 企業が良好な顧客関係を維持し、ビジネス上の機密情報と見なした情報を所有および管理することを可能にする

もう扱い慣れたと多くの人が考えている概念が、今再び注目されています。それは ID です。現在、さまざまな新しい ID プロジェクトが進められていて、その勢いは衰えを知りません。これらのほとんどは、分散 ID システムや、最終的にはパスワードに置き換わるような形式をとっています。このようなシステムの基本的な目標は共通していて、ユーザーが覚える必要のある大量のユーザー名とパスワードの組み合わせを 1 つの ID に置き換えることです。新しいシステムでは、1 つの ID でどこにでもアクセスできるしくみが提供されるでしょう。

Password Safe に格納した約 130 個のパスワードを見ると、そのようなしくみに強い魅力を感じます。また、Microsoft.com サイトにアクセスし、繰り返し Windows Live ID とパスワードの入力を求められると、シングル サインオン (SSO) の世界が実現されるまでの道のりはまだ遠いことを実感します。

ただし ID は、誤解されることの多い漠然とした概念です。この記事では、ID に関する考察を提供し、ID システムが従う必要のある原則について説明します。私はまだ、ID システムはこれらの基本原則に従わなければならないと言えるような立場ではありませんが、これらの原則に従っていない ID システムは、消費者に支持されず、企業への展開とサポートという点でも不十分です。ID システムは、理論的には満足のいくものかもしれませんが、最終的に企業とユーザーに価値を提供できなければ、そのシステムが成功を収めたとは言えません。

ID とは

ID とは、簡単に言うと、コンピュータ システム内のエンティティを抽象的に表現したもので、哲学の世界では 2 つの事物の "同一性" として定義されます。2 つ (またはそれ以上) の事物が同一であれば、それらの間にまったく違いはありません。これはかなり回りくどい定義だと思います。ここでは ID の定義を、"エンティティが定義可能かつ認識可能であること" とします。この方がわかりやすいでしょう。

(P=Q)→(P=Q)

上記の式は、記号論理学における基本的な ID の定義です。P が Q と同一であれば、P は Q と等しくなります。少し言い方を変えると、Peter が Peter であれば、確実に Peter は Peter です。このため、ここで必要になるのは、Peter が自分が実際に Peter であることを証明する方法です。

デジタル システムにおける ID の証明には、非常に興味深い方法が使用されます。デジタルの世界における ID の定義は、記号論理学における ID の定義とは少し異なります。Kim Cameron は、独創性に富んだ論文「The Laws of Identity」(ID の原則)で、デジタル ID を "あるデジタル サブジェクトが自身または別のデジタル サブジェクトについて行う一連の主張" と定義しています。

これは、純粋論理学の定義とは異なります。純粋論理学における ID の定義は、単に "自分がだれであるか" です。デジタルの世界における ID は、自分が提示することを選択した主張に基づきます。つまり、デジタル ID は、"自分がだれであるか" というよりも、"自分がだれであることを選択するか" です。デジタル ID システムでは、Peter または Peter であることを主張する人が、その主張の証明として許容される (主張が本物であることを証明できる) ものを提示した場合、Peter の ID を認めなければなりません。Cameron が説明する "クレーム" (主張) は、実質的には ID の表明です。Peter または Peter になる必要があるすべての人が、この情報を提示します。

ID に関する 1 つ目の問題は、そこにあります。デジタル ID は、(哲学で言うところの) 存在論的な ID ではなく、現実の世界に実際に存在するエンティティ (実体) を表したものです。また、デジタル ID は一時的なもので、不完全で、随意的です。そして、最も興味深いのは、1 つの物理的なエンティティがさまざまなクレーム セットを提示し、その結果さまざまなデジタル ID を持つ場合があることです。デジタル ID が最も役立つのは、おそらくそれらが存在論的なエンティティと一対一で対応しない場合です。

ID に関する問題

クレームに基づくデジタル ID の考え方には、さまざまな興味深い問題があります。1 つ目は、ID に価格が付けられていることです。わずか数千ドルで、まったく新しい ID を購入できるのです。この金額で手に入るのは、有効な社会保障番号と、変更可能な住所です。この ID は、運転免許証、クレジット カード、パスポートなどの取得時に使用できます。ID と共に、証明可能な経歴を入手しようとすると、おそらくかなりの費用がかかります。

このことから、デジタル ID システムでは存在論的な ID が価値を持たないと主張する人もいます (私もその 1 人です)。個人的には、ID が本物であるかどうか (少なくとも ID が正しいかどうか) は、デジタル システムとの関連で考えた場合、重要ではなく、興味もそそりません。ほとんどのアプリケーションでは、常に ID を偽ることができます。2 週間前と同じ嘘を今日つくことができれば、同じ人、エンティティ、またはコンピュータであると見なされ、前回と同じアクセス権を与えられます。

これが事実だとすると、存在論的な ID は一時的なものであるだけでなく、ほとんどのアプリケーションにとって意味を持たなくなります。つまり、ユーザーを現実世界のエンティティに結び付けることが重要ではなくなります。関連付けさえあれば、ほとんどの目的を達成できるので、本物の物理的な ID は必要ありません。ID を物理的な不変のエンティティに結び付けることを重視するアプリケーションは、最初から成功の見込みがなく、そのような強い結び付きに依存すると、必ず致命的な過ちを犯すことになります。現実世界の人間は、ID のクレームを偽ったりその提示を保留することによって、そのようなシステムを弱体化させることができます。もちろん ID のクレームを (意図的または非意図的に) 他のエンティティと共有することによっても、それは可能です。

そのようなシステムよりもはるかに回復力があり、便利で価値の高いシステムを構築するには、主張された ID はすべて偽物であるという前提に基づき、セッション間でのみ ID の関連付けを試みるようにします。これによって、これまでの歴史の中でも、個人のプライバシーを著しく侵害しなければ解決できなかった問題の解決を試みるリソースの数を大幅に削減できます。

ID を認証する

ID に関するもう 1 つの問題は、ID を単独で使用できないことです。ただし、これまでの歴史の中では、ID を認証しないことが常識であるかのように考えられてきました。シェークスピアの『ヘンリー 4 世』に、こんな台詞があります。「私はロバート・シャロウ、この州の貧しい郷士で、国王の治安判事の 1 人です」不思議なことに、このシャロウ判事の言葉を聞いた登場人物は、他に何も確認することなく、この ID の主張を真実であると見なします。以前の文学作品では、このような場面が他にも見られます。たとえば『Norse Sagas』でも、トールとオーディンによる同様の ID の主張が、疑いもなく即座に受け入れられます。

もちろん、目が 1 つしかなく、8 本足の馬に乗った人が、私はオーディンであると主張すれば、ある程度 ID を証明するものが提示されたと考えられるかもしれません。ただし、インターネット上では、自分が乗っているものによって ID を証明することはできません。"インターネット上では犬と人間の区別もつかない" とはよく言ったものです。このため、認証されていない ID の主張が受け入れられることはほとんどないので、なんらかの形で ID を認証する必要があります。

「そこだ、つまずくのは」(『ハムレット』より) ID を証明するにはどうすればよいでしょうか。ID の証明は、実際の ID と同じくらい、またはそれ以上に重要です。では、どのようにして ID を証明するかと言えば、私たちが使用したのは、"パスワード" という共有シークレットによる認証形式です。2006 年 2 月 14 日、マイクロソフトの会長であるビル・ゲイツは、パスワードが 3 ~ 4 年のうちに役に立たなくなり、使用されなくなると述べました。

ただし、私がこの記事を執筆しているのは 2009 年 3 月なので、彼の発言が誤りだったことは明らかです。現在私は 2006 年 2 月よりも多くのパスワードを持っています。仕事だけでも、ネットワーク パスワード、UNIX パスワード、経費報告システムのパスワード、人事システムのパスワード、企業の株式仲介業者と利益提供者用のパスワード、開発用コンピュータと数台のサーバーの root パスワード、ラップトップの管理者パスワード、電話の PIN、さまざまなユーザーとして企業の製品にアクセスするための数個の外部パスワードがあります。これほど多くのパスワードを持っていても、私は正直に言って、パスワードがなくなればよかったとはまったく思っていません。実際には、パスワードは認証時の身元証明手段としてかなり役に立っています。

では、ビル・ゲイツはどのようなことを考えていたのでしょうか。彼は 3 年前、今ごろにはこのようなパスワードがすべて InfoCard に置き換わると考えていました。最終的に Windows CardSpace に名前が変更された InfoCard は、Windows Vista、そして後には Windows XP SP3 に組み込まれた一種の認証テクノロジです。

カードを作成すれば、必ずメリットを得ることができます。いずれかの Web サイトで Windows CardSpace の資格情報を使用できれば、このことに納得していただけると思います。試してみたい方は、Windows Live 用 InfoCard のベータ テストに参加してみてください。

ID と利害関係者

もちろん、ID を認証する方法は他にもあります。いくつかの方法は、特定の状況で役立ちます。それがどのような状況であるかを理解するには、ID システムにおける利害関係者間の違いを把握する必要があります。

ID サービスのプロバイダは、他の関係者にサービスを提供するなんらかのエンティティです。通常、プロバイダは ID データベースを保持し、ID のエンド ユーザーを認証します。一般に、プロバイダは人ではありません。このため、プロバイダは人が処理できる量を大幅に上回る、構造化されたデータを処理できます。たとえば、プロバイダは、任意の長さの共有シークレットを使用して、自身の ID を証明できます。したがって、ID プロバイダの ID の認証には、多くの桁から成る、記憶できないほど複雑な資格情報がよく使用されます。このため、場合によっては、桁数が多いほど安全性が高くなります。"場合によっては" と言った理由は、その効果がシークレットの管理方法に大きく左右されるからです。ID を証明する 4096 ビットのシークレットを持っていても、それを実際に秘密にしておかなければ意味がありません。

ID プロバイダは、デジタル証明書などの構造を使用して、非常に簡単に自身の ID を証明できます。デジタル証明書は、簡単に言うと、構造化された情報の比較的大きな (数千バイトの) まとまりです。コンピュータは、どのトランザクションでも、この証明書を簡単に送信できますが、人間は、トランザクションに対する認証を行う目的で、この証明書のような長いデータを入力することにはあまり気乗りしないでしょう。

エンド ユーザーは、自身の ID を主張する必要のあるエンティティです。ほとんどの場合、ユーザーは人ですが、そうでない場合もあります。コンピュータ システムがユーザーになることもあります。このため、ユーザーが提示できるクレームの質は、そのときによって大きく異なります。

最後に説明するのは、証明書利用者です。証明書利用者は、ユーザーになんらかのサービスを提供する前に、ID プロバイダを信頼して、それが正当なユーザーであるかどうかを確認するエンティティです。ほとんどの場合、証明書利用者はコンピュータ システムです。証明書利用者が、自身の ID をユーザーと ID プロバイダに証明できる場合、その証明書利用者のクレームは、ID プロバイダが使用したクレームと同等の効力を持ちます。

ここで重要なのは、あるシナリオのユーザーが別のシナリオでは証明書利用者になる場合が多いことです。ユーザーがソフトウェアであるか、ソフトウェアのサポートを受けていれば、このユーザーは簡単にプロバイダと同じ種類の構造化されたデータを処理できます。このため、OAuth などの分散 ID プロトコルや、セキュリティに関する WS-* のさまざまな仕様は、大量の構造化されたデータを使用して認証を行うことをきわめて重視しています。主にこれらの仕様は、サービスがお互いを認証することに重点を置いています。このような仕様は、人を直接扱う場合でも、構造化されたデータを人の代わりに処理できるサービスを仲介役として使用する傾向があります。多くの場合、この仲介役は、ユーザーのコンピュータ上で実行されるアプリケーションです。

ID を使用する

ユーザー (人) が証明書利用者から提供されるサービスにアクセスするときにコンピュータ システムを仲介役として使用する考え方は、非常に重要です。この考え方こそが、ID をシステムではなく人が使用できるようにする方法の基盤になります。残念ながら、今のところまだあまり大きな成功を収めていない InfoCard 以外で、このテーマに取り組んでいるシステムはほとんどありません。物理的な人間が ID サービスを使用して何かにアクセスするときのプロセス フローは、多くの場合、図 1 のようになります。

fig01.gif

図 1 ID サービスを使用するときのプロセス フロー

"Then A Miracle Occurs" (そして奇跡が起きる) (TAMO) と書かれた四角形に注目してください。システムの社会技術的な側面 (どのようにしてユーザーがシステムを最大限に活用できるようにするか) は、システムの運命を大きく左右します。

これまで、TAMO に関する問題を解決するために、さまざまな試みが行われました。ほとんどの問題の原因は、インターネット上では強力な (通常は証明書に基づく) ID を使用する必要があるという一般的な考えと、サービスにアクセスするたびにその ID を入力したくないというユーザーの考えとの不一致です。現在は Windows Live ID と呼ばれている Microsoft Passport は、早い時期に行われた試みの 1 つです。Google アカウントを使用する Google や、その他の企業もこの競争に参入しています。Windows CardSpace も、この問題を解決する試みの 1 つと言えます。どの試みも、ある程度の SSO を提供することを目的としています。特定のソリューションのさまざまな提供者によって所有されているドメイン内では、どの試みも、おおよそこの目的を達成できました。ただし、このようなドメインの外部では、どの試みもほぼまったくと言ってよいほど、目的を達成できませんでした。

この記事の残りの部分と第 2 部では、この問題への対処について、より詳しく説明します。ただし、問題を解決するわけではなく、だれ一人としてこの問題を解決できていない理由をいくつか指摘するだけです。最終的には、この問題を解決するためにすべてのソリューションが従う必要のある、一連の原則を紹介します。その結果、ある結論にたどり着きます。一言で言うと、存在論的な ID の実現は不可能かもしれないという考えです。

持っている ID の数

SSO を提供できる ID システムの設計段階では、多くの技術的な作業が行われますが、ID に関する大きな問題は、そこに潜んでいるわけではありません。また、ソリューションをスムーズに動作させ、使いやすくする作業 (残念ながら、この作業にはそれほどの労力が注がれていません) に、問題が潜んでいるわけでもありません。問題は、今日のユーザーが持っている ID の数が多すぎることです。既に説明したように、私が持っている ID の数は 100 を優に超えています。また、そのうち、毎日少なくとも 20 個または 25 個を使用します。私はユーザーが持っている ID の数は多すぎると思いますが、それを当然の結果と考えるつもりはありません。

純粋主義者であれば、"SSO を使用すれば問題を解決できる" と言うかもしれませんが、私は ID の数の多さが問題だとは思っていません。少なくとも大きな問題ではありません。私は多くの ID を持つことが好きです。多くの ID を持っていれば、使用するさまざまなサービスが、私の情報を相互に関連付けないことが保証されるので、安心できます。電子メール プロバイダに株式仲介業者の ID を提供したり、よく利用するオンライン ショッピング サイトで使用する ID をクレジット カード会社に提供する必要はありません。そして、写真共有サイトに使用する ID を知っているのは、自分のみです。複数の ID を持つことによって、自分の生活、およびプライバシーに仕切りを設けることができます。

また、クレジット カード会社が思いがけずハッキングされた場合でも、他のすべての ID は影響を受けません。ID を 1 つしか持っていなかった場合、悪影響を受けるかどうかは、その 1 つの ID がどのようにして実装されたかによって決まります。SSO システムが適切に実装されていれば、そのシステムを使用するサイトが、関係のない別のサイト内で発生した問題の影響を受けることはありません。ただし、この分離を実現することは簡単ではありません。また、ID プロバイダが侵害されると、そのプロバイダを使用するすべてのサイトが自動的に侵害されます。

後者の問題は、Cameron が説明したデジタル ID システムが、まだそれだけですべてに対応できる ID プロバイダになっていない理由の 1 つとして挙げられます。ID プロバイダは、きわめて機密性の高いエンティティです。

ID の原則

優れたデジタル ID システムを提供するには、少なくともなんらかの形で、ID に関するいくつかの原則に従う必要があります。これらの原則は、Cameron が「Laws of Identity」(ID の原則) で説明したものとは大きく異なります。Cameron の原則は、信頼できるデジタル ID システムの技術的な要件を実質的に定義する、(ユース ケースに近い) 設計上の原則でした。これらは成功に必要な一連の基準ですが、それを満たすだけでは不十分です。多くのシステムは、Cameron の原則に従って設計するか、さらに適切に設計することができますが、そのようなシステムも、ここで定義する原則を考慮に入れなければ、広く成功を収めることはできないと思います。これらはビジネス要件をテーマとする高レベルの原則で、システムの設計に関する重要点を直接指摘するわけではありません。

1. ID プロバイダの機密性は、少なくとも最も機密性の高い証明書利用者と同程度である

まず、既に説明したように、ID プロバイダはすべての関係者から信頼されます。これが、このような関係者が "証明書利用者" (relying party) と呼ばれる理由です。これは、ID プロバイダが、少なくとも最も機密性の高い証明書利用者と同じくらい強力なセキュリティで保護される必要があることを意味します。これが、汎用的なシステムの候補であるシステムの多くが、対応範囲の広い SSO システムを生み出すことができない理由です。単純に、信頼が確立されていないのです。たとえ信頼が確立されたとしても、ある関係者がなぜ他の関係者を信頼する必要があるかを証明することは、非常に困難です。

電子メール プロバイダに、銀行預金口座の情報や、当座預金口座に関するすべてのデータを信頼して預けることができるでしょうか。答えが "ノー" である場合、そのプロバイダには、銀行サイトへのサインインに使用する ID を提供しないようにしてください。今日の消費者には、信頼できないソフトウェア、訳のわからないポップアップ、およびマルウェア対策ソフトウェア ベンダ (適正なものからそうでないものまで) から、ある製品を購入しなければインターネットを安全に閲覧できない可能性があるという宣伝広告が山のように寄せられます。その結果、消費者は非常に賢明なので、ほぼすべての情報を信用しなくなります。今日、他の組織から十分に信頼される ID プロバイダの候補となる組織はほとんどありません。そのような信頼を構築することは簡単ではなく、信頼を維持するには、細心の注意を払う必要があります。また、情報漏えいによって失った信頼を取り戻すことはほぼ不可能です。

これから先、優れた汎用的なデジタル ID システムを提供する企業が現れるとすれば、それは非常に高いレベルの信頼を得た企業です。興味深いことに、ID プロバイダ企業の多くは、信頼度調査における順位がそれほど高くないか、圏内にも入っていません (詳細については、Ponemon Institute によって実施された、プライバシーの面で最も信頼されている企業に関する第 5 回の調査の結果を参照してください)。

2. 企業が良好な顧客関係を維持し、ビジネス上の機密情報と見なした情報を所有および管理することを可能にする

MBA の取得者は、ビジネスにおいて成功する方法を知っています。それは、最も革新的な製品を提供すること、最も安い価格を提示すること、および顧客について熟知することの 3 つのうち、いずれかまたはすべてを実現することです。興味深いことに、ほぼすべてのビジネスの関心は、3 つ目のシナリオである、顧客について熟知することに注がれています。特にオンライン ビジネスにおける顧客関係は、神聖なものです。切り替えにかかるコストがほぼ無料で、すべての業者が最安値を保証し (この "保証" はそれほど厳密な意味ではありません)、同じ製品がどこでも手に入る場合、顧客関係が重要になります。ソーシャル ネットワークや電子メール プロバイダから、なんらかの新機軸が生まれる場合でも、依然として顧客関係は重要です。

大規模な Web サイトが他の企業 (Expedia のように、以前は資格情報を所有していなかった企業も含まれます) からの資格情報を受け入れない主な理由の 1 つは、そのような Web サイトと顧客の結び付きが弱まっているからです。たとえば Yahoo が、サインインした顧客が実際に 923071235309342-2 であることを示す NetIdentitiesRUs からのクレームを受信する場合について考えてみましょう。現在 Yahoo は、以前のように自社の顧客データベースを所有していません。このため、Yahoo にはその顧客が実際にはだれなのかがわかりません。Yahoo はもう、自社の顧客とシステムを、これまでと同じ方法で管理することはできないでしょう。また、ID を子会社や買収した企業のデータベースと照合して顧客調査を行ったり、サードパーティに情報を売却して追加の利益を得ることも (もちろん、Yahoo が売却を望んでそれを顧客が受け入れた場合でも) できないことが予想されます。Yahoo がこれらをすべて断念することは当然ないと思いますが、もう一度これらを実現するには、その意欲をかき立てるような、特別な何かが必要になるでしょう。

では、Yahoo が ID プロバイダだとしましょう。この場合、Yahoo は Web 上で顧客 923071235309342-2 がどのサイトにアクセスしているかを正確に把握できます。これは、どのサイトがその顧客のクレームを要求しているかを確認できるからです。また、その顧客の閲覧パターンに関する重要なデータを蓄積することによって、非常にクリック率の高い、適切に対象が絞られた広告を提供できます。広告で資金を得ている組織、特に広告そのものを実際のビジネスにしている組織は、ID プロバイダになることによって、競争において優位に立つことができるので、簡単にそのビジネスの継続を断念することはできないでしょう。

他の企業によって提供される ID を信頼することは、絶好のチャンスを逃すことを意味します。逆に自社の ID を他社に提供すれば、優位に立つことができます。言い換えれば、Web 上での ID をめぐる今日の状況を作り出したのは、まさにそのような競争です。現在は、複合企業内で 1 つの汎用的な ID が使用されていて、すべての主要な複合企業が ID プロバイダを兼ねていますが、これらのプロバイダの利用者はほとんどいません。

この分析は、ID のプロビジョニングにおける根本的なバランスの悪さを示しています。ID プロバイダになることには大きな価値がありますが、証明書利用者になることにはまったく価値がありません。このバランスをとる方法が市場で明確にならない限り、証明書利用者と同じ数の ID プロバイダが存在し、事実上それらの間に一対一の関係が構築される状況は変わらないでしょう。

来月は、この 2 部構成シリーズの後半として、残りの原則について説明します。

Jesper M. Johansson は、Fortune 200 に名を連ねる有名企業の主任セキュリティ アーキテクトで、リスクに基づくセキュリティ構想とセキュリティ戦略の開発に取り組んでいます。また、TechNet Magazine の編集にも携わっています。彼の業務は、世界で最も規模が大きく、分散度の高いシステムのセキュリティを確保することです。彼は、管理情報システムの博士号を持ち、セキュリティ分野で 20 年以上の経験があります。また、エンタープライズ セキュリティの MVP でもあります。最新の著書には、『Windows Server 2008 Security Resource Kit』があります。