Internet Identity とは?
Internet Identity は、Internet Computer がサポートする匿名のブロックチェーン認証フレームワークです。 認証するためには、Identity Anchor を指定する必要があります。 ユーザーは ID の "アンカー" を作成し、ノート PC の指紋センサー、携帯電話の フェイス ID システム、YubiKey や Ledger ウォレットなどのポータブル HSM など、互換性のある暗号化デバイスを割り当てることができます。 その後、Internet Computer 上で動作する任意の Dapp に登録し、アンカーに割り当てられた任意のデバイスを使って認証することができます。これにより、ユーザーは最高レベルの暗号セキュリティの恩恵を受けながらも、自分自身で暗号鍵を直接管理する必要がなく、ミスや秘密鍵の盗難を防ぐことができ、非常に少ない労力で Dapps を認証することができるという高い利便性を実現しています。 このシステムは Dapp に対して匿名化されており、アンカーが Dapp とのやり取りに使われるたびに、Dapp は特別に生成された 偽名 を見ることになり、ユーザーが使用する様々な Dapp 間で追跡されることを防ぎます。また、Identity Anchor は好きなだけいくつでも作成することができます。
一般的な認証方法とは異なり、Internet Identity では、自分でパスワードを設定・管理したり、個人識別情報を Dapps や Internet Identity に提供する必要はありません。
Internet Identity の仕組み
Internet Identity は、最新の Web ブラウザや OS でサポートされている Web 認証 (WebAuthn) API と、Internet Computer を支えるチェーンキー暗号のフレームワークをベースに構築されています。基本的に、Internet Computer はマスターチェーンキーを使用して、各アンカーに割り当てられたデバイス内の公開キーのリストに署名します。このマスターチェーンキーは、ウェブブラウザで実行されるクライアントサイドのコードなどで認識されます。
Internet Identity を組み込んだ Dapps では、Identity Anchor を使用して認証を行うよう促されます。 まだ Identity Anchor を持っていない場合は、簡単に作成して認証方法を追加することができます。 詳細については、Internet Identity の使い方を参照してください。 追加したデバイスごとに、暗号鍵のペア(秘密鍵と公開鍵)が生成されます。 公開鍵は Internet Computer のブロックチェーンに保存され、秘密鍵は認証デバイスの中にアクセスを管理する生体認証データとともに保管されます。 Identity Anchorに複数の認証方法を追加すると、すべてのデバイスで Dapps にアクセスできるようになります。
認証に Internet Identity を使用する Dapp にアクセスする際には、まず使用する Identity Anchor を指定します。 設定されたデバイスを使って Identity Anchor を使用して認証すると、ブラウザは Internet Identity に接続し、その Dapp で使用するキーを生成します。 最後に、その Dapp へのアクセスを承認するように画面上で求められます。
ブラウザは認証をダウンロードしてから、Dapp にリダイレクトします。 Dapp は Internet Identity からの認証を確認し、アプリケーション固有の匿名 ID としてアクセスを許可します。これを偽名と呼びます。 内部的には、あなたは各 Dapp に対して異なる偽名を持っていますが、単一の Dapp に対する偽名はすべてのデバイスで同じです。 すべてのデバイスは、Identity Anchor の認証に使用できるさまざまな方法だけをあなたに示します。
Internet Identity の使い方
Identity Anchor の作成と使用方法を順を追って学ぶためには、Internet Identity の使い方をご覧ください。 また、Identity Anchors のリカバリーに関する設定方法についても説明しています。