vold: support v2 encryption policies
Add support for setting v2 encryption policies when configured in the fstab (for internal storage) or in system properties (for adoptable storage), and for installing and evicting the keys for such policies. v2 policies support the same encryption modes and flags as v1 policies, but internally they use a more standard, secure, and flexible KDF. Due to this, some future features will be supported by v2 policies only. Bug: 140500999 Test: Configured a device to use v2 encryption policies (applied the needed kernel patches and added "fileencryption=aes-256-xts:aes-256-cts:v2" to fstab, and set the corresponding system properties for adoptable storage). Wiped userdata, booted device and checked logs to verify that v2 policies were being used. Also enabled virtual SD card and formatted as adoptable storage; verified it works and that v2 policies were being used on it. Also created, started, and stopped a 2nd user and verified their keys were evicted. Also verified that the device comes up again after rebooting. Also verified that a device using v1 encryption policies continues to work, both with and without an updated kernel -- including stopping a user so that their keys get evicted. Change-Id: If64028d8580584b2c33c614cabd5d6b93657f608
Loading
Please register or sign in to comment