• artyom@piefed.social
    link
    fedilink
    English
    arrow-up
    34
    arrow-down
    2
    ·
    edit-2
    14 days ago

    Please don’t link to Reddit. Context below:

    The EU is currently developing a whitelabel app to perform privacy-preserving (at least in theory) age verification to be adopted and personalized in the coming months by member states. The app is open source and available here: https://github.com/eu-digital-identity-wallet/av-app-android-wallet-ui.

    Problem is, the app is planning to include remote attestation feature to verify the integrity of the app: https://github.com/eu-digital-identity-wallet/av-app-android-wallet-ui?tab=readme-ov-file#disclaimer. This is supposed to provide assurance to the age verification service that the app being used is authentic and running on a genuine operating system. Genuine in the case of Android means:

    • The operating system was licensed by Google

    • The app was downloaded from the Play Store (thus requiring a Google account)

    • Device security checks have passed

    While there is value to verify device security, this strongly ties the app to many Google properties and services, because those checks won’t pass on an aftermarket Android OS, even those which increase security significantly like GrapheneOS, because the app plans to use Google “Play Integrity”, which only allows Google licensed systems instead of the standard Android attestation feature to verify systems.

    This also means that even though you can compile the app, you won’t be able to use it, because it won’t come from the Play Store and thus the age verification service will reject it.

    The issue has been raised here https://github.com/eu-digital-identity-wallet/av-app-android-wallet-ui/issues/10 but no response from team members as of now.

    • dubyakay@lemmy.ca
      link
      fedilink
      English
      arrow-up
      2
      ·
      14 days ago

      So is there a way to apply pressure on the EU to think this through first? Surely they could have different ways that doesn’t lock them in to google services.

      • artyom@piefed.social
        link
        fedilink
        English
        arrow-up
        2
        ·
        14 days ago

        According to the users in that issue, the mere application of the API is illegal, as is the dependency. Sooo I dunno what kind of PACs there are in the EU but I would be leaning on and contributing to those.

      • iii@mander.xyz
        link
        fedilink
        English
        arrow-up
        0
        ·
        edit-2
        14 days ago

        To avoid people from simply copying the “age proof” and having others reuse it, a nonce/private key combo is needed. To protect that key a DRM style locked down device is necessary. Conveniently removing your ability to know what your device is doing, just a “trust us”.

        Seeing the EU doesn’t make any popular hardware, their plan will always rely on either Asian or US manufacturers implementing the black-box “safety” chip.

        • General_Effort@lemmy.world
          link
          fedilink
          English
          arrow-up
          0
          ·
          14 days ago

          The key doesn’t have to be on your phone. You can just send it to some service to sign it, identifying yourself to that service in whatever way.

          • iii@mander.xyz
            link
            fedilink
            English
            arrow-up
            0
            ·
            edit-2
            13 days ago

            It’s that “whatever way” that is difficult. This proposal merely shifts the problem: now the login to that 3rd party can be shared, and age verification subverted.

            • General_Effort@lemmy.world
              link
              fedilink
              English
              arrow-up
              0
              ·
              13 days ago

              A phone can also be shared. If it happens at scale, it will be flagged pretty quickly. It’s not a real problem.

              The only real problem is the very intention of such laws.

              • iii@mander.xyz
                link
                fedilink
                English
                arrow-up
                0
                ·
                13 days ago

                If it happens at scale, it will be flagged pretty quickly.

                How? In a correct implementation, the 3rd parties only receive proof-of-age, no identity. How will re-use and sharing be detected?

                • General_Effort@lemmy.world
                  link
                  fedilink
                  English
                  arrow-up
                  0
                  ·
                  13 days ago

                  There are 3 parties:

                  1. the user
                  2. the age-gated site
                  3. the age verification service

                  The site (2) sends the request to the user (1), who passes it on to the service (3) where it is signed and returned the same way. The request comes with a nonce and a time stamp, making reuse difficult. An unusual volume of requests from a single user will be detected by the service.

                  • iii@mander.xyz
                    link
                    fedilink
                    English
                    arrow-up
                    1
                    ·
                    edit-2
                    12 days ago

                    from a single user

                    Neither 2 nor 3 should receive information about the identity of the user, making it difficult to count the volume of requests by user?