Hey everyone! I'm pretty new here but have been using TimePIN on my phone for a while. Since they finally pushed out 5.1 for the Moto series, I miss using TimePIN.
A couple pages back, someone posted an email from jcase citing issues encryption and specifically, disk encryption and the lockscreen password. I noticed that there was an warning message in the new Lollipop phones that said:
Because you've turned on an accessibility service, your device won't use your screen lock to enhance data encryption
So, that got me digging. I found some information but not a lot and wanted some thought on it.
I first found this bug report 79309, and these two instructions on the accessibility service from LastPast and 1Password. (Sorry, spam protection prevents me from linking anything.)
This points to an interesting scenario where the lock screen doesn't actually impart device encryption. This lead me to Android's the documentation for encryption states:
In the Android 5.0 release, there are four kinds of encryption states:
Upon first boot, the device creates a randomly generated 128-bit master key and then hashes it with a default password and stored salt. The default password is: "default_password" However, the resultant hash is also signed through a TEE (such as TrustZone), which uses a hash of the signature to encrypt the master key...
When the user sets the PIN/pass or password on the device, only the 128-bit key is re-encrypted and stored. (ie. user PIN/pass/pattern changes do NOT cause re-encryption of userdata.)
The last sentence seems to interesting. While the phone does use the PIN to encrypt the data, changing doesn't actually affect the data and will not require re-encryption. In simpler terms, the PIN code protects the encryption key that in which protects the phone data.
More digging, I found other bug report (79342) on ActiveSync and encryption requirements and the general Google Support page on encryption on Nexus devices which says:
Pulling everything together, on Lollipop devices, there is one option to not
require a PIN on startup. This means the phone stays encrypted with the generated encryption key but the startup of the phone does not
require entering a PIN to start up.
In theory, TimePIN can work with device encryption but will require the PIN on startup to be disabled.
This can be done by requesting the accessibility service which does it automatically or prompting the user during setup. This allows the phone to be encrypted, Startup normally without a PIN. At this time, TimePIN as an app can start with the system and do its normal thing of resetting back to the default PIN and the Time/Date pin after that.
Each time the PIN changes, the system re-encryptes the master key but not the disk itself.
What do you guys think?