2要素認証、2段階認証、1Password

2要素認証、2段階認証、1Password

「LastPassがデータ侵害に関する詳細情報を公開」(2023年3月3日)で、2要素認証(2FA)コードをAuthyから1Passwordに移行することを決めた経緯と、そのプロセスがいかに面倒で時間のかかるものだったかについてお話ししました。しかし、移行する手間をかける価値はありました。1Passwordで時間ベースのワンタイムパスワード(TOTP)コードを自動入力する方が、Authyを開いて入力箇所を探し、生成されたコードをコピーしてブラウザに貼り付けるよりもはるかに簡単です。

セキュリティ対策を一元管理するのは好きではありません。1PasswordにアカウントのパスワードとTOTPコードという2種類の秘密情報が保存されていることに、少し不安を感じています。1Passwordの設定と1Passwordの整合性とセキュリティにはある程度自信を持っていますが、もし誰かが私の1Passwordアカウントを乗っ取った場合、2要素認証では最も重要なアカウントへのアクセスを制限できないという事実は変わりません。1PasswordでTOTPコードを生成することは、果たして2要素認証と言えるのでしょうか?1PasswordのMegan Barkerによる最近のブログ記事のおかげで、それが2要素認証の定義を満たしていないことがわかりました。

Barker 氏の投稿とは少し異なりますが (彼女の「検証」は認証の別の例です)、アカウントの作成とログインには 2 つの側面があります。

  1. アイデンティティ:最初の質問は「あなたは誰ですか?」です。そしてその答えは識別子です。識別子は通常、メールアドレスで、ユーザー名と組み合わせられることが多いです。現実世界では、識別子は運転免許証やパスポートなどです。同じシステム内であっても、複数のアイデンティティを持つことができます。
  2. 認証:自分が本人であることを証明するにはどうすればよいでしょうか。これが認証の役割であり、サービスと共有されている秘密を入力することで本人確認を行うプロセスです。具体的に何をするかはさまざまです。アカウントを設定する場合、認証では多くの場合、指定したアドレスに送られてきたメール内のリンクをクリックします。初期設定後、共有秘密はパスワードであることが最も一般的ですが、Slack などのアプリが提供するマジックリンクである場合もあります。リスクベースの認証では、Apple デバイスが信頼済みセット内の他のデバイスにパスコードやパスワードを要求することがあるように、さらに情報を求められる場合があります。高額アカウントの場合、認証には政府発行の ID の提示が必要になることがあり、場合によってはオンライン ビデオによる本人確認が必要になることさえあります。

パスワードは推測されたり盗まれたりする可能性があるため、多くのサイトではセキュリティ強化のため多要素認証を導入しています。オンライン認証には、一般的に以下の3つの要素があります。

  • パスワードやPINなど、あなたが知っているもの
  • iPhone、Apple Watch、ハードウェアセキュリティキーなど、あなたが持っているもの
  • あなたが何か、一般的には顔や指紋の生体認証

多要素認証には、少なくとも2つの要素が必要です。(3要素認証はやり過ぎに思えるかもしれませんが、より高いセキュリティを実現できるため、一部の専門分野や政府機関では必須となっています。)ここで注意すべき点は、各要素が有効であるためには、それぞれが独立して明確に区別されている必要があるということです。正しく実装されていれば(Appleは正しく実装しています)、生体認証は常に独立して明確に区別されます。

生体認証を必要としないとなると、話はそう単純ではありません。1Password を使ってユーザー名とパスワードを自動入力すれば認証要素は一つになりますが、同じデバイスで 1Password を使って TOTP コードを自動入力する場合、TOTP コードは独立した別の要素とはならず、真の第二要素にはなりません。これは二段階認証(2SV) と呼ばれるものです。この用語を覚えている方は、2014 年に起きた iCloud の個人情報流出事件を受けて、Apple が iCloud がハッキングされていないにもかかわらず (侵入はおそらく ID ベースのパスワード推測によるもの)、早期に二段階認証システムを導入したことがきっかけです。

2段階認証は、アカウントへのログインを試みようとする者にとってハードルを高く設定するため、通常のパスワードベースの認証に比べて大幅に改善されています。しかし、TOTPコードが同じデバイスで同じ経路で配信される限り(つまり、パスワードとTOTPの両方で1Passwordのロック解除に同じ方法を使用する限り)、それは2要素認証とは言えません。パスワード、Touch ID、Face IDを使ってロック解除するデバイスで、TOTPコードが1Password、Authy、またはその他の認証アプリから配信される場合は、これに該当します。ただし、Macでログインし、iPhoneのAuthyでTOTPコードを検索する場合は、真の2要素認証と言えるでしょう。

1Password が動作するプラットフォームの多さを考えると、真の2要素認証を実装できるように思えます。細かい点は確かにありますが、基本的なレベルでは、TOTP コードのリクエストごとに、ユーザーの別のデバイスにプッシュ通知が送信され、ログインを続行する前にその通知を承認する必要があります。Mac でログインしようとすると、iPhone と Apple Watch に確認を求めるプッシュ通知が届きます。iPhone からログインすると、Mac と Apple Watch に通知が届きます。

Appleのウェブサイトへのログインにおける2要素認証のアプローチが、2要素認証に該当するのか、それとも実際には2段階認証の一種なのか、私にはよく分かりません。例えば、iCloud.comにログインする際、Appleはまずログインを続行するかどうかを尋ねるダイアログを表示します。これに同意すると、TOTPコードが提供されます。下のスクリーンショットでわかるように、これらはすべて同じデバイス上で行われるため、真の2要素認証とは言えません。(さらに問題なのは、Appleが信頼できる電話番号へのSMSテキストメッセージで認証を代替できるようにしている点です。SMSは物理的なアクセスがなくても不正に侵入される可能性があります。)

iCloud.com の Apple 2 要素認証

Appleの回答は、Macを信頼できるデバイスとして指定し、ログイン済みだということです。デバイスを所有しておりロック解除も可能なので、TOTPコードを提供しても安全です。(もちろん、信頼できるデバイスをデバイスリストに追加することで表示される2要素認証のプロンプトは、Appleのウェブサイトにログインした場合とは異なり、他のデバイスにのみ表示されます。)

Appleの回答が本当かどうかは分かりません。もし誰かが私のMacを盗んでログインパスワードを推測したとしても、今年初めに私たちが書いたiPhoneのパスコード盗難のシナリオ(2023年2月26日の記事「iPhoneのパスコードが盗まれた泥棒があなたのデジタルライフを台無しにする方法」と2023年4月20日の記事「パスコードが盗まれた泥棒がiCloudアカウントから永久にロックアウトする方法」を参照)と同じように、2要素認証のプロンプトを受け入れる可能性があります。もしかしたら、これは1.5要素認証に近いのかもしれません。パスワードほど弱くはありませんが、別のデバイスで生成されるTOTPコードほど強力ではありません。

技術的な問題はさておき、2段階認証はセキュリティを大幅に強化します。1Passwordユーザーは、可能な限り2段階認証を有効にして、自動入力できるようにすることで、使いやすさを向上させましょう。さらに高いレベルのセキュリティが必要な場合は、Appleが真の2要素認証を実現するハードウェアセキュリティキーをサポートするようになりました。詳細は「Apple、ハードウェアセキュリティキーをサポートするiOS 16.3、iPadOS 16.3、macOS 13.2 Venturaをリリース」(2023年1月23日)をご覧ください。しかし、大多数のユーザーにとって、このようなハードウェアキーは過剰です。

Idfte
Contributing writer at Idfte. Passionate about sharing knowledge and keeping readers informed.