このブログはこちらの英語ブログの機械翻訳です。
このレシピは、CIAMを例から学ぶシリーズの一部です:アプリのセキュリティとUXを向上させる4つのレシピ。シリーズの詳細については、クックブック形式で4つのレシピをダウンロードしてください。 このレシピでは、CIAMを使用して不正なサインアップとアカウントの乗っ取りを防止する方法を学びます。 |
Web 上の不正行為は、考えられるあらゆるアプリケーションまたはチャネルで発生する可能性があります。
データレイクからクラウドETL、AIまで、新しいテクノロジーにより、企業が保存および処理する消費者データの量が大幅に増加しています。これは高度にパーソナライズされたサービス(および顧客の喜び)につながりますが、人々がサインアップしてサービスを使用する際に、企業がどのようにデータを安全かつプライベートに保つかについて懸念も生じさせます。
ID に関して言えば、不正なアプリのアクティビティは通常、次の 2 つのベクトルを通じて発生します: 不正なサインアップ と アカウントの乗っ取り。
不正なサインアップ では、悪意のある者が個人的な利益(限定チケット、製品、無料サービスへのアクセスなど)のために偽のアカウントを使用してアプリにサインアップし、会社のコストを増加させ、ブランドの評判を損ないます。 Secure Identityの現状レポート によると、不正行為は上半期にピークを迎え、1日に1,000万件の不正登録試行がありました。偽のアカウントは、マーケティングの妨げになるだけでなく、サプライチェーン、リソース投資、および問題発生時のサポートにも下流の影響を及ぼし、企業にコストをかけます。
アカウントの乗っ取りでは、ハッカーは消費者アカウントを盗みます。多くの場合、以前のデータ侵害から得られた認証情報を使用するか、フィッシングキャンペーンを引き継ぎます。 アカウントの乗っ取り は、経済的利益のためです。FTCは最近、2021年に米国の消費者がオンラインショッピングで3億9200万ドルの詐欺被害に遭ったと報告し、IBMはブランドが2023年にデータ侵害で約445万ドルの損失を被ったと報告しています。
システムを安全に保つためのセキュリティオペレーションセンター(SOC)がなくても、詐欺を軽減し、ブランドを未来、さらにはメタバースにまで展開するために、テクノロジーに賢明な投資を行うことができます。(はい、人々は依然としてメタバースでピザを注文したいと思うでしょう)。
不正なアイデンティティ活動の追跡が非常に困難な理由
不正なIDアクティビティは、今日のトレンドのテクノロジーと同様に、攻撃が安価で洗練されてきているため、追跡が困難です。
サイバー犯罪者は、技術スキルに関係なく、収益性の高い攻撃を迅速に開始するために、ローコード/ノーコードサービスを急速に採用しています。この傾向により、攻撃の頻度が増加し、企業への影響が年々増大しています。IBMによると、組織がセキュリティ侵害から回復するには、少なくとも200日が必要です。
議員たちは、あなたのアプリやウェブサイト、そしてウェブ全体において、デジタルセーフティが消費者とブランドにとって何を意味するのかを定義するために、今も取り組んでいます。
フェーズ1:ユーザーを把握し、サインインさせる
悪意のあるアイデンティティの脅威(フィッシングやソーシャルエンジニアリングなど)が増加するにつれて、消費者はブランドがカスタマーエクスペリエンス(CX)に関するビジネス成果とデータプライバシーのバランスを取り、テクノロジーと法律がWeb上での消費者の安全をサポートするように変化することを期待しています。
継続的な変化に対応するために、ブランドはプラットフォームの UX とユーザーインターフェイス (UI) を通じてコミュニケーションを取ることができます。サインアップすることがユーザーにとってどのようなメリットがあるのか、そしてあなたのブランドが自己識別とサイバーセキュリティ対策を通じてどのように価値を提供しているのかをユーザーに知らせましょう。
この投稿では、セキュリティとUXのバランスをブートストラップできるように、完全な動作デモを含むAuth0 by Oktaの基本機能について説明します。
まだ行っていない場合は、サインアップ して無料アカウントを取得し、テナントを設定して、お客様とお客様の組織にとって最も意味のあるユースケースに対応してください。
レシピ
材料:
- An Auth0 Tenant
- Auth0 に統合されたサンプルアプリケーション(クイックスタートのいずれかを使用できます)
Customer Identity and Access Management (CIAM) を使用してアプリケーションを保護したことがないのですか?お任せください。
アプリと API は、サインアップ、ソーシャルログイン、認証、認可、ログアウトなどの ID タスクに CIAM を使用できます。これはすべて、オープンソースの SDK、API、およびプロトコルを通じて提供されます。これは、他の使用するサービス (可観測性に関する Datadog、SMS に関する Twilio、または支払いに関する Stripe など) と同じです。
CIAMを使用したログインの仕組みは次のとおりです。
- ユーザーがセッションを必要とする機能にアクセスしようとしています。
- アプリは Auth SDK を使用して有効なセッションを確認します。存在しない場合、ユーザーは認証のために CIAM システムにリダイレクトされます。
- ユーザーがログインします。
- CIAMシステムは、認証、認可、監査を処理し、ユーザーをアプリにリダイレクトします。
- アプリはAuth SDKを使用してセッションからユーザーの詳細にアクセスし、要求された機能を有効にします。
CIAMを使用すると、ログインプロセス(つまり、UX、ソーシャルログイン、生体認証、ボット保護)を調整して、適切な人だけがユーザーの摩擦を実装せずにアプリにアクセスできるようにすることができます。
CIAMをアプリケーションに追加
これは、プロジェクト全体の中で最も気がかりな部分かもしれません(始めるのは難しい!)。たとえあなたが少しコーディングの知識を持っていたとしても。そこで、Auth0を使用して新しいアプリケーションをデプロイするために必要な手順を説明します。
- Auth0ダッシュボードでは、考えられるほぼすべてのアプリケーション、マシン、またはAPIのログインまたはサインアップを作成できます。
![]() |
- サンプルアプリケーションをデプロイしたら、Auth SDKを使用するために、アプリをシークレットで構成する必要があります。IDEで、.env.localファイルを検索し、適切な情報で編集します:
環境変数(.env.local) | Auth0 ダッシュボード |
AUTH0_SECRET='LONG_RANDOM_VALUE' | これは生成された文字列であるはずですが、テストのために、好きなものを入力できます。
本番環境では、ここで生成された文字列を作成できます:https://jwt.io/。 |
AUTH0_ISSUER_BASE_URL='https://<your-domain-here>.auth0.com' | Auth0 テナントドメインの URL、Auth0 アプリケーションのクライアント ID、およびクライアントシークレットはすべて 1 か所にあります。
Applications > Applications > Your Applicationに移動し、次の情報を取得します。 |
AUTH0_CLIENT_ID='aP3UzAmNXTTfJUeGLISRbTZClUUZE3kT' | |
AUTH0_CLIENT_SECRET='LongAPPsecret' | |
AUTH0_BASE_URL='http://localhost:3000' | プロジェクトをダウンロードすると、デプロイメントがローカルでホストされていること、つまりhttp://localhost:3000であることがわかります。
テストするときに、参照したい 独自のサーバー情報 がある場合があります。 |
- これまで、アプリを登録しました。
構成を完了するには、ログインとログアウトが成功した後、ユーザーをリダイレクトする場所(コールバックURL)をAuth0に通知する必要があります。
このステップは多くの開発者をつまずかせてきました(コピー&ペーストが原因であることが多いです)。しかし、コールバックに何を入力すればよいか正確にわかっていれば簡単なステップです。この場合、http://localhost:3000/api/auth/callbackです。
- そして今、楽しい時間です 🤠
お気に入りの IDE で npm run dev を実行すると、アプリケーションがログイン機能とともにデプロイされます。
アプリケーションが CIAM と統合されたので、不正行為を防ぐためにセキュリティノブとスイッチをオンにすることができます!
フェーズ2:ボットによる不正なサインアップを防止する
マーケターはマーケティング詐欺の最前線にいます。消費者が興奮する没入型のエクスペリエンスは、セキュリティを強化し、ボットを排除するためにCIAMソリューションを使用する場合にのみ可能になります。
ただし、セキュリティを追加すると、顧客が製品を使用できなくなる摩擦が生じる可能性があります!
摩擦の例を次に示します。
スタンドアロンの Captcha はボットの速度を低下させますが、顧客をイライラさせます:(
これらのセーフガードのタイミングを制御することは、UX にとって最も重要です。
アプリケーションでOktaのAuth0を使用すると、消費者がCAPTCHAを表示するタイミングを簡単に制御でき、実装は2つのステップで完了します。1.)ボット保護をオンにし、2.)ボット防御のしきい値として機能するリスクレベルを選択します。
1: ボット防御をオンにする |
2: リスクレベルを選択する |
リスクレベルはボット対策の秘訣として機能し、不正なサインアップ/乗っ取りを防止しながら、正規のユーザーに摩擦を与えないように完璧なバランスを実現できます。
また、どのリスクレベルを選択すればよいかわからない場合は、Security Center に注意してください。エンタープライズのお客様にご利用いただける高度なリアルタイム監視を提供し、アプリでボット防御がどのように機能しているかを確認するのに役立ちます。
Security Center: ボット検出の監視
フェーズ3:侵害された認証情報によるアカウントの乗っ取りを防止する
消費者は、アカウント上の新しい、または見慣れないアクティビティについて通知を受けることを保証するブランドを信頼します。一般的なメッセージングを模倣したフィッシングを実際のものと区別するために、消費者は組織がこのメッセージングを迷惑メールフォルダではなく、自分たちに合わせて調整することを期待しています。
OktaのAuth0は、ワンクリックで統合を提供し、ユーザーのアカウントや認証情報に関する異常なアクティビティが発生した場合に、ユーザーと管理者に通知します。
これらのオンオフ切り替え機能により、ユーザーに疑わしいアクティビティを警告するために必要なテンプレートとインフラストラクチャの開発にかかる時間と投資を節約できます。また、チームは、通知をユーザーに合わせてパーソナライズすることに集中できるため、何かおかしいと感じたときにエンゲージメントを高めることができます。
ウェブ上の悪意のある攻撃者による安価で簡単な手段を通じてさまざまな攻撃ベクトルが組み合わされているため、OktaのAuth0は、技術的な投資を抑え、市場投入までの時間を短縮して、すぐに使用できるすべての問題に対処します。
フェーズ4: パスワードからの移行
ログイン時の摩擦を最小限に抑え、フィッシングに強いプラットフォームを構築するために作成された、新しいW3CとFIDOの仕様が登場しました。この標準は、パスキーと呼ばれる新しいタイプの要素に関するもので、AppleやGoogleを含む多くのサービスプロバイダーですでに使用されています。
ユーザーがオンボーディングするたびに生体認証のファクシミリを作成する代わりに、既存の顔または指紋生体認証を使用して、選択したプラットフォーム上のすべてのトランザクションでログインを承認できます。新しいUniversal Loginはパスキーの使用をサポートしているため、ユーザーはパスワードを完全にスキップできます。
次の投稿では、パスキーについて詳しく説明します: パスキーを使用したパスワードレス認証の追加。包括的なガイドですべてのレシピを入手するには、クックブックをダウンロードしてください。
本資料および本資料に含まれる推奨事項は、法律、プライバシー、セキュリティ、コンプライアンス、またはビジネスに関する助言ではありません。本資料は、一般的な情報提供のみを目的としており、最新のセキュリティ、プライバシー、法律の動向、また関連する問題をすべて反映しているわけではありません。本資料の利用者は、自分自身の責任において、自分の弁護士またはその他の専門アドバイザーから法律、セキュリティ、プライバシー、コンプライアンス、またはビジネスに関する助言を得るものとし、本資料に記載された推奨事項に依存すべきではありません。本資料に記載された推奨事項を実施した結果生じるいかなる損失または損害に対しても、Oktaは一切の責任を負いません。Oktaは、これらの資料の内容に関して、いかなる表明、保証、またはその他の保証も行いません。お客様に対するOktaの契約上の保証に関する情報は、okta.com/agreementsをご覧ください。
