多要素認証とは?
多要素認証 (MFA) は、2 つ以上の個別の認証段階を提示することによって、ユーザーを識別する方法です。2要素認証 (2FA) は、最もよく使用されるMFAのタイプです。
通常、多要素認証では、ユーザーが知っていること、ユーザーが持っているもの、そして場合によってはユーザー自身、それらの組み合わせを使用します。
- パスワード、PIN、秘密の質問などの知識要素。
- アクセス カード、電話、ハードウェアキーなどの所持要素。
- ユーザーの指紋、顔、声などの生体情報である固有要素。
なぜ多要素認証が必要なのか?
重要なシステムのセキュリティを強化するには、多要素認証が重要です。これにより、これらの要因のうちの1つしか持たない攻撃者が、アカウントにアクセスするのを防ぐことができます。たとえば、パスワードが盗まれてしまっても、他の要素でブロックできます。
別のデバイス、場所、または違う時間枠からのログインなど、異常または特定の状況では、MFA追加レイヤーがトリガーされる可能性があります。
多要素オプション
最もよく使用される多要素オプションは次のとおりです。
- タイムベースのワンタイムパスワード (TOTP) :共有秘密鍵と現在時刻を使用して、ワンタイムパスワードを生成します。これらのパスワードは有効期間が短く (30 ~ 60 秒)、サーバーとデバイスのクロックを同期させる必要があります。Google Authenticatorの例。
- SMS認証:この方法では、ユーザーが常に携帯している携帯電話を使用します。ユーザーがログインを試みると、登録された電話番号にワンタイムコードがSMSで送信され、それを使ってIDを検証します。その一例がDuoです。
- ハードウェアトークン:これらは、USBドングルなど、接続できるデバイスや、または接続不要の内蔵スクリーン付きのデバイスを使用します。サーバーと同じ秘密共有キーを保持し、それを使用してパスワードを生成します。例えば、YubiKeyなどです。
Auth0で簡単に実装
Auth0を使用すると、数分でMFAを実装できます!すぐに使用できるプロバイダーまたは、Auth0 の拡張性を使用して、どんなプロバイダーでも簡単に統合できます。MFAをすばやく実装するには、次の手順を実行します。
- Auth0 の管理ダッシュボードで、[多要素認証] オプションをクリックします。
- [多要素認証を有効にする] スイッチをオンにして、機能を有効にします。
- 組み込みプロバイダー ( Google Authenticator 、 Duo など) のいずれかを選択するか、拡張可能なAuth0プラットフォームに数行のコードを記述して、プラグインします。
- プロバイダーをカスタマイズ。プレースホルダーをクライアントID に置き換えるだけで、準備完了です。
しかし、可能性はそれだけではありません。MFAがいつトリガーされるかについて、独自のルールを作成することもできます。
適応可能なコンテクスト・アウェアに基づくマルチファクター
適応可能なコンテクスト・アウェアに基づくマルチファクターを使用すると、地理的な場所、時刻/週、ネットワークの種類、カスタムドメイン、特定のIP、またはコードで表現できる任意の条件など、さまざまな条件に基づいて、Auth0プラットフォームのコードで表現できるMFA 、または追加の認証レイヤーを適用できます。
デフォルトでは、多要素認証は1か月に1回だけ要求されますが、ユーザーがログオンするたびに要求されるようにしたり、独自のルールを定義して多要素認証を行うこともできます。
会社のイントラネット外からミッションクリティカルなアプリケーションにアクセスする場合、別のデバイスまたは新しい場所からアクセスする場合などのルールを定義できます。
カスタムMFAプロバイダー
別のMFAプロバイダーを使用している場合、または独自のプロバイダーを構築したい場合は、Auth0でリダイレクト
プロトコルを使用できます。
カスタムMFAプロバイダーを使用するには、認証トランザクションを中断し、追加の認証要素が発生する可能性のある任意のURLにユーザーをリダイレクトできます。これが完了した後 (成功または失敗にかかわらず)、トランザクションはAuth0で再開され、さらに処理されます。次のコードは、それがいかに簡単かを示しています。
function(user, context, callback) {
if (condition() && context.protocol !== 'redirect') {
context.redirect = {
url: 'https://your_custom_mfa'
};
}
if (context.protocol === 'redirect') {
//TODO: handle the result of the MFA step
}
callback(null, user, context);
}
基準へのコンプライアンス
当社はHIPAAおよびSOC2に準拠しており、ID管理のすべてのベストプラクティスに準拠していることを保証します。さらに、追加のセキュリティレイヤーが必要な場合は、ワンクリックで多要素認証、パスワードポリシー、ブルートフォース(総当り攻撃)保護などの高度なポリシーを有効にすることができます!