『INTERNET IDENTITY』は『Internet Computer(ICP)』上のアプリにアクセスする際に必要となる認証システムです。ログイン認証の仕組みが特殊なので、デバイスによっては認証プロセスが進まない、よく分からないという方もいるようです。
この記事では、新規サインアップの手順に加え、デバイスやブラウザによる認証プロセスの違いについても解説します。デスクトップで認証が上手くいかない方もぜひ読んでみて下さい。
INTERNET IDENTITY とは
Internet Computer(ICP)で実行されているアプリケーションにアクセスするのに、最も一般的に使用される方法の1つが、インターネットIDを使用する方法です。
INTERNET IDENTITY (https://identity.ic0.app/) は、Internet Computerでサポートされているブロックチェーン認証フレームワークです。
以下のページからもアクセスできます。
https://dfinity.org/showcase/
使用するには、PCの指紋センサー、スマホのFace ID、『YubiKey』などの暗号化デバイスを割り当てるID『Anchor (アンカー)』を作成することから開始します。
一般的な認証方法とは異なり、ユーザーはパスワードを設定・管理したり、個人識別情報をアプリケーション側や、INTERNET IDENTITYに提供する必要がないのが特徴です。
新規ID作成の手順
『INTERNET IDENTITY』の新規サインアップの手順を順番に見ていきましょう。
※Mac環境での解説になります、ご了承ください 🙏🏻
まず、INTERNET IDENTITY (https://identity.ic0.app/) のページにアクセスします。
新規で作成する場合は『New? Create an Internet Identity …』をクリックします。次の画面で『デバイス名』を設定して『Create』を押します。
『New? Create an Internet … 』をクリック
デバイス名を設定
認証用デバイスの選択 (重要)
『INTERNET IDENTITY』では、パスワードを設定しない代わりに、認証用に割り当てられたスマホやセキュリティデバイスで認証する仕組みになっています。
デバイスやブラウザによって流れが異なるので、ご自身の利用環境に照らし合わせて確認してみてください。
① Touch IDあり – Chrome
まず、Touch IDを搭載したMacで、ブラウザが『Chrome』の場合です。
前の画面で『デバイス名』を設定して『Create』を押すと、以下の認証の画面になり以下の3つの選択肢が表示されます。
『新しいAndroidスマートフォンを追加』を選択すると、Android読み取り用のQRコードが表示されます。QRを読み取ったAndroidデバイスが認証用デバイスになります。
2つ目の『USB セキュリティキー』を選択した場合は、以下の画面になるので、セキュリティキーを挿入してタップすれば認証されます。
補足:ちなみに『USBセキュリティキー』とは、以下のようなデバイスのことです。
こちらのYubiKeyという製品が有名ですが、PCに挿したりスマホにかざして認証するデバイスです。
簡単でありながら、高いセキュリティが保証されます。
3つ目の『このデバイス』を選択した場合は、外部デバイスに依存することなく、Mac本体のTouch IDかパスワードで認証できます。
② Touch IDあり – Safari
Touch IDを搭載したMacで、ブラウザが『Safari』の場合です。
『Touch IDで許可しますか?』と表示されます。ここはMac本体のTouch IDに触れれば認証され、次に進むことができますが『Other Options』も見てみます。
『Other Options』を押すと、以下の3つの選択肢が表示されます。
1つ目の『iCloud Keychain』は、Mac本体のTouch IDでの認証です。
2つ目の『iPhone, iPad, or Android…』を選択して『Continue』を押すと、
以下のようにQRコードが表示されるので、モバイルデバイスのカメラで読み取ります。読み取ったデバイスが認証用デバイスになります。
3つ目『Security Key』を選択して『Continue』を押すと、
『セキュリティキーを挿入してアクティベートして下さい』と表示されます。この場合、セキュリティキーを挿入してタップすれば認証されます。
③ Touch IDなし – Chrome
Touch ID非搭載のMacで『Chrome』の場合。
選択肢が以下の2つになりました。『Androidスマホ認証』か『USBセキュリティキー』です。
Touch IDなし – Safari
Touch ID非搭載のMacで、ブラウザが『Safari』の場合。
なんと、この場合は『セキュリティキー』以外の選択肢が表示されませんでした。
Touch IDなしで、ブラウザ『Safari』の場合は『USBセキュリティキー』が必須のようです。
認証方法を整理すると
あくまで、Mac環境のみの確認ですが、情報を整理すると以下のようになります。
(今後の、ブラウザやOSのアップデート等で変わる可能性があります)
□ Touch IDあり
Chrome
・Androidにパスキー追加
・USBセキュリティキー
・このデバイス (Touch ID, パスワード)
Safari
・iCloud Key Chain (Touch ID)
・iOS or Android にパスキー追加
・USBセキュリティキー
□ Touch IDなし
Chrome
・Androidにパスキー追加
・USBセキュリティキー
Safari
・USBセキュリティキー
上記を見ていただくと、どの環境でも通用するのは、唯一『USBセキュリティキー』だということが分かりますね。
最も安全なのは、どの方法なのか考える
『USBセキュリティキー』以外ですと『Mac本体のTouch ID, パスワード』か『スマホ認証』になります。(※Windowsの場合は『Windows Hello』というログイン認証システムがあるようです)
□ Mac本体のTouch ID
現在、Macbook (Air/Pro) の最新機種であれば、どちらもTouch ID搭載のようです。デスクトップ型の場合も、最新のMagic KeyboardであればTouch IDを搭載してます。
しかし、最新機種を使用する方ばかりではありません。Touch ID非搭載の使用環境の方もまだ多いはずです。
この場合は、Androidスマホユーザーの方以外は、認証に『USBセキュリティキー』が必須になるようです。
□ スマホで認証
スマホを『INTERNET IDENTITY』の認証用デバイスとして使用するのは手軽かもしれませんが、以下の懸念点が挙げられます。
- 落下による故障 → 認証できない
- 水没による故障 → 認証できない
- スマホ盗難/紛失 → 認証できない
- バッテリー切れ → 認証できない
さらに言うと、スマホ機種変更の際に、新しいスマホを『認証デバイス』として再設定する必要があるとすれば、それも面倒ですし、再設定を失敗してしばらく認証できなくなる、などのリスクも想定できます。
□ USBセキュリティキー
『USBセキュリティキー』には『YubiKey』の使用が推奨されてます。ハードウエアウォレットの『Ledger Nano』でも認証できるようですが『YubiKey』のほうが圧倒的に簡単です。
YubiKey 5C NFC
『YubiKey』であれば、
- 極めて故障しにくい耐衝撃性能
- 多少の水濡れや水没では故障しない
- 電源不要
- ネットワーク接続不要
といった具合で、スマホ認証のデメリットを大きくカバーしています。(もちろん紛失/盗難には気を付けないといけません。)
Apple IDやiCloudがハッキングされると危険
少し話はそれますが、先日、暗号ウォレットMetaMask (メタマスク) のTwitterアカウントで、以下のような注意喚起がありました。
🔒 If you have enabled iCloud backup for app data, this will include your password-encrypted MetaMask vault. If your password isn’t strong enough, and someone phishes your iCloud credentials, this can mean stolen funds. (Read on 👇) 1/3
— MetaMask 🦊💙 (@MetaMask) April 17, 2022
iCloudの『自動バックアップ機能』をオンにしていると、MetaMaskの秘密鍵を暗号化したファイルもバックアップされるそうです。万が一、iCloudがハッキングされるとMetaMaskに不正アクセスされる危険性があるとのこと。
実際にiCloudを乗っ取られ、高額NFTなど8,300万円相当の資産を失うという被害が報告されています。開発側が想定もしていなかった方法で、ハッカーの攻撃が行われたわけです。
つまり、オンライン (スマホやPC) に認証用のキー (Pass Key)を保存していると、万が一、iCloudやApple IDが乗っ取られた場合、同じような被害に合う可能性がある、ということ。
iCloudのハッキングは技術的にはそれほど難しくないそうです。2段階認証を設定していても、携帯番号やメールをハッキングされれば突破できてしまうとのこと。怖いですよね。
『YubiKey』は完全オフライン
暗号ウォレットでも同じですが、物理的にオフラインになっている『ハードウエアウォレット』の方が、セキュリティが高いですよね。『INTERNET IDENTITY』の認証キーも同じように考えることが出来ます。
もちろん、Touch IDや、スマホ認証が絶対に『危険』と言っている訳ではありません。ただ、端末がハッキングされた際のリスクと比較すると『YubiKey』の方が格段に安全であることは間違いありません。
□ YubiKeyを使う理由
- Touch ID非搭載のMacで、iPhoneユーザーの方は『YubiKey』が必要
- スマホを認証デバイスにした際のデメリットを『YubiKey』はカバーできる
- 認証キーをオンラインに置くリスクを考慮すると、完全オフラインの『YubiKey』の方が安全
□ IDを目的別に使い分ける
『INTERNET IDENTITY』のID(Anchor) は複数つくることができるので、用途によって使い分けても良いかもしれません。
たとえば『SNS系』や『ゲーム』のアプリなどにアクセスするIDは、Touch IDかスマホ認証にして、『DiFi』など取引や決済が発生するアプリ用 IDには、より安全な『YubiKey』にするなど。
セキュリティ重視のID用としては『YubiKey』の使用をおすすめします。
『Identity Anchor』を取得する
前置きが長くなったのですが、上記の理由から、ここでは新規ID(Anchor)作成の認証デバイスとして『YubiKey』を使った方法をメインに解説します。
最初に戻ると『デバイス名』には『認証するデバイス名』を入れておく、ということになります。
『New? Create an Internet … 』をクリック
デバイス名を設定
ここでは『YubiKey』を認証デバイスに使用するので、デバイス名は『YubiKey 5C NFC』としています。
認証デバイスのオプションから『USB セキュリティキー』を選択します。
『セキュリティキーを挿入し、タップしてください』と表示されます。
『YubiKey』を挿入してタップするだけで認証されます。
つぎに、文字認証の画面になるので、表示された文字を入力して『Confirm』。再度『YubiKey』をタップして進みます。
文字認証
再度『YubiKey』で認証
『Identity Anchor』という7桁の数字が表示されるので控えておきます。『Continue』を押して、つぎの画面で『リカバリー手段』を選択します。まずは、シードフレーズを選択して進めます。
7桁のIdentity Anchorを控えておく
リカバリー手段の選択
『Identity Anchor』という7桁の数字は、ほかのデバイスでログインする時にも使うので、忘れずに控えておきましょう。
シードフレーズを控える
25個の『シードフレーズ』が表示されるので控えておきます。『Copy』→『Continue』と押して進みます。
『Copy』
『Continue』
以下の『Anchor Management』の画面が表示されれば、まずは『認証デバイス』と『リカバリーフレーズ』の登録がが完了です。
新規作成したID (Anchor) に対して、ますは以下の内容が割り当てられてました。
追加デバイス:YubiKey 5C NFC
リカバリー手段:Recovery phrase
『YubiKey』でもリカバリー設定する
シードフレーズを取得する方法を先に説明しましたが、リカバリー手段として『YubiKey』を設定することも出来ます。
リカバリー手段を追加するには『ADD RECOVERY MECHANISM』を押して、次の画面で『Security Key』を選択します。
『ADD RECOVERY MECHANISM』を押す
ここで『YubiKey』を挿して認証登録するわけですが、このとき、最初にID(Anchor)の認証に使った『YubiKey』とは、別の『YubiKey』を使用します。
同じものを挿しても、以下のように『登録済みです』と表示されてしまいます。
『このセキュリティキーは登録済みです』
つまりID(Anchor)の認証用と、リカバリー用の2つの『YubiKey』が必要ということですね。
『2個必要なのか』と思われたかもしれませんが、『YubiKey』を販売する『Yubico社』の方でも、基本『メインキー』と『スペアキー』といった感じで、通常、2組セットで購入することを推奨しています。(※リアルな鍵もスペアを作っておきますよね。それと同じです)
リカバリー手段に『YubiKey』が追加されると、以下のような表示になります。
『Identity Anchor』を復元することになった場合、25個の単語を確認する『リカバリーフレーズ』よりも『YobiKey』の方が圧倒的に早くて簡単です。
IDをリカバリー(復元)する手順
デバイスを紛失や破損など、何かしらの原因でアカウントにアクセス出来なくなった場合、アカウントを復元する必要があります。
復元(リカバリー)するには、『Lost access and want to recover?』を押します。
リカバリーフレーズで復元
25個の英単語による『シードフレーズ』で復元する手順から見ていきましょう。
まず、7桁の『ID Anchor』を入力します。次の画面で『Recovery phrase』を選択。
7桁の『ID Anchor』を入力
『Recovery phrase』を選択
空欄に25個の『シードフレーズ』を入力していきます。
単語の選択肢から順番通りに並べていく、のではなく、文字を実際にフルで入力しないといけません。『シードフレーズ』を紙に控える方も多いと思いますが、25単語を手打ちするのは、かなりダルい作業です。
『シードフレーズを入力してください』
入力を間違うとアラートが表示される
25単語をコピペしてしまえば簡単ですが、『シードフレーズ』をテキストデータで端末内やオンライン上に保管しておくのは、安全面での懸念があります。
実際にやってみて、とにかくダルかった、というのが率直な感想です 😌
『YubiKey』で復元
では『YubiKey』で復元する手順を見てみましょう。
リカバリーデバイスで、こんどは『Recovery key』を選択します。
『Recovery key』を選択
以下の画面遷移があり、、、
『USBセキュリティキー』を選択
『セキュリティキーを挿入しタップしてください』
『YubiKey』を挿入してタップ。これだけで『復元』が完了しました。『YubiKey』凄いです 🤩
高度なセキュリティに加えて、この『圧倒的に効率的』なところが、世界のIT企業トップ9社が『YubiKey』導入している理由かなと思います。
私も実際に使ってみて実感しました。『YubiKey』はPCのログインや、普段使うツールやアプリの多くにも対応しています。2段階認証アプリをいちいち開く時間を削減できるので、すこしずつ切り替えていこうと思います。
他のデバイスを追加する手順
最後に、認証デバイスを追加する『+ADD NEW DEVICE』について補足的に説明します。
基本『YubiKey』を認証デバイスに登録すれば、MacもiPhoneも(Windowsも Androidも)1つの『YubiKey』だけでログインできます。USB端子に挿すか、スマホのNFCにタップするかのどちらかです。シンプルで簡単ですね。
USB端子もNFCも搭載しない端末の場合
しかし、USB端子もNFCも搭載しないiPadなどの製品は、USBタイプの『YubiKey』だと使用できません。
上記のような Lightning端子用の『YubiKey 5Ci』という製品もありますが、こちらはNFC機能を搭載してませんし、iPad用にわざわざ購入するのもどうかな、という感じです。
なので、
①設定済みの認証デバイスとは別の認証方法を追加したい
②YubiKey以外の認証方法で別の端末にもログインしたい
などの場合に『+ADD NEW DEVICE』を使います。
①設定済みの認証デバイスとは別の認証方法を追加したい
『+ADD NEW DEVICE』を押すと、以下の画面が表示されます。
『Local Device』は今ログイン中のデバイスに、別の認証方法を追加したい場合に選択します。次の画面でオプションから、追加したい認証方法を選べばOKです。
『Local Device』
別の認証方法を選択する
②YubiKey以外の方法で別の端末にもログインしたい
『Remote Device』を選択すると、『デバイス登録モード』になり、次の画面で登録の手順が表示されます。登録は15分以内に完了する必要があります。
- 新しいデバイスでidentity.ic0.appを開く
- Already have an anchor But …を選択
- ログインしたい ID Anchorを入力
- 新しいデバイスに名前をつける
追加するデバイス側(例:iPad)
追加するデバイスの方に行き『INTERNET IDENTITY』の画面を開いて、
『Already have an anchor But …』をタップします。
次の画面で、7桁のIdentity Anchor (取得済みのもの) を入力して『Continue』。
『Already have an anchor But …』をタップ
7桁のIdentity Anchorを入力
ここでTouch ID、Face ID等の認証を要求されるので、認証して次に進みます。
デバイス名を入力して『Continue』すると、次の画面で、6桁の『デバイス認証コード』が表示されます。これをコピーします。
デバイス名を入力
6桁のデバイス認証コードが表示される
認証済みデバイスの画面に戻る
元の認証済みデバイスの画面に戻ってみると、以下のように認証コードを入力する欄が表示されているので、コピーした6桁のコードを貼り付けて『Verify Device』を押します。
6桁のコードを入力して『Verify Device』
iPadが認証デバイスとして追加された
『Management』の画面に戻り『iPad Chrome』が追加されていれば完了です。
追加したデバイスでログイン
追加デバイスとして設定したiPadの画面に戻ってみます。
以下のように『Welcome back!』という表示に変わっているので『Authenticate』をタップすればログインできます。
認証デバイス追加の手順は、使用しているデバイスや、ブラウザの種類によって、画面遷移がだいぶ変わってくると思います。たとえば、
- 先にデスクトップでIDを作成 → あとからスマホを追加
- 先にスマホでIDを作成 → あとからデスクトップを追加
この順番の違いだけでも、いろいろと手順や選択肢が異なってくると思います。それに比べて『YubiKey』の場合、1つで、ほぼすべてのデバイスを認証できるのでかなり便利です。
まとめ
ちょっと全体が長くなったので、最後に簡単にまとめます。
- INTERNET IDENTITYには複数の認証方法がある
- スマホ認証、生体認証、YubiKeyの3種類
- 認証キーを端末内やオンラインに置くことは一定のリスクがある
- YubiKeyは完全オフラインなので、一番安全性が高いと言える
- 使い方が簡単、運用上で1番効率的で無駄がないのもYubiKey
- 普段使っているツールやアプリの2段階認証もYubiKeyに置き換えることが可能
というわけで、いろいろ検証した結果『YubiKey』はアリです。実際に使ってみて、これは確実におすすめ出来ると感じました。
ブロックチェーン上のアプリにログインするIDは、可能な限り安全にしておく方が良いわけです。詐欺やハッキングが多いですよね。すべて自分で守るしかありません。
INTERNET IDENTITYのID (Anchor) 作成の手順を『YubiKey』を認証デバイスとして使用する方法をメインに解説させていただきました。皆さんもぜひ使ってみてください。
コメント