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スキーム(固定)did
methodDIDメソッド名web, key, ion
method-specific-idメソッド固有の識別子example.com:users:alice

DIDメソッド

DIDメソッドは、DIDの作成・解決・更新・無効化の方法を定義します。

メソッド説明特徴
did:webWebドメインベース導入が容易、既存インフラを活用
did:key公開鍵ベースシンプル、オフライン生成可能
did:ionBitcoin基盤高い分散性、耐検閲性
did:ethrEthereum基盤スマートコントラクト連携

DIDドキュメント

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

DIDドキュメントの例

{ "@context": [ "https://www.w3.org/ns/did/v1", "https://w3id.org/security/suites/ed25519-2020/v1" ], "id": "did:web:example.com:users:alice", "authentication": [{ "id": "did:web:example.com:users:alice#key-1", "type": "Ed25519VerificationKey2020", "controller": "did:web:example.com:users:alice", "publicKeyMultibase": "z6Mkf5rGMoatrSj1f..." }], "service": [{ "id": "did:web:example.com:users:alice#vc-service", "type": "VerifiableCredentialService", "serviceEndpoint": "https://example.com/vc/" }] }

主要なプロパティ

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

DID解決(Resolution)

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

DID → DID Resolver → DID Document

解決メタデータ

DID解決時には、以下のメタデータも取得できます:

  • created: 作成日時
  • updated: 更新日時
  • deactivated: 無効化状態
  • versionId: バージョン識別子

VeriCerts Zeroでの実装

VeriCerts Zeroは、did:webメソッドを採用しています。

did:webの利点

  • 既存のWeb PKI(SSL/TLS証明書)との親和性
  • DNSベースの信頼モデル
  • 導入・運用コストが低い
  • HTTPSによるセキュアな解決

VeriCerts ZeroのDID構造

did:web:zero.vericerts.io:organizations:{orgId} did:web:zero.vericerts.io:entities:{entityId}

関連リンク

Last updated on