Skip to Content
はじめにW3C DID仕様

W3C DID仕様

W3C DID Core仕様の概要と、VeriCerts Zeroでの実装について説明します。

DID Core仕様とは

DID(Decentralized Identifiers)は、W3Cが策定した分散型識別子の国際標準仕様です。2022年7月にW3C勧告として正式に承認されました。

  • 仕様名: Decentralized Identifiers (DIDs) v1.0
  • 策定団体: W3C (World Wide Web Consortium)
  • ステータス: W3C Recommendation(勧告)
  • 公式URL: https://www.w3.org/TR/did-core/ 

DIDの基本構造

構文

DIDは以下の形式で構成されます:

did:method:method-specific-id
要素説明
didDIDスキーム(固定)
methodDIDメソッド名(作成・解決方法を定義)
method-specific-idメソッド固有の識別子

Note: W3C DID仕様レジストリには100以上のDIDメソッドが登録されています。

DIDドキュメントの例

DIDは対応する「DIDドキュメント」を持ちます。DIDドキュメントには、DID主体の公開鍵や認証方法が記述されます。

プロパティ説明
@contextJSON-LDコンテキスト
idDID本体
verificationMethod検証メソッド(公開鍵など)
authentication認証に使用する検証メソッド
assertionMethod署名・主張に使用する検証メソッド
serviceサービスエンドポイント

DID解決

DIDからDIDドキュメントを取得するプロセスを「DID解決(Resolution)」と呼びます。

DID → DID Resolver → DID Document

VeriCerts Zeroでの実装

DID構造

DID種別形式用途
組織DIDdid:web:zero.vericerts.io:org:{organizationId}組織を識別するDID
エンティティDIDdid:web:zero.vericerts.io:org:{organizationId}:entities:{entityId}組織が管理するエンティティ(人、物、システム等)を識別するDID
ユーザーDIDdid:web:zero.vericerts.io:user:{userId}:{uuid}ユーザーを識別するDID
信頼レジストリDIDdid:web:zero.vericerts.io:tr:{trustRegistryId}信頼レジストリを識別するDID

対応DIDメソッド

VeriCerts Zeroでは、100種類以上あるDIDメソッドのうち実際に多くのサービスで運用がされている以下の主要な3つのDIDメソッドに対応しています:

メソッド説明
did:webWebドメインベース。HTTPSで解決可能did:web:zero.vericerts.io:org:abc123
did:key公開鍵ベース。オフライン生成・検証可能did:key:z6MkhaXgBZDvotDkL...
did:ethrEthereumブロックチェーンベース(ERC-1056)did:ethr:sepolia:0x742d35Cc...

DIDドキュメントの例

以下はVeriCerts Zeroで生成されるDIDドキュメントの例です:

{ "@context": [ "https://www.w3.org/ns/did/v1", "https://w3id.org/security/suites/ed25519-2020/v1" ], "id": "did:web:zero.vericerts.io:org:abc123", "verificationMethod": [{ "id": "did:web:zero.vericerts.io:org:abc123#key-1", "type": "Ed25519VerificationKey2020", "controller": "did:web:zero.vericerts.io:org:abc123", "publicKeyMultibase": "z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK" }], "authentication": ["did:web:zero.vericerts.io:org:abc123#key-1"], "assertionMethod": ["did:web:zero.vericerts.io:org:abc123#key-1"], "service": [{ "id": "did:web:zero.vericerts.io:org:abc123#vc-service", "type": "VerifiableCredentialService", "serviceEndpoint": "https://zero.vericerts.io/vc/" }] }

DIDの解決と確認

VeriCerts Zeroで作成されたDIDは、W3C DID仕様に準拠しているため、Universal Resolver などの外部リゾルバでも解決・確認できます。

Universal Resolverとは

Universal Resolverは、DIF(Decentralized Identity Foundation)が提供するパブリックなDIDリゾルバサービスです。DIDを入力すると、対応するDIDドキュメント(JSON形式)を取得・表示できます。

使い方

  1. Universal Resolver  にアクセス
  2. 入力欄にDIDを貼り付け(例:did:web:zero.vericerts.io:org:xxx
  3. 「Resolve」ボタンをクリック
  4. DIDドキュメントがJSON形式で表示される

確認できる情報の例

情報説明
@contextJSON-LDコンテキスト(使用する暗号スイートにより異なる)
idDID本体
verificationMethod公開鍵情報(キータイプ、公開鍵のmultibase表現など)
authentication認証に使用できる検証メソッドへの参照
assertionMethodVC署名など、主張・署名に使用する検証メソッドへの参照
serviceサービスエンドポイント(VC発行サービスのURLなど)

なぜ重要か

  • 相互運用性の確認: VeriCerts Zeroで作成したDIDが国際標準に準拠しており、外部システムからも認識・検証できることを確認できます
  • デバッグ: DIDが正しく公開されているかを確認できます
  • 信頼性の証明: 第三者のツールでも解決できることは、標準準拠の証拠となります

関連リンク

Last updated on