W3C、中央集権的な管理を不要にする「Decentralized Identifiers (DIDs)」(分散型識別子)の仕様が勧告に到達

World Wide Web Consortium (W3C)は、「Decentralized Identifiers (DIDs) 」(分散型識別子)バージョン1.0(以下、W3C DID)の仕様が勧告に到達したと発表しました。

https://platform.twitter.com/embed/Tweet.html?dnt=false&embedId=twitter-widget-0&features=eyJ0ZndfdHdlZXRfZWRpdF9iYWNrZW5kIjp7ImJ1Y2tldCI6Im9mZiIsInZlcnNpb24iOm51bGx9LCJ0ZndfcmVmc3JjX3Nlc3Npb24iOnsiYnVja2V0Ijoib2ZmIiwidmVyc2lvbiI6bnVsbH0sInRmd190d2VldF9yZXN1bHRfbWlncmF0aW9uXzEzOTc5Ijp7ImJ1Y2tldCI6InR3ZWV0X3Jlc3VsdCIsInZlcnNpb24iOm51bGx9LCJ0Zndfc2Vuc2l0aXZlX21lZGlhX2ludGVyc3RpdGlhbF8xMzk2MyI6eyJidWNrZXQiOiJpbnRlcnN0aXRpYWwiLCJ2ZXJzaW9uIjpudWxsfSwidGZ3X2V4cGVyaW1lbnRzX2Nvb2tpZV9leHBpcmF0aW9uIjp7ImJ1Y2tldCI6MTIwOTYwMCwidmVyc2lvbiI6bnVsbH0sInRmd19kdXBsaWNhdGVfc2NyaWJlc190b19zZXR0aW5ncyI6eyJidWNrZXQiOiJvZmYiLCJ2ZXJzaW9uIjpudWxsfSwidGZ3X3VzZXJfZm9sbG93X2ludGVudF8xNDQwNiI6eyJidWNrZXQiOiJmb2xsb3ciLCJ2ZXJzaW9uIjpudWxsfSwidGZ3X3R3ZWV0X2VkaXRfZnJvbnRlbmQiOnsiYnVja2V0Ijoib2ZmIiwidmVyc2lvbiI6bnVsbH19&frame=false&hideCard=false&hideThread=false&id=1549367701486944258&lang=ja&origin=https%3A%2F%2Fwww.publickey1.jp%2Fblog%2F22%2Fw3ciddecentralized_identifiers_dids.html&sessionId=79a5e29e290c5cb6f425faddc5c96a6e78b22f73&siteScreenName=publickey&theme=light&widgetsVersion=6da0b7085cc99%3A1658260301864&width=550px

W3C DIDは、中央集権的なレジストリを必要とせず、これを利用する個人や組織が情報をコントロールできるような仕組みを備えています。

人だけでなく組織、機器、製品、場所、抽象的な実態や概念などさまざまなものを一意に識別するために使用でき、属性などを示す関連情報が正しいことを暗号技術などによって証明可能です。

fig

分散型識別子とは?

これまでのID(識別子)、例えばある人を示すユーザーIDは一般に、あるシステムによって集中管理されています。例えば企業において社員を示すIDは、その企業のディレクトリサービスなどにより発行され管理されます。

そのディレクトリサービスには自分の顔写真、社員番号、部署名、内線番号、メールアドレスなど自分の関連情報が保存されていますが、どのような関連情報を保管するのか、その関連情報を社内外の誰が参照できるのかなどの決定権の多くはシステムが集中管理しています。

同様に、かかりつけの病院に保存されている自分の医療データ、警察に保存されている自分の運転免許証の情報や事故の記録などの自分の関連情報に関して、誰にいつそれを参照させるのかと言った決定権のほとんどは、そのデータを保存している組織やシステムによって管理されています。

Decentralized ID(DID:分散型識別子)はこうした管理を、アイデンティティを持つもの自身が管理できるようにする、いわゆるSelf-Sovereign Identity(SSI:自己主権型アイデンティティ)を実現する実装の1つとされています。

現在、個人のプライバシー情報が大手IT企業などに独占されていると非難する声が上がると同時に、個人情報を保存している企業からの情報漏洩なども問題になっています。W3C DIDに代表される分散型識別子の技術は、個人情報をそれぞれ個人が自分で管理することによってこうした課題を解決するものとして注目されつつあるのです。

W3C DID

W3C DIDでは、一意な識別子としての「DID」および、DIDと関連情報を1つの文書としてまとめる「DID document」(DID文書)が重要な要素となります。

下記は「Decentralized Identifiers (DIDs) v1.0」に示されたDIDの例です。最初に「did」、続いてDIDの実装方法を示す文字列、そして実装方法に応じて作成される一意の文字列で構成されます。

fig

そしてこのDIDを含む文書がDID文書です。以下もW3Cのドキュメントに示されたDID文書のサンプルです。6行目にDIDが含まれています。

{
  "@context": [
    "https://www.w3.org/ns/did/v1",
    "https://w3id.org/security/suites/ed25519-2020/v1"
  ]
  "id": "did:example:123456789abcdefghi",
  "authentication": [{
    // used to authenticate as did:...fghi
    "id": "did:example:123456789abcdefghi#keys-1",
    "type": "Ed25519VerificationKey2020",
    "controller": "did:example:123456789abcdefghi",
    "publicKeyMultibase": "zH3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV"
  }]
}

誰かが自分の関連情報を参照したいときには、このDID文書に関連情報へのエンドポイント、認証情報、公開鍵情報などをまとめたうえで相手にDID文書へのアクセスを許可することで、自分が参照を許した関連情報だけを相手に見せることができ、相手は関連情報の署名や公開鍵などを用いて関連情報が正しいことを確認できるようになっています。

こうした仕組みにより、自分が情報の主権を持ってコントロールできるようになるわけです。

W3C DIDの仕様では、これをどのように実装するのか、例えば分散型台帳もしくはブロックチェーンの上で実装するのか、分散ファイルシステムの上で実装するのか、どのような暗号方式を用いるのか、DIDやDID文書はどのようなアプリケーションで管理するのか、などは規定しておらず実装者に任されていると同時に、さまざまな実装や相互運用性を許容するようになっています。

現時点でDIDの標準化はW3C以外でも進められており、W3C DIDが事実上の標準となるかどうかはまだ不透明です。おそらくは複数の標準が相互運用性を実現しつつ共存するのではないかと想像されますが、どのような状況になるにせよ、W3Cのようなある程度信頼のある組織から分散識別子の標準が登場したことで、この分野の実装と利用について注目度が一段と高まるのではないでしょうか。