(57)【要約】  デジタルアイデンティティを与えるシステムは、計算トークンと表示トークンとを含むセキュリティトークンを生成するようプログラムされたクレーム変換器を含む。計算トークンはプリンシパルのアイデンティティに関連付けられた１つまたは複数のクレームを含み、表示トークンは計算トークン内のクレームに関する表示情報を含む。表示情報を、プリンシパルがその表示トークンを表示できるように構成する。
2009520272.tif 000002
【特許請求の範囲】
【請求項１】
デジタルアイデンティティを与えるシステムであって、
前記システムは、
計算トークンと表示トークンとを含むセキュリティトークンを生成するようプログラムされたクレーム変換器を備え、前記計算トークンはプリンシパルのアイデンティティと関連付けられた１つまたは複数のクレームを含み、前記表示トークンは前記計算トークン内の前記クレームに関する表示情報を含み、前記表示情報は、前記プリンシパルが前記表示トークンをビューできるよう構成されることを特徴とするシステム。
【請求項２】
前記セキュリティトークンは、前記クレーム変換器によって暗号的に署名されることを特徴とする請求項１に記載のシステム。
【請求項３】
前記計算トークンは、前記表示トークンに暗号的にバインドされることを特徴とする請求項１に記載のシステム。
【請求項４】
前記表示トークンは、プレーンテキスト形式で与えられることを特徴とする請求項１に記載のシステム。
【請求項５】
前記表示トークンは、前記クレームの１つの名前を列挙するようプログラムされた第１の表示タグと、前記クレームの１つの値を列挙するようプログラムされた第２の表示タグとを含むことを特徴とする請求項１に記載のシステム。
【請求項６】
デジタルアイデンティティを与える方法であって、
計算トークンと表示トークンとを含むセキュリティトークンを受信するステップであって、前記計算トークンはプリンシパルのアイデンティティと関連付けられた１つまたは複数のクレームを含み、前記表示トークンは前記計算トークン内の前記クレームに関する表示情報を含む、受信するステップと、
前記プリンシパルが前記表示トークンの内容をレビューできるように、前記プリンシパルに対する前記表示トークン内の前記表示情報を表示するステップと
を備える方法。
【請求項７】
前記セキュリティトークンを依存パーティに転送するステップをさらに備える請求項６に記載の方法。
【請求項８】
前記プリンシパルが、前記セキュリティトークンを前記依存パーティに転送するか否かを決定することができるステップをさらに備える請求項７に記載の方法。
【請求項９】
前記計算トークンは、暗号的に前記表示トークンにバインドされることを特徴とする請求項６に記載の方法。
【請求項１０】
前記表示トークンは、前記クレームの１つの名前を列挙するようプログラムされた第１の表示タグと、前記クレームの１つの値を列挙するようプログラムされた第２の表示タグとを含むことを特徴とする請求項６に記載の方法。
【請求項１１】
計算トークンと表示トークンとを含むセキュリティトークンを受信するステップであって、前記計算トークンはプリンシパルのアイデンティティと関連付けられた１つまたは複数のクレームを含み、前記表示トークンは前記計算トークン内の前記クレームに関する表示情報を含む、受信するステップと、
前記プリンシパルが前記表示トークンの内容をレビューできるように、前記表示トークン内の前記表示情報を前記プリンシパルに対して表示するステップと
を備えるステップを実施するコンピュータ実行可能命令を有するコンピュータ読取可能媒体。
【請求項１２】
前記セキュリティトークンを依存パーティに転送するステップをさらに備えることを特徴とする請求項１１に記載のコンピュータ読取可能媒体。
【請求項１３】
前記プリンシパルが、前記セキュリティトークンを前記依存パーティに転送するか否かを決定することができるステップをさらに備えることを特徴とする請求項１２に記載のコンピュータ読取可能媒体。
【請求項１４】
前記計算トークンは、暗号的に前記表示トークンに結合されることを特徴とする請求項１１に記載のコンピュータ読取可能媒体。
【請求項１５】
前記表示トークンは、前記クレームの１つの名前を列挙するようプログラムされた第１の表示タグと、前記クレームの１つの値を列挙するようプログラムされた第２の表示タグとを含むことを特徴とする請求項１１に記載のコンピュータ読取可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示可能クレームを含むセキュリティトークンに関する。
【背景技術】
【０００２】
アイデンティティは、毎日の生活での対話を可能とする重要な構成要素である。例えば、個人のクレジットカードにより、業者は個人を識別し、その個人がクレジットで製品およびサービスを購入できるようにすることができる。同じことが、デジタルアイデンティティによりデジタル対話が可能となるデジタル世界にも当てはまる。例えば、デジタルアイデンティティを使用して、デジタル環境内でパーティを互いに認証することができる。誰と対話しているかを知ることは、パーティを信頼してパーティに情報を与えるべきか否かを決定するための重要な要素である。
【０００３】
エンティティは、デジタルアイデンティティを使用してパーティのアイデンティティまたはパーティに関する他の個人情報を認証することができる。デジタルアイデンティティを別のエンティティにより発行することができ、デジタルアイデンティティはパーティに関する情報を含むことができる。上記情報の例には、パーティの名前、住所、社会保障番号、年齢、電話番号、等が含まれる。パーティは、免許証、クレジットカード、およびフリークエントフライヤーカードを有する個人のデジタルアイデンティティと同様に、１つまたは複数の他のエンティティが発行した複数のデジタルアイデンティティを有することができる。
【０００４】
パーティはデジタルアイデンティティを使用してサードパーティに対して自身を識別することができる。例えば、オンラインサービスのようなサードパーティは、そのサードパーティが商品またはサービスへのアクセスを許可する前に、パーティが自身のアイデンティティを認証することを要求することができる。自身のアイデンティティを認証するため、パーティは、サードパーティにより信頼された別のエンティティが発行したセキュリティトークン（security token）の形で、デジタルアイデンティティをサードパーティに転送することができる。認証を完了すると、サードパーティは、パーティが要求した商品およびサービスへのアクセスを与えることができる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
多くの場合、パーティは別のエンティティが発行したセキュリティトークンの内容を制御またはビュー（view）する能力を、殆どまたは全く有さない。パーティがそのパーティのアイデンティティの認証中にセキュリティトークンをサードパーティと共有するとき、パーティのプライバシーが問題となる可能性がある。例えば、セキュリティトークンの内容を知らないと、パーティは知らないうちに、認証のためにパーティが共有する必要のないセキュリティトークン内の個人情報をサードパーティと共有する恐れがある。加えて、パーティは知らないうちに、そのパーティがサードパーティと共有したくない個人情報（例えば、社会保障番号、電話番号等）を与える可能性がある。
【課題を解決するための手段】
【０００６】
本要約は、選択した概念を簡潔な形で導入するために与えられる。これらの概念は以下の詳細な説明でさらに説明する。本要約は請求する主題の主要な特徴または本質的な特徴を特定するようには意図しておらず、請求する主題の範囲を決定するための支援として使用するようにも意図していない。
【０００７】
１つの態様は、計算トークンと表示トークンとを含むセキュリティトークンを生成するようプログラムしたクレーム変換器（claims transformer）を含む、デジタルアイデンティティを与えるシステムに関する。計算トークンはプリンシパル（principal）のアイデンティティに関連付けられた１つまたは複数のクレームを含み、表示トークンは計算トークン内のクレームに関する表示情報を含む。表示情報は、プリンシパルが表示トークンを表示できるように構成される。
【０００８】
別の態様はデジタルアイデンティティを与える方法に関する。その方法は、計算トークンおよび表示トークンを含むセキュリティトークンを受信するステップであって、計算トークンはプリンシパルのアイデンティティに関連付けられた１つまたは複数のクレームを含み、表示トークンは計算トークン内のクレームに関する表示情報を含む、受信するステップと、プリンシパルが上記表示トークンの内容を再検討（レビュー、review）できるようにプリンシパルに対する表示トークン内の表示情報を表示するステップとを含む。
【０００９】
さらに別の態様は、ステップを実施するコンピュータ実行可能命令を有するコンピュータ読取可能媒体であって、計算トークンおよび表示トークンを含むセキュリティトークンを受信するステップであって、計算トークンはプリンシパルのアイデンティティに関連付けられた１つまたは複数のクレームを含み、表示トークンは計算トークン内のクレームに関する表示情報を含むステップと、プリンシパルが表示トークンの内容をリビューできるようにプリンシパルに対する表示トークン内の表示情報を表示するステップとを含むステップを実施するコンピュータ実行可能命令を有するコンピュータ読取可能媒体に関する。
【発明を実施するための最良の形態】
【００１０】
添付図面を参照する。添付図面は必ずしも正しい縮尺で描いていない。
【００１１】
以降、添付図面を参照して実施形態の例をより詳細に説明する。これらの実施態様は、開示が詳細且つ完全であるように与えてある。図面に渡って同じ番号は同じ要素を指す。
【００１２】
本明細書で開示する実施形態の例は、一般に、第１のパーティと第２のパーティとの間で交換されるデジタルアイデンティティに関し、その第１のパーティに関するアイデンティティおよび／または情報を認証可能なデジタルアイデンティティに関する。本明細書の実施形態の例では、第１のパーティは個人、企業、組織、コンピュータまたは他の装置、サービス、あるいは任意の他のエンティティであることができる。第１のパーティを本明細書ではプリンシパルと称する。実施形態の例では、第２のパーティは、プリンシパルがアクセスおよび／または取得を望む商品、サービス、または他の情報を有する。第２のパーティを本明細書では依存パーティ（relying party）と称する。
【００１３】
図１を参照すると、プリンシパル１００および依存パーティ１２０を含むデジタルアイデンティティシステム１００の例を示してある。プリンシパル１１０および依存パーティ１２０は、以下でさらに説明するように、１つまたは複数のネットワークを介して互いに通信することができる。実施形態の例では、プリンシパル１１０は、商品、サービス、または依存パーティ１２０からの他の情報を要求することができ、依存パーティ１２０は、要求された商品、サービス、または情報の提供の前またはそれと同時に、プリンシパル１１０のアイデンティティまたはプリンシパル１１０に関する情報を認証することを要求することができる。
【００１４】
図１には、クレーム変換器（claims transformer）１３０およびクレームオーソリティ（claims authority）１４０（セキュリティトークンサーバまたは「ＳＴＳ」とも称する場合がある）も示してある。図示した例では、クレーム変換器１３０およびクレームオーソリティ１４０は、プリンシパルに関する１つまたは複数のクレームまたはアサーション（assertion）を与えることが可能な１つまたは複数のエンティティである。クレームは、プリンシパルのアイデンティティまたはプリンシパルに関する情報に関連する、プリンシパルについて作成されたステートメントである。上記の情報には、例えば、名前、住所、社会保障番号、年齢、等がある。以下でさらに説明するように、クレーム変換器１３０およびクレームオーソリティ１４０は、プリンシパル１１０および／または依存パーティ１２０に対して、署名付きセキュリティトークンの形でクレームを与えることができる。
【００１５】
実施形態の例では、クレームオーソリティ１４０は、依存パーティ１２０と信頼関係にあり、その結果、依存パーティ１２０は、クレームオーソリティ１４０からの署名付きセキュリティトークン内のクレームを信頼する。
【００１６】
クレーム変換器１３０およびクレームオーソリティ１４０は、図１では別個のエンティティとして示しているが、代替実施態様ではクレーム変換器１３０およびクレームオーソリティ１４０は同一のエンティティまたは別のエンティティであることができる。加えて、クレーム変換器１３０は、プリンシパル１１０と通信するように示しているが、以下でさらに説明するように、代替実施態様では依存パーティ１２０はクレーム変換器１３０と直接通信することができる。
【００１７】
本明細書で開示した実施形態の例では、システム１００を、ワシントン州レドモンドのマイクロソフト社が開発したＷＩＮＦＸアプリケーションプログラミングインタフェースにおいて与えられるＩｎｆｏＣａｒｄシステムとして実装する。ＩｎｆｏＣａｒｄシステムにより、プリンシパルは様々なクレームオーソリティからの複数のデジタルアイデンティティを管理することができる。
【００１８】
ＩｎｆｏＣａｒｄシステムは、ＷｌＮＦＸアプリケーションプログラミングインタフェースにおけるＷｉｎｄｏｗｓ（登録商標）  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｆｏｕｎｄａｔｉｏｎのようなウェブサービスプラットフォームを利用する。加えて、ＩｎｆｏＣａｒｄシステムは、少なくとも部分的にワシントン州レドモンドのマイクロソフト社が普及させたＷｅｂ  Ｓｅｒｖｉｃｅ  Ｓｅｃｕｒｉｔｙ  Ｓｐｅｃｉｆｉｃａｔｉｏｎｓを用いて構築される。これらの仕様は、メッセージセキュリティモデルＷＳ−Ｓｅｃｕｒｉｔｙ、エンドポイントポリシーＷＳ−ＳｅｃｕｒｉｔｙＰｏｌｉｃｙ、メタデータプロトコルＷＳ−ＭｅｔａｄａｔａＥｘｃｈａｎｇｅ、および信頼モデルＷＳ−Ｔｒｕｓｔを含む。一般に、ＷＳ−Ｓｅｃｕｒｉｔｙモデルは、セキュリティトークンのメッセージへの添付方法を記述する。ＷＳ−ＳｅｃｕｒｉｔｙＰｏｌｉｃｙモデルは、必要なセキュリティトークンおよびサポートされる暗号化アルゴリズムのような、メタデータプロトコルＷＳ−ＭｅｔａｄａｔａＥｘｃｈａｎｇｅを用いて実装したエンドポイントポリシー要件を記述する。ＷＳ−Ｔｒｕｓｔモデルは、異なるウェブサービスの相互運用を可能とする信頼モデルのフレームワークを記述する。
【００１９】
本明細書で説明する実施形態の例は、上述のＷｅｂ  Ｓｅｒｖｉｃｅｓ  Ｓｅｃｕｒｉｔｙ  Ｓｐｅｃｉｆｉｃａｔｉｏｎに関する。代替実施態様では、１つまたは複数の異なる仕様を使用して、システム１００内の様々な要素間の通信を促進することができる。
【００２０】
図２を参照する。１つの実施形態の例では、プリンシパル１１０は、コンピュータシステムの例２００のようなコンピュータシステムを使用して、依存パーティ１２０およびクレーム変換器１３０と通信する個人である。コンピュータシステム２００は、例えばデスクトップコンピュータ、ラップトップコンピュータ、およびハンドヘルドコンピュータのような様々な形態を取ることができる。加えて、コンピュータシステム２００を示してあるが、本明細書で開示したシステムおよび方法を様々な代替コンピュータシステムで同様に実装することができる。
【００２１】
システム２００は、演算装置２０２、システムメモリ２０４、およびシステムバス２０６を含む。システムバス２０６は、システムメモリ２０４を含む様々なシステムコンポーネントを演算装置２０２に結合する。システムバス２０６は、任意の数種のバス構造であることができる。そのバス構造にはメモリバス、周辺バスおよび任意の様々なバスアーキテクチャを用いるローカルバスが含まれる。システムメモリは、読取専用メモリ（ＲＯＭ）２０８およびランダムアクセスメモリ（ＲＡＭ）２１０を含む。コンピュータシステム２００内部の要素間での情報転送を支援する基本ルーチンを含む基本入出力システム２１２（ＢＩＯＳ）は、ＲＯＭ２０８に記憶される。
【００２２】
コンピュータシステム２００は、さらに、ハードディスクを読み書きするハードディスクドライブ２１２、取り外し可能磁気ディスク２１６を読み書きする磁気ディスクドライブ２１４、およびＣＤ  ＲＯＭ、ＤＶＤ、または他の光媒体のような取り外し可能光ディスク２１９を読み書きする光ディスクドライブ２１８を含む。ハードディスクドライブ２１２、磁気ディスクドライブ２１４、および光ディスクドライブ２１８は、それぞれハードディスクドライブインタフェース２２０、磁気ディスクドライブインタフェース２２２、および光ドライブインタフェース２２４によりシステムバス２０６に接続される。ドライブおよびその関連するコンピュータ読取可能媒体により、コンピュータ読取可能命令、データ構造、プログラム、および他のデータの不揮発性記憶をコンピュータシステム２００に与える。
【００２３】
本明細書で説明した環境の例では、ハードディスク２１２、取り外し可能磁気ディスク２１６、および取り外し可能光ディスク２１９を使用できるが、データを記憶可能な他種のコンピュータ読取可能媒体をシステムの例２００において使用することができる。動作環境の例において使用可能なこれらの他種のコンピュータ読取可能媒体の例には、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイカートリッジ、ランダムアクセスメモリ（ＲＡＭ）、および読取専用メモリ（ＲＯＭ）が含まれる。
【００２４】
多数のプログラムモジュールをハードディスク２１２、磁気ディスク２１６、光ディスク２１９、ＲＯＭ２０８、またはＲＡＭ２１０に記憶することができる。そのプログラムモジュールにはＭｉｃｒｏｓｏｆｔ社のＷＩＮＤＯＷＳ（登録商標）オペレーティングシステムのようなオペレーティングシステム２２６、１つまたは複数のアプリケーションプログラム２２８、他のプログラムモジュール２３０、およびプログラムデータ２３２が含まれる。
【００２５】
ユーザは、例えばキーボード２３４、マウス２３６、または他のポインティングデバイスのような入力装置を通してコンピュータシステム２００に命令および情報を入力することができる。他の入力装置の例には、ツールバー、メニュー、タッチスクリーン、マイクロフォン、ジョイスティック、ゲームパッド、ペン、パラボラアンテナ、およびスキャナが含まれる。これらおよび他の入力装置は、システムバス２０６に接続したシリアルポートインタフェース２４０を通して演算装置２０２に接続されることがよくある。それでも、これらの装置を、パラレルポート、ゲームポート、またはユニバーサルシリアルバス（ＵＳＢ）のような他のインタフェースにより接続することもできる。ＬＣＤディスプレイ２４２または他種のディスプレイ装置も、ビデオアダプタ２４４のようなインタフェースを通してシステムバス２０６に接続される。ディスプレイ２４２に加えて、コンピュータシステムは一般に、スピーカおよびプリンタのような他の周辺出力装置（図示せず）を含むことができる。
【００２６】
コンピュータシステム２００は、リモートコンピュータ２４６のような１つまたは複数のリモートコンピュータに対する論理接続を用いてネットワーク環境で動作することができる。リモートコンピュータ２４６は、コンピュータシステム、サーバ、ルータ、ネットワークＰＣ、ピアデバイスまたは他の共通ネットワークノードであることができ、一般にコンピュータシステム２００に関して上述した要素の多数または全てを含む。ネットワーク接続にはローカルエリアネットワーク（ＬＡＮ）２４８および広域ネットワーク（ＷＡＮ）２５０が含まれる。上記のネットワーク環境は、職場、企業規模のコンピュータネットワーク、イントラネット、およびインターネットで一般的である。
【００２７】
ＬＡＮネットワーク環境で使用するとき、コンピュータシステム２００は、ネットワークインタフェースまたはアダプタ２５２を通してローカルネットワーク２４８に接続される。ＷＡＮネットワーク環境で使用するとき、コンピュータシステム２００は、一般にモデム２５４または、インターネットのような広域ネットワーク２５０上で通信を確立する他の手段を含む。モデム２５４は内部または外部にあることができ、シリアルポートインタフェース２４０を通してシステムバス２０６に接続される。ネットワーク環境では、コンピュータシステム２００に関して示したプログラムモジュール、またはその一部をリモートメモリ記憶装置に記憶することができる。図示したネットワーク接続は例であって、コンピュータ間の通信リンクを確立する他の手段を使用してもよいことは理解されるであろう。
【００２８】
本明細書で説明する実施態様を、コンピュータシステム内の論理動作として実装することができる。論理動作を（１）コンピュータシステム上で実行されるコンピュータ実装型のステップまたはプログラムモジュールの列として、および（２）コンピューティングシステム内部で実行する相互接続論理またはハードウェアとして実装することができる。本実装は、特定のコンピューティングシステムの性能要件に依存した選択の問題である。従って、本明細書で説明した実装態様を構成する論理動作を動作、ステップ、またはモジュールと称する。当業界の技術者は、本開示の精神および範囲から逸脱せずにこれらの動作、ステップ、およびモジュールをソフトウェア、ファームウェア、特殊目的のデジタルロジック、およびその任意の組合せで実装できることを理解するであろう。このソフトウェア、ファームウェア、または同様なコンピュータ命令の列を符号化し、コンピュータ読取可能記憶媒体上に記憶することができ、コンピュータ装置間で送信するための搬送波信号内部で符号化することもできる。
【００２９】
図３を参照する。プリンシパル１１０および依存パーティ１２０の例を再掲してある。プリンシパル１１０は、例えば上述のコンピュータシステム２００と同様なコンピュータシステム３００（図６を参照）を用いて依存パーティ１２０と通信することができる。図示した例では、プリンシパル１１０はコンピュータ３００を使用して、商品、サービス、または他の情報に対する要求を依存パーティ１２０に送信する。例えば、１つの実施態様では、プリンシパル１１０はプリンシパル１１０が望む情報へのアクセスに対する要求を依存パーティ１２０に送信する。
【００３０】
プリンシパル１１０が送信した要求は、例えばＷＳ−ＭｅｔａｄａｔａＥｘｃｈａｎｇｅ内に与えられたメカニズムを用いる依存パーティ１２０のセキュリティポリシーに対する要求を含むことができる。要求に応じて依存パーティ１２０は、プリンシパル１１０に関するアイデンティティまたは他の情報を認証するために、依存パーティ１２０に対する要件をプリンシパル１１０に送信する。本明細書では、依存パーティ１２０の認証要件をセキュリティポリシーと称する。セキュリティポリシーは、依存パーティ１２０がプリンシパル１１０を認証するためにプリンシパル１１０が依存パーティ１２０に与えなければならない一連のクレームを定義する。
【００３１】
１つの例では、依存パーティ１２０はＷＳ−ＳｅｃｕｒｉｔｙＰｏｌｉｃｙを用いてそのセキュリティポリシーを指定する。セキュリティポリシーは、クレーム要件と依存パーティ１２０によって要求されるセキュリティトークンのタイプとを含む。ＷＳ−ＳｅｃｕｒｉｔｙＰｏｌｉｃｙに従うセキュリティポリシーに対する基本形を以下の例に示す。
【００３２】
【表１】
2009520272.tif 000003
【００３３】
本例では、所与のプリンシパルの名前に関する１つのクレームが、認証のためセキュリティポリシーにより要求される。限定ではないが、他のタイプのクレームの例には以下が含まれる。
・名 ―Ｔｙｐｅ：ｘｓ：ｓｔｒｉｎｇ― 対象者の好ましい名前または名
・姓 ―Ｔｙｐｅ：ｘｓ：ｓｔｒｉｎｇ― 対象者の姓または苗字
・電子メールアドレス ―Ｔｙｐｅ：ｘｓ：ｓｔｒｉｎｇ― 対象者に送信される電子メールの「Ｔｏ：」領域に対して好ましいアドレスであり通常は＜ｕｓｅｒ＞＠＜ｄｏｍａｉｎ＞の形である。
・町名・番地 ―Ｔｙｐｅ：ｘｓ：ｓｔｒｉｎｇ― 対象者の住所情報のうち町名・番地の部分
・地方名または市 ―Ｔｙｐｅ：ｘｓ：ｓｔｒｉｎｇ― 対象者の住所情報のうち地方の部分
・州 ―Ｔｙｐｅ：ｘｓ：ｓｔｒｉｎｇ― 対象者の住所情報のうち州名の略称
・郵便番号 ―Ｔｙｐｅ：ｘｓ：ｓｔｒｉｎｇ― 対象者の住所情報のうち郵便番号の部分
・国 ―Ｔｙｐｅ：ｘｓ：ｓｔｒｉｎｇ― 対象者の国
・連絡先電話番号または自宅電話番号 ―Ｔｙｐｅ：ｘｓ：ｓｔｒｉｎｇ ―対象者の連絡先電話番号または自宅電話番号
・第２または職場の電話番号 ―Ｔｙｐｅ：ｘｓ：ｓｔｒｉｎｇ― 対象者の第２または職場の電話番号
・携帯電話番号 ―Ｔｙｐｅ：ｘｓ：ｓｔｒｉｎｇ― 対象者の携帯電話番号
・生年月日 ―Ｔｙｐｅ：ｘｓ：ｄａｔｅ― ｘｓ：ｄａｔｅデータ型で可能な形の対象者の生年月日
・性別 ―Ｔｙｐｅ：ｘｓ：ｔｏｋｅｎ― 「男性」、「女性」または「未指定」の正確な文字列値のうち任意のものを有しうる対象者の性別
・プライベート個人識別子 ―Ｔｙｐｅ：ｘｓ：ｂａｓｅ６４ｂｉｎａｒｙ― 対象者を依存パーティに対して識別するプライベート識別子を示す。
【００３４】
ポリシーを使用して、依存パーティ１２０によって要求されるセキュリティトークンのタイプを指定することもでき、またはＷＳ−Ｔｒｕｓｔによって指定されるものとしてデフォルトのタイプを使用することができる。例えば、上述のポリシーは、依存パーティ１２０によって要求される或る特定のタイプのセキュリティトークン（即ち、「ｗｓｔ：ＴｏｋｅｎＴｙｐｅ」）を指定する。
【００３５】
要求されたクレームおよびトークンタイプを指定することに加えて、以下に示すように、セキュリティポリシーは依存パーティによって要求される特定のクレームオーソリティを指定することができる（「ｓｐ：Ｉｓｓｕｅｒ」）。
【００３６】
【表２】
2009520272.tif 000004
【００３７】
ポリシーはこの要素を省略して、適切なクレームオーソリティの決定をプリンシパルに任せることができる。
【００３８】
例えば、必要なセキュリティトークンの使用有効期限のような他の要素を同様にセキュリティトークン内で指定することができる。
【００３９】
図４を参照する。プリンシパル１１０が依存パーティ１２０からセキュリティポリシーを受信すると、プリンシパル１１０は、１つまたは複数のクレームオーソリティと通信して、ポリシーによって要求されるクレームを収集することができる。図示した例では、プリンシパル１１０はセキュリティポリシーの要件をクレーム変換器１３０およびクレームオーソリティ１４０に伝達する。
【００４０】
例えば、プリンシパル１１０は、ＷＳ−Ｔｒｕｓｔ内で記述される発行メカニズムを用いて、クレームオーソリティ１４０から１つまたは複数のセキュリティトークンを要求することができる。１つの例では、プリンシパル１１０は、依存パーティ１２０のポリシー内のクレーム要件をクレームオーソリティ１４０に転送する。依存パーティ１２０のアイデンティティは、プリンシパル１１０によってクレームオーソリティ１４０に送信された要求の中で指定できるが、そのようにする必要はない。以下でさらに説明するように、表示トークンに対する要求のような他の要件を要求に含めることができる。
【００４１】
セキュリティトークンに対する要求の例を以下に与える。
【００４２】
【表３】
2009520272.tif 000005
【００４３】
実施形態の例では、クレームオーソリティ１４０は、ＷＳ−ＳｅｃｕｒｉｔｙＰｏｌｉｃｙで指定されるように自身のセキュリティポリシーを有することができ、クレームオーソリティ１４０がセキュリティトークンをプリンシパル１１０に転送する前にプリンシパル１１０の認証を要求することができる。
【００４４】
クレームオーソリティ１４０は、依存パーティ１２０からのポリシーによって要求される１つまたは複数のクレームを与えることができる。例えば、クレームオーソリティ１４０は、ポリシーによって要求される１つまたは複数のクレームを生成するようにプログラムされる。クレーム変換器１３０は、クレームオーソリティ１４０のクレームを、依存パーティ１２０によって理解可能な１つまたは複数のクレームに変換するようにプログラムされる。以下で説明するように、実施形態の例では、クレーム変換器１３０は、１つまたは複数のクレームを含む、１つまたは複数の署名付きセキュリティトークン１５０を生成する。
【００４５】
セキュリティトークン１５０を次いでプリンシパル１１０に転送することができる。実施形態の例では、クレーム変換器１３０は、ＷＳ−Ｔｒｕｓｔで記述される応答メカニズムを用いてセキュリティトークン１５０をプリンシパル１１０に転送する。
【００４６】
図５を参照する。セキュリティトークンの例１５０を示してある。図示した実施態様では、セキュリティトークン１５０は計算トークン１５２と表示トークン１５４を含む。計算トークン１５２は、クレームオーソリティ１３０によって暗号化形式で与えられるクレームを含む。以下で説明するように、実施形態の例では、クレーム変換器１３０は、依存パーティ１２０によって理解（即ち、復号化）できる暗号化形式で計算トークン１５２を生成する。
【００４７】
クレーム変換器１３０は、表示トークン１５４も生成する。一般に、表示トークン１５４は、セキュリティトークン１５０の計算トークン１５２に含まれるクレームの少なくともサマリを含む。例えば、幾つかの実施態様では、表示トークン１５４は、計算トークン１５２に含まれるクレーム全てのリストを含む。以下で説明するように、表示トークン１５４は、例えばコンピュータシステム３００を用いてプリンシパル１１０によってレビューされることが可能な形式で生成されることができる。幾つかの例では、表示トークン１５４は、プレーンテキスト形式またはハイパーテキストマークアップ言語（「ＨＴＭＬ」）形式で生成される。セキュリティトークンレスポンスの一部として含まれる表示トークンの実施態様の１例を以下に示す。
【００４８】
【表４】
2009520272.tif 000006
【００４９】
以下は、表示トークンにおける上で示した要素の一般的記述である。
・  /ic:RwquestedDisplayToken/ic:DisplayToken― 返された表示トークンである。
・  /ic:RwquestedDisplayToken/ic:DisplayToken/@xml:lang― この属性は、ＲＦＣ３０６６で規定される言語コードを用いて、言語識別子を示す。この属性の中では表示トークンがローカライズされる。
・  /ic:RwquestedDisplayToken/ic:DisplayToken/ic:DisplayClaim― この要素は、セキュリティトークンにおいて返された個々のクレームを示す。
・  /ic:RwquestedDisplayToken/ic:DisplayToken/ic:DisplayClaim/@URI― この属性は、セキュリティトークンにおいて返された個々のクレームの一意な識別子（ＵＲＩ）を与える。
・  /ic:RwquestedDisplayToken/ic:DisplayToken/ic:DisplayClaim/ic:DisplayTag― この任意の要素は、セキュリティトークンにおいて返されたクレームに対する一般的またはフレンドリーな名前を与える。
・  /ic:RwquestedDisplayToken/ic:DisplayToken/ic:DisplayClaim/ic:Description― この任意の要素は、セキュリティトークンにおいて返されたクレームに対する意味の記述を与える。
・  /ic:RwquestedDisplayToken/ic:DisplayToken/ic:DisplayClaim/ic:DisplayValue― この任意の要素は、セキュリティトークンにおいて返されたクレームに対する１つまたは複数の表示可能な値を与える。
・  /ic:RwquestedDisplayToken/ic:DisplayToken/ic:DisplayTokenText（図示せず）― この任意の要素は、トークン内容が個々のクレームとしての表示に適さないときに、トークン全体の代替的なテキスト表現を全体として与える。
【００５０】
幾つかの実施態様では、計算トークン１５２を含むセキュリティトークン１５０は、構造化情報標準促進協会（「ＯＡＳＩＳ（Organization for the Advancement of Structured Information Standards）」）推奨のセキュリティアサーションマークアップ言語（「ＳＡＭＬ（Security Assertion Markup Language）」）標準に従って発行される。例えば、セキュリティトークン１５０は、ＳＡＭＬｌ．１またはＳＡＭＬ２．０標準に従って発行されることができる。例えば、限定ではなく例として、Ｘ．５０９証明書およびケルベロスチケットのような他の標準を使用することもできる。
【００５１】
加えて、セキュリティトークン１５０は、既知のアルゴリズムを用いてクレーム変換器１３０によって暗号的に署名または承認されることができる。１つの実施態様では、限定ではなく例として、２０４８ビットの非対称ＲＳＡキーを用いる。他の実施態様では、例えばｂａｓｅ６４符号化対称暗号化キーのような他の暗号化アルゴリズムを使用することができる。１つの実施態様では、対称キーをデフォルトで使用する。このように、示した例では、依存パーティ１２０のようなパーティは、クレーム変換器１４０からのセキュリティトークン１５０を暗号的に検証することができる。
【００５２】
実施形態の例では、１つまたは複数の既知のアルゴリズムを用いて計算トークン１５２を暗号的に表示トークン１５４に結びつける。そのアルゴリズムには、限定ではなく例として、計算トークン１５２と表示トークン１５４の両方を含むクレームオーソリティからの応答メッセージ全体にわたってデジタル署名を使用することがある。
【００５３】
図６を参照する。プリンシパル１１０のコンピュータシステムの例３００はインタプリタ３１２とディスプレイ３１４を含むことができる。例えば、図示した実施態様では、インタプリタ３１２は、コンピュータシステム３００によって実行可能な１つまたは複数のアプリケーションプログラム（例えば、上述のプログラム２２８を参照）であることができる。加えて、ディスプレイ３１４は、プリンタまたはモニタのような、情報をプリンシパル１１０に出力可能な出力装置（例えば、モニタ２４２を参照）であることができる。
【００５４】
実施形態の例では、インタプリタ３１２は、セキュリティトークン１５０の表示トークン１５２を解釈するようにプログラムされる。例えば、インタプリタ３１２は、表示トークン１５２内で要約されたクレームを識別することができ、インタプリタ３１２はディスプレイ３１４を用いてプリンシパル１１０に対しそのクレームを表示することができる。以下でさらに説明するように、プリンシパル１１０はディスプレイ３１４にて与えられたセキュリティトークン１５０に含まれるクレームのサマリを利用して、セキュリティトークン１５０を依存パーティ１２０と共有するか否かに関して決定することができる。
【００５５】
図７を参照する。プリンシパル１１０はセキュリティトークン１５０を依存パーティ１２０に転送して、依存パーティ１２０のセキュリティポリシーの全部または一部を満たすことができる。１つの例では、プリンシパル１１０は、ＷＳ−Ｓｅｃｕｒｉｔｙで記述されるセキュリティバインドメカニズムを用いてセキュリティトークン１５０をアプリケーションメッセージにバインドすることで、セキュリティトークン１５０を依存パーティ１２０に転送することができる。
【００５６】
依存パーティ１２０がセキュリティトークン１５０を受信すると、依存パーティ１２０は、署名付きセキュリティトークン１５０のオリジナルを暗号的に検証することができる。依存パーティ１２０は、依存パーティ１２０のセキュリティポリシーを満足させるためにセキュリティトークン１５０の計算トークン１５２内のクレームを利用して、プリンシパル１１０を認証することもできる。認証が完了すると、依存パーティ１２０は、プリンシパル１１０によって要求された商品、サービス、または他の情報へのアクセスを与えることができる。
【００５７】
図８を参照する。プリンシパルを認証する方法の例４００を示してある。方法４００を、プリンシパルが従業員Ａである非限定的な例を参照して説明する。従業員Ａは「企業Ａ」と称する企業の従業員であり、依存パーティは「旅行代理店Ａ」と称する旅行代理店である。企業Ａは旅行代理店Ａと、企業Ａの従業員に対して割安で旅行の手配をするよう提携している。
【００５８】
方法４００の動作４１０で、プリンシパルは依存パーティから情報を要求する。例えば、示した実施態様では、従業員Ａは、従業員Ａのコンピュータ上のアプリケーションプログラムを利用して、旅行代理店Ａのウェブサイトから旅行の手配を要求する。次に、動作４２０で、従業員Ａのコンピュータは旅行代理店Ａのウェブサイトからセキュリティポリシーを受信する。このポリシーは、従業員Ａが旅行代理店Ａのウェブサイトにある割安な旅行の手配にアクセスできる前に、従業員Ａが企業Ａの従業員であることを証明するクレームとともにセキュリティトークンを従業員Ａが送信することを要求する。
【００５９】
動作４３０で、従業員Ａのコンピュータは、ポリシーをクレームオーソリティに転送する。そのクレームオーソリティは、本例では、企業Ａによって運用されるセキュリティトークンサービスまたはＳＴＳである。企業ＡのＳＴＳは、従業員Ａが企業Ａの従業員であることを証明するクレームとともにセキュリティトークンを発行することができる。例えば、クレームは単に「企業Ａの従業員＝ｔｒｕｅ」であることができる。次に、動作４４０で、従業員Ａのコンピュータは、署名付きセキュリティトークンを企業ＡのＳＴＳから受信する。セキュリティトークンは計算トークンと表示トークンを含み、計算トークンは従業員Ａが企業Ａの従業員であることを証明するクレームを含む。
【００６０】
制御は次いで動作４５０に移り、従業員Ａのコンピュータは、表示トークンからのクレームのサマリをレビュー用として従業員Ａに提示する。次いで、動作４６０で、従業員Ａはセキュリティトークンを旅行代理店Ａのウェブサイトに転送するか否かを、従業員Ａに提示された表示トークン内の情報に基づいて決定することができる。
【００６１】
例えば、企業Ａからのセキュリティトークン内の唯一のクレームが、従業員Ａが企業Ａの従業員であること（例えば、「企業Ａの従業員＝ｔｒｕｅ」）である場合、表示トークンはこの従業員Ａに対するクレームをレビュー用に列挙する。従業員Ａが快くこの情報を旅行代理店Ａに示す場合、従業員Ａは動作４６５でセキュリティトークンを旅行代理店Ａのウェブサイトに転送することができる。それから、制御は動作４７０に移り、従業員Ａは要求した旅行代理店Ａのウェブサイト上の割安な旅行の手配に対するアクセスを得る。
【００６２】
従業員Ａがその代わりに動作４６０でセキュリティトークンを転送しないことを決定すると、制御が動作４８０に移り、従業員Ａはセキュリティトークンを旅行代理店Ａのウェブサイトに転送しない。例えば、企業Ａからのセキュリティトークンが従業員Ａに関する複数のクレームを含み、従業員Ａが旅行代理店Ａと快く共有しないクレームを（表示トークンをリビューすることで）識別する場合、従業員Ａはセキュリティトークンを転送しないと決定することができる。例えば、企業Ａからのセキュリティトークンが、従業員Ａが企業Ａの従業員であることを証明するクレームを含むだけでなく、従業員Ａの自宅電話番号を有するクレームも有する場合、従業員Ａは、従業員Ａの自宅電話番号を旅行代理店Ａと共有することを快く思わない可能性がある。この場合、従業員Ａはセキュリティトークンの表示トークンからの表示情報をレビューし、セキュリティトークンが従業員Ａの自宅電話番号を含むと判断し、セキュリティトークンを旅行代理店Ａに転送しないと決定することができる。
【００６３】
図９を参照する。方法４００の動作４５０に関する更なる例の詳細を示してある。これは、プリンシパルがセキュリティトークン内の表示トークンをレビューすることに関する。動作５１０で、セキュリティトークンの表示トークンは、プリンシパルによって解釈される。例えば、幾つかの実施態様では、ウェブブラウザプラグインまたはアプレットまたは別のアプリケーションのようなアプリケーションプログラムが、表示トークンに含まれる情報を解釈するようにプログラムされる。次に、動作５２０で、アプリケーションは、ウェブブラウザインタフェースのようなグラフィカルユーザインタフェースを用いてプリンシパルに情報を表示するようプログラムされる。別の実施態様では、他の構成が可能である。
【００６４】
例えば、図１０を参照する。ユーザインタフェースの例５５０を示してある。ユーザインタフェース５５０は情報をセキュリティトークンの表示トークン内に表示する。ユーザインタフェース５５０は、表示トークンからの表示情報のリスト５５５を含む。図示した例では、表示情報は雇用者の情報（例えば、「企業Ａ」）および自宅電話番号（例えば、「９９９−９９９−９９９９」）を含む。ユーザインタフェース５５０は送信要素５５７とキャンセル要素５５９も含む。プリンシパルは送信要素５５７を選択して依存部（例えば、旅行代理店Ａ）にセキュリティトークンを送信するか、またはキャンセル要素５５９を選択してセキュリティトークンの送信を見送ることができる。
【００６５】
代替実施態様では、追加の情報をユーザインタフェース５５０内で与えることができる。例えば、幾つかの実施態様では、特定の依存パーティに送信された他のセキュリティトークンに関する情報を列挙することができ、かつ／または現在表示中の特定のセキュリティトークンが以前に送信された場所に関する情報を列挙することができる。さらに他の実施態様では、セキュリティトークンが送信される予定の特定の依存パーティに関する情報をユーザインタフェース内に与えることができ、かつ／または依存パーティに関する追加の情報を取得するためのリンクを与えることができる。他の構成も可能である。
【００６６】
図１１を参照する。クレームオーソリティおよびクレーム変換器が、計算トークンと表示トークンとを含むセキュリティトークンを生成する方法の例６００を示してある。再度、方法６００を、プリンシパルが従業員Ａで依存パーティが旅行代理店Ａであり、クレームオーソリティおよびクレーム変換器が企業Ａである上で与えた非限定的な例を参照して説明する。
【００６７】
動作６１０で、企業ＡのＳＴＳは従業員Ａによって転送された旅行代理店Ａのポリシーを受信する。次に、動作６２０で、企業Ａはポリシーによって要求された１つまたは複数のクレームを含む計算トークンを生成する。動作６３０で、計算トークン内のクレームに関する表示情報を含む表示トークンを生成する。次いで、動作６４０で、表示トークンを論理的に計算トークンにバインドしてセキュリティトークンを生成する。最後に、動作６５０で、計算トークンと表示トークンを含むセキュリティトークンを応答メッセージと暗号的にバインドして従業員Ａに転送する。
【００６８】
実施形態の例では、クレーム変換器により発行した各セキュリティトークン内で、表示トークンをデフォルトで与えることができる。他の実施態様では、プリンシパルが表示トークンを要求する場合にのみ表示トークンを与える。セキュリティトークン要求に含まれる上記の表示トークン要求の例は次の通りである。
【００６９】
【表５】
2009520272.tif 000007
【００７０】
オプション属性「ＬａｎｇＩｄ」は、ＲＦＣ３０６６に規定される言語コードを用いる表示トークンに対する言語識別子を示す。
【００７１】
実施形態の例では、セキュリティトークンに表示トークンがない場合、プリンシパルに表示トークンがないことを通知し、プリンシパルはセキュリティトークンを依存パーティに転送するか否かを決定することができる。他の実施態様では、表示トークンが与えられない場合、プリンシパルに提示される表示情報はない。
【００７２】
実施形態の例では、プリンシパルは表示トークンからの表示情報をレビューして、セキュリティトークンを依存パーティに転送するか否かを決定することができる。他の実施態様ではプリンシパルは表示情報をレビューすることができるが、セキュリティトークンの依存パーティへの転送を停止する選択肢を有さない。換言すれば、セキュリティトークンはプリンシパルによって要求されると、プリンシパルがそのセキュリティトークンを受信すればそのセキュリティトークンは自動的に依存パーティに転送される。
【００７３】
実施形態の例では、セキュリティトークンの計算トークン部のみがプリンシパルによって依存パーティに転送される。他の実施態様では、プリンシパルは計算トークンと表示トークンの両方を含むセキュリティトークン全体を依存パーティに転送する。
【００７４】
本明細書で示した実施形態の例は、クレーム変換器によりプリンシパルへ転送され、続いて依存パーティへ転送されるセキュリティトークンを示すが、代替実施態様では、セキュリティトークンをクレーム変換器から依存パーティに直接転送することができる。例えば、幾つかの実施態様では、計算トークン（および場合により表示トークン）を含む１つのセキュリティトークンを依存パーティに転送することができ、表示トークン（および場合により計算トークン）を含む別のセキュリティトークンをプリンシパルに転送することができる。他の構成も可能である。
【００７５】
本明細書で示した実施形態の例は、単一のクレームと１つのクレーム変換器によって発行された単一のセキュリティトークンとのみを要求するセキュリティポリシーを示すが、他の実施態様ではポリシーは複数のクレームを要求することができ、１つまたは複数のクレームオーソリティは１つまたは複数のクレームを有する１つまたは複数のセキュリティトークンを発行してそのポリシーを満足することができる。
【００７６】
本明細書で開示した幾つかの実施態様ではプリンシパルは個人であるが、代替実施態様ではプリンシパルは企業、組織、コンピュータまたは他の装置、サービス、あるいは任意の他種のエンティティであることができる。例えば、１つの代替実施態様では、プリンシパルはネットワークの一部である装置である。その装置は、ソフトウェアアップデートのような情報を、依存パーティとして機能するネットワーク上の別の装置から要求することができる。依存パーティは、その依存パーティが上記の要求されたアップデートを与える前に、装置のアイデンティティの認証を要求することができる。装置は依存パーティのセキュリティポリシーによって要求される１つまたは複数のクレームを１つまたは複数の変換器から要求することができ、そのクレーム変換器は、表示トークンを含む１つまたは複数のセキュリティトークンをその装置に与えることができる。その装置は、表示トークンの内容をレビューし、その内容に基づいてセキュリティトークンを依存パーティに転送するか否かを決定することができるようにプログラムされることができる。その装置がセキュリティトークンを依存パーティに転送する場合、その依存パーティは、次いで認証プロセスを完了させ、要求されたアップデートをその装置に与えることができる。
【００７７】
計算トークンと、プリンシパルによってレビューされることができる表示情報を有する表示トークンとを両方含むセキュリティトークンに関連する様々な利点がありうる。例えば、プリンシパルは、そのプリンシパルのクライアントコンピュータシステム上のアプリケーションプログラムを用いてセキュリティトークンの内容を効率的にレビューして、表示トークンの内容を解釈および表示することができる。加えて、プリンシパルがセキュリティトークンの内容をレビューすることにより、そのプリンシパルはセキュリティトークン内で依存パーティと共有される情報をより一層制御することができる。さらに、計算トークンと表示トークンとの両方を共にバインドさせたセキュリティトークンを含むシステムは、プリンシパルに関する未承認情報が開示されたならば、監査可能な証跡を与えることができる。
【００７８】
上述した様々な実施態様は例として与えたに過ぎず、限定として解釈すべきではない。当業界の技術者は、様々な修正および変更を、本開示または添付請求項の精神および範囲から逸脱せずに上述の実施態様に加えうることを容易に認識するであろう。
【図面の簡単な説明】
【００７９】
【図１】デジタルアイデンティティシステムの例を示す図である。
【図２】汎用コンピュータシステムの例を示す図である。
【図３】図１のシステムの一部を示す図である。
【図４】図１のシステムの別部分を示す図である。
【図５】セキュリティトークンの例を示す図である。
【図６】セキュリティトークンの表示トークンを解釈および表示するようプログラムされたコンピュータシステムの例を示す図である。
【図７】図１のシステムの別部分を示す図である。
【図８】プリンシパルを認証する方法の一例を示す図である。
【図９】セキュリティトークンの表示トークンを解釈および表示する方法の例を示す図である。
【図１０】セキュリティトークンの表示トークンを表示するためのユーザインタフェースの例を示す図である。
【図１１】計算トークンおよび表示トークンを含むセキュリティトークンを生成する方法の例を示す図である。
【図１】
2009520272.tif 000008
【図２】
2009520272.tif 000009
【図３】
2009520272.tif 000010
【図４】
2009520272.tif 000011
【図５】
2009520272.tif 000012
【図６】
2009520272.tif 000013
【図７】
2009520272.tif 000014
【図８】
2009520272.tif 000015
【図９】
2009520272.tif 000016
【図１０】
2009520272.tif 000017
【図１１】
2009520272.tif 000018
【国際調査報告】
2009520272.tif 000019
2009520272.tif 000020