I am reading about Unified Attestation (https://uattest.net/).
I cannot escape the feeling that taking a user-hostile concept (Google Play Integrity), and making it Free / open source software, does not make it any less user hostile.
I am reading about Unified Attestation (https://uattest.net/).
I cannot escape the feeling that taking a user-hostile concept (Google Play Integrity), and making it Free / open source software, does not make it any less user hostile.
@MissingClara @neil something like - this
Audre Lorde's "The master's tools will never dismantle the master's house." is not just a statement about a tool being tainted by its origin. It's about what kind of tool a "master" would create: Whips. Chains. Violent suppression. That's the meaning: You cannot just take tools whose purpose and politics is dominance and violence and "make them liberatory". This goes deeper than "just" embedded politics or lofty talks about ethics, it comes down to what kind of relations you believe do and should and must not structure the world.
I disagree. These attestations provide absolutely nothing of value. The thing I want from an attestation is:
This app is running and is not tampered with in any way.
The thing that it's possible to provide with these is:
Assuming that the 50-100M lines of C/C++ code that run in higher privilege levels than this app are bug free and not malicious, this app has not been tampered with in any way.
Conflating the two is incredibly misleading. SGX attestation was marginally better, at least in theory, because you'd run a small trusted component in the enclave and the hardware (well, actually, the signing enclave) attested that this code was isolated from the rest of the system and was the code that you thought it was.
If, say, I'm a bank, and I want to get an attestation that my app isn't tampered with, these things run a privileged userspace process that queries a bunch of information and then provides a signed attestation. It is typically signed by whatever did the secure boot thing but secure boot is built on top of inductive security proofs. Assuming the first-stage loader is bug-free, it tells you the state of the second-stage loader at start. Assuming that the second-stage loader is bug-free, it will then tell you the state of the Linux kernel at boot time. The Linux kernel is roughly 30MLoC, almost all C. It averages one CVE every 2.5 days for the CIP releases. It executes for an unbounded number of steps. About the only thing that the secure-boot attestation tells you is that the kernel was compromised at some point after being booted. Once that's happened, no guarantees about any userspace code hold.
@david_chisnall @neil @MissingClara "If, say, I'm a bank, .."
..then you are not the owner or rightful authority over my device and you have no business knowing what modifications I did or didn't make to any of the software running on it.
@neil I'd argue that the very concept violates...probably all four of the Four Freedoms, therefore it cannot be Free Software.
Open Source has kinda always been about letting corporations walk all over people though so using that term seems fine...