どの2要素認証オプションが最適ですか?
一見すると、2要素認証(2FA)は、容赦なくシンプルで信じられないほど効果的なセキュリティ機能です。本質的には、2要素認証を実装することで、ユーザー名とパスワードのみを使用して攻撃者が被害者のアカウントを乗っ取ることを防ぐことができます。認証プロセス中に追加のステップがないと、アクセスが許可されません。これまでのところ、とても簡単です。ただし、ここがより複雑になります。
ほとんどの2FAシステムは、ユーザーがアカウントのロックを解除するために入力する必要がある2番目の一時パスワード(ワンタイムパスワードまたはOTPと呼ばれることが多い)に依存しています。その他の場合、ログインには、ユーザーがアカウントへのアクセスを許可されていることを証明するハードウェアデバイスまたはトークンが必要です。ハードウェアトークンまたはOTPのどちらがより良い選択肢であるかについては、多くの議論があります。どちらが最良のハードウェアトークンであるかという問題についても説明しましたが、OTPベースの2FAシステムを実装するさまざまな方法についても同じことが言えます。言い換えれば、多くの人にとって、2FAは回答したよりも多くの質問を投げかけています。
Table of Contents
OTPディスカッション
OTPは非常に堅牢な2番目の要素ですが、正しく実装する必要があります。 OTPが機能する場合、それらは一意でランダムである必要があります。ハッカーがOTPを作成するメカニズムの背後にあるアルゴリズムを理解できれば、2FAシステム全体を打ち負かすことができます。また、OTPを推測するのに十分な時間があれば、問題を回避できるかもしれません。使いやすさのために、OTPは多くの場合、比較的簡単に推測できる4桁または6桁のコードです。そのため、妥当な期間が経過した後で有効期限が切れることを確認することが重要です。もちろん、適切なレート制限により、攻撃者が力ずくで侵入するのを阻止することもできます。
OTPベースの2FAを選択したほとんどの開発者とシステム管理者がこれらのルールを遵守しており、この特定の種類の攻撃はそれほど一般的ではないと言えます。ただし、OTPの配信方法に関しては、状況はまったく異なります。
OTPをユーザーに配信する方法はいくつかあります。メール、SMS、またはスマートフォンの認証アプリを介してそれを行うことができます。これらのメディアのいくつかがどれほど安全でないかについてかなりの人々が冷静さを失っています。たとえば、かなり古く、理論的にはハッカーがOTPを傍受して2FAをバイパスできるテキストメッセージの背後にあるテクノロジーについては、これまでに説明しました。しばらくの間、電子メールは2FA OTPのような機密情報を運ぶにはあまりにも安全でないと非難されてきました。
問題の事実は、送信中にOTPが傍受されないようにする最善の方法は、まったく送信しないことです。これが、Google Authenticatorなどの2FAモバイルアプリケーションが、追加のハードウェアトークンを必要としないOTPベースの2要素認証システムの最良のオプションと見なされる理由です。ただし、これらのアプリの問題は、スマートフォンを持っていないユーザーがアプリを使用できないことです。
ハードウェアトークンはソリューションですか?
2FAアプリのアイデアは、複雑な暗号化機能を使用してOTPをその場で作成するハードウェアトークンに由来しています。 RSA SecurIDとして知られるこれらは、おおよそキーフォブのサイズであり、現在のOTPを表示する小さなモノクロLCDディスプレイを備えています。特に、潜在的なユーザーの一部がスマートフォンを持っていない場合は、これを解決策と見なすかもしれませんが、考慮すべきことが1つあります。ワンタイムパスワードに固有の脆弱性は、通常のパスワードと同様に、フィッシングされる可能性があることです。
これがセキュリティの専門家によると、最も安全な2FAシステムはU2Fキーに依存している理由です。OTPを生成して表示する代わりに、ハードウェアトークンがコンピューターまたはモバイルデバイスと直接通信して自動的に認証します。キーリングで持ち運べるほど小さく、バッテリーもありません。ワイヤレステクノロジーの一部は、認証が瞬時に行われることを意味しています。ユーザーはOTPを入力する必要がないため、これは使いやすさとセキュリティの両方の観点から最良の方法と考えられています。それでもまだ完璧ではありません。
2FAアプリ、メール、およびほとんどの場合、テキストメッセージとは異なり、U2Fキーは無料ではありません。投資は莫大ではありませんが、悲しいことに、ほとんどのユーザーはセキュリティへの支払いに特に熱心ではなく、リーズナブルな価格でも十分な障壁となる可能性があります。明らかに、小さなトークンを失うという問題も存在します。
サービスに最適な2FA実装を選択するにはどうすればよいですか?
全体として、「完璧な2FA」というものはありません。一部の実装は他の実装よりも安全ですが、それらにはすべて個別の問題があります。つまり、オンラインサービスを実行している場合、ユーザー、そのニーズに基づいて、実装する2FAの種類を決定する必要があります。そしてそれらの脅威モデル。さらに柔軟性を高めるために、ほとんどのサービスプロバイダーでは、使用する2FA実装をいくつかの異なるオプションのリストから選択することができます。これは、ユーザーベースの多様性を考えると、おそらく最も合理的なアプローチです。
ただし、1つのことを忘れないようにしてください。最も安全でない2FAでも、2FAを使用しない場合よりも優れています。