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. 学歴証明(就職活動)
提示する情報: 「○○大学 工学部 卒業」
隠す情報: 成績、学籍番号