個人がデジタルアイデンティティを完全に自己管理し、必要な情報のみを選択的に開示できる分散型認証基盤
※ 実際の認証フローは概念的に簡略化して表示
中央機関に依存せず完全にコントロール
必要最小限の情報のみを選択的に開示
暗号学的証明により真正性を保証
W3C標準準拠で異システム間連携
学位、専門資格、研修修了証明の偽造防止と迅速な検証
職務経歴、技能認定の信頼性確保と転職時の効率化
具体的な年齢を開示せずに成人証明や資格要件の確認
政府発行の身分証明書、住民票、印鑑証明のデジタル化
実際に動くデモでDID/VCの仕組みを体験
VC発行からVP提示、検証まで一通りの流れを体験するシンプルなデモ
より高度なDID/VC機能を体験できる追加デモを開発中
スマートフォンとPCを使ったVC発行から認証までの実際の手順
Basic DemoはモバイルデバイスでのVC管理・VP提示を前提に設計
右のQRコードをスマートフォンで読み取ってデモサイトにアクセス。
スマートフォンで読み取り
スマートフォンでBasic Demoサイトを開くと、ホルダー(証明書保有者)のトップページが表示される 主要な機能として以下の2つのメニューがある:
DID/VCでは、個人が自分のデジタル証明書を完全に管理
「VC管理」をタップして証明書管理画面に移動
初回アクセス時は、まだ証明書が発行されていないため、発行申請フォームが表示される
発行された証明書はブラウザのローカルストレージに安全に保存
証明書発行に必要な個人情報を入力:
入力した情報は必要な項目のみを選択的に開示
「VC発行申請」ボタンをタップすると、証明書が発行される
デモでは発行者(Issuer)の認証プロセスは省略
発行が完了すると、デジタル身分証明書カードが表示され、ウォレットに保存される
PCで認証・検証を行うアプリケーションを開く
このアプリはスマートフォンから提示される証明書(VP)のQRコードを読み取り、真正性を検証
検証アプリURL:
https://takuya-motoshima.github.io/did-vc-dist/basic/verifier/
PC の大きな画面でQRコードリーダーを起動し、スマートフォンのQRコードを読み取る
検証したい情報に応じてシナリオを選択すると、自動的にカメラが起動してQRコード読み取り待機状態になる:
氏名・生年月日・住所を含む完全な身元認証を実行
成人年齢のみを認証(プライバシー保護・個人情報非開示)
年齢認証では具体的な生年月日を開示せずに成人証明のみ行う
シナリオ選択後、カメラが自動起動してスマートフォンのQRコードを読み取る準備が完了
スマートフォンでホルダーアプリの「VP提示」メニューを開き、
PC画面で選択したシナリオと同じものを選択
シナリオに応じて、必要最小限の情報のみが自動選択されVPが生成される
シナリオを選択すると、選択的に開示された情報を含むVP(Verifiable Presentation)が生成され、
QRコードとして表示されます
このQRコードをPCの検証アプリのカメラにかざして読み取らせる
スマートフォンのQRコードをPCのカメラにかざすと、自動的に読み取りが行われ、検証処理が実行されます
QRコード読み取り中
認証成功画面
成功時には以下の情報が確認できます:
DID/VCシステムの基本的なフローが完了
このデモンストレーションでは以下の技術的特徴を確認できる:
個人が証明書を完全に管理し、必要に応じて提示
シナリオに応じて必要最小限の情報のみを開示
デジタル署名により証明書の真正性を確保
スマートフォンを使った直感的な操作
DID/VCエコシステムの三つの主要な役割
証明書保有者。DIDを生成・管理し、VCを保管。認証時にVPを生成・提示
証明書発行者。信頼ある機関として、VCを発行しデジタル署名で真正性を保証
証明書検証者。提示されたVPの真正性を検証し、証明書の有効性を判定
鍵ペア生成、DID作成、レジストリ登録
申請、審査、VC生成・署名、送付
認証要求、属性選択、VP生成、QR提示
構造検証、署名検証、属性確認
実装で使用している暗号技術と国際標準への準拠状況
公開鍵直接埋込方式、オフライン生成、軽量実装
暗号化:Ed25519、secp256k1既存DNS/PKI基盤活用、企業導入容易
基盤:DNS + HTTPS証明書Ethereum基盤、スマートコントラクト管理
標準:ERC-1056準拠Bitcoin Layer2、高スケーラビリティ
実装:Microsoft ION Network{
"@context": "https://www.w3.org/ns/did/v1",
"id": "did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK",
"verificationMethod": [{
"type": "Ed25519VerificationKey2020",
"controller": "did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK"
}]
}
{
"@context": ["https://www.w3.org/2018/credentials/v1"],
"type": ["VerifiableCredential"],
"issuer": "did:demo:issuer-001",
"credentialSubject": {
"id": "did:key:z6Mk...",
"name": "山田太郎",
"birthDate": "1985-04-15"
},
"proof": {
"type": "Ed25519Signature2020",
"jws": "eyJ0eXAiOiJKV1Q..."
}
}
実稼働環境への移行と導入戦略