このブログ記事は、クレデンシャルフィッシングに焦点を当てたシリーズの第2弾です。前回、Mukul Hingeは、ブログ「フィッシング耐性の高い多要素認証(MFA)の必要性」(MFAとは?)で、脅威者がより巧妙になり、様々なツールを使って防御策を突破していることを説明しました。本日の記事では、Okta FastPassの内部構造を掘り下げ、強力なフィッシング耐性とデバイス保証を提供する機能を説明します。 Okta Identity Engine(OIE)でOktaの全顧客にOkta FastPassを一般提供(GA)して以降、Okta FastPassは大規模に展開されており、毎月400万件以上のパスワードレス認証が行われています。Oktaの顧客であるIntercom、Rubrik、NTT DATAは、エンドユーザーに対してこのフリクションレス=摩擦や抵抗のないパスワードレス体験を実現しています。 Okta FastPassとは何か? FastPassは、OktaのSAML、Open ID Connect(OIDC)、Web Services Federation Protocol(WS-Fed)アプリにパスワードレス認証を提供する暗号化された多要素オーセンティケーター(認証器)です。デバイスバインド型のオーセンティケーターは、同じデバイス上のアプリケーション認証にしか使用できないことを意味します。Okta FastPassは、複数のユーザーデバイスにまたがる強力なセキュリティを、あらゆるOSプラットフォームで提供し、ローミング型のハードウェアオーセンティケーターを導入するよりもはるかに低いコストで実現します。Windows、iOS、Android、macOSの各プラットフォームで利用できるため、どのデバイスのエンドユーザーも、アプリやリソースにフィッシングに強いシームレスなアクセスを確保することができます。 概要についてはOkta FastPassのページで短いビデオと紹介も是非ご覧ください。 なぜOkta FastPassなのか? Okta FastPassのユーザーは、フィッシング耐性があり、パスワード不要で、プラットフォームをまたがり一貫した体験ができます。Okta FastPassは、デバイスごとに1回の登録で済み、最初の認証で駆動することができ、サポートされているプラットフォームの生体認証機能(FaceID、Windows Hello、指紋センサーなど)とシームレスに統合されています。これにより、セキュリティが強化され、OTPやプッシュ通知などのネットワーク依存の要素が軽減されます。 IT管理者の方は、以下のメリットをご覧になれば、夜ぐっすり眠れるかもしれません。 パスワードの使用が減れば、攻撃される対象も減ります。 パスワードの再設定が過去の遺物となり、ヘルプデスクのコストが減少。FastPassを社内で展開した後、実際OktaのITチームはパスワードの再設定を98%削減しました。 エンドユーザーはより良い体験を得ることができ、より安全かつ迅速にアプリにサインインすることができます。 FastPassの登録後、管理者はデバイスのライフサイクルを通じて収集・管理された豊富なデバイスコンテキストを簡単に見ることができます。 Okta FastPassは、オーセンティケーターとユーザーID間の強力な暗号結合、高保証の所有証明、オリジンドメインの検証により、NISTガイドラインに沿った強力なフィッシング耐性を提供できます。 FastPassは、デバイスのコンテキスト(Okta Verify自身が収集するものと、CrowdStrikeやWindows Security CenterなどのMDMやEDR連携パートナーを通じて収集するもの)を活用し、管理者がデバイスの状態に基づいたポリシーを決定することができます。主な例として、管理者は、Jailbreak/root化された端末のアクセスをすべてブロックすることができます。 Okta FastPassはどのような動きをするのか? デバイス登録 Okta FastPassの始まりは、お使いのデバイスのOkta Verifyアプリでの登録(またはアカウント追加)プロセスから始まります。 このプロセスは簡単で早く、しかも複数の方法で登録が完了します。最も簡単な方法として、インラインエンロールメントがあります。管理者は、エンドユーザーのデバイスにアプリを展開することができ、ユーザーは通常の認証プロセスの一部として登録することができます。 また、デスクトップ端末で認証済みであれば、QRコードを生成してモバイル端末から読み込むことで、登録が完了し、FastPassの旅を開始することも可能です。 しかし、デスクトップ端末や初めて登録する方がいたとします。その場合、別の方法(例えば、真の意味のパスワードレスへ向かう前段としての、eメールのマジックリンク、SMS、またはパスワード/あなたの組織がまだそれらを使用している場合)を使用して認証する必要があります。Oktaは、初回のユーザーアクティベーションが管理者にとって安全であることを保証するためのいくつかの方法を提供します。例えば、管理者は、アクティベーションの前に、ユーザーをSMS MFAに事前登録することができます。 Okta Verifyは、デバイスのTPM(Trusted Platform Module)を使用して公開鍵と秘密鍵のペアを生成し、公開鍵とデバイスのコンテキストメタデータをOktaサーバーに送信します。秘密鍵は、デバイスのTPMに安全に保管されたままです。ファストパス登録のデータフローは以下の流れです。 証を有効にした場合、TPMから追加の公開鍵/秘密鍵のセットが生成され、公開鍵はOktaのサーバーに送信されます。 以下は、macOSとiOSデバイスのOkta VerifyアプリでFastPassを登録した際のスクリーンショットです。 認証フロー 複数のプラットフォームに対応し、一貫したユーザー体験を提供するため、Okta FastPassでは、様々なプラットフォームでプロービングスキームと呼ばれる認証を実行するための多数の方法を使用しています。プロービングの方式は、大きく分けて2種類あります。"Okta Sign-In Widget "がデバイスにFastPassが設定されているかどうかを自動的にチェックする「サイレントプロービング」を利用して、ユーザーを認証することができます。「インタラクティブプロービング」は、ユーザーが「Sign in with Okta Verify」ボタンをクリックしたときに発生します。FastPassは常にサイレントプロービングを試してからインタラクティブプロービングにフォールバックします。 以下、FastPassが使用する様々なプロービングスキームを紹介します。 メソッド名 メソッドタイプ 対応プラットフォーム Loopback サイレント macOS、Windows、Android Credential SSO Extension サイレント iOS、macOSのSafariブラウザ(管理端末のみ) AppLink インタラクティブ Android Custom URI インタラクティブ Windows、macOS Universal Link インタラクティブ iOS Loopback(ループバック)サーバー Okta Verifyは、デバイス上のローカルホストポートでHTTPサーバーを実行し、Okta Sign-In WidgetからのプロービングリクエストをListenして応答します。 例えば、Oktaで保護されたアプリにログインすると、Okta Sign-in Widgetにリダイレクトされ、認証を受けることができます。Okta Sign-In Widgetは、Loopbackサーバーとサイレントで通信します。 Loopbackサーバーは、秘密鍵で署名されたチャレンジを、オリジンドメインとデバイスのコンテキストシグナルとともに送信し、サーバーはこれを検証することができます。ポリシーの条件を満たした場合、OktaバックエンドサーバーはSAMLアサーション(またはOIDCアクセストークン)を生成し、ブラウザをサービスプロバイダーにリダイレクトします。 Credential SSO Extension(クレデンシャルSSO拡張機能) このプロービング方式は、MDMプロバイダーが管理するApple端末で、Safariブラウザーでのみ利用可能です。AppleのExtensible Single Sign-onフレームワークを活用しています。これは、MDMプロバイダーコンソールのSSO Extension設定を構成して、MDMプロファイルをエンドユーザー端末にプッシュすることを含みます。そして、AppleのSSOフレームワークは、設定されたドメインに向かうHTTPSリクエストに対してFastPass SSO拡張機能を起動し、FastPassが動的にヘッダーと署名を生成することができます。詳細はiOSとmacOSのSSO FastPassを設定するためのドキュメントを参照ください AppLink、Universal Link、Custom URI App Link.