設定やダウンロードしたアプリ、データなどを暗号化してセキュリティを強化する機能、「携帯電話の暗号化 (端末の暗号化)」が、Xperia Xシリーズからはデフォルトで強制的に有効化されるようになりました。
携帯電話の暗号化とは
スマートフォン内のデータを暗号化して保存するようにする機能で、有効にしていると再起動する度にロック解除して復号する操作が必要になります。暗号化されたデータは基本的には他人に盗まれても復号されなければ読み取られないので、この仕様はユーザーが何も気にすること無くセキュリティを強化できるため、セキュリティの面では良い仕様変更と言えます。
設定→ロック画面とセキュリティで、「携帯電話の暗号化」がタップできず、「暗号化されています」と表示されていると強制的に暗号化されています。
カスタムする人には少し面倒な仕様
一般的には暗号化でセキュリティが少しでも強化された方が嬉しいのですが、カスタムROMを焼いたり、TWRPを頻繁に使うような人にとっては、暗号化をされていると少し困ったことになります。
携帯電話の暗号化/復号機能にはオープンソースでないecryptfs.koなどが使われており、強制的に読み込ませないと使えなかったり、オープンソース版をビルドしたりしないといけません。さらに、TWRPで暗号化されたデータを復号するために暗号化/復号できるようにecryptfs.koなどを読み込んで利用できるようにする必要があります。
TWRPを起動する度に復号していては時間がかかってしまうので、個人的にはセキュリティより利便性を取りたいと思ってしまいます。
パフォーマンスにはほぼ影響なし
暗号化が実装された当初は、暗号化された状態ではストレージのパフォーマンスが低下する問題が発生していましたが、現在では解消されているため、暗号化の有無でパフォーマンスが変わりません。Xperia X Performanceで試してみましたが、暗号化された状態でも復号した状態でも、A1 SD Benchを使ったベンチマークでは読み込み速度160MB/s、書き込み速度100MB/s程度で安定していて、体感でも変化は感じられませんでした。
強制暗号化を無効化するにはカスタムカーネルが必要
携帯電話の暗号化を強制する記述は、ramdisk内のfstab.qcomにあります。
暗号化を強制にしないようにするには、ユーザーのデータを保存するパーティション、userdata
/dev/block/bootdevice/by-name/userdata /data ext4 nosuid,nodev,noatime,barrier=1,noauto_da_alloc,discard wait,check,forceencrypt=footer,resize
のforceencryptをencryptableにします。
fstab.qcomを書き換えるにはカーネルを弄らないといけないので、Xperiaではbootloader unlockして、カスタムカーネルをインストールしないと無効化できません。
データの初期化で無効化
forceencryptをencryptableにしたカスタムカーネルでは、データを初期化すれば暗号化が解除されます。
データの初期化は設定→バックアップとリセット→データの初期化でできます。強制暗号化を無効にしたカーネルをインストールした状態で「携帯電話をリセット」をタップして初期化すれば、右の画像のように「暗号化されています」という表示が無くなり、暗号化するかどうかを自分で選べるようになります。
ただし、一度でもカスタムしていないstockのカーネルを焼いて起動してしまうと、また自動的に暗号化されてしまいます。かなりやっかいな仕様ですね…。