2段階認証とYubikeyのススメ
してますか?2段階認証(2要素認証)
パスワードの使いまわしによる乗っ取りなどがニュースになっています。
昨日も、JALのマイル乗っ取りがニュースとなっていましたが、ほかのサイトで利用していたパスワードを使いまわして乗っ取られたと推測されています。
乗っ取りを回避するために有効といわれているのが、以下の手段です
パスワードを使いまわさない(サイト毎に異なったパスワードを使用する)
2段階認証(2要素認証)を有効にする
パスワードの文字数を長くする
2段階認証(2要素認証)って何?
IDに対して、ログインするために必要な情報が2段階(2要素)あるもののことを言います。例えば、パスワード(What you know)のみであれば、1要素となります。2要素とするためには、一般的に以下のような手続きとなります。
パスワード(What you know) + SMS認証(What you have)
パスワード(What you know) + ToTP認証(What you have)
パスワード(What you know) + 生体認証(Who you are)
注意したいのは、2段階認証ではなく、2要素認証とすべきということです。パスワード(What you know) + 秘密の質問(What you know)では、同じ知識要素の認証のため、2要素認証とならず、セキュリティ強度は増えません。
生体認証(Who you are)、所持認証(What you have)といった要素が異なるものを組み合わせる必要があります。
ToTP認証(Timebased One Time Password)とは?
ToTP認証とは、現状最も導入しやすい2要素認証となります。
画像のような30秒ごとに変化するパスワードを使用し、パスワードに加えて認証する方式です。手軽に2要素認証を実現できます。
ToTP認証のセキュリティリスク
ToTP認証は適切に運用することでセキュリティリスクほぼゼロにできますが、適切に運用することが難しいケースがあります。
それが、フィッシング被害(なりすましサイト)です。
偽Webサイトが正規サイトになりすまし、PWとToTPを要求して正規サイトにログインする、いわゆる中間者攻撃(Man-In-The-Middle)には、攻撃を通してしまう問題があります。メールやSMSのURLからサイトにログインして被害にあうフィッシング攻撃には、ToTP認証では防ぐことができません。
Webサイト自体が正規のものであるかをユーザ自身が確認することは、非常に難しいものとなっています。
セキュリティキー(Yubikey)とは何か?
Yubikeyとは、FIDOアライアンスの仕様に従う2段階認証キーであり、Webサイトからはセキュリティキーと呼ばれます。USB-A もしくはUSB-Cにさして使用する、携帯電話にはNFCにかざして使用されます。
主要なWebサイトはセキュリティキーに対応しています。
セキュリティキーは中間者攻撃に強いのか?
はい、セキュリティキーによる2要素認証は、中間者攻撃に非常に強靭です。セキュリティキーによる2要素認証時登録時にWebサイト毎に個別の認証情報が発行され、認証情報とURLの検証が行われるため、URLを偽装した偽サイトがその情報を利用して再認証しようとしても、認証を突破することができません。そのためパスワード+セキュリティキーによる2要素認証は非常に頑強であるといえます。
パスキーとは違うの?
パスキーはセキュリティキーと異なり、スマートフォン等に保存される2要素認証となります。以下のようなAppleAccountであれば、パスキーのみでサインインすることができます。
パスキーのみでサインインできるなら、1要素認証じゃないの?
いいえ、そうではありません。パスキーを保存するデバイスにより、パスワードor生体認証が行われるため、2要素認証となります。
パスキーの問題点
筆者が考えるパスキーの問題点は、パスキーのデバイスを紛失した際、どのようにデバイスを復旧するのかが脆弱であると考える点です。
筆者が考えるベストプラクティス
以上より、ぜひセキュリティキーを使用してセキュリティの向上を行ってみていただければと思います。ただし、すべてのサイトをセキュリティキーで強化すると、非常に煩雑となります。
筆者は、GAFA + 1Passwordのみをセキュリティキーで保護し、それ以外のサイトは1Passwordにパスキーを保存する運用としています。現状一番安全で簡単な保存方法じゃないかと思っています。