検証可能なクレデンシャル・データモデル v2.1

W3C作業草案

この文書の詳細
このバージョン:
https://www.w3.org/TR/2026/WD-vc-data-model-2.1-20260905/
最新の公開バージョン:
https://www.w3.org/TR/vc-data-model-2.1/
最新の編集者草案:
https://w3c.github.io/vc-data-model/
履歴:
https://www.w3.org/standards/history/vc-data-model-2.1/
コミット履歴
編集者:
Manu Sporny (Digital Bazaar) (v1.0 - v2.1)
Ted Thibodeau Jr (OpenLink Software) (v2.0 - v2.1)
Ivan Herman (W3C) (v2.0 - v2.1)
元編集者:
Grant Noble (ConsenSys) (v1.0)
Dave Longley (Digital Bazaar) (v1.0)
Daniel C. Burnett (ConsenSys) (v1.0)
Brent Zundel (Evernym) (v1.0)
Kyle Den Hartog (MATTR) (v1.1)
Gabe Cohen (Block) (v2.0)
Michael B. Jones (招待専門家) (v2.0)
著者:
Manu Sporny (Digital Bazaar) (v1.0 - v2.1)
Dave Longley (Digital Bazaar) (v1.0 - v2.1)
David Chadwick (招待専門家) (v1.0 - v2.0)
Ivan Herman (W3C) (v2.0 - v2.1)
フィードバック:
GitHub w3c/vc-data-model (プルリクエスト, 新しい課題, 未解決の課題)
関連仕様:
検証可能なクレデンシャルの概要
検証可能なクレデンシャルのデータ完全性
JOSEおよびCOSEを使用した検証可能なクレデンシャルの保護
ビット文字列ステータスリスト
検証可能なクレデンシャルのレンダリング方法
検証可能なクレデンシャルの信頼度メソッド
認定エンティティ
会議:
次回予定されている 会議を表示

要約

検証可能なクレデンシャルとは、一連の 主張 を、運転免許証や学歴証明書などとして発行者が表現するための特定の方法です。この 仕様では、検証可能なクレデンシャルの拡張可能なデータモデル、 それらを改ざんから保護する方法、および これらのクレデンシャルを交換するための、発行者保有者、 ならびに検証者で構成される三者間エコシステムについて説明します。この文書では、 この仕様で説明されている技術を使用するエコシステムにおける セキュリティ、プライバシー、国際化、およびアクセシビリティに関するさまざまな考慮事項についても扱います。

この文書のステータス

この節では、この文書の公開時点における ステータスについて説明します。現在のW3C 公開文書の一覧と、この技術報告書の最新版は、 次の W3C標準および草案の 索引にあります。

この仕様に関するコメントは、いつでも歓迎します。 課題は、 GitHubに直接登録してください。 それが不可能な場合は、 public-vc-comments@w3.orgに 送信してください。 (購読, アーカイブ)。

この文書は、検証可能なクレデンシャル・ワーキング グループによって、 次の 勧告 トラックを使用する作業草案として公開されました。

作業草案として 公開されることは、 W3Cおよびその会員による承認を意味しません。

この文書は草案であり、他の 文書によっていつでも更新、置換、または廃止される可能性があります。この文書を 作業中の文書以外のものとして引用することは不適切です。

この文書は、 次の W3C 特許 方針の下で運営されるグループによって作成されました。 W3Cは、 すべての特許開示を掲載した公開リストを管理しています。 これは、グループの成果物に関連して行われた 開示をまとめたものです。そのページには、 特許を開示するための手順も含まれています。ある個人が実際に 認識している特許に 必須クレームが含まれていると考える場合、その個人は 次の規定に従って情報を開示しなければなりません。 W3C特許方針の第6節

この文書には、 2025年8月18日付のW3Cプロセス文書が適用されます。

1. はじめに

この節は非規範的です。

クレデンシャルは私たちの日常生活に不可欠です。運転免許証は 自動車を運転する能力を証明し、大学の学位は教育水準を 示し、政府発行のパスポートは国境を越えて移動する際の国籍を 証明します。この仕様は、この種のクレデンシャルをウェブ上で 暗号学的に安全で、プライバシーを尊重し、機械で検証可能な方法で 表現するメカニズムを提供します。これらの クレデンシャルは物理世界で使用されるとき、私たちに利点をもたらします。 しかし、 ウェブ上での利用は依然として実現が困難です。

現在、学歴、医療 データ、金融口座の詳細、および第三者によって検証された その他の個人情報を、ウェブ上で機械可読な方法により表現することは困難です。デジタル クレデンシャルをウェブ上で表現することの難しさは、 物理的なクレデンシャルが現実世界で提供するものと 同じ利点を得る妨げとなっています。

検証可能なクレデンシャルに関連する概念に詳しくない人のために、以下の節では 次の概要を示します。

この仕様の策定に用いられたユースケースと要件については、 検証可能な クレデンシャルのユースケース [VC-USE-CASES]を参照してください。

1.1 検証可能な クレデンシャルとは何か?

この節は非規範的です。

物理世界では、クレデンシャルは次の情報で構成される場合があります。

検証可能なクレデンシャルは、情報をデジタルで表現したものです(すなわち、 クレデンシャルであり、これは1つ以上の主張をまとめたもので、 発行者によって作成されます)。これは、可搬性のある改ざん検知可能な形式にでき、 作成者の真正性も検証できます。そのためには、 セクション4.12 保護メカニズムで説明する保護メカニズムのいずれかを使用します。物理的な クレデンシャルで表現できる情報は、デジタル クレデンシャルでも表現でき、したがって検証可能なクレデンシャルでも表現できます。デジタル署名などの技術を 使用することで、検証可能なクレデンシャルを、物理的なものより 改ざん検知可能で信頼できるものにできます。 検証可能なクレデンシャルのバーコード v1.0を使用すれば、 物理的なクレデンシャルにも 検証可能なクレデンシャルを含め、同じ利点を実現できます。

検証可能なクレデンシャルの保有者は、検証可能なクレデンシャルから 検証可能なプレゼンテーションを生成し、その後、これらの 検証可能なプレゼンテーション検証者と共有して、特定の特性を持つ 検証可能なクレデンシャルを所有していることを証明できます。

検証可能なクレデンシャル検証可能なプレゼンテーションはどちらも 迅速に送信できるため、離れた場所との間で信頼を確立する際には、物理的な 同等物より便利です。

この仕様は、デジタル クレデンシャルを表現しやすくすると同時に、この目標と複数の プライバシー保護目標との両立も目指しています。デジタル情報の永続性と、 異なるデジタルデータ源を容易に収集して関連付けられることは、 プライバシー上の懸念を生じさせます。検証可能で容易に 機械可読なクレデンシャルの使用は、この懸念をさらに悪化させるおそれがあります。さらに、 物理的なクレデンシャルで使用されるセキュリティ対策(ホログラムや 透かしなど)は少なくとも多くの人に馴染みがありますが、デジタル クレデンシャルを保護する暗号メカニズムは、専門家でない人には 理解または評価することが困難な場合があります。この文書では、 プライバシーに関する考慮事項で、これらの問題のいくつかを概説し、 検証可能なクレデンシャル・データモデルの脅威 モデルで詳細に分析して、それぞれに対する対応策を説明します。 ゼロ知識証明などのプライバシー強化技術を使用して、 このデータモデルを利用する方法の例も、この文書全体で 提供されています。

検証可能なクレデンシャルおよび 検証可能なプレゼンテーションという用語の「検証可能な」は、 クレデンシャル またはプレゼンテーションが、この文書で定義する検証検証者によって実行できる という特性を指します。検証によって確認されるのは、 検証可能なクレデンシャルまたは検証可能なプレゼンテーションが、その発行者または提示者による真正かつ 最新の言明であることのみです。内部に符号化された 主張が真であることを意味するものではありません。それらの主張に依拠する前に、 検証者は別途妥当性検証を行います。 これは、独自の方針に従って、 発行者がそれらの主張を行うことについて信頼されているかどうか、 および主張検証者の目的に適合するかどうかを判断するものです。 このプロセスについては、附属書B. 妥当性検証で詳しく説明します。

1.2 エコシステムの概要

この節は非規範的です。

この節では、検証可能なクレデンシャルの利用が想定されるエコシステムにおける、中核的な関係者の役割と、 それらの間の関係について説明します。役割とは、さまざまな 方法で実装される可能性のある抽象概念です。役割を分離することで、標準化すべき インターフェイスとプロトコルが明らかになります。この仕様では、次の 役割を導入します。

保有者
エンティティが、1つ以上の検証可能なクレデンシャルを所有し、そこから検証可能なプレゼンテーションを生成することによって果たす可能性のある役割です。保有者は 多くの場合、保有する検証可能なクレデンシャル主体ですが、 常にそうとは限りません。たとえば、パスポートの保有者は通常、その パスポートによって識別される人物です。保有者は自身のクレデンシャルクレデンシャル・リポジトリに保存します。保有者の例には、 学生、従業員、および 顧客が含まれます。
発行者
エンティティが、1つ以上の 主体について主張を行い、それらの 主張から検証可能なクレデンシャルを作成し、 その検証可能なクレデンシャル保有者へ送信することによって果たせる役割です。発行者の例には、 企業、非営利団体、業界団体、政府、 および個人が含まれます。
主体
主張の対象となるものです。主体の例には、人間、 動物、および物が含まれます。
検証者
エンティティが、1つ以上の検証可能なクレデンシャルを、必要に応じて検証可能なプレゼンテーション内で受け取り、それらに対して 検証を実行することによって果たす役割です。検証によって、 クレデンシャルまたはプレゼンテーションの真正性と 最新性が確認されます。内部の 主張が真であるか、または受け入れ可能であるかの判断は、 妥当性検証と呼ばれる別のプロセスです。検証者は 独自の方針に従ってこれを実行します( 附属書B. 妥当性検証を参照)。検証者の例には、応募者の 学歴証明書を確認する雇用主、 政府発行の身分証明クレデンシャルを確認する警備担当者、および 訪問者が特定の組織によって発行された会員資格クレデンシャルを保有していることを確認するウェブサイトが含まれます。
検証可能データレジストリ
データベースや分散型台帳などのシステムが、 識別子、 検証マテリアル、およびその他の関連データの作成と検証を仲介することで果たす可能性のある役割です。 そのようなデータには、 検証可能なクレデンシャルのスキーマや失効 レジストリなどがあります。一部の 構成では、主体について相互に関連付け可能な識別子が必要になる場合があります。UUIDや 検証マテリアルのレジストリなど、一部の レジストリは、識別子の名前空間としてのみ 機能する場合があります。検証可能データレジストリの例には、 信頼できるデータベース、分散型データベース、政府のIDデータベース、 および分散型台帳が含まれます。多くの場合、エコシステムでは複数種類の検証可能データレジストリが 使用されます。
クレデンシャルが
               発行者から保有者へ流れ、
               プレゼンテーションが保有者から検証者へ流れ、
               三者すべてが論理的な
               検証可能データレジストリの情報を利用できることを示す図
1 この仕様の基礎となる役割と情報の流れ。

1に示すように、どの役割も 検証可能データレジストリを使用して識別子を検証できます。 たとえば、発行者は、 識別子に関連付けられた検証マテリアルをレジストリから取得し、 対応する秘密暗号鍵を所有していることを エンティティに証明させることで、その識別子が特定のエンティティに属することを 検証できます。

注記: 他の種類の エコシステムも存在する

上記の1は、この仕様の残りの概念を具体化するための エコシステムの例を示しています。保護された環境や 独自システムなど、他のエコシステムも存在し、そこでも 検証可能なクレデンシャルが利点をもたらします。

このエコシステムは、典型的な二者間モデルやフェデレーション型ID プロバイダーモデルとは異なります。IDプロバイダーは、IdPと略されることもあり、 保有者のID情報を作成、維持、管理するとともに、フェデレーションまたは分散ネットワーク内の依拠当事者の アプリケーションに認証サービスを提供するシステムです。フェデレーション型 IDモデルでは、保有者のIDは、ID プロバイダーと密接に結び付いています(ただし、保有者はいくつでもIDを持つことができ、 それぞれに独自の識別子とIDプロバイダーが関連付けられる可能性があることに注意してください。これらは、 プライバシー、業務用と個人用の区別、およびその他の懸念への対応に適している場合があります)。 依拠当事者が、識別された保有者に関する情報を必要とするたびに、 その情報をIDプロバイダーから直接取得します。そのため、IDプロバイダーは そのようなすべてのトランザクションに参加し、その内容を知ることになります。これに対し、この 仕様では、ID プロバイダーの概念を発行者保有者という2つの異なる概念に分離した三者間モデルを説明します。発行者は、1回のやり取りで 保有者検証可能なクレデンシャルを提供し、その後 保有者は、別のやり取りでそれらを 検証者に提示します。そのやり取りに発行者は 関与せず、発行者がその存在を認識する必要さえありません。この 仕様では、これらの概念を他の仕様と比較または対応付ける場合を除き、 「IDプロバイダー」、「フェデレーション型ID」、または 「依拠当事者」という用語の使用を避けています。

注記: 主体が 常に保有者であるとは限らない

多くの場合、検証可能なクレデンシャルの保有者主体ですが、 そうでない場合もあります。たとえば、親(保有者)が 子供(主体)の検証可能なクレデンシャルを保有したり、ペットの飼い主( 保有者)がペット( 主体)の検証可能なクレデンシャルを保有したりする場合があります。これらの例外的な事例について詳しくは、 検証可能なクレデンシャル実装ガイドライン 1.0 主体と保有者の関係の節を参照してください。

検証可能なクレデンシャルのエコシステムと 具体的なライフサイクルの例についてさらに詳しくは、 検証可能なクレデンシャルの概要 v1.0 [VC-OVERVIEW]を参照してください。

1.3 適合性

非規範的と明記された節と同様に、この仕様に含まれるすべての作成ガイドライン、図、例、および注記は 非規範的です。この仕様のそれ以外のすべての部分は規範的です。

この文書におけるキーワードMAYMUSTMUST NOTOPTIONALRECOMMENDEDREQUIREDSHOULD、およびSHOULD NOTは、 ここに示すように、すべて 大文字で表記される場合に限り、 BCP 14 [RFC2119] [RFC8174]の説明に従って 解釈されます。

適合文書とは、 コンパクト化されたJSON-LD 文書であり、この仕様にある関連するすべての「MUST」の記述に 準拠するものです。具体的には、セクション4. 基本概念5. 高度な 概念、および この文書の6. 構文にある関連する規範的な「MUST」の記述は、適用されなければなりません。 適合文書は、メディアタイプがapplication/vcである検証可能なクレデンシャル、 またはメディアタイプがapplication/vpである検証可能なプレゼンテーションのいずれかでMUSTなければなりません。 適合文書は、セクション 4.12 保護メカニズムで説明されている、少なくとも1つの保護メカニズムによってMUST保護されなければなりません。

適合する発行者実装は、 適合文書を生成し、その生成する 適合文書に必須プロパティをすべてMUST 含めなければならず、さらに、その生成する適合文書を、セクション 4.12 保護メカニズムで説明されている保護メカニズムを使用してMUST保護しなければなりません。

適合する検証者実装は、 適合文書を処理し、 セクション4.12 保護メカニズムで説明されているように、 適合文書に対して検証MUST実行しなければなりません。また、各 必須プロパティが、そのプロパティに関する規範的要件を満たしていることをMUST確認しなければならず、 非適合文書が検出された場合は、エラーをMUST生成しなければなりません。

この仕様には、必須プロパティと任意プロパティの両方が含まれています。任意 プロパティは、適合する発行者実装および 適合する検証者実装によってMAY無視される場合があります。

この文書には、インラインコメント(//)や、省略記号 (...)を使用して例にほとんど価値を加えない情報を示すなど、 JSONでは無効な文字を含む例もあります。 この情報を有効な文書として使用する場合、実装者は これらの内容を削除するよう注意してください。

注記: 英語の人間可読 テキストは例示用である

この文書全体で提供される例には、 namedescriptionなど、各 仕様例の概念を簡単にするために英語の値を持つ説明的プロパティが含まれています。これらの例は、 国際的な利用に必要なデータ構造を必ずしも反映していません。詳細については、 セクション9. 国際化に関する考慮事項で説明します。

2. 用語

この仕様では、概念を説明するために次の用語を使用します。

主張
主体について行われる言明。
クレデンシャル
発行者によって行われる、1つ以上の主張の集合。クレデンシャル内の主張は、 異なる主体に関するものでもかまいません。この仕様で使用する クレデンシャルの定義は、 NISTによるクレデンシャルの 定義とは異なります。
分散型識別子
DIDとも呼ばれる可搬型のURLベース識別子であり、 エンティティに関連付けられます。これらの識別子は多くの場合、 検証可能なクレデンシャルで使用され、主体に関連付けられます。これにより、 検証可能なクレデンシャルを、ある クレデンシャル・リポジトリから別のリポジトリへ、 クレデンシャルを再発行することなく容易に移行できます。 DIDの例として、did:example:123456abcdefがあります。詳細については、 分散型識別子 (DID) v1.0仕様を参照してください。
デフォルトグラフ
名前付きグラフの一部として明示されていない、すべての主張を含む グラフ
エンティティ
言明において抽象名詞または具象名詞として参照できるあらゆるもの。 エンティティには、人、組織、物理的な物、 文書、抽象概念、架空の人物、任意のテキストなどが含まれますが、これらに限定されません。どの エンティティも、実行可能であればエコシステム内で役割を果たせます。ただし、 一部のエンティティは本質的に行動できないことに注意してください。たとえば、文字列"abc"は クレデンシャルを発行できません。
グラフ
主体と、 それらから他の主体またはデータへの関係で構成される情報ネットワークを形成する、主張の集合。各主張は、 グラフの一部です。名前付きグラフの場合は明示的であり、 デフォルトグラフの場合は暗黙的です。
保有者
エンティティが、1つ以上の 検証可能なクレデンシャルを所有し、そこから検証可能なプレゼンテーションを 生成することで果たす可能性のある役割。保有者は多くの場合、保有する 検証可能なクレデンシャル主体ですが、常にそうとは限りません。保有者は 自身の クレデンシャルクレデンシャル・リポジトリに保存します。
発行者
エンティティが、1つ以上の 主体について主張を行い、 それらの主張から検証可能なクレデンシャルを作成し、その検証可能なクレデンシャル保有者へ送信することで果たせる役割。
名前付きグラフ
verifiableCredentialなど、特定のプロパティに関連付けられた グラフ。これらのプロパティにより、 対応するJSONオブジェクトで定義されたすべての主張を含む、個別のグラフが 生成されます。
プレゼンテーション
1人以上の 発行者によって発行された1つ以上の検証可能なクレデンシャルから導出され、特定の検証者と共有されるデータ。
クレデンシャル・ リポジトリ
ファイルシステム、ストレージ保管庫、個人用検証可能なクレデンシャルウォレットなど、保有者検証可能なクレデンシャルを保存し、それらへのアクセスを保護するソフトウェア。
選択的開示
保有者が、共有する 情報について詳細な判断を行える能力。
リンク不能な開示
プレゼンテーション検証者間で関連付けることができない種類の選択的開示
主体
主張の対象となるもの。
妥当性検証
特定の発行者による主張が、特定の用途における 検証者の業務 要件を満たしているという保証。この仕様は、 検証者が検証可能なクレデンシャルおよび検証可能なプレゼンテーションを検証する方法を定義します。また、 検証者は、 検証可能なクレデンシャル内の主張に依拠する前に、それらの妥当性を検証することも規定します。 ただし、そのような 妥当性検証の手段は多岐にわたり、この仕様の範囲外です。 検証者は、特定の主張について特定の発行者を信頼し、 どのクレデンシャル内のどの主張が自身のシステムでの利用に適しているかを判断するために、独自の 規則を適用します。
検証可能なクレデンシャル
作成者を暗号学的に 検証できる、改ざん検知可能なクレデンシャル。検証可能なクレデンシャルを使用して、 暗号学的に検証可能な 検証可能なプレゼンテーションを構築できます。
検証可能データレジストリ
データベースや分散型台帳などのシステムが、 識別子、 検証マテリアル、およびその他の関連データの作成と検証を仲介することで果たす可能性のある役割。そのようなデータには、 検証可能なクレデンシャルのスキーマや失効 レジストリなどがあります。一部の 構成では、主体について相互に関連付け可能な識別子が必要になる場合があります。UUIDや 検証マテリアルのレジストリなど、一部の レジストリは識別子の名前空間として 機能する場合があります。
検証可能な プレゼンテーション
暗号学的な検証プロセスの後にデータの作成者を信頼できるように 符号化された、改ざん検知可能な情報のプレゼンテーション。 特定の種類の検証可能なプレゼンテーションには、元の 検証可能なクレデンシャルから合成されたものの、それ自体は元のクレデンシャルを含まないデータが含まれる場合があります (ゼロ知識証明など)。
検証
検証可能なクレデンシャルまたは検証可能なプレゼンテーションが、それぞれ発行者または提示者による真正かつ最新の 言明であるかどうかの評価。 これには、クレデンシャルまたはプレゼンテーションが仕様に 適合していること、保護メカニズムの要件を満たしていること、および ステータスが存在する場合はその確認に成功することの検査が含まれます。クレデンシャルの検証は、 クレデンシャル内に符号化された主張が真であるかどうかの評価を意味しません。
検証者
エンティティが、1つ以上の 検証可能なクレデンシャルを、必要に応じて処理用の 検証可能なプレゼンテーション内で受け取ることによって果たす役割。他の 仕様では、この概念を 依拠当事者と呼ぶ場合があります。
検証マテリアル
暗号学的に 保護された情報のセキュリティを検証するために使用される情報。たとえば、暗号公開鍵は、 検証可能なクレデンシャルに関連付けられたデジタル署名の検証に使用されます。
URL
URL標準で定義されるUniform Resource Locator。一部のURLは、 参照解決すると文書などのリソースを取得できます。URLを 参照解決または取得するための規則は、そのURLのスキームによって定義されます。 URIおよびIRIという用語はウェブ開発者を混乱させると 判断されているため、この仕様では使用しません。

3. コアデータモデル

この節は非規範的です。

以下の各節では、この 仕様の基礎を形成する、主張クレデンシャルプレゼンテーション検証可能なクレデンシャル、および 検証可能なプレゼンテーションなど、コアデータモデルの概念について 概説します。

注記: クレデンシャルと 検証可能なクレデンシャルの違い

読者は、この節で説明する クレデンシャルプレゼンテーションなどの一部の概念には、 この仕様によって定義されたメディアタイプが ないことに気付くかもしれません。ただし、検証可能なクレデンシャルまたは 検証可能なプレゼンテーションという概念は、適合文書として定義され、 関連付けられたメディアタイプがあります。これらの概念の具体的な違い — クレデンシャルおよびプレゼンテーションと、検証可能なクレデンシャルおよび検証可能なプレゼンテーションとの違い — は単に、 「検証可能な」オブジェクトは暗号学的な方法で保護され、 その他のオブジェクトは保護されていないという点です。詳細については、セクション 4.12 保護メカニズムを参照してください。

3.1 主張

この節は非規範的です。

主張とは、主体についての言明です。主体とは、 主張の対象となり得るものです。主張は、 主体- プロパティ-の関係を使用して表現されます。

主体にプロパティがあり、
            そのプロパティに値がある
2 主張の基本構造。

上記の2に示す主張のデータモデルは、 強力であり、多種多様な言明の表現に使用できます。たとえば、 ある人物が特定の大学を卒業したかどうかは、下の 3のように表現できます。

PatにalumniOf
            プロパティがあり、その値はExample Universityである
3 Patが"Example University"の卒業生であることを表す基本的な主張。

個々の主張を結合して、主体に関する情報のグラフを表現できます。下の 4の例では、 PatがSamを知っているという主張と、 Samが教授として雇用されているという主張を追加して、前の例を拡張しています。

前の図にknowsという
            別のプロパティを追加したもので、その値は
            Samであり、Samには値がProfessorであるjobTitleプロパティがある
4 複数の主張を組み合わせて情報のグラフを表現できる。

ここまでで、主張と情報のグラフという概念を 紹介しました。主張を信頼するかどうかの判断に役立てるため、 グラフにはさらに多くの情報が追加されることが想定されています。

3.2 クレデンシャル

この節は非規範的です。

クレデンシャルとは、同じエンティティによって行われる、1つ以上の主張の集合です。 クレデンシャルには、 発行者、有効日 および有効期間、代表画像、検証マテリアル、ステータス 情報など、クレデンシャルの特性を説明する識別子やメタデータが含まれる場合もあります。 検証可能なクレデンシャルとは、改ざん検知可能な主張と、 誰が発行したかを暗号学的に証明するメタデータの集合です。検証可能なクレデンシャルの例には、デジタル従業員 身分証明書、デジタル運転免許証、デジタル学歴証明書などがありますが、 これらに限定されません。

検証可能な
               クレデンシャルには、クレデンシャルメタデータ、主張、
               および証明が含まれる
5 検証可能なクレデンシャルの基本構成要素。

上の5は、 検証可能なクレデンシャルの基本構成要素を示していますが、 主張を情報グラフに編成し、さらにそれらを 検証可能なクレデンシャルに編成する方法の詳細は抽象化しています。

下の6は、 検証可能なクレデンシャルのデータ完全性 1.0に基づく埋め込み証明を使用した 検証可能なクレデンシャルを、より完全に表現しています。これは少なくとも2つの情報グラフで構成されます。 これらの情報グラフの1つ目である検証可能なクレデンシャルグラフデフォルトグラフ)は、 クレデンシャルのメタデータおよびその他の主張を通じて、検証可能なクレデンシャル自体を表現します。2つ目の 情報グラフは、proofプロパティによって参照される、 検証可能なクレデンシャル証明グラフであり、個別の 名前付きグラフです。証明グラフは、 デジタル証明を表現します。この 例では、デジタル署名です。複数の情報グラフが 必要な理由に関心がある読者は、セクション 5.12 検証可能なクレデンシャルグラフを参照してください。

上部に「検証可能なクレデンシャルグラフ」の
主張の集合があり、proofプロパティ(または述語)を介して下部の「検証可能なクレデンシャル証明
グラフ」に接続された図。検証可能なクレデンシャルの主張には、主体として「Credential
123」があり、4つのプロパティを持つ。「type」の値はExampleAlumniCredential、
「issuer」はExample University、「validFrom」は2010-01-01T19:23:24Z、
credentialSubjectはPatであり、Patには値が
Example UniversityであるalumniOfプロパティもある。検証可能なクレデンシャル証明グラフには、
主体である「Signature 456」オブジェクトがあり、5つのプロパティを持つ。「type」はDataIntegrityProof、
「verificationMethod」はExample University Public Key 7、「created」は
2017-06-18T21:19:10Z、「nonce」は34dj239dsj328、「proofValue」は
「zBavE110…3JT2pq」。検証可能なクレデンシャルグラフには、
「(デフォルトグラフ)」という括弧書きも付され、検証可能なクレデンシャル証明
グラフには「(名前付きグラフ)」という括弧書きが付されている。
6 埋め込み証明を使用した、基本的な検証可能なクレデンシャルに関連付けられた情報グラフ。 検証可能なクレデンシャルのデータ完全性 1.0 [VC-DATA-INTEGRITY]に基づきます。

下の7は、6と同じ検証可能なクレデンシャルを示しますが、JOSE [VC-JOSE-COSE]を使用して保護されています。 ペイロードには単一の情報グラフが含まれます。これは、 クレデンシャルのメタデータおよびその他の主張を含む検証可能なクレデンシャルグラフです。

左側に「SD-JWT(デコード済み)」というラベルの付いたボックスがあり、
「ヘッダー」、「ペイロード」、「署名」という3つのテキストラベルが
縦方向に並んでいる図。「ヘッダー」ラベルは
矢印によって右側の別の長方形に接続されており、その
内部には6つのテキストフィールド「kid: aB8J-_Z」、「alg: ES384」、
「cty: vc」、「iss: https://example.com」、「iat: 1704690029」、「typ:
vc+sd-jwt」がある。左側の「ペイロード」ラベルは
矢印によって単一のグラフを含む別の長方形に接続されている。その
長方形には「検証可能なクレデンシャルグラフ(JSONで
シリアル化)」というラベルがある。グラフの主張には、主体として「Credential 123」があり、
4つのプロパティを持つ。「type」の値は「ExampleAlumniCredential」、
「issuer」の値は「Example University」、「validFrom」の値は
「2010-01-01T19:23:24Z」、「credentialSubject」の値は「Pat」であり、Patには
値が「Example University」である「alumniOf」プロパティもある。
最後に、左側の「署名」ラベルは
矢印によって、単一のテキストフィールド
「DtEhU3ljbEg8L38VWAfUA...」を含む別の長方形に接続されている。
7 基本的な検証可能なクレデンシャルに関連付けられた情報グラフ。 JOSEを使用した検証可能なクレデンシャルの保護 およびCOSEに基づくエンベロープ型証明を使用しています。 [VC-JOSE-COSE]。

3.3 プレゼンテーション

この節は非規範的です。

プライバシーの強化は、この仕様の主要な設計上の特徴です。そのため、この 技術を使用するエンティティが、特定の状況に適した 自身のペルソナの部分だけを表現できることが極めて重要です。自身の ペルソナの一部を表現したものを、検証可能なプレゼンテーションと呼びます。 異なるペルソナの例には、職業上のペルソナ、 オンラインゲームのペルソナ、家庭でのペルソナ、匿名のペルソナなどがあります。

検証可能なプレゼンテーションは、 保有者によって作成され、複数の検証可能なクレデンシャルからデータを表現でき、 任意の追加データを含めることもできます。これは、 検証者主張を提示するために使用されます。 検証可能なクレデンシャルを 直接提示することもできます。

プレゼンテーション内のデータは、多くの場合、同じ主体に関するものですが、 複数の発行者によって発行されている場合があります。この情報を集約することで、 人、組織、またはエンティティの一側面を表現します。

検証可能な
            プレゼンテーションには、プレゼンテーションメタデータ、検証可能な
            クレデンシャル、および証明が含まれる
8 検証可能なプレゼンテーションの基本構成要素。

上の8は、 検証可能なプレゼンテーションの構成要素を示していますが、 検証可能なクレデンシャルを情報 グラフに編成し、 さらにそれらを検証可能なプレゼンテーションに編成する方法の詳細は抽象化しています。

下の9は、 検証可能なクレデンシャルのデータ完全性 1.0に基づく埋め込み証明を使用した 検証可能なプレゼンテーションを、より完全に表現しています。 これは、少なくとも4つの情報グラフで構成されます。 これらの情報グラフの1つ目である検証可能なプレゼンテーショングラフデフォルトグラフ)は、 プレゼンテーションのメタデータを通じて、検証可能なプレゼンテーション自体を表現します。 検証可能なプレゼンテーションは、 verifiableCredentialプロパティを介して 検証可能なクレデンシャルを参照します。 このクレデンシャルは、 クレデンシャルのメタデータとその他の主張を含む自己完結型の検証可能なクレデンシャルグラフです。このクレデンシャルは、 proofプロパティを介して検証可能なクレデンシャル証明グラフを参照し、 クレデンシャルの証明(通常はデジタル署名)を表現します。 この検証可能なクレデンシャルグラフと、それにリンクされた証明グラフは、 それぞれ2つ目と3つ目の情報グラフを構成し、それぞれが個別の 名前付きグラフです。プレゼンテーションも、 proofプロパティを介して プレゼンテーション証明グラフを参照します。これは、 4つ目の情報 グラフ(別の名前付きグラフ)です。この プレゼンテーション証明グラフは、 検証可能なプレゼンテーショングラフ検証可能なクレデンシャルグラフ、および 検証可能なクレデンシャルグラフからリンクされた証明グラフのデジタル署名を表します。

上部の「検証可能なプレゼンテーショングラフ」が、proofを介して
下部の「検証可能なプレゼンテーション証明グラフ」に接続された図。検証可能な
プレゼンテーショングラフには「Presentation ABC」というオブジェクトがあり、3つのプロパティを持つ。「type」
の値はVerifiablePresentation、「termsOfUse」の値は「Do Not Archive」。
このグラフには「(デフォルトグラフ)」という括弧書きが付されている。この
グラフは、「verifiableCredential」を介して、
検証可能なクレデンシャルグラフがデフォルトグラフではなく
名前付きグラフであると注記されている点を除き、図6と同一の部分に接続されている。
検証可能なプレゼンテーション証明グラフには「Signature 8910」
というオブジェクトがあり、5つのプロパティを持つ。「type」の値は「DataIntegrityProof」、「verificationMethod」
の値は「Example Presenter Public Key 11」、「created」の値は
「2018-01-15T12:43:56Z」、「nonce」の値は「d28348djsj3239」、「proofValue」
の値は「zp2KaZ...8Fj3K=」。このグラフには、
「(名前付きグラフ)」という括弧書きが付されている
9 検証可能なクレデンシャルのデータ完全性 1.0に基づく埋め込み証明を使用する、基本的な検証可能なプレゼンテーションに関連付けられた情報グラフ

下の10は、9と同じ検証可能なプレゼンテーションを示していますが、 [VC-JOSE-COSE]に基づくエンベロープ型 証明を使用しています。 ペイロードには2つの情報 グラフだけが含まれます。1つは、プレゼンテーションのメタデータを通じて検証可能なプレゼンテーションを表現する検証可能なプレゼンテーション グラフで、もう1つは、 verifiableCredential プロパティによって参照される、対応する 検証可能なクレデンシャルグラフです。 検証可能なクレデンシャルグラフには、 data: URL [RFC2397]を介して、 7に示すエンベロープ型証明で保護された 検証可能なクレデンシャルを参照する、単一の EnvelopedVerifiableCredential インスタンスが含まれます。

左側に「JWT(デコード済み)」というラベルの付いたボックスがあり、
「ヘッダー」、「ペイロード」、「署名」という3つのテキストラベルが
縦方向に並んでいる図。「ヘッダー」ラベルは
矢印によって右側の別の長方形に接続されており、その
内部には6つのテキストフィールド「kid: aB8J-_Z」、「alg: ES384」、
「cty: vc」、「iss: https://example.com」、「iat: 1704690029」、「typ:
vp+sd-jwt」がある。左側の「ペイロード」ラベルは
矢印によって、縦方向に並んだ関連する2つの
グラフで構成される別の長方形に接続されている。グラフは
「verifiableCredential」というラベルの付いた矢印によって接続されている。2つのグラフにはそれぞれ「検証可能な
プレゼンテーショングラフ(JSONでシリアル化)」および「検証可能なクレデンシャル
グラフ(JSONでシリアル化)」というラベルがある。長方形内の上側の
グラフには「Presentation ABC」というオブジェクトがあり、3つのプロパティを持つ。「type」
の値はVerifiablePresentation、「termsOfUse」の値は「Do Not
Archive」。下側のグラフには、
主体として「data:application/vc+sd-jwt,QzVjV...RMjU」があり、
単一のプロパティを持つ。「type」の値は`EnvelopedVerifiableCredential`。
最後に、左側の「署名」ラベルは
矢印によって、単一のテキストフィールド
「XaOOh4ljklxH7L99RTVSfOl...」を含む別の長方形に接続されている。
10 JOSEを使用した検証可能なクレデンシャルの保護 およびCOSEに基づくエンベロープ型証明を使用する、基本的な検証可能なプレゼンテーションに関連付けられた情報グラフ。data: URLは、 7に 示される 検証可能なクレデンシャルを参照します。
注記: プレゼンテーションには 複数の検証可能なクレデンシャルを含められる

多くの場合は関連しているものの、関連している必要はない異なる主体に関する複数の クレデンシャルを利用して、 大学のクレデンシャルの集合などのプレゼンテーションを作成できます。これは、 verifiableCredentialプロパティを使用して複数の検証可能なクレデンシャルを参照することで実現します。 詳細については、附属書E. 検証可能なプレゼンテーションの追加図を 参照してください。

注記: プレゼンテーションは 発行者および検証者も提示できる

セクション1.2 エコシステムの概要で説明したように、 エンティティは、特定のクレデンシャル交換に参加する際に 1つ以上の役割を担えます。 通常は保有者プレゼンテーションを生成することが想定されますが、 発行者または検証者が、 保有者に自身を識別させるためにプレゼンテーションを生成する場合もあります。これは、 保有者が、 検証可能なプレゼンテーションの一部として機密情報を 引き渡す前に、発行者または検証者について、 より高い保証を必要とする場合に起こり得ます。

4. 基本概念

この節では、この文書の後半にあるセクション5. 高度な概念に備えて、 この仕様の基本概念をいくつか紹介します。

4.1 利用を開始する

この節は非規範的です。

この仕様は、新しい種類の 検証可能なクレデンシャルのプロトタイプを容易に作成できるよう設計されています。開発者は、以下の テンプレートをコピーして、一般的な 検証可能なクレデンシャル用ツールに貼り付けることで、プロトタイプクレデンシャルの発行、 保有、および 検証を開始できます。

開発者は、以下のMyPrototypeCredentialを、作成したいクレデンシャルの型に 変更します。検証可能なクレデンシャルは主体について記述するため、 credentialSubjectオブジェクト内の各プロパティと値の組は、 クレデンシャル主体の特定のプロパティを表します。開発者がこれらの プロパティと値の組をいくつか追加した後、変更したオブジェクトを 適合する発行者実装に送信すると、開発者向けの検証可能なクレデンシャルが 作成されます。プロトタイプ作成の観点では、開発者が 行う必要があるのはこれだけです。

1: 検証可能なクレデンシャルのプロトタイプを作成するための テンプレート
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "type": ["VerifiableCredential", "MyPrototypeCredential"],
  "credentialSubject": {
    "mySubjectProperty": "mySubjectValue"
  }
}

すべてのクレデンシャルプロパティが安定した後、他の開発者との 相互運用性を促進するため、安定したURLで語彙ファイルとコンテキストファイルを生成し、 公開することが推奨されます。その後、上記の https://www.w3.org/ns/credentials/examples/v2 URLを、 ユースケース固有のコンテキストURLに置き換えます。この プロセスについては、セクション5.2 拡張性で扱います。また、 開発者は、自身のユースケースに適合する既存の語彙ファイルとコンテキストファイルを 再利用できます。再利用可能なリソースについては、検証可能なクレデンシャルの拡張機能を 調べることができます。

4.2 検証可能なクレデンシャル

検証可能なクレデンシャルは、1つ以上の 主体のプロパティと、クレデンシャル自体のプロパティを表現するために使用されます。この仕様では、 検証可能なクレデンシャルについて、次のプロパティを定義します。

@context
セクション4.3 コンテキストで定義します。
id
セクション4.4 識別子で定義します。
type
セクション4.5 で定義します。
name
セクション4.6 名前と説明で定義します。
description
セクション4.6 名前と説明で定義します。
issuer
セクション4.7 発行者で定義します。
credentialSubject
セクション4.8 クレデンシャル主体で定義します。
validFrom
セクション4.9 有効期間で定義します。
validUntil
セクション4.9 有効期間で定義します。
status
セクション4.10 ステータスで定義します。
credentialSchema
セクション4.11 データスキーマで定義します。
refreshService
セクション5.4 更新で定義します。
termsOfUse
セクション5.5 利用条件で定義します。
evidence
セクション5.6 証拠で定義します。

検証可能なクレデンシャルには、セクション5.2 拡張性で定義する拡張メカニズムを使用して、 追加のプロパティを持たせることができます。

4.3 コンテキスト

2つのソフトウェアシステムがデータを交換する必要がある場合、両方のシステムが 理解できる用語を使用する必要があります。2人の人間が、同じ言語を使用することで 効果的に意思疎通する方法を考えてください。その言語では、"名前"や "ウェブサイト"などの使用する語が、どちらの人にとっても同じ意味を持ちます。これは、 会話のコンテキストと呼ばれることがあります。この仕様では、 通信を行うコンテキストを確立することで、ソフトウェアシステムについて同様の結果を得るために 同様の概念を使用します。

検証可能なクレデンシャルおよび検証可能なプレゼンテーションを処理するソフトウェアシステムは、 各用語にURLを使用して用語を識別します。ただし、 それらのURLは長く、人間にとってあまり使いやすくない場合があり、短く 人間にとって使いやすい別名の方が役立つことがあります。この仕様では、 @context プロパティを使用して、短い別名をURLに対応付けます。

検証可能なクレデンシャルおよび検証可能なプレゼンテーションMUST@context プロパティを含めなければなりません。アプリケーション開発者はMUST、 アプリケーションで使用されるすべてのJSON-LD コンテキストを、少なくともアプリケーションで使用する用語の 意味に影響する範囲で理解しなければなりません。そのためのメカニズムの1つは、 検証可能なクレデンシャルのデータ完全性 1.0仕様の コンテキストの検証に関する節で 説明されています。この仕様を基礎とする他の仕様はMAY、JSON-LDコンテキストを セクション5.3 関連リソースの完全性で説明する relatedResource機能または実質的に同等の メカニズムによって完全性保護することを要求できます。

@context
@context プロパティの値はMUST、 最初の項目が値 https://www.w3.org/ns/credentials/v2を持つURLである 順序付き集合でなければなりません。 順序付き集合内の後続項目はMUSTURLとオブジェクトの任意の組み合わせで構成され、それぞれが JSON-LDコンテキストとして処理可能でなければなりません。
2: @contextプロパティの使用
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/58473",
  "type": ["VerifiableCredential", "ExampleAlumniCredential"],
  "issuer": "did:example:2g55q912ec3476eba2l9812ecbfe",
  "validFrom": "2010-01-01T00:00:00Z",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "alumniOf": {
      "id": "did:example:c276e12ec21ebfeb1f712ebc6f1",
      "name": "Example University"
    }
  }
}

上記の例では、基本コンテキストのURLhttps://www.w3.org/ns/credentials/v2)を使用して、データ交換が 検証可能なクレデンシャルに関するものであることを確立します。この概念については、 セクション5.2 拡張性でさらに 詳しく説明します。https://www.w3.org/ns/credentials/v2で利用可能なデータは、 永続的にキャッシュできる静的 文書です。その処理手順については、附属書 C.1 基本コンテキストで説明します。検証可能なクレデンシャル・データモデルに関連する 人間可読な語彙文書は、 https://www.w3.org/2018/credentials/で利用できます。

2番目のURLhttps://www.w3.org/ns/credentials/examples/v2)は、 例を 示すために使用されます。実装は、試験運用システムや実稼働システムなど、 その他の目的でこのURLを使用しないことが想定されています。

注記: @contextについて詳しくは、 JSON-LDを参照してください。

@context プロパティについては、 JSON-LD 1.1仕様の セクション3.1: コンテキストでさらに詳しく説明されています。

4.4 識別子

人、製品、 組織など、特定のものについて言明を表現する場合、そのものにグローバルに一意な識別子を使用すると便利です。 グローバルに一意な識別子により、他者も 同じものについて言明を表現できます。この仕様では、そのような識別子に使用する任意のid プロパティを定義します。id プロパティを使用すると、 検証可能なクレデンシャル内で特定のものについて言明を表現できます。このプロパティは、 発行者検証可能なクレデンシャル内のオブジェクトを表現するとき、または 保有者検証可能なプレゼンテーション内のオブジェクトを表現するときに設定します。id プロパティは、 その識別子によって識別される特定のものについて他者が言明を表現するときに 使用することが想定される識別子を表します。id値の例には、 UUID(urn:uuid:0c07c1ce-57cb-41af-bef2-1b932b986873)、HTTP URL (https://id.example/things#123)、DID(did:example:1234abcd)があります。

注記: あらゆる種類の識別子は 関連付け可能性を高める

仮名性が必要な場合、識別子が有害になる可能性があることに 開発者は留意してください。そのようなシナリオを検討する際は、 検証可能なクレデンシャル・データモデル脅威モデルの 識別子に基づく 関連付けを注意深く読むことが推奨されます。 その脅威モデルには、プライバシー上の懸念を生じさせる その他の種類のアクセスおよび関連付けメカニズムも記載されています。 プライバシーが極めて重要な考慮事項である場合は、 id プロパティを省略できます。一部のユースケースでは、 id プロパティが不要であるか、明示的に省略する必要があります。同様に、 公開解決可能なURLとその他の形式の識別子のどちらを選択するかにも 特別な注意を払う必要があります。公開解決可能なURLは、検証と相互運用を 容易にしますが、慎重に使用しない場合、 機密である可能性のある情報へのアクセスを意図せず許可することもあります。

id
id プロパティOPTIONALです。存在する場合、 id プロパティの値は、 参照解決可能であってもよい単一のURLMUSTなければなりません。 id内のURLには、参照解決可能な場合に idに関する機械可読情報を含む文書が得られるURLを使用することが RECOMMENDEDされます。
3: idプロパティの使用
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": ["VerifiableCredential", "ExampleDegreeCredential"],
  "issuer": "https://university.example/issuers/565049",
  "validFrom": "2010-01-01T00:00:00Z",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  }
}
application/vc
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ],
  "issuer": "https://university.example/issuers/565049",
  "validFrom": "2010-01-01T00:00:00Z",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  },
  "proof": {
    "type": "DataIntegrityProof",
    "created": "2026-09-05T21:09:22Z",
    "verificationMethod": "did:key:zDnaeqpc578Kg3k9asdXLMhsQSjh8HMPp3ip3miiWZUUhsv9p",
    "cryptosuite": "ecdsa-rdfc-2019",
    "proofPurpose": "assertionMethod",
    "proofValue": "z5amhaLc2HywY7CB5z6UFqXLrHDcXjSm4T6JsLcy4uxjf39kdRkvxAY4xHSHhZobSZAf9amTcbyKdhtmfyLAtba2m"
  }
}
application/vc
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ],
  "issuer": "https://university.example/issuers/565049",
  "validFrom": "2010-01-01T00:00:00Z",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  },
  "proof": {
    "type": "DataIntegrityProof",
    "created": "2026-09-05T21:09:22Z",
    "verificationMethod": "did:key:zDnaee6cRuNdNecab7A7cnbb6w5xovYRWxYirEHstya3usouK",
    "cryptosuite": "ecdsa-sd-2023",
    "proofPurpose": "assertionMethod",
    "proofValue": "u2V0AhVhAaa2xB7uvaVU45J2B464rmd3kx-QdQplIjUCPVS6xPla9cQ5cghCB8AkglwSBp-C-7GuqR2UgAqOQHJdGNkNdiVgjgCQD834RQUfUmZHshkJZ1Lb5L9q-WDizWanxekkIflcv6rZYIMmf3HbxMF3WhTn238aW1e1xgpZ7ZZz8KyzGznwFm17KhVhAXIl0Si7hASRY-Pit02JvKkdPshNBJ173cjc_SR2OjPFwRP2xk6m5u-M_ilIopxzvA0x8_qq4fNHr51sMJfzVulhAZf7JZOgYSxqpQS8KbTd7BH7tOQSdvp9vVzfIo42V3nPHVc5uvsBiU1tojwAv3SWkDzlhK820GM3SbeYZ136Iy1hAB-j7KmlI0jaSxkgWxwmgbq2pWI9lIjszPJGZI3n2ElHF5dsbRRpHikT_tRzQLyNnFYVq2Gl81ZMPuHsDA71G81hAYJYBuk-C2FmwbZiE-UjZ6nyFa5Mz4_vq47PK_0myc9HcIEJ9RZvYLJTFL5g820VMsfmx-uKSggR3MmotvPuALFhAZ6GEvqwHnNjeJ1wRW2NjScRuD0uVNuz-DT49swyBqpBngsQgsJC95SX_vIL4GfbXOWGaAkYOPS8CED_Tp91jT4FnL2lzc3Vlcg"
  }
}
application/vc
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ],
  "issuer": "https://university.example/issuers/565049",
  "validFrom": "2010-01-01T00:00:00Z",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  },
  "proof": {
    "type": "DataIntegrityProof",
    "verificationMethod": "did:key:zUC7JVyoNecN4arDQjjTXVSfyv1V7bwcnMUs6y2BuSeWmzarPohM5DLXAXXxkBRrpjbzZTUdrLaAVoj87nPgXktL3q8JgBvRqqHo9Z88Jfn2tXXM8Q1aTDhNgf1HYL9WEMiULnS",
    "cryptosuite": "bbs-2023",
    "proofPurpose": "assertionMethod",
    "proofValue": "u2V0ChVhQh4ZbrGO7Wg8qsyvcnGBbBoDqN-XXQ7LIbkeP13o5yHIZ8tC6ELjpJrwsGFhQL2CsAdRvyoWAPlj-hGvALc6qEvIbbrt7axyOUl_cjBTbCFhYQD3-tli9rF9b1rOCOCaDSL0zj-QnIO3TIaEobJTPayaIS1r7HKFDPyyrvPGqNF8bjgNELvoomOjpbD9JEvaGI1pYYLMBLFvXdBPRt0k4kRZk93gc0jkscNQB3wJpCXu4OPkNaVJMlX03jEKZdwQ437AaRg2tSqfzd_pbHzZq9O7FyF1fsAT1tn_tHqFT5wrUWfaGtHJRQwv6rnUS3s9HBqQB_1ggs9FRoSirDoxtxfUeUCnCOCBrv8SGNsXujNCpyodzP-uBZy9pc3N1ZXI"
  }
}
保護されたヘッダー
{
  "kid": "ExHkBMW9fmbkvV266mRpuP2sUY_N_EWIN1lapUzO8ro",
  "alg": "ES256"
}
application/vc
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ],
  "issuer": "https://university.example/issuers/565049",
  "validFrom": "2010-01-01T00:00:00Z",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  }
}
application/vc+jwt
eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMyNTYifQ .eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwiaWQiOiJodHRwOi8vdW5pdmVyc2l0eS5leGFtcGxlL2NyZWRlbnRpYWxzLzM3MzIiLCJ0eXBlIjpbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwiRXhhbXBsZURlZ3JlZUNyZWRlbnRpYWwiXSwiaXNzdWVyIjoiaHR0cHM6Ly91bml2ZXJzaXR5LmV4YW1wbGUvaXNzdWVycy81NjUwNDkiLCJ2YWxpZEZyb20iOiIyMDEwLTAxLTAxVDAwOjAwOjAwWiIsImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImlkIjoiZGlkOmV4YW1wbGU6ZWJmZWIxZjcxMmViYzZmMWMyNzZlMTJlYzIxIiwiZGVncmVlIjp7InR5cGUiOiJFeGFtcGxlQmFjaGVsb3JEZWdyZWUiLCJuYW1lIjoiQmFjaGVsb3Igb2YgU2NpZW5jZSBhbmQgQXJ0cyJ9fX0 .k8yuPc6NQWiLndySNHt-QdVNeEejlWIewg-JYY1jXxuTrMGwdV-OWu2ViwcO9FzFgFr8D6K9u73wDvZGlbsAvA
application/vc
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ],
  "issuer": "https://university.example/issuers/565049",
  "validFrom": "2010-01-01T00:00:00Z",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  }
}
application/vc+cose
d28443a10128a05901be7b2240636f6e74657874223a5b2268747470733a2f2f7777772e77332e6f72672f6e732f63726564656e7469616c732f7632222c2268747470733a2f2f7777772e77332e6f72672f6e732f63726564656e7469616c732f6578616d706c65732f7632225d2c226964223a22687474703a2f2f756e69766572736974792e6578616d706c652f63726564656e7469616c732f33373332222c2274797065223a5b2256657269666961626c6543726564656e7469616c222c224578616d706c6544656772656543726564656e7469616c225d2c22697373756572223a2268747470733a2f2f756e69766572736974792e6578616d706c652f697373756572732f353635303439222c2276616c696446726f6d223a22323031302d30312d30315430303a30303a30305a222c2263726564656e7469616c5375626aZWN0223a7b226964223a226469643a6578616d706c653a656266656231663731326562633666316332373665313265633231222c22646567726565223a7b2274797065223a224578616d706c6542616368656c6f72446567726565222c226e616d65223a2242616368656c6f72206f6620536369656e636520616e642041727473227d7d7d584028f98e4c04f487b0bbeeb5bae71bf67bcbae5ebe443b649c9b1fca40a6a9f3ed9b59e2f8bc53fe52bae0255f8648dbc16986af3ba6fbafc2fbf9f5c03bfa0c8e
eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMyNTYifQ .eyJpYXQiOjE3ODg2NDI1NjIsImV4cCI6MTc4OTg1MjE2MiwiX3NkX2FsZyI6InNoYS0yNTYiLCJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwiaXNzdWVyIjoiaHR0cHM6Ly91bml2ZXJzaXR5LmV4YW1wbGUvaXNzdWVycy81NjUwNDkiLCJ2YWxpZEZyb20iOiIyMDEwLTAxLTAxVDAwOjAwOjAwWiIsImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImRlZ3JlZSI6eyJuYW1lIjoiQmFjaGVsb3Igb2YgU2NpZW5jZSBhbmQgQXJ0cyIsIl9zZCI6WyJOaU9RYzFBS0ZwTGpFZWk0OGxfOWlXZXN1ZGg2Z2tqTTl4V0gzSDhyWnNRIl19LCJfc2QiOlsiQ2ZMLUFIbzVDVU15MVZPb2NFd1hZaWJaTzcwMklBVHo5RWhiUXZDTHVsVSJdfSwiX3NkIjpbIlVsYjJ3QXk5OW43YWtKOWl5T0dGUUFwU0FTa2NjZ29EQkFESjRHWnZWOVkiLCJWRml6R0RBVl9LYkowYWxvTXNDYThHb01lVnk0NE1reGNIanlfZGMyTE40Il19 .wax7ZArxxF9djHjgTmWdHI2yBlKhNnlYS-bMtAf0BteIA9IwB0KSU5oHcM19xNScyHnGQ7MeoR_k_GAaom841A ~WyJhRFdyLUF1TE53RGJFdURYU0lKelBRIiwgImlkIiwgImh0dHA6Ly91bml2ZXJzaXR5LmV4YW1wbGUvY3JlZGVudGlhbHMvMzczMiJd~WyJ2RW12RGFvdFROU3FmQlJvaThJektBIiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIkV4YW1wbGVEZWdyZWVDcmVkZW50aWFsIl1d~WyJIaHdvOXJaTWZJcHk4YzdvWDl3ZThRIiwgImlkIiwgImRpZDpleGFtcGxlOmViZmViMWY3MTJlYmM2ZjFjMjc2ZTEyZWMyMSJd~WyJSZFFzcW9VVVVWcnE4S1FfSjZSZENnIiwgInR5cGUiLCAiRXhhbXBsZUJhY2hlbG9yRGVncmVlIl0~
{
  "kid": "ExHkBMW9fmbkvV266mRpuP2sUY_N_EWIN1lapUzO8ro",
  "alg": "ES256"
}
{
  "iat": 1788642562,
  "exp": 1789852162,
  "_sd_alg": "sha-256",
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "issuer": "https://university.example/issuers/565049",
  "validFrom": "2010-01-01T00:00:00Z",
  "credentialSubject": {
    "degree": {
      "name": "Bachelor of Science and Arts",
      "_sd": [
        "NiOQc1AKFpLjEei48l_9iWesudh6gkjM9xWH3H8rZsQ"
      ]
    },
    "_sd": [
      "CfL-AHo5CUMy1VOocEwXYibZO702IATz9EhbQvCLulU"
    ]
  },
  "_sd": [
    "Ulb2wAy99n7akJ9iyOGFQApSASkccgoDBADJ4GZvV9Y",
    "VFizGDAV_KbJ0aloMsCa8GoMeVy44MkxcHjy_dc2LN4"
  ]
}

主張: id

SHA-256ハッシュ: Ulb2wAy99n7akJ9iyOGFQApSASkccgoDBADJ4GZvV9Y

開示: WyJhRFdyLUF1TE53RGJFdURYU0lKelBRIiwgImlkIiwgImh0dHA6Ly91bml2ZXJzaXR5LmV4YW1wbGUvY3JlZGVudGlhbHMvMzczMiJd

内容: [
  "aDWr-AuLNwDbEuDXSIJzPQ",
  "id",
  "http://university.example/credentials/3732"
]

主張: type

SHA-256ハッシュ: VFizGDAV_KbJ0aloMsCa8GoMeVy44MkxcHjy_dc2LN4

開示: WyJ2RW12RGFvdFROU3FmQlJvaThJektBIiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIkV4YW1wbGVEZWdyZWVDcmVkZW50aWFsIl1d

内容: [
  "vEmvDaotTNSqfBRoi8IzKA",
  "type",
  [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ]
]

主張: id

SHA-256ハッシュ: CfL-AHo5CUMy1VOocEwXYibZO702IATz9EhbQvCLulU

開示: WyJIaHdvOXJaTWZJcHk4YzdvWDl3ZThRIiwgImlkIiwgImRpZDpleGFtcGxlOmViZmViMWY3MTJlYmM2ZjFjMjc2ZTEyZWMyMSJd

内容: [
  "Hhwo9rZMfIpy8c7oX9we8Q",
  "id",
  "did:example:ebfeb1f712ebc6f1c276e12ec21"
]

主張: type

SHA-256ハッシュ: NiOQc1AKFpLjEei48l_9iWesudh6gkjM9xWH3H8rZsQ

開示: WyJSZFFzcW9VVVVWcnE4S1FfSjZSZENnIiwgInR5cGUiLCAiRXhhbXBsZUJhY2hlbG9yRGVncmVlIl0

内容: [
  "RdQsqoUUUVrq8KQ_J6RdCg",
  "type",
  "ExampleBachelorDegree"
]

上記の例では、2種類の識別子を使用しています。1つ目の識別子は 検証可能なクレデンシャル用であり、HTTPベースのURLを使用します。2つ目の 識別子は、検証可能なクレデンシャル主体主張の対象となるもの)用であり、 分散型識別子を使用します。これは DIDとも呼ばれます。

注記: 分散型 識別子は任意である

DIDは識別子の一種ですが、 検証可能なクレデンシャルを有用なものにするために必須ではありません。具体的には、 検証可能なクレデンシャルDIDに依存せず、DID検証可能なクレデンシャルに依存しません。 ただし、多くの検証可能なクレデンシャルDIDを使用し、この仕様を実装するソフトウェア ライブラリはDIDを解決する必要があります。 DIDベースのURLは、 主体発行者保有者、クレデンシャルのステータスリスト、暗号 鍵、および検証可能なクレデンシャルに関連するその他の機械可読情報に関連付けられた識別子を表現するために使用されます。

4.5

この文書で指定される種類のオブジェクトを処理するソフトウェアシステムは、 提供された 検証可能なクレデンシャルまたは検証可能なプレゼンテーションが意図したユースケースに 適しているかどうかを判断するために型情報を使用します。この仕様では、オブジェクトの型情報を表現するための type プロパティを定義します。この型情報は、附属書 B. 妥当性検証で説明する妥当性検証プロセスで使用できます。

検証可能なクレデンシャルおよび検証可能なプレゼンテーションMUST、 関連付けられた値を持つtype プロパティを含めなければなりません。

type プロパティの値はMUST、 1つ以上の 用語および 絶対URL文字列でなければなりません。複数の 値を指定する場合、その順序は重要ではありません。
4: typeプロパティの使用
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": ["VerifiableCredential", "ExampleDegreeCredential"],
  "issuer": "https://university.example/issuers/565049",
  "validFrom": "2010-01-01T00:00:00Z",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  }
}
application/vc
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ],
  "issuer": "https://university.example/issuers/565049",
  "validFrom": "2010-01-01T00:00:00Z",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  },
  "proof": {
    "type": "DataIntegrityProof",
    "created": "2026-09-05T21:09:22Z",
    "verificationMethod": "did:key:zDnaeqpc578Kg3k9asdXLMhsQSjh8HMPp3ip3miiWZUUhsv9p",
    "cryptosuite": "ecdsa-rdfc-2019",
    "proofPurpose": "assertionMethod",
    "proofValue": "z2csb49ns6Mof5KPLyzLQXnxpSRKxzHJGCY52Jq2tdTPRTDZQV8JK4ys6vTfUoYarvpe5BDzYGh79MFuVKBJ5PBhY"
  }
}
application/vc
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ],
  "issuer": "https://university.example/issuers/565049",
  "validFrom": "2010-01-01T00:00:00Z",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  },
  "proof": {
    "type": "DataIntegrityProof",
    "created": "2026-09-05T21:09:22Z",
    "verificationMethod": "did:key:zDnaee6cRuNdNecab7A7cnbb6w5xovYRWxYirEHstya3usouK",
    "cryptosuite": "ecdsa-sd-2023",
    "proofPurpose": "assertionMethod",
    "proofValue": "u2V0AhVhASYq_Yc6pD9VdrVUjAMg_ykogtjLzQ8H3RFSHzGK6Y3JCe9hLIWpRNCWabzvnOCgfdhngU3dDX9Fh9p_YzwgBT1gjgCQCw149snFGhIf3Xa-I9BSDZzJGZb7kucbkD2SEt833laJYIGrncSHTnhFxFdbN1CPnm29IQgZgAUqi-ECWD9hqCPEChVhAQj2KCV9TF-j5bmQbTuGWDUd_8yU_nMQdJiBjFJRlTTJVrRzQe7vQzv4-0Kk9CrA67hNlwQPtzoY_s0ogQOr62FhAX1XOwq6tz50tv_iNlVwbRWA-ltPuAb5P-1q9v6qJt-s5iUnTt6nsG7xYUzFF7DLb1T-ipLlVHnLKbrS97ao9yVhAuXfqVZsX2kn75BtfbQNHBCoTYDSYycrT9MQo5zadGzOROqnVgO8Pvu-xdQYMW1WTkh9s1sQldNA_QkBbTUhaZlhAazUXicVF1Swoq6-OJNx0qtQVqonOYTidRKYGCVHMB-G_eogILbSKAq6bzzX1UjY_icFVYE1P4zxbAAJX1fBFulhABi1Af9f6AF8MM_cz0PO7VNRLwGVJIrgyEn3m0aAYQoYnfdFnPVa_eMWvllUgzqIMMxIC7RtyLKrgFC0JuKhCQ4FnL2lzc3Vlcg"
  }
}
application/vc
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ],
  "issuer": "https://university.example/issuers/565049",
  "validFrom": "2010-01-01T00:00:00Z",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  },
  "proof": {
    "type": "DataIntegrityProof",
    "verificationMethod": "did:key:zUC7JVyoNecN4arDQjjTXVSfyv1V7bwcnMUs6y2BuSeWmzarPohM5DLXAXXxkBRrpjbzZTUdrLaAVoj87nPgXktL3q8JgBvRqqHo9Z88Jfn2tXXM8Q1aTDhNgf1HYL9WEMiULnS",
    "cryptosuite": "bbs-2023",
    "proofPurpose": "assertionMethod",
    "proofValue": "u2V0ChVhQh4ZbrGO7Wg8qsyvcnGBbBoDqN-XXQ7LIbkeP13o5yHIZ8tC6ELjpJrwsGFhQL2CsAdRvyoWAPlj-hGvALc6qEvIbbrt7axyOUl_cjBTbCFhYQD3-tli9rF9b1rOCOCaDSL0zj-QnIO3TIaEobJTPayaIS1r7HKFDPyyrvPGqNF8bjgNELvoomOjpbD9JEvaGI1pYYLMBLFvXdBPRt0k4kRZk93gc0jkscNQB3wJpCXu4OPkNaVJMlX03jEKZdwQ437AaRg2tSqfzd_pbHzZq9O7FyF1fsAT1tn_tHqFT5wrUWfaGtHJRQwv6rnUS3s9HBqQB_1ggogQCwPe68VtUqpT8fysP2HZaFj2P5VqWUt8Hs6EsaZSBZy9pc3N1ZXI"
  }
}
保護されたヘッダー
{
  "kid": "ExHkBMW9fmbkvV266mRpuP2sUY_N_EWIN1lapUzO8ro",
  "alg": "ES256"
}
application/vc
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ],
  "issuer": "https://university.example/issuers/565049",
  "validFrom": "2010-01-01T00:00:00Z",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  }
}
application/vc+jwt
eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMyNTYifQ .eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwiaWQiOiJodHRwOi8vdW5pdmVyc2l0eS5leGFtcGxlL2NyZWRlbnRpYWxzLzM3MzIiLCJ0eXBlIjpbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwiRXhhbXBsZURlZ3JlZUNyZWRlbnRpYWwiXSwiaXNzdWVyIjoiaHR0cHM6Ly91bml2ZXJzaXR5LmV4YW1wbGUvaXNzdWVycy81NjUwNDkiLCJ2YWxpZEZyb20iOiIyMDEwLTAxLTAxVDAwOjAwOjAwWiIsImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImlkIjoiZGlkOmV4YW1wbGU6ZWJmZWIxZjcxMmViYzZmMWMyNzZlMTJlYzIxIiwiZGVncmVlIjp7InR5cGUiOiJFeGFtcGxlQmFjaGVsb3JEZWdyZWUiLCJuYW1lIjoiQmFjaGVsb3Igb2YgU2NpZW5jZSBhbmQgQXJ0cyJ9fX0 .U2Tej0WxzjpP_4rILDX_bEYrhyrZZ-isQlZzgqv8odUGozNrnAcYG3bP46O9srdZlYGj3wdrWN0bOYJmfbxRbw
application/vc
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ],
  "issuer": "https://university.example/issuers/565049",
  "validFrom": "2010-01-01T00:00:00Z",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  }
}
application/vc+cose
d28443a10128a05901be7b2240636f6e74657874223a5b2268747470733a2f2f7777772e77332e6f72672f6e732f63726564656e7469616c732f7632222c2268747470733a2f2f7777772e77332e6f72672f6e732f63726564656e7469616c732f6578616d706c65732f7632225d2c226964223a22687474703a2f2f756e69766572736974792e6578616d706c652f63726564656e7469616c732f33373332222c2274797065223a5b2256657269666961626c6543726564656e7469616c222c224578616d706c6544656772656543726564656e7469616c225d2c22697373756572223a2268747470733a2f2f756e69766572736974792e6578616d706c652f697373756572732f353635303439222c2276616c696446726f6d223a22323031302d30312d30315430303a30303a30305a222c2263726564656e7469616c5375626aZWN0223a7b226964223a226469643a6578616d706c653a656266656231663731326562633666316332373665313265633231222c22646567726565223a7b2274797065223a224578616d706c6542616368656c6f72446567726565222c226e616d65223a2242616368656c6f72206f6620536369656e636520616e642041727473227d7d7d5840db3d4f34eb63cc47ed29847bbb2f9d599fe9516c0b56a673e1bc896921d8b4d004af546905aaad81bf6c04a7c548677f8a9d12211b34eda44070edf86225feb0
eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMyNTYifQ .eyJpYXQiOjE3ODg2NDI1NjIsImV4cCI6MTc4OTg1MjE2MiwiX3NkX2FsZyI6InNoYS0yNTYiLCJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwiaXNzdWVyIjoiaHR0cHM6Ly91bml2ZXJzaXR5LmV4YW1wbGUvaXNzdWVycy81NjUwNDkiLCJ2YWxpZEZyb20iOiIyMDEwLTAxLTAxVDAwOjAwOjAwWiIsImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImRlZ3JlZSI6eyJuYW1lIjoiQmFjaGVsb3Igb2YgU2NpZW5jZSBhbmQgQXJ0cyIsIl9zZCI6WyJLNVlwN0pSREwwOURWcGFHQUNCVnhKVER2ZFZwbHRobjlqcWxHQjJ5MlNvIl19LCJfc2QiOlsiSk5mLUlXQ1htT2pqbl80Vl9MR0psbmtzaWFFWVVHLXA4U2lrTjBRLU14SSJdfSwiX3NkIjpbIlJ2d05scGJuVE9qU0JDbC03UEJJRkdhWHYtWUVLakx3c1NBNkxnUmU0MXciLCJpUnFkYjh0bHhJQW1nbW9peHFIZlJjazZoSlduTnNwOWplUXh0OWIwdGdnIl19 .3bPlHzxt0HdyYX62SRGHogUMqjLUQhv6vGZ6oRhVsqv51Yw_hv8dmBWY_rPxssWCuBmZxZPihZGTPQMaRGgCvQ ~WyJWdmlTanczVDNlalJKWDZqZEQtNVJRIiwgImlkIiwgImh0dHA6Ly91bml2ZXJzaXR5LmV4YW1wbGUvY3JlZGVudGlhbHMvMzczMiJd~WyJqM0phNmdieWVfOVJrdjlXS0JuczN3IiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIkV4YW1wbGVEZWdyZWVDcmVkZW50aWFsIl1d~WyJJamhsSFlTS0pUWDA4eTlzQS0weXZnIiwgImlkIiwgImRpZDpleGFtcGxlOmViZmViMWY3MTJlYmM2ZjFjMjc2ZTEyZWMyMSJd~WyJ2WkVVZU9OV2pYaUd0VWdyVUtVV1dnIiwgInR5cGUiLCAiRXhhbXBsZUJhY2hlbG9yRGVncmVlIl0~
{
  "kid": "ExHkBMW9fmbkvV266mRpuP2sUY_N_EWIN1lapUzO8ro",
  "alg": "ES256"
}
{
  "iat": 1788642562,
  "exp": 1789852162,
  "_sd_alg": "sha-256",
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "issuer": "https://university.example/issuers/565049",
  "validFrom": "2010-01-01T00:00:00Z",
  "credentialSubject": {
    "degree": {
      "name": "Bachelor of Science and Arts",
      "_sd": [
        "K5Yp7JRDL09DVpaGACBVxJTDvdVplthn9jqlGB2y2So"
      ]
    },
    "_sd": [
      "JNf-IWCXmOjjn_4V_LGJlnksiaEYUG-p8SikN0Q-MxI"
    ]
  },
  "_sd": [
    "RvwNlpbnTOjSBCl-7PBIFGaXv-YEKjLwsSA6LgRe41w",
    "iRqdb8tlxIAmgmoixqHfRck6hJWnNsp9jeQxt9b0tgg"
  ]
}

主張: id

SHA-256ハッシュ: iRqdb8tlxIAmgmoixqHfRck6hJWnNsp9jeQxt9b0tgg

開示: WyJWdmlTanczVDNlalJKWDZqZEQtNVJRIiwgImlkIiwgImh0dHA6Ly91bml2ZXJzaXR5LmV4YW1wbGUvY3JlZGVudGlhbHMvMzczMiJd

内容: [
  "VviSjw3T3ejRJX6jdD-5RQ",
  "id",
  "http://university.example/credentials/3732"
]

主張: type

SHA-256ハッシュ: RvwNlpbnTOjSBCl-7PBIFGaXv-YEKjLwsSA6LgRe41w

開示: WyJqM0phNmdieWVfOVJrdjlXS0JuczN3IiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIkV4YW1wbGVEZWdyZWVDcmVkZW50aWFsIl1d

内容: [
  "j3Ja6gbye_9Rkv9WKBns3w",
  "type",
  [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ]
]

主張: id

SHA-256ハッシュ: JNf-IWCXmOjjn_4V_LGJlnksiaEYUG-p8SikN0Q-MxI

開示: WyJJamhsSFlTS0pUWDA4eTlzQS0weXZnIiwgImlkIiwgImRpZDpleGFtcGxlOmViZmViMWY3MTJlYmM2ZjFjMjc2ZTEyZWMyMSJd

内容: [
  "IjhlHYSKJTX08y9sA-0yvg",
  "id",
  "did:example:ebfeb1f712ebc6f1c276e12ec21"
]

主張: type

SHA-256ハッシュ: K5Yp7JRDL09DVpaGACBVxJTDvdVplthn9jqlGB2y2So

開示: WyJ2WkVVZU9OV2pYaUd0VWdyVUtVV1dnIiwgInR5cGUiLCAiRXhhbXBsZUJhY2hlbG9yRGVncmVlIl0

内容: [
  "vZEUeONWjXiGtUgrUKUWWg",
  "type",
  "ExampleBachelorDegree"
]

この仕様に関して、次の表は を指定することがMUST要求されるオブジェクトを示します。

オブジェクト
検証可能なクレデンシャル オブジェクト VerifiableCredentialと、任意で、より具体的な 検証可能なクレデンシャル。例:
"type": ["VerifiableCredential", "OpenBadgeCredential"]
検証可能なプレゼンテーション オブジェクト VerifiablePresentationと、任意で、より具体的な 検証可能なプレゼンテーション。例:
"type": "VerifiablePresentation"
credentialStatus オブジェクト 有効なクレデンシャルステータスの。例:
"type": "BitstringStatusListEntry"
termsOfUse オブジェクト 有効な利用条件の。例:
"type": "TrustFrameworkPolicy"
evidence オブジェクト 有効な証拠の。例:
"type": "Evidence"
refreshService オブジェクト 有効なrefreshServiceの。例:
"type": "VerifiableCredentialRefreshService2021"
credentialSchema オブジェクト 有効なcredentialSchemaの。例:
"type": "JsonSchema"
注記: 検証可能な クレデンシャル・データモデルはJSON-LDに基づく

検証可能なクレデンシャル・データモデルのシステムは、 JSON-LD 1.1のものと同じであり、 セクション3.5: 型の指定および セクション9: JSON-LD 文法で詳しく説明されています。JSON-LDコンテキストを使用する場合(セクション 5.2 拡張性を参照)、この仕様では、 JSON-LD文書を理解しやすくするために、 @typeキーワードの別名としてtypeを使用します。 アプリケーション開発者や文書作成者はJSON-LD型システムの詳細を 理解する必要はありませんが、相互運用可能な拡張性をサポートするこの仕様の実装者は 理解する必要があります。

すべてのクレデンシャルプレゼンテーション、および カプセル化されたオブジェクトは、ソフトウェアシステムが 追加情報をより容易に検出して処理できるよう、追加の、より限定的な(たとえば ExampleDegreeCredential)を指定するか、関連付けることがSHOULD推奨されます。

credentialSubjectオブジェクトに関連付けられたオブジェクトや、その内部に深くネストされた オブジェクトなど、この仕様で定義されるカプセル化されたオブジェクトを処理する場合、 ソフトウェアシステムは、階層の上位にあるカプセル化 オブジェクトで指定された情報を使用することがSHOULD推奨されます。具体的には、 クレデンシャルなどのカプセル化オブジェクトは、 検証者が、カプセル化オブジェクトのに基づいて関連オブジェクトの内容を 迅速に判断できるよう、関連オブジェクトのを伝達することがSHOULD推奨されます。

たとえば、typeExampleDegreeCredentialであるクレデンシャルオブジェクトは、 credentialSubjectプロパティに関連付けられたオブジェクトに、次の 識別子が含まれていることを検証者に示します。

これにより、実装者は検証のためにtypeプロパティに関連付けられた値に 依拠できます。オブジェクトの型と、それに関連付けられた値は、 少なくとも、その型のURLで参照できる人間可読な仕様に 文書化されることが想定されています。たとえば、BitstringStatusList型の人間可読な 定義は、 https://www.w3.org/ns/credentials/status/#BitstringStatusListで確認できます。また、同じURLで HTTPコンテントネゴシエーションを介して 機械可読バージョンを提供することも 推奨されます。

注記: 新しいクレデンシャル型の作成については 実装ガイドを参照する

新しい種類の検証可能なクレデンシャルを作成する方法の説明は、 この仕様の範囲外です。関心のある読者は、 検証可能なクレデンシャル実装ガイドライン 1.0 新しいクレデンシャル型の作成の節を読むことが推奨されます。

4.6 名前と説明

クレデンシャルを表示する際には、 発行者が提供する、その クレデンシャルに名前と、その 目的の簡潔な説明を付与するテキストがあると便利です。nameおよびdescription プロパティ は、これらの目的に使用されます。

name
OPTIONALなプロパティで、クレデンシャルの名前を表します。 存在する場合、name プロパティの値はMUST、 文字列または 言語値オブジェクトでなければなりません( 9.1 言語と基底方向を参照)。理想的には、 次の クレデンシャルの名前は簡潔で人間が読めるものであり、 個人が あるクレデンシャルを、自身が保有している可能性のあるほかのクレデンシャルから すばやく区別できるようにするものです。
description
OPTIONALなプロパティで、クレデンシャルに関する具体的な詳細を伝えます。 存在する場合、description プロパティの値はMUST、 文字列または言語値オブジェクトでなければなりません( 9.1 言語と基底方向を参照)。理想的には、 次の クレデンシャルの説明は数文以内であり、 個人がその内容を思い出せるだけの 情報をクレデンシャルについて伝えるものです。その際、 すべての主張に目を通す必要はありません。
5: nameおよびdescriptionプロパティの使用
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": ["VerifiableCredential", "ExampleDegreeCredential"],
  "issuer": {
    "id": "https://university.example/issuers/565049",
    "name": "Example University",
    "description": "A public university focusing on teaching examples."
  },
  "validFrom": "2015-05-10T12:30:00Z",
  "name": "Example University Degree",
  "description": "2015 Bachelor of Science and Arts Degree",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  }
}
application/vc
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ],
  "issuer": {
    "id": "https://university.example/issuers/565049",
    "name": "Example University",
    "description": "A public university focusing on teaching examples."
  },
  "validFrom": "2015-05-10T12:30:00Z",
  "name": "Example University Degree",
  "description": "2015 Bachelor of Science and Arts Degree",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  },
  "proof": {
    "type": "DataIntegrityProof",
    "created": "2026-09-05T21:09:22Z",
    "verificationMethod": "did:key:zDnaeqpc578Kg3k9asdXLMhsQSjh8HMPp3ip3miiWZUUhsv9p",
    "cryptosuite": "ecdsa-rdfc-2019",
    "proofPurpose": "assertionMethod",
    "proofValue": "z3HyhJrQp4NGeTiCvA5PwA7LHmX6LEQjHvdj15hnMyUt3mDFpyQwkYTYHm16wrNejiaSnQJRtqdFRLBBn66sUtPYh"
  }
}
application/vc
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ],
  "issuer": {
    "id": "https://university.example/issuers/565049",
    "name": "Example University",
    "description": "A public university focusing on teaching examples."
  },
  "validFrom": "2015-05-10T12:30:00Z",
  "name": "Example University Degree",
  "description": "2015 Bachelor of Science and Arts Degree",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  },
  "proof": {
    "type": "DataIntegrityProof",
    "created": "2026-09-05T21:09:22Z",
    "verificationMethod": "did:key:zDnaee6cRuNdNecab7A7cnbb6w5xovYRWxYirEHstya3usouK",
    "cryptosuite": "ecdsa-sd-2023",
    "proofPurpose": "assertionMethod",
    "proofValue": "u2V0AhVhA9eBZ3zjxuj0IcV6BJobNReA-F8MFuXarAEQkZu0XbBzMazxTcurv0sm6zbuZthOOYyUgufuZ9rFdjeG4WP9mpVgjgCQD0jQzO4hrZutcu3W9LvCVM9f0o1IUtWTn-4-L-3pyLIRYIItb5A4K0qAvYg4pmUOGWDuJ5HlF2Zxzf6yLVGr3gdmGh1hA_ZBp66r3OHhPze0PMFJkUMwEj_c5zb2jZc88nw7nCSBZI-pwZ2KcJLdgo2j237BxDkFtIez_-RojU1aycyYtdlhAtKygVIUGw2o1a1ihLVqshVrjXmndR1XKxj6mfchzM6gF0oq4UU4UkY2wXa2a7mu8yYzLGN3px9BorgpaZTu9llhApFGv_o2hoaiNDlhjFWJmuiU1g3R30TzmmjjKATdHnJ9tNTaVNsBMZ2KtujzDYTDDnXqOI9BQv-JWvOPm-pWEx1hAO2sJNL_bRhq6Xv1Zl7m1TyWId-bn3D2vRm3OxzwmY73v7kZgerL9-wiBB_3pF9xhlY9Ym1HWL4lFbRr4f8u-DlhAoh3GO_w-r9OuAeVhqkEH9ws-hHHEi-0PWUfr16hW-RgTteu0o2lx-Sa12h_N04D4jECG9DC1ySy3IOEf_3NDk1hA_EAkRyAAZhseD-h6DIv5s_nasDUXZqezES6FJiLeTSBLnGwoiLZRqBfmazBZBE2dobfXeFzRDhTG5jZvo-8W6VhAZaehJc5SCUwaQIGnH-yLbT6jLCDAo7iJaf3ICE_wHEmLQFLyUp2QMDVLnTlm3RFSs0WxG2DdExJNfArdmduNPoFnL2lzc3Vlcg"
  }
}
application/vc
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ],
  "issuer": {
    "id": "https://university.example/issuers/565049",
    "name": "Example University",
    "description": "A public university focusing on teaching examples."
  },
  "validFrom": "2015-05-10T12:30:00Z",
  "name": "Example University Degree",
  "description": "2015 Bachelor of Science and Arts Degree",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  },
  "proof": {
    "type": "DataIntegrityProof",
    "verificationMethod": "did:key:zUC7JVyoNecN4arDQjjTXVSfyv1V7bwcnMUs6y2BuSeWmzarPohM5DLXAXXxkBRrpjbzZTUdrLaAVoj87nPgXktL3q8JgBvRqqHo9Z88Jfn2tXXM8Q1aTDhNgf1HYL9WEMiULnS",
    "cryptosuite": "bbs-2023",
    "proofPurpose": "assertionMethod",
    "proofValue": "u2V0ChVhQl2la-H4xA8qLgaVEsd550eGlNlHCKRQk9lkZHwGmuW1dZAov1NcuyRYt4atnKd_VRnffX6PPV1dT0trhLjLCh72S2ov3NQ5pZ0H5WWCO5uBYQD3-tli9rF9b1rOCOCaDSL0zj-QnIO3TIaEobJTPayaIXFDE8ZX70eeJX1DawHuw0sW9CBV3sa68IaRGcnZiiQpYYLMBLFvXdBPRt0k4kRZk93gc0jkscNQB3wJpCXu4OPkNaVJMlX03jEKZdwQ437AaRg2tSqfzd_pbHzZq9O7FyF1fsAT1tn_tHqFT5wrUWfaGtHJRQwv6rnUS3s9HBqQB_1ggA41wkpaGKw674WeJTsXTml3Zk_rjWZm8dPW2Qgv2tRmBZy9pc3N1ZXI"
  }
}
保護されたヘッダー
{
  "kid": "ExHkBMW9fmbkvV266mRpuP2sUY_N_EWIN1lapUzO8ro",
  "alg": "ES256"
}
application/vc
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ],
  "issuer": {
    "id": "https://university.example/issuers/565049",
    "name": "Example University",
    "description": "A public university focusing on teaching examples."
  },
  "validFrom": "2015-05-10T12:30:00Z",
  "name": "Example University Degree",
  "description": "2015 Bachelor of Science and Arts Degree",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  }
}
application/vc+jwt
eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMyNTYifQ .eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwiaWQiOiJodHRwOi8vdW5pdmVyc2l0eS5leGFtcGxlL2NyZWRlbnRpYWxzLzM3MzIiLCJ0eXBlIjpbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwiRXhhbXBsZURlZ3JlZUNyZWRlbnRpYWwiXSwiaXNzdWVyIjp7ImlkIjoiaHR0cHM6Ly91bml2ZXJzaXR5LmV4YW1wbGUvaXNzdWVycy81NjUwNDkiLCJuYW1lIjoiRXhhbXBsZSBVbml2ZXJzaXR5IiwiZGVzY3JpcHRpb24iOiJBIHB1YmxpYyB1bml2ZXJzaXR5IGZvY3VzaW5nIG9uIHRlYWNoaW5nIGV4YW1wbGVzLiJ9LCJ2YWxpZEZyb20iOiIyMDE1LTA1LTEwVDEyOjMwOjAwWiIsIm5hbWUiOiJFeGFtcGxlIFVuaXZlcnNpdHkgRGVncmVlIiwiZGVzY3JpcHRpb24iOiIyMDE1IEJhY2hlbG9yIG9mIFNjaWVuY2UgYW5kIEFydHMgRGVncmVlIiwiY3JlZGVudGlhbFN1YmplY3QiOnsiaWQiOiJkaWQ6ZXhhbXBsZTplYmZlYjFmNzEyZWJjNmYxYzI3NmUxMmVjMjEiLCJkZWdyZWUiOnsidHlwZSI6IkV4YW1wbGVCYWNoZWxvckRlZ3JlZSIsIm5hbWUiOiJCYWNoZWxvciBvZiBTY2llbmNlIGFuZCBBcnRzIn19fQ .2QwYCiUZG1PQ-6zwelj1YVEv705JSLxtFlCFCfEuKylfm69lCKgx2xDFkkr37gPgTeWl1NsZw1dMSLnBFAn5Jw
application/vc
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ],
  "issuer": {
    "id": "https://university.example/issuers/565049",
    "name": "Example University",
    "description": "A public university focusing on teaching examples."
  },
  "validFrom": "2015-05-10T12:30:00Z",
  "name": "Example University Degree",
  "description": "2015 Bachelor of Science and Arts Degree",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  }
}
application/vc+cose
d28443a10128a05902807b2240636f6e74657874223a5b2268747470733a2f2f7777772e77332e6f72672f6e732f63726564656e7469616c732f7632222c2268747470733a2f2f7777772e77332e6f72672f6e732f63726564656e7469616c732f6578616d706c65732f7632225d2c226964223a22687474703a2f2f756e69766572736974792e6578616d706c652f63726564656e7469616c732f33373332222c2274797065223a5b2256657269666961626c6543726564656e7469616c222c224578616d706c6544656772656543726564656e7469616c225d2c22697373756572223a7b226964223a2268747470733a2f2f756e69766572736974792e6578616d706c652f697373756572732f353635303439222c226e616d65223a224578616d706c6520556e6976657273697479222c226465736372697074696f6e223a2241207075626c696320756e697665727369747920666f637573696e67206f6e207465616368696e67206578616d706c65732e227d2c2276616c696446726f6d223a22323031352d30352d31305431323a33303a30305a222c226e616d65223a224578616d706c6520556e697665727369747920446567726565222c226465736372697074696f6e223a22323031352042616368656c6f72206f6620536369656e636520616e64204172747320446567726565222c2263726564656e7469616c5375626a656374223a7b226964223a226469643a6578616d706c653a656266656231663731326562633666316332373665313265633231222c22646567726565223a7b2274797065223a224578616d706c6542616368656c6f72446567726565222c226e616d65223a2242616368656c6f72206f6620536369656e636520616e642041727473227d7d7d5840b50eadcd376584690748a51b7b34f437467b1ca22bac3e93746328849b2b71e8f17c83d7d9aac166e2d46867fcf4b6799d40e4aa993d6a638f78cec4806108f8
eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMyNTYifQ .eyJpYXQiOjE3ODg2NDI1NjIsImV4cCI6MTc4OTg1MjE2MiwiX3NkX2FsZyI6InNoYS0yNTYiLCJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwiaXNzdWVyIjp7Im5hbWUiOiJFeGFtcGxlIFVuaXZlcnNpdHkiLCJkZXNjcmlwdGlvbiI6IkEgcHVibGljIHVuaXZlcnNpdHkgZm9jdXNpbmcgb24gdGVhY2hpbmcgZXhhbXBsZXMuIiwiX3NkIjpbIjBEUE1PbzlHWm1Pbm9mREpEam4zR2QtRTRZVHZ0SW9YRjB3MkR1SUxaREEiXX0sInZhbGlkRnJvbSI6IjIwMTUtMDUtMTBUMTI6MzA6MDBaIiwibmFtZSI6IkV4YW1wbGUgVW5pdmVyc2l0eSBEZWdyZWUiLCJkZXNjcmlwdGlvbiI6IjIwMTUgQmFjaGVsb3Igb2YgU2NpZW5jZSBhbmQgQXJ0cyBEZWdyZWUiLCJjcmVkZW50aWFsU3ViamVjdCI6eyJkZWdyZWUiOnsibmFtZSI6IkJhY2hlbG9yIG9mIFNjaWVuY2UgYW5kIEFydHMiLCJfc2QiOlsiT0JqZG83STZybm4zSmNKLUl0R2lQU2tSQ3BRSU85cEYwTG1JcjFubWs0YyJdfSwiX3NkIjpbImQ2VkZNVUxJLW5kd1dLNFp4eUotREcwOWllQThTTVlzQmQwM1ZKX0UtXzQiXX0sIl9zZCI6WyIzeTZNMTlnUEQ5SUdkb3Nqa2VaY2F4cGlmYTR0VVZKS29QbEllcFFfVmlRIiwia25KVkJZU29sYTdSSllvcV90N0hvRFR1aEY5T2d3LXNzaHNKekEtUDdSTSJdfQ .Ss77eXXsK0fTrKneAZ6yO5rWPRi7zZMcdsxP--_GgDn6Dj4TeceyAQ0JZzcoX0G7s1SQ_AMj5f5v-JVIO1_-Mg ~WyJBQ0I2SGtGSU1QSVhCcFpQY0kzbEV3IiwgImlkIiwgImh0dHA6Ly91bml2ZXJzaXR5LmV4YW1wbGUvY3JlZGVudGlhbHMvMzczMiJd~WyJBY3l4am05dG1XeG1xaGJQQ2I5M2Z3IiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIkV4YW1wbGVEZWdyZWVDcmVkZW50aWFsIl1d~WyI3Z05jX0lVWHpuQkhEOTk3ejlMenhRIiwgImlkIiwgImh0dHBzOi8vdW5pdmVyc2l0eS5leGFtcGxlL2lzc3VlcnMvNTY1MDQ5Il0~WyJ2ektlSzc0bmFCXzhRN1l2WThJTHd3IiwgImlkIiwgImRpZDpleGFtcGxlOmViZmViMWY3MTJlYmM2ZjFjMjc2ZTEyZWMyMSJd~WyIxT1NqVjQ0WklSYnlxazVHMlo1RE5nIiwgInR5cGUiLCAiRXhhbXBsZUJhY2hlbG9yRGVncmVlIl0~
{
  "kid": "ExHkBMW9fmbkvV266mRpuP2sUY_N_EWIN1lapUzO8ro",
  "alg": "ES256"
}
{
  "iat": 1788642562,
  "exp": 1789852162,
  "_sd_alg": "sha-256",
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "issuer": {
    "name": "Example University",
    "description": "A public university focusing on teaching examples.",
    "_sd": [
      "0DPMOo9GZmOnofDJDjn3Gd-E4YTvtIoXF0w2DuILZDA"
    ]
  },
  "validFrom": "2015-05-10T12:30:00Z",
  "name": "Example University Degree",
  "description": "2015 Bachelor of Science and Arts Degree",
  "credentialSubject": {
    "degree": {
      "name": "Bachelor of Science and Arts",
      "_sd": [
        "OBjdo7I6rnn3JcJ-ItGiPSkRCpQIO9pF0LmIr1nmk4c"
      ]
    },
    "_sd": [
      "d6VFMULI-ndwWK4ZxyJ-DG09ieA8SMYsBd03VJ_E-_4"
    ]
  },
  "_sd": [
    "3y6M19gPD9IGdosjkeZcaxpifa4tUVJKoPlIepQ_ViQ",
    "knJVBYSola7RJYoq_t7HoDTuhF9Ogw-sshsJzA-P7RM"
  ]
}

主張: id

SHA-256ハッシュ: 3y6M19gPD9IGdosjkeZcaxpifa4tUVJKoPlIepQ_ViQ

開示: WyJBQ0I2SGtGSU1QSVhCcFpQY0kzbEV3IiwgImlkIiwgImh0dHA6Ly91bml2ZXJzaXR5LmV4YW1wbGUvY3JlZGVudGlhbHMvMzczMiJd

内容: [
  "ACB6HkFIMPIXBpZPcI3lEw",
  "id",
  "http://university.example/credentials/3732"
]

主張: type

SHA-256ハッシュ: knJVBYSola7RJYoq_t7HoDTuhF9Ogw-sshsJzA-P7RM

開示: WyJBY3l4am05dG1XeG1xaGJQQ2I5M2Z3IiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIkV4YW1wbGVEZWdyZWVDcmVkZW50aWFsIl1d

内容: [
  "Acyxjm9tmWxmqhbPCb93fw",
  "type",
  [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ]
]

主張: id

SHA-256ハッシュ: 0DPMOo9GZmOnofDJDjn3Gd-E4YTvtIoXF0w2DuILZDA

開示: WyI3Z05jX0lVWHpuQkhEOTk3ejlMenhRIiwgImlkIiwgImh0dHBzOi8vdW5pdmVyc2l0eS5leGFtcGxlL2lzc3VlcnMvNTY1MDQ5Il0

内容: [
  "7gNc_IUXznBHD997z9LzxQ",
  "id",
  "https://university.example/issuers/565049"
]

主張: id

SHA-256ハッシュ: d6VFMULI-ndwWK4ZxyJ-DG09ieA8SMYsBd03VJ_E-_4

開示: WyJ2ektlSzc0bmFCXzhRN1l2WThJTHd3IiwgImlkIiwgImRpZDpleGFtcGxlOmViZmViMWY3MTJlYmM2ZjFjMjc2ZTEyZWMyMSJd

内容: [
  "vzKeK74naB_8Q7YvY8ILww",
  "id",
  "did:example:ebfeb1f712ebc6f1c276e12ec21"
]

主張: type

SHA-256ハッシュ: OBjdo7I6rnn3JcJ-ItGiPSkRCpQIO9pF0LmIr1nmk4c

開示: WyIxT1NqVjQ0WklSYnlxazVHMlo1RE5nIiwgInR5cGUiLCAiRXhhbXBsZUJhY2hlbG9yRGVncmVlIl0

内容: [
  "1OSjV44ZIRbyqk5G2Z5DNg",
  "type",
  "ExampleBachelorDegree"
]

名前と説明は、異なる言語での内容の表現もサポートします。 言語および基底方向の情報を伴う文字列を表現するには、 @value@language、および @direction プロパティを含むオブジェクトを使用して、それぞれテキスト値、言語タグ、および基底方向を表現できます。 詳細は、 9.1 言語と基底方向を 参照してください。

注記: 単一言語の文字列には@directionは 必須ではありません

以下の例の@directionプロパティは、 対応する単一言語の文字列には必須ではありません。これらの既定の方向は、 @directionの値で設定された方向と同じです。ここでは、@direction プロパティを、例示を明確にし、コピー、貼り付け、編集によって 機能する結果が得られるようにするために含めています。実装者には、 文字列の 国際化に関する節を、 JSON-LD 1.1仕様で読むことが推奨されます。

6: nameおよびdescriptionプロパティの使用
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": ["VerifiableCredential", "ExampleDegreeCredential"],
  "issuer": {
    "id": "https://university.example/issuers/565049",
    "name": [{
      "@value": "Example University",
      "@language": "en"
    }, {
      "@value": "Université Exemple",
      "@language": "fr"
    }, {
      "@value": "جامعة المثال",
      "@language": "ar",
      "@direction": "rtl"
    }],
    "description": [{
      "@value": "A public university focusing on teaching examples.",
      "@language": "en"
    }, {
      "@value": "Une université publique axée sur l'enseignement d'exemples.",
      "@language": "fr"
    }, {
      "@value": ".جامعة عامة تركز على أمثلة التدريس",
      "@language": "ar",
      "@direction": "rtl"
    }]
  },
  "validFrom": "2015-05-10T12:30:00Z",
  "name": [{
    "@value": "Example University Degree",
    "@language": "en"
  }, {
    "@value": "Exemple de Diplôme Universitaire",
    "@language": "fr"
  }, {
    "@value": "مثال الشهادة الجامعية",
    "@language": "ar",
    "@direction": "rtl"
  }],
  "description": [{
    "@value": "2015 Bachelor of Science and Arts Degree",
    "@language": "en"
  }, {
    "@value": "2015 Licence de Sciences et d'Arts",
    "@language": "fr"
  }, {
    "@value": "2015 بكالوريوس العلوم والآداب",
    "@language": "ar",
    "@direction": "rtl"
  }],
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": [{
        "@value": "Bachelor of Science and Arts Degree",
        "@language": "en"
      }, {
        "@value": "Licence de Sciences et d'Arts",
        "@language": "fr"
      }, {
        "@value": "بكالوريوس العلوم والآداب",
        "@language": "ar",
        "@direction": "rtl"
      }]
    }
  }
}

4.7 発行者

この仕様は、発行者、すなわち 検証可能なクレデンシャルの発行元を表現するためのプロパティを定義します。

検証可能なクレデンシャルMUSTissuer プロパティを持たなければなりません。

issuer
issuer プロパティの値はMUST、 次のURL、または id プロパティを含み、その値がURLであるオブジェクトのいずれかでなければなりません。いずれの場合も、 発行者はこのURLを選択して、自身をグローバルに一義的に識別します。 RECOMMENDEDなのは、次のURLとして、参照解決したときに、 制御識別子文書となるものを用いることです。この文書は制御識別子 v1.0仕様で定義され、 次の発行者に関するものであり、情報の検証に使用できます。その情報は 次の クレデンシャルに表現されています。
7: issuerプロパティの使用
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": ["VerifiableCredential", "ExampleDegreeCredential"],
  "issuer": "https://university.example/issuers/14",
  "validFrom": "2010-01-01T19:23:24Z",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  }
}
application/vc
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ],
  "issuer": "https://university.example/issuers/14",
  "validFrom": "2010-01-01T19:23:24Z",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  },
  "proof": {
    "type": "DataIntegrityProof",
    "created": "2026-09-05T21:09:22Z",
    "verificationMethod": "did:key:zDnaeqpc578Kg3k9asdXLMhsQSjh8HMPp3ip3miiWZUUhsv9p",
    "cryptosuite": "ecdsa-rdfc-2019",
    "proofPurpose": "assertionMethod",
    "proofValue": "z3UCx3YbHeZZ7jq8D9b8itNZpbdMLSQuC6i8r5zAF9DDA2S2gAq6KgGUa5F31F6FTSvxhXyimumJFV9m5ub7wtw9N"
  }
}
application/vc
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ],
  "issuer": "https://university.example/issuers/14",
  "validFrom": "2010-01-01T19:23:24Z",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  },
  "proof": {
    "type": "DataIntegrityProof",
    "created": "2026-09-05T21:09:22Z",
    "verificationMethod": "did:key:zDnaee6cRuNdNecab7A7cnbb6w5xovYRWxYirEHstya3usouK",
    "cryptosuite": "ecdsa-sd-2023",
    "proofPurpose": "assertionMethod",
    "proofValue": "u2V0AhVhAa2HEMU6j7PN6xbRdWN0Zsa8vDmfTHzTe36iKWQfBKh6Y0b7m3De12WPMIWVJBGAN8PkoGo7g_E3DlG_LRtY3AVgjgCQCiQP8EMTwRK3tKiHAmoANxo9F6trm2I6oEqKfDR1SnclYIN7qqaZYhank4REfmamLJNbFw6nZFoQ27MNtj4phTIn0hVhALdKrGxMp4j3OgOAyKUIoirGHqkk5cE2T6xQNoPv-AqgV3BHMRdCGytmB__LLgSfrGikbrmIZzkncAjgBQLYVlFhAtp35vUtjU22xwN0ApmnsFLLhvMZE82iXQbDoJPdYex4gcEy3VCShiAHq0fZQQ_w57JzRvtTFSN5nB5fUnv15L1hALfh0IlQXV2UWzV1u45FasE9d3KSq1TDLgGYHz1eN6DQ56LjyP-FIGPltBoygOAF4lFfYLLbYK5eXt7c7KQGQulhA_6r3E5REhY0n4fmWebUH536aV5H57yCm0uMoFArhGjJKF9GOfBYDlq89rFdavMJw0ooCoPjsmOiyp_fYnqdyDFhAB0w3WreQqv3n57p0RWRvVeS7oPA0S_sFF90IBtGd1sqc_iGNww0UMEUi1UZYX--n9fehg0rmeDxlv1iwKuSYDoFnL2lzc3Vlcg"
  }
}
application/vc
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ],
  "issuer": "https://university.example/issuers/14",
  "validFrom": "2010-01-01T19:23:24Z",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  },
  "proof": {
    "type": "DataIntegrityProof",
    "verificationMethod": "did:key:zUC7JVyoNecN4arDQjjTXVSfyv1V7bwcnMUs6y2BuSeWmzarPohM5DLXAXXxkBRrpjbzZTUdrLaAVoj87nPgXktL3q8JgBvRqqHo9Z88Jfn2tXXM8Q1aTDhNgf1HYL9WEMiULnS",
    "cryptosuite": "bbs-2023",
    "proofPurpose": "assertionMethod",
    "proofValue": "u2V0ChVhQuVb-Kl_Muxvn-scLX6yvPSEO1qatpJujOOaTHvosYOQTCLj72z1-GPkeps5LCt79YAPzx-tcnHGcKaxXT4UQSfmw3Yit_mohbAXWSvO3AQlYQD3-tli9rF9b1rOCOCaDSL0zj-QnIO3TIaEobJTPayaIKnv3N5iX7nvZR0OCXS-uXH4QQ9mW65QM5qlHOfE4GQVYYLMBLFvXdBPRt0k4kRZk93gc0jkscNQB3wJpCXu4OPkNaVJMlX03jEKZdwQ437AaRg2tSqfzd_pbHzZq9O7FyF1fsAT1tn_tHqFT5wrUWfaGtHJRQwv6rnUS3s9HBqQB_1gg2-BQp1R2IM3QoFUI2WfaF3HqCxy8Z_1jh-u4xLek3tSBZy9pc3N1ZXI"
  }
}
保護されたヘッダー
{
  "kid": "ExHkBMW9fmbkvV266mRpuP2sUY_N_EWIN1lapUzO8ro",
  "alg": "ES256"
}
application/vc
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ],
  "issuer": "https://university.example/issuers/14",
  "validFrom": "2010-01-01T19:23:24Z",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  }
}
application/vc+jwt
eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMyNTYifQ .eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwiaWQiOiJodHRwOi8vdW5pdmVyc2l0eS5leGFtcGxlL2NyZWRlbnRpYWxzLzM3MzIiLCJ0eXBlIjpbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwiRXhhbXBsZURlZ3JlZUNyZWRlbnRpYWwiXSwiaXNzdWVyIjoiaHR0cHM6Ly91bml2ZXJzaXR5LmV4YW1wbGUvaXNzdWVycy8xNCIsInZhbGlkRnJvbSI6IjIwMTAtMDEtMDFUMTk6MjM6MjRaIiwiY3JlZGVudGlhbFN1YmplY3QiOnsiaWQiOiJkaWQ6ZXhhbXBsZTplYmZlYjFmNzEyZWJjNmYxYzI3NmUxMmVjMjEiLCJkZWdyZWUiOnsidHlwZSI6IkV4YW1wbGVCYWNoZWxvckRlZ3JlZSIsIm5hbWUiOiJCYWNoZWxvciBvZiBTY2llbmNlIGFuZCBBcnRzIn19fQ .kQK0sB_RWOnzK77h19eC4OK6Hp4EZbBIHq8nFpQ07gn5oXo68lF7HE_dpM9Tol4eSDEYfDHy2QXQ06b---8Efg
application/vc
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ],
  "issuer": "https://university.example/issuers/14",
  "validFrom": "2010-01-01T19:23:24Z",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  }
}
application/vc+cose
d28443a10128a05901ba7b2240636f6e74657874223a5b2268747470733a2f2f7777772e77332e6f72672f6e732f63726564656e7469616c732f7632222c2268747470733a2f2f7777772e77332e6f72672f6e732f63726564656e7469616c732f6578616d706c65732f7632225d2c226964223a22687474703a2f2f756e69766572736974792e6578616d706c652f63726564656e7469616c732f33373332222c2274797065223a5b2256657269666961626c6543726564656e7469616c222c224578616d706c6544656772656543726564656e7469616c225d2c22697373756572223a2268747470733a2f2f756e69766572736974792e6578616d706c652f697373756572732f3134222c2276616c696446726f6d223a22323031302d30312d30315431393a32333a32345a222c2263726564656e7469616c5375626a656374223a7b226964223a226469643a6578616d706c653a656266656231663731326562633666316332373665313265633231222c22646567726565223a7b2274797065223a224578616d706c6542616368656c6f72446567726565222c226e616d65223a2242616368656c6f72206f6620536369656e636520616e642041727473227d7d7d58409e7ca40dba7532dc091810bb3b3aab2725d5bc8f6c255d96b970fca71327c5264eadee6482703616a6db00beac1f763d3dd38e7fb4529e67e5be970a35f8dc37
eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMyNTYifQ .eyJpYXQiOjE3ODg2NDI1NjIsImV4cCI6MTc4OTg1MjE2MiwiX3NkX2FsZyI6InNoYS0yNTYiLCJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwiaXNzdWVyIjoiaHR0cHM6Ly91bml2ZXJzaXR5LmV4YW1wbGUvaXNzdWVycy8xNCIsInZhbGlkRnJvbSI6IjIwMTAtMDEtMDFUMTk6MjM6MjRaIiwiY3JlZGVudGlhbFN1YmplY3QiOnsiZGVncmVlIjp7Im5hbWUiOiJCYWNoZWxvciBvZiBTY2llbmNlIGFuZCBBcnRzIiwiX3NkIjpbIkk3cGpzNF93eWMwbFdFNGFDbmxWcUlsWHdZVGNUWmZNVFRxSXZRLVhNVFUiXX0sIl9zZCI6WyJ0aTkwWFIwOF83eFN2Y0tIdDVuOS1jcUJMd2JhVXdfc0ppSDNlTV9vVDcwIl19LCJfc2QiOlsiUllhMUhQb19KcUw5a1FlOF94c2tGNjYzQldXbTNXNHlaRzhoTzN0dm1BQSIsImhrbjRQV09xZE5BcTNNU0JGd1kwVXhIYjdRLW1iQ1hnWHprZmpPZzRyWjgiXX0 .LtEzqeZk1HJgA8BDqumeIiRf_qK7EtAPL94oFL5KsKTOzQckhDx2EG9lrdmmEYccokSsZqmh5tqtPIplYAMajw ~WyJ4ak1NbkJPMVZJQVNDZnlqSDk4VG93IiwgImlkIiwgImh0dHA6Ly91bml2ZXJzaXR5LmV4YW1wbGUvY3JlZGVudGlhbHMvMzczMiJd~WyIyZC1oWHdXQW5TZFFPQlA4RTN6UXpnIiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIkV4YW1wbGVEZWdyZWVDcmVkZW50aWFsIl1d~WyJWSk5ZV3ZTR1RXemVhWGd4dEg0VDJnIiwgImlkIiwgImRpZDpleGFtcGxlOmViZmViMWY3MTJlYmM2ZjFjMjc2ZTEyZWMyMSJd~WyJUdE1KZUJhOS1GU3g4bXBIazdqOVJ3IiwgInR5cGUiLCAiRXhhbXBsZUJhY2hlbG9yRGVncmVlIl0~
{
  "kid": "ExHkBMW9fmbkvV266mRpuP2sUY_N_EWIN1lapUzO8ro",
  "alg": "ES256"
}
{
  "iat": 1788642562,
  "exp": 1789852162,
  "_sd_alg": "sha-256",
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "issuer": "https://university.example/issuers/14",
  "validFrom": "2010-01-01T19:23:24Z",
  "credentialSubject": {
    "degree": {
      "name": "Bachelor of Science and Arts",
      "_sd": [
        "I7pjs4_wyc0lWE4aCnlVqIlXwYTcTZfMTTqIvQ-XMTU"
      ]
    },
    "_sd": [
      "ti90XR08_7xSvcKHt5n9-cqBLwbaUw_sJiH3eM_oT70"
    ]
  },
  "_sd": [
    "RYa1HPo_JqL9kQe8_xskF663BWWm3W4yZG8hO3tvmAA",
    "hkn4PWOqdNAq3MSBFwY0UxHb7Q-mbCXgXzkfjOg4rZ8"
  ]
}

主張: id

SHA-256ハッシュ: hkn4PWOqdNAq3MSBFwY0UxHb7Q-mbCXgXzkfjOg4rZ8

開示: WyJ4ak1NbkJPMVZJQVNDZnlqSDk4VG93IiwgImlkIiwgImh0dHA6Ly91bml2ZXJzaXR5LmV4YW1wbGUvY3JlZGVudGlhbHMvMzczMiJd

内容: [
  "xjMMnBO1VIASCfyjH98Tow",
  "id",
  "http://university.example/credentials/3732"
]

主張: type

SHA-256ハッシュ: RYa1HPo_JqL9kQe8_xskF663BWWm3W4yZG8hO3tvmAA

開示: WyIyZC1oWHdXQW5TZFFPQlA4RTN6UXpnIiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIkV4YW1wbGVEZWdyZWVDcmVkZW50aWFsIl1d

内容: [
  "2d-hXwWAnSdQOBP8E3zQzg",
  "type",
  [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ]
]

主張: id

SHA-256ハッシュ: ti90XR08_7xSvcKHt5n9-cqBLwbaUw_sJiH3eM_oT70

開示: WyJWSk5ZV3ZTR1RXemVhWGd4dEg0VDJnIiwgImlkIiwgImRpZDpleGFtcGxlOmViZmViMWY3MTJlYmM2ZjFjMjc2ZTEyZWMyMSJd

内容: [
  "VJNYWvSGTWzeaXgxtH4T2g",
  "id",
  "did:example:ebfeb1f712ebc6f1c276e12ec21"
]

主張: type

SHA-256ハッシュ: I7pjs4_wyc0lWE4aCnlVqIlXwYTcTZfMTTqIvQ-XMTU

開示: WyJUdE1KZUJhOS1GU3g4bXBIazdqOVJ3IiwgInR5cGUiLCAiRXhhbXBsZUJhY2hlbG9yRGVncmVlIl0

内容: [
  "TtMJeBa9-FSx8mpHk7j9Rw",
  "type",
  "ExampleBachelorDegree"
]

発行者に関する追加情報は、 issuerプロパティにオブジェクトを関連付けて表現することもできます。

8: issuerプロパティの拡張された使用
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": ["VerifiableCredential", "ExampleDegreeCredential"],
  "issuer": {
    "id": "did:example:76e12ec712ebc6f1c221ebfeb1f",
    "name": "Example University"
  },
  "validFrom": "2010-01-01T19:23:24Z",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  }
}
application/vc
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ],
  "issuer": {
    "id": "did:example:76e12ec712ebc6f1c221ebfeb1f",
    "name": "Example University"
  },
  "validFrom": "2010-01-01T19:23:24Z",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  },
  "proof": {
    "type": "DataIntegrityProof",
    "created": "2026-09-05T21:09:22Z",
    "verificationMethod": "did:key:zDnaeqpc578Kg3k9asdXLMhsQSjh8HMPp3ip3miiWZUUhsv9p",
    "cryptosuite": "ecdsa-rdfc-2019",
    "proofPurpose": "assertionMethod",
    "proofValue": "z4xErymdqkw11RkatDqHgEvBP5FGrj5VkGXwzG2X4wherYnH1jPbtQX9MSEHvXp729pPLnYH84VC6C7HWQDtL1j6"
  }
}
application/vc
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ],
  "issuer": {
    "id": "did:example:76e12ec712ebc6f1c221ebfeb1f",
    "name": "Example University"
  },
  "validFrom": "2010-01-01T19:23:24Z",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  },
  "proof": {
    "type": "DataIntegrityProof",
    "created": "2026-09-05T21:09:22Z",
    "verificationMethod": "did:key:zDnaee6cRuNdNecab7A7cnbb6w5xovYRWxYirEHstya3usouK",
    "cryptosuite": "ecdsa-sd-2023",
    "proofPurpose": "assertionMethod",
    "proofValue": "u2V0AhVhAvfJXBZd496XcZcCwYXJd-ijIx7U4lHyPku8ZD32Q0haH-wCu1FlOgSB-VQFtqBRxrIjDk6Xul3M3k72czY7JQ1gjgCQC0qfQ1BOcJ5Lkvm8k8hQ1rkVb8c_pPsdXRROosouMCztYIJPtpPPjBzmHsmCvq3lL1tcKi5M9wLeJZpXgg-rPxkqJhVhAec_i5BhyI2YKR839DxtJsM32qwkw7hT1zPxY1FODUKkaUY2PGkJal764UBBs_Pkud0fNagLDO5D0wC41Qw9c5lhA21mnQnoYd4gFIdRl0Pnrn2kW0BnC35qzpKXeBTefedsWE3WqXUbagY0jaQHt1kYNTk3w3YUuf3fKwasI5iXEYlhASYapu5wsl4wpWYJMM-hjltjsXTbtPq1j91395s7eQdR3aOkoBuyfd-5GHGorMAkf0M_l0Cr0RPfvlxu4MPXUb1hAzIBNBho458ey2UYVWQ51LZQoiOwBIgcmKhMFO5rr7ixI-BLeXGb-CMGhTMA7cCcdTsXyy9rlpGm0jvG5rvQfHFhAC0f31KQBMCOoWoDTcv-3Xt7cpARy5rfbKQletriZTOZ_iZZj2haG3N2m3_K0jWhdL1XzmGAe09TcXTSSXMOI04FnL2lzc3Vlcg"
  }
}
application/vc
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ],
  "issuer": {
    "id": "did:example:76e12ec712ebc6f1c221ebfeb1f",
    "name": "Example University"
  },
  "validFrom": "2010-01-01T19:23:24Z",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  },
  "proof": {
    "type": "DataIntegrityProof",
    "verificationMethod": "did:key:zUC7JVyoNecN4arDQjjTXVSfyv1V7bwcnMUs6y2BuSeWmzarPohM5DLXAXXxkBRrpjbzZTUdrLaAVoj87nPgXktL3q8JgBvRqqHo9Z88Jfn2tXXM8Q1aTDhNgf1HYL9WEMiULnS",
    "cryptosuite": "bbs-2023",
    "proofPurpose": "assertionMethod",
    "proofValue": "u2V0ChVhQrC7s_jn_2bwymqWbq1r4dAfhkZoAxsoLiKk3ri6eIo2RCMH-bYE_-9mUodo_RgudSXAcmDtUlwf8kET_gnOdt5QzwKPefjcsyNbxTU283CRYQD3-tli9rF9b1rOCOCaDSL0zj-QnIO3TIaEobJTPayaIQAGpGXTZS6rwOppAPreXlDb3xQb46PJ_xcVri0glVYJYYLMBLFvXdBPRt0k4kRZk93gc0jkscNQB3wJpCXu4OPkNaVJMlX03jEKZdwQ437AaRg2tSqfzd_pbHzZq9O7FyF1fsAT1tn_tHqFT5wrUWfaGtHJRQwv6rnUS3s9HBqQB_1ggP983JVVEFktPJIXhwxdTbW-LoPF5dJVQH4jhjefR9sOBZy9pc3N1ZXI"
  }
}
保護されたヘッダー
{
  "kid": "ExHkBMW9fmbkvV266mRpuP2sUY_N_EWIN1lapUzO8ro",
  "alg": "ES256"
}
application/vc
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ],
  "issuer": {
    "id": "did:example:76e12ec712ebc6f1c221ebfeb1f",
    "name": "Example University"
  },
  "validFrom": "2010-01-01T19:23:24Z",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  }
}
application/vc+jwt
eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMyNTYifQ .eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwiaWQiOiJodHRwOi8vdW5pdmVyc2l0eS5leGFtcGxlL2NyZWRlbnRpYWxzLzM3MzIiLCJ0eXBlIjpbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwiRXhhbXBsZURlZ3JlZUNyZWRlbnRpYWwiXSwiaXNzdWVyIjp7ImlkIjoiZGlkOmV4YW1wbGU6NzZlMTJlYzcxMmViYzZmMWMyMjFlYmZlYjFmIiwibmFtZSI6IkV4YW1wbGUgVW5pdmVyc2l0eSJ9LCJ2YWxpZEZyb20iOiIyMDEwLTAxLTAxVDE5OjIzOjI0WiIsImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImlkIjoiZGlkOmV4YW1wbGU6ZWJmZWIxZjcxMmViYzZmMWMyNzZlMTJlYzIxIiwiZGVncmVlIjp7InR5cGUiOiJFeGFtcGxlQmFjaGVsb3JEZWdyZWUiLCJuYW1lIjoiQmFjaGVsb3Igb2YgU2NpZW5jZSBhbmQgQXJ0cyJ9fX0 .Y79IjwV5O38E1LqWiLkKA34Fzi2Vua76HLsvqp96pdnG9FfoRuIAOCTZPneWL7fGeZoYCugjKFO9ZiryofDZRA
application/vc
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ],
  "issuer": {
    "id": "did:example:76e12ec712ebc6f1c221ebfeb1f",
    "name": "Example University"
  },
  "validFrom": "2010-01-01T19:23:24Z",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  }
}
application/vc+cose
d28443a10128a05901df7b2240636f6e74657874223a5b2268747470733a2f2f7777772e77332e6f72672f6e732f63726564656e7469616c732f7632222c2268747470733a2f2f7777772e77332e6f72672f6e732f63726564656e7469616c732f6578616d706c65732f7632225d2c226964223a22687474703a2f2f756e69766572736974792e6578616d706c652f63726564656e7469616c732f33373332222c2274797065223a5b2256657269666961626c6543726564656e7469616c222c224578616d706c6544656772656543726564656e7469616c225d2c22697373756572223a7b226964223a226469643a6578616d706c653a373665313265633731326562633666316332323165626665623166222c226e616d65223a224578616d706c6520556e6976657273697479227d2c2276616c696446726f6d223a22323031302d30312d30315431393a32333a32345a222c2263726564656e7469616c5375626a656374223a7b226964223a226469643a6578616d706c653a656266656231663731326562633666316332373665313265633231222c22646567726565223a7b2274797065223a224578616d706c6542616368656c6f72446567726565222c226e616d65223a2242616368656c6f72206f6620536369656e636520616e642041727473227d7d7d5840d9322464c01ef2aff836e303f5f538f78dc9c0f670587c2ebf24d2757239a9954c292402c749d46064eba12dbec16b6b18119ef3e4d8f7d4b935942c67ba56fe
eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMyNTYifQ .eyJpYXQiOjE3ODg2NDI1NjIsImV4cCI6MTc4OTg1MjE2MiwiX3NkX2FsZyI6InNoYS0yNTYiLCJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwiaXNzdWVyIjp7Im5hbWUiOiJFeGFtcGxlIFVuaXZlcnNpdHkiLCJfc2QiOlsiZ21HbG9pSk5sanZiempjNExnMUc0VnlvS3JYUERWa0hsVzBRNURGX2xJbyJdfSwidmFsaWRGcm9tIjoiMjAxMC0wMS0wMVQxOToyMzoyNFoiLCJjcmVkZW50aWFsU3ViamVjdCI6eyJkZWdyZWUiOnsibmFtZSI6IkJhY2hlbG9yIG9mIFNjaWVuY2UgYW5kIEFydHMiLCJfc2QiOlsiVVBBdm1WMDRoN2tyblFDd0RSeFIwclhCdXlJTlF0ZHd2NXYwNWphWVdqRSJdfSwiX3NkIjpbIlBtVkdQS0ZFU3VMNWdXbFZ5TEhLUlJZRzY3bHYzY0pPTHk2T1hNdmQwM3ciXX0sIl9zZCI6WyJNMy1ma3Q3R2dNTFFQa2p0UHUyZGVWMlVmdjlCSjRlMDVUczNGLVBHUEY4IiwiT0pCdmdCR3haX2FqY2VYUzVGcEowajJpM1ljWC1IZk1lcFJ3VWFGVlVmcyJdfQ .dIDdNeqMoat9JK1PtldV1AuNPlyD9_8xG1-szxWooDkdPPKhpCttlM3DCvB_mIhxGWJYs9UIlAReqmT57A1fHw ~WyJSVV9lZWlsckdIeVJER1VCX0MtT0lBIiwgImlkIiwgImh0dHA6Ly91bml2ZXJzaXR5LmV4YW1wbGUvY3JlZGVudGlhbHMvMzczMiJd~WyJjYVVtWl8tNTRSUV9tRDBpTTBzLUdRIiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIkV4YW1wbGVEZWdyZWVDcmVkZW50aWFsIl1d~WyJZRm9SY3UxOExZbjhlUmhfOE41V21RIiwgImlkIiwgImRpZDpleGFtcGxlOjc2ZTEyZWM3MTJlYmM2ZjFjMjIxZWJmZWIxZiJd~WyJmZzNnNkZEY3p5T0NlU2VkU2hWaXNnIiwgImlkIiwgImRpZDpleGFtcGxlOmViZmViMWY3MTJlYmM2ZjFjMjc2ZTEyZWMyMSJd~WyJMdWhGQ2FyVmNSRUstZ1NmbVFyWGtRIiwgInR5cGUiLCAiRXhhbXBsZUJhY2hlbG9yRGVncmVlIl0~
{
  "kid": "ExHkBMW9fmbkvV266mRpuP2sUY_N_EWIN1lapUzO8ro",
  "alg": "ES256"
}
{
  "iat": 1788642562,
  "exp": 1789852162,
  "_sd_alg": "sha-256",
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "issuer": {
    "name": "Example University",
    "_sd": [
      "gmGloiJNljvbzjc4Lg1G4VyoKrXPDVkHlW0Q5DF_lIo"
    ]
  },
  "validFrom": "2010-01-01T19:23:24Z",
  "credentialSubject": {
    "degree": {
      "name": "Bachelor of Science and Arts",
      "_sd": [
        "UPAvmV04h7krnQCwDRxR0rXBuyINQtdwv5v05jaYWjE"
      ]
    },
    "_sd": [
      "PmVGPKFESuL5gWlVyLHKRRYG67lv3cJOLy6OXMvd03w"
    ]
  },
  "_sd": [
    "M3-fkt7GgMLQPkjtPu2deV2Ufv9BJ4e05Ts3F-PGPF8",
    "OJBvgBGxZ_ajceXS5FpJ0j2i3YcX-HfMepRwUaFVUfs"
  ]
}

主張: id

SHA-256ハッシュ: OJBvgBGxZ_ajceXS5FpJ0j2i3YcX-HfMepRwUaFVUfs

開示: WyJSVV9lZWlsckdIeVJER1VCX0MtT0lBIiwgImlkIiwgImh0dHA6Ly91bml2ZXJzaXR5LmV4YW1wbGUvY3JlZGVudGlhbHMvMzczMiJd

内容: [
  "RU_eeilrGHyRDGUB_C-OIA",
  "id",
  "http://university.example/credentials/3732"
]

主張: type

SHA-256ハッシュ: M3-fkt7GgMLQPkjtPu2deV2Ufv9BJ4e05Ts3F-PGPF8

開示: WyJjYVVtWl8tNTRSUV9tRDBpTTBzLUdRIiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIkV4YW1wbGVEZWdyZWVDcmVkZW50aWFsIl1d

内容: [
  "caUmZ_-54RQ_mD0iM0s-GQ",
  "type",
  [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ]
]

主張: id

SHA-256ハッシュ: gmGloiJNljvbzjc4Lg1G4VyoKrXPDVkHlW0Q5DF_lIo

開示: WyJZRm9SY3UxOExZbjhlUmhfOE41V21RIiwgImlkIiwgImRpZDpleGFtcGxlOjc2ZTEyZWM3MTJlYmM2ZjFjMjIxZWJmZWIxZiJd

内容: [
  "YFoRcu18LYn8eRh_8N5WmQ",
  "id",
  "did:example:76e12ec712ebc6f1c221ebfeb1f"
]

主張: id

SHA-256ハッシュ: PmVGPKFESuL5gWlVyLHKRRYG67lv3cJOLy6OXMvd03w

開示: WyJmZzNnNkZEY3p5T0NlU2VkU2hWaXNnIiwgImlkIiwgImRpZDpleGFtcGxlOmViZmViMWY3MTJlYmM2ZjFjMjc2ZTEyZWMyMSJd

内容: [
  "fg3g6FDczyOCeSedShVisg",
  "id",
  "did:example:ebfeb1f712ebc6f1c276e12ec21"
]

主張: type

SHA-256ハッシュ: UPAvmV04h7krnQCwDRxR0rXBuyINQtdwv5v05jaYWjE

開示: WyJMdWhGQ2FyVmNSRUstZ1NmbVFyWGtRIiwgInR5cGUiLCAiRXhhbXBsZUJhY2hlbG9yRGVncmVlIl0

内容: [
  "LuhFCarVcREK-gSfmQrXkQ",
  "type",
  "ExampleBachelorDegree"
]

注記: 発行者の 識別子には任意のURLを使用できます

issuer プロパティの値にはJWK(例: "https://jwk.example/keys/foo.jwk")、またはDID(例: "did:example:abfe13f712120431c276e12ecab")も使用できます。

4.8 クレデンシャルの主体

検証可能なクレデンシャルには、主張が含まれます。その主張は1つ以上の主体に関するものです。 この仕様は、credentialSubject プロパティを、 次の 主張の表現のために定義します。その主張は1つ以上の主体に関するものです。

検証可能なクレデンシャルMUSTcredentialSubject プロパティを含まなければなりません。

credentialSubject
credentialSubject プロパティの値は、 オブジェクトの集合です。各 オブジェクトはMUST主体でなければなりません。その主体についての1つ以上の主張MUSTcredentialSubject プロパティ内にシリアライズされなければなりません。各オブジェクトには、 MAYid プロパティも含めて、主体を識別してもかまいません。これは、 セクション4.4 識別子で説明されています。
9: credentialSubjectプロパティの使用
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": ["VerifiableCredential", "ExampleDegreeCredential"],
  "issuer": "https://university.example/issuers/565049",
  "validFrom": "2010-01-01T00:00:00Z",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  }
}
application/vc
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ],
  "issuer": "https://university.example/issuers/565049",
  "validFrom": "2010-01-01T00:00:00Z",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  },
  "proof": {
    "type": "DataIntegrityProof",
    "created": "2026-09-05T21:09:22Z",
    "verificationMethod": "did:key:zDnaeqpc578Kg3k9asdXLMhsQSjh8HMPp3ip3miiWZUUhsv9p",
    "cryptosuite": "ecdsa-rdfc-2019",
    "proofPurpose": "assertionMethod",
    "proofValue": "z32tZqevy2bWArZtNTr9uVuxHMYBRC3NXaRUR8rvvferx7WMjerYAsvxJjCtkjB7V2o9hecPr9qd5CTckPYGBXh3G"
  }
}
application/vc
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ],
  "issuer": "https://university.example/issuers/565049",
  "validFrom": "2010-01-01T00:00:00Z",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  },
  "proof": {
    "type": "DataIntegrityProof",
    "created": "2026-09-05T21:09:22Z",
    "verificationMethod": "did:key:zDnaee6cRuNdNecab7A7cnbb6w5xovYRWxYirEHstya3usouK",
    "cryptosuite": "ecdsa-sd-2023",
    "proofPurpose": "assertionMethod",
    "proofValue": "u2V0AhVhA101-mPu7ZDbK5Tm8EsTf_p8zOtqgtBbEBi4GDeT7KSILKQzd1IiIIZpx82U6GGYE-xwan9dtkd7_L5VrgCJaHlgjgCQCScXI7nbF_qrx-mTD4wve_ns3Q7E0w5HdO4rnJ-PAYyZYIGRJawpdeBNF6zkm8Ie6T9qojlermHaffjIgILL-9UMihVhAk64ss8WQazULbGnusVBTxy5jcpYJg10XsG__443pcVqDDjvLhfntW-amMT9alMgAoKIIJmGLlFD804gtlAuOUFhABG_iIWJfdYdn9uxr7kBSpVDyGuOaTrqFGpB0cqvHq8hPkGFoEJdRZo51-K3P2QgZ_ViGGWjNAh23H6CKw6XCf1hAChaXCI7p7FST1dwm91Zy_bibXx6UxfWyKHRhx6eKTagfRZAJ-uhz94-_Eu02q0zldcGEF8Hyfv04wnL61gF7Q1hAL-OYZzNHClpuX85mKTtK04BJ5-EQ26-idA5p6Z726JCJFUzibrHfI9KU_avQiTeWrv1Ss046n6BqyvthsBpKKlhACjOoGlPmmZXA-FB3z6DrRbjF8EEGpKLpZiAu7jH7aMpOxcV5tN7W9B255HiFZndwh1iW0abSEcz_34pnhjpi6YFnL2lzc3Vlcg"
  }
}
application/vc
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ],
  "issuer": "https://university.example/issuers/565049",
  "validFrom": "2010-01-01T00:00:00Z",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  },
  "proof": {
    "type": "DataIntegrityProof",
    "verificationMethod": "did:key:zUC7JVyoNecN4arDQjjTXVSfyv1V7bwcnMUs6y2BuSeWmzarPohM5DLXAXXxkBRrpjbzZTUdrLaAVoj87nPgXktL3q8JgBvRqqHo9Z88Jfn2tXXM8Q1aTDhNgf1HYL9WEMiULnS",
    "cryptosuite": "bbs-2023",
    "proofPurpose": "assertionMethod",
    "proofValue": "u2V0ChVhQh4ZbrGO7Wg8qsyvcnGBbBoDqN-XXQ7LIbkeP13o5yHIZ8tC6ELjpJrwsGFhQL2CsAdRvyoWAPlj-hGvALc6qEvIbbrt7axyOUl_cjBTbCFhYQD3-tli9rF9b1rOCOCaDSL0zj-QnIO3TIaEobJTPayaIS1r7HKFDPyyrvPGqNF8bjgNELvoomOjpbD9JEvaGI1pYYLMBLFvXdBPRt0k4kRZk93gc0jkscNQB3wJpCXu4OPkNaVJMlX03jEKZdwQ437AaRg2tSqfzd_pbHzZq9O7FyF1fsAT1tn_tHqFT5wrUWfaGtHJRQwv6rnUS3s9HBqQB_1ggJHx1-prSYte6q2_nrSH0qfNZUhq1zn1u_D5gMJLRWACBZy9pc3N1ZXI"
  }
}
保護されたヘッダー
{
  "kid": "ExHkBMW9fmbkvV266mRpuP2sUY_N_EWIN1lapUzO8ro",
  "alg": "ES256"
}
application/vc
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ],
  "issuer": "https://university.example/issuers/565049",
  "validFrom": "2010-01-01T00:00:00Z",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  }
}
application/vc+jwt
eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMyNTYifQ .eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwiaWQiOiJodHRwOi8vdW5pdmVyc2l0eS5leGFtcGxlL2NyZWRlbnRpYWxzLzM3MzIiLCJ0eXBlIjpbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwiRXhhbXBsZURlZ3JlZUNyZWRlbnRpYWwiXSwiaXNzdWVyIjoiaHR0cHM6Ly91bml2ZXJzaXR5LmV4YW1wbGUvaXNzdWVycy81NjUwNDkiLCJ2YWxpZEZyb20iOiIyMDEwLTAxLTAxVDAwOjAwOjAwWiIsImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImlkIjoiZGlkOmV4YW1wbGU6ZWJmZWIxZjcxMmViYzZmMWMyNzZlMTJlYzIxIiwiZGVncmVlIjp7InR5cGUiOiJFeGFtcGxlQmFjaGVsb3JEZWdyZWUiLCJuYW1lIjoiQmFjaGVsb3Igb2YgU2NpZW5jZSBhbmQgQXJ0cyJ9fX0 .gI1ZJ_8cYT-BIoMPrrYP0NMR0o-TtQpj6T___g0yKloycMCM_fbvXPj_Lv6dLlZ8XtDXPMS-EkaFL4eX_imh2g
application/vc
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ],
  "issuer": "https://university.example/issuers/565049",
  "validFrom": "2010-01-01T00:00:00Z",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  }
}
application/vc+cose
d28443a10128a05901be7b2240636f6e74657874223a5b2268747470733a2f2f7777772e77332e6f72672f6e732f63726564656e7469616c732f7632222c2268747470733a2f2f7777772e77332e6f72672f6e732f63726564656e7469616c732f6578616d706c65732f7632225d2c226964223a22687474703a2f2f756e69766572736974792e6578616d706c652f63726564656e7469616c732f33373332222c2274797065223a5b2256657269666961626c6543726564656e7469616c222c224578616d706c6544656772656543726564656e7469616c225d2c22697373756572223a2268747470733a2f2f756e69766572736974792e6578616d706c652f697373756572732f353635303439222c2276616c696446726f6d223a22323031302d30312d30315430303a30303a30305a222c2263726564656e7469616c5375626a656374223a7b226964223a226469643a6578616d706c653a656266656231663731326562633666316332373665313265633231222c22646567726565223a7b2274797065223a224578616d706c6542616368656c6f72446567726565222c226e616d65223a2242616368656c6f72206f6620536369656e636520616e642041727473227d7d7d5840ca93bff565494c57c9279bc76c367b086398ee3e00f59b33327cff8d411f5e00d6047a2494eb9248ca62fbe4ce4ee281880887ad4268cac3732b0e2ec9daba11
eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMyNTYifQ .eyJpYXQiOjE3ODg2NDI1NjIsImV4cCI6MTc4OTg1MjE2MiwiX3NkX2FsZyI6InNoYS0yNTYiLCJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwiaXNzdWVyIjoiaHR0cHM6Ly91bml2ZXJzaXR5LmV4YW1wbGUvaXNzdWVycy81NjUwNDkiLCJ2YWxpZEZyb20iOiIyMDEwLTAxLTAxVDAwOjAwOjAwWiIsImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImRlZ3JlZSI6eyJuYW1lIjoiQmFjaGVsb3Igb2YgU2NpZW5jZSBhbmQgQXJ0cyIsIl9zZCI6WyJTWnZKeFJwTVRtV0pETGh4eWZ5OVQ1NDhrNlQ0akJwOG44LUNiaGI4V0w0Il19LCJfc2QiOlsidlpjU0tPS0taMWxSYVhRaUtkdnlHckJQck9uX1BXSTV3MEZDTXFiWV9VSSJdfSwiX3NkIjpbIjEzajJLUHlTSjctMXJneTNYLVYzZHRGdDRSSGstV1ZWVDBmQTdPd3gybjAiLCJNSWJ0by1MeTVUMnhlQjRKSzNVZkd5OFZiM2k2RHg2MGRzZGFWN0NqX1VRIl19 .gnzH1SGmmnZQTJq9asDcqwWNw6Eka4U2sJR2eTef6JlBGgCej2pGhQf_fcA-AG6Spuvgb_JGmslbvMPCMF3l0g ~WyJuQkhDdzQtT2xyd3ZqZEd2QkRtakxBIiwgImlkIiwgImh0dHA6Ly91bml2ZXJzaXR5LmV4YW1wbGUvY3JlZGVudGlhbHMvMzczMiJd~WyJpWnhvb0QwRGJFNU9OSUxVTlhVU1NnIiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIkV4YW1wbGVEZWdyZWVDcmVkZW50aWFsIl1d~WyJ3ekd6dC1FOUtvS2xWQ1hPb3lSOUZ3IiwgImlkIiwgImRpZDpleGFtcGxlOmViZmViMWY3MTJlYmM2ZjFjMjc2ZTEyZWMyMSJd~WyJQLXR3cUk3YnN5M0FaWUtheUIybXpBIiwgInR5cGUiLCAiRXhhbXBsZUJhY2hlbG9yRGVncmVlIl0~
{
  "kid": "ExHkBMW9fmbkvV266mRpuP2sUY_N_EWIN1lapUzO8ro",
  "alg": "ES256"
}
{
  "iat": 1788642562,
  "exp": 1789852162,
  "_sd_alg": "sha-256",
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "issuer": "https://university.example/issuers/565049",
  "validFrom": "2010-01-01T00:00:00Z",
  "credentialSubject": {
    "degree": {
      "name": "Bachelor of Science and Arts",
      "_sd": [
        "SZvJxRpMTmWJDLhxyfy9T548k6T4jBp8n8-Cbhb8WL4"
      ]
    },
    "_sd": [
      "vZcSKOKKZ1lRaXQiKdvyGrBPrOn_PWI5w0FCMqbY_UI"
    ]
  },
  "_sd": [
    "13j2KPySJ7-1rgy3X-V3dtFt4RHk-WVVT0fA7Owx2n0",
    "MIbto-Ly5T2xeB4JK3UfGy8Vb3i6Dx60dsdaV7Cj_UQ"
  ]
}

主張: id

SHA-256ハッシュ: MIbto-Ly5T2xeB4JK3UfGy8Vb3i6Dx60dsdaV7Cj_UQ

開示: WyJuQkhDdzQtT2xyd3ZqZEd2QkRtakxBIiwgImlkIiwgImh0dHA6Ly91bml2ZXJzaXR5LmV4YW1wbGUvY3JlZGVudGlhbHMvMzczMiJd

内容: [
  "nBHCw4-OlrwvjdGvBDmjLA",
  "id",
  "http://university.example/credentials/3732"
]

主張: type

SHA-256ハッシュ: 13j2KPySJ7-1rgy3X-V3dtFt4RHk-WVVT0fA7Owx2n0

開示: WyJpWnhvb0QwRGJFNU9OSUxVTlhVU1NnIiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIkV4YW1wbGVEZWdyZWVDcmVkZW50aWFsIl1d

内容: [
  "iZxooD0DbE5ONILUNXUSSg",
  "type",
  [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ]
]

主張: id

SHA-256ハッシュ: vZcSKOKKZ1lRaXQiKdvyGrBPrOn_PWI5w0FCMqbY_UI

開示: WyJ3ekd6dC1FOUtvS2xWQ1hPb3lSOUZ3IiwgImlkIiwgImRpZDpleGFtcGxlOmViZmViMWY3MTJlYmM2ZjFjMjc2ZTEyZWMyMSJd

内容: [
  "wzGzt-E9KoKlVCXOoyR9Fw",
  "id",
  "did:example:ebfeb1f712ebc6f1c276e12ec21"
]

主張: type

SHA-256ハッシュ: SZvJxRpMTmWJDLhxyfy9T548k6T4jBp8n8-Cbhb8WL4

開示: WyJQLXR3cUk3YnN5M0FaWUtheUIybXpBIiwgInR5cGUiLCAiRXhhbXBsZUJhY2hlbG9yRGVncmVlIl0

内容: [
  "P-twqI7bsy3AZYKayB2mzA",
  "type",
  "ExampleBachelorDegree"
]

複数の主体に関する情報を 検証可能なクレデンシャルで表現できます。以下の例では、 2つの 主体を配偶者として指定します。配列表記を使用して、 複数の 主体credentialSubjectプロパティに関連付けている点に注意してください。

10: 検証可能なクレデンシャルでの複数の主体の 指定
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": ["VerifiableCredential", "RelationshipCredential"],
  "issuer": "https://issuer.example/issuer/123",
  "validFrom": "2010-01-01T00:00:00Z",
  "credentialSubject": [{
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "name": "Jayden Doe",
    "spouse": "did:example:c276e12ec21ebfeb1f712ebc6f1"
  }, {
    "id": "https://subject.example/subject/8675",
    "name": "Morgan Doe",
    "spouse": "https://subject.example/subject/7421"
  }]
}

4.9 有効期間

この仕様は、validFrom プロパティを定義し、 発行者がクレデンシャルが有効になる日時を表現できるようにします。また、 validUntil プロパティは、 クレデンシャルが有効でなくなる日時を表現します。

日付と時刻を比較する際、計算は「時間的に」行われます。 つまり、文字列値は、タイムライン上の一点として存在する 「時間値」に変換されます。その後、比較対象の日時が タイムライン上の特定の時点に対してどこに位置するかを確認することで、 時間的な比較が行われます。

validFrom
存在する場合、validFrom プロパティの値はMUST、 [XMLSCHEMA11-2] dateTimeStamp文字列値でなければなりません。この値は、 クレデンシャルが有効になる日時を表します。その日時は 将来または 過去の場合があります。この値は、 credentialSubject プロパティに関連付けられた情報が有効になる最も早い時点を表すことに注意してください。validUntil値も 存在する場合、 validFrom値はMUST、 その時点と時間的に同じか、 validUntil値が表す時点よりも早い時点を表現しなければなりません。
validUntil
存在する場合、validUntil プロパティの値はMUST、 [XMLSCHEMA11-2] dateTimeStamp文字列値でなければなりません。この値は、 クレデンシャルが有効でなくなる日時を表します。その日時は 過去または 将来の場合があります。この値は、 credentialSubject プロパティに関連付けられた情報が有効である最も遅い時点を表すことに注意してください。validFrom値も 存在する場合、validUntil 値はMUST、その時点と時間的に同じか、それより後の時点を 表現しなければなりません。比較対象は、 validFrom値が表す時点です。
11: validFromおよびvalidUntil プロパティの使用
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": ["VerifiableCredential", "ExampleDegreeCredential"],
  "issuer": "https://university.example/issuers/14",
  "validFrom": "2010-01-01T19:23:24Z",
  "validUntil": "2020-01-01T19:23:24Z",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  }
}
application/vc
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ],
  "issuer": "https://university.example/issuers/14",
  "validFrom": "2010-01-01T19:23:24Z",
  "validUntil": "2020-01-01T19:23:24Z",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  },
  "proof": {
    "type": "DataIntegrityProof",
    "created": "2026-09-05T21:09:22Z",
    "verificationMethod": "did:key:zDnaeqpc578Kg3k9asdXLMhsQSjh8HMPp3ip3miiWZUUhsv9p",
    "cryptosuite": "ecdsa-rdfc-2019",
    "proofPurpose": "assertionMethod",
    "proofValue": "z2dKRP62PT5tXJWmMFwoRwaLirvpM3KQSyezxRrppMWWAyQHQgqSvFQqJrerRp9n1pm6w4bNgRV8KVq7LnMDkFmbo"
  }
}
application/vc
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ],
  "issuer": "https://university.example/issuers/14",
  "validFrom": "2010-01-01T19:23:24Z",
  "validUntil": "2020-01-01T19:23:24Z",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  },
  "proof": {
    "type": "DataIntegrityProof",
    "created": "2026-09-05T21:09:22Z",
    "verificationMethod": "did:key:zDnaee6cRuNdNecab7A7cnbb6w5xovYRWxYirEHstya3usouK",
    "cryptosuite": "ecdsa-sd-2023",
    "proofPurpose": "assertionMethod",
    "proofValue": "u2V0AhVhASymzIzRv9itXTEGFOhWeeaRGltN3Q5ZTLerIOIT_YOZnsEiIGhc2_6lxxriLmcUx4vCEqzwLWM7qQL_bu0-y-FgjgCQCd0IBv_dHa_tVxxyByNXUEpchBk6mBfNDpC2cTGbkRphYIPfGlHazfyyvni0ogmkmzbtBeW2ypsWnfeHkpdq7scxshlhA1MRdQ7vZEkIAwHSFrXj88CYxvOhKY_H6tnhkUIqOrZVuYHwkP9N1rQjN3FxE6K5nF98nt-g0Kw0m2LKxs8v771hAVeYeJ8JZ-LsldBa_OBfviMyta3rMzxReE3jwM70P5SkcY3q7DMP6AWdvowGVWe-MhO2t3lG9t6FTV3WY2xYumlhAv_MGxQlKo55okftl6QJCs4G0MC22-7l9DhRk7PTGOXP0EvAtPrtMbQ43iJMDY88JESSiv1IUnu_IH-BUorqye1hACa_36i20pLl8nteRriKsz6JROIWELHPyh9dqACyzZdfObvh2aweK3EXwW2DEs8qe-mAk1JELhuxF6k9fD26mqFhA7W-Mwb15_hIFWh0Dy8KFuF1u-b8AZwrWoVuDOKDPGKfGHnxCKNiKRTg9q7evsaPROjJ3ZtaoEpsQ7JvnqqKNV1hAaaQEbl1S-UYFFOYuoFyMPPj_emQbfBzl-hYEJNKJNW_5Lq_H81O7GJPyA5ajvSqmhKlbjLiZIn9sAxLppCdwp4FnL2lzc3Vlcg"
  }
}
application/vc
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ],
  "issuer": "https://university.example/issuers/14",
  "validFrom": "2010-01-01T19:23:24Z",
  "validUntil": "2020-01-01T19:23:24Z",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  },
  "proof": {
    "type": "DataIntegrityProof",
    "verificationMethod": "did:key:zUC7JVyoNecN4arDQjjTXVSfyv1V7bwcnMUs6y2BuSeWmzarPohM5DLXAXXxkBRrpjbzZTUdrLaAVoj87nPgXktL3q8JgBvRqqHo9Z88Jfn2tXXM8Q1aTDhNgf1HYL9WEMiULnS",
    "cryptosuite": "bbs-2023",
    "proofPurpose": "assertionMethod",
    "proofValue": "u2V0ChVhQsWlptnesgCHlq0jnOxdSQZ-vBEyCHlufPsK_10HmZUW6p2Tk39-3nPU-D5Wpx5tnCp-pXmZe1oJUTMpZkD1752Q_hJji2VTngfoF5ThcBatYQD3-tli9rF9b1rOCOCaDSL0zj-QnIO3TIaEobJTPayaIKnv3N5iX7nvZR0OCXS-uXH4QQ9mW65QM5qlHOfE4GQVYYLMBLFvXdBPRt0k4kRZk93gc0jkscNQB3wJpCXu4OPkNaVJMlX03jEKZdwQ437AaRg2tSqfzd_pbHzZq9O7FyF1fsAT1tn_tHqFT5wrUWfaGtHJRQwv6rnUS3s9HBqQB_1ggWWL7Q19VWfetyDZL8ZT3MUW20katDynN9Sq9ZLkpglGBZy9pc3N1ZXI"
  }
}
保護されたヘッダー
{
  "kid": "ExHkBMW9fmbkvV266mRpuP2sUY_N_EWIN1lapUzO8ro",
  "alg": "ES256"
}
application/vc
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ],
  "issuer": "https://university.example/issuers/14",
  "validFrom": "2010-01-01T19:23:24Z",
  "validUntil": "2020-01-01T19:23:24Z",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  }
}
application/vc+jwt
eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMyNTYifQ .eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwiaWQiOiJodHRwOi8vdW5pdmVyc2l0eS5leGFtcGxlL2NyZWRlbnRpYWxzLzM3MzIiLCJ0eXBlIjpbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwiRXhhbXBsZURlZ3JlZUNyZWRlbnRpYWwiXSwiaXNzdWVyIjoiaHR0cHM6Ly91bml2ZXJzaXR5LmV4YW1wbGUvaXNzdWVycy8xNCIsInZhbGlkRnJvbSI6IjIwMTAtMDEtMDFUMTk6MjM6MjRaIiwidmFsaWRVbnRpbCI6IjIwMjAtMDEtMDFUMTk6MjM6MjRaIiwiY3JlZGVudGlhbFN1YmplY3QiOnsiaWQiOiJkaWQ6ZXhhbXBsZTplYmZlYjFmNzEyZWJjNmYxYzI3NmUxMmVjMjEiLCJkZWdyZWUiOnsidHlwZSI6IkV4YW1wbGVCYWNoZWxvckRlZ3JlZSIsIm5hbWUiOiJCYWNoZWxvciBvZiBTY2llbmNlIGFuZCBBcnRzIn19fQ .P0eGvUw8ZPWZ0R8rfCy8Cd8hsdx4iMz3ihIAb7phHNKSRS3QMUXpxxz7ELEBkBHqw_dwtFM23IyipurTgL4XLw
application/vc
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ],
  "issuer": "https://university.example/issuers/14",
  "validFrom": "2010-01-01T19:23:24Z",
  "validUntil": "2020-01-01T19:23:24Z",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  }
}
application/vc+cose
d28443a10128a05901de7b2240636f6e74657874223a5b2268747470733a2f2f7777772e77332e6f72672f6e732f63726564656e7469616c732f7632222c2268747470733a2f2f7777772e77332e6f72672f6e732f63726564656e7469616c732f6578616d706c65732f7632225d2c226964223a22687474703a2f2f756e69766572736974792e6578616d706c652f63726564656e7469616c732f33373332222c2274797065223a5b2256657269666961626c6543726564656e7469616c222c224578616d706c6544656772656543726564656e7469616c225d2c22697373756572223a2268747470733a2f2f756e69766572736974792e6578616d706c652f697373756572732f3134222c2276616c696446726f6d223a22323031302d30312d30315431393a32333a32345a222c2276616c6964556e74696c223a22323032302d30312d30315431393a32333a32345a222c2263726564656e7469616c5375626a656374223a7b226964223a226469643a6578616d706c653a656266656231663731326562633666316332373665313265633231222c22646567726565223a7b2274797065223a224578616d706c6542616368656c6f72446567726565222c226e616d65223a2242616368656c6f72206f6620536369656e636520616e642041727473227d7d7d5840dc2074e8b3ceafa11bcc227acfa0baadb10ea63363aae60cf0c9e3b11a434cb493e55ddbcccee42110bd865609c10d01050a1aa47ee480aa25425406faec55d4
eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMyNTYifQ .eyJpYXQiOjE3ODg2NDI1NjIsImV4cCI6MTc4OTg1MjE2MiwiX3NkX2FsZyI6InNoYS0yNTYiLCJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwiaXNzdWVyIjoiaHR0cHM6Ly91bml2ZXJzaXR5LmV4YW1wbGUvaXNzdWVycy8xNCIsInZhbGlkRnJvbSI6IjIwMTAtMDEtMDFUMTk6MjM6MjRaIiwidmFsaWRVbnRpbCI6IjIwMjAtMDEtMDFUMTk6MjM6MjRaIiwiY3JlZGVudGlhbFN1YmplY3QiOnsiZGVncmVlIjp7Im5hbWUiOiJCYWNoZWxvciBvZiBTY2llbmNlIGFuZCBBcnRzIiwiX3NkIjpbIlFFTFFaSld5dEY2alI1Y1hOSW1PbjRacGZOSVRnZzE0R05XRTQwbjVYQ1kiXX0sIl9zZCI6WyJKbjZaemZEelNvM3B1dzA2UVBpVGlMZklTU3N0b2RhTG5GRVhtME50YWg0Il19LCJfc2QiOlsiZEw0QlJqQmd4RjQ0ckwxSHBPNHhmYjdXWnZvVFh5UkNlYnQ1S0pMaFFjbyIsImh2al9sUi1QVW1tdkhLYThpeU5lUXp4aERyaTlZNG0xZ2pteGRCOWM2Z2MiXX0 .OCBfZ4_IyoGY5ys0vmwH0KFq3_jAbOZXITlkabbHfg5bJN2XACuEDbHNZI8apUOIyWcyrB8POHOOhl6zgmpKJA ~WyJ6d2Nfa1RlZEpMdmtHSGdIY1FkTGJnIiwgImlkIiwgImh0dHA6Ly91bml2ZXJzaXR5LmV4YW1wbGUvY3JlZGVudGlhbHMvMzczMiJd~WyJ6MGZXRlR4OUFzazFEX25ZZnNEZFZRIiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIkV4YW1wbGVEZWdyZWVDcmVkZW50aWFsIl1d~WyJPcWlCRWRJajZxem1vSld4dHBhUV9nIiwgImlkIiwgImRpZDpleGFtcGxlOmViZmViMWY3MTJlYmM2ZjFjMjc2ZTEyZWMyMSJd~WyJRUmtxVDdKZkwtOXZyMzU3RXNZbF9nIiwgInR5cGUiLCAiRXhhbXBsZUJhY2hlbG9yRGVncmVlIl0~
{
  "kid": "ExHkBMW9fmbkvV266mRpuP2sUY_N_EWIN1lapUzO8ro",
  "alg": "ES256"
}
{
  "iat": 1788642562,
  "exp": 1789852162,
  "_sd_alg": "sha-256",
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "issuer": "https://university.example/issuers/14",
  "validFrom": "2010-01-01T19:23:24Z",
  "validUntil": "2020-01-01T19:23:24Z",
  "credentialSubject": {
    "degree": {
      "name": "Bachelor of Science and Arts",
      "_sd": [
        "QELQZJWytF6jR5cXNImOn4ZpfNITgg14GNWE40n5XCY"
      ]
    },
    "_sd": [
      "Jn6ZzfDzSo3puw06QPiTiLfISSstodaLnFEXm0Ntah4"
    ]
  },
  "_sd": [
    "dL4BRjBgxF44rL1HpO4xfb7WZvoTXyRCebt5KJLhQco",
    "hvj_lR-PUmmvHKa8iyNeQzxhDri9Y4m1gjmxdB9c6gc"
  ]
}

主張: id

SHA-256ハッシュ: hvj_lR-PUmmvHKa8iyNeQzxhDri9Y4m1gjmxdB9c6gc

開示: WyJ6d2Nfa1RlZEpMdmtHSGdIY1FkTGJnIiwgImlkIiwgImh0dHA6Ly91bml2ZXJzaXR5LmV4YW1wbGUvY3JlZGVudGlhbHMvMzczMiJd

内容: [
  "zwc_kTedJLvkGHgHcQdLbg",
  "id",
  "http://university.example/credentials/3732"
]

主張: type

SHA-256ハッシュ: dL4BRjBgxF44rL1HpO4xfb7WZvoTXyRCebt5KJLhQco

開示: WyJ6MGZXRlR4OUFzazFEX25ZZnNEZFZRIiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIkV4YW1wbGVEZWdyZWVDcmVkZW50aWFsIl1d

内容: [
  "z0fWFTx9Ask1D_nYfsDdVQ",
  "type",
  [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ]
]

主張: id

SHA-256ハッシュ: Jn6ZzfDzSo3puw06QPiTiLfISSstodaLnFEXm0Ntah4

開示: WyJPcWlCRWRJajZxem1vSld4dHBhUV9nIiwgImlkIiwgImRpZDpleGFtcGxlOmViZmViMWY3MTJlYmM2ZjFjMjc2ZTEyZWMyMSJd

内容: [
  "OqiBEdIj6qzmoJWxtpaQ_g",
  "id",
  "did:example:ebfeb1f712ebc6f1c276e12ec21"
]

主張: type

SHA-256ハッシュ: QELQZJWytF6jR5cXNImOn4ZpfNITgg14GNWE40n5XCY

開示: WyJRUmtxVDdKZkwtOXZyMzU3RXNZbF9nIiwgInR5cGUiLCAiRXhhbXBsZUJhY2hlbG9yRGVncmVlIl0

内容: [
  "QRkqT7JfL-9vr357EsYl_g",
  "type",
  "ExampleBachelorDegree"
]

注記: 検証可能なクレデンシャルの 有効期間の開始

validFromおよびvalidUntilが存在しない場合、 検証可能なクレデンシャルの有効期間は、 無期限に有効であると みなされます。このような場合、検証可能なクレデンシャルは、 verifiable credentialが作成された時点から有効であるとみなされます。

4.10 ステータス

この仕様は、 credentialStatus プロパティを、 検証可能なクレデンシャルのステータスに関する情報(そのクレデンシャルが一時停止または 失効しているかどうかなど)を取得するために定義します。

存在する場合、credentialStatus プロパティに関連付けられた値は、 単一のオブジェクト、または1つ以上のオブジェクトの集合です。各オブジェクトには、次のプロパティが 定義されています。

id
id プロパティOPTIONALです。これはMAY、 クレデンシャルのステータスオブジェクトに一意の識別子を付与するために使用してもかまいません。存在する場合、 セクション4.4 識別子の規範的指針にMUST 従わなければなりません。
type
type プロパティREQUIREDです。これは、 オブジェクトが表す ステータス情報の型を表現するために使用されます。関連する規範的 指針として、セクション4.5 MUST従わなければなりません。

クレデンシャルのステータス情報の正確な内容は、 個別の credentialStatus の定義によって決まり、 実装が簡単か、プライバシーを強化するかといった要因に応じて 異なります。その値は、クレデンシャルの現在のステータスと、機械可読情報を URLから取得できるかどうかを判断するのに十分な情報を提供します。たとえば、オブジェクトには、 クレデンシャルが一時停止または失効しているかを記した外部文書へのリンクを含めることができます。

12: ステータスプロパティの使用
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": ["VerifiableCredential", "ExampleDegreeCredential"],
  "issuer": "https://university.example/issuers/14",
  "validFrom": "2010-01-01T19:23:24Z",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  },
  "credentialStatus": {
    "id": "https://university.example/credentials/status/3#94567",
    "type": "BitstringStatusListEntry",
    "statusPurpose": "revocation",
    "statusListIndex": "94567",
    "statusListCredential": "https://university.example/credentials/status/3"
  }
}

クレデンシャルには、失効または一時停止しているかどうかなど、複数のステータスを 関連付けることができます。

13: ステータス プロパティでの複数エントリの使用
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://license.example/credentials/9837",
  "type": ["VerifiableCredential", "ExampleDrivingLicenseCredential"],
  "issuer": "https://license.example/issuers/48",
  "validFrom": "2020-03-14T12:10:42Z",
  "credentialSubject": {
    "id": "did:example:f1c276e12ec21ebfeb1f712ebc6",
    "license": {
      "type": "ExampleDrivingLicense",
      "name": "License to Drive a Car"
    }
  },
  "credentialStatus": [{
    "id": "https://license.example/credentials/status/84#14278",
    "type": "BitstringStatusListEntry",
    "statusPurpose": "revocation",
    "statusListIndex": "14278",
    "statusListCredential": "https://license.example/credentials/status/84"
  }, {
    "id": "https://license.example/credentials/status/84#82938",
    "type": "BitstringStatusListEntry",
    "statusPurpose": "suspension",
    "statusListIndex": "82938",
    "statusListCredential": "https://license.example/credentials/status/84"
  }]
}

実装者は、複数のステータスエントリを持つクレデンシャルに 相反する情報が含まれる可能性があることに注意してください。このような矛盾の調整は、 妥当性検証プロセスの一部であり、したがって検証者のビジネス ロジックの一部となるため、 この仕様の範囲外です。

ステータス方式のデータモデル、形式、およびプロトコルを定義することは、 この仕様の範囲外です。検証可能なクレデンシャル拡張文書には、 検証可能なクレデンシャルのステータス確認を実装したい実装者が利用できる ステータス方式が掲載されています。

クレデンシャルのステータス仕様はMUST NOT、個人の追跡を可能にしてはなりません。たとえば、 発行者が、 検証者が特定の保有者または主体に関心を持ったときに、直接または間接に通知を受けることなどです。容認できない 手法には、クレデンシャルを使用するたびに、特定の個人のステータスを確認するために 発行者へ連絡する「ホームへの通信」や、 クレデンシャルを使用するたびに発行者へ情報を要求し、その発行者がその情報を使用して、 検証者が特定の個人に関心を持っていることを推測できる「仮名性の低下」が含まれます。

4.11 データスキーマ

データスキーマは、特定のデータ集合に所定の構造を適用するときに 役立ちます。この仕様では、少なくとも次の2種類のデータスキーマを 考慮します。

データスキーマは、次のプロパティとは異なる目的を果たすことを理解することが重要です。 @contextプロパティは、データ構造も データ構文も適用せず、代替 表現形式への任意の符号化を定義することもできません。

この仕様は、データスキーマを表現するための次のプロパティを定義します。発行者は、発行する検証可能なクレデンシャルに このプロパティを含めることができます。

credentialSchema

credentialSchema プロパティの値はMUST、1つ以上の データスキーマでなければなりません。それらのスキーマは、提供されたデータが提供されたスキーマに適合するかどうかを判断するのに十分な情報を検証者へ 提供します。各 credentialSchemaMUST、自身のtype( たとえば、 JsonSchema)およびid プロパティを指定しなければなりません。その値はMUST、スキーマファイルを識別するURLでなければなりません。個別の 型の 定義によって、各データスキーマの正確な内容が決まります。

複数のスキーマが存在する場合、妥当性は、関連付けられた各typeプロパティで 規定される処理規則に従って決定されます。

注記: クレデンシャルの 型に固有の構文検査が可能です

credentialSchema プロパティを使用すると、 型定義に注釈を付けたり、語彙の特定のバージョンに固定したりできます。 検証可能なクレデンシャルの作成者は、 何らかのコンテンツ完全性保護メカニズムによって保護された 語彙の静的バージョンをcredentialSchemaによって含めることができます。 credentialSchema プロパティにより、 クレデンシャルの構文検査を実行し、検証メカニズムを 使用することもできます。たとえば、JSON Schema [VC-JSON-SCHEMA]による妥当性検証です。

14: credentialSchemaプロパティを使用した JSON Schemaの妥当性検証
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": ["VerifiableCredential", "ExampleDegreeCredential", "ExamplePersonCredential"],
  "issuer": "https://university.example/issuers/14",
  "validFrom": "2010-01-01T19:23:24Z",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    },
    "alumniOf": {
      "name": "Example University"
    }
  },
  "credentialSchema": [{
    "id": "https://example.org/examples/degree.json",
    "type": "JsonSchema"
  },
  {
    "id": "https://example.org/examples/alumni.json",
    "type": "JsonSchema"
  }]
}

上の例では、発行者が2つのcredentialSchema オブジェクトを指定しています。各オブジェクトは、JSON Schema [VC-JSON-SCHEMA]ファイルを指しています。これにより、 検証者は、検証可能なクレデンシャルが 適正形式であるかどうかを判断できます。

4.12 保護メカニズム

この仕様では、2種類の 保護 メカニズムを認めます。 エンベロープ証明を使用するものと、埋め込み証明を使用するものです。

エンベロープ証明は、このデータモデルのシリアライズを 包み込みます。このようなRECOMMENDEDエンベロープ証明メカニズムの1つが、 JOSEおよびCOSEを使用した 検証可能なクレデンシャルの保護 [VC-JOSE-COSE]で定義されています。

埋め込み証明は、 データモデルのシリアライズに証明を 含めるメカニズムです。このようなRECOMMENDED埋め込み 証明メカニズムの1つが、検証可能なクレデンシャルのData Integrity 1.0 [VC-DATA-INTEGRITY]で定義されています。

この2種類の保護メカニズムは相互排他的ではありません。追加の 保護メカニズム仕様も、セクション5.13 保護メカニズム仕様の規則に従って定義される場合があります。

15: 埋め込み 証明を使用する検証可能なクレデンシャル
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://example.gov/credentials/3732",
  "type": ["VerifiableCredential", "ExampleDegreeCredential"],
  "issuer": "did:example:6fb1f712ebe12c27cc26eebfe11",
  "validFrom": "2010-01-01T19:23:24Z",
  "credentialSubject": {
    "id": "https://subject.example/subject/3921",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  },
  "proof": {
    "type": "DataIntegrityProof",
    "cryptosuite": "eddsa-rdfc-2022",
    "created": "2021-11-13T18:19:39Z",
    "verificationMethod": "https://university.example/issuers/14#key-1",
    "proofPurpose": "assertionMethod",
    "proofValue": "z58DAdFfa9SkqZMVPxAQp...jQCrfFPP2oumHKtz"
  }
}

上の埋め込み証明は、元のクレデンシャルを、 proofプロパティを介して元のデータにデジタル署名を付加することで保護します。 その結果、最新の プログラミング環境やデータベースシステムで容易に管理できる検証可能なクレデンシャルが 得られます。

16: SD-JWT形式のエンベロープ 証明を使用する検証可能なクレデンシャル
eyJhbGciOiJFUzM4NCIsImtpZCI6IkdOV2FBTDJQVlVVMkpJVDg5bTZxMGM3U3ZjNDBTLWJ2UjFTT0
Q3REZCb1UiLCJ0eXAiOiJ2YytsZCtqc29uK3NkLWp3dCIsImN0eSI6InZjK2xkK2pzb24ifQ
.
eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwcz
ovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwiaXNzdWVyIjoiaHR0cHM6
Ly91bml2ZXJzaXR5LmV4YW1wbGUvaXNzdWVycy81NjUwNDkiLCJ2YWxpZEZyb20iOiIyMDEwLTAxLT
AxVDE5OjIzOjI0WiIsImNyZWRlbnRpYWxTY2hlbWEiOnsiX3NkIjpbIlNFOHp4bmduZTNNbWEwLUNm
S2dlYW1rNUVqU1NfOXRaNlN5NDdBdTdxRWMiLCJjT3lySEVrSlZwdEtSdURtNkNZVTREajJvRkExd0
JQRjFHcTJnWEo1NXpzIl19LCJjcmVkZW50aWFsU3ViamVjdCI6eyJkZWdyZWUiOnsibmFtZSI6IkJh
Y2hlbG9yIG9mIFNjaWVuY2UgYW5kIEFydHMiLCJfc2QiOlsibVNfSVBMa0JHcTIxbVA3Z0VRaHhOck
E0ZXNMc1ZKQ1E5QUpZNDFLLVRQSSJdfSwiX3NkIjpbIlhTSG9iU05Md01PVl9QNkhQMHNvMnZ1clNy
VXZ3UURYREJHQWtyTXk3TjgiXX0sIl9zZCI6WyJQNE5qWHFXa2JOc1NfRzdvdmlLdm1NOG0yckhDTm
5XVVV2SXZBbW9jb2RZIiwieFNvSHBKUXlCNGV1dmg4SkFJdDFCd1pjNFVEOHY5S3ZOTmVLMk9OSjFC
QSJdLCJfc2RfYWxnIjoic2hhLTI1NiIsImlzcyI6Imh0dHBzOi8vdW5pdmVyc2l0eS5leGFtcGxlL2
lzc3VlcnMvNTY1MDQ5IiwiaWF0IjoxNzAzNjI1OTAxLCJleHAiOjE3MzUyNDgzMDEsImNuZiI6eyJq
d2siOnsia3R5IjoiRUMiLCJjcnYiOiJQLTM4NCIsImFsZyI6IkVTMzg0IiwieCI6Inl1Zlo1SFUzcU
NfOTRMbkI3Zklzd0hmT0swQlJra0Z5bzVhd1QyX21ld0tJWUpLMVNfR0QySVB3UjRYUTZpdFEiLCJ5
IjoiRmEtV2pOd2NLQ1RWWHVDU2tCY3RkdHJOYzh6bXdBTTZWOWxudmxxd1QyQnRlQ0ZHNmR6ZDJoMF
VjeXluTDg0dCJ9fX0
.
M7BFJB9LEV_xEylSJpP00fd_4WjrOlXshh0dUv3QgOzw2MEGIfSfi9PoCkHJH7TI0InsqkD6XZVz38
MpeDKekgBW-RoDdJmxnifYOEJhKpJ5EN9PvA007UPi9QCaiEzX
~
WyJFX3F2V09NWVQ1Z3JNTkprOHNXN3BBIiwgImlkIiwgImh0dHA6Ly91bml2ZXJzaXR5LmV4YW1wbG
UvY3JlZGVudGlhbHMvMTg3MiJd
~
WyJTSEc4WnpfRDVRbFMwU0ZrZFUzNXlRIiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIi
wgIkV4YW1wbGVBbHVtbmlDcmVkZW50aWFsIl1d
~
WyJqZzJLRno5bTFVaGFiUGtIaHV4cXRRIiwgImlkIiwgImh0dHBzOi8vZXhhbXBsZS5vcmcvZXhhbX
BsZXMvZGVncmVlLmpzb24iXQ
~
WyItQmhzaE10UnlNNUVFbGt4WGVXVm5nIiwgInR5cGUiLCAiSnNvblNjaGVtYSJd~WyJ0SEFxMEUwN
nY2ckRuUlNtSjlSUWRBIiwgImlkIiwgImRpZDpleGFtcGxlOjEyMyJd
~
WyJ1Ynd6bi1kS19tMzRSMGI0SG84QTBBIiwgInR5cGUiLCAiQmFjaGVsb3JEZWdyZWUiXQ

上のエンベロープ証明は、元のクレデンシャルを、 元のデータをデジタル署名エンベロープにカプセル化することで保護します。その結果、 検証可能なクレデンシャルは、 SD-JWT形式を理解する ツールを使用して処理できるようになります。

4.13 検証可能な提示

検証可能な提示MAY、複数の検証可能なクレデンシャルからの情報を 集約するために使用してもかまいません。

検証可能な提示SHOULD、存続期間を極めて短くし、 検証者が提供するチャレンジに結び付けるべきです。その実現方法の詳細は、 保護メカニズム、転送プロトコル、および検証者のポリシーによって異なります。 特定の保護メカニズムまたは埋め込みプロトコルによって追加要件が定義されていない限り、 検証者は通常、 検証可能な提示が、提示された 検証可能なクレデンシャルと相関しているとは想定できません。

デフォルトグラフは、検証可能な提示において、 検証可能な提示グラフとも呼ばれます。

検証可能な提示には、次のプロパティが定義されています。

id
id プロパティは任意です。これはMAY検証可能な提示に 一意の識別子を付与するために使用してもかまいません。存在する場合、 セクション4.4 識別子の規範的指針にMUST 従わなければなりません。
type
type プロパティMUST、存在しなければなりません。これは、 検証可能な提示の 型を表現するために使用されます。このプロパティの値の1つはMUSTVerifiablePresentationでなければなりませんが、追加の型をMAY含めてもかまいません。 関連する 規範的指針として、セクション4.5 MUST 従わなければなりません。
verifiableCredential
verifiableCredential プロパティMAY、 存在してもかまいません。その値は、 MUST、1つ以上の検証可能なクレデンシャルおよび/または エンベロープされた検証可能なクレデンシャル オブジェクトでなければなりません(値はMUST NOT、 数値、文字列、URLなどのオブジェクト以外の値であってはなりません)。これらのオブジェクトは、 検証可能なクレデンシャルグラフと呼ばれ、 MUST保護メカニズムを使用して保護された情報を表現しなければなりません。 詳細については、セクション5.12 検証可能なクレデンシャルグラフを参照してください。
holder
検証可能な提示にはMAYholder プロパティを含めてもかまいません。存在する場合、その値はMUSTURLまたは id プロパティを含むオブジェクトのいずれかでなければなりません。RECOMMENDEDとして、 URL形式のholder値、またはそのid値には、 参照解決したときに、保有者に関する機械可読情報を含む文書が得られるものを使用してください。その情報は、 検証に使用でき、対象となる情報は 検証可能な提示で表現されたものです。 holder プロパティが存在しない場合、 保有者に関する情報は保護メカニズムを介して取得されるか、 または妥当性検証には関係しません。ここでいう妥当性検証の対象は検証可能な提示です。

以下の例は、検証可能な提示を示しています。

17: 提示の基本構造
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "urn:uuid:3978344f-8596-4c3a-a978-8fcaba3903c5",
  "type": ["VerifiablePresentation", "ExamplePresentation"],
  "verifiableCredential": [{ ... }]
}

上に示したverifiableCredential プロパティの内容は、 この仕様で説明する検証可能なクレデンシャル グラフです。

エンベロープされた検証可能なクレデンシャル

検証可能な提示には、 ペイロードを「エンベロープする」保護メカニズムを使用して保護された1つ以上の 検証可能なクレデンシャルを 含めることができます。たとえば、JOSEおよびCOSEを使用した検証可能なクレデンシャルの保護 [VC-JOSE-COSE]です。 これは、verifiableCredentialプロパティを、typeEnvelopedVerifiableCredentialであるオブジェクトに関連付けることで実現できます。

EnvelopedVerifiableCredential
エンベロープされた 検証可能なクレデンシャルを含むオブジェクトを、 verifiableCredentialプロパティを介して 検証可能な提示に関連付けるために使用されます。 オブジェクトの@contextプロパティはMUST、 存在し、この仕様の基底コンテキストなどのコンテキストを含まなければなりません。そのコンテキストは、 この仕様が提供する基底コンテキストで定義されるidtype、 および EnvelopedVerifiableCredentialの各用語を少なくとも定義します。オブジェクトのid値はMUSTdata: URL [RFC2397]でなければなりません。これは、保護された検証可能なクレデンシャルエンベロープ型セキュリティ 方式で表現します。たとえば、 JOSEおよびCOSEを使用した検証可能なクレデンシャルの保護 [VC-JOSE-COSE]です。 オブジェクトのtype値はMUSTEnvelopedVerifiableCredentialでなければなりません。

以下の例は、検証可能な提示に、 エンベロープされた 検証可能なクレデンシャルが含まれる例を示しています。

18: 提示の基本構造
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "type": ["VerifiablePresentation", "ExamplePresentation"],
  "verifiableCredential": [{
    "@context": "https://www.w3.org/ns/credentials/v2",
    "id": "data:application/vc+sd-jwt,QzVjV...RMjU",
    "type": "EnvelopedVerifiableCredential"
  }]
}
注記: エンベロープされたコンテンツをRDFとして処理する

実装者が、このセクションで説明したオブジェクトと、id値によって表現されたエンベロープされた提示を RDF環境で処理し、RDFに関連するオブジェクト間の 関係を作成したい場合があります。 これを行う必要性とメカニズムはユースケースによって異なるため、 実装にも依存します。

エンベロープされた検証可能な提示

ペイロードを「エンベロープする」メカニズムを使用して保護された検証可能な提示を 表現できます。 そのようなメカニズムには、たとえば、 JOSEおよびCOSEを使用した 検証可能なクレデンシャルの保護 [VC-JOSE-COSE]があります。これは、 typeEnvelopedVerifiablePresentationである オブジェクトを使用することで実現できます。

EnvelopedVerifiablePresentation
エンベロープされた検証可能な提示を表現するために使用されます。 オブジェクトの@contextプロパティはMUST、存在し、 コンテキストを含まなければなりません。 たとえば、この仕様の基底コンテキストです。 そのコンテキストは、少なくともidtype、および EnvelopedVerifiablePresentation の各用語を、この仕様が提供する基底コンテキストで定義されるとおりに定義します。オブジェクトのid 値はMUSTdata: URL [RFC2397]でなければなりません。これは、保護された 検証可能な提示を、 エンベロープ型保護 メカニズムで表現します。たとえば、 JOSEおよびCOSEを使用した検証可能なクレデンシャルの保護 [VC-JOSE-COSE]です。 オブジェクトのtype値はMUSTEnvelopedVerifiablePresentationでなければなりません。

以下の例は、エンベロープされた検証可能な提示を示しています。

19: エンベロープされた検証可能な 提示の基本構造
{
  "@context": "https://www.w3.org/ns/credentials/v2",
  "id": "data:application/vp+jwt,eyJraWQiO...zhwGfQ",
  "type": "EnvelopedVerifiablePresentation"
}

派生クレデンシャルを使用する提示

一部のゼロ知識暗号方式では、保有者が、 主張を保有していることを間接的に証明できる場合があります。その主張は検証可能なクレデンシャルから得たものであり、 その検証可能なクレデンシャルに含まれるすべての主張を開示する必要はありません。このような 方式では、検証可能なクレデンシャルを使用して、提示可能な データを導出できます。そのデータは暗号学的に表明されるため、検証者は、 発行者を信頼する場合、その値を信頼できます。

一部の選択的開示方式では、主張の一部を共有できます。 それらは検証可能なクレデンシャルから導出されます。

注記: ゼロ知識証明を使用する提示が可能です

ZKP形式の検証可能な提示の例として、 直接埋め込まれた検証可能なクレデンシャルの代わりに派生データを含むものについては、 セクション5.7 ゼロ知識証明を参照してください。

Patには、値が21である
         overAgeプロパティがあります
11 Patが21歳を超えていることを表現する基本的な主張。

保有者の主張を含む提示

保有者MAYverifiableCredential プロパティ検証可能な提示で使用して、検証可能なクレデンシャルを任意の 発行者(自身を含む)から含めてもかまいません。ある発行者が、ある 検証可能なクレデンシャルにおいて保有者と同一である場合、その主張は、その 検証可能なクレデンシャルにおいて 自己表明とみなされます。 このような自己表明された主張は、それを含む 検証可能な提示を保護するものと同じメカニズム、または 他の検証可能なクレデンシャルに使用できる任意の メカニズムによって保護できます。

自己表明の対象となる主体、つまり自己表明された主張の主体は限定されないため、これらの主張には、 保有者、含まれている他の検証可能なクレデンシャルのいずれか、さらには 検証可能な提示自体についての言明も含められます。この提示は、自己表明された検証可能なクレデンシャルを 含むものです。いずれの場合も、id プロパティは、 特定の主体を識別するために使用されます。これは、その主体に関する主張を記述するオブジェクト内で、 検証可能なクレデンシャルが自己表明ではない場合と同様に 使用されます。

検証可能な提示が、自己表明された 検証可能なクレデンシャルを含み、そのクレデンシャルが、 同じ検証可能な提示と同じメカニズムのみを使用して保護される場合、MUSTholder プロパティを含めなければなりません。

検証可能なクレデンシャルに対して定義されたすべての規範的要件は、 自己表明された検証可能なクレデンシャルにも適用されます。

検証可能なクレデンシャル検証可能な提示に含まれる場合、 issuer プロパティについて、その 検証可能なクレデンシャルにおける値が、holder プロパティについて検証可能な提示に設定された値と同一であるとき、そのクレデンシャルは自己表明されたものとみなされます。

以下の例は、検証可能な提示が、 自己表明された検証可能なクレデンシャルを埋め込む例を示しています。そのクレデンシャルは、 検証可能な提示と同じ メカニズムを使用して保護されます。

20: 埋め込みData Integrity証明で保護され、 自己表明された検証可能なクレデンシャルを含む検証可能な提示
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "type": ["VerifiablePresentation", "ExamplePresentation"],
  "holder": "did:example:12345678",
  "verifiableCredential": [{
    "@context": [
      "https://www.w3.org/ns/credentials/v2",
      "https://www.w3.org/ns/credentials/examples/v2"
    ],
    "type": ["VerifiableCredential", "ExampleFoodPreferenceCredential"],
    "issuer": "did:example:12345678",
    "credentialSubject": {
      "favoriteCheese": "Gouda"
    },
    { ... }
  }],
  "proof": [{ ... }]
}

以下の例は、検証可能な提示が、 自己表明された検証可能なクレデンシャルを埋め込む例を示しています。そのクレデンシャルは、 主張を保持し、その対象は 検証可能な提示です。そのクレデンシャルは、 検証可能な提示と同じメカニズムを使用して 保護されます。

21: 埋め込みData Integrity証明で保護され、 検証可能な提示に関する自己表明された検証可能なクレデンシャルを含む 検証可能な提示
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "type": ["VerifiablePresentation", "ExamplePresentation"],
  "id": "urn:uuid:313801ba-24b7-11ee-be02-ff560265cf9b",
  "holder": "did:example:12345678",
  "verifiableCredential": [{
    "@context": [
      "https://www.w3.org/ns/credentials/v2",
      "https://www.w3.org/ns/credentials/examples/v2"
    ],
    "type": ["VerifiableCredential", "ExampleAssertCredential"],
    "issuer": "did:example:12345678",
    "credentialSubject": {
      "id": "urn:uuid:313801ba-24b7-11ee-be02-ff560265cf9b",
      "assertion": "This VP is submitted by the subject as evidence of a legal right to drive"
    },
    "proof": { ... }
  }],
  "proof": { ... }
}

5. 高度な概念

セクション4. 基本概念で 導入した概念を基礎として、このセクションでは検証可能なクレデンシャルに関するより複雑なトピックを検討します。

5.1 信頼モデル

このセクションは非規範的です。

検証可能なクレデンシャルの信頼モデルは、次の 前提に基づいています。

この信頼モデルは、次の点を確保することで他の信頼モデルと 異なります。

検証者が、どの発行者を、どのデータまたは 目的について信頼するかをどのように決定するかは、この勧告の範囲外です。有名な組織などの発行者は、 その評判だけを理由に、多くの検証者から信頼される場合があります。発行者検証者が、 参加規則によって全メンバーが互いを信頼するコミュニティのメンバーである場合もあります。 また、検証者が、発行者を審査し、信頼リストに掲載する責任を負う特定の信頼サービスプロバイダーを信頼する場合もあります。このような信頼リストの例には、電子 署名およびインフラストラクチャ(ESI);信頼リスト [ETSI-TRUST-LISTS] で規定されたものや、 Adobe 承認済み信頼リストがあります。

発行者検証者の間の期待を切り離すことにより、 より柔軟で動的な信頼モデルが形成され、市場競争と顧客の 選択肢が増えます。

この信頼モデルと、作業グループが検討したさまざまな脅威 モデルとの相互作用の詳細については、検証可能なクレデンシャルのユースケース [VC-USE-CASES]を参照してください。

注記: 信頼モデルは 従来の認証局システムと異なります

この仕様で詳述するデータモデルは、より従来型の認証局の信頼 モデルが提供するような、推移的信頼モデルを前提としません。検証可能なクレデンシャル・データモデルでは、検証者発行者を直接信頼するか、信頼しないかのいずれかです。検証可能なクレデンシャル・データモデルを使用して 推移的信頼モデルを構築することも可能ですが、実装者には、 セキュリティ上の弱点について学ぶことを強く推奨します。この弱点は、 認証局システムが採用するように 信頼を広範に委譲することによって生じます。

5.2 拡張性

検証可能なクレデンシャル・データモデルの目標の1つは、許可を必要としない イノベーションを可能にすることです。これを実現するには、データモデルを さまざまな方法で拡張可能にする必要があります。データモデルには次のことが求められます。

このデータモデリングへのアプローチは、しばしば オープンワールド仮説と呼ばれます。これは、あらゆるエンティティが他のあらゆるエンティティについて 何でも言及できることを意味します。このアプローチは、単純で予測可能なソフトウェアシステムの構築と矛盾するように思われるかもしれません。しかし、 オープンワールド仮説の下で拡張性とプログラムの正確性を両立させることは、閉じた ソフトウェアシステムよりも常に困難です。

このセクションの残りの部分では、一連の例を通じて、拡張性と プログラムの正確性の両方を実現する方法を説明します。

まず、以下に示すクレデンシャルから始めると仮定します。

22: 単純なクレデンシャル
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://vc.example/credentials/4643",
  "type": ["VerifiableCredential"],
  "issuer": "https://issuer.example/issuers/14",
  "validFrom": "2018-02-24T05:28:04Z",
  "credentialSubject": {
    "id": "did:example:abcdef1234567",
    "name": "Jane Doe"
  }
}
application/vc
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://vc.example/credentials/4643",
  "type": [
    "VerifiableCredential"
  ],
  "issuer": "https://issuer.example/issuers/14",
  "validFrom": "2018-02-24T05:28:04Z",
  "credentialSubject": {
    "id": "did:example:abcdef1234567",
    "name": "Jane Doe"
  },
  "proof": {
    "type": "DataIntegrityProof",
    "created": "2026-09-05T21:09:22Z",
    "verificationMethod": "did:key:zDnaeqpc578Kg3k9asdXLMhsQSjh8HMPp3ip3miiWZUUhsv9p",
    "cryptosuite": "ecdsa-rdfc-2019",
    "proofPurpose": "assertionMethod",
    "proofValue": "z5mx4F9Y7WG1nmgGbK5TopTBNKcL4A8J8TgiGHeXza97wX9zdJ9xJ93CigVrphjDEQ51bfhxqPQ33EtXWYr7EecWj"
  }
}
application/vc
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://vc.example/credentials/4643",
  "type": [
    "VerifiableCredential"
  ],
  "issuer": "https://issuer.example/issuers/14",
  "validFrom": "2018-02-24T05:28:04Z",
  "credentialSubject": {
    "id": "did:example:abcdef1234567",
    "name": "Jane Doe"
  },
  "proof": {
    "type": "DataIntegrityProof",
    "created": "2026-09-05T21:09:22Z",
    "verificationMethod": "did:key:zDnaee6cRuNdNecab7A7cnbb6w5xovYRWxYirEHstya3usouK",
    "cryptosuite": "ecdsa-sd-2023",
    "proofPurpose": "assertionMethod",
    "proofValue": "u2V0AhVhA0epbCBiyDPEBAQQ1IHFCIE633o_K7xydvHttIvF3PtFn2mViOGJlQ0osR1jmpi9cIrCfZl3bJeDHfoIUcF6tblgjgCQCzqqR3uH2EvrfOSsJq9odItJMe0iR_DCfsIYsHb4tGD1YICsgD7onOuwT9a1NgaBBOSUgRX3VP2nVRkW_EHM6pj20g1hAxPG_57XTKS_9A2tR-54A2e9cqUO18ejFLCM_HSse-7mIqd4RLar8W2f8nzOITjmxO0qrI8y1Yev6pj9ZkJxgbFhAlgMHonBHyUZ_vTLGYpvJrS5jT8vXWVh_1o8QJAA_FtSbGW8OYzHByVx-HMHB-OXn_p04Q8kqYHJuIsTZH9luClhAETNZX6bZbLsrw0TXJcrzEos82xjTtsGnOXdvkE1D6K_VugqBmpCp_-Vz6PFX51QTNoNWJpQ3i31vglYItJUuzIFnL2lzc3Vlcg"
  }
}
application/vc
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://vc.example/credentials/4643",
  "type": [
    "VerifiableCredential"
  ],
  "issuer": "https://issuer.example/issuers/14",
  "validFrom": "2018-02-24T05:28:04Z",
  "credentialSubject": {
    "id": "did:example:abcdef1234567",
    "name": "Jane Doe"
  },
  "proof": {
    "type": "DataIntegrityProof",
    "verificationMethod": "did:key:zUC7JVyoNecN4arDQjjTXVSfyv1V7bwcnMUs6y2BuSeWmzarPohM5DLXAXXxkBRrpjbzZTUdrLaAVoj87nPgXktL3q8JgBvRqqHo9Z88Jfn2tXXM8Q1aTDhNgf1HYL9WEMiULnS",
    "cryptosuite": "bbs-2023",
    "proofPurpose": "assertionMethod",
    "proofValue": "u2V0ChVhQuPNRxOKzfW4tOd3sW1EYWCAn358k_ZgDQlVpuccDuH-mIbBq0ieUvz1iIp3FfD44LmF-bMoUiZbgCOPYoNPx6kGUXdWV3307b74FbilbhTRYQD3-tli9rF9b1rOCOCaDSL0zj-QnIO3TIaEobJTPayaIvqENcCm8D2khyMGr7-FGFdx818_ufbFmo8hKn_2FgMpYYLMBLFvXdBPRt0k4kRZk93gc0jkscNQB3wJpCXu4OPkNaVJMlX03jEKZdwQ437AaRg2tSqfzd_pbHzZq9O7FyF1fsAT1tn_tHqFT5wrUWfaGtHJRQwv6rnUS3s9HBqQB_1ggpBh8waxBO_P219SajAnhJIWtWDtOZv1biUSq0-rjucqBZy9pc3N1ZXI"
  }
}
保護ヘッダー
{
  "kid": "ExHkBMW9fmbkvV266mRpuP2sUY_N_EWIN1lapUzO8ro",
  "alg": "ES256"
}
application/vc
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://vc.example/credentials/4643",
  "type": [
    "VerifiableCredential"
  ],
  "issuer": "https://issuer.example/issuers/14",
  "validFrom": "2018-02-24T05:28:04Z",
  "credentialSubject": {
    "id": "did:example:abcdef1234567",
    "name": "Jane Doe"
  }
}
application/vc+jwt
eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMyNTYifQ .eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwiaWQiOiJodHRwOi8vdmMuZXhhbXBsZS9jcmVkZW50aWFscy80NjQzIiwidHlwZSI6WyJWZXJpZmlhYmxlQ3JlZGVudGlhbCJdLCJpc3N1ZXIiOiJodHRwczovL2lzc3Vlci5leGFtcGxlL2lzc3VlcnMvMTQiLCJ2YWxpZEZyb20iOiIyMDE4LTAyLTI0VDA1OjI4OjA0WiIsImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImlkIjoiZGlkOmV4YW1wbGU6YWJjZGVmMTIzNDU2NyIsIm5hbWUiOiJKYW5lIERvZSJ9fQ .4O_WD8pixiViES-KJp7YneIXyAAEgoMiR9uxwv5racS95IgU7hCKLxw1P8p7lxL9g-4biNfwWoLPGN-iVQUzag
application/vc
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://vc.example/credentials/4643",
  "type": [
    "VerifiableCredential"
  ],
  "issuer": "https://issuer.example/issuers/14",
  "validFrom": "2018-02-24T05:28:04Z",
  "credentialSubject": {
    "id": "did:example:abcdef1234567",
    "name": "Jane Doe"
  }
}
application/vc+cose
d28443a10128a05901487b2240636f6e74657874223a5b2268747470733a2f2f7777772e77332e6f72672f6e732f63726564656e7469616c732f7632222c2268747470733a2f2f7777772e77332e6f72672f6e732f63726564656e7469616c732f6578616d706c65732f7632225d2c226964223a22687474703a2f2f76632e6578616d706c652f63726564656e7469616c732f34363433222c2274797065223a5b2256657269666961626c6543726564656e7469616c225d2c22697373756572223a2268747470733a2f2f6973737565722e6578616d706c652f697373756572732f3134222c2276616c696446726f6d223a22323031382d30322d32345430353a32383a30345a222c2263726564656e7469616c5375626a656374223a7b226964223a226469643a6578616d706c653a61626364656631323334353637222c226e616d65223a224a616e6520446f65227d7d584088974b020902b94f8811455bfc2c60616884ab774a30058b7e3c482994bab04472b9925282b4dddabd88b1dacd891ce0aab36708e238a88d0b34f35d80d25d6a
eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMyNTYifQ .eyJpYXQiOjE3ODg2NDI1NjIsImV4cCI6MTc4OTg1MjE2MiwiX3NkX2FsZyI6InNoYS0yNTYiLCJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwiaXNzdWVyIjoiaHR0cHM6Ly9pc3N1ZXIuZXhhbXBsZS9pc3N1ZXJzLzE0IiwidmFsaWRGcm9tIjoiMjAxOC0wMi0yNFQwNToyODowNFoiLCJjcmVkZW50aWFsU3ViamVjdCI6eyJuYW1lIjoiSmFuZSBEb2UiLCJfc2QiOlsiLXdlZHBXUXU1eVVGRkM3Zmx3a1BwdXFqcGdXZ3dRUm4zcDNEZ3I3RmhrOCJdfSwiX3NkIjpbImZDNDlmR1RFWDZTXzhXZlA4dE5zdlRXOXlDMjgtRG45R0VzZm9Cd0pyQUUiLCJqbXlhUUY2bWpxYTJDSEhoQzlnZVdoUGNEd29meDJmSVNhN3FSZ2xPdW5RIl19 .WMsjxjzve6__Mw4N79W7Kq5S4hxaBp4x9mOrKEC7FBs_HtJVtsL63g34cxyTaaErzaVd6plYzy7spGnfVShOIQ ~WyJXRUtWUzBPQmt2TkJaVTdnLXNkNFRRIiwgImlkIiwgImh0dHA6Ly92Yy5leGFtcGxlL2NyZWRlbnRpYWxzLzQ2NDMiXQ~WyJ1VnZsTzBfMjBnN0lpOVd0MDdReVBRIiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIl1d~WyJNaEhSbFlrR3JiNkw2V2dWSGM0YjJRIiwgImlkIiwgImRpZDpleGFtcGxlOmFiY2RlZjEyMzQ1NjciXQ~
{
  "kid": "ExHkBMW9fmbkvV266mRpuP2sUY_N_EWIN1lapUzO8ro",
  "alg": "ES256"
}
{
  "iat": 1788642562,
  "exp": 1789852162,
  "_sd_alg": "sha-256",
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "issuer": "https://issuer.example/issuers/14",
  "validFrom": "2018-02-24T05:28:04Z",
  "credentialSubject": {
    "name": "Jane Doe",
    "_sd": [
      "-wedpWQu5yUFFC7flwkPpuqjpgWgwQRn3p3Dgr7Fhk8"
    ]
  },
  "_sd": [
    "fC49fGTEX6S_8WfP8tNsvTW9yC28-Dn9GEsfoBwJrAE",
    "jmyaQF6mjqa2CHHhC9geWhPcDwofx2fISa7qRglOunQ"
  ]
}

主張: id

SHA-256ハッシュ: jmyaQF6mjqa2CHHhC9geWhPcDwofx2fISa7qRglOunQ

開示情報: WyJXRUtWUzBPQmt2TkJaVTdnLXNkNFRRIiwgImlkIiwgImh0dHA6Ly92Yy5leGFtcGxlL2NyZWRlbnRpYWxzLzQ2NDMiXQ

内容: [
  "WEKVS0OBkvNBZU7g-sd4TQ",
  "id",
  "http://vc.example/credentials/4643"
]

主張: type

SHA-256ハッシュ: fC49fGTEX6S_8WfP8tNsvTW9yC28-Dn9GEsfoBwJrAE

開示情報: WyJ1VnZsTzBfMjBnN0lpOVd0MDdReVBRIiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIl1d

内容: [
  "uVvlO0_20g7Ii9Wt07QyPQ",
  "type",
  [
    "VerifiableCredential"
  ]
]

主張: id

SHA-256ハッシュ: -wedpWQu5yUFFC7flwkPpuqjpgWgwQRn3p3Dgr7Fhk8

開示情報: WyJNaEhSbFlrR3JiNkw2V2dWSGM0YjJRIiwgImlkIiwgImRpZDpleGFtcGxlOmFiY2RlZjEyMzQ1NjciXQ

内容: [
  "MhHRlYkGrb6L6WgVHc4b2Q",
  "id",
  "did:example:abcdef1234567"
]

この検証可能なクレデンシャルは、エンティティに関する情報を表明しています。そのエンティティは did:example:abcdef1234567に関連付けられており、nameの値は Jane Doeです。

ここで、開発者が検証可能なクレデンシャルを拡張して、 社内参照番号とJaneの好きな食べ物という2つの追加情報を保存したいと仮定します。

まず、以下のように、2つの新しい用語を含むJSON-LDコンテキストを 作成します。

23: JSON-LDコンテキスト
{
  "@context": {
    "referenceNumber": "https://extension.example/vocab#referenceNumber",
    "favoriteFood": "https://extension.example/vocab#favoriteFood"
  }
}

このJSON-LDコンテキストを作成した後、開発者は、検証者がアクセスできる場所にこれを公開します。その検証者は、 検証可能なクレデンシャルを処理します。上のJSON-LDコンテキストが https://extension.example/my-contexts/v1で公開されていると仮定すると、このコンテキストを含め、新しいプロパティクレデンシャル検証可能なクレデンシャルに追加することで、この例を拡張できます。

24: カスタム拡張を含む検証可能な クレデンシャル
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2",
    "https://extension.example/my-contexts/v1"
  ],
  "id": "http://vc.example/credentials/4643",
  "type": ["VerifiableCredential", "CustomExt12"],
  "issuer": "https://issuer.example/issuers/14",
  "validFrom": "2018-02-24T05:28:04Z",
  "referenceNumber": 83294847,
  "credentialSubject": {
    "id": "did:example:abcdef1234567",
    "name": "Jane Doe",
    "favoriteFood": "Papaya"
  }
}

この例は、許可を必要としない分散型の方法で、検証可能なクレデンシャル・データモデルを 拡張する方法を示しています。示されたメカニズムにより、この方法で作成された 検証可能なクレデンシャルが、 名前空間の衝突と意味上の曖昧さを防ぐ方法を提供することも保証されます。

このような動的な拡張性モデルは、実装の 負担を増やします。このようなシステム向けに作成されたソフトウェアは、 アプリケーションのリスクプロファイルに基づいて、拡張を含む検証可能なクレデンシャルを受け入れられるかどうかを 判断しなければなりません。特定の拡張だけを受け入れるアプリケーションもあれば、高度なセキュリティが求められる環境では、拡張を一切受け入れない場合もあります。 これらの決定はアプリケーションの開発者に委ねられており、 明確にこの仕様の範囲外です。

拡張仕様の作成者には、JSON-LDコンテキストなどの文書を高い可用性で提供するよう強く推奨します。 これらの文書を使用する開発者は、文書を取得できないときにエラーを生成するソフトウェアを 使用している可能性があります。拡張用JSON-LDコンテキストの常時 利用可能性を確保する方法には、これらの文書を実装に同梱すること、長期間のキャッシュを行うコンテンツ 配信ネットワークを使用すること、コンテキストに コンテンツアドレスURLを使用することがあります。これらのアプローチについては、付録 C. コンテキスト、語彙、型、およびクレデンシャルスキーマで詳しく説明します。

実装者には、この仕様にある拡張ポイントに十分注意することを推奨します。例として、セクション4.10 ステータス4.11 データ スキーマ4.12 保護メカニズム5.4 更新5.5 利用条件、および 5.6 証拠があります。この仕様はこれらの拡張ポイントに対する具体的な 実装を定義しませんが、検証可能なクレデンシャル拡張文書は、 開発者がこれらの拡張ポイントから使用できる拡張の、非公式に選定された一覧を 提供します。

意味的相互運用性

アプリケーション固有の語彙で新しい用語を定義する場合、語彙の 作成者はSHOULD詳細な チェックリストに従うべきです。このチェックリストはLinked Data公開のベストプラクティスにあります。 特に、次の指針が 重要です。

  • 可能な限り、RECOMMENDEDとして、Schema.orgなどの広く知られた公開語彙で定義された用語と、対応する URLを再利用することを推奨します。
  • 新しい用語はMUST、用語ごとに新しいURLを定義しなければなりません。その際には、 [LINKED-DATA]の一般的な指針に従うことが期待されます。 特に次の点が重要です。
    • 各用語の意味と使用上の制約を記述した、人間が読める文書はMUST、 公開しなければなりません。
    • RECOMMENDEDとして、すべての新しい用語の集合を、 RDF Schema 1.1を使用した機械可読語彙としても公開することを推奨します。
    • 用語のURLはSHOULD、参照解決可能であるべきです。参照解決の結果として、その用語の 説明および/または形式的な定義が得られるようにします。

さらに、機械可読の説明(すなわち JSON-LDコンテキスト文書)はMUST、 その語彙の@context プロパティで指定されたURLに公開しなければなりません。このコンテキストはMUST、各用語を対応するURLにマッピングしなければなりません。その際、 プロパティ値の型など、さらなる制約を併記する場合があります。 相互運用性を求める実装者は、@context プロパティの値に期待される順序を記述した、人間が読める文書も公開することが期待されます。

注記: 用語の 再定義は許可されません

アクティブ コンテキストを処理する場合、そのコンテキストはこの仕様で定義された 基底JSON-LDコンテキスト文書によって定義されています。準拠するJSON-LDベースの プロセッサは、JSON-LDコンテキストがいずれかの用語を再定義するとエラーを生成します。 既存用語の定義を変更する唯一の方法は、その新しい用語のスコープ内でアクティブコンテキストを消去する新しい 用語を導入することです。この機能に関心のある作成者は、JSON-LD 1.1仕様の @protected キーワードについて確認してください。

準拠文書SHOULD NOT、実運用環境で @vocab機能を 使用するべきではありません。JSON用語の衝突を引き起こし、他のアプリケーションとの間に意味上の曖昧さが生じる可能性があるためです。代わりに、適切な相互運用性を実現するため、準拠文書SHOULD、 アプリケーションが使用するすべての用語を定義するJSON-LDコンテキストを使用するべきです。これは、前述のセクション5.2 拡張性で説明したとおりです。 準拠文書が、使用するすべての用語を定義するJSON-LDコンテキストを使用しない場合、 MUSThttps://www.w3.org/ns/credentials/undefined-terms/v2@contextプロパティの最後の値として含めなければなりません。

5.4 更新

システムで、期限切れの 検証可能なクレデンシャルを手動または自動で更新できるようにすることは有用です。 検証可能なクレデンシャルの有効期間について詳しくは、セクションB.7 有効期間を参照してください。 この仕様では、refreshService プロパティを定義します。これにより、 発行者は更新サービスへのリンクを含めることができます。

発行者は、検証可能なクレデンシャル内の要素として更新サービスを含めることができます。これは、そのサービスが 検証者または 保有者(あるいはその両方)向けである場合です。また、更新サービスを検証可能な提示内に含めることもできます。これは、そのサービスが 保有者のみを対象とする場合です。後者の場合、 保有者は、検証可能なクレデンシャルを更新してから、 検証可能な提示を作成し、検証者と共有できます。前者の場合、更新サービスを検証可能なクレデンシャル内に含めることで、 保有者または検証者は、将来そのクレデンシャルを更新できます。

更新サービスは、 クレデンシャルが期限切れであるか、発行者クレデンシャルのステータス情報を公開していない場合にのみ使用されることが想定されています。発行者は、 refreshService プロパティを、公開情報を含まないか、更新サービスが何らかの方法で 保護されていない検証可能なクレデンシャルに含めないことが推奨されます。

refreshService
refreshService プロパティの値はMUST、受信者が検証可能なクレデンシャルを更新できるだけの十分な情報を、受信者のソフトウェアに提供する 1つ以上の更新サービスでなければなりません。各refreshService値はMUST、そのtypeを指定しなければなりません。 各更新サービスの正確な内容は、個々のrefreshService の定義によって決まります。
27: 発行者によるrefreshServiceプロパティの使用
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://w3id.org/age/v1"
  ],
  "type": ["VerifiableCredential", "AgeVerificationCredential"],
  "issuer": "did:key:z6MksFxi8wnHkNq4zgEskSZF45SuWQ4HndWSAVYRRGe9qDks",
  "validFrom": "2024-04-03T00:00:00.000Z",
  "validUntil": "2024-12-15T00:00:00.000Z",
  "name": "Age Verification Credential",
  "credentialSubject": {
    "overAge": 21
  },
  "refreshService": {
    "type": "VerifiableCredentialRefreshService2021",
    "url": "https://registration.provider.example/flows/reissue-age-token",
    "refreshToken": "z2BJYfNtmWRiouWhDrbDQmC2zicUPBxsPg"
  }
}

上の例で、発行者は、自動 refreshServiceを指定しています。このサービスは、検証可能なクレデンシャルを更新サービスの urlへPOSTすることで使用できます。この特定の検証可能なクレデンシャルは、元の発行者以外の誰とも共有することを意図していない点に注意してください。

注記: 認証を伴わないクレデンシャルの更新

refreshService プロパティ検証可能なクレデンシャルに配置して、 検証者が利用できるようにすると、 保有者から制御権と同意する機会を奪い、 検証可能なクレデンシャル検証者へ直接発行できるようになります。 これにより、保有者が迂回されます。

5.5 利用条件

利用条件は、発行者または保有者が、 検証可能なクレデンシャルまたは 検証可能な提示が発行された際の条件を伝えるために使用できます。発行者は、自身の利用条件を検証可能なクレデンシャル内に配置します。保有者は、自身の利用条件を検証可能な提示内に配置します。この仕様では、利用条件に関する情報を表現するための termsOfUse プロパティを定義します。

termsOfUse プロパティの値は、特に次の事項の一部または全部を 検証者へ伝えるために使用できます:

termsOfUse
termsOfUse プロパティの値はMUST、 作成者がクレデンシャル または提示を発行した際の利用条件ポリシーを1つ以上指定しなければなりません。受信者(保有者または 検証者)が指定された利用条件に従わない場合、それは受信者自身の責任で行われ、 明示された利用条件に違反すると法的責任を負う可能性があります。各termsOfUse値はMUST、 その(例:TrustFrameworkPolicy)を指定しなければならず、MAY、そのインスタンスの idを指定できます。各利用条件の正確な内容は、個々のtermsOfUse の定義によって決まります。
28: 発行者によるtermsOfUseプロパティの使用
{
  {
    "@context": [
      "https://www.w3.org/ns/credentials/v2",
      "https://www.w3.org/ns/credentials/undefined-terms/v2"
    ],
    "id": "urn:uuid:08e26d22-8dca-4558-9c14-6e7aa7275b9b",
    "type": [
      "VerifiableCredential",
      "VerifiableAttestation",
      "VerifiableTrustModel",
      "VerifiableAuthorisationForTrustChain"
    ],
    "issuer": "did:ebsi:zZeKyEJfUTGwajhNyNX928z",
    "validFrom": "2021-11-01T00:00:00Z",
    "validUntil": "2024-06-22T14:11:44Z",
    "credentialSubject": {
      "id": "did:ebsi:zvHWX359A3CvfJnCYaAiAde",
      "reservedAttributeId": "60ae46e4fe9adffe0bc83c5e5be825aafe6b5246676398cd1ac36b8999e088a8",
      "permissionFor": [{
        "schemaId": "https://api-test.ebsi.eu/trusted-schemas-registry/v3/schemas/zHgbyz9ajVuSProgyMhsiwpcp8g8aVLFRNARm51yyYZp6",
        "types": [
          "VerifiableCredential",
          "VerifiableAttestation",
          "WorkCertificate"
        ],
        "jurisdiction": "https://publications.europa.eu/resource/authority/atu/EUR"
      }]
    },
    "termsOfUse": {
      "type": "TrustFrameworkPolicy",
      "trustFramework": "Employment&Life",
      "policyId": "https://policy.example/policies/125",
      "legalBasis": "professional qualifications directive"
    },
    "credentialStatus": {
      "id": "https://api-test.ebsi.eu/trusted-issuers-registry/v5/issuers/did:ebsi:zvHWX359A3CvfJnCYaAiAde/attributes/60ae46e4fe9adffe0bc83c5e5be825aafe6b5246676398cd1ac36b8999e088a8",
      "type": "EbsiAccreditationEntry"
    },
    "credentialSchema": {
      "id": "https://api-test.ebsi.eu/trusted-schemas-registry/v3/schemas/zCSHSDwrkkd32eNjQsMCc1h8cnFaxyTXP5ByozyVQXZoH",
      "type": "JsonSchema"
    }
  }
}

上の例で、発行者は、 検証可能なクレデンシャルの発行における法的根拠が、 「Employment&Life」トラストフレームワークを使用した「professional qualifications directive」であることを、 ポリシーへの具体的なリンクとともに表明しています。

この機能は、政府が発行する検証可能なクレデンシャルで使用されることが想定されています。市民の機密データが予期せず使用されることを防ぐため、 デジタルウォレットに対し、その使用を同種の政府機関に限定するよう指示できます。同様に、民間企業が発行する一部の検証可能なクレデンシャルは、 使用を組織内の特定部門または営業時間内に限定することが想定されています。実装者には、この発展途上の機能について、検証可能な クレデンシャル実装ガイドライン [VC-IMP-GUIDE]文書の該当セクションを参照することを推奨します。

5.6 証拠

発行者は、検証者へ追加の裏付け情報を提供するため、 検証可能なクレデンシャルに証拠を含めることができます。 検証者はこれを使用して、 検証可能なクレデンシャル内の主張を信頼する際の確信度を判断できます。たとえば、発行者は、主体が提供した物理的文書を確認したり、 クレデンシャルを発行する前に一連の経歴調査を行ったりできます。特定の状況では、この情報は検証者が、特定のクレデンシャルを信頼することに伴うリスクを判断する際に役立ちます。

この仕様では、証拠情報を表現するためのevidence プロパティを定義します。

evidence
存在する場合、evidence プロパティの値はMUST、単一のオブジェクトまたは1つ以上のオブジェクトの集合でなければなりません。 すべての証拠オブジェクトについて、次のプロパティが定義されています:
id
id プロパティは任意です(OPTIONAL)。証拠オブジェクトの一意な識別子を提供するために使用してもMAY。 存在する場合は、セクション 4.4 識別子の規範的指針に従わなければなりません(MUST)。
type
type プロパティは必須です(REQUIRED)。これは、そのオブジェクトが表現する証拠情報の型を示すために使用されます。セクション 4.5 の関連する規範的指針に従わなければなりません(MUST)。
注記: 証拠を提供する方法については 実装ガイドを参照してください

添付ファイル、クレデンシャルへの参照、 およびクレデンシャル以外のデータがこの仕様でどのようにサポートされ得るかについては、セクション 5.3 関連リソースの完全性を参照してください。

29: スキル達成クレデンシャルを裏付ける証拠の例
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json"
  ],
  "id": "http://1edtech.edu/credentials/3732",
  "type": [
    "VerifiableCredential",
    "OpenBadgeCredential"
  ],
  "issuer": {
    "id": "https://1edtech.edu/issuers/565049",
    "type": "Profile"
  },
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "type": "AchievementSubject",
    "name": "Alice Smith",
    "activityEndDate": "2023-12-02T00:00:00Z",
    "activityStartDate": "2023-12-01T00:00:00Z",
    "awardedDate": "2024-01-01T00:00:00Z",
    "achievement": [{
      "id": "urn:uuid:d46e8ef1-c647-419b-be18-5e045d1c4e64",
      "type": ["Achievement"],
      "name": "Basic Barista Training",
      "criteria": {
        "narrative": "Team members are nominated for this badge by their supervisors, after passing the Basic Barista Training course."
      },
      "description": "This achievement certifies that the bearer is proficient in basic barista skills."
    }]
  },
  "evidence": [{
      // url to an externally hosted evidence file/artifact
      "id": "https://videos.example/training/alice-espresso.mp4",
      "type": ["Evidence"],
      "name": "Talk-aloud video of double espresso preparation",
      "description": "This is a talk-aloud video of Alice demonstrating preparation of a double espresso drink.",
      // digest hash of the mp4 video file
      "digestMultibase": "uELq9FnJ5YLa5iAszyJ518bXcnlc5P7xp1u-5uJRDYKvc"
    }
  ]
}

上のevidenceの例で、発行者は、 主体が達成内容を実演している動画を、クレデンシャルの証拠として保有していることを表明しています。

注記: 証拠は 保護メカニズムとは異なる目的を持ちます

evidence プロパティは、使用される保護メカニズムが提供する情報とは異なる追加情報を提供します。 evidence プロパティは、検証可能なクレデンシャルに関連する文書証拠などの裏付け情報を表現するために使用されます。これに対して、保護メカニズムは、 発行者の真正性と検証可能なクレデンシャルの完全性に関する、機械で検証可能な数学的証明を表現するために使用されます。 保護メカニズムについて詳しくは、セクション4.12 保護メカニズムを参照してください。

5.7 ゼロ知識証明

ゼロ知識証明は保護メカニズムであり、 保有者は、ある値を含む検証可能なクレデンシャルを保持していることを、実際の値を開示せずに証明できます。たとえば、 誕生日を明らかにせず、その人物が25歳を超えていることを証明できます。 このデータモデルは、ゼロ知識証明を使用した保護に対応しています。

ゼロ知識証明メカニズムによって実現される、検証可能なクレデンシャルと互換性のある機能には、次のものがあります:

保護メカニズムを作成する仕様の作成者はMUST NOT検証者が、 保有者について、異なる検証可能な提示を複数の異なる 検証者に対して行った際に相関付けられるような情報を漏えいする設計にしてはなりません。

すべてのゼロ知識証明メカニズムが、すべての機能に対応しているわけではありません。 特定のゼロ知識証明メカニズムが提供する機能と技術の詳細、およびそれらを 検証可能なクレデンシャルで使用する際の規範的要件は、そのゼロ知識証明メカニズムで 検証可能なクレデンシャルを保護するための仕様に記載されます。 そのような仕様の例については、Data Integrity BBS暗号スイートv1.0を参照してください。

ほとんどの場合、保有者がゼロ知識メカニズムを 検証可能なクレデンシャルで利用するには、発行者が、これらの機能をサポートする方法で 検証可能なクレデンシャルを保護する必要があることに注意してください。

以下の図は、データモデルを使用して検証可能なクレデンシャルをゼロ知識で発行および提示する方法を示しています。

左側の検証可能な
            クレデンシャル1と検証可能なクレデンシャル2が、右側の
            提示内にある派生クレデンシャル1と派生クレデンシャル2に対応しています。検証可能なクレデンシャル1には、
            コンテキスト、型、ID、発行者、発行日、有効期限、
            クレデンシャル主体、および証明が含まれます。
            クレデンシャル主体には名、姓、生年月日が含まれ、
            証明には署名、正当性の証明、および属性が含まれます。
            検証可能なクレデンシャル2には、コンテキスト、型、ID、発行者、発行日、有効期限、
            クレデンシャル主体、および証明が含まれます。
            クレデンシャル主体には大学が含まれ、大学には学部、学部には授与学位が含まれます。
            証明には署名、正当性の証明、および属性が含まれます。右側の
            提示の図には、コンテキスト、型、ID、
            検証可能なクレデンシャル、および証明が含まれます。
            検証可能なクレデンシャルには派生クレデンシャル1と
            派生クレデンシャル2が含まれ、証明には共通リンク
            シークレットが含まれます。派生クレデンシャル1には、コンテキスト、型、ID、
            発行者、発行日、クレデンシャル主体、および証明が含まれます。
            クレデンシャル主体には18歳超が含まれ、証明には
            署名の知識が含まれます。派生クレデンシャル2には、
            コンテキスト、型、ID、発行者、発行日、クレデンシャル主体、および証明が含まれます。
            クレデンシャル主体には学位が含まれ、証明には署名の知識が含まれます。
            線によって、検証可能なクレデンシャル1の生年月日と
            派生クレデンシャル1の18歳超が結ばれています。別の線によって、検証可能なクレデンシャル2の授与学位と
            派生クレデンシャル2の学位が結ばれています。
12 ZKP提示における、クレデンシャルと派生クレデンシャルの関係を示す図。

以下に、検証可能なクレデンシャル検証可能な提示の例を示します。これらは、Data Integrity BBS暗号スイートv1.0のリンク不能な選択的開示の保護メカニズムを使用しています。

30: 基底証明を伴うData Integrity BBS 暗号スイートを使用した検証可能なクレデンシャル
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://w3id.org/citizenship/v4rc1"
  ],
  "type": [
    "VerifiableCredential",
    "PermanentResidentCardCredential"
  ],
  "issuer": {
    "id": "did:web:utopia.example",
    "image": "data:image/png;base64,iVBORw0KGg...VORK5CYII="
  },
  "name": "Permanent Resident Card",
  "description": "Government of Utopia Permanent Resident Card.",
  "credentialSubject": {
    "type": [
      "PermanentResident",
      "Person"
    ],
    "givenName": "JANE",
    "familyName": "SMITH",
    "gender": "Female",
    "image": "data:image/png;base64,iVBORw0KGgo...g==",
    "residentSince": "2015-01-01",
    "commuterClassification": "C1",
    "birthCountry": "Arcadia",
    "birthDate": "1978-07-17",
    "permanentResidentCard": {
      "type": [
        "PermanentResidentCard"
      ],
      "identifier": "83627465",
      "lprCategory": "C09",
      "lprNumber": "999-999-999"
    }
  },
  "validFrom": "2026-09-05T00:00:00Z",
  "validUntil": "2027-09-05T23:59:59Z",
  "proof": [
    {
      "type": "DataIntegrityProof",
      "created": "2026-09-05T17:21:31Z",
      "verificationMethod": "did:web:utopia.example#zDnae...QGW8",
      "cryptosuite": "ecdsa-rdfc-2019",
      "proofPurpose": "assertionMethod",
      "proofValue": "z4fJttfr...kn9P"
    },
    {
      "type": "DataIntegrityProof",
      "verificationMethod": "did:web:utopia.example#zUC7EwMqo9vCjFmj7ArU2SivcbeccAY6hd4nw5fVD6xD4W2vm9eVy6VqVnciAZRmPLXnuxuka5JTJVmgz66CxDno6eqZmvUViCckCcKg8A4s1R4i2JjyzrdTQs5zrfY4jJCHFCp",
      "cryptosuite": "bbs-2023",
      "proofPurpose": "assertionMethod",
      "proofValue": "u2V0ChVhQiJsvokWSE4Cq999Bw9aluhWuToMG7qGNtAx5I2_LmNjRPCMcTLoiBc_HV8gjvgvSNnrFNK50Ubf1gIN8i8sHUWwUzqdDMevqlO8qVOWgki1YQM6iv5KVLQKPLTMEAHhSEWyz3z3hrSSQJTjO8vIFJgMWaLnxEOgYUkAwn3mL9Hhr-t6oc0OXaYjMBPYyPIQUnwdYYKipusluRJ7SzUrZmv4RxeebXFP1W0GGgnhEIBufF7eulvisZDSTSVWCkn1KMnStOgmhPPjOCIDvXVY2Xxbm61KFgc2pSZJwhV5kLxZV9igRbX8uzqgdbnLyerjY7DzJdVggryiDkfzraDE3VOas9Ls5wKk4oBfAtvO0QZikpLOL1VeBZy9pc3N1ZXI"
     
    }
  ]
}

上の例は、検証可能なクレデンシャルです。この例では、 発行者がBBSベースのリンク不能な開示方式を有効にして基底証明を作成しています。 保有者はその基底証明を使用し、元の検証可能なクレデンシャルから特定の情報だけを開示する派生証明を作成できます。

31: 派生クレデンシャルおよび派生証明を伴うData Integrity BBS暗号スイートを使用した検証可能な提示
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2"
  ],
  "type": [
    "VerifiablePresentation"
  ],
  "verifiableCredential": [
    {
      "@context": [
        "https://www.w3.org/ns/credentials/v2",
        "https://w3id.org/citizenship/v4rc1"
      ],
      "type": [
        "VerifiableCredential",
        "PermanentResidentCardCredential"
      ],
      "issuer": {
        "id": "did:web:vcplayground.org",
        "image": "data:image/png;base64,iVBORw0KG...YII="
      },
      "credentialSubject": {
        "type": [
          "PermanentResident",
          "Person"
        ],
        "birthCountry": "Arcadia"
      },
      "proof": [
        {
          "type": "DataIntegrityProof",
          "verificationMethod": "did:web:utopia.example#zUC7EwMqo9vCjFmj7ArU2SivcbeccAY6hd4nw5fVD6xD4W2vm9eVy6VqVnciAZRmPLXnuxuka5JTJVmgz66CxDno6eqZmvUViCckCcKg8A4s1R4i2JjyzrdTQs5zrfY4jJCHFCp",
          "cryptosuite": "bbs-2023",
          "proofPurpose": "assertionMethod",
          "proofValue": "u2V0DhVkDEJOplpVKV9UBPos-YnSuy7u-_wuxUUcElOCVqJwekpfS8pDYv5mlIiADqJNm62CgfJMG1SeBV9Ri5DlmMAOaWayl51Aqc_fPn1V756d-P51JNwmlPQ9RmyYQPGfk3_8z0KF57H_seUFGZOYAtul85f9rypgN_emBvVApxUSMClqvNSgNVQ_sqVS1ICFkz9MIuTv6Ng6F8CNm0svtv1Tnkmjn6I4bgP0b46j57-lgiAP6Xb72RCnppHyfcuc6z9NB82BgIPCHzu2V3u8sWHyPS1JzVDLUiPVWUy6Oar0A4q9QLP4y92Q4JpJRx0Bl-x3cvCcBZp8ESDphMEDoMgEBqWVdWEZ_KQa2JrYuiWeHfK81WPNlJimOp4xl4CotHqx1NIinSB7jmrtcQ-0dIX_vz5wnYwhlP44rE7TgydrFE_16BYk0hkfKJw8sGCQNxqcUMHGh262ZOie2ASifU8OXd5TZOgTaUXRauwCrAPQZnQKnAQ8j8hBLgD_0Ujzt2Yk6dQueUv493jnmWJMnCbAy33MuRhHSqSxHVJBXOhhUX3s79HY0V-uLkGOZw_61HRpAi0W4spLv77ehUlwW5N35VFbs_THFXGA5AgY3Cg1vY-K5SyqpH5BlWhAcTRwoDKboqp0tOecM5qpZyuAORQ7fK2JddnEMHmvOKW7x_ugykAbQm6DeqhyGPtKxuiSulr-IHFK-KyGCXPAAKbk7X5Hkf29q7tOEGTIU4_9ga88PtiQKJTu7Ao8ABBEg9Gqt-KcfqfPgt8cqwxGtjW21sD3bSbtUiWNQO3ZDPelP9ToXbduEPpsNEYwxRbMtS5SF6YDqy16Bo8uyw41jnKvb-E5ABF-2MGjxB9zt8ZH_TJirGP_IMt0ssYrODZAlJbakLKiD5NH3g-xlvMTHxrD8VEzJakACnJIrm3X9J7MjUM_YTqth99oc2Yq2HLlgwYb1hD3T6jsIaY8zRPzA2ybKdXxZ3ahxyc_nbLDnP2fVNbUj8P9EX2Av_GvmnSYRsE5Wmcblhao6Ref1EF8YFF6JFT8SO2WiAAIBAIQABAUHhAABBxFYRXsiY2hhbGxlbmdlIjoiejFBREtDNVFBdW1Tb1Jud1NDSHRhUXBvQSIsImRvbWFpbiI6InZjcGxheWdyb3VuZC5vcmcifQ"
          
        }
      ]
    }
  ]
}

上の検証可能な提示には、前の例にある情報のリンク不能な部分集合を含む検証可能なクレデンシャルと、派生証明が含まれています。 検証者はその派生証明を使用して、情報が想定された発行者に由来し、この特定の情報交換に結び付けられていることを検証できます。

5.8 時刻の表現

実装者には、時刻値の表現と処理は見かけほど単純ではなく、 すぐには明らかにならないうえ、世界各地で一様に扱われてもいない、 さまざまな特性があることを理解するよう推奨します。例を次に示します:

これらは、壁時計に表示されるような実際の時刻が、ある地域には存在しても、 別の地域には存在しない場合があることを示す例の一部にすぎません。このため、実装者には、 夏時間の影響を受ける値よりも、Zタイムゾーンを基準とする値など、 より普遍的な時刻値を使用することを推奨します。

この仕様では、dateTimeStamp構文を使用することで、普遍的に認識される日付と時刻の組み合わせを増やし、 時刻値が誤って解釈される可能性を減らそうとしています。この構文は、[XMLSCHEMA11-2]仕様で最初に確立されました。 異なるタイムゾーン間での誤解釈を減らすため、 準拠文書で表現されるすべての時刻値はSHOULDdateTimeStamp形式で指定するべきです。形式には、値の末尾のZで表される協定世界時(UTC)、 またはUTCを基準とするタイムゾーンオフセットを使用します。オフセットなしで誤って直列化された時刻値はMUST、UTCとして解釈しなければなりません。 UTCを基準とする有効なタイムゾーンオフセットの例には、Z+01:00-08:00、および +14:00があります。許容されるすべての値の形式的な定義については、このセクション末尾の正規表現を参照してください。

タイムゾーンの定義は、その管理機関によって変更されることがあります。既存の 検証可能なクレデンシャルを置き換えたり、新しいものを発行したりする際、 実装者には、ローカルタイムゾーンの規則変更によって有効期間に予期しない空白が生じないよう確認することを推奨します。 たとえば、標準オフセットがUTC-8であり、2024年に夏時間の実施を停止することが決定された America/Los_Angelesゾーンを考えます。ある検証可能なクレデンシャルvalidUtil 値が2024-07-12T12:00:00-07:00であった場合、そのクレデンシャルが validFrom2024-07-12T12:00:00-08:00で再発行されると、 検証可能なクレデンシャルが無効となる1時間の空白が生じます。

dateTimeStamp値の妥当性を確認したい実装者は、以下に示す正規表現を使用できます。この正規表現は、便宜のため[XMLSCHEMA11-2]仕様から転載したものです。 疑義を避けるために明記すると、[XMLSCHEMA11-2]にある正規表現が 規範的な定義です。以下の正規表現に一致するすべての dateTimeStamp値が、有効な時点を表すとは限らないことに注意してください。たとえば、この正規表現ではすべての月に31日を許可しており、 うるう年とうるう秒だけでなく、本来は存在しない日付も許容します。ただし、有効な dateTimeStamp値を生成する最新のシステムライブラリは、多くの場合、有効なdateTimeStamp値を正しく生成します。以下に示す正規表現は、 ここで可読性のために含めた空白を除けば、最新システム上でライブラリが生成した日付と時刻を処理する用途には、 多くの場合十分です。

32: 有効なXML Schema 1.1パート2のdateTimeStampを検出する正規表現
-?([1-9][0-9]{3,}|0[0-9]{3})
-(0[1-9]|1[0-2])
-(0[1-9]|[12][0-9]|3[01])
T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\.[0-9]+)?|(24:00:00(\.0+)?))
(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))

5.9 認可

このセクションは非規範的です。

検証可能なクレデンシャルは、 主体を確実に識別する手段として意図されています。ロールベースアクセス制御 (RBAC)および属性ベースアクセス制御(ABAC)が、 主体によるリソースへのアクセスを認可する手段として、この識別に依存することは認識されています。しかし、この仕様は RBACまたはABACの完全な解決策を提供するものではありません。認可フレームワークを併用しない限り、 認可はこの仕様の適切な用途ではありません。

ワーキンググループは、この仕様の策定中に認可のユースケースを検討しており、 この仕様の上に構築されるアーキテクチャ層として、その作業を進めています。

5.10 予約済み拡張ポイント

この仕様では、将来の拡張ポイントとして使用できるよう、いくつかのプロパティを予約しています。一部の実装者はこれらのプロパティに関心を示しましたが、 この仕様に含めるのは時期尚早だと判断されました。これらのプロパティはいずれも、 この仕様では定義されていない点に注意することが重要です。したがって実装者は、これらの プロパティの使用が実験的とみなされることに注意してください。

実装者はMAY、これらのプロパティを使用してもかまいません。ただし、規範的な仕様が定められる過程ではSHOULD、 プロパティ自体および/またはその意味が変更されると想定するべきです。 実装者はSHOULD NOT、その実装を説明する公開仕様なしにこれらのプロパティを使用するべきではありません。

以下のプロパティの使用方法に関する衝突を避けるため、実装はMUST、予約済みプロパティに関連付けられた値の中で typeプロパティを指定しなければなりません。type情報の追加について詳しくは、 セクション4.5 を参照してください。

予約済み プロパティ 説明
confidenceMethod 検証可能なクレデンシャルまたは検証可能な提示の内部、あるいはそれ自体にあるプロパティの値が正確であるという 検証者の確信度を高めるために使用できる、1つ以上の方法を指定するプロパティです。関連する語彙 URLはMUSThttps://www.w3.org/2018/credentials#confidenceMethodでなければなりません。使用例を含め、 確信度判定方法について詳しく知りたい実装者は、検証可能なクレデンシャルの確信度判定方法v1.0仕様を参照できます。
renderMethod クレデンシャルを視覚、聴覚、触覚、またはその他の形式でレンダリングするための、 1つ以上の方法を指定するプロパティです。関連する語彙URLはMUSThttps://www.w3.org/2018/credentials#renderMethodでなければなりません。使用例を含め、 レンダリング方法について詳しく知りたい実装者は、検証可能なクレデンシャルのレンダリング方法v1.0仕様を参照できます。

この仕様で定義された拡張ポイント、およびこのセクションで定義された予約済み拡張ポイントに関連する仕様の非公式な一覧は、 検証可能なクレデンシャル拡張で確認できます。 このディレクトリ内で予約済み拡張ポイントを参照する項目は、実験的なものとして扱うべきです(SHOULD)。

5.11 エコシステムとの互換性

この文書で提供されるデータモデルをネイティブに使用していないものの、この仕様の複数の概念と整合する デジタルクレデンシャル形式がいくつかあります。公開時点における、そのようなデジタル クレデンシャル形式の例には、 JSON Web Token(JWT)、 CBOR Web Token(CWT)、 JSON Advanced Electronic Signature(JAdES)、 ISO-18013-5:2021 (mDL)、 AnonCreds Gordian Envelope、および Authentic Chained Data Container(ACDC)があります。

概念的に整合するデジタルクレデンシャル形式を、このセクションに示す規則に従って 準拠文書へ変換できる場合、その形式はW3C検証可能な クレデンシャル・エコシステムと互換性がある」とみなされます。仕様の作成者には、 検証可能なクレデンシャル・エコシステムとの互換性を実現する変換を文書化する際、次の規則に従うことを推奨します。 変換仕様は、次の要件を満たします:

注記: 何が 検証可能なクレデンシャルを構成するのか?

デジタルクレデンシャルがW3C検証可能なクレデンシャル・エコシステムと互換性があるとみなされるのは、 準拠文書であり、かつ少なくとも1つの保護メカニズムを使用して、 この仕様に記述されたそれぞれの要件を満たす場合に限られます。一部のコミュニティでは、 準拠文書ではないデジタルクレデンシャル形式を 「検証可能なクレデンシャル」と呼ぶことがありますが、そう呼んでも、そのデジタルクレデンシャルがこの仕様に準拠することには決してなりません。たとえば、 SD-JWT-VC [SD-JWT-VC]仕様では名称に「VC」という文字が使用されていますが、 同仕様はW3C検証可能なクレデンシャルと互換性がないことを明示しています。

5.12 検証可能なクレデンシャルグラフ

検証可能なクレデンシャルを表現する場合(たとえば、 提示内で表現する場合)、ある検証可能なクレデンシャル内のデータを、別の検証可能なクレデンシャル内の同じデータだと誤認しないようにすることが重要です。たとえば、2つの検証可能なクレデンシャルがあり、それぞれに次の形式のオブジェクトが含まれているとします:{"type": "Person", "name": "Jane Doe"}。この場合、一方のオブジェクトが他方と同じ人物を記述しているかどうかは判断できません。 言い換えると、同じエンティティおよび/またはプロパティについて述べていることを確認せずに、2つの検証可能なクレデンシャル間のデータを併合すると、破損したデータセットが生じる可能性があります。

異なる検証可能なクレデンシャルのデータが誤って混在しないように、検証可能な クレデンシャルグラフという概念を使用し、各検証可能なクレデンシャルをカプセル化します。 単純な検証可能なクレデンシャル、すなわちJSON-LD文書に単一のクレデンシャルと、場合によっては関連する証明が含まれている場合、このグラフは デフォルトグラフです。提示では、 verifiableCredentialプロパティに関連付けられた各値は、その提示内でそれぞれ独立した 名前付きグラフとなり、その型はVerifiableCredentialGraph です。このグラフには、単一の検証可能なクレデンシャルまたは エンベロープ化された検証可能なクレデンシャルが含まれます。

これらのグラフを使用すると、JSON-LD処理に具体的な効果が生じ、あるグラフ内のグラフノード識別子が、 別のグラフ内の識別子から適切に分離されます。入力をアプリケーション固有のJSON-LD文書に限定する実装者も、 ある検証可能なクレデンシャルのデータを別のクレデンシャルのデータと併合する場合には、この点を考慮する必要があります。 たとえば、credentialSubject.idが両方の検証可能なクレデンシャルで同じであっても、それらに含まれるオブジェクトは、前の段落で説明した「Jane Doe」形式である可能性があります。 類似するプロパティを持つように見えても、URLなどのグローバル識別子を使用するidプロパティを含まないオブジェクトは、 併合しないことが重要です。

5.13 保護メカニズム仕様

セクション4.12 保護メカニズムで説明したように、実装者が 準拠文書を保護する際に使用できる方式は複数あります。有用性と相互運用性を最大限に高めるため、 準拠文書を保護する新しい方法を策定する仕様の作成者に対し、このセクションの指針を示します。

保護メカニズム仕様はMUST準拠文書のコンテンツ完全性を保護する規範的アルゴリズムを文書化しなければなりません。 このアルゴリズムはMAY、汎用的なものとすることができ、MAY準拠文書以外のデータを保護するために使用してもかまいません。

保護メカニズム仕様はMUST、保護された準拠文書内の情報だけを返す検証アルゴリズムを提供しなければなりません。 返される情報には、proof、JOSE/COSEヘッダーパラメータ、署名などの保護メカニズム情報を含めません。 検証アルゴリズムはMAY、保護メカニズムの詳細など、妥当性検証時やデバッグ目的で役立つ可能性のある追加情報を返してもかまいません。 検証アルゴリズムはMUST、メディアタイプ(文字列 inputMediaType)と入力データ(バイト列またはマップとして渡されるinputData)を受け取るインターフェイスを提供しなければなりません。 保護メカニズム仕様はMAY、この文書で指定されたものに加えて、別のアルゴリズムとインターフェイスを提供してもかまいません。検証アルゴリズムは、少なくとも次の項目を含む検証結果を返します:

boolean verified
検証が成功した場合はtrue、成功しなかった場合は falseとなる検証ステータス。
map verifiedDocument
正常に保護された情報だけを含む文書。
string mediaType
[RFC6838]で定義されたメディアタイプ。

保護メカニズム仕様はSHOULD、妥当性検証に不可欠であり、URLから参照されるすべての情報について完全性保護を提供するべきです。 この保護を実現できるメカニズムについては、セクション 5.3 関連リソースの完全性およびセクション C.1 基底コンテキストで説明します。

新しい型の埋め込み証明を作成する保護メカニズム仕様は、 MUSTプロパティを指定し、そのプロパティによって検証可能なクレデンシャルまたは 検証可能な提示証明グラフに関連付けなければなりません。 保護メカニズムに対する要件は次のとおりです:

注記

最後の要件は、保護メカニズムがデフォルトグラフを保護し、検証可能な提示では、提示に含まれる各検証可能なクレデンシャルを、それぞれの証明グラフとともに保護することを意味します。 9または14も参照してください。

proofプロパティは、[VC-DATA-INTEGRITY]で定義されており、MAY、埋め込み保護メカニズムで使用してもかまいません。

保護メカニズム仕様はSHOULD、その保護メカニズムを 保護メカニズムセクション(検証可能なクレデンシャル拡張文書内)に登録するべきです。

注記: 保護メカニズムの選択は ユースケースによって異なります

許容される保護メカニズムは複数あり、この仕様は、 検証可能なクレデンシャルまたは検証可能な提示で使用する特定の保護メカニズムを義務付けていません。 この仕様を策定したワーキンググループは、次の2つの保護メカニズムを標準化しました: 検証可能なクレデンシャル Data Integrity 1.0 [VC-DATA-INTEGRITY]およびJOSEおよびCOSEを使用した 検証可能なクレデンシャルの保護 [VC-JOSE-COSE]です。コミュニティで知られているその他の 保護メカニズムについては、保護メカニズム セクション(検証可能なクレデンシャル拡張文書内)を参照してください。

6. 構文

セクション3. コアデータモデル4. 基本概念、および5. 高度な概念で説明するデータモデルは、検証可能なクレデンシャルまたは検証可能な提示の正準の構造表現です。 すべての構文は、このデータモデルを特定の形式で表したものです。このセクションでは、application/vcおよびapplication/vpについて、データモデルをJSON-LDで直列化する方法を規定します。これらは、それぞれ検証可能なクレデンシャル検証可能な提示の基本メディアタイプです。 構文マッピングはJSON-LDに対してのみ提供されますが、アプリケーションやサービスは、application/vcまたはapplication/vpに戻すことができる、その他のデータ表現構文(XML、YAML、CBORなど)を使用できます。 検証および妥当性検証の要件はデータモデルに基づいて定義されるため、すべての直列化構文は、処理、妥当性検証、または比較のために、決定論的な方法でデータモデルへ変換しなければなりません。

この仕様でプロパティ値に想定される多重度と、その値を格納する結果のデータ型は、プロパティによって異なる場合があります。 次のプロパティは、存在する場合は単一の値として表現されます:id(セクション4.4 識別子)、issuer(セクション4.7 発行者)、および validFrom/validUntil(セクション4.9 有効期間)。その他のすべてのプロパティは、存在する場合、単一の値または値の配列として表現されます。

6.1 JSON-LD

この仕様では、この仕様で説明するデータモデルを直列化するためにJSON-LD 1.1を使用します。JSON-LDが有用なのは、グラフベースのデータモデルを表現できるためです。このデータモデルは検証可能なクレデンシャルの基盤です。また、機械可読なセマンティクスを表現でき、データモデルを拡張する際にも有用です(セクション3. コアデータモデルおよび5.2 拡張性を参照)。

JSON-LDは、Linked Dataを直列化するために使用されるJSONベースの形式です。Linked Dataは、リソース記述フレームワーク(RDF)[RDF11-CONCEPTS]を使用してモデル化されます。 RDFは、文のグラフをモデル化する技術です。各文は、1つの主体→プロパティ→値エンティティ→属性→値とも呼ばれます)の関係であり、この仕様では主張と呼びます。 JSON-LDは、慣用的なJSONを使ってRDFを表現できる技術であり、JSONに慣れた開発者は、RDFをJSONとして利用するアプリケーションを作成できます。詳細については、JSON-LDとRDFの関係を参照してください。

注目すべきJSON-LDの機能

一般に、この文書で説明するデータモデルと構文により、開発者は検証可能なクレデンシャルをおおむねJSON文書として扱うことができ、例をわずかに変更して、そのままソフトウェアシステムにコピー&ペーストできます。このアプローチの設計目標は、異種のソフトウェアシステム間のグローバルな相互運用性を確保しつつ、導入の障壁を低くすることです。 このセクションでは、これを可能にするために使用されるJSON-LDの機能のうち、ほとんどの開発者には意識されないと思われるものの、その詳細が実装者の関心を引く可能性があるいくつかの機能を説明します。 この仕様で使用されるJSON-LD 1.1のとりわけ注目すべき機能には、次のものがあります:

  • @idキーワードと@typeキーワードは、それぞれidおよびtypeにエイリアス化されており、開発者はこの仕様を慣用的なJSONとして使用できます。
  • 整数、日付、計量単位、URLなどのデータ型は自動的に型付けされ、それを必要とするユースケースに対してより強い型保証を提供します。
  • verifiableCredentialプロパティは、JSON-LD 1.1グラフコンテナとして定義されています。そのため、名前付きグラフを作成し、異なるエンティティが表明したデータ集合を分離する必要があります。これにより、たとえば、各発行者が提供するデータグラフと、保有者検証可能なクレデンシャルを提示する際に提供するデータグラフとが暗号学的に適切に分離され、各グラフの情報の出自が保持されます。
  • @protectedプロパティ機能は、JSON-LD 1.1の機能であり、 この仕様で定義された用語が上書きされないようにするために使用されます。これは、同じ@context宣言が検証可能なクレデンシャルまたは検証可能な提示の先頭で行われる限り、 データモデルの利用者がJSON-LD 1.1プロセッサを使用するかどうかにかかわらず、その利用者が理解しているすべての用語について相互運用性が保証されることを意味します。

JSON-LDに対する制限

相互運用性を高めるため、この仕様ではデータモデルのJSON-LD表現の使用を制限します。JSON-LDのコンパクト化文書形式を使用しなければなりません(MUST)。これは、application/vcまたはapplication/vpメディアタイプを使用するデータモデルのすべての表現に適用されます。

セクション 6.3 型固有のクレデンシャル処理で詳しく説明するように、一部のソフトウェアアプリケーションは汎用的なJSON-LD処理を行わない場合があります。準拠文書の作成者は、@context値内のJSON-LDキーワードを使用して、検証可能なクレデンシャルまたは検証可能な提示内の値にグローバルな影響を与えると、相互運用性が低下する可能性があることに注意してください。たとえば、@baseキーワードまたは@vocabキーワードの一方または両方を設定する場合です。 これらの値を設定すると、@context値に対する誤ったJSON Schemaテストが、型固有のクレデンシャル処理を行い、@baseおよび/または@vocab値が@context値内に表現されることを想定していない実装において、失敗する可能性があります。

相互運用性を高めるため、準拠文書の作成者には、 型固有のクレデンシャル処理の実行時に容易に検出できないJSON-LD機能を使用しないよう強く推奨します。これらの機能には、次のものがあります:

  • @context値内でのJSON-LDキーワードのインライン宣言。これらのキーワードは、@baseまたは@vocabの設定などにより、文書の用語と値の処理をグローバルに変更します
  • @vocabのリセットなど、以前のコンテキストの宣言を上書きするJSON-LDコンテキストの使用
  • @contextプロパティ内でのJSON-LDコンテキストのインライン宣言
  • JSON-LD用語と型について、完全なURL(たとえば、 https://www.w3.org/2018/credentials#VerifiableCredentialまたは https://vocab.example/myvocab#SomeNewType)を、それらの値の短縮形(たとえば、VerifiableCredentialまたはSomeNewType)の代わりに使用すること。 これらの短縮形は、JSON-LDの@contextマッピング(たとえば、 https://www.w3.org/ns/credentials/v2)で明示的に定義されます

この仕様では@vocabの使用に注意を促していますが、実験、開発、ローカル環境への導入を容易にする場合など、この機能の正当な用途もあります。 アプリケーション開発者が本番環境で@vocabを使用したい場合、用語の衝突を減らし、セマンティックな相互運用性の利点を活かすためにその使用は推奨されません。 また、@vocabを使用すると「未定義の用語」エラーの報告が無効になり、 後からの使用によって、以前の@vocab宣言が上書きされることを理解するよう強く推奨します。@vocabの値が異なると、文書に含まれる情報のセマンティクスが変わる可能性があるため、 これらの変更が開発中のアプリケーションに影響するかどうか、およびどのように影響するかを理解することが重要です。

リストと配列

JSON-LD 1.1を使用すると、リスト、配列、さらにはリストのリストも表現できます。 リストや配列を必要とするユースケースでRDFセマンティクスを利用したい場合は、 JSON-LD 1.1のリストに関する指針に従うことを推奨します。

一般に、JSON配列には順序がありますが、JSON-LD配列は@listキーワードを使用しない限り、順序付けられません。

注記: 配列の順序は重要でない場合があります

型固有のクレデンシャル処理を実行することでこのデータモデルを使用できますが、その方法で配列を使用する場合は、 上記の指針に従わない限り、JSON-LDでは配列内の項目の順序が保証されないことに注意する必要があります。これは予期しない動作を引き起こす可能性があります。

JSON構造または順序がアプリケーションにとって重要な場合は、それらの要素を@jsonとしてマークするために、そのユースケース固有の@contextを使用することを推奨します。そのような宣言の例を以下に示します。

33: 行列を埋め込みJSONデータ構造として定義する@contextファイル
{
  "@context":
    {
      "matrix": {
        "@id": "https://website.example/vocabulary#matrix",
        "@type": "@json"
      }
    }
}

上に示したコンテキストを下の例で使用し、https://website.example/matrix/v1コンテキストを@contextプロパティに含めると、 credentialSubject.matrix内の値はJSONセマンティクスを保持し、2次元行列内のすべての要素の正確な順序が保持されます。

34: 埋め込みJSONデータ構造を含む検証可能なクレデンシャル
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2",
    "https://website.example/matrix/v1"
  ],
  "id": "http://university.example/credentials/1872",
  "type": [
    "VerifiableCredential",
    "ExampleMatrixCredential"
  ],
  "issuer": "https://university.example/issuers/565049",
  "validFrom": "2010-01-01T19:23:24Z",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "matrix": [
      [1,2,3,4,5,6,7,8,9,10,11,12],
      [1,1,1,1,1,1,1,1,0,0,0,0],
      [0,0,1,1,1,1,1,1,1,0,0,0]
    ]
  }
}

6.2 メディアタイプ

[RFC6838]で定義されるメディアタイプは、 検証可能なクレデンシャルを表現するために使用される構文と、その他の有用な処理指針を識別します。

この仕様のデータモデルを表現するために使用される構文は、メディアタイプによって識別されるべきです(SHOULD)。また、このセクションに示す慣例には従うべきです(SHOULD)。これは、検証可能なクレデンシャルとともにメディアタイプを定義または使用する場合に適用されます。

コアデータモデルに関連付けられたメディアタイプは2つあり、セクションD. IANAに関する考慮事項に記載されています: application/vcおよびapplication/vp

application/vcおよびapplication/vpメディアタイプは、特定の保護メカニズムを意味するものではなく、保護メカニズムと併用することを意図しています。 これらのメディアタイプの完全性を保護するには、保護メカニズムを適用する必要があります。コンテンツの伝達に使用されるメディアタイプにかかわらず、そのコンテンツが安全であると想定してはなりません。

メディアタイプの精度

このセクションは非規範的です。

開発者またはシステムが、精度の低いメディアタイプを使用して検証可能なクレデンシャルまたは検証可能な提示を伝達する場合があります。精度の低いメディアタイプを使用する理由には、次のものがあります:

  • ファイル拡張子が利用できず、メディアタイプを特定できない場合、Webサーバーはデフォルトでtext/plainまたはapplication/octet-streamを使用します。
  • 開発者が、ファイルのコンテンツよりも具体性の低いメディアタイプに対応するファイル拡張子を追加する場合。たとえば、.jsonによってメディアタイプがapplication/jsonとなり、.jsonldによって application/ld+jsonとなる場合があります。
  • プロトコルが特定のトランザクションに対して、より精度の低いメディアタイプを必要とする場合。たとえば、application/jsonapplication/vpの代わりに使用する場合です。

使用されるメディアタイプが対象のプロトコルで許容され、ペイロードから意図されたメディアタイプを特定できる場合、実装者にはエラーを発生させないことを強く推奨します。 たとえば、アプリケーションがapplication/vcメディアタイプに関連付けられたルールに準拠するペイロードだけを受け入れるものの、ペイロードにapplication/jsonまたはapplication/ld+jsonが付されている場合、そのペイロードがより精度の高いメディアタイプにも準拠するかどうかを判定するため、次の手順を実行できます:

  1. ペイロードをJSON文書として解析します。
  2. @contextプロパティの最初の要素がhttps://www.w3.org/ns/credentials/v2と一致することを確認します。
  3. application/vpメディアタイプであると想定します。これは、JSON文書にトップレベルのtypeプロパティがあり、そこにVerifiablePresentation要素が含まれる場合です。その後も追加のチェックを実行し、ペイロードがこの仕様に準拠した検証可能な提示を表現していることを確認することが想定されます。
  4. application/vcメディアタイプであると想定します。これは、JSON文書にトップレベルのtypeプロパティがあり、そこにVerifiableCredential要素が含まれる場合です。その後も追加のチェックを実行し、ペイロードがこの仕様に準拠した検証可能なクレデンシャルを表現していることを確認することが想定されます。

可能な限り、実装者には、この仕様で定義されるすべてのペイロードに最も精度の高いメディアタイプを使用することを推奨します。 また、精度の低いメディアタイプが付されたペイロードであっても、より精度の高いメディアタイプを付すために必要なルールを満たしていないとは限らないことを認識するよう推奨します。 同様に、精度の高いメディアタイプが付されたペイロードが、必ずしもそのメディアタイプに関連付けられた要件を満たすとは限りません。 ペイロードの受信者は、関連付けられたメディアタイプにかかわらず、対象のシステムで使用するための要件にペイロードが準拠していることを確認するため、適切なチェックを実行することが想定されます。

HTTPクライアントとサーバーは、Acceptヘッダー、およびコンテンツタイプを示す際に、検証可能なクレデンシャルおよび検証可能な提示に関連付けられたメディアタイプを使用します。HTTPサーバーがAcceptヘッダーを無視して別のコンテンツタイプを返す場合や、415 Unsupported Media Typeなどのエラーコードを返す場合があることに、実装者は注意してください。

6.3 型固有のクレデンシャル処理

このセクションは非規範的です。

JSONは異なる種類の情報を表現できるため、特定のJSON文書の利用者が作成者の意図を正しく解釈できるのは、 その文書にコンテキストを与え、他の表現との曖昧さを解消する情報を持っている場合に限られます。この解釈を支援する情報は、JSON文書の外部に完全に置くことも、文書内からリンクすることもできます。 コンパクト化JSON-LD文書には、@contextプロパティが含まれます。このプロパティは、主張を表現するためのコンテキスト情報を内部で表現するか、その情報へリンクします。 これらの機能により、JSON-LD文書を1つのコンテキストから別のコンテキストへ変換する汎用プロセッサを作成できます。ただし、利用者が想定しているコンテキストと形状をすでに使用しているJSON-LD文書を受け取る場合、その処理は必要ありません。 発行者検証可能なクレデンシャルのJSON-LD文書を作成する場合など、文書の作成者は相互運用性を促進するため、適切なJSON-LDコンテキストを提供し、これらのルールに従う必要があります。

以下の説明は、JSON-LD文書の内容を利用するために変換する必要がないよう、利用者のアプリケーションがすでに理解しているコンテキストと形状で文書が表現されていることを保証する方法の理解に役立ちます。 これは、利用者がコンテキストを一切理解する必要がないという意味ではありません。利用するアプリケーションは、選択したコンテキストと文書形状の組み合わせだけを理解すればよく、その他のものを理解する必要はないという意味です。 発行者は、他のJSON形式のデータと同様に、コンテキストと自身の検証可能なクレデンシャルに関する情報を公開し、汎用プロセッサを使用しない利用者を支援できます。

汎用JSON-LD処理は、JSON-LDソフトウェアライブラリを使用して、準拠文書にさまざまな変換を施して処理するメカニズムと定義されます。 型固有のクレデンシャル処理は、JSON-LDソフトウェアライブラリを必要とせずに準拠文書を処理する、より軽量なメカニズムと定義されます。検証可能なクレデンシャルの利用者の中には、特定の型を持つクレデンシャルだけを利用すればよい利用者もいます。 これらの利用者は、汎用処理の代わりに型固有のクレデンシャル処理を使用できます。型固有のクレデンシャル処理が望ましい場面には、次のものが含まれますが、これらに限定されません:

つまり、型固有のクレデンシャル処理は、利用または生成される文書が準拠文書である限り許容されます。

型固有のクレデンシャル処理を利用したい場合、実装者には次のルールに従うことを推奨します:

@contextプロパティに関連付けられたすべての値が想定された順序になっていること、コンテキストファイルの内容が各ファイルの既知の正しい暗号学的ハッシュと一致すること、 および対象領域の専門家が、その内容が意図したユースケースに適切であると判断していることを確認します。

JSON Schemaと静的コンテキストファイルを併用することは、上記のルールを実装するための許容可能なアプローチの1つです。これにより、型固有のクレデンシャル処理を実行する際に、用語の適切な識別、型付け、および順序を確保できます。

上記のルールは、@contextメカニズムを通じてリテラルなJSONキーをURIにマッピングする場合に、2つの処理メカニズム間のセマンティックな相互運用性を保証します。 汎用JSON-LD処理は、そのアルゴリズムに与えられた未知の@context値を使用し、すべての用語が正しく指定されていることを検証できます。一方、型固有のクレデンシャル処理を行う実装は、事前に理解できるよう設計された特定の@context値だけを受け入れ、JSON-LD APIを呼び出すことなく同じセマンティクスを得ます。 言い換えると、データ交換が行われるコンテキストは、両方の処理メカニズムに対して、@contextを同じ準拠文書のセマンティクスにつながる方法で使用することにより、明示的に示されます。

7. アルゴリズム

このセクションには、実装が検証などの一般的な操作を行うために使用できるアルゴリズムが含まれます。アルゴリズムとして記述された適合要件では、Infra標準INFRA]の規範的概念を使用します。実装要件に関する詳しい指針については、アルゴリズムへの適合に関するInfra標準のセクションを参照してください。

注記:実装者は追加のチェック、警告、エラーを含めることができます。

このセクションのアルゴリズムには、実装がこの仕様への適合性をテストするために使用する最低限のチェックだけが含まれていることに、実装者は注意してください。 実装には、潜在的な問題のデバッグに役立つ警告を開発者へ報告する追加のチェックを提供することが想定されます。 同様に、有害なコンテンツを阻止するため、新しい種類のエラーの報告につながる追加のチェックが実装によって提供される可能性があります。 これらの追加チェックはいずれも、この仕様の将来の版に組み込まれる可能性があります。

7.1 検証

このセクションには、準拠する検証者実装が実行しなければならない(MUST)アルゴリズムが含まれます。これは、検証可能なクレデンシャルまたは検証可能な提示を検証する場合に適用されます。このアルゴリズムは、メディアタイプ(文字列 inputMediaType) と保護されたデータ(バイト列 inputData)を受け取り、次のものを含むマップを返します:

検証アルゴリズムは次のとおりです:

  1. 次の手順を実行して、保護メカニズムが 準拠文書を適切に保護していることを確認します:
    1. verifyProof関数を設定します。inputMediaTypeと、保護メカニズムセクション(検証可能なクレデンシャル拡張文書)、または実装が認識しているその他のメカニズムを使用して、保護メカニズムの検証時に使用する暗号スイートを決定します。verifyProof関数はMUST5.13 保護メカニズムの仕様で説明するインターフェースを実装しなければなりません。
    2. verifyProof関数がバイト列を想定している場合は、inputMediaTypeinputDataをアルゴリズムに渡します。verifyProof関数がマップを想定している場合は、inputMediaTypeと、JSONバイト列をInfra値として解析する処理にinputDataを与えた結果を渡します。resultverifyProof関数の呼び出し結果に設定します。呼び出しに成功した場合、resultにはstatusdocumentmediaTypecontrollercontrolledIdentifierDocumentwarnings、およびerrorsプロパティが含まれます。
    3. result.statusfalseに設定されている場合、CRYPTOGRAPHIC_SECURITY_ERRORresult.errorsに追加します。
  2. result.statustrueに設定されている場合、result.document準拠文書であることを確認します。そうでない場合、result.statusfalseに設定し、documentプロパティをresultから削除して、MALFORMED_VALUE_ERRORを少なくとも1つresult.errorsに追加します。デバッグ処理を支援するため、その他の警告やエラーを含めてもかまいません(MAY)。
  3. resultを返します。

実装が同じ無効な入力に対してエラーを返す限り、保護メカニズムの状態を検証する手順と、入力文書が準拠文書であることを検証する手順は、上記とは異なる順序で実行してもかまいません(MAY)。実装は、上記で説明したものとは異なるエラーを生成してもかまいません(MAY)。

7.2 問題の詳細

実装が文書の処理中に異常を検出した場合、 ProblemDetailsオブジェクトを使用して、問題を他のソフトウェアシステムへ報告できます。これらのオブジェクトのインターフェースは、データの符号化について[RFC9457]に従います。ProblemDetailsオブジェクトは、次のプロパティで構成されます:

type
typeプロパティは存在しなければならず(MUST)、その値はMUST、問題の種類を識別するURLでなければなりません。
title
titleプロパティSHOULD、問題について短く具体的で人間が読める文字列を提供するべきです。
detail
detailプロパティSHOULD、問題についてより長く、人間が読める文字列を提供するべきです。

この仕様では、次の問題記述タイプを定義します:

https://www.w3.org/TR/vc-data-model#PARSING_ERROR
入力の解析中にエラーが発生しました。
https://www.w3.org/TR/vc-data-model#CRYPTOGRAPHIC_SECURITY_ERROR
文書の保護メカニズムが、文書の作成後にその内容が変更されたことを検出しました。改ざんの可能性が検出されています。セクション 7.1 検証を参照してください。
https://www.w3.org/TR/vc-data-model#MALFORMED_VALUE_ERROR
特定のプロパティに関連付けられた値が不正な形式です。プロパティの名前とそのプロパティへのパスはSHOULDProblemDetailsオブジェクトで提供するべきです。セクション 7.1 検証を参照してください。
https://www.w3.org/TR/vc-data-model#RANGE_ERROR
提供された値が、関連する値の想定範囲外です。たとえば、配列に指定されたインデックス値が、その配列の現在のサイズより大きい場合です。

実装はMAY、追加のタイプまたはプロパティを指定してProblemDetailsオブジェクトを拡張してもかまいません。このメカニズムの使用に関する詳しい指針については、拡張メンバーセクション([RFC9457])を参照してください。

8. アクセシビリティに関する考慮事項

このセクションは非規範的です。

この仕様で説明するデータを処理する際、実装者が認識しておくべきアクセシビリティ上の考慮事項がいくつかあります。他のあらゆるWeb標準やプロトコルの実装と同様に、アクセシビリティ上の問題を無視すると、多くの人がこの情報を利用できなくなります。能力にかかわらず、すべての人がこのデータを利用できるようにするには、[WCAG21]などのアクセシビリティに関するガイドラインと標準に従うことが重要です。 これは、歴史的に支援技術に問題をもたらしてきた暗号技術を使用するシステムを構築する場合に、特に重要です。

このセクションでは、このデータモデルを使用する際に考慮すべき一般的なアクセシビリティ上の事項を詳しく説明します。

8.1 データファーストのアプローチ

このセクションは非規範的です。

政府発行の身分証明カードなど、現在使用されている多くの物理的なクレデンシャルは、アクセシビリティ特性が十分ではありません。たとえば、小さな文字、小さく高解像度の画像への依存、視覚障害のある人への配慮の欠如などが挙げられますが、これらに限定されません。

このデータモデルを使用して検証可能なクレデンシャルを作成する場合、データモデルの設計者にはデータファーストのアプローチを使用することを推奨します。たとえば、 クレデンシャルを表現するためにデータまたはグラフィック画像のどちらかを選択できる場合、設計者は、機関名や専門職のクレデンシャルなど、画像のすべての要素を機械可読な方法で表現するべきです。情報を伝えるために、閲覧者による画像の解釈に依存するべきではありません。データファーストのアプローチは、能力の異なる人々に応じたさまざまなインターフェースを構築するための基礎要素を提供するため、推奨されます。

9. 国際化に関する考慮事項

このセクションは非規範的です。

この仕様で説明するデータを公開する際、実装者には、いくつかの国際化上の考慮事項を認識することを推奨します。 他のあらゆるWeb標準やプロトコルの実装と同様に、国際化を無視すると、異なる言語や社会の間でデータを生成し利用することが困難になります。その結果、この仕様の適用可能性が制限され、標準としての価値が大幅に損なわれます。

実装者には、Web上の文字列:言語と方向のメタデータ文書[STRING-META]を読むことを強く推奨します。この文書はW3C国際化活動によって公開され、国際化を支援するため、テキストについて信頼できるメタデータを提供する必要性を詳しく説明しています。国際化に関する最新情報については、検証可能なクレデンシャル実装ガイドライン[VC-IMP-GUIDE]文書も読むことを強く推奨します。

このセクションでは、このデータモデルを使用する際に考慮すべき一般的な国際化事項の概要を示し、実装者が関心を持つ可能性のあるWeb上の文字列:言語と方向のメタデータ文書[STRING-META]の特定部分を取り上げることを目的としています。

9.1 言語と基本方向

複数の表現構文にわたって言語および基本方向の情報を表現できるようにするため、データ公開者には、Web上の文字列:言語と方向のメタデータ文書[STRING-META]の「構文横断の表現」セクションを読むことを強く推奨します。具体的には、言語と基本方向の情報を、[JSON-LD11]、[JSON]、およびCBOR[RFC7049]などの複数の表現構文で表現できるようにします。

一般的な設計パターンでは、言語、および任意で特定の基本方向が付されたテキスト文字列を表現する際に、次のマークアップテンプレートを使用します。

35:自然言語文字列の設計パターン
"myProperty": {
  "@value": "The string value",
  "@language": "LANGUAGE"
  "@direction": "DIRECTION"
}

文字列値の代わりに言語値オブジェクトを使用する場合、そのオブジェクトはMUST、値が文字列である@valueプロパティを含まなければなりません。また、SHOULD@languageプロパティを含むべきです。その値は、整形式のLanguage-Tagを含む文字列でなければならず、このタグは[BCP47]で定義されます。さらに、MAY@directionプロパティを含めてもかまいません。その値は、基本方向を表す文字列であり、@directionプロパティ([JSON-LD11])で定義されます。言語値オブジェクトはMUST NOT@value@language、および@direction以外のキーを含んではなりません。

上記の設計パターンを使用して、次の例では、テキスト方向を指定せずに書籍のタイトルを英語で表現します。

36:自然言語テキストを英語で表現する
"title": {
  "@value": "HTML and CSS: Designing and Creating Websites",
  "@language": "en"
}

次の例では、基本方向を右から左に設定し、同様のタイトルをアラビア語で表現します。

37:基本方向が右から左のアラビア語テキスト
"title": {
  "@value": "HTML و CSS: تصميم و إنشاء مواقع الويب",
  "@language": "ar",
  "@direction": "rtl"
}
注記:国際化されたテキストを適切に描画することは困難です

多くのシステムはテキスト文字列の最初の文字を使用して基本方向を決定するため、言語と方向を明示的に表現しなければ、上記のテキストは左から右として誤って描画される可能性が高くなります。

複数の言語値オブジェクトを、プロパティの配列値として提供してもかまいません(MAY):

38:タイトルに複数言語のテキストを提供する
"title": [
  {
    "@value": "HTML and CSS: Designing and Creating Websites",
    "@language": "en"
  },
  {
    "@value": "HTML و CSS: تصميم و إنشاء مواقع الويب",
    "@language": "ar",
    "@direction": "rtl"
  }
]
39:二言語クレデンシャルの例
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://achievement.example/multilingual/v2"
  ],
  "type": [ "VerifiableCredential", "ExampleAchievementCredential" ],
  "issuer": {
    "id": "did:example:2g55q912ec3476eba2l9812ecbfe",
    "type": "Profile"
  },
  "validFrom": "2024-03-14T22:32:52Z",
  "validUntil": "2025-01-01T00:00:00Z",

  "credentialSubject": {
    "type": [ "AchievementSubject" ],
    "achievement": {
      "id": "urn:uuid:9a652678-4616-475d-af12-aca21cfbe06d",
      "type": [ "Achievement" ],
      "name": {
        "en": "Successful installation of the Example application",
        "es": "Instalación exitosa de la aplicación Example"
      },
      "criteria": {
        "narrative": {
          "es": "Instaló exitosamente de la aplicación Example.",
          "en": "Successfully installed the Example application."
        }
      }
    }
  }
}

9.2 デフォルトの言語と方向の提供

各自然言語文字列プロパティ値の言語と基本方向は、提供するべきです(SHOULD)。これは、各プロパティ値の言語値構造を介して提供するか、クレデンシャル全体のすべての値に対するデフォルトの言語と基本方向を介して提供します。値ごとの言語値構造を使用することが推奨されます。文書のデフォルトを使用すると、本来は任意であるJSON-LD展開に基づく変換を、後続のプロセッサが実行しなければならなくなる可能性があるためです。詳細については、文字列の国際化セクション([JSON-LD11]仕様)を参照してください。言語が関連付けられていない自然言語文字列値は、その言語値が未定義であるものとして扱うべきです(SHOULD)。この値はundefined(言語タグ「und」)です。基本方向が関連付けられていない自然言語文字列値は、その方向値が自動であるものとして扱うべきです(SHOULD)。この方向値は「auto」です。

A. 脅威モデル

このセクションは非規範的です。

このセクションでは、セキュリティに関する考慮事項とプライバシーに関する考慮事項を含め、この仕様の一般的な脅威モデルについて詳しく説明します。各脅威の完全な分析とその対応策は、 検証可能なクレデンシャル・データモデルの脅威モデルに示されています。実装者には、そこで示された助言を、この仕様が提供する個々の機能に適用することが求められます。

A.1 対象となる脅威

  1. クレデンシャル内容の改ざん セキュリティ — 発行後の検証可能なクレデンシャルにアクセスできる攻撃者が、その内容を変更して、そこに表された主張を改変するか、完全性保護が存在しないことを検出せずに後続の検証プロセスが処理することを期待して、その保護メカニズムを取り除きます。
  2. 発行時の本人確認の失敗 セキュリティ発行者主体に対する信頼を確立するプロセスに失敗した結果、他人の情報を提示した攻撃者が真正なクレデンシャルを受け取ります。そのクレデンシャルは被害者を主体として記載しており、その後のすべての検証に成功します。

A.2 実装上の脅威

  1. クレデンシャル内容を介したコードインジェクション セキュリティ検証可能なクレデンシャルに、rdf:HTML値内のマークアップなど、注入可能なコードを含む値が格納されており、その内容を適切に処理せず描画する利用者にコードを実行させます。
  2. 署名に基づく相関 プライバシー — 署名値、そのタイムスタンプ、公開鍵識別子など、保護メカニズムを構成する値がセッションやドメインを越えて同じままであるため、ペイロードに相関可能な識別子が現れない場合でも、検証者提示を同じ保有者に関連付けることができます。
  3. ステータスおよび失効照会による相関 プライバシークレデンシャルのステータスを確認する行為によって、やり取りが行われていることが漏洩します。その結果、発行者クレデンシャルが提示されたすべての場所を把握でき、発行者検証者が共謀して保有者を相関できるようになります。
  4. 署名鍵の侵害と不適切な管理 セキュリティ — 署名用秘密鍵が侵害されると、攻撃者は検証によって真正と報告されるクレデンシャルを偽造できます。複数の目的で鍵を再利用したり、暗号学的有効期間を超えて長期間使用したりすると、侵害の可能性が高まります。
  5. 保護されていない外部リソースの改ざん セキュリティ — 画像、JSON-LDコンテキスト、JSON Schemaなど、検証可能なクレデンシャルからリンクされたコンテンツは、保護メカニズムによる保護の対象外にあります。そのため、攻撃者がそれを変更すると、検証が引き続き成功しても脆弱性が生じます。
  6. 提示交換攻撃(MITM、リプレイ、およびスプーフィング) セキュリティ — データモデル自体は、検証可能な提示の交換に対する中間者攻撃、リプレイ攻撃、およびスプーフィング攻撃を防止しません。検証者は、自身が意図された受信者であること、提示が再利用されていないこと、または保有者主張を提示する権限を持つことを確信できません。
  7. 不適切または文脈外でのクレデンシャル使用 セキュリティ — 有効な署名と成功したステータス確認は、クレデンシャルが使用される文脈に適していることを示しません。そのため、検証だけで十分だと扱う検証者は、その出所と性質が当該目的に適合しないクレデンシャルを受け入れてしまいます。

A.3 配備上の脅威

  1. 識別子に基づく相関 プライバシー検証可能なクレデンシャルに、主体の識別子、メールアドレス、政府発行の識別子など、長期間使用される識別子が含まれています。これにより、2者の検証者、または発行者検証者が共謀し、ドメインを越えて保有者を追跡できます。
  2. 信頼できないユーザーエージェントソフトウェア プライバシーエンティティのユーザーエージェントとして機能するソフトウェア、とりわけ保有者のデジタルウォレットが、保有者の許可を超える情報を開示してユーザーの利益に反する動作をするか、複数の役割を同時に担う場合にすべての当事者の最善の利益に沿って行動できません。
  3. 過剰なデータ開示 プライバシー検証可能なクレデンシャルが、やり取りに必要な量を超える個人識別情報を含んでいるか、検証者が必要最小限を超える情報を要求することで、主体は、クレデンシャルが使用されるたびに情報を開示することになります。
  4. メタデータに基づく相関 プライバシー — 特定の拡張機能、クレデンシャルタイプ、および技術プロファイルの組み合わせを使用する発行者が比較的少ない場合、その選択が相関可能なフィンガープリントとして機能し、保有者が期待する仮名性を低下させます。
  5. ベアラークレデンシャルの再利用と相関 プライバシー — 複数のサイトで同じベアラークレデンシャルを繰り返し使用すると、それらのサイトが共謀して保有者を追跡できるようになります。また、単独では個人を識別しないように見える情報でも、統計的に個人を識別できる場合があります。
  6. 利用パターンによる相関 プライバシー — 個々の開示を最小限に抑えても、検証可能なクレデンシャルを提示するパターンによって匿名性が失われます。これは、同じ検証者への繰り返しの提示、複数の検証者間の共謀、または主体識別子が複数の提示を通じて変化しないことによって生じます。
  7. 悪意または欺瞞的な検証者への開示 プライバシー検証者が悪意をもって行動し、保有者に損害を与え得る情報を要求します。たとえば、銀行口座番号を取得し、後に他の情報と組み合わせて詐欺に利用します。
  8. データ窃取とクレデンシャル・ハニーポット セキュリティ検証可能なクレデンシャル検証可能な提示を保存すると、攻撃者を引き付ける機微データのハニーポットが生まれます。エコシステム全体での保存方法と保護方法の選択が、窃取の規模を左右します。
  9. 発行者側の相関とプライバシー保護の破壊 プライバシー — 多くのプライバシー保護は、発行者がその保護を損なわないことに依存しています。その保護を損なう発行者が、短期間で自動更新されるクレデンシャルを発行したり、クレデンシャルごとに固有の鍵を生成したりすることで、保有者の行動を、検証者には相関できない場合でも相関できます。
  10. 不適切な有効期間 セキュリティ — 変化の激しい情報の利用予定期間を超えて有効期間を設定すると、古くなった情報が信頼される時間帯が生じます。一方、有効期間が短すぎると、頻繁な再発行によって保有者検証者に負担がかかります。
  11. デバイスの盗難となりすまし セキュリティ — 紛失または盗難に遭ったデバイスを手に入れた攻撃者が、被害者の検証可能なクレデンシャルに依存するシステムへ不正にアクセスし、保有者になりすまします。

A.4 外部の脅威

  1. ストレージ提供者によるデータマイニングと強制的開示 プライバシー — 第三者のクレデンシャルリポジトリは、保存された検証可能なクレデンシャルをその運営者に公開します。運営者は個人データをマイニングするか、法的手続によってその開示を強制されます。
  2. デバイス追跡とフィンガープリンティング プライバシー — アドレス追跡、ブラウザーのフィンガープリンティング、広告トラッカーなど、検証可能なクレデンシャルの外部にある追跡メカニズムがクレデンシャルデータと組み合わさることで、新たに相関可能な情報が明らかになります。また、リンクされた外部リソースを取得すると、そのリソースをホストするサーバーへ活動が通知されます。
  3. クレデンシャルとデータの集約 プライバシー — 同じ主体に関する2つの情報を保持すると、それぞれを個別に検討した場合より多くのことが明らかになります。その結果、検証者または共謀するサイトは、時間の経過とともに情報がさらに漏洩するにつれて拡大するプロファイルを構築できます。
  4. 提示後のデータの不正利用 プライバシー保有者が明示された目的のために検証可能な提示を共有した後、検証者保有者の同意した範囲を超えてデータを使用します。データモデルには、保有者提示後に許可された利用を強制する手段がありません。

A.5 依存関係の脅威

  1. 暗号スイートの陳腐化 セキュリティ検証可能なクレデンシャルを保護する暗号スイートとライブラリには寿命があり、最終的には新たな攻撃や技術の進歩に屈します。その後、攻撃者がクレデンシャルを偽造または変更しても、検証では真正であると報告されます。

プライバシーに関する考慮事項

このセクションは非規範的です。

このセクションでは、検証可能なクレデンシャル・データモデルを本番環境に配備する際の一般的なプライバシー上の考慮事項と、具体的なプライバシーへの影響について詳しく説明します。上記で要約したプライバシー上の脅威と、それぞれへの対応策の完全な分析は、 検証可能なクレデンシャル・データモデルの脅威モデルに示されています。

プライバシーのスペクトル

このセクションは非規範的です。

プライバシーには、仮名状態から個人が強く識別される状態までのスペクトルがあることを認識することが重要です。ユースケースによって、人々が提供してもよいと考える情報と、そこから導出され得る情報に対する許容度は異なります。

左に赤、中央にオレンジ、右に緑を配した横長の棒。赤には「相関可能性が高い(グローバルID)。例:政府発行ID、配送先住所、クレジットカード番号」、オレンジには「共謀によって相関可能(個人識別情報)。例:氏名、生年月日、郵便番号」、緑には「相関不能(仮名)。例:21歳以上」と記されています。
13 仮名状態から完全に識別された状態までのプライバシーのスペクトル。

プライバシー対策はユースケースごとに異なります。 たとえば、アルコール購入時の規制は購入者が一定の年齢を超えているかどうかを確認することだけを目的としているため、多くの人は匿名のままでいることを望みます。対照的に、医療専門家が患者に処方した薬を調剤する場合、薬局には処方者と患者の両方をより厳密に識別する法的義務があります。すべてのユースケースに適用できる単一のプライバシー対策はありません。

注記:一部のユースケースでは年齢証明だけでは不十分な場合があります

アルコールを購入する際に匿名のままでいたい人でも、販売者に対して適切な保証を与えるため、顔写真付き身分証明書を提示する必要がある場合があります。販売者は、購入者が一定の年齢を超えているという事実以外に、氏名やその他の詳細を知る必要はないかもしれません。それでも、多くの場合、単純な年齢証明だけでは規制を満たすのに不十分なことがあります。

検証可能なクレデンシャル・データモデルは、プライバシーのスペクトル全体を支援することを目指しており、特定の取引に適した匿名性の水準について哲学的な立場を取りません。プライバシーに敵対的な特定の状況を回避したい実装者は、 検証可能なクレデンシャル・データモデルの脅威モデルに記載されたプライバシー上の脅威と対応策を指針としてください。

ベアラークレデンシャル

このセクションは非規範的です。

ベアラークレデンシャルとは、コンサートのチケットなど、その保有者に、保有者が機微情報を開示することなく特定のリソースを利用する権利を与える、プライバシーを強化する情報です。リスクの低い状況では、複数の保有者が同じ検証可能なクレデンシャルを提示しても問題にならない場合や、大きな経済的損失または評判上の損失につながらない場合に、エンティティはベアラークレデンシャルをよく使用します。

検証可能なクレデンシャルベアラークレデンシャルとして実現するには、主体識別子を指定しません。この識別子はidプロパティで表され、このプロパティはcredentialSubjectプロパティ内にネストされています。たとえば、次の検証可能なクレデンシャルベアラークレデンシャルです:

40:発行者プロパティの使用
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/temporary/28934792387492384",
  "type": ["VerifiableCredential", "ExampleDegreeCredential"],
  "issuer": "https://university.example/issuers/14",
  "validFrom": "2017-10-22T12:23:48Z",
  "credentialSubject": {
    // note that the 'id' property is not specified for bearer credentials
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  }
}
application/vc
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/temporary/28934792387492384",
  "type": [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ],
  "issuer": "https://university.example/issuers/14",
  "validFrom": "2017-10-22T12:23:48Z",
  "credentialSubject": {
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  },
  "proof": {
    "type": "DataIntegrityProof",
    "created": "2026-09-05T21:09:22Z",
    "verificationMethod": "did:key:zDnaeqpc578Kg3k9asdXLMhsQSjh8HMPp3ip3miiWZUUhsv9p",
    "cryptosuite": "ecdsa-rdfc-2019",
    "proofPurpose": "assertionMethod",
    "proofValue": "z4gJE9JhYE7Ysoi4bVDxfZtPoS58xSaToS24VgD5ZCFZwrnnNmG1u7TEiWSoDMZg7atEsjnXhgWDDUhPStt3fjP6H"
  }
}
application/vc
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/temporary/28934792387492384",
  "type": [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ],
  "issuer": "https://university.example/issuers/14",
  "validFrom": "2017-10-22T12:23:48Z",
  "credentialSubject": {
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  },
  "proof": {
    "type": "DataIntegrityProof",
    "created": "2026-09-05T21:09:22Z",
    "verificationMethod": "did:key:zDnaee6cRuNdNecab7A7cnbb6w5xovYRWxYirEHstya3usouK",
    "cryptosuite": "ecdsa-sd-2023",
    "proofPurpose": "assertionMethod",
    "proofValue": "u2V0AhVhAbXDWQP7VZ4tVSPZEQ37oKYrxGWkIwkwa3sS-rkbte7wecDF3TxhbNKPfY9jd5v0jHqYUmEwN_nAnB636lSLe6VgjgCQDMxU4UBpX81s3MtMHLl8e0TfnyBXVUPx2MPOcIa_zlVZYIF-zYmjno5WxBA8rB82d5MfISeVMrv-alCp6slMeruQqhVhAz_JTxkYAp3EJGTbBF4VXY_mXDt2ZTpRAlgfgoptM2H7zSge_QU8P6XW77Pg-7gfTKBMEVz4qoFhuSnT5ofgjQ1hAfO9DdRJLyiv_i-y6s0XuVFw54dxY8J5E6rcOEVJg8uCCOQ48WAkNtlqQiOvUE4zBlI_mHUHIHOqswhcG8gT0BFhAmq26f0MIY0Xg6SOKUGKlHlDXWfNB8vs9cJobyjaNIIXfkpQfpkH0P_XBOtuitw64aCu1es7oS26vqwqArod4f1hAAJw-H9rtO-XLxlDrP4NZPZDy7l6bQw7CI1cxwjtR2bZpUUvN3728RIK6vEhhtrjsrCV7aETHy7sumaImZoprqlhAxTQKCH9T2RR3lisBRvZKNmcA9Qg9iS6oqx0V4Wwjsmc4m8s_2aAM2FTiBsZgCirVLNQgzDEBLIcQCwQYLD-f44FnL2lzc3Vlcg"
  }
}
application/vc
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/temporary/28934792387492384",
  "type": [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ],
  "issuer": "https://university.example/issuers/14",
  "validFrom": "2017-10-22T12:23:48Z",
  "credentialSubject": {
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  },
  "proof": {
    "type": "DataIntegrityProof",
    "verificationMethod": "did:key:zUC7JVyoNecN4arDQjjTXVSfyv1V7bwcnMUs6y2BuSeWmzarPohM5DLXAXXxkBRrpjbzZTUdrLaAVoj87nPgXktL3q8JgBvRqqHo9Z88Jfn2tXXM8Q1aTDhNgf1HYL9WEMiULnS",
    "cryptosuite": "bbs-2023",
    "proofPurpose": "assertionMethod",
    "proofValue": "u2V0ChVhQr2JdqpEn1gSsMuVv0OOW4ydQjz7yLRGCP4zyahVs3gVxV3yZa3P3kvbf8aHmIY5NVvxNIvEImIEGaLxcQ9IC-mOqGr_iaymo8bVdWwBAa29YQD3-tli9rF9b1rOCOCaDSL0zj-QnIO3TIaEobJTPayaIdrHmhnEXifHmmlKM3zCnc0pq4l3ZkBkIESZ4DrQomVNYYLMBLFvXdBPRt0k4kRZk93gc0jkscNQB3wJpCXu4OPkNaVJMlX03jEKZdwQ437AaRg2tSqfzd_pbHzZq9O7FyF1fsAT1tn_tHqFT5wrUWfaGtHJRQwv6rnUS3s9HBqQB_1ggtUkRUsfQJWZ0UDSHwnjHqcJ-fOZt0xzG9BaPLElAHaSBZy9pc3N1ZXI"
  }
}
保護対象ヘッダー
{
  "kid": "ExHkBMW9fmbkvV266mRpuP2sUY_N_EWIN1lapUzO8ro",
  "alg": "ES256"
}
application/vc
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/temporary/28934792387492384",
  "type": [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ],
  "issuer": "https://university.example/issuers/14",
  "validFrom": "2017-10-22T12:23:48Z",
  "credentialSubject": {
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  }
}
application/vc+jwt
eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMyNTYifQ .eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwiaWQiOiJodHRwOi8vdW5pdmVyc2l0eS5leGFtcGxlL2NyZWRlbnRpYWxzL3RlbXBvcmFyeS8yODkzNDc5MjM4NzQ5MjM4NCIsInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJFeGFtcGxlRGVncmVlQ3JlZGVudGlhbCJdLCJpc3N1ZXIiOiJodHRwczovL3VuaXZlcnNpdHkuZXhhbXBsZS9pc3N1ZXJzLzE0IiwidmFsaWRGcm9tIjoiMjAxNy0xMC0yMlQxMjoyMzo0OFoiLCJjcmVkZW50aWFsU3ViamVjdCI6eyJkZWdyZWUiOnsidHlwZSI6IkV4YW1wbGVCYWNoZWxvckRlZ3JlZSIsIm5hbWUiOiJCYWNoZWxvciBvZiBTY2llbmNlIGFuZCBBcnRzIn19fQ .0YPxx2rgTOszjVAQkppdAqdLZP3YXjxNFot_Sby6YXRHd4ZrhvUgMnbvmw_SBmfsKjHnARDpZy08kBTQnmH5mA
application/vc
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/temporary/28934792387492384",
  "type": [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ],
  "issuer": "https://university.example/issuers/14",
  "validFrom": "2017-10-22T12:23:48Z",
  "credentialSubject": {
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  }
}
application/vc+cose
d28443a10128a05901a27b2240636f6e74657874223a5b2268747470733a2f2f7777772e77332e6f72672f6e732f63726564656e7469616c732f7632222c2268747470733a2f2f7777772e77332e6f72672f6e732f63726564656e7469616c732f6578616d706c65732f7632225d2c226964223a22687474703a2f2f756e69766572736974792e6578616d706c652f63726564656e7469616c732f74656d706f726172792f3238393334373932333837343932333834222c2274797065223a5b2256657269666961626c6543726564656e7469616c222c224578616d706c6544656772656543726564656e7469616c225d2c22697373756572223a2268747470733a2f2f756e69766572736974792e6578616d706c652f697373756572732f3134222c2276616c696446726f6d223a22323031372d31302d32325431323a32333a34385a222c2263726564656e7469616c5375626a656374223a7b22646567726565223a7b2274797065223a224578616d706c6542616368656c6f72446567726565222c226e616d65223a2242616368656c6f72206f6620536369656e636520616e642041727473227d7d7d5840c4d5efc12f60952fc400cfb6d9807733b836513f3b4d215ad73d52c6dc3b2838df68ad4fc4e5dd568d3d419a4e235eb13fa7ed52031476c59b9aafe144e79627
eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMyNTYifQ .eyJpYXQiOjE3ODg2NDI1NjIsImV4cCI6MTc4OTg1MjE2MiwiX3NkX2FsZyI6InNoYS0yNTYiLCJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwiaXNzdWVyIjoiaHR0cHM6Ly91bml2ZXJzaXR5LmV4YW1wbGUvaXNzdWVycy8xNCIsInZhbGlkRnJvbSI6IjIwMTctMTAtMjJUMTI6MjM6NDhaIiwiY3JlZGVudGlhbFN1YmplY3QiOnsiZGVncmVlIjp7Im5hbWUiOiJCYWNoZWxvciBvZiBTY2llbmNlIGFuZCBBcnRzIiwiX3NkIjpbImgxWGxtZkJ3R20zVkVLUlhWLWw3NUZoRzh1YUlnb3pYUV8xcXkwV2JGcmciXX19LCJfc2QiOlsiZWlYREpKTE5Yc1VWTENmNVdWb3NtSm5fNmtmV0k3ZlFDTVV1QW9ueHhEWSIsImxqTlZIWGZtS0lpRTRKVTB2dUkza3dkbnR6VkRXWXBydWpPbkhxeHU1alEiXX0 .6mhhGPj27WO7_540JuzSRy6DTA5nRNmAs2QySRwFv6Iav6Y_nLMdTAgL_7g63V9uiF0eeyivfBkaDwF5N3ymgA ~WyJ5bnpDaURFNnhPazhydjZ2UThNcmtBIiwgImlkIiwgImh0dHA6Ly91bml2ZXJzaXR5LmV4YW1wbGUvY3JlZGVudGlhbHMvdGVtcG9yYXJ5LzI4OTM0NzkyMzg3NDkyMzg0Il0~WyJtYW10NnpvTVJBV25WU2tSS2NVMjZnIiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIkV4YW1wbGVEZWdyZWVDcmVkZW50aWFsIl1d~WyJ1SW40blNBRjYzWkFIU2VCU1NJb19RIiwgInR5cGUiLCAiRXhhbXBsZUJhY2hlbG9yRGVncmVlIl0~
{
  "kid": "ExHkBMW9fmbkvV266mRpuP2sUY_N_EWIN1lapUzO8ro",
  "alg": "ES256"
}
{
  "iat": 1788642562,
  "exp": 1789852162,
  "_sd_alg": "sha-256",
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "issuer": "https://university.example/issuers/14",
  "validFrom": "2017-10-22T12:23:48Z",
  "credentialSubject": {
    "degree": {
      "name": "Bachelor of Science and Arts",
      "_sd": [
        "h1XlmfBwGm3VEKRXV-l75FhG8uaIgozXQ_1qy0WbFrg"
      ]
    }
  },
  "_sd": [
    "eiXDJJLNXsUVLCf5WVosmJn_6kfWI7fQCMUuAonxxDY",
    "ljNVHXfmKIiE4JU0vuI3kwdntzVDWYprujOnHqxu5jQ"
  ]
}

主張: id

SHA-256ハッシュ: eiXDJJLNXsUVLCf5WVosmJn_6kfWI7fQCMUuAonxxDY

開示: WyJ5bnpDaURFNnhPazhydjZ2UThNcmtBIiwgImlkIiwgImh0dHA6Ly91bml2ZXJzaXR5LmV4YW1wbGUvY3JlZGVudGlhbHMvdGVtcG9yYXJ5LzI4OTM0NzkyMzg3NDkyMzg0Il0

内容: [
  "ynzCiDE6xOk8rv6vQ8MrkA",
  "id",
  "http://university.example/credentials/temporary/28934792387492384"
]

主張: type

SHA-256ハッシュ: ljNVHXfmKIiE4JU0vuI3kwdntzVDWYprujOnHqxu5jQ

開示: WyJtYW10NnpvTVJBV25WU2tSS2NVMjZnIiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIkV4YW1wbGVEZWdyZWVDcmVkZW50aWFsIl1d

内容: [
  "mamt6zoMRAWnVSkRKcU26g",
  "type",
  [
    "VerifiableCredential",
    "ExampleDegreeCredential"
  ]
]

主張: type

SHA-256ハッシュ: h1XlmfBwGm3VEKRXV-l75FhG8uaIgozXQ_1qy0WbFrg

開示: WyJ1SW40blNBRjYzWkFIU2VCU1NJb19RIiwgInR5cGUiLCAiRXhhbXBsZUJhY2hlbG9yRGVncmVlIl0

内容: [
  "uIn4nSAF63ZAHSeBSSIo_Q",
  "type",
  "ExampleBachelorDegree"
]

ベアラークレデンシャルはプライバシーを強化しますが、発行者は、保有者ベアラークレデンシャルに期待する以上の情報を意図せず開示しないよう、設計に引き続き注意する必要があります。ベアラークレデンシャルの設計と再利用から生じる相関リスク、およびその対応策については、検証可能なクレデンシャル・データモデルの脅威モデルのベアラークレデンシャルの再利用と相関で説明しています。

プライベートブラウジング

このセクションは非規範的です。

理想的なプライベートブラウジングでは、個人識別情報(PII)は一切開示されません。しかし、多くのクレデンシャルにはPIIが含まれるため、保有者にソフトウェアを提供する組織は、プライベートブラウジングモードでクレデンシャル提示を使用すると、この情報が開示される可能性があることを保有者に警告するべきです。プライベートブラウジングの処理方法はブラウザーベンダーごとに異なり、この機能を備えていないブラウザーもあるため、実装者が何らかのプライバシー保護をプライベートブラウジングモードに依存させないことが重要です。代わりに、プライバシー保証を提供するため、ソフトウェアから直接利用できるツールに依存することを実装者に推奨します。

セキュリティに関する考慮事項

このセクションは非規範的です。

W3Cは包括的な脅威モデリングのアプローチへ移行しており、新しい仕様における「セキュリティに関する考慮事項」セクションを廃止する過程にあります。セキュリティに関する考慮事項の文書については、付録A. 脅威モデルを参照してください。

B. 妥当性検証

このセクションは非規範的です。

この仕様は、妥当性検証、すなわち検証可能なクレデンシャルまたは検証可能な提示の妥当性を確認するプロセスについて適合基準を定めていませんが、読者は、検証者妥当性検証を行う際、このデータモデルの情報をどのように使用することが想定されているのか関心を持つかもしれません。このセクションでは、この仕様のプロパティを検証者がどのように使用することが想定されるかについて、ワーキンググループで行われた議論の一部を取り上げます。

B.1 クレデンシャルタイプ

このセクションは非規範的です。

検証者が1つ以上の検証可能なクレデンシャル保有者に要求する場合、受け取りたいクレデンシャルのタイプを指定できます。クレデンシャルタイプと、各タイプおよび各タイプの主張に対する妥当性検証スキーマは、仕様作成者によって定義され、検証可能なクレデンシャル拡張などで公開されます。

クレデンシャルのタイプは、タイププロパティによって表されます。特定のタイプを持つ検証可能なクレデンシャルには、深くネストされている場合もある特定のプロパティが含まれます。これらを使用して、提示が、検証者の実行する一連の処理規則を満たすかどうかを判断できます。検証可能なクレデンシャルを特定のtypeに絞って要求することで、検証者保有者から特定の情報を収集できます。その情報は、各発行者が発行した検証可能なクレデンシャルに由来し、検証者保有者とのやり取りの次の段階を判断できるようにします。

検証者が特定のタイプの検証可能なクレデンシャルを要求する場合、そのタイプには必須および任意の一連の主張が関連付けられています。検証者による検証可能なクレデンシャルの妥当性検証は、必須の主張が含まれていない場合に失敗し、その特定のタイプに関連付けられていない主張は無視されます。つまり、検証者は、受け取った検証可能なクレデンシャルに対して入力の妥当性検証を行い、クレデンシャルタイプの仕様に基づいて不正な形式の入力を拒否します。

B.2 クレデンシャル主体

このセクションは非規範的です。

検証可能なクレデンシャルのうち、保有者が提示したものでは、idプロパティに関連付けられた値、すなわち各credentialSubjectに対応する値によって、主体検証者に対して識別されます。保有者主体でもある場合、検証者は、保有者に関連する検証メタデータを保持していれば、その保有者を認証できます。続いて、検証者は、保有者を、保有者が生成し、検証可能な提示に含まれる署名を使用して認証できます。idプロパティは任意です。検証者は、その他のプロパティ検証可能なクレデンシャルで使用して、主体を一意に識別することもできます。

注記: 認証は適用範囲外です

認証およびWebAuthnが検証可能なクレデンシャルとどのように連携し得るかについては、検証可能なクレデンシャル実装ガイドライン1.0文書を参照してください。

B.3 発行者

このセクションは非規範的です。

issuerプロパティに関連付けられた値は、発行者検証者に対して識別します。

issuerプロパティに関連するメタデータは、検証者検証アルゴリズムを通じて利用できます。このアルゴリズムはセクション7.1 検証で定義されています。このメタデータには、各検証可能なクレデンシャルまたは検証可能な提示を保護するために保護メカニズムが使用した検証方法について、検証済みコントローラを識別する情報が含まれます。通常、そのコントローラは、それぞれのissuerまたはholderです。

一部のエコシステムでは、発行者と検証方法のコントローラとの関係がより複雑な場合があり、上記のマッピングに加えて、またはその代わりに、検証済み発行者のリストを使用することがあります。

B.4 保有者

このセクションは非規範的です。

holderプロパティに関連付けられた値は、保有者検証者に対して識別するために使用されます。

多くの場合、保有者に関する関連メタデータは、holderプロパティの値によって識別され、検証者が利用または取得できます。たとえば、保有者は、検証材料を含む情報を公開できます。この材料は、検証可能な提示の保護に使用されます。このメタデータは、検証可能な提示の証明を確認する際に使用されます。一部の暗号識別子は、必要なメタデータをすべて識別子自体に含んでいます。その場合、追加のメタデータは必要ありません。他の識別子では検証可能なデータレジストリを使用し、そこでこのようなメタデータが自動的に公開されるため、検証者は、保有者による追加の操作なしに利用できます。

検証可能なクレデンシャル実装ガイドライン1.0および検証可能なクレデンシャルのユースケースで、主体および保有者に関するその他の例を参照してください。

注記:妥当性検証とは、ビジネスルールを適用するプロセスです

妥当性検証とは、検証者がビジネスルールを適用して、検証可能なクレデンシャルの特定の使用が適切かどうかを評価するプロセスです。

検証者は、所定の検証可能な提示を複雑なビジネスルールに照らして妥当性検証する必要がある場合があります。たとえば、検証者は、保有者が、主体と同一のエンティティであり、その主体が検証可能なクレデンシャルの主体であるという確信を必要とすることがあります。このような状況では、次の要因により、検証者は、含まれている検証可能なクレデンシャルにおいて、その識別子について表された主張が実際に現在の提示者に関するものであると合理的に確信できます:

B.5 発行日

このセクションは非規範的です。

validFromは、検証者が想定する範囲内にあることが期待されます。たとえば、検証者は、検証可能なクレデンシャルの有効期間の開始時点が将来ではないことを確認できます。

B.6 証明(署名)

このセクションは非規範的です。

検証可能なクレデンシャルまたは検証可能な提示に含まれる情報が改ざんされていないことを証明するために使用される保護メカニズムを、暗号証明と呼びます。暗号証明には、デジタル署名やゼロ知識証明など、多くの種類がありますが、これらに限定されません。一般に、暗号証明を検証する際、実装には次の事項を確認することが期待されます:

一般に、デジタル署名を検証する際、実装には次の事項を確認することが期待されます:

B.7 有効期間

このセクションは非規範的です。

検証者は、validFromプロパティとvalidUntilプロパティが一定の範囲内にあることを想定します。たとえば、検証者は、検証可能なクレデンシャルの有効期間の終了時点が過去ではないことを確認できます。一部のクレデンシャルは、本来の有効期間が満了した後でも二次的な目的に役立つことがあるため、validFromプロパティとvalidUntilプロパティによって表される有効期間は、検証のに行われる妥当性検証の構成要素として常に扱われます。

B.8 ステータス

このセクションは非規範的です。

credentialStatusプロパティを利用できる場合、検証可能なクレデンシャルのステータスは、検証者が、credentialStatusタイプの定義(当該検証可能なクレデンシャルに適用されるもの)と、検証者独自のステータス評価基準に従って評価することが期待されます。たとえば、検証者は、検証可能なクレデンシャルのステータスが「発行者によって正当な理由により撤回された」状態ではないことを確認できます。

B.9 スキーマ

このセクションは非規範的です。

credentialSchemaプロパティを利用できる場合、検証可能なクレデンシャルのスキーマは、検証者が、credentialSchemaタイプの定義(当該検証可能なクレデンシャルに適用されるもの)と、検証者独自のスキーマ評価基準に従って評価することが期待されます。たとえば、credentialSchematype値が[VC-JSON-SCHEMA]である場合、検証者は、クレデンシャルのデータが指定されたJSON Schemaに対して妥当であることを確認できます。

B.10 目的への適合性

このセクションは非規範的です。

目的への適合性とは、カスタムプロパティ、つまり検証可能なクレデンシャル内のプロパティが、検証者の目的に適しているかどうかを指します。たとえば、検証者が、主体が21歳を超えているかどうかを判断する必要がある場合、特定のbirthdateプロパティ、またはより抽象的なプロパティ、たとえばageOverに依存することがあります。

発行者は、検証者から、当該主張を行う者として信頼されています。たとえば、フランチャイズのファストフード店は、フランチャイズ本部が行う割引クーポンの主張を信頼します。発行者検証可能なクレデンシャルで表明したポリシー情報は、保有者および検証者がそのポリシーを無視することに伴う責任を引き受けない限り、尊重するべきです。

B.11 「人工知能」と「機械学習」

このセクションは非規範的です。

現在一般に「人工知能」や「機械学習」と呼ばれているものを使用するシステムは、人間の能力と同等またはそれを上回る水準で複雑な作業を実行できる可能性があります。これには、検証可能なクレデンシャルの取得や使用などの作業が含まれる可能性があります。そのため、現在CAPTCHAで一般的に行われているように、この種の作業を用いて人間と自動化された「ボット」の活動を区別する方法では、十分または許容可能な保護を提供できなくなる可能性があります。

検証可能なクレデンシャルを使用する、またはその内容に妥当性検証を行うセキュリティアーキテクチャの実装者には、現在一般に「人工知能」と呼ばれるものなど、他のシステムとのやり取りに使用するために検証可能なクレデンシャルを正当に保有する可能性のある機械ベースの主体が存在することを考慮するよう強く推奨します。また実装者は、脅威主体がこのような「人工知能」システムと検証可能なクレデンシャルを組み合わせ、実装者のシステムとやり取りする際に人間を装う可能性についても考慮できます。このようなシステムとしては、ソーシャルメディア、選挙、エネルギー供給、サプライチェーン、自動運転車などのグローバルインフラストラクチャが挙げられますが、これらに限定されません。

C. コンテキスト、 語彙、タイプ、およびクレデンシャルスキーマ

C.1 基本コンテキスト

実装は、次のMUST要件に従い、https://www.w3.org/ns/credentials/v2に配置されている基本コンテキスト値を、すでに取得済みとして扱う必要があります。 次の値は、基本コンテキストファイルの16進数で符号化されたSHA2-256ダイジェスト値です: 59955ced6697d61e03f2b2556febe5308ab16842846f5b586d7f1f7adec92734。 上記の暗号学的ダイジェストは、最新のUnixコマンドラインインターフェースから次のコマンドを実行して確認できます: curl -s https://www.w3.org/ns/credentials/v2 | openssl dgst -sha256

エンドツーエンドのセキュリティを確保するため、アプリケーションが使用するすべてのJSON-LDコンテキストURLでは、同じメカニズムまたは機能的に同等のメカニズムを使用することが強く推奨されます。リソースの暗号学的ハッシュ値が期待されるハッシュ値と一致しない場合、実装はエラーをスローすることが期待されます。

上記の基本コンテキスト、および任意の@contextプロパティ内のその他のコンテキストと値を、JSON-LD展開RDFへの変換などの操作中に適用する実装は、エラーを発生させずに処理することが期待されます。このような操作を実行した結果エラーが発生した場合、検証可能なクレデンシャルまたは検証可能な提示は、検証に失敗しなければなりません(MUST)。

注記:ハッシュ値の変更が検出された場合は正誤表を確認してください

この仕様で暗号学的ハッシュ値が関連付けられているファイルが変更される可能性は極めて低いものです。ただし、この仕様に重大な誤りが見つかり、エコシステムの安定性を確保するために修正が必要になった場合、暗号学的ハッシュ値が変更される可能性があります。そのため、これらのファイルのHTTPキャッシュ時間は無限には設定されておらず、暗号学的ハッシュ値の変更が検出された場合、実装者には正誤表を確認することが推奨されます。

このセクションは、検証可能なクレデンシャルおよび検証可能な提示を検証する際、検証者が、発行者または保有者クレデンシャルまたは提示を保護した時点で保有していた情報と一致する情報を持つことの重要性を改めて示すものです。この情報には、少なくとも次のものが含まれる可能性があります:

  1. クレデンシャル自体の内容。これは、保護メカニズムを使用して検証可能なクレデンシャルおよび検証可能な提示内で保護されます。詳細については、セクション4.12 保護メカニズムを参照してください。
  2. JSON-LDコンテキストなどの外部URLへのリンクに意味が依存する、クレデンシャル内の内容。これは、ローカルの静的コピーまたはファイルの暗号学的ダイジェストを使用して保護できます。詳細については、セクション5.3 関連リソースの完全性を参照してください。

検証者には、クレデンシャル内から参照されるその他のデータ(URLを介してリンクされるリソースなど)は、デフォルトでは暗号学的に保護されていないことに注意が促されます。永続的にキャッシュされたファイルや暗号学的ハッシュを使用して、検証可能なクレデンシャルのセキュリティに不可欠なすべてのURLにも同様の保護を提供することがベストプラクティスとみなされます。最終的に、リンクされた外部コンテンツの暗号学的ダイジェストを把握していれば、検証者は、そのコンテンツが発行者または保有者の意図したものと同一であることを確認できます。

C.2 語彙

RDF語彙処理に依存する実装は、基本コンテキストで使用される次の語彙URLが、規範的なJSON-LDシリアル化を読み込む際に、最終的に次のファイルへ解決されることを保証しなければなりません(MUST)。 実装は、語彙ファイルについて、意味的に同等なその他のシリアル化を使用しても構いません(MAY)。各ファイルの内容が正しいことを開発者が検証できるよう、JSON-LD文書ごとに暗号学的ハッシュが提供されています。

JSON-LD文書とハッシュ
URL: https://www.w3.org/2018/credentials#
解決後の文書: https://www.w3.org/2018/credentials/index.jsonld
SHA2-256ダイジェスト: 9db03c54d69a8ec3944f10770e342b33e58a79045c957c35d51285976fc467c4
URL: https://w3id.org/security#
解決後の文書: https://w3c.github.io/vc-data-integrity/vocab/security/vocabulary.jsonld
SHA2-256ダイジェスト: c7a06ccc144d9d72f435f64802fdfb802a32aefe8b0bcb7504f69754b8c0faeb

上記の暗号学的ダイジェストは、最新のUNIX系OSのコマンドラインインターフェースで、<DOCUMENT_URL>を適切な値に置き換えて次のようなコマンドを実行することにより確認できます: curl -sL -H "Accept: application/ld+json" <DOCUMENT_URL> | openssl dgst -sha256

注記:schema.orgは定期的に変更されますが、安定しているとみなされています

実装者と文書作成者は、schema.orgの暗号学的ダイジェストが提供されていないことに気付くかもしれません。これは、schema.orgの語彙が定期的に変更されるためです。提供されたダイジェストは、公開後数週間以内に古くなってしまいます。ワーキンググループはこの懸念について議論し、この仕様で使用されるschema.orgの語彙の用語は長年にわたり安定しており、その意味が変更される可能性は極めて低いと結論付けました。

このような定義を利用するプロセッサおよびその他の仕様のために、この仕様では次の基本クラスを定義します:

基本クラス 目的
CredentialEvidence evidenceプロパティに配置される、特定の証拠タイプのスーパークラスとして機能します。
CredentialSchema credentialSchemaプロパティに配置される、特定のスキーマタイプのスーパークラスとして機能します。
CredentialStatus credentialStatusプロパティに配置される、特定のクレデンシャルステータスタイプのスーパークラスとして機能します。
ConfidenceMethod confidenceMethodプロパティに配置される、特定の信頼度メソッドタイプのスーパークラスとして機能します。
RefreshService credentialRefreshプロパティに配置される、特定の更新サービスタイプのスーパークラスとして機能します。
RenderMethod renderMethodプロパティに配置される、特定のレンダリングメソッドタイプのスーパークラスとして機能します。
TermsOfUse termsOfUseプロパティに配置される、特定の利用規約タイプのスーパークラスとして機能します。

C.3 データ型

このセクションでは、この仕様で使用されるデータ型を定義します。

C.3.1 sriStringデータ型

sriStringデータ型は、サブリソース完全性仕様で定められた方法を使用してリソースの完全性情報を提供するために、値と関連付けられます。sriStringデータ型は次のように定義されます:

このデータ型を表すURL
https://www.w3.org/2018/credentials#sriString
字句空間
文字列形式の制限については、ABNF文法を参照してください。この文法は、integrity属性を[SRI]仕様で定義しています。
値空間
(alg,val)ペアからなるリスト(空の場合もあります)。algはハッシュ関数を識別し、valは標準的な数学概念としての整数です。
字句から値へのマッピング
字句空間の各要素は、メタデータ構文解析アルゴリズムに従って値空間へマッピングされます。このアルゴリズムは、ABNF文法に基づいており、その文法は[SRI]仕様で定義されています。
正規マッピング
正規マッピングは、字句から値へのマッピングで構成されます。

C.4 コンテキスト、タイプ、およびクレデンシャルスキーマの違い

このセクションは非規範的です。

検証可能なクレデンシャルおよび検証可能な提示のデータモデルは、[JSON-LD11]および[VC-JSON-SCHEMA]など、さまざまな基盤技術を活用しています。このセクションでは、@contexttype、およびcredentialSchemaプロパティを比較し、データモデルのこれらの機能を使用できる、より具体的なユースケースの一部を取り上げます。

typeプロパティは、それが現れる検証可能なクレデンシャルのタイプを一意に識別するため、すなわち、その検証可能なクレデンシャルに含まれる主張の集合を示すために使用されます。このプロパティと、その値の集合に含まれるVerifiableCredentialという値は必須です。この検証可能なクレデンシャル固有のサブタイプを表す追加値を1つ含めることがベストプラクティスですが、その値を省略することも、配列に追加のタイプ値を含めることも許可されています。多くの検証者は、特定のサブタイプの検証可能なクレデンシャルを要求するため、サブタイプ値を省略すると、どの検証可能なクレデンシャルが必要なのかを、検証者が保有者へ伝えることが難しくなる可能性があります。検証可能なクレデンシャルに複数のサブタイプがある場合は、それらをすべてtypeプロパティに列挙することが合理的です。 typeプロパティを[JSON-LD11]表現の検証可能なクレデンシャルで使用すると、機械が意味論を確認できるため、検証可能なクレデンシャルの意味論を確実に適用できます。[JSON-LD11]では、この技術は主張の集合の分類を記述するだけでなく、グラフ内のプロパティのサブグラフについて、その構造と意味論も伝達します。 [JSON-LD11]では、これはグラフ内のノードのタイプを表します。そのため、一部の[JSON-LD11]表現の検証可能なクレデンシャルでは、typeプロパティが、その検証可能なクレデンシャル内にある多くのオブジェクトで使用されます。

@contextプロパティの主な目的は、[JSON-LD11]の観点から見ると、検証可能なクレデンシャル内のデータの意味およびそのデータの用語定義を、機械可読な形で伝達することです。@contextプロパティは、検証可能なクレデンシャルおよび検証可能な提示内のプロパティについて、グローバルに一意なURLを短い形式の別名へマッピングするために使用され、[JSON-LD11]表現を人間にとって読みやすくします。[JSON-LD11]の観点では、このマッピングにより、クレデンシャル内のデータを機械可読データのネットワークとしてモデル化することもできます。これは、検証可能なクレデンシャルまたは検証可能な提示内のデータが、より大きな機械可読データグラフとどのように関係するかを明確にすることで実現されます。これは、当事者間で調整できないエコシステムにおいて、データの意味を他のデータとどのように関連付けるかを機械に伝えるうえで役立ちます。このプロパティは必須であり、その値の集合の先頭値はhttps://www.w3.org/ns/credentials/v2でなければなりません。

@contextプロパティはデータをグラフデータモデルへマッピングするために使用され、typeプロパティは[JSON-LD11]においてグラフ内のノードを記述するために使用されるため、この2つのプロパティを組み合わせて使用する場合、typeプロパティはさらに重要になります。たとえば、typeプロパティが、解決済みの@contextリソース内に含まれておらず、そのリソースで[JSON-LD11]が使用される場合、検証可能なクレデンシャルの生成および利用時に、主張が破棄されたり、その完全性が保護されなくなったりする可能性があります。また、検証可能なクレデンシャルの生成または利用時にエラーが発生する可能性もあります。どちらになるかは実装の設計上の選択に依存し、現在の実装では両方の経路が使用されています。そのため、[JSON-LD11]表現の検証可能なクレデンシャルまたは検証可能な提示を使用する際には、これらのプロパティに注意することが重要です。

credentialSchemaプロパティの主な目的は、検証可能なクレデンシャルの構造と、そこに現れる各プロパティの値のデータ型を定義することです。credentialSchemaは、検証可能なクレデンシャル内にある主張の集合について、その内容と構造を定義するのに役立ちます。一方、[JSON-LD11]と@contextは、検証可能なクレデンシャル内では、データの意味論および用語定義を伝達するために使用するのが最適ですが、検証可能なクレデンシャルの構造を定義するためにも使用できます。

JSON-LD11]の一部の機能を使用して、検証可能なクレデンシャルの内容を示唆することは可能ですが、一般に、データモデルのデータ型を制約するために@contextを使用することは推奨されません。たとえば、"@type": "@json"は、意味論に制約を設けず、厳密に定義しないままにする場合に役立ちます。実装者がクレデンシャル内の主張のデータ型を制約しようとしている場合、これは危険になり得るため、使用しないことが期待されます。

credentialSchemaプロパティと@contextプロパティを組み合わせて使用すると、生成者と利用者の双方が、検証可能なクレデンシャルおよび検証可能な提示に期待される内容とデータ型について、より高い確信を持つことができます。

D. IANAに関する考慮事項

このセクションは非規範的です。

このセクションは、審査、承認、およびIANAへの登録のため、インターネット技術運営グループ(IESG)へ提出されます。

D.1 application/vc

この仕様では、application/vcメディアタイプを、検証可能なクレデンシャル形式に準拠する文書を識別するために明確に登録します。

タイプ名: application
サブタイプ名: vc
必須パラメータ: なし
符号化に関する考慮事項: application/vcメディアタイプを使用するリソースは、application/ld+jsonメディアタイプのすべての要件に準拠する必要があるため、JavaScript Object Notation(JSON)データ交換形式のセクション11で定められているものと同じ符号化上の考慮事項が適用されます。
セキュリティに関する考慮事項: 検証可能なクレデンシャル・データモデル v2.0で定義されています。
連絡先: W3C検証可能なクレデンシャル・ワーキンググループ public-vc-wg@w3.org

検証可能なクレデンシャル形式はJSON-LDの規則を使用しますが、検証可能なクレデンシャルの実装には、専用のメディアタイプを使用する根拠となる複数の制約と追加要件があることに注意してください。

このメディアタイプは、エンベロープ証明内で、エンベロープ化されたペイロードを示すために使用できます。

クレデンシャルは、有効なJSON-LD文書であることが期待されます。 検証可能なクレデンシャルapplication/vcメディアタイプで提供する場合、外部コンテキストへの参照を含む、すべてのJSON-LD 1.1コンテキスト情報を文書の本文内に持つことが期待されます。http://www.w3.org/ns/json-ld#context HTTP Linkヘッダーを介してリンクされたコンテキスト(セクション6.1JSON-LD 1.1を参照)は無視されます。

D.2 application/vp

この仕様では、application/vpメディアタイプを、検証可能な提示形式に準拠する文書を識別するために明確に登録します。

タイプ名: application
サブタイプ名: vp
必須パラメータ: なし
符号化に関する考慮事項: application/vpメディアタイプを使用するリソースは、application/ld+jsonメディアタイプのすべての要件に準拠する必要があるため、JavaScript Object Notation(JSON)データ交換形式のセクション11で定められているものと同じ符号化上の考慮事項が適用されます。
セキュリティに関する考慮事項: 検証可能なクレデンシャル・データモデル v2.0で定義されています。
連絡先: W3C検証可能なクレデンシャル・ワーキンググループ public-vc-wg@w3.org

検証可能な提示形式はJSON-LDの規則を使用しますが、 検証可能な提示の実装には、専用のメディアタイプを使用する根拠となる複数の制約と追加要件があることに注意してください。

このメディアタイプは、エンベロープ証明内で、エンベロープ化されたペイロードを示すために使用できます。

提示は、有効なJSON-LD文書であることが期待されます。検証可能な提示application/vpメディアタイプで提供する場合、外部コンテキストへの参照を含む、すべてのJSON-LD 1.1コンテキスト情報を文書の本文内に持つことが期待されます。http://www.w3.org/ns/json-ld#context HTTP Linkヘッダーを介してリンクされたコンテキスト(セクション6.1、[JSON-LD11]を参照)は無視されます。

E. 検証可能な提示の 追加図

このセクションは非規範的です。

以下の14は、9の変形です。この検証可能な提示は、2つの検証可能なクレデンシャルを参照し、埋め込み証明([VC-DATA-INTEGRITY]に基づくもの)を使用します。各検証可能なクレデンシャルグラフは、それぞれ独自の証明グラフに個別に接続されています。verifiableCredentialプロパティは、検証可能な提示検証可能なクレデンシャルグラフへ接続するために使用されます。提示証明グラフは、検証可能な提示グラフ、両方の検証可能なクレデンシャルグラフ、および証明グラフ検証可能なクレデンシャルグラフからリンクされたもの)のデジタル署名を表します。この場合、完全な 検証可能な提示は、6つの情報 グラフで構成されます。


上部に「検証可能な提示グラフ」があり、「proof」を介して下部の
「検証可能な提示の証明グラフ」に接続されている図。検証可能な提示グラフには、
「Presentation ABC」というオブジェクトがあり、3つのプロパティを持つ:値が
「VerifiablePresentation」の「type」、値が「Do Not Archive」の「termsOfUse」、
および以下で詳述する「verifiableCredential」の2つのインスタンス。このグラフには、
括弧書きの注記「(デフォルトグラフ)」が付されている。このグラフは
「verifiableCredential」を介して、図6の2つの変形からなる図の部分に接続されている
(一方は同一であり、もう一方では有効期間、人物名、nonceと署名の値を示すラベルが
わずかに異なる)。ただし、これらの検証可能なクレデンシャルグラフには、
デフォルトグラフではなく名前付きグラフであるとの注記が付されている。
検証可能な提示の証明グラフには、「Signature 8920」というラベルのオブジェクトがあり、
5つのプロパティを持つ:値が「DataIntegrityProof」の「type」、値が
「Example Presenter Public Key 11」の「verificationMethod」、値が
「2024-01-02T12:43:56Z」の「created」、値が「hasdkyruod87j」の「nonce」、
および値が「zpewJHoan87=」の「proofValue」。このグラフには、括弧書きの注記
「(名前付きグラフ)」が付されている
14 9の変形:情報グラフ。この検証可能な提示は2つの検証可能なクレデンシャルを参照し、埋め込み証明検証可能なクレデンシャル・データ完全性 1.0VC-DATA-INTEGRITY]に基づくもの)を使用する。

以下の図 15は、検証可能な提示について、14と同じものを示しますが、エンベロープ証明([VC-JOSE-COSE]に基づくもの)を使用しています。各検証可能なクレデンシャルグラフには、単一の EnvelopedVerifiableCredential インスタンスが含まれ、data: URL[RFC2397]を介して、エンベロープ証明によって保護された検証可能なクレデンシャルを参照します。


左側に「JWT (Decoded)」というラベルの付いたボックスがあり、「Header」、
「Payload」、「Signature」という3つのテキストラベルが縦に並んでいる図。
「Header」ラベルは矢印で右側の別の長方形に接続され、その中には6つのテキストフィールド、
「kid: aB8J-_Z」、「alg: ES384」、「cty: vc」、「iss:
https://example.com」、「iat: 1704690029」、「typ: vp+sd-jwt」がある。
左側の「Payload」ラベルは矢印で別の長方形に接続されている。この長方形は、縦に積み重ねられた
3つの関連グラフからなり、最上部のグラフから始まって残り2つのグラフへそれぞれ接続する、
「verifiableCredential」というラベルの付いた2本の矢印で結ばれている。最上部のグラフには
「検証可能な提示グラフ(JSONで直列化)」というラベルがあり、残り2つにはいずれも
「検証可能なクレデンシャルグラフ(JSONで直列化)」というラベルがある。長方形内の最上部の
グラフには「Presentation ABC」というオブジェクトがあり、値が「VerifiablePresentation」の
「type」と、値が「Do Not Archive」の「termsOfUse」を含む3つのプロパティを持つ。
下部のグラフの一方には、サブジェクトとして
「data:application/vc+sd-jwt,QzVjV...RMjU」があり、値が
「EnvelopedVerifiableCredential」の「type」という単一のプロパティを持つ。
もう一方の下部グラフは、サブジェクトのラベルが
「data:application/vc+sd-jwt,RkOyT...KjOl」である点を除き、これと同一である。
最後に、左側の「Signature」ラベルは矢印で、単一のテキストフィールド
「cYjaSdfIoJH45NIqw3MYnasGIba...」を含む別の長方形に接続されている。
15 10の変形:情報グラフ。これは、2つの検証可能なクレデンシャルを参照する検証可能な提示に関連付けられ、JOSEに基づくエンベロープ証明VC-JOSE-COSE]を使用する。

F. 改訂履歴

このセクションには、この仕様にこれまで加えられた実質的な変更を記載します。

次の v2.0第2候補勧告以降の変更:

次の v2.0第1候補勧告以降の変更:

次の v1.1勧告以降の変更:

次の v1.0勧告以降の変更:

G. 謝辞

このセクションは非規範的です。

ワーキンググループは、この文書の内容への貢献だけでなく、多様な意見があふれる中で 変化、議論、および合意形成を推進した、この標準化コミュニティにおける多大な尽力に対し、 次の方々に感謝します:David Chadwick、Dave Longley、Ted Thibodeau Jr.、 Brent Zundel、Ivan Herman、Joe Andrieu、およびGabe Cohen。

この仕様に関する作業は、Christopher Allen、Shannon Appelcline、Kiara Robles、 Brian Weller、Betty Dhamers、Kaliya Young、Manu Sporny、Drummond Reed、Joe Andrieu、Heather Vescent、Kim Hamilton Duffy、Samantha Chase、Andrew Hughes、 Will Abramson、Erica Connell、Eric Schuh、Zaïda Rivai、およびShigeya Suzukiが運営に携わる Rebooting the Web of Trustコミュニティから支援を受けました。 Phil Windley、Kaliya Young、Doc Searls、およびHeidi Nobantu Saulが運営に携わる Internet Identity Workshopの参加者も、この仕様について学び、議論し、改善するために設けられた 数多くの作業セッションを通じて、本作業の洗練を支援しました。

ワーキンググループはまた、ワーキンググループ共同議長のDan Burnett、Matt Stone、 Brent Zundel、Wayne Chang、およびKristina Yasuda、ならびにW3Cスタッフ連絡担当の Kazuyuki AshimuraとIvan Hermanに対し、複数回のW3C 標準化サイクルを通じて専門的な運営と一貫した指導を行ったことに感謝します。 さらに、この仕様に組み込まれた数多くの作業項目のインキュベーションを監督した、 W3C Credentials Community Groupの共同議長、 Christopher Allen、Joe Andrieu、Kim Hamilton Duffy、Heather Vescent、Wayne Chang、Mike Prorock、 Harrison Tang、Kimberly Wilson Linson、およびWill Abramsonにも感謝します。

この仕様に関する作業の一部は、契約HSHQDC-17-C-00019、70RSAT20T00000010/P00001、 70RSAT20T00000029、70RSAT21T00000016/P00001、70RSAT23T00000005、 70RSAT23C00000030、70RSAT23R00000006、70RSAT24T00000014、 70RSAT22T00000001に基づく米国国土安全保障省科学技術局、およびNSF 22-572に基づく 米国国立科学財団から資金提供を受けました。この仕様の内容は、必ずしも米国政府の立場または 方針を反映するものではなく、政府による公式な承認を示唆するものでもありません。

ワーキンググループは、仕様をレビューしフィードバックを提供した次の方々に感謝します (名、または氏名が提供されていない場合はGitHubハンドルのアルファベット順):

Abhishek Mahadevan Raju, Adam C. Migus, Addison Phillips, Adrian Gropper, Aisp-GitHub, Alen Horvat, Alexander Mühle, AlexAndrei98, Allen Brown, Amy Guy, Andor Kesselman, Andres Paglayan, Andres Uribe, Andrew Hughes, Andrew Jones, Andrew Whitehead, Andy Miller, Anil John, Anthony Camilleri, Anthony Nadalin, Benjamin Collins, Benjamin Goering, Benjamin Young, Bert Van Nuffelen, Bohdan Andriyiv, Brent Zundel, Brian Richter, Bruno Zimmermann, caribouW3, cdr, Chaoxinhu, Charles "Chaals" McCathieNevile, Charles E. Lehner, Chris Abernethy, Chris Buchanan, Christian Lundkvist, Christine Lemmer-Webber, Christoph Lange, Christopher Allen, Christopher Lemmer Webber, ckennedy422, Clare Nelson, confiks, Dan Brickley, Daniel Buchner, Daniel Burnett, Daniel Hardman, Darrell O'Donnell, Dave Longley, David Ammouial, David Chadwick, David Ezell, David Hyland-Wood, David I. Lehn, David Janes, David Waite, Denis Ah-Kang, Denisthemalice, Devin Rousso, Dmitri Zagidulin, Dominique Hazael-Massieux, Drummond Reed, Emmanuel, enuoCM, Eric Elliott, Eric Korb, Eric Prud'hommeaux, etaleo, Evstifeev Roman, Fabricio Gregorio, Filip Kolarik, Gabe Cohen, Ganesh Annan, George Aristy, glauserr, Golda Velez, Grace Huang, Grant Noble, Greg Bernstein, Gregg Kellogg, Heather Vescent, Henry Andrews, Henry Story, Ian B. Jacobs, Ilan, Isaac Henderson, isaackps, Iso5786, Ivan Herman, Jace Hensley, Jack Tanner, James Schoening, Janina Sajka, Jan Forster Cognizone, Jeff Burdges, Jeffrey Yasskin, Jim Masloski, Jim St.Clair, Joe Andrieu, Joel Gustafson, Joel Thorstensson, John Tibbetts, Jonathan Holt, José San Juan, Juan Caballero, Julien Fraichot, Justin Richer, Kaan Uzdoğan, Kaliya Young, Kazuyuki Ashimura, Ken Ebert, Kendall Weihe, Kerri Lemoie, Kevin Dean, Kevin Griffin, Kim Hamilton Duffy, Konstantin Tsabolov, Kristijan Sedlak, Kristina Yasuda, Kyle Den Hartog, Lal Chandran, Lance, Lautaro Dragan, Leonard Rosenthol, Liam Missin, Liam Quin, Line Kofoed, Lionel Wolberger, Logan Porter, Lovesh Harchandani, Lukas J. Han, Mahmoud Alkhraishi, Maik Riechert, Manu Sporny, Marcel Jackisch, Mark Foster, Mark Harrison, Mark Moir, Markus Sabadello, Martin Thomson, Marty Reed, Matt Peterson, Matt Stone, Matthew Peterson, Matthieu Bosquet, Matti Taimela, Melvin Carvalho, Michael B. Jones, Michael Herman, Michael Lodder, Michael Richardson, Mike Prorock, Mike Varley, Mircea Nistor, MIZUKI Sonoko / Igarashi, nage, Nate Otto, Nathan George, Niclas Mietz, Niko Lockenvitz, Nikos Fotiou, Nis Jespersen, Oliver Terbu, Pat McBennett, Patrick St-Louis, Paul Bastian, Paul F. Dietrich, Paulo Jorge Q. Ferreira, Pelle Braendgaard, Pete Rowley, Phil Archer, Phillip Long, Pierre-Antoine Champin, Rajesh Rathnam, Ralph Swick, Renato Iannella, Reto Gmür, Reza Soltani, Richard Bergquist, Richard Ishida, Richard Varn, Rieks Joosten, RorschachRev, Ryan Grant, Samuel Müller, Samuel Smith, Sarven Capadisli, Sebastian Crane, Sebastian Elfors, Shawn Butterfield, Shigeya Suzuki, Sho Nakatani, Shuji Kamitsuna, Snorre Lothar von Gohren Edwin, Sten Reijers, Stephen Curran, Steve Huguenin, Steve McCown, Steven Rowat, Taro, tcibm, Ted Thibodeau Jr., Tim Bouma, Timo Glastra, Tobias Käfer, Tobias Looker, Tom Jones, Torsten Lodderstedt, Tzviya Siegman, Victor Dods, Vincent Kelleher, Vladimir Alexiev, Víctor Herraiz Posada, Wayne Chang, whatisthejava, Will Abramson, William Entriken、および Yancy Ribbens.

H. 参考文献

H.1 規範的参考文献

[i18n-glossary]
国際化用語集。 Richard Ishida; Addison Phillips。W3C。2024年10月17日。W3Cワーキンググループノート。URL:https://www.w3.org/TR/i18n-glossary/
[INFRA]
Infra標準。Anne van Kesteren; Domenic Denicola。WHATWG。リビングスタンダード。URL:https://infra.spec.whatwg.org/
[JSON-LD11]
JSON-LD 1.1。Gregg Kellogg; Pierre-Antoine Champin; Dave Longley。W3C。2020年7月16日。W3C勧告。URL:https://www.w3.org/TR/json-ld11/
[JSON-LD11-API]
JSON-LD 1.1処理アルゴリズムおよび API。Gregg Kellogg; Dave Longley; Pierre-Antoine Champin。W3C。2020年7月16日。W3C 勧告。URL:https://www.w3.org/TR/json-ld11-api/
[RFC2119]
要求レベルを示すRFC用 キーワード。S. Bradner。IETF。1997年3月。現行のベストプラクティス。URL:https://www.rfc-editor.org/info/rfc2119/
[RFC2397]
「data」URLスキーム。L. Masinter。IETF。1998年8月。標準化提案。URL:https://www.rfc-editor.org/info/rfc2397/
[RFC6838]
メディアタイプの仕様および登録 手順。N. Freed; J. Klensin; T. Hansen。IETF。2013年1月。現行のベスト プラクティス。URL:https://www.rfc-editor.org/info/rfc6838/
[RFC8174]
RFC 2119キーワードにおける大文字と小文字の 曖昧さ。B. Leiba。IETF。2017年5月。現行のベストプラクティス。URL:https://www.rfc-editor.org/info/rfc8174/
[RFC9457]
HTTP APIの問題詳細。 M. Nottingham; E. Wilde; S. Dalal。IETF。2023年7月。標準化提案。URL:https://www.rfc-editor.org/info/rfc9457/
[SRI]
サブリソース完全性。Frederik Braun。W3C。 2026年3月20日。W3C作業草案。URL:https://www.w3.org/TR/sri-2/
[URL]
URL標準。Anne van Kesteren。WHATWG。 リビングスタンダード。URL:https://url.spec.whatwg.org/
[VC-DATA-INTEGRITY]
検証可能なクレデンシャル・データ完全性 1.0。Ivan Herman; Manu Sporny; Ted Thibodeau Jr; Dave Longley; Greg Bernstein。 W3C。2025年5月15日。W3C勧告。URL:https://www.w3.org/TR/vc-data-integrity/
[VC-JOSE-COSE]
JOSEおよびCOSEを使用した検証可能なクレデンシャルの 保護。Michael Jones; Gabe Cohen; Michael Prorock。W3C。2025年5月15日。W3C 勧告。URL:https://www.w3.org/TR/vc-jose-cose/
[XMLSCHEMA11-2]
W3C XML Schema定義言語(XSD)1.1 第2部:データ型。David Peterson; Sandy Gao; Ashok Malhotra; Michael Sperberg-McQueen; Henry Thompson; Paul V. Bironほか。W3C。2012年4月5日。W3C勧告。URL: https://www.w3.org/TR/xmlschema11-2/

H.2 参考情報

[BCP47]
言語識別用タグ。 A. Phillips(編); M. Davis(編)。IETF。2009年9月。現行のベストプラクティス。URL:https://www.rfc-editor.org/info/rfc5646/
[CID]
制御された識別子v1.0。Michael Jones; Manu Sporny。W3C。2025年5月15日。W3C勧告。URL:https://www.w3.org/TR/cid-1.0/
[DID]
分散型識別子(DID)v1.0。 Manu Sporny; Amy Guy; Markus Sabadello; Drummond Reed。W3C。2022年7月19日。W3C勧告。URL: https://www.w3.org/TR/did-core/
[ETSI-TRUST-LISTS]
電子署名および インフラストラクチャ(ESI);信頼済みリスト。ETSI。ETSI。ETSI標準TS 119 612 V2.1.1(2015-07)。URL:https://www.etsi.org/deliver/etsi_ts/119600_119699/119612/02.01.01_60/ts_119612v020101p.pdf
[JSON]
JavaScriptオブジェクト表記(JSON)データ 交換形式。T. Bray(編)。IETF。2017年12月。インターネット標準。URL:https://www.rfc-editor.org/info/rfc8259/
[LD-BP]
リンクトデータ公開のベストプラクティス。 Bernadette Hyland; Ghislain Auguste Atemezing; Boris Villazón-Terrazas。W3C。2014年1月9日。W3C ワーキンググループノート。URL:https://www.w3.org/TR/ld-bp/
[LINKED-DATA]
リンクトデータの設計上の 課題。Tim Berners-Lee。W3C。2006年7月27日。W3C内部文書。URL:https://www.w3.org/DesignIssues/LinkedData.html
[RDF-SCHEMA]
RDFスキーマ1.1。Dan Brickley; Ramanathan Guha。W3C。2014年2月25日。W3C勧告。URL:https://www.w3.org/TR/rdf-schema/
[RDF11-CONCEPTS]
RDF 1.1の概念および抽象 構文。Richard Cyganiak; David Wood; Markus Lanthaler。W3C。2014年2月25日。 W3C勧告。URL:https://www.w3.org/TR/rdf11-concepts/
[RFC7049]
簡潔なバイナリオブジェクト表現 (CBOR)。C. Bormann; P. Hoffman。IETF。2013年10月。標準化提案。URL:https://www.rfc-editor.org/info/rfc7049/
[RFC7159]
JavaScriptオブジェクト表記(JSON)データ 交換形式。T. Bray(編)。IETF。2014年3月。標準化提案。URL:https://www.rfc-editor.org/info/rfc7159/
[RFC7231]
ハイパーテキスト転送プロトコル(HTTP/1.1): セマンティクスおよびコンテンツ。R. Fielding(編); J. Reschke(編)。IETF。2014年6月。 標準化提案。URL:https://httpwg.org/specs/rfc7231.html
[RFC9110]
HTTPセマンティクス。R. Fielding(編); M. Nottingham(編); J. Reschke(編)。IETF。2022年6月。インターネット標準。URL:https://httpwg.org/specs/rfc9110.html
[SCHEMA-ORG]
Schema.org。W3C Schema.org Community Group。W3C。6.0。 URL:https://schema.org/
[SD-JWT-VC]
SD-JWTベースの検証可能な デジタルクレデンシャル。Oliver Terbu; Daniel Fett; Brian Campbell。Internet Engineering Task Force。インターネットドラフト。URL:https://datatracker.ietf.org/doc/draft-ietf-oauth-sd-jwt-vc/
[STRING-META]
Web上の文字列:言語および書字方向の メタデータ。Richard Ishida; Addison Phillips。W3C。2026年7月16日。初回公開作業草案。URL:https://www.w3.org/TR/string-meta/
[VC-BARCODES]
検証可能なクレデンシャル・バーコード v1.0。Wesley Smith; Elaine Wooton; Manu Sporny。W3C。2026年8月22日。W3C作業 草案。URL:https://www.w3.org/TR/vc-barcodes-1.0/
[VC-CONFIDENCE-METHOD]
検証可能なクレデンシャル信頼度メソッド v1.0。Joe Andrieu; Denken Chen。W3C。2026年8月17日。W3C作業草案。URL:https://www.w3.org/TR/vc-confidence-method/
[VC-DATA-MODEL-2.0]
検証可能なクレデンシャル・データモデル v2.0。Ivan Herman; Michael Jones; Manu Sporny; Ted Thibodeau Jr; Gabe Cohen。W3C。 2025年5月15日。W3C勧告。URL:https://www.w3.org/TR/vc-data-model-2.0/
[VC-DI-BBS]
データ完全性BBS暗号スイートv1.0。 Greg Bernstein; Manu Sporny。W3C。2026年4月7日。CRD。URL:https://www.w3.org/TR/vc-di-bbs/
[VC-EXTENSIONS]
検証可能なクレデンシャル拡張。 Manu Sporny。W3C Verifiable Credentials Working Group。W3C編集者草案。URL:https://w3c.github.io/vc-extensions/
[VC-IMP-GUIDE]
検証可能なクレデンシャル実装ガイドライン 1.0。Andrei Sambra。W3C。2019年9月24日。W3Cワーキンググループノート。URL:https://www.w3.org/TR/vc-imp-guide/
[VC-JSON-SCHEMA]
検証可能なクレデンシャルJSON Schema 仕様。Gabe Cohen; Orie Steele。W3C Verifiable Credentials Working Group。 初回公開作業草案。URL:https://www.w3.org/TR/vc-json-schema/
[VC-OVERVIEW]
検証可能なクレデンシャル概要 v1.0。Ivan Herman。W3C。2026年7月30日。W3Cワーキンググループノート。URL:https://www.w3.org/TR/vc-overview-1.0/
[VC-RENDER-METHOD]
検証可能なクレデンシャル表示メソッド v1.0。Dmitri Zagidulin; Manu Sporny; Patrick St-Louis; Isaac Koh。W3C。2026年8月22日。 W3C作業草案。URL:https://www.w3.org/TR/vc-render-method/
[VC-USE-CASES]
検証可能なクレデンシャルのユースケース。Joe Andrieu; Kevin Dean。W3C。2026年3月18日。W3Cワーキンググループノート。URL:https://www.w3.org/TR/vc-use-cases/
[WCAG21]
Webコンテンツアクセシビリティガイドライン(WCAG) 2.1。Michael Cooper; Andrew Kirkpatrick; Joshue O'Connor; Alastair Campbell。W3C。 2025年5月6日。W3C勧告。URL:https://www.w3.org/TR/WCAG21/