3 ms·
I think this would be a perfect use-case for blind signatures. https://en.wikipedia.org/wiki/Blind_signature https://en.wikipedia.org/wiki/Blind_signature Let'
by nayuki 1y ago
I think this would be a perfect use-case for blind signatures. https://en.wikipedia.org/wiki/Blind_signature https://en.wikipedia.org/wiki/Blind_signature
Let's say every citizen has an account with their federal government, and the account can be accessed securely in some reasonable way (password, 2FA, hardware token, etc.).
The government can have a public-private RSA key pair specifically for "At least 18 years old". Once the user is authenticated, he can generate a nonce and a blinding factor, multiply them together to get a blinded random number, and upload that to the government for signing. He takes the signature and unblinds it, then submits the original nonce and unblinded signature to the adult website. The website confirms that the nonce and signature is valid according to the government's public key.
This system raises many questions. For example, preventing replay attacks, so the adult website will reject any nonce being reused, or mandating that a timestamp be a subcomponent of the nonce. There is the un-answerable question of how to handle the case where a legitimate adult offers valid signatures for someone else to use. There is also the question of, to what extent the adult website should be able to keep track of the underlying users (even in a hashed format) to monitor abuse, suspicious users who have too much activity, etc.
- tzs 1y agoThe main problem with that approach I believe is that since proving your age to the porn site involves an interaction with the government site and the porn site which will occur at close to the same time. If the porn site and the government site both keep logs and someone is able to get the logs from both they might be able to match up timestamps to unmask some porn site users. A system that allows this is called "linkable". It might be possible to mitigate this by introducing delays and noise. Wait some random amount of time before giving the finishing the verification with the porn site. Have a process running on your computer that frequently generates nonces and has the government sign them. Probably better is to use a protocol that is unlinkable. There are ZKP systems that are unlinkable.