0と1のデータに「信頼」を与える「VC(Verifiable Credentials)」とは?
銀行口座の開設や携帯電話の契約では、従来、運転免許証やマイナンバーカードといった物理的な身分証を店舗に持参して本人確認を行ってきた。現在、その手続きはオンラインで完結するデジタル証明書へと置き換わりつつある。CTCみらい研究所の貞弘崇行氏は、デジタル化によって利便性が向上する一方、「デジタル化された証明書をどう信頼するか」が次の課題になると指摘する。
紙の証明書には、透かしや複写防止加工、発行元の押印といった目に見える信頼の根拠が存在し、偽造には高額な費用や手間がかかる。一方、デジタル化された証明書の実体はデータ(0と1の羅列)に過ぎない。容易にコピーできる環境では、偽造コストがほぼ無料になりかねない。
身分証明書や資格証明書などをデジタル化する際の信頼性の課題を解決するのが、Verifiable Credentials(VC)である。VCはデジタル署名によってデータの真正性や改ざん検知を実現する機械可読な証明書フォーマットであり、発行元・発行先の特定や提示先の指定が可能である。最大の特徴は「選択的開示」機能にある。
貞弘氏は酒類購入時の年齢確認を例に挙げる。運転免許証を提示すると氏名や住所まで開示されるが、確認に必要な情報は「20歳以上であること」のみである。選択的開示を利用すれば、必要最小限の情報だけを提示できる。仕様はW3Cにおいて「Verifiable Credentials Data Model 2.0」として標準化されており、証明書用途にとどまらず汎用的なデータ記述形式としても利用可能である。
VCの利用で前提となるのが「IHVモデル」である。大学・政府・企業などのIssuer(発行者)がVCを発行し、Holder(保有者)がWalletに保管、必要なときにVerifier(検証者)へ提示してサービスを受ける。運転免許証を財布に入れて持ち歩き、レンタカーを借りる際に提示する運用と同等である。重要な点は、Verifierが検証のたびにIssuerへ問い合わせる必要がない点にある。暗号学的に検証できるため「誰がどこで使ったか」という履歴がIssuerに蓄積されず、プライバシー保護と可用性の確保を両立できる。
IHVモデルで使われるプロトコルには、発行時の「OpenID for Verifiable Credential Issuance(OID4VCI)」や、提示時の「OpenID for Verifiable Presentations(OID4VP)」がある。フォーマットとしては、IETFで標準化が進む「SD-JWT VC」などが挙げられる。
国内ではマイナンバーカードのスマートフォン搭載が進んでいる。実証事例としては、大学の在学証明を用いて通学定期の割引運賃を適用するパイロットプログラムや、山小屋でオフライン検証を行う登山者証明書のPoC「やまのあかしプロジェクト」が存在する。自動車業界では、データ流通基盤「Catena-X」がトレーサビリティやカーボンフットプリントの真正性確認にVCを活用している。
VC開発の難所は「組み合わせ設計」にある
事例の増加に伴い、「身分証明をデジタル化したい」「本人確認を数秒で完結させたい」「自社が発行元となる証明サービスを提供したい」といった要望が高まっている。しかし、実際の実装には高いハードルが存在する。藤田和成氏は、競合する仕様が乱立する現在の状況を「標準仕様のジャングル」と表現する。
データモデルだけでもW3C VCDM、SD-JWT VC、ISO mdocと複数存在し、プロトコルもOID4VCIとOID4VPに分かれる。提示要求のクエリ言語にはPresentation ExchangeとDCQLがあり、データの表現形式にもJWTやCWTが存在する。さらに識別子や鍵の管理まで含めると選択肢は膨大であり、ユースケースごとに最適な組み合わせを検討しなければならない。また、仕様の多くは現在もドラフト段階で更新が続いており、一度読めば完了するものではない。結果として開発者は、仕様書の確認だけで1日を費やす状況に疲弊してしまう。
さらに深刻なのは、複数の仕様を組み合わせる段階である。実際のシステムでは、データ形式、発行・提示プロトコル、署名や鍵、DIDやメタデータ、検証条件を同時に整合させる必要がある。その結果、仕様選定、検証負荷、差分吸収、仕様更新への追従という4つの負荷が発生する。藤田氏は、実装の難所は仕様の個別要素ではなく、複数レイヤーが複雑に絡み合う「組み合わせ設計」にあると説明する。早期に顧客へ価値を提供しつつ標準規格にも準拠したいが、特定の仕様への依存や、仕様変更に伴う手戻りは避けたいのが開発現場の本音である。現在求められているのは、仕様の違いや変更に耐えうる「実装の土台」である。
産学連携で育てるVCエコシステムの未来とOSS 「VC Knots」
実装の土台としてCTCと慶應義塾大学が共同開発しているオープンソースソフトウェアが「VC Knots」である。データ流通の信頼性向上に取り組む慶應義塾大学SFC研究所とCTCの共同研究プロジェクト「Trust Knots」から誕生したOSSのSDKであり、VC実装を通じて得られた知見を開発者が活用できる形へと落とし込んでいる。PoCや技術学習、導入検討の起点としての活用を想定している。
特徴は大きく3つある。1点目は、発行モジュール・Walletモジュール・検証モジュールの3要素でIssuer・Holder・Verifierを網羅している点である。IssuerやVerifierのみを構築してもPoCの全容は把握できず、Walletを含む「発行・保管・提示・検証」の一連のフローを稼働させる必要があるためである。2点目は、仕様の差分をプラグインで吸収できる点である。IssuerとVerifierにはProvider、WalletにはDispatcherというプラグイン登録機構を備え、データ形式、プロトコル、ストレージ、識別子や鍵などの領域を柔軟に差し替えられる。3点目は、稼働するサンプルコードから着手し、要件に応じて拡張できる点である。
プラガブルな設計を重視する理由は、VCを運用するシステムの前提条件が単一に定まらないためである。業界やユースケースに応じてmdocが適する場合もあれば、SD-JWT VCが適する場合もあり、暗号方式や鍵管理技術も進化を続ける。藤田氏は、選択権は利用者に委ねるため、SDK側で特定仕様に固定せずプラグインで差し替えられる設計を採用したと説明する。
また、OSSとして公開する理由について藤田氏は、VCにおける信頼は単一企業のみでは構築できないためだと語る。VCはIssuer、Wallet、Verifierが連携して初めて価値を発揮する。特定企業の実装に閉じ閉鎖的になるのを防ぎ、誰でも検証・学習できる環境を提供するとともに、他社製ウォレットとの相互運用性を実装レベルで示していく方針である。
標準準拠の検証には、OpenID Foundationが提供するConformance Testを活用し、第三者基準での仕様準拠を実証している。現在、OID4VCI 1.0のIssuer機能はテストを通過済みであり、Wallet機能およびOID4VP 1.0への対応を進めている。今後は標準対応と並行し、AWS環境への対応、ドキュメントの拡充、サンプルアプリの整備など、利用環境の改善にも取り組む予定である。
本プロジェクトでは産学連携ならではの知見も得られた。企業(CTC)側は実務要件やPoCの視点を持ち込んで課題を抽出し、研究テーマとしてアカデミアへフィードバックする。学生はそのテーマを検証する土台としてVC Knotsを活用する。この改善と学習の循環が産学連携の価値を生み出している。
学生側の視点について、慶應義塾大学の橋本晃太朗氏は、デジタルアイデンティティウォレット(DIW)の研究においてエコシステム全体の課題発見や設計が求められる一方、初学者がゼロからウォレットを実装するのはハードルが高いと指摘する。VC Knotsを活用すれば手元で容易に検証環境を構築でき、卒業研究や実証実験にも展開できる。国際ワークショップ「IIW(Internet Identity Workshop)」への参加やアイデアソンの開催など、研究の視野を広げる契機にもなっている。
また開発面について伊藤有汰氏は、想像以上に仕様の広がりが大きいプロジェクトであったと振り返る。credential_issuerというパラメータを1つ検証するだけでも、仕様書のCredential Offerの項目からIssuerメタデータの取得手順、Security Considerationsへと複数のドキュメントを参照する必要があり、Nonce Responseを読み解くにはDPoPを定義した別仕様のRFC 9449まで辿る必要があった。
伊藤氏は、1つの調べ物が次の調査へと連鎖する状況であったが、複雑な仕様対応をライブラリ側でカプセル化してくれるVC Knotsの価値を開発の現場で実感できたと語る。CTCメンバーとのスクラム開発を通じて、タスクの優先順位付けやコードレビューを実践的に学べた点も大きな収穫であったという。
最後に貞弘氏は、社員証や会員証、学修歴・資格証明、サプライチェーン、医療、行政、契約・KYCなど、「資格」や「属性」の証明が求められるあらゆる場面でVCが活用できると示した。信頼は技術によって実装可能である。標準仕様の差分は避けられないものの、VC Knotsを活用すればその障壁を克服できる。貞弘氏は、VC Knotsの利用やGitHubでのスター送付、コミュニティへの参加を呼びかけ、Issue・PR作成や実証実験を通じたエコシステムの共同推進を訴えて締めくくった。

伊藤忠テクノソリューションズからのお知らせ
本セッションでご紹介したOSS「VC Knots」や関連する取り組みにご興味を持たれた方は、ぜひ詳細ページをご覧ください。

