Okta FastPassの深層に迫る ーなぜフィッシング耐性が高いのか?

このブログ記事は、クレデンシャルフィッシングに焦点を当てたシリーズの第2弾です。前回、Mukul Hingeは、ブログ「フィッシング耐性の高い多要素認証(MFA)の必要性」で、脅威者がより巧妙になり、様々なツールを使って防御策を突破していることを説明しました。本日の記事では、Okta FastPassの内部構造を掘り下げ、強力なフィッシング耐性とデバイス保証を提供する機能を説明します。

Okta Identity Engine(OIE)でOktaの全顧客にOkta FastPassを一般提供(GA)して以降、Okta FastPassは大規模に展開されており、毎月400万件以上のパスワードレス認証が行われています。Oktaの顧客であるIntercom、Rubrik、NTT DATAは、エンドユーザーに対してこのフリクションレス=摩擦や抵抗のないパスワードレス体験を実現しています。

Okta FastPassとは何か?

FastPassは、OktaのSAMLOpen 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に安全に保管されたままです。ファストパス登録のデータフローは以下の流れです。

a deep dive into okta fastpass jp

証を有効にした場合、TPMから追加の公開鍵/秘密鍵のセットが生成され、公開鍵はOktaのサーバーに送信されます。

以下は、macOSとiOSデバイスのOkta VerifyアプリでFastPassを登録した際のスクリーンショットです。

F4K0 IEB17mA zHg6VAohOhBndIzqXaOV HCbyviugPVvgAmWDznthO6czMToCK9gr0ea4bHXKCvYaEZcqGsFp9LzMR2fDVAYkl7rUp3Mongfa7X4qinwE1SIwQ2q L2yrzY46Re8C2n335fz9HU7T58GLKqA1UbE1dgIUm5lo4xqEjITeglY1OnRmQ1Wg

認証フロー

複数のプラットフォームに対応し、一貫したユーザー体験を提供するため、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アクセストークン)を生成し、ブラウザをサービスプロバイダーにリダイレクトします。

a deep dive into okta fastpass 02 jp

Credential SSO Extension(クレデンシャルSSO拡張機能)

このプロービング方式は、MDMプロバイダーが管理するApple端末で、Safariブラウザーでのみ利用可能です。AppleのExtensible Single Sign-onフレームワークを活用しています。これは、MDMプロバイダーコンソールのSSO Extension設定を構成して、MDMプロファイルをエンドユーザー端末にプッシュすることを含みます。そして、AppleのSSOフレームワークは、設定されたドメインに向かうHTTPSリクエストに対してFastPass SSO拡張機能を起動し、FastPassが動的にヘッダーと署名を生成することができます。詳細はiOSmacOSのSSO FastPassを設定するためのドキュメントを参照ください

a deep dive into okta fastpass 03 jp

AppLink、Universal Link、Custom URI

App LinkUniversal LinkCustom URIは、それぞれAndroid、iOS、macOSでディープリンク機能を持つプラットフォーム提供のアプリ起動の仕組みです。認証フローにおいて、Okta Sign-In WidgetのSign in with Okta FastPassボタンは、これらのプラットフォーム提供機能を活用し、FastPassのチャレンジリクエストとともにOkta Verifyアプリを起動し、処理・認証します。

デバイス保証

Okta FastPassは、強力なパスワードレス暗号化認証を提供するだけでなく、管理者はデバイスのコンテキストに基づいてポリシーを設定することができます。Okta FastPassは、Okta Verifyアプリおよび/またはサードパーティ連携(Tanium、CrowdStrike、Windows Security Centerなど)により収集されたデバイス状態を使用して、ポリシー条件を適用することができます。

デバイス保証ポリシーにより、管理者は会社のリソースへのアクセスを制御することができます。一度作成したものは、複数の認証ポリシールールで再利用することができます。ここでは、Android OSのバージョンが12以上であること、ユーザーがパスワードと生体認証を設定していること、デバイスがルート化されていないことを保証するデバイス保証ポリシーのスクリーンショットを紹介します。

aA0JLlP41vd9hTjwpx V7wjMsi oU5EemVWe9JuLfHKwaFpE6G11a2IuSyNLtXz6tNjC8eZKi4Qv4KfPjE2eikmwfrBQSByJZz3QczYVY7pPD1VSg30RQdT DwD2y2WEc AkXGx7h4YbX2Q20YPMo4uFc0JDcIXCPnofgcTYb6D bXdkmWMsOzpESc2Q5Q

さらに、Okta Verifyにヘルスチェック画面を追加し、ユーザーのデバイスの状態について警告を発し、推奨措置を表示しています。

jYWWj 1Ct1Xu321uZbnOr2L0Bgdnyi tl9puc5o6razimK Opwb4TdRxeVSzr8S8XRa2mXLTGfDgvawVpOqRftYioGpQDcPy7a7vlzLtIOBxGmGOHYKGZg21ie4dJOV YdIRFEKdTQtI4Vm8hiGlLz41IJaKr1fIxlsPu8i4vZoF2WFabE4ta8ndwCP7PA

フィッシング耐性

Okta FastPassは、クレデンシャルフィッシング攻撃に対して強い耐性を発揮します。Loopbackサーバーと上記のSSO拡張機能は、強力なフィッシング耐性を備えています。Universal Link(iOS)、Custom URI(macOS)、AppLink(Android)などのフォールバック方式だけでは、同じレベルのフィッシング対策はできません。しかし、これらの方法の一部を利用して、Okta Verifyを起動し、Loopbackサーバーなどのフィッシング耐性のバインディングを使用して、ユーザーが認証できるようにすることができます。Oktaのポリシー設定ページでは、フィッシング耐性があるアプリサインオンポリシーを正しく設定する内容をガイドしています。

下図は、OktaのLoopbackサーバーバインディングが、evilginxなどのプロキシサーバを利用した中間者攻撃によるフィッシング攻撃の防止に役立つことを示しています。

a deep dive into okta fastpass 04 jp

Okta FastPassは署名付きレスポンスペイロードにオリジンヘッダを含むため、Oktaは認証リクエストを拒否するだけでなく、ドメインのミスマッチを容易に検出し、管理者やエンドユーザーに警告することができます。

管理者はOkta Workflowsを利用して、Slackやメールなどのチャネルを通じてエンドユーザーに警告を発したり、フィッシングサイトとのトラフィックをブロックするなどのアクションを取ることもできます。

これをデバイス保証ポリシーと組み合わせることで、マルウェアやランサムウェアなど、他のエンドポイント攻撃から強力に保護することもできます。OktaのパートナーであるCrowdstrikeやWindows Security Centerは、デバイス上のマルウェアの存在を検知し、Oktaへシグナルを提供し、Oktaはそれを活用して強力な認証ポリシーを適用することができます。

次は何をするのか?

Okta FastPassを一般提供(GA)して以降、私たちはお客様と緊密に連携し、ご意見や改善提案に耳を傾けてきました。いくつかのUXの問題を修正し、お客様にとってより良いFastPassにするための提案を取り入れてきました。例としては、(難読化や改ざん検知などを用いて)モバイルアプリの堅牢化、Jailbreak/root化された端末ではないかなど追加のデバイスコンテキストの収集、パスコードを持つデバイスの照会などが挙げられます。これにより、管理者はデバイスの保証レベルに基づいてポリシーを決定することができます。これは、BYODシナリオでは特に重要です。

今後直近は、ユーザーエクスペリエンスの向上に努め、セキュリティを損なうことなく、エラー時にブロックを解除できるよう、より多くの情報を提供する予定です。他のセキュリティベンダーと提携することで、より多くのデバイス情報のシグナルを収集し、管理者が潜在的に危険なデバイスをブロックできるようにします。また、管理者やフィッシングの試行をより可視化する機能も追加していきます。

FastPassは、エンドユーザーに堅牢でシームレス、摩擦のない、フィッシングに強い認証を提供し、企業には安心とコスト削減を提供します。

Next Stepとして、

このブログはこちらの英語ブログの翻訳、三船 亜由美によるレビューです。