Re: A less-circumventable age verification protocol: good ol' files

Thiago Macieira <[email protected]> Wed, 11 Mar 2026 16:26:51 -0700
Newsgroups gmane.linux.xdg.devel
Message-ID <3192176.vuYhMxLoTh@tjmaciei-mobl5>
--nextPart5436186.OV4Wx5bFTl
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="utf-8"; protected-headers="v1"
From: Thiago Macieira <[email protected]>
To: [email protected]
Date: Wed, 11 Mar 2026 16:26:51 -0700
Message-ID: <3192176.vuYhMxLoTh@tjmaciei-mobl5>
In-Reply-To: <2178991.atdPhlSkOF@daniel-desktop3>
References: <2178991.atdPhlSkOF@daniel-desktop3>
MIME-Version: 1.0

On Tuesday, 10 March 2026 19:41:27 Pacific Daylight Time Daniel Tang wrote:
> Both use D-BUS. I assert that the age verification must not use D-BUS.
> While the first circumvention might require root, a child could wrap it
> to not require root. They could just set the DBUS_SYSTEM_BUS_ADDRESS
> environment variable. Then a Python server could start listening on
> that file to falsely respond to requests.

Opening files isn't proof either, as one can LD_PRELOAD a stub library that 
intercepts opening of certain files and redirects to opening something else. 
And if the whole issue is to provide information to websites, one can patch 
the browser and recompile, to provide whatever information is desired.

To solve all of this, one needs a cryptographically-signed blurb to be 
provided to said websites, which they can then verify authenticity of. 
Moreover, it needs to be resistant to replay attacks, so in turn it must be an 
API that signs with a challenge provided by the website in the first place.

This gets technically difficult very quickly. I'd argue it's well past 
reasonableness.

-- 
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
  Principal Engineer - Intel Data Center - Platform & Sys. Eng.

--nextPart5436186.OV4Wx5bFTl
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part.
Content-Transfer-Encoding: 7Bit

-----BEGIN PGP SIGNATURE-----

iQJPBAABCAA5FiEECozPt7VWsJgFlTT/jR/izwvmghcFAmmx+jsbFIAAAAAABAAO
bWFudTIsMi41KzEuMTIsMiwyAAoJEI0f4s8L5oIXCY4QALOXHbzXn7wjYVt+wFrc
Gq+rY+isAAA5hdCN4mg1+LIP0J57P0uQFj2Yz51UwfVep9iMhWf0b/dY8vSCMNwD
UFWONncj8BQWbIrehjaD5Jj1Cho4oSfFcxCYYxsK1UV+MGsXDW2D/mp5I9HP4W/F
QDKhhZhvtmR9NOBamnedTqTW0brdxY4oJSMi50a+t357cB7RXutuxXTarFhrEgDd
t4gJlcX2Yv9qKikdmZRI2wMt31+40HGT+i1YhD8muspJtnruiQJ0xPVKxwiYc/nb
om1RuT9o3WH7WQXorIK1QpR5iSI3jFl0ewzfV/ywMsemMeBTt6+HAajhYlbabs04
LQ2YsAaQ/RaNCoZugCWG9jYvTXWx/gxq6hriVcDtTF29sX9rh1WLSNxbPyrV4u+K
yJWL6wLxS5QzICcbe0AbILj8dZwejUiyFncnvFXwXqjZYodhuHiy5NBDPmxzJ/Wo
az0X8svR8kBrYPj6UIJT7/s0aXAm5id6HFZKTPS/2J+MLs0I/013UWSn3no6X66s
4hg0GyVboETPXv+FW8EanoiAwZbAcp/Ufn3hJM/5+JjJwwxKDHRxbCrFGfKmF2CW
decnxw5nrNDmflAZGs06ckDWvcfK2joPpLTm/Kpch+leAo2K4Sq04UDgn8BnVkhQ
ISwJwFgFdu185fy5AG2T7gPl
=w3Q/
-----END PGP SIGNATURE-----

--nextPart5436186.OV4Wx5bFTl--