HiÐΞClassic

[Dfinity] Internet Identityの使い方と仕組み

hoko𝕊ugi
4 years ago
概要

Internet Identityは、Internet Computerのブロックチェーン上に実装されたcanisterスマートコントラクトです。Internet Computer上のdAppsにアクセスする際に、安全かつ匿名での認証をWebAuthn認証方式で可能にします。認証するためには、Identity Anchorを指定する必要があります。 yubi key等のセキュリティキーや指紋、顔などの複数の生体認証方法を 1 つのIdentity Anchorに追加することができ、いくつでも作成することが出来ます。

使い方

NNSdistriktOpenChatなどのInternet ComputerのdAppsにアクセスするとサインアップを促されて、以下のようなページにリダイレクトされます。直接ならこちら

top

  1. Create am Internet Identity Anchor をクリック(赤枠1)
  2. Create a new Internet Identity Anchorのdevice name に登録したいデバイス方式名を記入してCreate
  3. identity.ic0.appで本人確認のポップアップにデバイスを指定&登録
  4. Comfirm new device で comfirm
  5. 続いて Recovery Mechanismseed phrasesecurity keyどちらかを選択
  6. seed phraseの場合は必ずオフラインで安全な場所に保管して確認

以上で、Identity Anchorは作成されます。既存のAnchorに新規のデバイスを追加する場合は上記の画像の赤枠2から入れば出来ます。

Windowsの場合

account>>sign-in optionsにある Windows Hello方式のデバイスが利用できます。

仕組み

既存のWebアプリでは二段階認証で利用されることの多いWebAuthnですが、Internet IndentityではWebAuthnのみの認証することが出来るようになりました。通常、ユーザー名やメールアドレス等のデータベースの登録情報にchallengeと呼ばれるランダムな文字列を生成、セキュリティーキーなどの認証器にレスポンスを返す必要性から二段階認証に向いているとされていましたが、Internet Identityはそれぞれ認証を受けるdAppsへユーザーIDを自動生成することで解決させました。

challengeとは生体認証の署名の正当性を検証するためにサーバに生成される類推を許さないランダムな文字列で、生体認証のデジタル署名を公開鍵で検証するときに必要になります。詳しくはこちらのサイトWebAuthnことはじめ

また個々のdAppsのフロントエンドに異なるID付与し、他のフロントと関連性を持たないことで他のサービスを追跡することが困難で、ユーザー側からIDを付与することでユーザーのプライベートなwebでの行動露出が大幅に低減されます。

慣れない技術でわかっていないことも多く、間違えている可能性が大いにあります。もしありましたらお教え下さい。

参考

https://medium.com/dfinity/web-authentication-and-identity-on-the-internet-computer-a9bd5754c547

https://engineering.mercari.com/blog/entry/2019-06-04-120000/

https://sdk.dfinity.org/docs/ic-identity-guide/what-is-ic-identity.html


コメント
いいね
投げ銭
最新順
人気順
hoko𝕊ugi
4 years ago
コメント
いいね
投げ銭
最新順
人気順
トピック
アプリ

Astar Network

DFINITY / ICP

NFT

DAO

DeFi

L2

メタバース

BCG

仮想通貨 / クリプト

ブロックチェーン別

プロジェクト

目次
Tweet
ログイン