Skip to content

ビジネスフロー・データフロー

エコシステム全体像

実用的なビジネス価値の実現

本セクションでは、Wallet SDKが実際のビジネス現場でどのように活用され、どのような価値を生み出すかを具体的に説明します。技術基盤については「技術基盤・概念」をご参照ください。

Wallet SDKは、分散型アイデンティティ(DID)とVerifiable Credentials(VC)エコシステムにおいて、Holder(保有者)として個人や組織がデジタル証明書を安全に受け取り・保存・提示するための包括的なソリューションを提供します。

主要ステークホルダー

🏛️ Issuer(発行者)

デジタル証明書を発行する信頼できる機関

代表的な組織:

  • 大学・教育機関: 学位証明書、資格証明書
  • 企業: 従業員証、研修修了証、スキル認定証
  • 政府機関: 身分証明書、許可証、資格免許
  • 医療機関: 健康証明書、ワクチン接種証明書

技術的役割:

  • OpenID4VCIプロトコルによるセキュアな発行
  • クレデンシャルメタデータの定義
  • 発行認証・承認プロセスの管理
  • 秘密鍵の生成・管理

📱 Holder(保有者)- SDK担当領域

デジタル証明書を保有・管理する個人や組織

技術的役割:

  • VC受信: OpenID4VCIプロトコルによる安全なクレデンシャル受信
  • データ暗号化: AES暗号化による機密性保護
  • 統合管理: 複数DID・複数証明書の一元管理
  • VP生成: OpenID4VPプロトコルによる検証可能なプレゼンテーション生成

🔍 Verifier(検証者)

デジタル証明書を検証・受理するサービス提供者

代表的なサービス:

  • 金融サービス: KYC、信用審査、本人確認
  • Eコマース: 資格証明、年齢確認、会員認証
  • 医療サービス: 資格確認、健康状態証明
  • 教育プラットフォーム: 学歴確認、継続教育資格

技術的役割:

  • OpenID4VPプロトコルによるリクエスト
  • 暗号学的署名検証
  • 発行者の信頼性確認

発行フロー(Issuer → Holder)

クレデンシャル発行の全体的なビジネスプロセス

sequenceDiagram
    participant I as 🏛️ Issuer<br/>(発行者)
    participant W as 📱 Wallet App<br/>(Holderアプリ)
    participant S as 🔧 Wallet SDK
    participant L as 📦 ローカルストレージ

    note over I,L: OpenID4VCI プロトコルフロー

    %% 1. オファー段階
    I->>+W: 1. クレデンシャルオファー<br/>(QRコード・ディープリンク)
    W->>+S: 2. オファー解析要求
    S->>S: 3. オファーパラメータ抽出
    S->>I: 4. 発行者メタデータ取得
    I-->>S: 5. メタデータ応答
    S-->>-W: 6. 受け取り可能データ表示

    %% 2. 認証段階
    W->>+S: 7. 受け取り承認

    alt 事前認可コードフロー
        S->>I: 8a. トークンリクエスト<br/>(PINコード含む)
        I-->>S: 9a. アクセストークン発行
    else 認可コードフロー
        S->>I: 8b. 認可エンドポイントリダイレクト
        I-->>S: 9b. 認可コード発行
        S->>I: 10b. トークン交換
        I-->>S: 11b. アクセストークン発行
    end

    %% 3. 発行段階
    S->>I: 12. クレデンシャルリクエスト
    I-->>S: 13. 署名済みVC発行

    %% 4. 保存段階
    S->>S: 14. VC検証・暗号化
    S->>+L: 15. 暗号化VC保存
    L-->>-S: 16. 保存完了
    S-->>-W: 17. 発行完了通知

    note over I,L: ✅ VCがローカルに安全保存完了

事前認可コードフロー『Pre-Authorized Code Flow』

ユーザーが事前に認可を受けた後に、クレデンシャルを安全に受け取るためのプロセスです。ユーザーは、PINコードなどの認証情報を使用して、発行者からのクレデンシャルオファーを受け取ります。この方法により、ユーザーは自分のデジタルアイデンティティをより安全に管理でき、発行者との信頼関係を強化します。

認可コードフロー『Authorization Code Flow』

OAuth 2.0に基づく標準的な認可プロセスで、ユーザーが発行者にリダイレクトされ、認可コードを取得します。その後、クライアントはこのコードを使用してアクセストークンを取得し、クレデンシャルを発行者から受け取ります。このプロセスは、ユーザーのプライバシーを保護しつつ、セキュアなクレデンシャル発行を実現します。

発行フローの特徴

🔐 セキュリティ重視設計

  • 事前認可コードフローによる二重認証
  • DIDベースの暗号学的証明
  • エンドツーエンド暗号化

⚡ 柔軟な認証方式

  • 事前認証: PINコードによる簡易認証(学生証発行等)
  • 認可コード: OAuth2.0ベースの認可コードフロー

提示フロー(Holder → Verifier)

VerifiablePresentation提示の全体的なビジネスプロセス

sequenceDiagram
    participant V as 🔍 Verifier<br/>(検証者)
    participant W as 📱 Wallet App<br/>(Holderアプリ)
    participant S as 🔧 Wallet SDK
    participant L as 📦 ローカルストレージ

    note over V,L: OpenID4VP プロトコルフロー

    %% 1. リクエスト段階
    V->>+W: 1. VPリクエスト<br/>(QRコード・ディープリンク)
    W->>+S: 2. リクエスト解析
    S->>S: 3. 要求事項分析<br/>(PD/DCQL)

    %% 2. 証明書選択段階
    S->>+L: 4. 保存済みVC検索
    L-->>-S: 5. 該当VC一覧
    S-->>W: 6. 選択可能VC表示
    W->>S: 7. ユーザーVC選択<br/>(選択的開示含む)

    %% 3. プレゼンテーション作成段階
    S->>+L: 8. 選択VCデータ取得
    L-->>-S: 9. 暗号化VC取得
    S->>S: 10. VC復号・検証

    alt SD-JWT形式(選択的開示)
        S->>S: 11a. ディスクロージャー選択
        S->>S: 12a. 最小限開示VP作成
    else JWT-VC形式
        S->>S: 11b. 完全開示VP作成
    end

    S->>S: 13. VP署名(一時キー)

    %% 4. 提示段階
    S->>+V: 14. VP提示
    V->>V: 15. VP検証<br/>(署名・発行者・有効性)
    V-->>-S: 16. 検証結果・リダイレクト
    S-->>-W: 17. 提示完了通知

    note over V,L: ✅ プライバシー保護された証明完了

提示フローの特徴

🔒 プライバシー保護優先

  • 選択的開示による情報最小化
  • 一時キーによるプレゼンテーション署名
  • ローカル処理によるデータ漏洩防止

🎯 柔軟な要求対応

  • Presentation Definition(PD)準拠
  • DC Query Language(DCQL)対応
  • 複数証明書の組み合わせ提示

⚡ シームレスな体験

  • QRコード・ディープリンクによる簡単開始
  • リアルタイム検証フィードバック
  • 自動リダイレクトによる継続的体験

データの流れとアーキテクチャ

セキュリティレイヤー

graph TB
    subgraph "セキュリティ多層防御"
        direction TB

        subgraph Network["🌐 ネットワークレイヤー"]
            HTTPS["HTTPS/TLS"]
            OAuth["OAuth 2.0"]
            OID4VCI["OpenID4VCI"]
            OID4VP["OpenID4VP"]
        end

        subgraph Application["🔧 アプリケーションレイヤー"]
            JWT["デジタル署名"]
            Crypto["暗号化アルゴリズム"]
            DID["分散型ID証明"]
            Proof["データ整合性証明"]
        end

        subgraph Device["📱 デバイスレイヤー"]
            KeyChain["ハードウェア鍵管理"]
            Encryption["データ暗号化"]
            Storage["セキュアストレージ"]
        end

        subgraph Privacy["🔒 プライバシーレイヤー"]
            LocalFirst["ローカルファースト"]
            SelectiveDisclosure["選択的開示"]
            MinimalData["データ最小化"]
        end
    end

    Network --> Application
    Application --> Device
    Device --> Privacy

    classDef networkClass fill:#e3f2fd,stroke:#1976d2
    classDef appClass fill:#f3e5f5,stroke:#7b1fa2
    classDef deviceClass fill:#e8f5e8,stroke:#388e3c
    classDef privacyClass fill:#fff3e0,stroke:#f57c00

    class Network,HTTPS,OAuth,OID4VCI,OID4VP networkClass
    class Application,JWT,Crypto,DID,Proof appClass
    class Device,KeyChain,Encryption,Storage deviceClass
    class Privacy,LocalFirst,SelectiveDisclosure,MinimalData privacyClass

SDK導入による価値

🚀 開発効率の大幅向上

  • 迅速な実装: 複雑なDID/VC仕様を抽象化し、シンプルなAPIで実装可能
  • 標準準拠: W3C標準とOpenID4VCI/VPに準拠し、相互運用性を保証
  • 技術的負荷軽減: 暗号化、署名検証、セキュリティ機能をSDKが自動処理

💰 コスト削減とリスク軽減

  • 開発コスト削減: ゼロから実装する場合と比較して大幅な開発工数削減
  • セキュリティリスク軽減: 実績ある暗号化技術とセキュリティベストプラクティスを内包
  • 保守コスト削減: 国際標準準拠により、将来的な仕様変更への対応が容易

🎯 競合優位性の獲得

  • 市場投入速度: 他社に先駆けてデジタル証明書機能を提供可能
  • 技術的信頼性: 国際標準準拠による技術的な信頼性の確保
  • スケーラビリティ: 複数DID管理、大量証明書処理に対応した拡張性

🔧 柔軟な統合オプション

  • 段階的導入: 既存システムを維持しながら段階的に導入可能
  • カスタマイズ性: 用途に応じた認証方式(事前認証/認可コード)の選択

開発者フレンドリーなSDK

Wallet SDKは、複雑なDID/VC技術をシンプルなAPIで提供し、開発者が本来のビジネス価値創造に集中できる環境を実現します。


技術的詳細について

本SDKの技術的基盤について詳しく知りたい場合は、「技術基盤・概念」をご参照ください。国際標準への準拠、暗号学的セキュリティ、Self-Sovereign Identityの革新性について詳しく解説しています。