383 karma · joined September 5, 2012
I'm not against, non-network, hardware-based security features. In fact, I think we need them. I would certainly desire a phone where someone can't simply access my private key with a soldering iron and flash programmer.
And I wouldn't mind a bootloader that is locked to prevent tampering with the device, as long as I can unlock it, and unlocking it wipes the device or something. I wouldn't mind using Android as intended without root access. But, I want control over the decision. I want to control the OS I run on my device. I want the freedom to increase its lifespan beyond whenever the manufacturer stops provided security updates. I want to have the ability to enable root to inspect my data on my device using my storage, without sacrificing my ability to watch movies on the $600 device I paid for that somehow has a better quality display than my monitor. And also, I want the ability to block ads that gulp down my expensive mobile data so that I can instead pay for a service like Netflix.
Yup. Sorry, typo, I can't edit it now. :(
With regard to your second comment, that was one perspective that I do consider. There are still plenty of media sources that do not use device attestation. But the trends are not showing in the right direction. Also, as you say, you could decide that maintaining root is more important than being able to consume movies or whatever other DRMd media on your device, but you are sacrificing some of the main features that were marketed to you during your purchase, while still paying full price.
Also, it's not just content-delivery apps that take advantage of the APIs, utility apps like Android Pay require their availability. Multiplayer mobile games are also beginning to implement them to "combat cheating" (correction: preserve the viability of microtransactions, but I'm just a cynic). I think the Android Pay case is a bit more understandable, but still, why not implement it as an optional feature a user can enable? If it is designed to save money from fraud, then why not give users a small financial incentive to enable it? Taking the choice away from the user is the enemy here.
Don't forget that the lockdown of software on mobile devices goes beyond these new attestation APIs. For 5+ years, phone manufacturers been shipping bootloaders that cannot be unlocked, devices that cannot be rooted, and firmware/OS that cannot be flashed. There is an attempt to ultimately control all the freedom a user has to install their own software. The technology to prevent user freedom is only going to get better and better, as exploits are covered up and manufacturers become smarter about code signing and secure hardware design.
So there is much more to the issue than I think is present at first glance. It affects everything, and it is only getting worse. Forget the closed-source firmware that can be delivered and installed at any time over the air and has unrestricted access to your device's unencrypted RAM... that's been going on forever. But now even Wi-Fi routers are being shipped with locked down bootloaders, killing any chance of upgrading or fixing security issues in your device once a manufacturer decides to stop supporting a device. Guess you'll just have to buy a one in two years. That new AC-2300! 802.11AC is going to be so much faster than that old measly AC-1900. Don't forget the crystal oscillators wear out over time, anyway. /s
Sorry to go on such a wild rant, but I'm pissed. I'll go on over to the AMD profits thread, and feel a little bit more optimistic about the future of freedom.
[1] https://developer.android.com/training/safetynet/attestation... (note the table under "Possible attestation results". This is what I meant by you are not allowed to own your device's own filesystem (root access).
Devices that are rooted will not fail to attest via the API. Devices where the user has chosen to install a custom ROM will fail to attest (even with a locked bootloader and no root). Apps from Google Play can use these APIs to decide whether to work on a user's device.
This is macOS SIP taken to a different level. You can't watch Netflix and whatever other app decides to use these APIs unless Google has complete control over your device, including the ability to remotely collect and transmit opaque and arbitrary data at any time. This is a dishonest attempt to disguise a draconian DRM scheme as pro-user, pro-safety, anti-virus/rootkit. We're at the point where you don't even own your own filesystem anymore on a Linux device. I think this is a step beyond traditional DRM, including traditional hardware content protection.
[1] https://developer.android.com/training/safetynet/attestation... [2] https://koz.io/inside-safetynet/
And now their store is full of crap and no one uses it.