DID(分散識別子)

DID(分散識別子)とは、特定の企業や機関のサービスに依存せずに使える識別子で、その識別子から対応する公開鍵をたどれるようにする仕組みのことです。 Decentralized Identifierの略で、ディーアイディーと読みます。

別表記:DID/分散識別子/分散型識別子/Decentralized Identifier/ディーアイディー/分散ID

識別子とは何か

識別子は、誰か(何か)を一意に指し示すための名前です。メールアドレス、社員番号、SNSのアカウント名はどれも識別子です。

ただ、これらはすべて、発行した組織のサービスに紐づいています。メールアドレスはメールの提供元が管理し、提供元がサービスを止めれば使えなくなります。SNSのアカウントは、運営会社が凍結すれば消えます。識別子の持ち主が自分で管理できるものではなく、提供元から借りているものです。

DIDは、この依存をなくすことを目指した識別子です。識別子と、それに対応する鍵の情報を、特定の事業者に預けきりにしない形で扱えるようにします。

なぜVCに必要なのか

VC(Verifiable Credentials)は、発行者が秘密鍵で署名を付け、受け取った側が公開鍵でその署名を確かめる仕組みです。このとき、発行者の公開鍵をどこから取ってくるのかという問題が生じます。

発行者ごとに公開鍵の置き場所が違えば、受け取る側は毎回探し方を変えなければなりません。DIDは、識別子を見れば公開鍵のたどり方が決まる、という共通の約束を提供します。発行者のDIDが分かれば、受け取る側は決まった手順で公開鍵を取得し、署名を検証できます。

発行者だけでなく、証明を持つ側にもDIDを割り当てることができます。「この証明は、このDIDの持ち主に発行されたものです」と証明の中に書いておけば、提示したのが本当にその持ち主かどうかを確かめられます。

どんな形をしているのか

DIDは、did: で始まる文字列です。続けて方式の名前、その後に識別子本体が並びます。たとえば did:web:example.co.jp のような形で、この例では「web」という方式を使い、example.co.jpというドメインに紐づいた識別子であることを表しています。

DIDから公開鍵をたどると、DIDドキュメントと呼ばれる小さなデータに行き着きます。ここに公開鍵や、その鍵の用途が書かれています。受け取る側は、DIDドキュメントの中の公開鍵で署名を検証します。

方式はいくつもある

did: の後ろの方式名によって、DIDドキュメントをどこに置き、どうやって取りに行くかが決まります。

自社のWebサイトのドメインをそのまま識別子にし、通常のWebサーバーからDIDドキュメントを配る方式があります。追加の設備はほとんど要らず、いつもWebサイトを公開している仕組みで足ります。企業が自社の従業員やAIエージェントに証明を発行する用途では、この方式が扱いやすい選択肢になります。

鍵そのものから識別子を作り、どこにも登録しない方式もあります。登録先が要らないぶん手軽ですが、鍵を変えると識別子も変わります。

分散台帳に識別子と鍵の対応を記録する方式もあります。発行元の組織が消滅しても識別子を維持したい、特定のサーバーに依存したくない、といった要件がある場合に検討されます。

方式が違うと、相互に扱えないことがあります。確認する側が対応していない方式の識別子は、そのままでは検証できません。社外とのやりとりを想定する場合は、相手が何に対応しているかを事前に確かめる必要があります。

AIエージェントとの関係

AIエージェントにDIDを割り当てると、そのエージェントが「誰」であるかを、特定のサービスのアカウントに依存せずに表せます。社内のID基盤に登録されたアカウントは社内でしか通用しませんが、DIDであれば、別の組織のシステムでも同じ手順で鍵を確かめられます。

AIエージェントにVCで権限を持たせる場合、証明の中に「このDIDの持ち主に発行した」と書いておきます。エージェントが証明を提示するとき、そのDIDに対応する秘密鍵で署名を添えれば、受け取る側は「証明の持ち主本人が提示している」ことを確認できます。証明を盗んで別のエージェントが使う、ということを防ぐ仕組みです。

よくある誤解

DIDにはブロックチェーンが必須なのか。 必須ではありません。方式のひとつとして分散台帳を使うものがあるだけで、前提ではありません。企業が自社の従業員やAIに証明を発行する用途では、台帳を使わない方式で足りることがほとんどです。この点を取り違えると、暗号資産の購入やネットワークの運用といった、本来は不要な論点が検討の初期に議題に上がってしまいます。

DIDがあれば本人確認ができるのか。 DIDそのものは、識別子と鍵の対応を示すだけです。その識別子の持ち主が誰なのか、何者なのかは、DIDだけでは分かりません。「このDIDの持ち主は当社の社員です」と誰かが証明する必要があり、それを担うのがVCです。DIDは土台で、意味を与えるのは証明のほうです。

一覧に戻る