\

Show HN: Anonymous Age Verification

68 points - last Sunday at 5:14 PM


So I'm not an expert in this area, but here's an attempt at cost effective, anonymous, age verification flow that probably covers ~70% of use cases in the United States.

The basic premise is to leverage your bank (who already has had to perform KYC on you to open an account) to attest to your age for age-restricted merchant sites (pornhub, gambling, etc) without sharing any more information than necessary.

Flow works like this:

1) You go to gambling.com

2) They request you to verify your age

3) You choose "Bank Verification"

4) You trigger a WebAuthn Credential Creation flow

5) gambling.com gives you a string to copy

-------------

6) You log into your bank

7) You go to bank.com/age-verify

8) You paste in the string you were given

9) The bank verifies it/you and creates a signed payload with your age-claims (over_18: true, over_21: false)

10) You copy this and go back to gambling.com

---------------

11) You paste the string back into gambling.com

12) You perform WebAuthn Auth flow

13) gambling.com verifies everything (signatures, webauthn, etc)

14) gambling.com sets a session-cookie and _STRONGLY_ encourages you to create an account (with a pass key). This will prevent you from having to verify your age every time you visit gambling.com

The mechanics might feel off, but it feels like this in the neighborhood of a way to perform anonymous age verification.

This is virtually free, and requires extremely light infra. Banks can be incentivized with small payments, or offer it because everyone else does and don't want to get left behind.

Source
  • alkonaut

    last Sunday at 7:56 PM

    The POC shouldn't even be mentioning banks explicitly. Any one that needs or could know you. Any authority such as a tax authority, voting registry, whatever, that already knows who you are, could verify this. An authority is preferable to a bank.

    And if a country already has a functioning digital ID solution that covers every citizen it should be a simple add-on to add this. The "functioning digital ID solution that covers every citizen" seems like the step to fix _first_ (definitely before imposing age verification laws online!).

    Also, having such a system really should be seen as par for the course for any developed country.

      • jeffrallen

        last Sunday at 8:00 PM

        The new eIDs in Switzerland and the EU will allow this use case.

          • uyzstvqs

            last Sunday at 8:21 PM

            But are not completely anonymous and can share your browsing activity with the government. At least with the EU's system.

            https://news.ycombinator.com/item?id=44870161

              • jeroenhd

                last Sunday at 9:15 PM

                The source behind that comment doesn't verify the claim that your browsing history is being shared. Only that the app currently being developed is a temporary app for use until the full app has been finished.

                In fact, the linked article links to the EU website where it is specifically stated that the final protocol will be compatible with the temporary app (the anonymous age verification protocol).

                The final app will also serve as a method to identify oneself (i.e. to a police officer) but that's separate functionality from the token based authentication.

                The current lack of zero knowledge proofs does pose a potential privacy issue when websites and governments work together to track you across a length of time and re-authentications, but it's not like you're inherently sharing your browser history with the government. As far as I know, the temporary app intents to implement ZKPs but ran into standardization issues, so it's not like this is an intentional shortcoming either.

        • raxxorraxor

          today at 6:44 AM

          I don't think a developed country needs any of this shit honestly.

      • sxp

        last Sunday at 8:31 PM

        The problem with this is that the verifier (Bank, DMV, Government, etc) can track that you went to gambling.com. E.g, maybe the gambling.com string is "gambling.com-123". Or if it's a random number, maybe gambling.com is storing it somewhere and the bank/government files a legal request to get a copy. You have to trust the government in this case which isn't ideal.

        A better one is Chaum's Ecash protocol: https://en.wikipedia.org/wiki/Ecash

        To use a metaphor for that protocol:

          1) The gambling site gives you a piece of with a UID on it.
          2) You put the paper in a opaque envelope. (This is a cryptographic way of hiding the contents)
          3) You take the envelope to the bank (or DMV, police station, etc) along with a copy of your birth certificate/RealID and they emboss it with their stamp saying you are over 18. The embossing is transferred through the envelop to the paper, but the bank hasn't seen the contents of that paper. (This is a cryptographic signing method which can affect the UID in step 2 without the bank needing to see the UID: https://en.wikipedia.org/wiki/Blind_signature)
          4) You take the paper out of the envelope and destroy the envelope. The paper with the UID has the stamp but doesn't have any tracking information that the bank might have put on it.
          5) You give the UID to the gambling site. They see that you got it stamped by the bank so they know you have an account with the bank and are over 18, but they don't know the RealID that the bank saw when the bank stamped the envelope.
        
        This is secure because the bank never saw the UID so they don't know if it was gambling-123 or disney-123. The gambling site can save that stamped UID and give it to the bank (or government) if required, but bank can't figure who came in to get that UID embossed. The only person who knows all the tracking information is the user. And as long as they burn the envelope (which is cryptographically secure), there is no usable tracking information.

        As long as the bank is Good and uses the same stamp for all users (i.e, they don't use alice-stamp, and bob-stamp, etc for different users), there is no way for anyone to connect that Alice got her gambling-123 UID stamped. But this stamp is normally using PKI so anyone can check the public key of the stamp.

        This algorithm was originally conceived to create anonymous "cash" since the bank would charge $1 to stamp your envelope and the gambling site could sell their UID paper to the bank to get that $1 from the bank.

          • cxgze

            yesterday at 3:03 PM

            Privacy Pass [0] is a proposed IETF standard for this. It is an e-cash scheme based on blind signatures or oblivious pseudorandom functions and provides unlinkability. In my opinion, it is a relatively simple protocol, at least when compared to full-blown anonymous credential schemes, which could also be used for anonymous age verification.

            [0] https://www.rfc-editor.org/rfc/rfc9578

            • jwally

              last Sunday at 10:22 PM

              This is cool - thanks for sharing!

          • wsces

            last Sunday at 8:01 PM

            Isn't this roughly what mDL (and broader future W3C Digital Credentials spec) offers albeit with the issuing agency of the ID (e.g. state DMV) acting as the credential issuer rather than a bank? A relying party make a claim for a coarse age limit 'is user over N years old'? With the user's consent, the application receives an attestation back from their wallet, with a chain of trust back to the issuer (without the issuer's intervention or knowledge).

            The user's credential is bound to the device and protected by their biometrics (Face ID/Touch ID), and the consent screen feels very similar to using a Passkey (gaining in mainstream popularity) or Apple Pay (pretty mainstream at this point).

            - https://www.w3.org/TR/digital-credentials/

            - Apple's implementation - https://developer.apple.com/wallet/get-started-with-verify-w... (and moving to the browser in iOS 26 https://support.apple.com/en-gb/guide/apple-business-connect...)

            The challenge here is adoption and availability of digital credentials. It appears State Department is allowing iOS 26 to issue digital credential representations of US passports also. Japan are also providing their national ID card in this way. Given some US states' online age verification laws (and whatever it is the UK are trying to do at the moment), seems like a great incentive for those governments to provide robust digital ID infrastructure.

            • AndrewDucker

              last Sunday at 7:14 PM

              I don't see why you need the first step.

              What you need[0] is a certificate, signed by a recognised provider[1], asserting that email address X is associated with a person aged over 18.

              Once you have that, you can then provide it to anyone who asks for it. The certificate provider doesn't need to know who you're proving it to. Literally all they have to do is check whatever information they need to[2] to be happy asserting "Oh yeah, that's an adult".

              If your browser (or an add-on for it) wanted to make this easy by storing the certificate for you securely, then that would be awesome, obviously.

              But there's no reason why the certification provider needs to know who they're certifying your adulthood to.

              [0]Assuming that you want a way to prove you're an adult.

              [1]That could be a bank, a government, or anyone else who has sufficient levels of societal trust.

              [2]Photo of you, use of a credit card, records of you using that email address for more than 18 years. Whatever makes them happy making that assertion, that they'd be willing to stand up in court and defend their processes if one of their certificates was issued wrongly.

                • jeroenhd

                  last Sunday at 9:32 PM

                  Why would you need to include the email address? Just the token should be enough, shouldn't it? Handing out a valid certificate is proof already, you can leave the common name empty as long as it's signed by the right authority.

                  This approach does make it rather trivial to clone certificates and spread them, though. All it takes is one kid on their parents' computer dumping a p12 file and the entire school is suddenly bypassing age filters.

                  Another problem is that colluding websites/trackers (i.e. those "first party" trackers that will use things like CNAMEs to trick browsers into executing their tracker code) can use the public key you use to authenticate your age to track you across websites. Your public key will also be non-repudiable unless your CA often makes you reauthenticate and publishes your private key after expiry (similar to how Signal does this, except less secure).

                  • ajsnigrutin

                    last Sunday at 7:19 PM

                    But that requires sharing your email every time you want to open pornhub.

                      • AndrewDucker

                        last Sunday at 7:34 PM

                        I would absolutely set up an alternate email address for use with things I didn't want my identity to be associated with. Possibly several of them.

                        The alternative is something like the Zero Knowledge Proofs that Google recently open sourced: https://blog.google/technology/safety-security/opening-up-ze...

                        This would allow you to prove that you have the certificate that was issued to you, without giving up more detail than that.

                        I think that building that into things is a ways off though.

                          • ajsnigrutin

                            last Sunday at 7:53 PM

                            I mean, the alternative is parents parenting their kids and installing parental control on their phones, and well.. pornhub without providing your email.

                            Kids will still be able to torrent porn, but the end goal of having to use real ID with social networks will prevent any free speech still left and kill online anonymity.

                              • GoblinSlayer

                                yesterday at 3:17 PM

                                Don't they require phone number already? Also messengers.

                • drhodes

                  last Sunday at 7:18 PM

                  Just an FYI: In the US, 5.6 million households are unbanked.

                  https://www.fdic.gov/news/press-releases/2024/fdic-survey-fi...

                    • oncallthrow

                      last Sunday at 8:23 PM

                      Okay, and those 5.6 million probably aren't accessing sites that require age verification. Not every solution needs to work for 100% of people.

                        • alwa

                          last Sunday at 9:08 PM

                          What on earth would lead you to conclude that unbanked households don’t use online services? I can’t imagine any possible set of starting assumptions that would lead there, short of fairly cartoonish assumptions about the demographics the FDIC pointed out at that link.

                          Even within the unbanked households, the FDIC link points out that 1/3 use online non-bank services instead. And independently of that, it makes sense that even cash households might interface with online commercial activity: pick up gig work through DoorDash or UberEats or whatever; get paid out through a neighborhood informal-cash-service operator (multiservicio, hawala, guy who informally cashes out undocumented drivers). Or through opening a Venmo or CashApp account instead of a bank account.

                          That leads to a slightly stronger form of the claim: that those 5.6 million are likely to have undergone KYC/AML through other, non-bank financial providers…

                          But even then, why should a bank account be connected to whether or not you’re an adult in society’s eyes?

                          • blahaj

                            last Sunday at 8:30 PM

                            > and those 5.6 million probably aren't accessing sites that require age verification.

                            Why would you presume that?

                            > Not every solution needs to work for 100% of people.

                            A solution that censors large amounts of speech and culture from millions of people is clearly either insufficient or, if it is deemed sufficient, authoritarian.

                              • 627467

                                last Sunday at 11:58 PM

                                > solution that censors large amounts of speech

                                I did not read anywhere that this solution can only be used if it's the ONLY solution. Did you?

                                How is the statement "not every solution needs to work for 100% of the people" controversial? People are different, with different circumstances and ideally there are a variety of solutions to cover all of them

                                • jwally

                                  last Sunday at 10:21 PM

                                  Any incremental advance is better than nothing where our rights are getting eroded faster than we can contact the ACLU to start investigating whether or not we have a case. The American Right have figured out that they can DDOS the legal system with all kinds of bullshit laws that they know won't stick, but it will take everyone 10x the time and effort that they spent spewing it out.

                                  We can't back and wait for the perfect solution that covers all corner cases and makes everyone happy and has the perfect UX. We have to fight now while we still have something to fight for.

                                    • nickthegreek

                                      last Sunday at 10:37 PM

                                      If the system is that I have to prove my id or age for averag network connections, then the system has already failed me. The only system I am behind is a flag that some devices can send if enabled that lets the receiving party know the user is underage. Completely optional (controllable by device owner/guardian) but if received, that party must behave in a way that acknowledges that fact. It is not a perfect system, but it retains the freedoms and anonymity of the user.

                                        • jwally

                                          today at 12:28 PM

                                          I'm sorry. The system has already failed me. Short of moving or becoming king of Texas; what should I do? Practical advice is welcomed!

                                            • nickthegreek

                                              today at 5:21 PM

                                              vpn, use different sites that dont make you give a govt id.

                                                • jwally

                                                  today at 6:40 PM

                                                  How's that going for China?

                              • const_cast

                                yesterday at 5:17 PM

                                Soon every website will require age verification. And, currently, no access to the web means no access to society.

                                These people are already disenfranchised and mistreated by society. Let us not marginalize them more.

                            • djoldman

                              last Sunday at 7:58 PM

                              Yep, this would be a big problem. We'd have to have alternate methods as well.

                                • jwally

                                  last Sunday at 8:11 PM

                                  Exactly. No one way will solve this problem, but this would knock out a lot.

                              • szszrk

                                yesterday at 8:51 AM

                                So? I'd say the 340 million of people that actually could verify with a bank is not a bad attempt.

                                1. 7 million (2020) has no proper ID [0].

                                2. 120 million struggle with reading [1], and you can assume at least 7 million realistically can't read.

                                3. Banks already do identity verification across the world, even on behalf of the governments themselves.

                                I see many challenges in what OP is proposing, but banking adoption across population is not one of them.

                                [0] https://www.voteriders.org/voter-id-research/

                                [1] https://www.apmresearchlab.org/10x-adult-literacy

                                  • jwally

                                    yesterday at 9:07 AM

                                    You get it! Thank you!

                                    My attempt at _a_ solution isn't _THE_ solution; but it seems like there's legitimately something around leveraging existing KYC infra that could get a solid 98 out of 100 - and can realistically be implemented in a realistic timeframe.

                                    If I'm AYLO and have been cut off from 1/3 of the U.S. for the last 18 months, I'm contacting every lawyer, cryptographer, and engineer I can get my hands on to try and get _anything_ out of this concept or ones like it.

                            • Bender

                              yesterday at 2:46 PM

                              Anonymous age verification already exists but is not legally implemented or required.

                              RTA headers [1] tell the client the URL may contain adult content or user generated content which can be adult in nature and then the client can detect the header and prompt for a local password if parental controls are enabled. A simple law to require client applications to look for the header and triggering parental controls would handle this in an anonymous manor. Not perfect, nothing is, but would address much more than 70% of use cases for actual small children. Small children would be restricted to whatever browsing agents are installed as they do not have administrative permissions. If this was done in error the parent can reset the device.

                              Teens will bypass any method anyone can think of as current centralized methods do not even apply to most of their current methods of downloading and sharing porn.

                              [1] - https://www.rtalabel.org/index.php?content=howtofaq#single

                              • greatgib

                                yesterday at 7:09 AM

                                Indeed, you are a not an expert, and you are doing the same as reinventing your own broken crypto. Please do not!

                                This has the appearance of anonymous when it is not.

                                First, the moment that a value, being it a nonce, a random value or whatever will be common on both side, there is no anonymity anymore.

                                Then, there is timing attack, where visiting a website, you then need to go to your bank. And the bank will sign at a specific time for a specific timeframe.

                                Then, the need to manually "copy" the signature. I guess you don't see what size, difficult characters this has to have, but totally impracticable. So in the end people would use that to pretend that it is possible with anonymity skipping that step.

                                Then, if the bank doesn't know the website where you went, gambling.com will know what is your bank.

                                And in a lot of countries, age limit might be different for some activities, like gambling allowed at 21, porn at 18, or even rules would not be the same by countries. So again, you will be leaking the country and potentially you will have to leak to the bank the activity that is intended.

                                And what do you do when banking app force you to have a certified Apple or Google spying approved phone? Bank already have too much power and responsibility and easily abuse of it, so it would be better to not give them even more.

                                So again, please refrain of inventing stupid solution like that, that can give the wrong impression to the bad persons that it is possible, justifying laws and co, when it is not possible without costing hardly on our privacy!

                                  • captainmuon

                                    yesterday at 7:37 AM

                                    No, please do invent your own crypto, just don't deploy it! Coming up with schemes and then seeing where they fail is the best way to learn the intricacies. I think more of us 'lowly developers' should be familiar with the common pitfalls.

                                    That the bank is aware of your identity is not neccessarily a flaw, but a boundary condition of the protocol. Assuming a trusted intermediary, how can we.... I think a solution here is not purely technical, but also social. How about establishing a trusted intermediary that can check your identity, but for sure does not do anything malicious with the information? Maybe there is a strong taboo against disclosing the information, like with the confidentiality of confession.

                                    There is another flaw in the proposed scheme, how do you make sure that people don't just take the signature from another person? This one is pretty tricky to solve.

                                    I have been thinking about similar "proof of attribute" protocols for a while, since they have interesting use cases outside of age verification. You could verify that a person on HN is really an Apple employee, without Apple being able to identify that user. Or on a dating site, you could verify that the user is a certain gender, in a certain age bracket, and the account is tied to a social media account in good standing (not a throwaway account), without having the link explicit somewhere (and thus leakable).

                                      • jwally

                                        yesterday at 8:08 AM

                                        This is constructive criticism. Thank you!

                                        I completely missed that I could hand the merchant string to a friend with a bank account and have them sign it. Pretty obvious in retrospect!

                                        Its not perfect, but maybe reasonable enough to prevent resale by using a salted hash of the users ip.

                                        Wrt hash linking, theres chaums blind signature thing which looks solid. It feels like a cheap enough, private enough, and reliable enough solution is that can be rolled out in under 6 months is in this neighborhood; maybe this provides something to trigger someone who can do it to do it.

                                          • jwally

                                            today at 2:03 PM

                                            Also, mulling over it; I would bet pornhub and chase.com both use google-ad trackers and 200 other ad networks. The issues my mvp create require chainalysis and a warrant. Maybe big picture, not so bad.

                                    • jwally

                                      yesterday at 7:49 AM

                                      A little more aggressive than maybe necessary, but I do appreciate the sentiment. Truly.

                                      My goal here is to try and point out that there is a solution that can be rolled out in under 6 months by leveraging existing kyc infrastructure.

                                      IT DOES NOT HAVE TO BE THIS!

                                      Can this be beefed up to make credential resale impractical, while still preserving anonymity in the face of collusion while still being legitimate enough to rely on as evidence that someone is over 18? Absolutely! Will it be perfect? No.

                                      As a Texan, my rights are being eroded daily, bit by bit (pardon the pun). Its dog shit that my kids have to live in a world where my government is effectively legislating morality and enforcing it on technicalities by DDOSing the legal system. But this IS the world I live in.

                                      My other options are what? Vote, move, or use TOR?

                                      If you're so clever, help. Improve it. Create something better but don't sit back and shit on a first draft of something that is trying (admittedly poorly) to put a speed bump in front of our freight train to the Republic of Gilead.

                                        • greatgib

                                          yesterday at 4:00 PM

                                             My goal here is to try and point out that there is a solution that can be rolled out in under 6 months by leveraging existing kyc infrastructure.
                                          
                                          You complain of the erosion of privacy, and yet your goal is to give the oppressors tools to justify their actions. Especially tools that you know are far from perfect to achieve the anonymity goal. I'm sure that you don't have bad intentions, but what is happening after is that persons less take savy will take your work as an example that "it is possible" and that technologists are bullshiting them when saying that it is not possible without eroding anonymity. They will not look further than that. Look we can do laws because it is not impossible if we want.

                                          If you look well in UK, this is what is happening, the country trying to give the legislator a reality check, but too late.

                                            • jwally

                                              today at 2:07 PM

                                              Better to go down with the titanic than leave your cabin with your hair disheveled! And what will the survivors say if you show up in the life boat with the same formal attire you had on the night before!?!

                                  • jeroenhd

                                    last Sunday at 9:24 PM

                                    This mechanism is essentially what the European age verification system is doing, except they're also dealing with offline credentials (so you can log into gambling.com while bank.com is down for maintenance).

                                    There are some details thatihjt still need to be worked out for an American implementation (the lack of an eIDAS equivalent, for one), but the EU solution is being developed cross platform, in the open. You can just take the source code, replace/extend the chains of trust with whatever verification platforms you can convince others to join your programme, and reuse most of the existing code.

                                    For an American implementation, you can probably take out the part where verifiers need to be registered with the verification service (which I believe is part of EU law but makes implementing anonymous verification difficult). The wording and name should probably also be changed to be more in line with American expectations, and removing the remote attestation requirement would be nice if your verification services don't demand you include it. I'd also wait for ZKPs to be implemented, or add them to the implementation, to reduce the potential impact of collusion between governments and websites.

                                    The account creation part is optional but probably recommend. I wouldn't lock it to just passkeys, though, having a fallback to classic username/password is probably a good idea just in case.

                                    • djfobbz

                                      last Sunday at 5:42 PM

                                      That's putting a lot of trust into banks. I don't like it. Just my personal opinion.

                                        • jwally

                                          last Sunday at 5:49 PM

                                          Fair enough.

                                          Who is putting a lot of trust in the bank?

                                          They're slimy af and would sell their grandma's pii for an extra dollar; but that can't happen here.

                                          Bank doesn't know where you came from or where you're going; since you are the transport layer. Nothing of value for them to learn.

                                            • jeroenhd

                                              last Sunday at 9:38 PM

                                              Several European countries have been using banks as a form of digital authentication for years. Of course, there are strict regulations to make sure banks don't abuse their position.

                                              I wouldn't want to use such a system with American banks, but the concept is hardly novel.

                                                • raxxorraxor

                                                  today at 11:05 AM

                                                  I don't want to verify anything and use services that don't require verification. The alleged motivation to introduce these checks is the error and the flaw.

                                              • ImJasonH

                                                last Sunday at 7:14 PM

                                                What incentive does a bank have to support this? The site and the user get what they want, and from the bank's perspective they got to freeload on the age verification the bank has performed (though admittedly they already had to anyway)

                                                  • jwally

                                                    last Sunday at 8:09 PM

                                                    Same reason banks offer free checking.

                                                    Initially they could charge as a premium service, but eventually it would become a commodity. Not offering it would be weird.

                                        • DvdGiessen

                                          yesterday at 1:08 AM

                                          You might also be interested in the IRMA protocol and the app implementing it, Yivi. They support a similar scheme, but using some additional cryptographic systems that provide extra security properties such as unlinkability that are very useful for privacy.

                                          https://docs.yivi.app/technical-overview/

                                          Since I learned about it I've been hoping a system providing such unlinkability would be further developed and preferably adopted as the standard for online identity by for example the EU. Unfortunately I don't think the current proposals for the eIDAS include this (although it's been a while since I read up on this and I'd love to hear from someone more familiar if I'm wrong!)

                                          • servercobra

                                            last Sunday at 7:17 PM

                                            TLS Notary[0] is a project already aimed at doing something exactly like this. It lets you only expose the parts of the payload that you want (e.g. your age) and relies on a verifier to prove the data is legit.

                                            [0] https://tlsnotary.org

                                            • Medea

                                              last Sunday at 7:36 PM

                                              This is an active area of research see for example: EU Digital Identity & Anonymous Credentials at real world crypto 2025 https://www.youtube.com/watch?v=UpQHWObCx4I

                                              • drivenextfunc

                                                last Sunday at 7:20 PM

                                                This reads like GPT-5 output. Anyone familiar with the model will recognize its distinctive style. While using LLM-generated content isn't inherently wrong, why not share the prompts? It's like presenting a book summary without naming the book.

                                                  • jwally

                                                    last Sunday at 7:58 PM

                                                    It is, Claude and it boiled down to this.

                                                    My original idea was to have the bank sign a thing that contained your ip address and user agent; have the bank add in an age claim; and copy/paste it to the RP.

                                                    I figured it would produce a document a little more on point.

                                                    This setup with webauthn feels like overkill; but with banks and regs - it feels more beefy without adding a substantial amount of complexity.

                                                    • last Sunday at 9:07 PM

                                                  • sandeepkd

                                                    last Sunday at 8:22 PM

                                                    Theoretically a good idea, practically there are couple challenges with it-

                                                    1. Some one makes an intermediary service where they allow users to get the age verification from them. Get the information from the user provided to them by merchant, use their own (service providers) bank account to get the token and return back to the user. Identity less age verification is not practically possible, somewhere down the line you have to peg the identification for the user with a common identifier that services can mutually trust.

                                                    2. WebAuthn flow has timeouts (everyones spec implementation might be different) associated with it, most people are going to run into that

                                                      • jwally

                                                        last Sunday at 8:33 PM

                                                        Fair point on the timeout.

                                                        Webauthn ties the public keys to your device; chases signature of it verifies it; your webauthn authentication of chases signed version of your key proves it was you the whole time.

                                                        Nested dolls/Chain of custody.

                                                        What am I overlooking?

                                                          • sandeepkd

                                                            last Sunday at 11:28 PM

                                                            Chase signed a key that was provided to it, and chase verified for that user who logged in to chase. For whom the key was generated for and who entered in the chase site/api can be altogether two different entities. This is where it breaks.

                                                            And chase like banks do not have any practical reason/motivation to provide such a functionality where they are vouching for something but dont really control how that information is used. The legal would never approve it, there is nothing but risk in it for them.

                                                    • runningmike

                                                      last Sunday at 8:53 PM

                                                      Anonymity by default : not true, banks shouldn’t be trusted. And retrieved referral info will be stored by banks.

                                                      • perihelions

                                                        last Sunday at 9:49 PM

                                                        This isn't an anonymous protocol. It's asks for trust that the bank and the media platforms who age-restrict political protests aren't colluding to store all verification requests indefinitely, to build shadow profiles for evil reasons. (Of course they can doxx people if they collude: they have shared timing and device fingerprints).

                                                        Translate this to a state collapsing into a dictatorship, like Serbia or Turkey, and you'd expect the supposed "trusted" verifiers, banks, to be run by people who collude with the people black-bagging people.

                                                        The assumption "banks are ultimately trusted" is not a sound assumption.

                                                        The implicit assumption "age attestation cryptography is only for unimportant things like gambling.com, so we can YOLO this" is not sound. Age-attestation is a general-purpose backdoor for doxxing people in many contexts—not just unimportant ones that are embarrassing at worst.

                                                          • jwally

                                                            last Sunday at 10:00 PM

                                                            But the bank doesn't know where you're going. Only that you need to attest to verification.

                                                            Further, if you encountered a bad KYC actor, there's this; which if I understand it makes it impossible to correlate you to a merchant by crypto alone. https://arxiv.org/pdf/1907.06381

                                                            You could use a VPN just for interacting with your bank or TOR for hyper vigilance...

                                                            p.s. thx sxp!

                                                              • perihelions

                                                                last Sunday at 10:28 PM

                                                                If the bank and the website collude, they can de-anonymize attestation requests by correlating their two views of the interaction—the timestamps and various device fingerprints. It's impossible to make strong security guarantees against this threat model—imperfect statistical ones, at best.

                                                                Your version makes this trivial, since per your other comment, you expect the bank to insist on seeing the same IP address as the website, as an anti-fraud measure. ("If your IP doesn't match what you had at the bank, the RP rejects you.")

                                                                  • jwally

                                                                    yesterday at 9:10 AM

                                                                    Salt and hash the IP or something so the RP can see the user's IP is the same as the bank's; but not necessarily _what_ the IP is...?

                                                                      • perihelions

                                                                        yesterday at 9:34 AM

                                                                        You want the website to (1) look at a visitor's IP address, and (2) compare a cryptographic hash of that same IP address, to test for equality? Did you forget that (1) they have that IP address to begin with?

                                                                          • jwally

                                                                            yesterday at 9:55 AM

                                                                            Given the static nature of most residential IP addresses, what stops this from happening today?

                                                                            If I subpoena facebook, google, chase, and pornhub - I can unmask who you are by correlating your IP and profile info. If I want higher certainty, I can further narrow down time windows.

                                                        • jchw

                                                          last Sunday at 9:07 PM

                                                          Don't some of the jurisdiction requiring strong age verification also require you to store identity documentation? e.g. I believe that's the case for Mississippi. In those cases, storing the fact that age verification took place or even a proof of it would probably not be legally sufficient.

                                                          • Alex4386

                                                            yesterday at 4:10 AM

                                                            Congratulations, You just reinvented age/identity verification in South Korea!

                                                            Now you are one step closer for creating government-id based tracking landscape just like in S.Korea

                                                              • jwally

                                                                today at 10:55 AM

                                                                lol - the US already has it; we just subcontracted it to FAANG!

                                                            • sema4hacker

                                                              last Sunday at 9:28 PM

                                                              Since most USA residents have already had their birth date determined by their DMV and/or Social Security, using those authorities seems much more logical compared to getting banks involved.

                                                              • longboredofit

                                                                last Sunday at 7:21 PM

                                                                What here stops someone from just sharing fake age verifications. If indeed the bank doesn't know what you are visiting and the site doesn't know who you are, anyone could just create an api to autogenerate fake authentications. Age verifications will always be a bad idea and will always leak information in one direction or another.

                                                                  • jwally

                                                                    last Sunday at 8:07 PM

                                                                    Webauthn public key for pornhub gets signed by chase and authenticated on pornhub along with chases signature.

                                                                    I give that to you, chases signature is valid but you can't perform webauthn auth.

                                                                    Thats why you cant sell spun up credentials en masse.

                                                                      • jeroenhd

                                                                        last Sunday at 9:43 PM

                                                                        My Bitwarden extension stores my webauthn keys and those keys work on any device I have Bitwarden unlocked on.

                                                                        I could definitely share any webauthn account with anyone of my choice if I wanted to. Just store the generated key in a shared webauthn vault.

                                                                        You can go spec-incompliant and tell the browser to only accept certain types of hardware to store your credential, but unless the entire ecosystem maintains lists of compromised hardware and blocks half the desktop user base for defeated TPM mechanisms, you're going to have to deal with spoofed clients. The only reason spoofed TPM/hardware backed credential stores aren't a problem for webauthn right now is that there is no need to spoof them at the moment.

                                                                        • LamaOfRuin

                                                                          last Sunday at 9:25 PM

                                                                          You've said this a couple times, but... it's not true?

                                                                          Webauthn allows for software authenticators and there is nothing to stop you from transferring it complete with keys to someone else.

                                                                            • jwally

                                                                              last Sunday at 10:11 PM

                                                                              Fair point...but worth the effort?

                                                                              Also, what if the bank signs your ip-address and user-agent-header as part of their payload back to the RP?

                                                                              That's like mission-impossible / hack into Langely level of effort to get into pornhub, no?

                                                                  • lyu07282

                                                                    last Sunday at 8:42 PM

                                                                    Right we still pretend this is about protecting children I forgot.

                                                                    The proper-ish solution to the problem are zero knowledge proofs: I get my government or whoever to give me a credential with my date of birth, I go to website which asks me for my age, the website gives me a token, I use the token and my gov credential to generate a proof that says "today i'm over 18" i give proof to website, the website verifies the proof using my governments public key and lets me pass. This way nobody knows anything more than necessary and it protects everybodys privacy. [1]

                                                                    Hey we make it a standard open protocol! So everybody can implement it easily. We finance a open-source reference implementation. All the children are forever saved from harm. We have parties under rainbows and world peace!

                                                                    [1] ZKRP's Zero Knowledge Range Proofs: https://arxiv.org/pdf/1907.06381

                                                                    • tamimio

                                                                      last Sunday at 8:15 PM

                                                                      Shifting the power from the state to banks.. what could go wrong!!

                                                                      Hell no! Banks should NOT assume an expanded role in transaction processes; rather, their involvement should be further reduced. The objective should be to establish public consensus that positions banks as an optional payment method, not as an integral component of daily activities. Even in scenarios where banks do not access personal identification information, their institutional power should be constrained rather than extended.

                                                                      Cashless payment systems present inherent risks for surveillance and control, as they channel all transactions through centralized, heavily monitored networks. Individuals flagged within these systems may face severe exclusion from economic participation without due process protections.

                                                                      KYC protocols may have poorly regulated flagging databases that lack the procedural safeguards associated with formal criminal records. Unlike criminal records, which require due process for inclusion and can be destroyed, banking flags operate without comparable regulatory oversight. This transfers significant power to corporate entities and their stakeholders, having this “shadow” power that would control the public.

                                                                      Regardless of anonymity provisions, banks should function solely as optional convenience tools for payment processing, not as mandatory intermediaries in financial transactions or any process. The integration of banking systems into essential processes is the worst for anyone who cares about surveillance free society and create a concentrated institutional power, and it will reduce individual autonomy, financial or not.

                                                                      • last Sunday at 8:29 PM

                                                                        • AngryData

                                                                          yesterday at 2:48 PM

                                                                          Age verification schemes do not need to and should not exist. All it will accomplish at the end of the day is tie peoples personal ID to their online activity.

                                                                          • zb3

                                                                            last Sunday at 8:28 PM

                                                                            Explain how even if the bank and the adult site cooperate together, they'd not be able to identify you. This is what I'd expect "anonymous" to be.

                                                                            • hsbauauvhabzb

                                                                              last Sunday at 8:25 PM

                                                                              You should see my lie-about-over-18.com website

                                                                              You get your verification code

                                                                              Paste it into my website and pay $15

                                                                              One of my crowdsourced reps will complete the request for you and collect $7.50

                                                                                • jwally

                                                                                  last Sunday at 10:14 PM

                                                                                  Bank's signed payload includes part of the webauthn public key _and_ your ip address. If you modify the payload, it breaks the bank's sig. If your IP doesn't match what you had at the bank, the RP rejects you. If you can't verify the webauthn sig - the RP rejects you. Its not bullet proof, but not something you can copy/paste/share on pirate-bay either.

                                                                                    • hsbauauvhabzb

                                                                                      last Sunday at 11:54 PM

                                                                                      Guess you’ll have to install my app so I can proxy my signature through your ip.

                                                                              • immibis

                                                                                last Sunday at 7:39 PM

                                                                                so what if I sell this service to under-18 people in exchange for $30 each time?

                                                                                Apart from me going to jail, I mean. How would the protocol prevent this?

                                                                                  • jwally

                                                                                    last Sunday at 8:03 PM

                                                                                    Webauthn ties the credential to your device.

                                                                                      • ranger_danger

                                                                                        last Sunday at 10:02 PM

                                                                                        Sortof... the standard does not dictate how the keys are stored... so it's entirely possible to do it all in software. I used to use softu2f for this, but maybe there are newer tools.

                                                                                        • hsbauauvhabzb

                                                                                          last Sunday at 8:27 PM

                                                                                          So now I can’t use a device that allows me to load kernel modules, no more sideloading, rooting or *desktop computers*?

                                                                                            • jeroenhd

                                                                                              last Sunday at 10:00 PM

                                                                                              Most devices support signing requests using a certificate baked into the device's hardware certificate store, in a way the OS can't tamper with. Using that certificate to sign a nonce would prove legitimacy of the hardware store (basically, remote attestation).

                                                                                              Your modified kernel can redirect communication attempts with the hardware to another device, but you'll still need a "sanctioned" device every time.

                                                                                              This system makes a lot of sense in corporate environments where compatible hardware can be bought and managed en masses. It doesn't make a lot of sense for something like this. Still, it's technically and practically possible to use such a mechanism, even if it's not advisable.

                                                                                              Webauthn isn't necessarily going to save you, though, and websites need to blacklist any hardware that has been found compromisable in the past (i.e. most consumer laptops, many consumer phones) and it won't work on Android phones running custom ROMs that don't implement the full security service but rather load in the bare minimum to get the API working.

                                                                                                • immibis

                                                                                                  last Sunday at 11:05 PM

                                                                                                  So it won't work on computers with open-source hardware?

                                                                                                  And it's not anonymous at all, because it's it's signed by an unchanging device-specific public key?

                                                                                                    • jwally

                                                                                                      today at 6:49 PM

                                                                                                      Luckily Chase and Pornhub aren't greedy and don't use ad-networks or share your data at all...

                                                                                      • acheron

                                                                                        last Sunday at 7:48 PM

                                                                                        https://xkcd.com/1494/

                                                                                    • kkfx

                                                                                      last Sunday at 8:37 PM

                                                                                      No thanks.

                                                                                      A valid and safe "age verification" (actually to be BANNED because meant as a way to pass internet censorship) could simply be: the State offer FLOSS and open-hardware IDs, we got a USB reader/built in in keyboard, built-in in laptop like we have hat in early 2000, who being all open we can trust, and the a simple boolean request "above age?" with a true or false answer PERIOD.

                                                                                      If we want more we ERASE the not needed anymore banking sector with a state backed crypto and state backed open hardware and FLOSS wallets with a simple display usable as smartwatch or pendent with a retractable necklace like the one we use for skipass, where we could see on a trusted device what we are going to approve or reject.

                                                                                      It's time to craft rules as code, in money/finance and laws/bureaucracy ERASING nazi censorship we see growing everywhere starting with biometry push.

                                                                                      • aaron695

                                                                                        yesterday at 2:40 AM

                                                                                        [dead]