Logo ja.androidermagazine.com
Logo ja.androidermagazine.com

Android Lollipopのフルディスク暗号化とは何ですか?

目次:

Anonim

Android 5.0 Lollipopの「デフォルト」フルディスク暗号化(FDE)については、多くの情報があります。 その一部は良い情報であり、一部は悪い情報であり、その多くは単なる推測の断片です。 これにより良い会話 が得られ ますが(FDE は 語る価値の ある ものですが)、より細かい点を読みやすい議論に分解したかったのです。

これは、Android暗号化に関するすべてを網羅したドキュメントを意図したものではありません。 Googleはすでにその1つを投稿しています。 私たちは、聞き続けている消費者志向の質問に取り組むつもりです。 いつものように、ディスカッションにコメントを使用して、私たち 全員 が少しだけ学習できるようにします。

暗号化とは何ですか?

暗号化は、暗号化キーを使用してデータを保護するプロセスです。 パスワードをキーと考えてください。暗号化は 非常に 安全なロックです。 何かをするためには、鍵が必要です。 そして、正しいキーなしで入ることは可能ですが、それはほとんどありません。 (はい、すべての暗号化システムは、少なくとも理論的には、患者やcraftな個人によって破られる可能性があります。)

Androidでは、デバイス上のすべてのユーザーデータ(Android 3.0以降)を暗号化できます。 データはディスクに書き込まれる前に、実際にオンザフライで暗号化されます。 次に、データは、それを要求するプログラムに返される前に復号化されます。 必要なのは正しいキーだけです。これは、デバイスマスターパスワードを使用したパスワードベースです。

ロリポップの変更

不幸なAndroid 3.x Honeycomb以降、FDEはAndroidで利用可能になりましたが、Android 5.0では、すべての動作にかなり大きな変更と改善が加えられています。

Lollipopでは、FDEは、ストレージのブロックレイヤーに直接作用するカーネル機能を使用して行われます。 つまり、暗号化は、eMMCストレージなどのフラッシュデバイス(ネイティブ暗号化機能を持たない)で機能します。これは、標準ブロックデバイスとしてカーネルに提示されるためです。 暗号化は、ストレージと直接やり取りするファイルシステム(YAFFSなど)では不可能です。 携帯電話やタブレットを作った人は、外部ストレージ(SDカードなど)を暗号化する方法を含んでいたかもしれませんが、Android AOSPは主に内部ストレージを扱います。 使用されるアルゴリズムは、CBCとSHA256ハッシュ関数を使用した暗号化されたソルトセクター初期化ベクトルを備えた128ビットAESです。 マスターキーは、OpenSSLライブラリへの呼び出しも使用します。

言い換えれば、それは安全だと非難されています。

Androidの最初の起動時に、デバイスはランダムな128ビットのマスターキーを作成し、ハッシュして暗号化メタデータに保存します。 このデータは、ユーザーのパスフレーズによってロック解除されます。 (また、覚えておいてください、弱いパスワードを使用しないでください。)結果のハッシュは、TrustZoneのようなTEEベース(Trusted Execution Environment)機能などのハードウェアバッキングを通じても署名されます。 Android 5.0より前では、マスターキーはユーザーのパスワードのみに基づいて暗号化されていたため、ADBを介したオフボックス攻撃に対して脆弱でした。

興味深いことに、GoogleはAOSPまたはNexus 6でQualcommハードウェア暗号化エンジンを使用していません。これは、クアルコムのハードウェアベースを使用するよりもディスクI / O中(おそらく512バイト間隔ごと)にCPUベースの暗号化と復号化を強制するため、非効率的ですパフォーマンス機能。 なぜ これが行われるのかを二度と推測するつもりはありませんが、OEMは好きなように自由に実装できることを知っています。 彼らがそうなることを願っています。

Googleは、Androidでの完全なディスク暗号化を安全にするために多くのことを行ってきました。 全体として、彼らはかなり良い仕事をしました。

パフォーマンスの問題

暗号化が有効になっているNexusデバイスでのディスクの読み取りと書き込みのパフォーマンスが低いと聞いたことがあるでしょう。 事実です。暗号化と復号化をその場で行う必要がある場合、ディスクI / O速度が低下します。 前述のように、GoogleはNexus 6でQualcommのハードウェアベースのカーネル機能を使用して いない ため、Nexus 6はさらに苦しんでいます。 しかし、それはどれほど悪いですか?

LollipopのディスクI / Oは、KitKatおよび以前のバージョンのAndroidよりも数倍高速です。 ソフトウェアの最適化とデバイス固有のコードは、Androidがこれまで以上に高速にストレージから読み書きできることを意味します。 これは非常に良いことで、暗号化のためにI / O時間が遅くなることでほとんど無効になります。

FDEを使用する必要がある場合(または新しいNexusを購入したためカスタムファームウェアをインストールしたくないために使用を余儀なくされた場合)、パフォーマンスはキットカットよりも優れています(紙上)。 暗号化なしでは、それほど良くありません。 実際の使用では、話したほとんどのユーザーは、I / Oが遅いためにデバイスの遅延に気付かない。 あなたの経験は異なるかもしれません。

FDEが必要または必要な場合は、おそらくトレードオフの価値があります。

暗号化は必須ではありません(とにかく必要ですか?)

Lollipopの更新プログラムが既にインストールされている携帯電話をお持ちの方は、Lollipopが暗号化の使用を強制することはないことを伝えることができます。 Nexus 6およびNexus 9(およびおそらくすべての将来のNexusデバイス)は有効になっており、簡単にオフにすることはできませんが、Lollipopに更新された電話機(Galaxy Note 4など)では、フルディスク暗号化が自動的に有効になりません。

LG G Flex 2など、Android 5.xに同梱されている新しいデバイスについても同じことが言えます。オプションを有効にする必要がありますが、デフォルトでは完全暗号化はオフになっています。 これにより、選択が可能になります-完全なディスク暗号化が必要ですか?

私たちの多くは、フルディスク暗号化が便利だと思うでしょう。 あなたが決してあなたの携帯電話で間違った手に落ちたくないような機密情報を持っているなら、FDEは天の恵みです。 誰かがデータにアクセスするには、デバイスのパスワードを知っている必要があります。 ワイヤーをいじるだけで侵入することはありません。強力なパスワードを使用すれば、ほんの数回の誤った推測の後、すべてがロックダウンされるため、データは安全です。

他の人にとっては、標準のロック画面セキュリティだけで十分です。 電話を紛失した場合、Androidデバイスマネージャーまたは別のユーティリティを使用してリモートでワイプできます。ワイプする前に誰かがオフラインにできる場合は、ロック画面のパスワードをバイパスすることができます(発生する可能性があります) getには、いくつかの写真とGoogleアカウントへのアクセスがあり、それらを使用してパスワードをすばやく変更できます。

また、政府全体のスヌーピング問題についても考慮する必要があります。 私たちのほとんどは、携帯電話に保存したものに対する結果を恐れる理由はありませんが、私たちの個人データに関しては、まだ少しのプライバシーと保護に値します。 完全なディスク暗号化により、データを見る必要があると考える政府機関からデータを安全に保つことができます。

完全なデバイス暗号化が必要かどうか を 知っているのはあなただけ です 。