
パスコードとパスワード
ユーザデータを悪意ある攻撃から保護するために、AppleはiOS、iPadOS、およびvisionOSでパスコード、macOSでパスワードを使用しています。パスコードまたはパスワードは長いほど強力であり、総当たり(ブルートフォース)攻撃を抑制しやすくなります。攻撃をさらに抑制するために、Appleは待ち時間を適用したり(iOS、iPadOS、およびvisionOS)、パスワードの入力試行の回数を制限したりしています(Mac)。
iPad、iPhone、およびApple Vision Proでは、ユーザがデバイスパスコードまたはパスワードを設定することで、データ保護が自動的に有効になります。データ保護は、Appleシリコン搭載Mac、Apple TV、Apple WatchなどのApple System on Chip(SoC)を搭載したほかのデバイスでも有効になっています。macOSを搭載したデバイスでは、Appleは組み込まれたボリューム暗号化プログラムであるFileVaultを使用します。
強力なパスコードとパスワードによるセキュリティの強化
iOS、iPadOS、およびvisionOSは、6桁の数字、4桁の数字、および英数字を含む任意の長さのパスコードに対応しています。パスコードまたはパスワードを設定すると、デバイスをロック解除するだけでなく、一部の暗号鍵にエントロピーを付加することができます。これによって、デバイスを乗っ取った攻撃者は、パスコードがない限り特定の保護クラスのデータにアクセスできなくなります。
パスコードまたはパスワードはデバイスのUIDとタングルされる(関連付けられる)ので、総当たり(ブルートフォース)攻撃を行うには対象のデバイス上で実行する必要があります。各試行にかかる時間を長くするために、反復間隔が大きく設定されています。反復間隔は、試行1回につき約80ミリ秒かかるように調整されているので、英字の小文字と数字を使った6文字のパスコードの場合、すべての組み合わせを試すには5年半以上かかることになります。
ユーザパスコードが強力であれば、それだけ暗号鍵も強力になります。また、Optic ID、Face ID、およびTouch IDを使用すれば、入力するには実用的でない長さのパスコードも設定しやすくなります。強力なパスコードを使うことで、データ保護用の暗号鍵を保護するエントロピーの有効性を増大させることができ、1日に何度も実行するデバイスのロック解除のユーザ体験が損なわれることもありません。
パスコードに数字のみが含まれている場合は、ロック画面にテンキーが表示されます。数字のみの長いパスコードは英数字を含む短いパスワードよりも簡単に入力できますが、同水準のセキュリティを確保できます。
ユーザが「設定」>「Optic IDとパスコード」、「Face IDとパスコード」、または「Touch IDとパスコード」の「パスコードオプション」で「カスタムの英数字コード」を選択すると、より長い英数字のパスワードを指定できます。パスワードが英数字の場合は、ロック画面にフルキーボードが表示されます。
待ち時間の延長によって総当たり(ブルートフォース)攻撃を抑制する
iPad、iPhone、Mac、およびApple Vision Proでは、パスコードに対する総当たり(ブルートフォース)攻撃をさらに抑制するために、無効なパスコード、パスワード、またはPIN(デバイスとデバイスの状態に応じて)が入力された場合、次の入力までの待ち時間が以下の表の通りに延長されます。
試行回数 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10回以上 |
|---|---|---|---|---|---|---|---|---|
iOSおよびiPadOSのロック画面 | なし | 1分 | 5分 | 15分 | 1時間 | 3時間 | 8時間 | デバイスはロックされていて、MacまたはPCに接続する必要があります |
watchOSのロック画面 | なし | 1分 | 5分 | 15分 | 1時間 | 3時間 | 8時間 | デバイスはロックされていて、iPhoneに接続する必要があります |
FileVaultのログインウインドウとロック画面 | なし | 1分 | 5分 | 15分 | 1時間 | 3時間 | 8時間 | 8時間 |
macOSリカバリモード | なし | 1分 | 5分 | 15分 | 1時間 | 3時間 | 8時間 | 以下の「macOSで待ち時間の延長によって総当たり(ブルートフォース)攻撃を抑制する仕組み」を参照 |
FileVaultと復旧キー (個人、組織、またはiCloud) | なし | 1分 | 5分 | 15分 | 1時間 | 3時間 | 8時間 | 以下の「macOSで待ち時間の延長によって総当たり(ブルートフォース)攻撃を抑制する仕組み」を参照 |
macOSのリモートロックのPINコード | 1分 | 5分 | 15分 | 30分 | 1時間 | 1時間 | 1時間 | 1時間 |
iPad、iPhone、またはApple Vision Proで「データを消去」オプション(「設定」>「Optic IDとパスコード」、「Face IDとパスコード」、または「Touch IDとパスコード」)をオンにした場合、誤ったパスコードが10回連続で入力されると、ストレージからすべてのコンテンツと設定が削除されます。同じ内容の間違ったパスコードを連続で入力した場合はカウントされません。この設定は、この機能に対応するデバイス管理サービスおよびMicrosoft Exchange ActiveSyncの管理ポリシーとしても利用可能で、回数の上限を下げることもできます。
待ち時間はSecure Enclaveによって適用されます。待ち時間が適用されているデバイスを再起動しても待ち時間は適用されたまま、同じ期間の待ち時間がカウントされます。
macOSで待ち時間の延長によって総当たり(ブルートフォース)攻撃を抑制する
総当たり(ブルートフォース)攻撃を防ぐために、Mac起動時のログインウインドウでは、パスワードの入力試行が連続10回までに制限され、パスワードを一定の回数間違えると、次に入力できるまでの待ち時間が長くなります。待ち時間はSecure Enclaveによって適用されます。待ち時間が適用されているMacを再起動しても待ち時間は適用されたままで、同じ期間の待ち時間が最初からカウントされます。
マルウェアがユーザのパスワードの入力試行を続けることでデータが完全に失われるのを避けるため、ユーザがMacへのログインに成功したあとはこれらの制限は適用されなくなりますが、再起動後は再び適用されます。10回の試行回数に達すると、recoveryOSが再起動して、さらに10回の試行が可能になります。その回数にも達すると、設定されたFileVaultリカバリメカニズム(iCloud復元、FileVault復旧キー、組織のキー)に対してさらに10回の試行、つまり最大30回の試行が可能になります。これらの回数にも達すると、Secure Enclaveでは、ボリュームの復号またはパスワードの検証要求が一切処理されなくなり、ドライブ上のデータは復元不可能になります。
エンタープライズ環境では、データを保護するために、IT部門がデバイス管理サービスを使用してFileVaultの構成ポリシーを定義し、適用することが推奨されます。組織の場合、暗号化されたボリュームの管理方法には、組織の復旧キー、個人の復旧キー(任意でデバイス管理サービスに保存してエスクロー可能)、その両方の組み合わせなど、複数のオプションがあります。復旧キーのローテーションをデバイス管理サービスのポリシーとして設定することもできます。
Apple T2セキュリティチップを搭載したMacでは、パスワードはほぼ同じ機能を果たします。ただし、生成される鍵は、データ保護ではなくFileVault暗号化に使用されます。