Upgrade to Pro — share decks privately, control downloads, hide ads and more …

OpenID Contract Exchange (CX) Extension Overview

OpenID Contract Exchange (CX) Extension Overview

Avatar for Tatsuo Kudo

Tatsuo Kudo

March 01, 2009
Tweet

More Decks by Tatsuo Kudo

Other Decks in Technology

Transcript

  1. Copyright © 2009 Nomura Research Institute, Ltd. All Rights Reserved.

    OpenID CX とは エンティティ同士が動的に契約書の交換を行なうための仕様 契約書の内容は基本的には任意 ▪ 例: 目的、期間、金額、数量、当事者名、ID 情報など 「契約書案」に各エンティティが署名することで「契約書」が作成され、 この契約書を各エンティティが保管する ▪ 「契約書2通を作成し、相互に記名押印のうえ、各自がその1通を保管」 のモデ ル 契約に基づき、エンティティ同士が「取引」 (データ交換) 交換方法はスコープ外 ▪ 基本的な動作 (Get など) については CX 仕様に定義 ▪ 他の仕様を活用することも想定 ▪ OpenID AX、OAuth、JSON etc. 1
  2. Copyright © 2009 Nomura Research Institute, Ltd. All Rights Reserved.

    OpenID CX の経緯 2007 年 12 月 基本的な属性交換仕様が確定 ▪ OpenID Authentication 2.0 / Attribute Extension 1.0 ▪ しかし暗号化や署名、利用目的の明示など、実ビジネスの要件を満たせなかった NRI が Trusted Data Exchange (TX) 仕様を提唱 2008 年 5 月 NRI が TX を実装し、商用環境に適用 2008 年 11 月 TX をより汎用的に改良した OpenID Contract Exchange (CX) 仕様の標 準化に向け、ワーキンググループ (WG) 設立の動きが始動 2009 年 2 月 OpenID CX WG の設立が承認 現在、WG活動開始に向け準備中 2
  3. Copyright © 2009 Nomura Research Institute, Ltd. All Rights Reserved.

    OpenID CX の基本的なフロー(簡略版) リライング・パーティ (RP) OpenID プロバイダ (OP) 1. サービスにアクセス 1 3. ユーザの同意を 確認 3 2. RPが「契約書案」を作成・ 署名し、OPに提示 “Offer” 2 RP 3 4. OPが「契約書案」を もとに「契約書」を作 成・署名し、RPに返却 4 “Contract” OP “Offer” RP
  4. Copyright © 2009 Nomura Research Institute, Ltd. All Rights Reserved.

    OpenID CX の適用例 契約に基づく属性交換 決済メッセージを 「契約書案」「契約書」に 載せて流通 契約に基づくサービス 連携 4 RP OP “Offer” RP “Contract” OP 属性の利用目的、利用期間 等を「契約書案」として記述 「契約書」に従って、ユー ザのID属性を提供 RP OP “Offer” RP 加盟店番号、会員番号、金 額を「契約書案」として記述 RP OP “Offer” RP 決済 依頼 doSomething( contractID ) 契約書に基づくサービスの起動 “Offer” RP “Contract” OP “Offer” RP 処理 内容 「契約書」に従って、処理結 果 (or 処理状況) を通知 “Contract” OP “Offer” RP
  5. Copyright © 2009 Nomura Research Institute, Ltd. All Rights Reserved.

    OpenID CX の特徴 否認防止と改ざん防止 公開鍵暗号方式による署名 秘匿性 メッセージ全体の暗号化 契約書の形式や内容を任意に定義可能 (i.e. 内容を定義する必要がある) 「ペイロード」 モバイルブラウザなどの、機能が制限されたユーザ・エージェントに対応 「アーティファクト」 バインディング 非同期メッセージング機能を定義 「チケット」と「通知」 「ユーザの意思」 を活かすための応用を考慮 「RPにリクエストするユーザ」と「OPの同意確認に応じるユーザ」が同一人物ではない ケース RPではなく、ユーザが「契約書案」に署名するケース 5
  6. Copyright © 2009 Nomura Research Institute, Ltd. All Rights Reserved.

    OpenID CX の基本的なフロー (アーティファクト、同期) 6 RP OP エンド ポイント エンド ポイント XRD XRD サービスにアクセス XRDを取得し、OP側のエンドポイントの場所と公開鍵を入手 「契約書案 (Offer)」 を作成し、署名を付加 「契約書案」をOPに送付 「契約書案」にひもづくチケットを返却 OPにリダイレクトしてチケット提示 XRDを取得し、RP側のエンドポイントの場所と公開鍵を入手 チケットにひもづいた「契約書案」に対する同意の確認 「契約書 (Contract)」を作成し、署名を付加 リダイレクトしてRPに契約番号を提示 契約番号にひもづく「契約書」をリクエスト 契約番号にひもづく「契約書」を返却 何らかの処理 Done! 「契約書案」を保管 「契約書」を保管
  7. Copyright © 2009 Nomura Research Institute, Ltd. All Rights Reserved.

    OpenID CX の基本的なフロー (アーティファクト、非同期) 7 OP エンド ポイント XRD サービスにアクセス XRDを取得し、OP側のエンドポイントの場所と公開鍵を入手 「契約書案 (Offer)」 を作成し、署名を付加 「契約書案」をOPに送付 「契約書案」にひもづく「チケット」を返却 OPにリダイレクトして「チケット」を提示 XRDを取得し、RP側のエンドポイントの場所と公開鍵を入手 チケットにひもづいた「契約書案」に対する同意の確認 「トランザクションID」を生成 リダイレクトしてRPに「トランザクションID」を提示 Done! 「トランザクションID」を保管 RP エンド ポイント XRD 「契約書案」を保管 何らかの処理 「トランザクションID」にひもづく「契約書」を作成した旨を通知 「契約書 (Contract)」を作成し、署名を付加 「トランザクションID」にひもづく「契約書」を要求 「トランザクションID」にひもづく「契約書」を返却 「契約書」を保管
  8. 8