I’m not against age restrictions, but letting every site brew their own method is a really bad idea. I’m not going to upload my legal ID to every random site; that’s a recipe for identity theft, and it’s a really bad idea to teach people that that’s normal or acceptable.
And age guessing through facial recognition is incredibly unreliable. My 16 year old son has already been accepted as 18+ somewhere. I had a full moustache at 14. Others are blessed with a babyface well into their 30s.
The only right way to do this, is if governments provide their citizens with an eID that any site can ask “is this person 18+?” and get an accurate answer without any other identifiable info. And if you don’t want the government to know what sites you visit, have sites route the request through a proxy.
But instead everybody’s got to cobble together their own improvised system that we just have to trust blindly is not going to sell our data.
and it’s a really bad idea to teach people that that’s normal or acceptable.
This is a point so few people mention. Normalising having to give up personal information online is such a dangerous thing to do and companies/governments that enforce this shit are setting people up to be scammed
if you don’t want the government to know what sites you visit, have sites route the request through a proxy.
I feel a proxy would not really make much of a difference. If the government keeps a mapping of which eID corresponds to each real person from their end (which they would do if they want to know what sites you visit) then they can simply request the services (and/or intermediaries) to provide account mapping of the eIDs (and they could mandate by law those records are kept, like they often do with ISPs and their IP addresses). The service might not know who that eID belongs to… but the government can know it, if they want.
The government needs to want to protect your privacy. If the government really wants to know what sites you visit, there’s no reason why they would want to provide you with a eID that is truly anonymous at all levels and that isn’t really linked to you, not even in state-owned databases.
Of course, a government has many ways they can legislate your rights, freedom and privacy away. But if you want to do this in a way that preserves privacy, this is how you do it.
Of course the government knows who you are; they have to. They issue your ID, and that makes them the only organisation that can issue your eID. But a government that serves its people would provide this an a service, with the proxy, to ensure privacy is respected.
And of course with a warrant they can and should be able to demand access to the proxy’s or the website’s logs. But only with a warrant. That is the bar that the government should always have to clear before they can get access to any citizen’s privacy.
I agree that a government that wants privacy can actually do it in a way that ensures privacy. That’s also what I was saying.
My point was that this is up to the government, and no amount of “route the request through a proxy” would patch that up, that’s not gonna help this case. Because this is not something that’s tracked in the networking layer, it’s in the application layer.
If the government wants to protect privacy, they can do it without you needing to use proxies, and if the government wants to see what sites you visit using these certificates, they can do it even if you were to use proxies.
If the proxy is independent, I don’t see how the government can know what the requesting site is. They can only see the proxy. I don’t mean a standard network proxy of course, but a proxy for the entire request. That’s probably the source of our misunderstanding.
They don’t need to know the requesting address in order for them to know if it was you the person corresponding to that proof of age, because the information is in the data being exchanged. These kind of verifications don’t depend or rely on IP address or networking, these are credentials that are checked on the application layer.
In fact, they don’t even need to directly communicate with the government for this.
This is equivalent to a registration office for a service asking you provide a paper stamped by the government that certifies your age without the paper actually saying who you are… the service does not need to contact the government if they can trust the stamp in the paper and the government official signature (which in this case is mathematical proof). And even though the service office can’t see your name in the paper, the government knows that the number written in the paper links to you individually, because they can keep record of which particular paper number was issued to which individual, even if your name wasn’t written in the document itself.
So, the government can, at any given time, go to those offices, ask them to hand in the paper corresponding to a particular registration and check the number to see who it belongs to.
The traceability is in the document, not in the manner in which you send it. It does not matter if you send the document to a different country for someone else to send it from a different address, on your behalf (ie. a proxy). If the government can internally cross-reference the registration papers as being the ones linked to your governmental ID, they can know it’s yours regardless of how it reached the offices. So this way they can check if you registered yourself in any particular place they wanna target and what your account is.
Obviously the government knows it’s you. That’s the whole purpose. But they don’t know the site that’s requesting this, if the proxy hides that from them.
They might not know the list of sites you visit right away in the same way they could by contacting your ISP when you are not using a proxy, but that wasn’t my point.
My point is that they can check with a specific site that uses this verification method and see if you have an account on that site, and if you do, which account in particular. And in a way that is much more directly linked to you personally than an IP address (which might be linked to the household/internet access you’re using but that isn’t necessarily under your name).
So in this situation they can indeed know if you use any one particular site that they choose to target, as long as that site is requiring you to provide them with a document, regardless of how many layers of proxies you (or the site) choose to be under.
I’m not sure what you mean by “the site that’s requesting this”, the site does not need to request anything from the government, they just need to have previously agreed on a “secret” mathematical verification method that works for every document. The digital equivalent of a stamp/signature.
But getting that information from the USP or the site would require a warrant. Not to mention that the site doesn’t have to know your real identity either.
And the whole point of this exercise is to ensure that you don’t have to provide any document to the site.
What I mean by the site that’s requesting this, is exactly that: you need to prove to a site that you’re above a certain age. For that, the site redirects you to the proxy that redirects you to the eID site, with a request to confirm that you’re above a certain age.
The site has fulfilled its legal obligation to check your age, but doesn’t have to know your identity, and the government doesn’t have to know what site you’re visiting.
I feel like you’re misunderstanding the scenario we’re discussing.
And if you don’t want the government to know what sites you visit, have sites route the request through a proxy.
Actually, no on the fly communication with the issuer is required for selective disclose.
You just need a signed document with individually salted hashes of different properties and you can create a zero knowledge proof non-interactively. Zero knowledge meaning that truely nothing but the disclosed property (age > 18, County == DE, or whatever) is communicated to anyone.
Theres a lot of other cool stuff that can be done with zero knowledge digital identity wallets. You could for example hash your pubkey together with the service providers pk and disclose that as a per service ID, but not reveal your pk. This allows linkability within one service (as a login method for example) while preventing cross service linkability.
That prevents the site from knowing your identity, but I’m not convinced it prevents the government from knowing you visit the site. The government could keep track of which document corresponds to which individual whenever they issue / sign it.
So if the government mandated that each signed proof of “age>18” was stored by the service and mapped to each account (to validate their proof), then the government could request the service to provide them copy of the proof and then cross-check from their end which particular individual is linked to it.
The reason why it works is a bit complicated, but basically the trick is that the signatures are not immutable. Given a valid signature, it is possible to create a new valid signature over the same content that is not linkable to the original one. This means that it is still possible to derive, what authority signed the document, but the authority cannot know in which transaction it has signed that specific document.
If you have no way to link the signature to the original document, then how do you validate that the signature is coming from a document without repetition / abuse?
How do you ensure there aren’t hundreds of signatures used for different accounts all done by the same stolen eID that might be circulating online without the government realizing it?
Can the government revoke the credentials of a specific individual? …because if they can’t then that looks like a big gap that could create a market of ever-growing stolen eIDs (or reusing eIDs from the deceased) …and if they can revoke, what stops the government from creating a simulation in which they revoke one specific individual and then check what signatures end up being revoked to identify which ones belong to that person? The government can mandate the services to provide them all data they have so it can be analyzed as if they were Issuer, Registry and Verifier, all in one, without separation of powers.
I know there are ways to try and fix this, but those ways have other problems too, which end up forcing the need for a compromise… there’s no algorithm that perfectly provides anonymity and full verifiability with a perfect method of revocation that does not require checks at every user login. For example, with the eIDAS 2.0 system (considered zero-knowledge proof), the government does have knowledge of the “secret serial number” that is used in revocation, so if they collude with the service they can identify people by running some tests on the data.
I’m not against age restrictions, but letting every site brew their own method is a really bad idea. I’m not going to upload my legal ID to every random site; that’s a recipe for identity theft, and it’s a really bad idea to teach people that that’s normal or acceptable.
And age guessing through facial recognition is incredibly unreliable. My 16 year old son has already been accepted as 18+ somewhere. I had a full moustache at 14. Others are blessed with a babyface well into their 30s.
The only right way to do this, is if governments provide their citizens with an eID that any site can ask “is this person 18+?” and get an accurate answer without any other identifiable info. And if you don’t want the government to know what sites you visit, have sites route the request through a proxy.
But instead everybody’s got to cobble together their own improvised system that we just have to trust blindly is not going to sell our data.
This is a point so few people mention. Normalising having to give up personal information online is such a dangerous thing to do and companies/governments that enforce this shit are setting people up to be scammed
I feel a proxy would not really make much of a difference. If the government keeps a mapping of which eID corresponds to each real person from their end (which they would do if they want to know what sites you visit) then they can simply request the services (and/or intermediaries) to provide account mapping of the eIDs (and they could mandate by law those records are kept, like they often do with ISPs and their IP addresses). The service might not know who that eID belongs to… but the government can know it, if they want.
The government needs to want to protect your privacy. If the government really wants to know what sites you visit, there’s no reason why they would want to provide you with a eID that is truly anonymous at all levels and that isn’t really linked to you, not even in state-owned databases.
Of course, a government has many ways they can legislate your rights, freedom and privacy away. But if you want to do this in a way that preserves privacy, this is how you do it.
Of course the government knows who you are; they have to. They issue your ID, and that makes them the only organisation that can issue your eID. But a government that serves its people would provide this an a service, with the proxy, to ensure privacy is respected.
And of course with a warrant they can and should be able to demand access to the proxy’s or the website’s logs. But only with a warrant. That is the bar that the government should always have to clear before they can get access to any citizen’s privacy.
I agree that a government that wants privacy can actually do it in a way that ensures privacy. That’s also what I was saying.
My point was that this is up to the government, and no amount of “route the request through a proxy” would patch that up, that’s not gonna help this case. Because this is not something that’s tracked in the networking layer, it’s in the application layer.
If the government wants to protect privacy, they can do it without you needing to use proxies, and if the government wants to see what sites you visit using these certificates, they can do it even if you were to use proxies.
If the proxy is independent, I don’t see how the government can know what the requesting site is. They can only see the proxy. I don’t mean a standard network proxy of course, but a proxy for the entire request. That’s probably the source of our misunderstanding.
They don’t need to know the requesting address in order for them to know if it was you the person corresponding to that proof of age, because the information is in the data being exchanged. These kind of verifications don’t depend or rely on IP address or networking, these are credentials that are checked on the application layer.
In fact, they don’t even need to directly communicate with the government for this.
This is equivalent to a registration office for a service asking you provide a paper stamped by the government that certifies your age without the paper actually saying who you are… the service does not need to contact the government if they can trust the stamp in the paper and the government official signature (which in this case is mathematical proof). And even though the service office can’t see your name in the paper, the government knows that the number written in the paper links to you individually, because they can keep record of which particular paper number was issued to which individual, even if your name wasn’t written in the document itself.
So, the government can, at any given time, go to those offices, ask them to hand in the paper corresponding to a particular registration and check the number to see who it belongs to.
The traceability is in the document, not in the manner in which you send it. It does not matter if you send the document to a different country for someone else to send it from a different address, on your behalf (ie. a proxy). If the government can internally cross-reference the registration papers as being the ones linked to your governmental ID, they can know it’s yours regardless of how it reached the offices. So this way they can check if you registered yourself in any particular place they wanna target and what your account is.
Obviously the government knows it’s you. That’s the whole purpose. But they don’t know the site that’s requesting this, if the proxy hides that from them.
They might not know the list of sites you visit right away in the same way they could by contacting your ISP when you are not using a proxy, but that wasn’t my point.
My point is that they can check with a specific site that uses this verification method and see if you have an account on that site, and if you do, which account in particular. And in a way that is much more directly linked to you personally than an IP address (which might be linked to the household/internet access you’re using but that isn’t necessarily under your name).
So in this situation they can indeed know if you use any one particular site that they choose to target, as long as that site is requiring you to provide them with a document, regardless of how many layers of proxies you (or the site) choose to be under.
I’m not sure what you mean by “the site that’s requesting this”, the site does not need to request anything from the government, they just need to have previously agreed on a “secret” mathematical verification method that works for every document. The digital equivalent of a stamp/signature.
But getting that information from the USP or the site would require a warrant. Not to mention that the site doesn’t have to know your real identity either.
And the whole point of this exercise is to ensure that you don’t have to provide any document to the site.
What I mean by the site that’s requesting this, is exactly that: you need to prove to a site that you’re above a certain age. For that, the site redirects you to the proxy that redirects you to the eID site, with a request to confirm that you’re above a certain age.
The site has fulfilled its legal obligation to check your age, but doesn’t have to know your identity, and the government doesn’t have to know what site you’re visiting.
I feel like you’re misunderstanding the scenario we’re discussing.
Actually, no on the fly communication with the issuer is required for selective disclose. You just need a signed document with individually salted hashes of different properties and you can create a zero knowledge proof non-interactively. Zero knowledge meaning that truely nothing but the disclosed property (age > 18, County == DE, or whatever) is communicated to anyone.
Theres a lot of other cool stuff that can be done with zero knowledge digital identity wallets. You could for example hash your pubkey together with the service providers pk and disclose that as a per service ID, but not reveal your pk. This allows linkability within one service (as a login method for example) while preventing cross service linkability.
That prevents the site from knowing your identity, but I’m not convinced it prevents the government from knowing you visit the site. The government could keep track of which document corresponds to which individual whenever they issue / sign it.
So if the government mandated that each signed proof of “age>18” was stored by the service and mapped to each account (to validate their proof), then the government could request the service to provide them copy of the proof and then cross-check from their end which particular individual is linked to it.
The reason why it works is a bit complicated, but basically the trick is that the signatures are not immutable. Given a valid signature, it is possible to create a new valid signature over the same content that is not linkable to the original one. This means that it is still possible to derive, what authority signed the document, but the authority cannot know in which transaction it has signed that specific document.
If you have no way to link the signature to the original document, then how do you validate that the signature is coming from a document without repetition / abuse?
How do you ensure there aren’t hundreds of signatures used for different accounts all done by the same stolen eID that might be circulating online without the government realizing it?
Can the government revoke the credentials of a specific individual? …because if they can’t then that looks like a big gap that could create a market of ever-growing stolen eIDs (or reusing eIDs from the deceased) …and if they can revoke, what stops the government from creating a simulation in which they revoke one specific individual and then check what signatures end up being revoked to identify which ones belong to that person? The government can mandate the services to provide them all data they have so it can be analyzed as if they were Issuer, Registry and Verifier, all in one, without separation of powers.
I know there are ways to try and fix this, but those ways have other problems too, which end up forcing the need for a compromise… there’s no algorithm that perfectly provides anonymity and full verifiability with a perfect method of revocation that does not require checks at every user login. For example, with the eIDAS 2.0 system (considered zero-knowledge proof), the government does have knowledge of the “secret serial number” that is used in revocation, so if they collude with the service they can identify people by running some tests on the data.