iPhoneの中にある保護されたシステム
iPhoneでは、アプリやメッセージ、Webページ、バックグラウンドサービスが動いています。それぞれが、セキュリティ上のミスが起こりうる場所を増やします。
Secure Enclaveは、機密キーの保護とセキュリティに関する判断という、限られた役割のために存在する、独立した保護済みのセキュリティシステムです。メインシステムとは切り離された、専用のプロセッサとメモリを持っています。
忙しいオフィスの中にある金庫だと考えてみてください。条件が満たされれば、スタッフは金庫に頼んで何かのロックを解除してもらえますが、金庫から鍵を取り出すことはできません。
鍵は、見せることなく使える
鍵を作成すると、Secure Enclaveはその鍵を保護されたシステムの内部に保持し続けます。アプリはFace IDやパスコードの確認を経て鍵の使用を依頼できますが、受け取れるのは処理結果だけで、鍵そのものではありません。
スマートフォンの通常の領域にまで侵入したマルウェアであっても、Secure Enclave内の鍵にたどり着くのははるかに困難です。
Secure Enclaveが守っているもの
Face IDとTouch ID。生体認証の情報はSecure Enclave内部で保護されます。スマートフォンの他の部分に渡されるのは、承認か拒否かの結果だけです。
Apple Pay。取引を承認する際に使う決済情報の保護に役立ちます。
パスコードの試行制限。パスコードの入力を間違えるたびに待ち時間を長くし、素早い総当たりを難しくします。
デバイスの暗号化。ストレージ暗号化用の鍵を、それを作成したデバイスに結びつけたままにします。
デバイスに紐づく鍵が役立つ理由
Secure Enclave内で作られた鍵は、そのデバイスに紐づいています。単純に別のスマートフォンにコピーして使うことはできません。
例えば、ロックされたiPhoneから暗号化データをコピーした泥棒がいても、デバイスに紐づく鍵とパスコードは手に入りません。そのデータは、そのまま開けるファイルにはなりません。
その保護が及ばない範囲
Secure Enclaveが守るのは鍵であって、デジタルライフのすべてではありません。スマートフォンのロックが解除されていれば、許可されたアプリは保護された鍵を使ってデータを読み取れます。
フィッシングや使い回しのパスワード、自分で許可した悪意のあるアプリまでは防げません。実践的なポイント:強力なパスコードを設定し、アップデートを適用し、使わないときはスマートフォンをロックしましょう。
Sealbyでの使い方
Sealbyは、ボールトのデバイス紐づけ鍵を守るためにSecure Enclaveを使っています。その鍵は、そのiPhone専用に作られてそこで使われるものであり、通常のアプリのメモリには保存されません。
ボールトのロックを解除するには、デバイスとPINまたはパスフレーズの両方が必要です。コピーした暗号化バックアップには、すぐに使えるデバイス鍵は含まれていません。