Web3.0時代のID、DIDsについて調べてみたので解説してみた

◆ Live配信スケジュール ◆
サイオステクノロジーでは、Microsoft MVPの武井による「わかりみの深いシリーズ」など、定期的なLive配信を行っています。
⇒ 詳細スケジュールはこちらから
⇒ 見逃してしまった方はYoutubeチャンネルをご覧ください
【5/21開催】Azure OpenAI ServiceによるRAG実装ガイドを公開しました
生成AIを活用したユースケースで最も一番熱いと言われているRAGの実装ガイドを公開しました。そのガイドの紹介をおこなうイベントです!!
https://tech-lab.connpass.com/event/315703/

PSの米谷俊輔です。
今回はWeb3.0におけるデジタルアイデンティティを管理する技術、DIDsについて調べてみましたので解説します。

DIDsとは

DIDs (分散型識別子: Decentralized Identifiers) は、分散型台帳技術 (主にブロックチェーン) を使った識別子 (IDを識別するための情報) です。Web2.0までのように認証サービスを提供するIDプロバイダー (IdP) に依存せず、利用するユーザが自身のデジタルアイデンティティ※1を管理し※2、国や事業者等に掲示する情報をユーザー自身が制御することができます。

DIDsはSSI (自己主権型アイデンティティ: Self-Sovereign Identity) ※3を実現する手段として注目されています。

※1: デジタル化した個人などに関連した属性情報 (例: ID、パスワード、メールアドレス) の集合

※2: 実際の運用において学歴や資格等の情報は有効かつ信頼性のある方法で検証が必要であり、信頼できる認証機関やデータ提供者が関与することが求められます。

※3: 国や事業者等の認証機関や管理者に依存することなく、自身の個人情報を自身で管理・保管を行い、あらゆる決定権を持つべきであるとする考え方。

以降の説明の理解を深めるためにDIDsとDIDの違いについて最初に説明します。

DIDとDIDsの違い

Web3.0においてDecentralized IdentifiersはDIDまたはDIDsと表記されます。この表記はDIDを理解する上で障害になることがあります。

DIDは「分散型アイデンティティ: Decentralized Identity」、「分散型識別子: Decentralized Identifier(s)」と異なる意味の複数の言葉を示す略語として使用され、いずれの意味であるかは文脈から理解する必要があります。一方DIDsは「分散型識別子: Decentralized Identifiers」を示す略語であり、意味を明確にしたい場合に利用する傾向があります。

この記事ではDecentralized IdentifiersはDIDsで統一して表記します。

次からDIDsについて解説を始めます。最初にDIDsの特徴です。

DIDsの特徴

DIDsはSSIを実現する手段であることは前述しましたが、SSIでは以下の「SSIの10原則」※4が提唱されております。

※4: 2016年にSSL/TLSの専門家であるクリストファー・アレン氏が「The Path to Self-Sovereign Identity」の記事中で提唱した原則

No.原則説明
1実在 (Existence)ユーザーは独立した存在である。
2コントロール (Control)ユーザは自身のIDを管理することができる。他のユーザがIDを管理する存在であってはならない。
3アクセス (Access)ユーザーは自身のIDに紐づくすべてのデータにアクセスすることができ、ユーザーに隠されたデータや制限がない。
4透明性 (Transparency)IDを管理・更新するシステムおよびアルゴリズムは透明性が担保されている。
5持続性 (Persistence)IDは永久に、少なくともユーザーが望む限り存続する。これは「忘れられる権利」と矛盾しない。
6携帯性 (Portability)IDに紐づくすべてのデータはサービス間で利用可能である。またユーザが自身のIDを管理し続けられることを保証する。
7相互運用性 (Interoperability)IDは可能な限り広く利用できる。
8同意 (Consent)IDに紐づくすべてのデータは共有される際にはユーザの同意が必要である。
9最小化 (Minimalization)IDに紐づくすべてのデータは開示範囲を最小限とする。
10保護 (Protection)ユーザの権利は保護されなければならない。ID ネットワークのニーズよりも個人の自由と権利が優先される。

    出典: https://www.w3.org/TR/did-core/#design-goals

      「SSIの10原則」を私的にまとめるとSSIは、「特定の国やシステムに依存しない独立した存在である。」、「ユーザーは自身のIDに紐づくすべてのデータを把握し、管理することができる。」、「様々なサービス間で相互運用が可能で、ユーザーが望む限り存続する。」、「SSIに紐づいたデータの提示はユーザの同意が必要、且つ最小限の範囲に限られる。」、「これらを実現するSSIを管理するシステムおよびアルゴリズムは堅牢かつ透明性を担保されている。」といった特徴があると考えます。SSIを実現する手段であるDIDsはこの原則に準じた特徴を持つと考えられます。

      またDIDsは国際技術標準化団体のW3C (World Wide Web Consortium) により2022年7月19日に「Decentralized Identifiers (DIDs) v1.0」として標準規格が公表されました。W3Cが定めた標準規格はDIDsを理解・利用する上で重要な基準となると考えます。

      「Decentralized Identifiers (DIDs) v1.0」の要旨(全文はこちら) では「SSIの10原則」の他にDIDsは検証可能な分散型デジタルIDを可能にする新しいタイプの識別子である。」、「DIDsは、DID subjectと DID documentを関連付けるURIであり、その表題に関連する信頼できるやり取りを可能にする。」の特徴が追加されています。

      「DIDsは検証可能な分散型デジタルIDを可能にする」という特徴からDIDsには、検証可能なID、検証不可能なID、検証可能だが検証しないIDがあるということが分かります。検証可能なIDとは氏名、住所、血液型、生年月日、写真、認証番号、資格、学歴、職歴、病歴などパーソナリティに結びつくIDのうち、行政や信頼できる機関より検証に必要なデータが発行されるものが対象となります。

      検証可能な分散型デジタルIDを実現するために必要とされている技術がVC (検証可能な資格情報: Verifiable Credentials) です。

      VCとは

      VCは行政や信頼できる機関より発行されたデータを使い安全にIDの真正を検証する技術およびフォーマットであり情報そのものとは異なります。

      VCもDIDsと同様にW3Cの「Verifiable Credentials Data Model v2.0」により標準規格が公表されています。

      「Verifiable Credentials Data Model v2.0」におけるVCの仕組みについて解説します。

      VCの仕組み

      「Verifiable Credentials Data Model v2.0」ではVCの仕組みの一例を以下の図のように表しています。

      図1. The roles and information flows forming the basis for this specification.

      出典: Verifiable Credentials Data Model v2.0 | W3C

      図1には3人の人物「Issuer」 (発行者)、「Holder」 (保有者)、「Verifier」 (検証者) および1つのデータベース「Verifiable Data Registry」 (検証可能なデータの保管データベース) が登場します。VCの仕組みにおけるそれぞれの役割は以下の通りです。

      Holder (保有者)

      • DIDの利用ユーザ―を想定
      • Verifiable Data Registryにスキーマを利用してID情報を登録します。Issuerに対しID情報に対するVCs (VCで検証されるデジタル証明書) の発行を依頼します。
      • Issuerが発行したVCsを保管し、Verifierに対しID情報およびVCsを提示します。

      Issuer (発行者)

      • 行政や信頼できる機関等の検証に必要なデータの発行元を想定
      • Holderの依頼を受けてVerifiable Data Registryに登録されたID情報を検証し、VCsを発行します。

      Verifier (検証者)

      • 認証システム等、HolderのID情報を要求元を想定
      • Holderが提示したID情報に対しVerifiable Data Registryに登録されたスキーマおよびID情報を検証します。
      • Holderが提示したVCsを検証します。

      Verifiable Data Registry (検証可能なデータの保管データベース)

      • スキーマおよびID情報を保持します。

      VCの仕組みによりVerifierはIssuer問い合わせることなく、Holderが提示したID情報の検証を行うことができます。

      まとめ

      DIDsの解説をまとめると以下となります。

      • DIDsは、分散型台帳技術を使った識別子です。
      • DIDsは「SSIの10原則」に準じた特徴を持つと考えられる。
      • 「Decentralized Identifiers (DIDs) v1.0」はW3Cにより公表されたDIDsの標準規格である。
      • DIDsの検証可能な分散型デジタルIDを実現する技術がVCである。
      • VCとDIDsを組み合わせることでID情報の真正が保証される。

      いかがでしたでしょうか。今回はDIDsから関連すSSIやVCの簡単な解説を行いました。DIDsやVCについてはこれからもさらに技術的な解説を行う予定です。

      Web3.0時代のIDであるDIDsが社会に普及することによりID情報の主導権はユーザー自身の手に取り戻されることが期待されます。また今までID情報を管理してきたIdPは個人情報流出のリスクから解放されることが考えられます。今後もDIDsをはじめとしたブロックチェーン技術について注目していきたいと思います。

      参考URL

      About 米谷俊輔 1 Article
      2020年1月サイオステクノロジー入社。プロジェクトマネージャーの視点で誰にでもわかりやすい解説を目指します。趣味は模型 (ガンプラ) 作り、ゲーム、たまに自作PC改造、サーバー構築
      ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

      役に立った 役に立たなかった

      0人がこの投稿は役に立ったと言っています。


      ご覧いただきありがとうございます。
      ブログの最新情報はSNSでも発信しております。
      ぜひTwitterのフォロー&Facebookページにいいねをお願い致します!



      >> 雑誌等の執筆依頼を受付しております。
         ご希望の方はお気軽にお問い合わせください!

      Be the first to comment

      Leave a Reply

      Your email address will not be published.


      *


      質問はこちら 閉じる