はじめに
一般的に、私たちのアイデンティティ(名前や住所といった属性の集合)や個人を特定するための識別子(Identifier)は、会社や行政など特定の機関によって発行され、集中的に管理されています。デジタル化が進むにつれて様々なサービスを利用できるようになり、IDデータも増えました(例えばTwitterとFacebookを利用している人はIDをふたつ持っています)。
IDの管理が特定組織に依存しているため、大規模な情報漏洩・不正利用のリスクがあり、実際に様々な会社や公的機関から一度に多くの個人情報が漏洩する事件がたびたび報じられています。
こうしたアイデンティティや識別子の管理手法として、分散型モデルが提案されており、分散型のデジタルIDシステムが登場し始めています。例えば、2021年4月にはマイクロソフト(Microsoft)が「Azure AD Verifiable Credentials」(パブリックプレビュー)を公開しました。そして、この仕組みにはパブリックブロックチェーンが活用されています。
本記事ではDIDの概要と、Azure AD Verifiable Credentialsを利用して実現するアプリケーションのイメージを紹介した上で、導入が進められている慶應義塾大学の事例に触れていきます。
「Azure AD」を用いたDIDのデモは、2020年5月に行われたマイクロソフトの年次カンファレンス「Build 2020」内で行われたセッション「Building trust into digital experiences with decentralized identities」でアナウンスされていました。当時のセッションはYouTubeに公開されています。
分散型ID(DID:Decentralized Identifier)とその必要性
DID(Decentralized Identifier)とは、企業や公的機関に依存せずに利用できるタイプの識別子です。W3C(World Wide Web Consortium)やDIF(Decentralized Identity Foundation)といった国際的な標準化団体のもと、DIDの標準化が進められています。
Identifier(識別子)という言葉を聞き慣れない方もいるかもしれませんが、ざっくり個人(モノ)を識別するための情報と捉えておけば大丈夫です。
類似用語としてアイデンティティ(Identity)があり、どちらもIDと略されるケースがありますが、ISO/IEC 24760-1によるとアイデンティティは「実体に関する属性情報の集合」(set of attributes related to an entity)と定義されています。したがって、Identifierはアイデンティティの構成要素と考えておけば良いでしょう。
本記事では以降、特に断りが無い限り、DID=Decentralized Identifierとして、アイデンティティはそのままアイデンティティと表記していきます。
アイデンティティの一元管理は何が良くないのか?
私たちがよく利用するアイデンティティの例としては、Webサービスのアカウントが挙げられます。アカウントにはユーザーIDやパスワードのほか、住所や氏名、電話番号、クレジットカード情報、過去の購入歴など様々な属性情報が紐付いており、これら情報の集合がアイデンティティとして機能しているのです。
そして、このようなアイデンティティは各ユーザーがコントロールしていると思う方もいるかもしれませんが、実際にはWebサービスを提供している企業の管理下にあります。したがって、冒頭でも触れたように、一元管理されたアイデンティティの漏えいリスクは否定できません。
もちろん、各企業や公的機関はアイデンティティを流出させないように、監査やガバナンスに大きな労力を割いていますが、それでも流出は起きてしまいます。
また、ソーシャルログイン(GoogleやTwitterなどによるログイン)を用いてWebサービスにログインできる(多数のパスワード管理を回避)ケースも増えていますが、特定の組織にアイデンティティ管理や認証を依存せざるを得ない点には代わりありません。
このようなアイデンティティや認証に関する課題は、すべての主体が抱えるものであり、個人・企業・パブリックセクターの3レイヤーに分けて課題を整理すると以下のようになります。
個人 | 企業(組織) | 政府(非政府) |
---|---|---|
・プライバシー保護、自分のIDとデータのコントロール ・ハッキングからの保護 ・情報漏えいからの保護 | ・信頼と検証(いかにIDを信頼して検証するか) ・すべての他社(他者)との協力 ・GDPRやKYC/AMLのリスク削減 | ・クロスボーダーと政府機関のためのID ・難民のためのデジタルID ・すべての人のための社会的・金融包摂 |
こうした課題を解決するアプローチとして登場しているのがDIDです。まずはDIDのユースケースをイメージするところから始めていきましょう。
分散型ID(DID)を用いた学生証アプリ
ここではマイクロソフトが2020年に発表した学生証アプリのデモ映像を用いてDIDのユースケースを紹介していきます。アプリは大学から発行された証明書(検証可能な証明書(Verifiable Credentials)と呼ばれる)を管理するものであり、これが学生証として機能するのです。
Verifiable Credentialsとは?:証明書の発行者が、発行者自身や証明対象に関するデータに対してデジタル署名を行ったもの。発行者のデジタル署名が付与されているため、第三者は本当に発行者が当該Verifiable Credentialを発行したかどうかを暗号学的に検証できます(要するに、ある会社が「Aという人物は弊社の社員である」という主張が、本当にその会社によって行われたかどうかを第三者が検証できる)。
検証には発行者が署名時に用いた秘密鍵と対応する公開鍵が必要になりますが、公開鍵を含む情報(DID Document)をパブリックな分散台帳上に記録することで、発行者に依存せずに(=検証時に発行者へ問い合わせる必要がなく)検証を行えるようになります。なお、本記事で言及している事例では、パブリックな分散台帳としてビットコインブロックチェーンが活用されています。
DIDの仕組み
以下の図はDIDの仕組み概要です。左から、証明書の発行者(大学)、発行者が証明した情報(学生証アプリ)、証明書の検証者(学割サービス等を提供する企業)となっています。
まず、大学側の公開鍵をブロックチェーン(分散型台帳技術)を用いた分散型の公開鍵基盤(DPKI:Decentralized Public Key Infrastructure)に登録しておきます。デジタル学生証を発行する際には、大学はDPKIに登録した公開鍵に対応する秘密鍵を用いてデジタル署名を行い、第三者がデジタル学生証の正当性を検証できるようにします。
したがって、学生が提示した証明書を検証したい場合は、上図右側の上向き矢印でも示されているように、大学がDPKIに登録した公開鍵を検索・取得して検証すればOKです。
DPKIにはマイクロソフトが公開している「Identity Overlay Network」(ION)が採用されています。IONは既存の分散型台帳でスケーラブルなDPKIネットワークを構築するためのプロトコル「Sidetree」を用いて、Bitcoin上で構築されたネットワークです。
▼IONについてはこちら
ION(アイオン)とは?Microsoftを中心に開発される分散型IDツールを紹介
なお、今回のような検証可能な証明書(Verifiable Credentials)と、Verifiable Credentialsを検証するために必要なPKIについては、「W3C」(World Wide Web Consortium)の策定した標準に基づいて開発されています。
▼W3Cの標準仕様はこちら
Verifiable Credentials Data Model 1.0
Decentralized Identifiers (DIDs) v1.0
利用イメージ
まず、大学側からQRコード付きのメールを受け取った学生は、認証アプリ「Microsoft Authenticator」でQRコードを読み取って学生証を登録するための処理を行います。
処理が行われると、学生が在籍する大学のページへのサインインが要求されるのでサインインを行います。なお、ここでは一般的なユーザー名とパスワードが求められます。
そして、生体認証(指紋認証や顔認証など)や暗証番号を用いて承認を行い、学生証(見た目としてはカード)を追加します。これで学生は、スマホに登録した学生証を用いて、自分が大学の学生であると、第三者に証明できるようになりました。
なお、学生証の情報や過去のアクティビティはアプリで閲覧できます。これらの情報はすべて学生のスマホでコントロール可能です。
ECサイトなどで学割サービスを使う場合も、このアプリを用いて自分が学生であることを証明します。Webページ上の「Verify Credentials」を押すと、サイト側から証明書の提示をするようにリクエストされます。先程のように生体認証や暗証番号を用いて、リクエストを許可します。
リクエストが許可されると、サイト側は学生証に付与された大学のデジタル署名を検証して、サイトを訪れたユーザーが学割の対象者であることを確認できるのです。
また、上記のようなDIDベースの学生証アプリは、サイト側が学生証を閲覧する権限を取り消すこともできます。
学生証をDIDとするメリット
一元管理されたアイデンティティサービスとは異なる点は、アイデンティティがすべてスマホのローカルストレージに保管されており、個人のコントロール下にあるということです。
学割サービスを提供する事業者(検証者)は、DPKIに登録された公開鍵を含む情報を参照して、利用者が学生であること(厳密には利用者が学生であるというお墨付きを所属大学から与えられているかどうか)を検証できます。
そしてこの仕組みでは事業者側は大学に直接問い合わせる作業や、利用者の認証履歴などを保存しておく必要もありません。
したがって、学生側は自分のプライバシーを守りながら、他者に開示する情報を主体的にコントロールすることができ、事業者側も情報漏えいのリスクを削減できるのです。
Azure Active Directory Verifiable Credentialsが公開
上記のようなDIDを用いたアプリケーションは、2021年4月にパブリックプレビュー版が公開された「Azure Active Directory Verifiable Credentials」を用いて構築することができます。
利用者はAzure ADやMicrosoft Authenticator(最新版)を用いて、Verifiable Credentialsを発行可能です。また、これらマイクロソフトから提供されているサービスは前述した標準化団体のW3C(World Wide Web Consortium)や、DIF(Decentralized Identity Foundation)の標準規格に準拠しています。
チュートリアルがドキュメントで公開されているので、興味のある方は試してみてください。
Azure Active Directory Verifiable Credentialsは慶應大らも導入
2021年5月現在、Azure ADを利用したVerifiable Credentialsの利用が試験的に国内外のいくつかの機関で進められています。もっとも詳細に情報が公開されている事例のひとつが、2020年10月に開始された慶應義塾大学の事例です。
慶應大ではこれまで、学生の成績証明書と卒業証明書を一元的に管理しており、発行や共有も大学の教務窓口などで手続きを行う必要がありました。
こうした管理リスクの低減およびプロセスをオンライン化を行いながら、学生の氏名や年齢、住所、卒業証明、研修修了証などのデータを確実に検証可能にするために、Verifiable Credentialsを用いた実証実験を進めています。
慶應大は従来より、組織のID管理システムとしてAzure AD B2Cを利用していました。
慶應大のプレスリリースやマイクロソフトの事例紹介を参照すると、2021年春に一部シナリオに基づいた実証実験が慶應大を含む6社(機関)合同で行われている段階のようです。ソリューションのアーキテクチャ(概要)も公開されています。
参考:https://prtimes.jp/a/?f=d11361-20201026-1351.pdf、https://customers.microsoft.com/ja-JP/story/1349421307379340138-keio-university-higher-education-azure-active-directory
実証実験では、1,500人の学生を対象に検証が行われています。そして将来的には全学および卒業生に対しても、このソリューションが提供される可能性があるようです。
その他にもAzure Active Directoryを活用したプロジェクトが複数進行中
その他にも、イギリスの国民保険サービス「NHS(National Health Service)」では職員の情報管理に活用されていたり、ベルギー・フランダース政府では市民が身元を証明するために使われたりしています。
参考:https://customers.microsoft.com/en-us/story/1348169400682329017-nhs-foundation-trust-health-provider-m365、https://customers.microsoft.com/en-us/story/1351115614634143059-flanders-government-of-belgium-government-azure-active-directory
まとめ
本記事で紹介したDIDは現在の認証システムをアップデートする可能性を秘めています。マイクロソフトは数年来、DIDに関する開発を進めておりAzure Active Directory Verifiable Credentialsという形でサービス化を行いました(パブリックプレビュー版である点は留意が必要)。
まだ新しい概念およびサービスではありますが、国内では慶應義塾大学が導入を進めており、今後の取引には要注目です。
なお、本記事で紹介したAzure AD Verifiable Credentialsでも使われている分散台帳ネットワークIONについては、以下の記事で紹介していますので、興味のある方はこちらもぜひご覧ください。
▼IONについてはこちら
ION(アイオン)とは?Microsoftを中心に開発される分散型IDツールを紹介