MFAとは? TOTP方式の仕組みと導入
MFA(多要素認証)の概念とTOTP方式の仕組みを整理します。パスワードに加えて使い捨てコードを求める認証がなぜ必要かをわかりやすく説明します。
MFA(Multi-Factor Authentication、多要素認証)は、パスワードに加えて一つ以上の認証要素を追加で求める方式です。パスワードが漏れても二つ目の要素がなければログインが遮断されるため、アカウント乗っ取りのリスクを大きく減らします。その二つ目の要素として広く使われているのがTOTPです。
MFAが必要な理由
パスワードは漏洩・使い回し・推測に弱いものです。あるサービスから漏れたパスワードが、別のサービスのログインにそのまま使われることも少なくありません。MFAは「知っているもの(パスワード)」に「持っているもの(認証機器)」を加え、パスワード一つが破られてもアカウントがすぐには奪われないようにします。
TOTPはどう動くのか
TOTP(Time-based One-Time Password)は時刻ベースの使い捨てパスワード方式で、RFC 6238として標準化されています。サーバーと認証アプリが最初に秘密鍵を共有し、その後この鍵と現在時刻を組み合わせて短い数字コードを計算します。通常は6桁で、約30秒ごとに新しいコードに変わります。
サーバーとアプリが同じ鍵と同じ時刻を使うため、互いに通信しなくても同じコードを生成します。ユーザーは認証アプリに表示されたコードを入力するだけです。コードが短い間隔で変わるため、一度露出したコードが長く悪用されにくくなっています。
TOTPはネットワークなしで機器内でコードを計算する点で、ショートメッセージでコードを受け取る方式とは異なります。文字で受け取るコードは通信網を経由する過程で傍受や遅延が起こり得ますが、TOTPは認証アプリとサーバーが共有した鍵だけでコードを作るため、そうした経路がありません。
TOTP導入時の注意点
認証機器を紛失したときに備えたバックアップコードや再登録の手順も併せて用意する必要があります。また、サーバーと機器の時刻が大きくずれるとコードが合わないことがあるため、時刻の同期が重要です。
AxiPassはTOTPベースのMFAを提供し、テナント全体の強制とグループ単位の強制を設定できます。セキュリティモデル全般はセキュリティページで確認でき、無料で始めることでMFAの設定をご自身で確認できます。
