ユーザについての個人情報を明かすことなく、認証を実行する暗号化ソリューション技術である、 U-Prove CTPをMicrosoft は、オープンソースにした。このCTPは、U-Prove Cryptographic Specification V1.0、仕様の参照実装の C# 版と Java 版、そして WIF, AD FS 2 と CardSpace 2の拡張版、更にテクノロジを説明するいくつかのホワイトペーパーを含んでいる。
現在のセキュリティ ソリューションは、関係するセキュア サービスから恩恵を受ける人について、何らかの情報を漏らすことに基づいている。加えて、多くのwebサイトは、更なる効率と利益を目指して、ビジネスモデルを改善するために、ユーザについてできるだけ多くの情報をつかむ傾向にある。 U-Proveの技術は、より高いレベルのセキュリティを提供する意図があり、ユーザが望む情報しか明らかにしない。これは、単にコインをいれて自販機から物を買ったり、あるいは無記名投票のような、匿名の活動に、なぞらえることができる。
U-Proveの技術は、最初 CredenticaのStefan Brands 氏によって開発され 2007年に最初のSDKがリリースされた後に、もっと公に知られるようになった。基本的な特許を含んで、この技術は、 2008年にMicrosoft によって買収され 、 Windows Identity Foundationに含まれた。Microsoft は、最近、 Microsoft U-Prove CTPをリリースした、この暗号化技術が含むのは:
- U-Prove Cryptographic Specification V1.0、Open Specification Promise ライセンスの元で
- C# SDK と Java SDK 、仕様の実装で、 BSDオープンソースライセンスに従ってリリースされる
- U-Prove CTP ホワイトペーパー
- U-Prove 技術概説
- U-Prove 技術のIdentity Metasystem V1.0への統合
- Windows Identity Foundation Extension – 「WIFの拡張は、(身元確認プロバイダに対して) U-Proveトークンの発行のためにカスタムなSecurity Token Service (STS)を作る能力と(信頼しているグループに対して)U-Proveトークンの提示を検証する能力を提供する」
- Active Directory Federation Services 2.0 - U-Proveをサポートする情報カードの発行能力を持つ U-Proveが使用可能なバージョンである AD FS 2.0
- Windows CardSpace 2.0 - U-Proveが使用可能なバージョンである Windows CardSpace 2.0
U-Proveの技術は、 U-Prove トークン、すなわち 属性として知られている暗号化によって保護された情報をもった2進数列を基盤に作られている。 U-Proveトークンを使う3種類の関係者があり: Issuer – トークンを発行するエンティティ、 Prover – トークンが必要なユーザ、 Verifier – ユーザの認証に興味のあるサードパーティ、以下の図のように Issuer は、Prover と Issuance Protocol によって通信し、 Proverは、 Verifierと Presentation Protocol によって通信する:
Proverがトークンを欲しい時は、Issuer に連絡して、Issuance Protocol を使って、暗号化して自分の特性を 提示する。これは、今日使われている標準的なセキュリティトークンとは違う、 Proverは、 Issuerに特性を全く明かさずにトークンを得ることができるからである:
Proverが Issuerから U-Proveトークンを取得するには、両者は、 U-Prove issuance protocolのインスタンスで対話しなければならない。これは、暗号化プロトコルで、その入力として、とりわけ、いかなる特性をもとり、トークン中にエンコードする。 U-Prove技術の革新的なフィーチャは、現代暗号学における進歩を基にした、 issuance protocolの暗号化設計から派生したものである。この概要の目的としては、次のことを知れば十分である。すなわち、 Issuerの署名は、これまでの RSA やDSA署名ではない、そして、issuance protocolは、3脚のインタラクティブなプロトコルで、 Proverは、 Issuerから、あるトークン要素を隠すことができる。
Issuer は、 Proverを認証するのに、様々な手段が使える、例えば、他のIssuer よって生成された U-Proveトークンに含まれるアクセスに関する情報を使える。 Issuer は、トークンを保護するのに、署名と Proverのみが知りれる公開キーを使う:
- 発行されたそれぞれの U-Proveトークンは、全コンテンツに対する、Issuer が秘密キーを使って作成した、その Issuerの偽造のデジタル署名を含んでいる。Issuer の署名のあるU-Prove は、U-Prove トークンに対する信ぴょう性のマークとなる;これによって、誰もが、 U-Proveトークンは、そのIssuerによって発行され、そしてその内容が変えられていないことを立証できる。
- リプレイアタックの防止:発行されたそれぞれの U-Proveトークンは、また、Proverのみが知り得るトークン固有の公開キーを持っている。 Proverは、 U-Proveトークン用に対応する秘密キーといっしょに、 issuance protocolによる通信の間に、この公開キーをランダムに生成する。トークンの公開キーと違って、秘密キーは、 U-Proveトークンの一部ではない; Proverは、 U-Proveトークンを使っている時に、秘密キーを明かすことはない。次のセクションでは、これにより、どうして、Verifierが提示されたU-Prove トークンをリプレイできない、のかを説明する。
トークンを取得した後、 Proverは、 Verifierとの関係で トークンを使い、Presentation Protocolで、両者間の信頼関係を確立する:
Verifierに U-Proveトークンを提示するために、Prover とVerifierは、 U-Prove presentation protocolのインスタンスで対話する。トークンの特性(あるいは、セクション4.3で見るように、その特性のサブセットのみ)、Issuer の署名そしてProver のトークンに固有な公開キーを提供することに加えて、 Proverは、 Verifierにレスポンスも送信する。このレスポンスを計算するために、 Proverは、 Verifierによるプレゼンテーション確認に、 U-Proveトークンの秘密キーを適用する。このプレゼンテーション確認は、ノンス、すなわち決して再利用されない唯一の数を含まなければならない。 ノンスには、非常に大きなランダムな数や唯一の Verifierの識別子にタイムスタンプかカウンタを加えたものが使われる。
ここでは、 Proverが計算したレスポンスを presentation proof(プレゼンテーション証明書)と呼ぶことにする。それは、提示された U-Proveトークンに対応した秘密キーの所有を示す暗号化証明書である。それは、次のことを証明する、秘密キーがプレゼンテーション確認に適用されたが、秘密キー自身は、秘密のままである;たとえ、すべてのVerifierと Issuer が結託して、同じ U-Proveトークンで作成された、たくさんのpresentation proofを任意に検査して、 issuance protocolと presentation protocolから逸脱したとしても、この秘密性は、保証される。結果として、Verifierは、自分に提示された U-Proveトークンをリプレイできない。
U-Proveトークンを使うことに関連したいくつかのセキュリティ フィーチャがある:非トレーサビリティ、リンク不可能性、回復性、再利用性などである。面白いもののひとつが、 Selective Disclosure(選択的開示)で、トークン中に暗号化された特性、すなわちProver が望まない限り、 Issuerにさえ、明らかにしない情報を含む能力である。
Microsoftによると、 U-Proveは、事実上、いかなるコミュニケーションとトランザクション システムに使うことができる。例えば、「デジタル著作権管理 、電子投票、電子決済手段、電子医療記録、電子切手 、オンライン オークション、公共の交通機関チケット 、道路通行料 の価格決定システム、ロイヤルティスキーム、電子ゲーム」。また以下のものにも利用できる「人が関与しないもの、例えば、コンピュータ プロセス、ソフトウェア アプリケーション、ハードウェアデバイス、など」。 U-Proveは、信頼できない関係者を介した情報共有が容易になり、「物理的な世界のアナロジーがない新しいアプリケーションの設計;おもしろい分野の1つの例が、いくつもの異なるソースから、整合性が保護されている入力データに対して限られた操作を実行することができるクラウド コンピュータ サービスだ。」
U-Proveについての更なる情報は、 U-Prove Home Page, Announcing Microsoft’s U-Prove Community Technical Preview (CTP) そして Deep Dive into U-Prove Cryptographic Protocols、Stefan Brands氏との2つの Channel 9インタビュー U-Prove CTP: a Developers’ Perspective を参照。