> ## Documentation Index
> Fetch the complete documentation index at: https://auth0.com/llms.txt
> Use this file to discover all available pages before exploring further.

# SMSの指数バックオフ

> SMS Fraud Protection機能の指数バックオフを使用して、SMSポンピングからアプリケーションを保護する方法について説明します。

> [!WARNING]
>
> 指数バックオフを備えたSMS Fraud Protectionを使用するには、エンタープライズプランが必要です。詳細については、[Auth0の料金](https://auth0.com/pricing)をご確認ください。

Auth0のSMS Fraud Protection機能には、[SMS電話認証要素](/docs/ja-jp/secure/multi-factor-authentication/multi-factor-authentication-factors/configure-sms-voice-notifications-mfa.md)向けの指数バックオフが含まれています。SMS Fraud Protectionは、SMS料金詐欺 (SMSポンピングとも呼ばれます) や自動化されたMFAの悪用からアプリケーションを保護します。この機能を有効にすると、テナントはSMS確認リクエストに標準の静的なレート制限ではなく、指数バックオフを適用するようになります。指数バックオフでは、ユーザーごとにリクエスト間の待機時間が段階的に長くなります。これにより、正当なユーザーは問題なくMFAの登録を完了できる一方で、攻撃者がスクリプトで再送信を繰り返す場合は、時間もコストもかかるようになります。

## 仕組み

SMS Fraud Protectionを有効にすると、Auth0はユーザー識別子ごとに、繰り返し送信されるSMSリクエストに遅延を適用します。

| **動作** | **説明** |
| - | - |
| 即時リクエストの猶予枠 | 入力ミスや配信の遅延に対応できるよう、各ユーザーには最初に一定回数の即時再試行が許可されます。 |
| 段階的な待機時間 | 即時再試行の回数を超えると、リクエストが追加されるたびに必要な待機時間が1分から最大32分まで長くなります。 |
| 最大遅延 | 待機時間が32分を超えることはありません。これにより、不正利用への防御を維持しつつ、アカウントが永久にロックされるのを防ぎます。 |
| タイミングのばらつき | Auth0は各待機時間にわずかなランダムのばらつき(ジッター)を加えるため、スクリプトはリクエストがいつ成功するかを予測できません。 |
| システムの自動回復 | 遅延の状態は動的で、直近のリクエスト頻度に応じて変化します。ユーザーがコードのリクエストをやめると、待機時間は短くなります。長期間リクエストがない場合、そのユーザーのレート制限はリセットされます。 |

## SMS Fraud Protectionを有効化または無効化する

テナント管理者は、SMS Fraud Protectionをいつでも有効化または無効化できます。無効にすると、テナントには標準のレート制限が適用されます。

**Auth0 Dashboard**

1. **[Auth0 Dashboard > Security > Multi-Factor Auth](https://manage.auth0.com/#/security/mfa)** に移動します。
2. **Phone** を選択します。
3. SMS送信ポリシーを選択します。
   * **SMS Fraud Protection**：指数バックオフを使用します。
   * **Default send**：標準のレート制限を使用します。
4. **Save** を選択します。

**Management API**

`/api/v2/attack-protection/phone-provider-protection` エンドポイントに `PATCH` リクエストを送信します。Management APIのアクセストークンには `update:attack_protection` スコープが含まれている必要があります。

```bash lines theme={null}
curl --request PATCH \
  --url 'https://YOUR_AUTH0_DOMAIN/api/v2/attack-protection/phone-provider-protection' \
  --header 'authorization: Bearer MANAGEMENT_API_ACCESS_TOKEN' \
  --header 'content-type: application/json' \
  --data '{ "type": "exponential" }'
```

| 値 | 説明 |
| - | - |
| `type` | SMS送信ポリシー。指数バックオフによるSMS Fraud Protectionを有効にする場合は `exponential` を、標準のレート制限に戻す場合は `default` を設定します。 |

現在の設定を確認するには、同じエンドポイントに `GET` リクエストを送信します。アクセストークンには `read:attack_protection` スコープが含まれている必要があります。

```bash lines theme={null}
curl --request GET \
  --url 'https://YOUR_AUTH0_DOMAIN/api/v2/attack-protection/phone-provider-protection' \
  --header 'authorization: Bearer MANAGEMENT_API_ACCESS_TOKEN'
```

## バックオフイベントを監視・監査する

指数バックオフによってユーザーのSMSリクエストが遅延した場合：

* MFAプロンプトに、新しいコードをリクエストするにはしばらく待つ必要がある旨がユーザーに表示されます。
* Auth0は監査用に、制限された試行と残りのクールダウン期間を記録した`limit_phone`イベントをテナントログに出力します。`limit_phone`の詳細については、[テナントログカタログ](/docs/ja-jp/tenant-logs/system-notification/limit-phone.md)を参照してください。

これらのイベントを確認するには：

1. [**Auth0 Dashboard > Monitoring > Logs**](https://manage.auth0.com/dashboard/#/logs)に移動します。
2. `type: "limit_phone"`でフィルタリングします。

## 詳細情報

* [MFA 用の SMS と音声通知を設定する](/docs/ja-jp/secure/multi-factor-authentication/multi-factor-authentication-factors/configure-sms-voice-notifications-mfa.md)
* [電話メッセージングプロバイダーを設定する](/docs/ja-jp/customize/phone-messages/configure-phone-messaging-providers)
