To be clear, I’m not advocating for online age verification. I’m very much against it in any form. I’m just curious from a technical standpoint if it’s possible somehow to construct an accurate age verification system that doesn’t compromise a user’s privacy? i.e., it doesn’t expose the person’s identity to anyone nor leaves behind a paper trail that can be traced to that person?

  • ilinamorato@lemmy.world
    link
    fedilink
    arrow-up
    5
    ·
    1 day ago

    I’m inclined to say no. Reducing the problem down to its most basic parts: Alice is authorized to talk to Bob, but Bob doesn’t know that. How can Alice prove it?

    Bob has to assume that anyone asking to talk to him could be Mallory, who isn’t authorized to talk to him but will always answer “yes” if asked whether she is. So the authorization he gets has to be from a trusted third party; it can’t come from Alice.

    Grace is a trusted third party. If Alice doesn’t care about privacy, and is okay with Grace knowing that Alice talked to Bob and with Bob knowing Alice’s identity, Alice can just tell Bob, “here’s proof that I’m Alice. Show this to Grace and she’ll confirm that I can be here.” This is SSO, essentially.

    If Alice doesn’t want Bob to know who she is, but is ok with Grace knowing that Alice talked to Bob, she can ask Grace to give her a secret code, and give that code to Bob, who can check with Grace to know whether or not that code corresponds to someone who is authorized.

    If Alice doesn’t want Grace to know that she’s talking to Bob, though, she runs into a problem. Because there’s no way for Grace to send Bob a message without knowing who Bob is, he can’t ask anonymously, and because there’s no way for Grace to confirm that Alice is authorized without knowing who she is, Grace will always know that Alice has asked for authentication to talk to Bob.

    Adding Dave in as a trusted fourth party could solve the problem—Alice asks Dave to check with Grace, and lock his answer in a bag with a unique key that only Dave has. Then Grace could give the bag to Bob, who doesn’t need to know who Grace is to pass the bag to Dave and ask him to unlock it. But Alice would be trusting that Dave won’t keep records on which bag corresponds to which person.

    I don’t think that’s a surmountable problem. I’ll have to think about it some more.

    • gandalf_der_12te@discuss.tchncs.de
      link
      fedilink
      arrow-up
      1
      ·
      13 hours ago

      See my comment in this thread involving drawing a piece of paper from a box in real life. Since nobody knows which piece of paper you draw from a box, if many people do this at the same time, it’s impossible to establish an one-to-one mapping between age-verifying tokens and people’s identities.

    • Saledovil@sh.itjust.works
      link
      fedilink
      arrow-up
      4
      ·
      1 day ago

      Here’s my idea: Bob gives Alice a token, assigning her an unique random number n. Alice goes to Grace and tells her, “Somebody assigned me number n, can you verify that I’m allowed?” Grace then writes: “User n is allowed, signed Grace”. Alice then takes this letter and shows it to Bob. Bob now knows that Alice is allowed, but nothing else. Grace only knows that somebody wanted to know that Alice is allowed, not who that somebody is.

      Of note here: This system does nothing to protect against an allowed user helping a not allowed user to gain access, but I don’t think it’s possible to protect against traitorous users.

      • gandalf_der_12te@discuss.tchncs.de
        link
        fedilink
        arrow-up
        2
        ·
        13 hours ago

        The problem is that it leaves a paper trail.

        Grace also knows what number n got verified, and the identity of the user n. Later, the website can ask the age-verifying service who user n actually was. It requires that the age-verifying service cooperates with the website, though, but this could be mandated by law, which would create a single point of (privacy) failure.

        PS: i love your writing style. It’s so simple and clear :)

        Cryptography is a really complicated subject. You managed to express it very easily understandable.

      • Blackmist@feddit.uk
        link
        fedilink
        English
        arrow-up
        3
        ·
        22 hours ago

        This is called a nonce.

        Which as a Brit is a really bad name for anything used to access porn.

      • groet@feddit.org
        link
        fedilink
        arrow-up
        3
        ·
        edit-2
        22 hours ago

        This system does nothing to protect against an allowed user helping a not allowed user to gain access

        There is no system in the world that can fully prevent an authorized user to grant access to an unauthorized user. Even with an all time on camera and screensharing I can still find ways to have someone else control my computer while I “authorize” the connection with my face in the camera

        • gandalf_der_12te@discuss.tchncs.de
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          13 hours ago

          Yeah a small false-positive rate will have to be accepted. This is the same like you can’t fully prevent minors from getting access to alcohol. Consider that their older sibling can buy it for them (at an increased price, ofc).

          What matters is to keep the rate of false positives reasonably small, i’d say.

      • ilinamorato@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        21 hours ago

        That could very well work, yes; but I think that would require Bob verifying Grace’s signature, and that would require trusting that Grace didn’t make a unique signature that she only used for Alice, and making a note of who verified it.

        There might be a way to verify those signatures with public keys in a way that didn’t require Bob to tell Grace that he was verifying the signature, which is still rattling around in my brain.

        • Saledovil@sh.itjust.works
          link
          fedilink
          arrow-up
          1
          ·
          20 hours ago

          Bob would have to know and trust Grace beforehand. Grace could be the IRS, for example. The idea here being to have somebody who already knows your age vouch for your age.