5 ms·
My thoughts exactly. If the state wants to ensure that ID checks are rigorous (or otherwise monopolize them) they can provide an attestation API for that purpos
by theptip 3y ago
My thoughts exactly. If the state wants to ensure that ID checks are rigorous (or otherwise monopolize them) they can provide an attestation API for that purpose, and legislate that only tokens signed by a cert trusted by the government’s root are valid.
This can be solved in a zero-knowledge way, and the government should commit to open source here. You don’t want the government seeing the sites you visit; the government should just issue a token associating the attestation (age, work status, whatever) with your private key. I think the details end up being non-trivial but it should be doable.
- orwin 3y ago> This can be solved in a zero-knowledge way, and the government should commit to open source here. This is what France's government is working on if i understand correctly what i'm hearing (i'm working for the private sector right now, so i'm not as well informed as i should be on those kind of things). Not really a fan, but i note when they're doing good shit, and on that they're on point. I don't mind a zero-knowledge age verification, i will strongly oppose anything else (with both money and time).
- kergonath 3y ago> This is what France's government is working on if i understand correctly what i'm hearing Would you have any source discussing this? I don’t doubt you at all, I would like to learn more about where they want to go. It seems that they are working with a decent team at INRIA. I would like to know better how compatible their developments are with the stance of the government (and other more or less hysterical ones like in the UK).
- orwin 3y agoSorry, it's mostly rumors and stuff I catch reading the chats I'm still in. I've found a kind of white paper that link to LINC and Olivier Blazy: https://www.cnil.fr/fr/verification-de-lage-en-ligne-trouver-lequilibre-entre-protection-des-mineurs-et-respect-de-la-vie https://www.cnil.fr/fr/verification-de-lage-en-ligne-trouver... And the LINC repo might have some stuff? https://github.com/LINCnil https://github.com/LINCnil
- numtel 3y agoYes, the government should provide digital ID services. On my Coinpassport site in the documentation, [0] I make this plea to governments. I've made a testnet version that uses a basic ZK circuit to provide anonymity. [1] There's so many holes to my approach though with overlapping renewals, dual citizenship, etc. If governments simply provided this service it would be great. Passport NFC chips get close. [2] They contain the passport data signed and there's a project to extract those details into a ZKSNARK proof which is awesome but this doesn't prove that the person holding the passport is the person verifying like Stripe Identity does with the photo check. And it requires the nfc reader hardware, but that's not too bad for a requirement. Maybe something like risczero could prove that a phone photo matches the passport photo using ZK but it seems like a big project. [0] https://coinpassport.net/docs.html https://coinpassport.net/docs.html [1] https://test.coinpassport.net https://test.coinpassport.net [2] https://eprint.iacr.org/2022/878.pdf https://eprint.iacr.org/2022/878.pdf
- theptip 3y agoYeah the hard case to solve is “prove it’s still <ID principal> that is generating the challenge”. With GenAI I wonder if images will be considered valid ID for long. “Generate a new video of face with camera pan” is currently hard (not impossible) to forge, but I doubt it will be in a year or two. You get back to multifactor auth, but then the system is more stateful, and still, what is the incentive not to share your ID & password with underage friends? (These challenges will also be faced with the OP’s scheme as well.)
- AnthonyMouse 3y agoHow is this supposed to protect against timing correlation attacks? If each time User 1234 signs into a particular site, Bob Smith requests a token, we know with high probability that Bob Smith is User 1234 (or anyway is using his ID to request tokens). You can solve this by giving the user a generic token that asserts that the bearer is e.g. over 18 and is valid on any site for e.g. 30 days, and then Bob can request arbitrarily many tokens on the first of the month and use them as needed. But now all of this ZK proof stuff is making things unnecessarily complicated, because you could then give every user the same token that expires at the end of 30 days. They're fungible and anonymous. Anonymous means you can't distinguish one from the other means you don't need different users to be different, and then you don't have to worry about vulnerabilities in your ZK system. Which leads back to the main problem with this whole mess: All it takes is for one person with an adult ID to share the token. Which is the problem with all of these systems -- most of the population has an ID and they can share access to it. There is no way to catch them or stop them if they're actually anonymous. If you could, they wouldn't be, and then the system fails as an invasion of privacy.
- stevenicr 3y ago"can be solved in a zero-knowledge way" - absolute zero? I am curious how this would work - for example I want to check someone's ID, how could I take a pic with a phone and run it to prove it's real - but the gov have no idea that I ran the ID check? Wouldn't their system know that I, my ip, browser fingerprint, checked ID X at y:yy time and likely the location? I have a great app idea that would be useful if there really is a way to check these things zero knowledge.
- landgenoot 3y agoBiometric passport chip. All data on your passport can be read using NFC and is signed with a government key. It even has cryptographic functions to test if you are talking to a real passport (to prevent replay attacks)
- AnthonyMouse 3y agoIf each ID has its own signature, the signature can be used to uniquely identify the ID.
- stevenicr 3y agoSo it may be possible for two pieces of hardware to talk and prove a thing is signed by a reputable place.. so I could check an ID and be pretty certain the age is correct in the data pulled from it.. I guess.. But if I needed to take that ID and run it to check for a valid license or valid insurance - or if they are on a gov deceased list or other background check or something.. Unless I could have all these DBs on device I can't see a real way to do them zero knowledge checks.. I could imagine a service could promise to not log requests but no way to verify they are not.. I suppose I'd like to see a system where you could batch check 100 or so IDs at once to run checks to see if they have insurance, a valid drivers license, a valid XY or Z license, any warrants, pending litigation and such - able to do so in a way that the check on the person is not logged, prove-ably.