GDPR 第32条に基づき、リスクに応じた適切な水準の安全性を確保するために、適切なセキュリティ対策を実施する必要があります。これには、次のようなものが含まれます (ただし、これらに限定されません) 。
- 個人データの暗号化
- 処理システムおよびサービスの継続的な機密性、完全性、可用性、ならびに復元性を確保する能力
- 物理的または技術的なインシデントが発生した場合に、個人データの可用性およびアクセスを適時に回復する能力
Auth0 には、これを実現するのに役立つ機能がいくつかあります。たとえば、ユーザープロファイルの暗号化、、、ステップアップ認証などがあります。
これらのドキュメントの内容は、法的助言を目的としたものではなく、法的支援に代わるものでもありません。GDPR を理解し、遵守する最終的な責任はお客様にありますが、Auth0 は可能な範囲で GDPR 要件への対応を支援します。
ユーザー情報は、ユーザープロファイルに保存する前に暗号化できます。メタデータフィールドにデータを保存する前であれば、任意の暗号化方式を使用できます。ユーザーが機密情報を設定する場合は、ユーザーを更新エンドポイントを呼び出します。
悪意のあるアクセス試行からアプリケーションを保護するため、Auth0 の総当たり攻撃対策シールドはデフォルトで有効になっています。
このシールドには、2 種類のトリガーがあります。
- 同じユーザーによる、同じ IP アドレスからの連続した 10 回のログイン失敗
- 同じ IP アドレスから 24 時間以内に 100 回のログイン失敗、または 1 分間に 50 回のサインアップ試行
たとえば、user_id1 のユーザーが IP1 からサインインし、10 回連続でログインに失敗した場合、そのユーザーによるこの IP1 からのログイン試行はブロックされます。一方、別のユーザー user_id2 が IP1 からサインインしても、ブロックされません。
Auth0 は、同じ IP アドレスから単一のアカウントに対して 10 回のログイン失敗を検出するたびに、次の対応を行います。
- ユーザーに通知メールを送信します。
- そのユーザーに対して、不審な IP アドレスをブロックします。
Auth0 は、同じ IP アドレスから 24 時間以内に 100 回のログイン失敗、または 50 回のサインアップ試行を検出するたびに、次の対応を行います。
- Auth0 Dashboard 管理者に通知します。
- 不審なアドレスを 15 分間ブロックします。
Auth0 Dashboard では、総当たり攻撃対策を有効にし、実行する対応を設定し、ブロックされたアカウント向けのメールをカスタマイズできます。
漏えいパスワードの検知機能は、公開されたデータ侵害で漏えいした可能性のあるユーザーの資格情報を特定するのに役立ちます。
Auth0 は、主要なサードパーティサイトで発生した大規模なセキュリティ侵害を追跡しています。ユーザーの資格情報が公開されたセキュリティ侵害に含まれていた場合は、対策として次のことができます。
- 影響を受けたユーザーにメールを送信する
- Auth0 Dashboard の所有者に直ちにメールを送信し、さらに日次/週次/月次の要約を受け取れるようにする
- そのユーザー名とパスワードの組み合わせを使った、該当ユーザーアカウントのログイン試行をブロックする。このブロックは、ユーザーがパスワードを変更するまで継続されます
Auth0 Dashboard を使用して、漏えいパスワードの検知を有効にし、実行するアクションを設定できます。
(MFA) を使用すると、アプリケーションにセキュリティをもう一段階追加できます。これは、2つ以上の識別情報の提示を求めることで、ユーザーの本人確認を行う認証方法です。
当社では、プッシュ通知、SMS、ワンタイムパスワード認証サービス、カスタムプロバイダーを使用したMFAをサポートしています。特定のユーザーや特定の操作 (たとえば、機密データを含む画面へのアクセス) に対してMFAを有効にできます。また、地理的な場所の変化や未認識のデバイスからのログインなど、追加の認証チャレンジをトリガーする条件を定義することもできます。
新規登録時のパスワードの複雑さはカスタマイズできます。たとえば、10文字以上で、英大文字、数字、特殊文字をそれぞれ1文字以上含むパスワードを必須にできます。
また、Password History 機能を使って過去に使用したパスワードの再利用を禁止したり、Password Dictionary を使ってよく使われるパスワードをユーザーが選べないようにしたりすることもできます。これら3つの機能はすべて Auth0 Dashboard から設定できます。
ステップアップ認証では、アプリケーションは、機密性の高いリソースへのアクセス時に、より強力な認証方式でユーザーに認証を求めることができます。たとえば、銀行のアプリケーションでは、口座の基本情報を表示するだけであれば多要素認証 (MFA) は不要でも、ユーザーが口座間で送金しようとする場合には、追加の認証要素を 1 つ使って認証する必要があります (たとえば、SMS で送信されるコードなど) 。
ユーザーが MFA でログインしたかどうかは、その または の内容を確認することで判別できます。そのうえで、トークンからユーザーが MFA でログインしていないことが分かる場合は、機密性の高いリソースへのアクセスを拒否するようアプリケーションを設定できます。
Auth0 は、スケーラブルで高可用性を備えたマルチテナントのクラウドサービスとして設計・構築されています。あらゆるレベルでコンポーネントを冗長化しているため、個々のコンポーネントに障害が発生しても高い回復性を維持できます。また、障害を迅速に検知し、フェイルオーバーも非常に高速に行われます。
Auth0 のアーキテクチャの詳細については、Availability & Trust をご覧ください。