Hacker News new | ask | show | jobs
by ndiscussion 2620 days ago
Does this allow someone to decrypt a stolen device?

I moved from an iPhone to a Galaxy S9 about a year ago because I was getting fed up with Apple's hardware problems, and wanted try Android again.

I convinced myself that I was able to secure the Android phone as long as I always bought the newest one and kept it up to date.

But decryption after loss is an untenable scenario for me. I had read that qualcomm's trustzone has had software exploits in the past, but I didn't think it would happen again.

Is there any way to trust that the data on my Android device is safe? If I lost it today, someone could keep it around for a while until the next exploit drops. Has Apple ever had an exploit of this nature?

3 comments

"I had read that qualcomm's trustzone has had software exploits in the past, but I didn't think it would happen again"

Of course it's going to happen again, given the abysmal state of security in QSEE, Qualcom's implementation of Trust Zone. I used to do software/firmware security reviews at Google, and let me tell you that what Gal found at [1] would have never passed my reviews had Qualcomm had a similar internal security process in place. This is one of the many reasons Google realized they couldn't trust vendors, so they rolled out their own security chip Titan M: https://www.blog.google/products/pixel/titan-m-makes-pixel-3... So, if you want a secure phone, buy a Pixel 3 or later.

[1] http://bits-please.blogspot.com/ : there are so many WTF moments, like Qualcomm not revoking trustlets, never sanitizing arguments passed to QSEE syscalls, etc, etc

Short answer: no

Longer answer: This article mentions how to leak the key, but it assumes that you can generate many signatures successfully. But to successfully use the key (thus sign with the key), you need to provide the password to the TEE, else it will refuse any operation on the key. If the TEE is properly written (I'd say Qualcomm's is), the key in keymaster (which encrypts the key for the storage) itself is encrypted based on the password, so it can't leak anything since it's not decrypted even for the TEE itself.

Also, unless you unlocked your bootloader, the attacker would need to be able to launch its own software while the device is on the boot lockscreen. That requires to find an additional security flaw in the bootloader and/or early Android boot.

Don't ever trust anyone to keep your sensitive data encrypted by default. Make sure you get something like TrueCrypt (open source, tested by a large segment of population, security experts from open source segment, etc) that is truly secured and don't have any backdoors, and use that to lock-up your data in a encrypted container. Make backups in cloud of those containers and sleep like a baby.
Uhhh... what about when I take a photo with my Android phone?

Forgive my ignorance, but I don't believe it's secure to use TrueCrypt anymore, and I didn't even think it was possible to use a volume on Android, let alone an automatically encrypted volume.

I'm worried about thugs blackmailing me, not state actors.

Don't have cloud enabled and sharing by default. Also use strip tags software to erase your geolocations from the pictures you take. And if take sensitive pictures (children in your house, sexy time with SO, police doing a crime, etc) definitely move them to an encrypted container and use a wiper too to get rid of them from your normal storage.
And yeah, I used the TrueCrypt as an example because is the most recognizable name in this, but in my particular setup I use VeraCrypt, as pointed by someone else. Wasn't aware that VeraCrypt got so popular. Before VeraCrypt I used Jetico Bestcrypt containers but those weren't public source.
To chime in on TrueCrypt, and perhaps someone can help elaborate, I understood that it went offline and the maintainer called quits suspiciously? VeraCrypt was the successor iirc.
The idea that it's safer to trust Truecrypt than the platform's enclave secret system because enclaves sometimes have vulnerabilities strikes me as pretty weird, since the big difference between Truecrypt and an enclave-based system is that Truecrypt doesn't have an enclave to begin with.
Doesn't seem that weird. The enclave has your secret in it, and comes attached to the storage it's protecting. Steal storage, extract key, done.

My software FDE does not keep my password in it. There is nothing to extract after stealing. I will happily stipulate though that this requires a solid password and key stretching.

... if and only if it is off. Which is probably not a great assumption with a phone.

A DIY mitigation might be to convert a phone to having only an external battery on a long cable, which stays in your other pocket.

Philosophically I do agree with where you're coming from with contemporary devices insisting on baking in privileged keys. It's unfortunate that we're forced to choose between the two models.

Good point. Didn't really consider live or "cold boot" attacks.