世界を動かす技術を、日本語で。

ロックされたデバイスからのデータ抽出に対するGrapheneOSの保護

概要

  • GrapheneOS はAndroid 17の標準セキュリティを大幅に強化
  • Pixel 端末のみが現時点で完全対応、2027年にはMotorolaなども対応予定
  • ディスク暗号化 と高度なセキュリティ要素によるデータ保護
  • パスワード制限・自動再起動・物理攻撃対策 など多層防御
  • Duress PIN など追加機能も提供、ユーザーのプライバシー強化

GrapheneOSの強力なデータ抽出防御

  • GrapheneOS はAndroid 17の標準セキュリティ機能に加え、独自の強化策を多数実装
  • Pixel 端末のみが、必要なハードウェアセキュリティ機能とアップデートに対応
  • Motorola MobilityQualcomm との連携により、2027年以降は対応端末が拡大予定
  • ディスク暗号化 によるデータ保護、攻撃者による直接的な突破はほぼ不可能
  • OSの「After First Unlock」状態を狙った攻撃か、PIN/パスワードの総当たりのみが現実的な攻撃手段

セキュアエレメントとレートリミット機能

  • Android 16 QPR2 準拠のセキュアエレメントによるレートリミット実装
    • 10回失敗後4時間、15回失敗後41日間のロック
    • 総試行回数は20回まで
    • 直近5回の異なる失敗は早期リジェクトで使いやすさも考慮
  • GrapheneOS は最新世代のセキュアエレメントレートリミットにのみ対応
  • セキュアエレメント は内部タイマーによるレートリミットとインサイダー攻撃耐性を搭載
    • オーナーユーザーの認証がないとファームウェアアップデート不可
    • 政府などによる強制的なレートリミット解除を防止
  • Pixel 2 以降、これらのハードウェアセキュリティを標準搭載

パスワード・認証強化

  • パスワードの文字数上限 を16から128文字に拡張
    • 高エントロピーなDicewareパスフレーズ利用が現実的に
  • バイオメトリクスの利便性と安全性 を両立するため、2段階認証用指紋+PINを導入
    • 指紋認証の試行回数を20回から5回に制限
    • 2段階目のPIN失敗も試行回数にカウント
    • 6~8語のDicewareパスワードと短いPINで利便性と安全性を両立

OS・ハードウェアレベルのエクスプロイト防御

  • メモリアロケータの強化ハードウェアメモリタグ(MTE) など、多数のエクスプロイト対策
  • 物理アクセス攻撃 への特化した防御
    • ロック中のUSB接続をソフト・ハード両面で無効化
    • USBデータ通信もアクティブ接続がなければ即時無効化

自動再起動・メモリクリア機能

  • ロック状態自動再起動タイマー を2021年6月から実装
    • 10分~72時間で設定可能、デフォルトは18時間
    • 再起動時に「Before First Unlock」状態へ戻し、RAMもゼロクリア
  • Pixel では2024年4月からファームウェアのfastbootモード起動時にもメモリゼロクリアを適用
  • Apple(iOS 18.1)Google(Android 16) でも同様の機能を採用
    • GrapheneOSの実装はより多機能

ユーザー・プライベートスペース管理

  • Android はセカンダリユーザーやPrivate Spaceごとに別々の暗号鍵を使用
  • GrapheneOS は再起動せずにセカンダリユーザーやPrivate Spaceを「Before First Unlock」状態に戻すことが可能
    • ただし、メインユーザーは再起動が最善策

Duress PIN/パスワード機能

  • Duress PIN/パスワード は、どのプロファイルでも入力時に即時デバイスワイプを実行
    • 設定変更や認証プロンプトなど、あらゆる場面で有効
    • 指紋認証の2段階目PINとして入力してもワイプ
    • SIM PINには非対応
  • 使い方例
    • ケースや財布に書いておくなどの運用
    • 実際の危機状況では慎重な利用判断が必要
  • 必須機能ではなく補助的なセキュリティ手段
    • データ抽出防止は他の主要機能で担保

その他の機能と情報源

  • 公式機能一覧ページ で主要・マイナー機能を確認可能
  • リリースノート で追加・変更・削除された全機能を網羅
    • https://grapheneos.org/features
    • https://grapheneos.org/releases#changelog

まとめ

  • GrapheneOS は、Android標準を超える多層的なセキュリティとプライバシー強化を実現
  • ハードウェア・ソフトウェア両面での最新技術を投入
  • 2027年以降、より多くの端末で利用可能予定

Hackerたちの意見

関連のxkcd: https://xkcd.com/538/

関連ニュース: https://www.androidauthority.com/grapheneos-duress-pin-us-pr... ガーディアンによると、アトランタ在住のサミュエル・チュニックさんが、国境警備員が彼のGoogle Pixel電話を調べようとした際に、GrapheneOSの強制PINを使ったとして、アメリカ司法省に起訴されているらしい。彼はパスワードを渡したみたいだけど、それは電話をロック解除するためのものじゃなくて、電話を消去するためのパスワードだったみたい。最初にデバイスのバックアップを取らなかったのが意外だね。

このミーム、嫌いだわ。要するに、少なくとも彼らに5ドルのレンチで殴ることを強いさせることが目的だから、その時点で彼らはあなたがやってることよりも深刻な犯罪を犯してる可能性が高い(国によるけど)。

これ、ニュース記事 [1] に対する反応として投稿されたんじゃないかな。GrapheneOSは強制PINやパスワードなしでもデータを抽出されない強力な保護があるってことを説明するために。関連する記事 [2] では、GrapheneOSがジャーナリストの仕事や機密情報を守るのにどう役立ったかについても書かれていて、18時間の自動再起動機能があって、デバイスを「初回ロック解除前(BFU)」モードに戻せるから、鍵が抽出できないんだって。 [1] アメリカの男性が国境での検査中にGrapheneOSの強制PINを使ってPixelを消去したとして起訴されている – https://www.theguardian.com/us-news/2026/jul/23/cop-city-pro... [2] ジャーナリストが携帯電話を押収された。GrapheneOSを使うことでデータは守られたのか? – https://www.computerweekly.com/feature/Journalist-Richard-Me...

18時間の自動再起動機能についても言及しておくと、デバイスを「初回ロック解除前(BFU)」モードに戻せるから、鍵が抽出できないんだ。自動再起動の時間を短く設定することもできる(最短10分)。だから、電話が押収される可能性がある状況(国境越えやデモなど)を予想しているなら、一時的に短い時間に設定するか、自分で電話を再起動してBFUにするのがいいよ。

最初のリンクについてだけど、「『心配だ。これは[GrapheneOS]がデフォルトで犯罪者だというメッセージを送っている』とサイバーセキュリティと監視の専門家クリストフ・ブートリーは言った。」って、かなり煽ってる表現だよね。保護が犯罪で、脆弱性が法を守ってるって言ってるようなもんだ。

GrapheneOSに欠けているのは、国境を越える前にスマートフォンを予防的に消去できる完全なバックアップと復元のソリューションだと思う。GoogleやAppleのユーザーがGoogleクラウドやiCloudでやってるみたいに、ssh/sftpサーバーからアプリやそのデータをバックアップ/復元できる機能があればいいのに。スマートフォンを消去して、連絡先を数件追加して、パスポートのコピーと飛行機のチケットのPDFだけ持って、最小限の本物の個人データで国境を越えられたらいいな。もし法執行機関にパスワードを求められたら、渡せばいいし、ただのダムフォンみたいに使われてる電話だって見せられる。もしそれで質問されたら、「昨日電話が壊れちゃって、友達が古いPixelをくれたんだ」って言えばいいし。旅行中にもっと情報が必要になったら、パスワードマネージャーやリモートのsshサーバーにアクセスするためのフレーズだけ覚えておけば、必要なものだけ復元して、いつでもまた消去できる。そう考えると、こういう設定をどこかで整えるのがいいかもだけど、デフォルトで法執行機関がGrapheneOSユーザーのデータがどこかのsftpサーバーにあるとは思わないようにした方がいいかもね。そうじゃないと、また元の状態に戻って、彼らが接続を求めてきて、自分の電話に復元しようとすることになる。あと、アマゾンやアリエクスプレス、シェインでちょっとしたものを買うためだけに使ったダミーのGoogleアカウントを持っておくといいかも。Gmailアドレスはすぐにスパムで埋まって、リアルに見えるし。私は3週間後に1ヶ月間海外旅行に行く予定で、飛行機に乗る前にGrapheneOSの電話を消去することを真剣に考えてる。Google Pixelを持ってるだけで国境で狙われるかもしれないからね。もしくは、メインの電話を家に置いて、新しい150ユーロの空の電話だけ持って行くのもありかも。国境でスマートフォンを見せるように言われたことはないけど、いつ起こるかわからないからね。幸い、再起動するまではロックスクリーンからは普通のGoogle Pixel Androidが動いてるとはわからないし。

SeedVaultの代替が計画中: https://grapheneos.org/features#encrypted-backups https://github.com/GrapheneOS/os-issue-tracker/issues/4687#i...

正直、何もインストールされてない電話を持ってる人の方が怪しい気がする。

別のパスワードでデータパーティションを起動できる方が便利だと思うな。それで、他の「日常」パーティションを隠せるし。LUKSならそれができると思う。ストレージダンプはランダムなデータのセットみたいに見えるし、有効なパスワードだけが隠されたパーティションを見つけて復号できる。理想的には、ロック画面でもこれが機能するべきだよね。例えば、標準じゃないPINを入力すると、バックグラウンドで「ダミー」パーティションから起動するみたいに。少し遅延があってもいいし。これなら、バックアップを取る必要もない(もちろん取るべきだけど、普通の用途では)し、ランダムにチェックされたときにも言い訳ができるよね。国境を越えるときだけじゃなくて。

交差したときに何が起こったか教えて。

完全なバックアップが必要だよね。自分の暗号化されたサーバーに保存して、ボタン一つで復元できるやつ。GrapheneOSのスマホが壊れたり盗まれたりする可能性を考えると、Seedvaultが見逃したものを再インストールしたり再設定したりするのに何時間もかかるのが本当に嫌だし、セキュアエレメントキーでロックされたアカウントにアクセスできなくなるのも怖い。

Hacker Newsで議論の続きを見る