GrapheneOSによるロック済みデバイスからのデータ抽出に対する保護機能

GrapheneOSによるロック済みデバイスからのデータ抽出に対する保護機能

GrapheneOSは、Android 17のセキュリティ機能、専用ハードウェア、およびカスタムOSのハードニングを組み合わせることで、ロックされたデバイスからのデータ抽出を防ぐための多層的なセキュリティアーキテクチャを採用しています。主な目的は、攻撃者に対して、OSがAfter First Unlock (AFU) 状態にある間にエクスプロイトを試みるか、ハードウェアによって強制されたレート制限に対してパスワードの総当たり攻撃(ブルートフォース)を試みるかのいずれかを選択させることです。

ハードウェアによるレート制限とインサイダー攻撃への耐性

サポートされているデバイスのセキュアエレメントは、PINやパスワードへのブルートフォース攻撃を防ぐために厳格なレート制限を実装しています。Android 16 QPR2の仕様に従い、システムは試行回数に応じて遅延を増大させます。10回の試行失敗後は4時間の遅延が課され、15回の試行後は遅延は41日間に増加します。システムがロックダウンされる前に許可される試行回数は、合計20回のみです。

政府や企業などの団体が、強制的なファームウェアアップデートを通じてこれらの制限を回避することを防ぐため、GrapheneOSは「インサイダー攻撃耐性」を利用しています。このメカニズムは、セキュアエレメントのファームウェアを更新する前にOwnerユーザーが正常に認証されることを必要とするため、有効な署名鍵と高いバージョン番号だけでは、レート制限を解除するような悪意のあるアップデートをプッシュすることができないようになっています。

認証とパスフレーズの強化

セキュアエレメントのレート制限の限界を超えるため、GrapheneOSは最大パスワード長を16文字から128文字に拡張しています。これにより、ユーザーは数学的にブルートフォースが不可能な、高エントロピーのdicewareパスフレーズを利用できるようになります。

高いセキュリティと日常的な利便性のバランスを取るため、GrapheneOSはオプションの第2要素指紋PINを導入しています:

  • メカニズム: 有効な指紋スキャンが行われると、ユーザーに短い第2要素PINの入力を求められます。
  • セキュリティ: 指紋認証の許可試行回数は20回から5回に減少します。正しい第2要素PINの入力に失敗すると、試行失敗としてカウントされます。
  • 結果: これにより、ユーザーはBefore First Unlock (BFU) 状態のために長く複雑なパスフレーズを維持しつつ、AFU状態での迅速なアクセスのために指紋と短いPINを使用することができます。

OSのハードニングと物理アクセス保護

GrapheneOSは、デバイスへの物理的なアクセス権を持つ者による攻撃対象領域を減らすために、いくつかの保護層を実装しています:

  • エクスプロイト保護: OSは、メモリ破損エクスプロイトを軽減するために、ハードenedメモリアロケータとハードウェアベースのメモリタギング (MTE) を使用しています。
  • USBブロッキング: デバイスがロックされている間、新しいUSB接続はソフトウェアとハードウェアの両方のレベルでデフォルトでブロックされます。アクティブな接続が終了すると、USBデータは直ちに無効化されます。
  • 自動再起動タイマー: GrapheneOSには、ロックされたデバイスの自動再起動タイマー(デフォルトで18時間に設定)が含まれています。これにより、デバイスは自動的にBFU状態に戻り、RAM内の残存データが消去され、セキュアエレメントのアップデートがブロックされます。Apple (iOS 18.1) や Google (Android 16) も同様の機能を追加していますが、GrapheneOSの実装には、データがRAMから完全に消去されることを確実にするためのブートプロセス中のメモリゼロ化が含まれています。

セカンダリユーザーとプライベートスペースのデータ管理

Androidは、セカンダリユーザーとPrivate Spacesに対して個別の暗号化キーを提供しています。GrapheneOSは、セカンダリユーザー向けの「セッション終了」や、デフォルトでBFU状態に戻るようにする特定のトグルを介して、システム全体を再起動することなくこれらのプロファイルがBFU状態に戻ることを可能にすることで、これを強化しています。

デュレスPIN/パスワード機能

GrapheneOSは、OSのあらゆる認証プロンプト(ロック画面、機密設定の変更など)で入力されるとデバイスを消去する、デュレス(強制)PIN/パスワードを提供しています。この機能は、セカンダリユーザーやPrivate Spacesを含むすべてのプロファイルで動作します。

重要な点として、デュレスPINは抽出に対する主要な防御策ではなく、完全なデータ破壊のためのオプションツールであることに注意してください。コミュニティの議論で指摘されているように、法的または国境検問の文脈でこのような機能を使用することは、重大な身体的または法的リスクを伴う可能性があります:

「例をスマートフォンと暗号化から、より日常的なものに移すと、これが賢明な判断ではなく、おそらく罰則を受けるか、少なくとも膨大な数の質問やさらなる追及を受けるという、ひどい目に遭うことになることがわかるでしょう。」

ハードウェアの互換性と将来のサポート

現在、GrapheneOSはGoogle Pixelデバイスのみをサポートしています。これは、Pixelが必要なハードウェアセキュリティ機能とアップデートを提供しているためです。しかし、Motorola Mobilityとの提携やQualcommによる進展により、2027年からはPixel以外のハードウェアへのサポート拡大が期待されています。

Sources