メインコンテンツまでスキップ

5分でわかる Verifiable Credentials

このドキュメントでは、Verifiable Credentials(VC)の基本概念を5分で理解できるように解説します。技術的な詳細は後のドキュメントで扱います。


まず結論

Verifiable Credentials とは:

「デジタル署名付きの証明書」です。

発行元に問い合わせなくても、本物かどうかを確認できます。


身近な例で理解する

今の証明書の問題

あなたが居酒屋で年齢確認されたとします。

┌─────────────────────────────────────────────────────────────┐
│ 店員: 「年齢確認のため、身分証明書を見せてください」 │
│ │
│ あなた: 運転免許証を提示 │
│ │
│ 店員が見る情報: │
│ ✓ 生年月日 → 21歳以上か確認 │
│ ✗ 氏名 → 必要ない │
│ ✗ 住所 → 必要ない │
│ ✗ 免許証番号 → 必要ない │
│ ✗ 顔写真 → 本人確認には必要だが、コピーされるリスク │
│ │
│ 問題: 年齢を確認したいだけなのに、全部見せる必要がある │
└─────────────────────────────────────────────────────────────┘

VC があるとこうなる

┌─────────────────────────────────────────────────────────────┐
│ 店員: 「年齢確認のため、21歳以上か確認させてください」 │
│ │
│ あなた: スマホで VC を提示 │
│ │
│ 店員が見る情報: │
│ ✓ 21歳以上である: はい(公安委員会のデジタル署名付き) │
│ │
│ それ以外の情報は一切見えない! │
└─────────────────────────────────────────────────────────────┘

これが「選択的開示」です。


3つの登場人物

VC の世界には3人の登場人物がいます。

┌─────────────────────────────────────────────────────────────┐
│ │
│ ┌──────────┐ │
│ │ 発行者 │ Issuer(イシュアー) │
│ │ (Issuer) │ 例: 政府、大学、企業、銀行 │
│ └────┬─────┘ │
│ │ │
│ │ ① 証明書を発行 │
│ │ 「この人は21歳以上です」 │
│ │ +デジタル署名 │
│ ▼ │
│ ┌──────────┐ │
│ │ 保持者 │ Holder(ホルダー) │
│ │ (Holder) │ 例: あなた(個人) │
│ └────┬─────┘ │
│ │ │
│ │ ② 必要な情報だけを提示 │
│ │ 「21歳以上です」だけ見せる │
│ ▼ │
│ ┌──────────┐ │
│ │ 検証者 │ Verifier(ベリファイヤー) │
│ │(Verifier)│ 例: 居酒屋、レンタカー、オンラインサービス │
│ └──────────┘ │
│ │
│ 検証者は発行者に問い合わせなくても、 │
│ デジタル署名を確認して本物かどうかわかる! │
│ │
└─────────────────────────────────────────────────────────────┘

従来の方式との違い

従来: 発行者に問い合わせが必要

検証者 ──「この免許証は本物?」──► 発行者(公安委員会)
◄── 「はい、本物です」───

問題:

  • 発行者のシステムがダウンしたら確認できない
  • 発行者に「誰がいつ確認したか」がバレる(プライバシー問題)
  • リアルタイム通信が必要

VC: 発行者に問い合わせ不要

検証者: 「デジタル署名を確認...OK、本物だ!」

(発行者に一切連絡しない)

メリット:

  • オフラインでも確認できる
  • 発行者にプライバシーが漏れない
  • 高速

なぜ「検証可能」なのか

デジタル署名の仕組み(超簡単版)

発行者が持っているもの:
🔐 秘密鍵(絶対に公開しない)
🔓 公開鍵(誰でも取得できる)

証明書の発行:
発行者: 「21歳以上です」+ 🔐秘密鍵 で署名
→ 署名付き証明書ができる

証明書の検証:
検証者: 署名付き証明書 + 🔓公開鍵 で検証
→ 本物かどうかわかる!

ポイント:

  • 秘密鍵を持っているのは発行者だけ
  • だから、正しい署名を作れるのは発行者だけ
  • 公開鍵で署名を検証すれば、発行者が作ったことがわかる

VC でできること

やりたいこと従来VC
年齢だけ証明免許証を全部見せる「21歳以上」だけ見せる
オフラインで確認できないできる
発行者に追跡されない追跡される追跡されない
偽造防止物理的な偽造防止デジタル署名で数学的に不可能
複数の証明書を組み合わせ複数の書類を持ち歩くスマホ1つで管理

具体的なユースケース

1. 年齢確認(居酒屋、コンビニ)

提示する情報: 「21歳以上である」のみ
隠す情報: 名前、住所、生年月日

2. 学歴証明(就職活動)

提示する情報: 「○○大学 工学部 卒業」
隠す情報: 成績、学籍番号

3. 資格証明(仕事)

提示する情報: 「医師免許を持っている」
隠す情報: 取得年月日、登録番号

4. 本人確認(銀行口座開設)

提示する情報: 氏名、住所、生年月日(必要な情報のみ)
隠す情報: 免許証番号、顔写真(銀行が必要としない場合)

5. 従業員証明(取引先への証明)

提示する情報: 「○○株式会社の従業員である」
隠す情報: 部署、役職、社員番号

よくある質問

Q: スマホを失くしたらどうなる?

A: 発行者に連絡して VC を失効させます。失効した VC は検証時に「無効」と判定されます。

Q: スマホがなくても使える?

A: 紙やカードに QR コードとして印刷することも可能です。ただしその場合、選択的開示は難しくなります。

Q: 偽造できないの?

A: デジタル署名を偽造するには、発行者の秘密鍵が必要です。これは数学的に(現実的な時間では)不可能です。

Q: インターネットがなくても使える?

A: はい。検証に必要な発行者の公開鍵を事前にダウンロードしておけば、オフラインでも検証できます。

Q: 今すぐ使える?

A: 一部の国・地域で運転免許証のデジタル化(mDL)が始まっています。日本でも実証実験が進んでいます。


まとめ

┌─────────────────────────────────────────────────────────────┐
│ │
│ Verifiable Credentials = デジタル署名付きの証明書 │
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ 1. 必要な情報だけを開示できる(選択的開示) │ │
│ │ 2. 発行者に問い合わせなくても本物か確認できる │ │
│ │ 3. デジタル署名で偽造が数学的に不可能 │ │
│ │ 4. スマホ1つで複数の証明書を管理 │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘

次のステップ

理解度に応じて、以下のドキュメントに進んでください。

ドキュメント内容おすすめの人
ストーリーで学ぶVC具体的なシナリオで理解を深めるもう少し具体例が欲しい人
VC Data ModelVC の技術的な構造実装者、技術詳細を知りたい人
用語集専門用語の解説用語がわからない時に参照