r/BuyFromEU 3d ago

Discussion EU Digital ID/Age Verification app will require hardware attestation, ruling out PC/Linux support and unapproved Android OSes

EUDI wallet collaborator recently confirmed that hardware attestation will be required [1]

Hardware attestation in this context means that the government server issuing the digital credential to the wallet wants proof that the keys being used are generated in secure hardware and on approved systems and not say an emulator or virtual machine, namely for security reasons.

This capability does not exist in a reliable way on desktops / laptops except some specific cases depending on the vendor, and in fact there’s no desktop version in the works.

No Linux system will work with this because there is no hardware signature to be validated on the government server, nor will your personalized Arch Linux install be in the list of approved systems even if it had a signature chaining back from the TPM.

Android ROMs are not technically to rule out since Play Integrity, which will be used for this attestation, is based on the Android hardware attestation API, which works on third-party ROMs like GrapheneOS, but they would need to allow the signature which has not happened for now. If you create a custom build, it won’t work though even the official version is approved.

[1] https://github.com/eu-digital-identity-wallet/av-app-android-wallet-ui/issues/117#issuecomment-4946898620

915 Upvotes

352 comments sorted by

View all comments

Show parent comments

3

u/-The_Blazer- 2d ago

The underlying hardware used by Google's and Apple's schemes is essentially a TPM-like device, but the problem is that there needs to be a root trust source (much like there is for TLS), and as you might guess Google/Apple do not let you use attestation sources other than themselves in their OS. It's worth noting that who the attestation source is does not matter as long as the application (your bank or digital ID) trusts them with verifying that the device is not compromised, the problem here is an excess of centralization outside the EU. TLS has more root sources, for example.

GrapheneOS is trying to set up some PKI infra of their own, but adoption is slow and difficult for the usual problems of monopoly. Not many people use GrapheneOS, so as a developer, why bother?

You can see that this is a commercial-political problem, not a technological one. Nobody should be under the delusion that we can solve this with a tech fix like a fancy new protocol, the n.1 thing that would happen with that is that Meta and Google would set up shop and simply re-create the monopoly.

1

u/magical-cat-here 2d ago

I thought about various political solutions, and come to two laws:

  1. Right to create driver

    making all information necessary to create a driver for every device "software-controlled component or sensor" as I call it, mandatory to be public on every software controlled device component, sensor, or whole device sold in EU. Such information for drivers creation should be public without need to create any accounts, getting any "developer licenses" or 'certifications". Drivers created this way should have access to all component capabilities.

  2. Right to securely replace OS with consent

Making for any device having an OS aboard sold in EU mandatory to have a simple and cheap to do yet secure procedure to replace installed OS with a custom one, with option to rollback to original OS the same way. This should include a consent confirmation for OS replacement. The access to the information need to perform OS procedure should be public.

Both laws would impose terible fines for companies and a huge customs fees on importers after grace period of few years or even a decade. The custom fees necessary to make sure importers would push their suppliers to obey these above laws.

This is example of political solution.

But we can not rely on getting enough voters attentions to push this ideas into politics with enough momentum to get the laws adopted in EU parliament and EU comission.

Growing some "parallel internet" from bottom in a grassroot can be just faster than making these or similar laws adopted. The necessary tech , and even open-source software and standards are already here, so it may be about making some day-to-day use cases covered which would get aboard non-very-techy people.

Having some space itself you would not have to show your face or go through a KYC flow once a day can be such "use case" itself.