情報カードとデジタル ID について
インターネットはますます有用になりましたが、一方でさまざまな課題も抱えています。オンライン ID の盗難、不正行為、プライバシーに関する問題が浮上しています。ユーザーは、増え続けるアカウントとパスワードを管理しなければなりません。この負担によって "パスワード疲労" が生じ、その結果、同じアカウント名とパスワードを多くのサイトで使用するなど、安全でない環境が生まれます。
CardSpace は、マイクロソフトが提供する ID メタシステム の実装です。これにより、ユーザーが自身の ID のポートフォリオを指定し、承認されている場所でそれらを使用できるようにするもので、ID が生成されるシステムおよび使用される基本的な ID システムは独立しています。ここでは、問題と CardSpace ソリューションの詳細について説明し、Windows Communication Foundation (WCF) のユーザーが CardSpace を使用する方法の概要について説明します。問題の多くは、インターネットに広範囲に採用された ID ソリューションがないことが原因です。
可能性と課題
ユーザーとビジネスの両方で、インターネットはますます有用になっています。ショッピング、銀行取引、請求書の支払いからメディアとエンターテイメントの利用まで、日々の活動に Web を使用する人が増えています。電子商取引が成長しており、ビジネスでは、インターネット上により多くのサービスとコンテンツを提供したり、オンラインで意見を交換し、共同作業を行ったり、お互いに連携するための新しい方法を開発したりしています。
ただし、オンラインでできる活動の価値が大きくなるにつれ、インターネット自体はより複雑で危険になります。オンライン ID の盗難、不正行為、プライバシーに関する問題が増大しています。また、"フィッシング" などますます高度な手口が生み出されています。それに応じて、ID を保護するためのシステムが多数開発されています。この多様性によって、前述のパスワード疲労と安全でない環境が生じます。
この問題の原因は、インターネットがデジタル ID のシステムを考慮して設計されていないということです。この欠陥に対応するために、多数のデジタル ID システムが導入されていますが、各システムにはそれぞれ長所と短所があります。すべてのデジタル ID シナリオの要件を満たすシステムは 1 つもありません。現実には、多数の異なる ID システムが使用されており、今もなお新しいシステムが開発されています。その結果、各 Web サイトでは即席のソリューションが一貫性なく寄せ集められており、システム全体を脆弱にし、より充実した電子商取引の可能性実現を妨げています。
オープン ID メタシステム
1 つのデジタル ID システムまたはデジタル ID 技術の統一採用が今後行われそうにないと想定した場合、インターネットで広範囲に採用される適切な ID ソリューションには、異なる方法、つまり、既存の ID システムと今後開発される ID システムを ID メタシステム (複数システムを統一したシステム) に接続できる能力を備えた方法が必要です。このメタシステムでは、その構成要素である ID システムの長所を活用し、そのシステム間で相互運用性を実現し、すべてのシステムに対する一貫性のある簡単なユーザー インターフェイスの作成を可能にします。サイバースペースの向上は、すべてのユーザーに利益をもたらします。インターネットはより安全な場所になり、電子商取引の発展、フィッシングの撲滅、および他のデジタル ID に関する課題の解決を実現できる可能性があります。
システムの多様性の維持
オフラインの世界では、人々は、運転免許証やその他の政府発行の身分証明書、クレジット カード、マイレージ カードなど、複数の形式の ID を財布に入れて持ち歩いています。人々は、特定の状況で使用するカードを選択し、公開する情報の量を制御しています。
同様に、ID メタシステムは、ユーザーがインターネット上のリソースにアクセスするときに安全性と制御を簡単に確保できるようにします。このメタシステムでは、ユーザーはデジタル ID のポートフォリオの中から ID を選択でき、ユーザーが承認されている希望のインターネット サービスでその ID を使用できます。メタシステムでは、ある ID システム技術によって提供された ID を別の技術に基づくシステムで使用できるようにします。ただし、両方の技術を理解できる中継局が存在し、その中継局が必要な変換を行うことができ、かつその変換を行うと信用できることが必要です。
ID メタシステムは、このメタシステムが接続する ID システムと競合したり、その ID システムを置き換えたりすることはありません。ID メタシステムの目的は、個々の ID システムを接続することによって、そのシステム間でシームレスな相互運用を実現し、技術に依存しない ID の表現をアプリケーションに提供し、すべてのシステムで優れた一貫性のあるユーザー エクスペリエンスを提供することです。メタシステムは、この目的を実現するために個々のシステムに依存します。
状況に応じた ID
オフラインの世界で個人が所有する ID の範囲は、出生証明書、パスポート、運転免許証などの重要な ID から、名刺、コーヒーのお得意様カードなどの重大度の低い ID までさまざまです。人々は、承認されている場所に応じて異なる形式の ID を使用します。
ID は、状況に合う場合と合わない場合があります。状況に合わない ID を使用した場合、通常は目的の結果を得ることができません。たとえば、国境を越えるときにコーヒー カードを使用することは、明らかに状況に合っていません。一方で、ATM で銀行のカード、国境で政府発行の ID、コーヒー ショップでコーヒー カード、MSN Hotmail で Passport Network (以前は .NET Passport) アカウントを使用することは、明らかに状況に合っています。
場合によっては、区別が明確でないことがあります。ATM で銀行発行のカードの代わりに政府発行の ID を使用できますが、これを使用すると、政府に各金融取引の情報が公開される場合、それを好ましく思わない人もいます。社会保障番号を学生 ID 番号として使用できますが、この場合 ID の盗難が容易になります。また、Passport アカウントをマイクロソフト以外のサイトでも使用できますが、使用できるサイトは少ししかありません。使用できる場合でも、この対話にマイクロソフトが参加することは状況に合わないと考えられることから、使用するユーザーはほとんどいませんでした。
Passport での経験および業界全体でのその他のデジタル ID に関する活動の研究が、さまざまな業界の専門家との連携につながり、適切で、広く採用され、長続きするインターネット用のデジタル ID システムの基礎となる原則が考案されました。次のセクションでは、この原則について説明します。
原則 ("ID の原則 (Laws of Identity)")
オープン ID メタシステムは、デジタル ID コミュニティで活動しているさまざまな人からの継続的なフィードバックと意見に基づいて開発された原則 ("ID の原則 (The Laws of Identity)" とも呼ばれます) に従うように設計されています。
ID システムが従う必要がある原則は、次のとおりです。
- ユーザーによる制御と同意
ID システムは、ユーザーの同意を得た場合のみ、ユーザーを識別する情報を公開します。
- 限定された時間で最小限の公開
最小量の識別情報を公開する ID システム ソリューションが、最も安定した長期的なソリューションです。
- 正当と認められる相手
ID システムは、特定の ID 関係で必要かつ正当な根拠がある相手にだけ識別情報を公開します。
- 方向のある ID
ID システムは、公共組織で使用するための "全方向性" の識別子と民間組織で使用するための "単向性" の識別子の両方をサポートします。これによって、検出を容易にする一方で、関連付けハンドルの不必要な公開を防止できます。
- 複数のオペレータと技術
ID システムは、複数の ID プロバイダによって実行される複数の ID 技術の内部機能を伝達し、可能にします。
- 人間との統合
ID システムは、人間のユーザーを分散システムのコンポーネントの 1 つとして定義し、ID 攻撃からの保護を提供する明確な人間とコンピュータ間の通信機構によってユーザーを統合します。
- すべての状況において一貫性のあるエクスペリエンス
ID システムは、証明書利用者と特定の ID を持つユーザーとの間のネゴシエーションを容易にします。一貫性のある人間と技術のインターフェイスを提供しながら、個別の異なる状況での ID の独立を可能にします。
オープン ID メタシステムのアーキテクチャ
ここでは、オープン ID メタシステムのアーキテクチャの概要について説明します。
役割
参加者によってメタシステムへの参加方法が異なります。メタシステム内の役割は次のとおりです。
ID プロバイダが ID を発行します。たとえば、クレジット カード会社は支払いを可能にする ID を発行し、企業は顧客に ID を発行し、政府は国民に ID を発行し、個人は、Web サイトにサインオンするなどの状況で、自己発行の ID を使用します。
証明書利用者には ID が必要です。たとえば、他の参加者によって提供される ID を使用する Web サイト、オンライン サービスなどがあります。
サブジェクトは、クレームが作成される個人やその他のエンティティです。例として、エンド ユーザー、企業、および組織があります。
ID メタシステムに参加する各個人とエンティティは、すべての役割を果たすことができ、さらに複数の役割を一度に果たすことができます。多くの場合、個人またはエンティティは一度に 3 つの役割をすべて果たします。
コンポーネント
ここでは、メタシステムの主要コンポーネントと概念について説明します。
メタシステムは、5 つの主要コンポーネントで構成されます。
クレームを使用して ID を表す方法
ID プロバイダ、証明書利用者、およびサブジェクトがネゴシエートする方法
クレームと要件を取得するためのカプセル化するプロトコル
クレーム変換を使用して、技術と組織の境界をつなぐ方法
複数の状況、技術、オペレータに対して一貫性のあるユーザー エクスペリエンス
クレームに基づく ID
ID は、ID のサブジェクトについてアサートされるクレームのセットで構成されます。たとえば、運転免許証に対するクレームには、発行した都道府県、運転免許証番号、氏名、住所、性別、生年月日、免許所有者が運転する資格のある車種などがあります。発行した都道府県は、このクレームが有効であることをアサートします。
クレジット カードに対するクレームには、カード発行者の ID、カード所有者の氏名、口座番号、有効期限、検証コード、およびカード所有者の署名があります。カード発行者は、このクレームが有効であることをアサートします。
名刺などの自己発行 ID に対するクレームには、氏名、住所、および電話番号があります。自己発行 ID の場合、自分でこのクレームが有効であることをアサートします。
ネゴシエーション
ネゴシエーションによって、メタシステムの参加者は、メタシステム内で相互に接続するために必要な同意を得ることができます。ネゴシエーションを使用して、相互に受け入れ可能な技術、クレーム、および要件を決定します。たとえば、ある参加者が SAML と X.509 のクレームを理解し、別の参加者が Kerberos と X.509 のクレームを理解する場合、この 2 つの参加者はネゴシエートして X.509 のクレームを使用することを決定します。別のネゴシエーションでは、証明書利用者に必要なクレームが特定の ID によって提供できるかどうかを判断します。この 2 つのネゴシエーションは両方とも単純なマッチング操作です。このネゴシエーションでは、ある参加者が提供できるものと別の参加者が必要とするものを比較して、適合するものがあるかどうかを判断します。
カプセル化するプロトコル
カプセル化するプロトコルは、サブジェクト、ID プロバイダ、および証明書利用者間でクレームと要件を交換するための技術に依存しない方法を備えています。メタシステムではなく、参加者が交換されるデータの内容と意味を判断します。たとえば、カプセル化するプロトコルによって、アプリケーションは、SAML プロトコルを理解または実装する必要なく、SAML でエンコードされたクレームを取得できます。
クレームの変換機能
クレームの変換機能は、あるシステムで理解されるクレームを別のシステムで理解され信頼されるクレームに変換することによって、組織と技術の境界をつなぎます。これによって、多数のクライアントとサーバーを複雑なクレーム評価から解放できます。クレームの変換機能では、クレームの意味も変換または調整します。たとえば、"従業員である (Is an employee)" というクレームのアサートは "本を購入可能 (OK to purchase book)" という新しいクレームに変換されます。また、"1960 年 3 月 22 日生 (Born on March 22, 1960)" というクレームは、意図的に少ない情報を提供する "年齢が 21 歳以上 (Age is over 21 years)" というクレームに変換されます。クレームの変換機能では、クレームの形式も変換できます。たとえば、X.509、Kerberos、SAML 1.0、SAML 2.0、SXIP などの形式で作成されたクレームは、別の技術を使用して表されるクレームに変換できます。クレームの変換機能は、現在必要な相互運用性と新しい技術を組み込むために必要な柔軟性を備えています。
一貫性のあるユーザー エクスペリエンス
ほとんどの ID 攻撃が成功する理由は、通信技術がセキュリティで保護されていないためではなく、ユーザーが画面に表示される情報によって騙されるためです。たとえば、フィッシング攻撃は、Web サーバーとブラウザとの間のセキュリティで保護された、何千キロメートルに及ぶ可能性のある経路では発生せず、ブラウザとそのブラウザを使用する人間との間の 1 m 足らずの距離で発生します。したがって、ID メタシステムでは、ユーザーが選択できるように一貫性のある、包括的で統合されたユーザー インターフェイスの開発を可能にすることによって、ユーザーが情報を得て、適切な ID を決定できるように試みています。
システム全体をセキュリティで保護するためのポイントの 1 つは、採用した基になる ID 技術の種類に関係なく、同じ外観と動作を提供できる簡単で予想しやすいユーザー インターフェイスを提供することです。もう 1 つのポイントは、たとえば、スプーフィング攻撃を識別できる方法で、認証しているサイトの ID を表示するなど、重要な情報を明確にすることです。証明書利用者が要求している個人情報の項目とその目的について、ユーザーに通知する必要があります。これによって、ユーザーは、十分な情報を得た上でこの情報を公開するかどうかについて選択できます。さらに、ユーザー インターフェイスには、ユーザーが条件に同意した場合、能動的に公開を許可できる方法が用意されています。
WS-* 仕様
WCF の他の機能と同様、CardSpace 技術は、オープン仕様である WS-* Web Services Architecture に基づいて構築されています。クレーム変換で使用するカプセル化するプロトコルは、WS-Trust です。ネゴシエーションは、WS-MetadataExchange と WS-SecurityPolicy を使用して実行されます。このプロトコルによって、技術に依存しない ID メタシステムの構築が可能になり、このプロトコルによって、ID メタシステムの "バックプレーン" が形成されます。他の Web サービス プロトコルのように、このプロトコルでも、新しい ID と技術が開発され、業界で採用された場合、その ID と技術を組み込んで使用できます。
広範囲の採用に必要な相互運用性を促進するために、WS-* 仕様は公開され、誰でも自由に使用できます。また、この仕様は、オープンな標準化団体に提出済みで、現在も提出され続けており、ロイヤリティフリーで実装を開発できます。
エンドツーエンドのシナリオ
次の図は、CardSpace を使用してユーザー検証が必要なサイトにアクセスするときに実行されるエンドツーエンドのプロセスを示しています。
まとめ
フィッシング攻撃から一貫性のないユーザー エクスペリエンスまで、今日のインターネットに関する問題の多くは、デジタル ID の統一システムが存在しないので、ソフトウェア製造業者が作成したデジタル ID ソリューションを寄せ集めてつなぎ合わせたことが原因です。ID の原則で定義したように、ID メタシステムは、デジタル ID の統一構造を提供し、既存の ID システムと今後開発される ID システムを使用し、その新旧の ID システム間で相互運用性を実現し、すべての ID システムに対する一貫性のある簡単なユーザー インターフェイスの作成を可能にします。ID の原則への取り組みを基に、マイクロソフトでは、業界内の他の企業と連携して、マイクロソフトの実装を他社の実装と完全に相互運用可能にするために公開済みの WS-* プロトコルを使用して、ID メタシステムを構築しています。マイクロソフトが実装する ID メタシステムのコンポーネントが、CardSpace システムです。
CardSpace を使用すると、現在オンラインで経験する危険、複雑さ、不快感、および不安のほとんどを解消できます。ID メタシステムの導入が普及すると、このような問題の多くを解決できる可能性があります。オンラインの世界をより安全にし、信頼性を高め、さらに使いやすくすることによって、すべてのユーザーに利益をもたらし、相互接続性の長期的な成長を促進します。マイクロソフトでは、業界内の他の企業と連携して、ID メタシステムの定義と導入に取り組んでいます。
このトピックに関するコメントを Microsoft に送信する。
Copyright © 2007 by Microsoft Corporation.All rights reserved.