Skip to Content
はじめにW3C VC仕様

W3C VC仕様

W3C Verifiable Credentials Data Model仕様の概要と、VeriCerts Zeroでの実装について説明します。

Verifiable Credentials仕様とは

Verifiable Credentials(VC)は、W3Cが策定した検証可能な資格情報の国際標準仕様です。デジタル証明書の発行・保持・検証のための相互運用可能なフォーマットを定義しています。

VCの構造

Verifiable Credentialは以下の要素で構成されます:

┌─────────────────────────────────────────┐ │ Verifiable Credential │ │ ┌───────────────────────────────────┐ │ │ │ Credential Metadata │ │ │ │ (issuer, issuanceDate, etc.) │ │ │ └───────────────────────────────────┘ │ │ ┌───────────────────────────────────┐ │ │ │ Claim(s) │ │ │ │ (credentialSubject) │ │ │ └───────────────────────────────────┘ │ │ ┌───────────────────────────────────┐ │ │ │ Proof(s) │ │ │ │ (Digital Signature) │ │ │ └───────────────────────────────────┘ │ └─────────────────────────────────────────┘

VCの例

{ "@context": [ "https://www.w3.org/ns/credentials/v2", "https://www.w3.org/ns/credentials/examples/v2" ], "id": "https://example.com/credentials/123", "type": ["VerifiableCredential", "CopyrightCredential"], "issuer": { "id": "did:web:example.com", "name": "Example Organization" }, "validFrom": "2024-01-01T00:00:00Z", "credentialSubject": { "id": "did:web:example.com:users:alice", "workTitle": "My Creative Work", "workType": "photograph", "creationDate": "2023-12-01" }, "proof": { "type": "DataIntegrityProof", "cryptosuite": "eddsa-rdfc-2022", "created": "2024-01-01T12:00:00Z", "verificationMethod": "did:web:example.com#key-1", "proofPurpose": "assertionMethod", "proofValue": "z3FXQjecWufY46..." } }

主要なプロパティ

プロパティ必須説明
@contextJSON-LDコンテキスト
type資格情報の種類(VerifiableCredential必須)
issuer発行者(DIDまたはオブジェクト)
credentialSubject資格情報の主体と主張内容
id-資格情報の一意識別子
validFrom-有効開始日時
validUntil-有効終了日時
credentialStatus-失効確認用エンドポイント
proof-デジタル署名(VCの場合必須)

トラストモデル

VCエコシステムには3つの主要な役割があります:

┌──────────┐ │ Issuer │ ─── VCを発行 │ 発行者 │ └────┬─────┘ │ VC発行 ┌──────────┐ │ Holder │ ─── VCを保持・提示 │ 保持者 │ └────┬─────┘ │ VP提示 ┌──────────┐ │ Verifier │ ─── VCを検証 │ 検証者 │ └──────────┘
役割説明VeriCerts Zeroでの例
Issuer(発行者)VCを発行する組織組織(Organization)
Holder(保持者)VCを保持する主体VeriCertsアプリユーザー
Verifier(検証者)VCを検証する主体検証API利用者

Verifiable Presentation

Holderが複数のVCをまとめて提示する場合、Verifiable Presentation(VP)を使用します。

{ "@context": ["https://www.w3.org/ns/credentials/v2"], "type": "VerifiablePresentation", "holder": "did:web:example.com:users:alice", "verifiableCredential": [ { /* VC 1 */ }, { /* VC 2 */ } ], "proof": { /* Holderの署名 */ } }

署名方式

VeriCerts Zeroは、以下の署名方式をサポートしています:

署名方式説明
Data Integrity ProofW3C標準の署名形式
EdDSA (Ed25519)高速で安全な楕円曲線署名

失効管理

VCには失効メカニズムを含めることができます:

"credentialStatus": { "id": "https://example.com/status/123", "type": "BitstringStatusListEntry", "statusPurpose": "revocation", "statusListIndex": "123", "statusListCredential": "https://example.com/status-list/1" }

VeriCerts Zeroでの実装

VeriCerts Zeroは、W3C VC Data Model 2.0に準拠したVCを発行します。

対応機能

  • ✅ JSON-LD形式のVC発行
  • ✅ Data Integrity Proof署名
  • ✅ 失効管理(Bitstring Status List)
  • ✅ 選択的開示(SD-JWT VC)※ 今後対応予定

関連リンク

Last updated on