Insider Attack Resistance
android-developers.googleblog.com
android-developers.googleblog.com
I've been leaning toward an iPhone, for the first time, on security grounds, so this is a welcome piece of news.
Thanks, Google. Please keep it up.
At least that was the case during the San Bernardino dispute. Apple never claimed it couldn't do, only that it refused to do for the FBI.
In this case (Pixel 2), Google claims that it is impossible to do that.
Sure, but there's no evidence whatsoever that this has been "a feature on iPhones for quite some time".
As far as I know, there is no confirmation on whether Apple (or anyone) could flash new firmware to the Secure Enclave, without the user passcode, without wiping data on the phone. This info is strangely missing from the official iOS Security Guide document. If anyone has more info on this please share.
There are some (unsubstantiated IMO) claims by people online (e.g. https://blog.trailofbits.com/2016/02/17/apple-can-comply-wit...), and a series of Tweets with an ex-Apple security engineer (https://twitter.com/JohnHedge/status/699882614212075520), but nothing official. SEP firmware definitely can be upgraded without a key wipe (as confirmed by the Tweets as well as regular usage of iOS), but it's unsure if can be done without the user passcode. iOS does prompt the user for passcode when performing OS updates (which is also the delivery mechanism for Secure Enclave firmware upgrades). I don't know whether this is a UX-level security check only or actually hardware level required step.
Is it hard to believe that, if iOS devices had a mode "deeper than DFU" that enabled control over the SEP firmware, that such machines would be implemented in terms of that mode?
And I mean, it's not like I'm making this idea up. This sort of "secret hardware-level handshake between recycling/repair machines and production devices, to put said devices back into a lowest-level firmware flashing mode that bypasses all user protections" was discovered to exist on the Nintendo 3DS, and was turned into a permanent jailbreak method for those. It might be an industry-wide practice. (It's hard to tell, because even on a rooted device, you can't just "dump" the ASICs and scan them for a backdoor handshake.)
It was a huge and much-needed upgrade.
I criticise Google a lot for how much information they store on us, but this work they do both on Android (open-source) and the Pixel phones hardware should receive more praise.
How about putting a read/write switch on the device that prevents writing to the firmware if the switch is in the off position.
Kind of insencere when the biggest competitor has been doing this since 2013 (the feature is marketed as “secure enclave” by Apple)
It wasn't a matter of feasibility, Apple could have done it but refused to.
The iPhone 5c came out in 2013 (and was a budget device based on the hardware design from 2012; the iPhone 5s--which I believe, though would happily be proved wrong, had already fixed this issue--actually came out at the same time as the iPhone 5c). I have no love for Apple (clearly), and I think they (and, sadly, the EFF) were being disincenuous at the time about the definition of "back door", but you are just spreading misinformation here: "as of 2016" would imply the iPhone 7 was vulnerable, which is a much newer device than the one from the infamous San Bernadino scenario :/.
For those who are unaware, Saurik created Cydia, the package manager for jailbroken iOS devices, as well as a whole bunch of jailbroken iOS-related software.
To mitigate these risks, Google Pixel 2 devices implement insider attack resistance in the tamper-resistant hardware security module that guards the encryption keys for user data. This helps prevent an attacker who manages to produce properly signed malicious firmware from installing it on the security module in a lost or stolen device without the user's cooperation. Specifically, it is not possible to upgrade the firmware that checks the user's password unless you present the correct user password. There is a way to "force" an upgrade, for example when a returned device is refurbished for resale, but forcing it wipes the secrets used to decrypt the user's data, effectively destroying it.
So while you do have to provide your passcode to update an iOS device, it could be that this requirement is only enforced at a higher level (ie. not by the secure enclave itself).
You mean Samsung?
The idea is that nothing, not even Google, can change the change the firmware without first wiping the device or entering the passcode.
My guess is in the U.S. the 4th and 5th amendment would prevent the government from forcing you to reveal the secret, so long as you do not rely on biometric security, which has been in some cases ruled as exempt from the same rights as say a password. IANAL though, so I really can't elaborate on an explanation of why. I think if anything you're likely to be held on obstruction charges or have your assets frozen in an attempt to apply pressure on someone unwilling to cooperate. In other, perhaps less forgiving locales like North Korea, China, or Russia, I imagine one may end up being the subject of persuasion of a more physical nature.
The irony is that while the Android development team is doing this, the Google business and cloud services teams are increasingly gathering more data from the Android users, and encouraging them to put as much of their data on Google's servers as possible. And Google can give access to that data because it doesn't use end-to-end or homomorphic encryption.
That applies especially to non-law enforcement actors. Those can't get a court order to force Google to hand over the data.
Many European countries have 'key disclosure' laws; give us the keys, or go to jail. In these cases, silence is illegal.
[0] https://www.reddit.com/r/nexus5x/comments/3us0f6/pin_require...
But to be fair, they've got to start somewhere and there is always hope they'll extend the permissions options to be more powerful.
It's interesting.
Why "[wipe] the secrets used to decrypt the user's data, effectively destroying it" instead of wiping the data itself too?
Is this to potentially allow a third-party with enough power (i.e. a government entity) to eventually decrypt the data?
If you have a way to decrypt that data, you can just physically remove that memory, copy that data, and break the encryption on it. If people could break encryption, they wouldn’t go about updating the firmware and triggering a potential data wipe in the first place. In short, if you don’t trust encryption you’ve already lost.
It’s hard for me to an imagine a state funded attacker that wouldn’t just prevent the data wipe if they cared. I agree at least there’s an extreme edge case where this would protect you from a simultaneously very advanced but also negligent attacker, but that seems so rare that it’s unconcerning to me.
Feels a bit like adding an extra luggage lock to a bank vault since its still better to have more security afterall...
Destroying encryption keys stored in a small, secure processor is the most reliable and secure method.
The encrypted data can and should be wiped too, but it's a lot more reliable to have your security model not rely on that.
We have no reason to believe AES-256 will ever be broken within the lifetime of the universe. Maybe in 100 years I will be proven wrong, but I am willing to bet the security of my phone on it.
I suspect we will have human beings living in another solar system before AES-128 is broken.
Furthermore, as parent also noted, if your encryption is solid, wiping the keys is identical to wiping the data.
Or from the opposite direction: Only the keys are stored within the trusted part of the hardware; they're the only thing you can reliably wipe.