TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Revisiting Android disk encryption

93 pointsby silentehover 10 years ago

8 comments

aw3c2over 10 years ago
The dreadful &quot;you must enable Javascript for this plain website&quot; layout strikes again. So here is the summary of the article for the fellow plain HTML lovers:<p>&gt; Android has included full disk encryption (FDE) support since version 3.0, but versions prior to 4.4 used a fairly easy to bruteforce key derivation function (PBKDF2 with 2000 iterations). Additionally, because the disk encryption password is the same as the lockscreen one, most users tend to use simple PINs or passwords (unless a device administrator enforces password complexity rules), which further facilitates bruteforcing. Android 4.4 replaced the disk encryption KDF with scrypt, which is much harder to crack and cannot be implemented efficiently on off-the-shelf GPU hardware. In addition to enabling FDE out of the box, Android L is expected to include hardware protection for disk encryption keys, as well as hardware acceleration for encrypted disk access. These two features should make FDE on Android both more secure and much faster.
评论 #8415021 未加载
评论 #8415152 未加载
评论 #8420255 未加载
评论 #8415652 未加载
jaredsover 10 years ago
I wonder if full disk encryption by default will render Android unusable to blind people such as my self? When I encrypted my Nexus 7 2012 running 4.4 it turns out that you are prompted to enter your password before the talkback screen reader starts talking. Needless to say this is a major issue and no one from Google appears to be interested in fixing it as far as I can tell. With my iPhone Voiceover comes up talking and allows me to enter my password while still having the device encrypted.
评论 #8415940 未加载
评论 #8420260 未加载
zxcvgmover 10 years ago
Coming from iOS, one thing that I didn&#x27;t really like about Android was how clumsy the decryption process was. The process is detailed here [1] and it involves the framework being put in a special mode that only handles password entry. In this mode, none of the regular services are running, so I&#x27;m not sure how incoming calls &amp; SMSes are handled (or if they are even handled). It&#x27;s like getting stuck at the boot screen with a password prompt.<p>In iOS, encryption is not performed at the block layer but at the filesystem level, and some files are encrypted with hardware-derived keys (thanks to a unique 256-bit AES key burned into the processor), allowing the OS to be booted normally, but not having access to certain files until the user enters his&#x2F;her passcode (full details here [2]). Even if you don&#x27;t immediately enter the passcode after boot, the phone is still in a somewhat functional state.<p>I&#x27;m glad that Android is taking steps to at least implement by-default disk encryption by relying on a hardware-backed key store.<p>[1] <a href="https://source.android.com/devices/tech/encryption/android_crypto_implementation.html" rel="nofollow">https:&#x2F;&#x2F;source.android.com&#x2F;devices&#x2F;tech&#x2F;encryption&#x2F;android_c...</a><p>[2] <a href="https://www.apple.com/privacy/docs/iOS_Security_Guide_Sept_2014.pdf" rel="nofollow">https:&#x2F;&#x2F;www.apple.com&#x2F;privacy&#x2F;docs&#x2F;iOS_Security_Guide_Sept_2...</a>
评论 #8416738 未加载
csirac2over 10 years ago
Obviously, a strong passcode is a must.<p>But that&#x27;s a big ask not just for the obvious reason, but also because the Nexus 5 is the first phone I&#x27;ve ever owned which demands that I unlock it first before I can access the UI to cancel an alarm.<p>And even then, it&#x27;s a game of chance (especially when the phone is upside down while you&#x27;re asleep) whether your swipe is in the correct direction (apparently UI designs actually removed the visual cues which would normally guide the user toward the correct action).
评论 #8415684 未加载
评论 #8415599 未加载
评论 #8415713 未加载
giovannibajo1over 10 years ago
&gt; In iOS 8, Apple has expanded the scope of data encryption and now mixes in the user&#x27;s passcode when deriving an encryption key, making it harder to extract data from iOS 8 devices.<p>Not fully correct. In iOS8, the scope of DP (data protection) was enhanced to cover additional data with specific respect to the builtin Apple applications (SMS, photos, call logs, etc.). DP, since its introduction in iOS4, has always used the user&#x27;s passcode as part of the encryption secret, and there are APIs available to create files and&#x2F;or keychain items with data protection on.<p>Notice that there is an interaction between the multitasking&#x2F;background system and data protection, as applications running background services will need access to a (part of) filesystem and (part of) keychain to operate. This is why the APIs have a very granular set of ACLs.
mentatover 10 years ago
If you don&#x27;t have a hardware bound key as part of the KDF then you will be subject to extraction and parallel breaking. It may take more computing power with scrypt but it will be doable. KDFs enforce round constraints relative to the hardware they run on. Being able to extract from that hardware means being able to apply orders of magnitude greater processing and parallelization of that process. Hardware keys like Apple&#x27;s are the only way to go.
kabdibover 10 years ago
Hadn&#x27;t internalized how essentially trivial it was to brute-force a PIN once you&#x27;d copied off the file system blocks.<p>With Android-L moving key material to trusted execution environments, expect interesting attacks on those. I am curious about state-mandated security holes in TEEs as well, since it&#x27;s much easier to hide backdoors in chips than in publically reviewable software (I would much prefer to see a dedicated security processor than a &quot;secure mode&quot; of what is essentially the whole SOC).
blueskin_over 10 years ago
Very interesting. I&#x27;ve always been wary of PBKDF2 for these applications simply because most people will have a 4 digit PIN (although I don&#x27;t), which is essentially useless against an offline brute force attack, and possibly worse than useless if it gives people a false sense of security.<p>At least CM11 allows a dedicated FDE password though - Google is really doing its users a disservice by not implementing this in stock Android.