Hello,

I was gonna post this on Ask Lemmy, but then I thought maybe Technology would be a better fit for the theme. But then I saw it’s mostly news, so I thought perhaps Ask Lemmy would indeed be a better fit. If this is not the case, please point me to the right direction.

As a heads-up, I am not 'Murican, and never been to 'Murica, so keep that in mind.

Seeing the recent news with France trying to age-restrict pornographic material online, I was wondering and have sort of an idea, that I wonder if it is actually doable and actually good.

Hear me out: the gobermint likely already has your data, right? At least stuff like name, date of birth, etc. The gobirment could have a private and secure service, which websites and services could use to confirm certain requirements.

For instance: A website wants to confirm if you’re over 18. The website essentially asks the official gob. service, “is this user at least 18 years of age?”. The official gob. service essentially has to answer “yes, your requirements are met” or “no, your requirements are not met”, without giving away information on a person. The user gets prompted, being told what information is being required and whether they wish to share that. The official service wouldn’t know where the request is coming from, but the original website requesting the information generates and shows a temporary code, which is not related to the website at all and is sent to the gob. service, so that the user can confirm it is indeed the website they were using that is requesting this, and not a hijack of some kind. The gob. service, if allowed by the user, sends out this confirmation to the original website, without the gob. service knowing the website and without the website knowing the user’s info. The website then knows whether their requirements are met and can then act accordingly, such as by not allowing someone to access adult material if they do not meet the age requirement.

Does this make sense? Is it doable? Could it be a potential private and secure way of confirming user information without either party having access to the other’s information? Obviously, the idea could be worked on and polished, but as a starting point.

Edit: so, what I’m gathering from comments here:

  1. Som’o’y’all didn’t get it (no, you don’t got to log in to your porn tube of choice with an official gob. account)
  2. This cannot be done
  3. This could be done
  4. This is already a thing being worked on
  • smiletolerantly@awful.systems
    link
    fedilink
    arrow-up
    2
    ·
    3 months ago

    I think that at the bare minumum, the PORN<->GOV connection must not occur. How about this (simplified):

    • USER visits porn site
    • PORN site encrypts random nonce + “is this user 18?” with GOV pubkey
    • PORN forwards that to USER
    • USER forwards that to GOV, together with something authenticating themselves (need to have GOV account)
    • GOV knows user is requesting, but not what for
    • GOV checks: is user 18?, concats answer with random nonce from PORN, hashes that with known algo, signs the entire thing with its private signing key
    • GOV returns that to USER
    • USER forwards that to PORN
    • PORN is able to verify that whoever made the request to visit PORN is verified as older than 18 by singing key holder / GOV, by checking certificate chain, and gets freshness guarantee from random nonce
    • but PORN does not know anything about the user

    There’s probably glaring issues with this, this is just from the top of my head to solve the problem of “GOV should know nothing”.

    • lemmyknow@lemmy.todayOP
      link
      fedilink
      arrow-up
      1
      ·
      3 months ago

      Hmm… sounds good, other than the amount of work getting and sending stuff everywhere. Though I guess if it were a one-time thing, that’d be fine. I’m used to no cookies and the cookies pop-up always coming back cuz the website never remembers, so my mind just went “too much work” but it could work if the website were to not prompt every time

  • ℕ𝕖𝕞𝕠@slrpnk.net
    link
    fedilink
    arrow-up
    1
    ·
    3 months ago

    I am never going to use an official government service to sign in to a porn site.

    And I very much doubt that’s just a “me” thing.

  • Paige@piefed.ca
    link
    fedilink
    English
    arrow-up
    1
    ·
    3 months ago

    Totally possible and something you can do already with digital ID. Checkout RealMe in New Zealand: https://www.govt.nz/browse/passports-citizenship-and-identity/proving-and-protecting-your-identity/use-realme-to-prove-your-identity-online/

    A big issue is that many countries are a decade behind in implementing this system. They’re effectively asking the liquor store to check customers are 18, without government ID existing. So now the private sector is creating ID solutions to avoid legal liability. It’s a real mess.

  • JustTesting@lemmy.hogru.ch
    link
    fedilink
    arrow-up
    1
    ·
    3 months ago

    This can work, but with cryptography instead of the porn site connecting to a government service.

    The swiss government wanted to introduce electronic id a few years back which was a complete clusterfuck, every party would get all your private data even if they just needed ‘older than 18’, it was supposed to be implemented by various private companies that then sell it to the individual states, not really with gov oversight, so you have like 20 companies all with all the data, each of which could be hacked at any point etc.

    we forced a public vote on it in 2021 and rejected it with 65%.

    the use cases are pretty valid, like online pharmacies, ordering booze online, though of course you never know what they would require it for in the future.

    so now it’s 2025 and a new proposal, this time much more privacy focused, developed by the government, open source, seems like they did listen to a lot of the criticism.

    this blogpost goes into a bit of details on why unlinkability matters and that one-time-pads are one potential solution. And the whitepaper with more detail.

    i saw a presentation from the digital society on it earlier this year and from what i remember, you get a set of keys (and can create new ones if you run out) from which you can create derived keys that only contain relevant information. The other party can verify this directly, without a gov service. And since you use a new key each time, the porn site also cant crossreference with your booze site that you’re the same person, that kind of stuff. It all sounded pretty reasonable and like it would adress your points.

  • Leejon95@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    3 months ago

    Yes, such systems are in development and are called identity wallets. https://yivi.app/ for example has the idea of zero trust attribute sharing. You can request attributes the government knows and store these on your phone. You could then share an attribute like “over 18” with the porn site without the government knowing you shared it with them. Most identity wallets don’t want to touch the porn industry tho. So it isn’t used for that (yet).

      • Leejon95@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        3 months ago

        The attributes are cryptographically signed by the provider. With their public key you can check if they are actually signed by them.

  • Zwuzelmaus@feddit.org
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    3 months ago

    The official service wouldn’t know where the request is coming from

    No, not doable.

    Such an info service can only be either serious or not. Think about it.

    If they try to do it the serious way, then the official source of information must know, and keep a log about, who is asking. And the user must get the opportunity to read this log, who has asked about them. Maybe they must even get the chance to approve or deny every single one of these requests.

    If they don’t try to do it the serious way, then their service will never be meaningful/sufficient in such countries where age verification is mandatory.

    • smiletolerantly@awful.systems
      link
      fedilink
      arrow-up
      0
      ·
      3 months ago

      Not sure. How about this (simplified):

      • USER visits porn site
      • PORN site encrypts random nonce + “is this user 18?” with GOV pubkey
      • PORN forwards that to USER
      • USER forwards that to GOV, together with something authenticating themselves (need to have GOV account)
      • GOV knows user is requesting, but not what for
      • GOV checks: is user 18?, concats answer with random nonce from PORN, hashes that with known algo, signs the entire thing with its private signing key
      • GOV returns that to USER
      • USER forwards that to PORN
      • PORN is able to verify that whoever made the request to visit PORN is verified as older than 18 by singing key holder / GOV, by checking certificate chain, and gets freshness guarantee from random nonce
      • but PORN does not know anything about the user

      There’s probably glaring issues with this, this is just from the top of my head to solve the problem of “GOV should know nothing”.

      • Natanael@infosec.pub
        link
        fedilink
        arrow-up
        1
        ·
        3 months ago

        What you want is cryptographic Zero-knowledge proofs, not regular encryption. See anonymous credentials protocols.

        And it does require every verifying entity to trust the issuer (each user could collect attestations from multiple issuers, to prove different things to different verifiers)

        Another issue is the risk of deanonymization by verifiers simply asking for more proof of many different properties, until you can be identified anyway