検証可能な証明書(クレデンシャル)とは?
検証可能なクレデンシャルは、人や組織、物を識別するために分散型識別子を利用することによって、セキュリティとプライバシー保護を実現します。また、検証可能な証明書とは、人間ではなくコンピュータが理解できるように発行され、暗号署名された文書です。
はじめに
今日、ほとんどの人は、市民権の確認、自動車の運転能力、スポーツジムの会員資格など、さまざまな形態のIDを使用しています。これらのトークンは、多くの場合プラスチックカードの形をしています。このカードは、携帯電話のアプリで集めることも可能です。しかし、これには大きな欠点があり、カードの有効期限は発行体に依存することが多く、他の目的や場所では使えません。さらに、有効性は一方的なもので、発行者はいつでもトークンを取り消すことができ、あなたはこれらの認証情報を直接管理する事はできないことから基本的には全て外部依存のものとなっています。
しかし、次のことを考えてみてください。財布の中にプラスチック製のカードを入れていて、それはほとんどが特定の状況や場所でしか使えません。しかしデジタル・クレデンシャルを持てば、ID、生体情報、大学の学位証書、クラブの会員証などの共通の役割を果たすことができるのです。
今日、私たちはしばしば電子メールアドレスを統一された認証情報のようなものとして使用していますが、これらは恣意的で簡単に破られてしまいます。幸いなことに、ブロックチェーンのおかげで、はるかに優れた代替手段が登場しています。
現在、分散型金融(DeFi)に対する規制が行われており、確立されたDeFiプラットフォームの全てのユーザーは、近いうちに本人確認が必要になるのは必然でしょう。これを実現するには、Verifiable Credentials(VC)という形で、「複数の用途に使える仮想IDカード」を発行する必要があります。
検証可能なクレデンシャル
検証可能なクレデンシャル(VC)とは、通常のプラスチック製の身分証明書、書類、卒業証書などをデジタル化したもので、特定の発行体から発行されます。大学の卒業証書や学生証は、大学が発行体となり、大学とあなたの間に検証可能なリンクを作るVCの一例です。VCの各インスタンスは、オフチェーンでユーザーのデバイスやクラウドに保存されますが、常にその管理下にあります。
VCには、名前や住所などの標準的なユーザー情報のほか、分散型識別子(DID)が含まれています。DIDの目的は、現実世界のアイデンティティをユーザーの公開アドレス、その公開鍵に結びつけることであり、あらゆるブロックチェーン上で検証可能です。DIDは、以下のような新しいグローバルにユニークな識別子のフォーマットです:
- 高可用性を備えた解決可能な形式
- 暗号的に検証可能
- 公開鍵やサービスエンドポイントなどの暗号物質と関連付けられている
ユーザーは自分のVCを自分の秘密鍵で署名します。この署名プロセスにより、関連する鍵ペアの所有者のみがVCを使用できることが宣言されます。
同じ鍵はブロックチェーンに保存されており、リクエストがあれば、分散型識別子文書(DID文書)の形で引き渡されます。DID文書とは、ブロックチェーン企業が検証を依頼する企業に引き渡す小さなJSONファイルのことです。そうすることで、検証する側はブロックチェーンに直接触れることはありません。
あなたが誰かにVCを提示して検証を依頼すると、検証を行いたい端末は、ユーザーの公開鍵情報をブロックチェーン上に保存する役割を持つ企業にリクエストを出します。そして、その会社は要求された情報をDID文書の形で提供し、解決されたVCの公開アドレスと、関連する公開鍵が比較されます。
LTO Networkのブロックチェーン上では、IdentityノードがDIDドキュメントの形で情報を提供するプロセスを処理しています。アイデンティティ・ノードは、LTO NetworkのDIDに関する情報をDID文書の形で提供する。DID文書には、アドレス所有者の署名を検証するために必要な公開鍵が含まれています。任意のVC上のDID部分の一部であるブロックチェーンアドレスは、ハッシュ関数を用いて公開鍵から生成されます。ハッシュ化は一方通行の関数であり、アドレスから公開鍵を抽出することはできません。このようにして、ユーザーのプライバシーを尊重しつつ、アイデンティティを検証することができるのです。
VCサマライズ
VCとしての前提条件:
- デジタル形式であること
- 分散型台帳との通信が可能であること
- ウォレットに保存されている所有者の財産であること
- ユーザーの公開アドレスと、ブロックチェーンに保存されているユーザーの公開鍵をペアにしたDIDデータ文字列を含むこと
- ユーザーIDや卒業証書など様々なものを表すものであること
現在の課題
しかし現状では、普遍的に受け入れられるデジタルカードやクレデンシャルを発行する標準的な仕組みがありません。そのため、企業や組織、機関から独立した個人が所有できる、分散型の識別子を持つ検証可能なクレデンシャルが必要となります。
最近では、ウェブサイトやアプリにアクセスするための識別子として、メールアドレスや電話番号を使用していますが、これらの識別子や個人情報へのアクセスは、サービスプロバイダーの意のままになっており、プロバイダーはいつでもそれらを取り消すことができます。第二に、組織の境界を越えてデジタル認証情報を表現、交換、検証するための普遍的に受け入れられる基準がありません。
このような状況は近い将来に変化し、LTOネットワークはその役割を果たすことになるでしょう。
従来のプラスチック製の識別子に対するVCの利点
識別子の大部分は、我々が管理できるものではありません。これらは、誰が、何を識別するのか、いつ失効させるのかを決定する外部機関によって発行されます。特定の文脈でのみ有効で、特定の機関によってのみ認識されますが、私たちが選ぶことはできません。組織の破綻により消滅したり、有効でなくなったりする可能性があります。個人情報を不必要に開示する可能性があります。多くの場合、悪意のある第三者によって不正に複製され、主張される可能性があり、これは一般的に「IDセフト」として知られています。
分散型識別子の生成およびアサートはエンティティによって制御されるため、各エンティ ティは、アイデンティティ、ペルソナ、およびインタラクションの望ましい分離を維持するのに必要な数の DID を持つことができます。これらの識別子の使用は、さまざまな状況に応じて適切に設定できます。これらの識別子は、他の人々、機関、システムとの相互作用をサポートし、エンティティが自分自身や自分がコントロールするものを識別する必要があります。
例を用いたユーザ指向の説明
検証可能な認証情報や分散型識別子などの新たな標準規格に基づいたデジタル・アイデンティティの新しい形は、そのようなデジタル・クレデンシャルがあらゆる場所で機能することを可能にし、それはDeFiにおいても意味し、ユーザーのプライバシーを尊重しつつ、より信頼性の高いものとなります。
全ては所有者がクレデンシャルを所有・管理できるようにする新しいデジタル・ウォレットから始まります。このウォレットは、携帯電話のアプリケーションで表現できます。このウォレットは特定の組織に縛られていないため、権威あるソースが自信を持って標準ベースのクレデンシャルをユーザーに発行することができます。ユーザーがこれらの認証情報を提示すると、Webサイト、アプリ、dAppsは、例えば、ユーザーが顧客として登録・認証されている銀行との間で、その認証情報が有効であるかどうかを確認し、それに応じてアクセスを許可します。
このプロセスは簡単かもしれませんが、それが信頼できるものであることをどうやって知ることができるでしょうか?
それは、実績のある暗号システムを利用したDIDのおかげです。DIDは、実世界のIDと関連する公開アドレスを結びつけ、公開鍵に関する情報を保持します。なお、DIDには個人情報は一切含まれていません。
その後、ユーザは他の銀行とのコミュニケーションや不動産屋での使用など、あらゆる業者にデジタル検証可能クレデンシャルを提示することができる。クレデンシャルは、ユーザの身元、特定の銀行との関連、および不動産購入に使用可能な 銀行に保管されている金銭の請求権を証明することになります。
同様に、学生は、学生に20%の割引を提供する書店で、デジタル学生証、検証可能なクレデンシャルを提示することができます。書店では、この学生に割引を適用する前に、大学がこの学生にカードを発行した証拠を分散型台帳で確認し、カードがまだ有効であるかどうかを確認します。これはチャレンジ・レスポンス型の検証なので、書店は学生のアプリと通信する必要があります。この操作は、BluetoothやNFCを使って解決します。QRコードを使用する場合、携帯電話と書店のシステムを接続するために、学生のアプリは書店のQRコードをスキャンし、その後に検証可能なクレデンシャルを送信します。
このようなソリューションがあれば、物理的なカードと同じように、一連の検証可能なクレデンシャルをデジタルで提示し、認証することができます。また、物理的なカードを財布に戻したり、破り捨てたりするのと同じように、VCの所有者はクリックするだけで簡単にVCを失効させることができます。VCを無効にするプロセスは、一時的なものもあれば、永続的なものもあります。
JSONファイルとしてのVC
VCは人間やコンピュータが読める実体で、シンプルなJSONファイルとして書かれています。
以下の例では、2種類の識別子を使用しています。1つ目の識別子は検証可能な認証情報のためのもので、HTTPベースのUniform Resource Locator(URL)を使用しています。2つ目の識別子は、検証可能な資格情報の対象(クレームの対象となるもの)を表すもので、DIDを使用します。
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
{
// set the context, which establishes the special terms a user will use, such as ‘issuer’
// @context literally states what type of JSON we are dealing with — Credentials
“@context”: [
“https://www.w3.org/2018/credentials/v1",
“https://www.w3.org/2018/credentials/examples/v1"
],
// specify the identifier for the credential
“id”: “http://example.edu/credentials/3732",
“type”: [“VerifiableCredential”, “UniversityDegreeCredential”],
// the identity that issued the credential — a university of some sort
“issuer”: “https://example.edu/issuers/565049",
// when the credential was issued
“issuanceDate”: “2010–01–01T19:73:24Z”,
// claims about the subject of the credential
“credentialSubject”: {
“id”: “did:example:ebfeb1f712ebc6f1c276e12ec21”,
“degree”: {
“type”: “BachelorDegree”,
“name”: “Bachelor of Science and Arts”
}
},
“proof”: { }
}
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — -
インテグレーション
オランダのSphereonのようなサイバーセキュリティを重視したデジタルウォレットのプロバイダーは、ユーザーが自分のウォレットを作成し、対象となるソリューションに統合することができます。LTO Networkのハイブリッド・ブロックチェーンのように、パブリック・イベント・チェーンとプライベート・セトルメント・チェーンを組み合わせることで、VCやDIDのためのブロックチェーン・ソリューションを構築するための基礎ができあがります。その上に、企業や産業は、例えば階層的な信頼の連鎖や、ウェブ・オブ・トラストと呼ばれる信頼の裏付けモデルのような信頼ネットワークを構築することができます。このパズルの最後のピースは、ChainLinkのような改ざん防止ブロックチェーン・オラクルのプロバイダーで、これによってデータが更新されます。アソシエーションは、LTOネットワーク上のアカウント間の関係を指定するために使用できます。クロスチェーンDIDを持つアソシエーションを使用することで、Bitcoin、Ethereum、NEOなどの異なるブロックチェーン上のアカウント間の関係をLTO Network上で構築することができます。LTO NetworkはChainlinkと提携し、分散型オラクルネットワークを通じてスマートコントラクトでこの情報を利用できるようにしています。例えば、組織は、認定されたパートナーに属するアカウントを確立するために協会を追加することができ、この例では、認定されたパートナーは企業を認証することができます。また、Chainlinkを使用することで、これらの認定事業者のみが使用できるスマートコントラクトを作成することができるのです。
なぜブロックチェーンが良いソリューションといえるのか?
従来の電子セキュリティでは、承認、認証、アクセスコントロールに重点が置かれてきました。これらの仕組みは、許可されていないユーザーがデータにアクセスしたり変更したりしないようにするためのものです。しかし、アプリケーションやシステムレベルでの認可されたアクセスに関しては、何の保護も提供していません。ブロックチェーンは、独立した当事者が運営・管理する多数のシステムに分散することで、データの改ざん防止を可能にします。これは、ブロックチェーンのアーキテクチャによって保証されており、すべてのデータは何千ものグローバルな分散コピーを持っています。証明書を破ろうとする潜在的な攻撃者は、配布されているデータの大部分を同時に侵害しなければなりませんが、これは非常に難しく、コストもかかり、また、よく設計されたブロックチェーンではほとんど不可能です。
まとめ
検証可能なクレデンシャルはDIDに依存せず、DIDは検証可能なクレデンシャルに依存しません。ただし、検証可能なクレデンシャルの多くがDIDを使用することが予想され、この仕様を実装するソフトウェア・ライブラリはおそらくDIDを解決する必要があると思われます。DID ベースの URL は、検証可能なクレデンシャルに関連する対象者、発行者、保持者、クレデ ンシャル・ステータス・リスト、暗号鍵、およびその他の機械で読み取り可能な情報に関連する 識別子を表現するために使用されるようになるでしょう。