Cloudflare brengt Private Access Tokens uit die captcha's moeten vervangen

Cloudflare introduceert voor macOS en iOS een nieuwe methode die captcha's moet vervangen. Private Access Tokens maken gebruik van een reeks verificatiemethoden om te controleren of een websitebezoeker een bot of een echte gebruiker is. Dat gebeurt automatisch.

Private Access Tokens of PAT's vormen een onderdeel van Privacy Pass. Dat is een protocol om gebruikers te authenticeren. Cloudflare ontwikkelde dat protocol enkele jaren geleden. Privacy Pass bevat voortaan ondersteuning voor een cryptografische token die websitebezoekers kan valideren. De tool is bedoeld als alternatief voor captcha's, die volgens Cloudflare 'een vreselijke gebruikerservaring' hebben.

Cloudflare zegt dat de Private Access Tokens werken zonder data van gebruikers. Het bedrijf wijst erop dat websitebeheerders als alternatief voor captcha's ook meer data kunnen verzamelen om gebruikers te verifiëren, zoals een IMEI-nummer, of fingerprintingdata, zoals de schermgrootte. Bij Private Access Tokens kan die informatie alsnog worden verzameld door een 'attester' die verifieert of een gebruiker echt is, maar die informatie wordt dan in een token gezet die vervolgens tussen client en website wordt gedeeld. In die token wordt alleen opgenomen dat een gebruiker echt is, maar niet de manier waarop dat is geverifieerd.

De 'attestation' wordt uitgevoerd door het apparaat waarop Private Access Tokens gegenereerd worden. Dat kan een browser of een besturingssysteem zijn. PAT's worden ondersteund in iOS 16, iPadOS 16 en macOS 13, zegt Cloudflare. Het bedrijf verwacht het initiatief 'in de nabije toekomst' in meer software te krijgen, maar noemt daarbij geen namen.

Cloudflare

Door Tijs Hofmans

Nieuwscoördinator

09-06-2022 • 11:39

26

Reacties (25)

25
25
20
0
0
1
Wijzig sortering
Hoe kan Cloudflare weten of de verzamelde data wel of niet echt is? Zover ik kan begrijpen zou het redelijk triviaal moeten zijn voor een bot om een dergelijk token te generen, want het is compleet client side?
AuteurTijsZonderH Nieuwscoördinator @AlRoke9 juni 2022 11:57
Dat doet Cloudflare niet, maar de attester, in dit geval dus Apple. Die gebruikt een set variabelen voor die de attester zelf kan bepalen (bv wanneer je telefoon voor het laatst ver- of ontgrendeld is.
Maar wat voorkomt dat iemand anders hetzelfde token kan generen en doet alsof het van Apple komt? Komt dit simpelweg neer op Security through Obscurity waar Apple's anti jailbreak policy en secure enclave er samen voor zorgen dat de obscurity extreem 'solide' is?

Om mezelf te beantwoorden, de aanvaller moet succesvol een fake API request maken richting de Apple issuerde Cloudflare issuer die AppleCloudflare ervan overtuigd dat z'n request rechtmatig is, en AppleCloudflare beantwoord die request met het token wat je nodig hebt. Gaat dus niet om de set van acties (ontgredeling), maar enkel het forgen van een request die AppleClouflare bevalt waar je 'de juiste' acties omschrijft.
The Apple attester will check various device components, confirm they are valid, and then make an API call to the Cloudflare Issuer (since Cloudflare acting as an Origin chooses to use the Cloudflare Issuer).
The Cloudflare Issuer generates a token, sends it to the browser, which in turn sends it to the origin.
Cloudflare then receives the token, and uses it to determine that we don’t need to show this user a CAPTCHA.
Hetgeen ik het minst begrijp is dat Cloudflare beweert dat dit minder gebruikers data deelt dan in het verleden, terwijl captchas totaal geen gebruikers data delen...

[Reactie gewijzigd door AlRoke op 31 juli 2024 18:26]

AuteurTijsZonderH Nieuwscoördinator @AlRoke9 juni 2022 12:21
Het lijkt me als aanvaller behoorlijk wat moeite en werk kosten om zo'n request te forgen voor een betrekkelijk saai doel, namelijk botverkeer in te zetten.
Ik heb jaren geleden (2016) betaald voor een dienst waar mensen captchas voor je solven. Dat is enerzijds bizar goedkoop, maar tegelijkertijd telt het toch op. En dan zijn er bedrijven waar het hele business model gebaseerd is op het scrapen van informatie... dus ja, er is zeker genoeg reden om aan te nemen dat dat de moeite waard is. Kijk ook naar de moeite die wordt gedaan om bots te schrijven die spam posten op verschillende nieuwssites en youtube enzo.
AuteurTijsZonderH Nieuwscoördinator @AlRoke9 juni 2022 12:28
Daar zit wel wat in. Ik ken dat verdienmodel of in ieder geval de achterliggende motieven niet goed genoeg om te begrijpen hoe dat werkt. Ik vermoed wel dat er een verschil is tussen het op grote schaal handmatig invullen van captcha's of het cryptografisch ondermijnen van Apple-software. Dat eerste zal economisch misschien wel wat waard zijn, maar dat tweede? Ik kan het me zo moeilijk voorstellen...
Er zijn hier twee zaken van belang: dat het protocol solide is, en dat de hardware zich kan authentificeren.

Ik denk dat er onder Windows iets vergelijkbaars kan worden gedaan met TPM, en in Android met de security enclaves van de telefoon. Het staat of valt met de beveiliging van dat hardware component, want als de signing key uitlekt, of wanneer de hardware module te manipuleren blijkt om snel meerdere identiteiten aan te kunnen nemen, dan is het game over voor dit protocol.

Voor zowel spammers als industriele trollen is het de heilige graal: een gehackte iPhone waarmee je duizenden of miljoenen geverifieerde identiteiten kunt aannemen.

Apple heeft de beste kaarten omdat het over zowel de hardware als de software de ultieme autoriteit is, maar als je kijkt naar de geschiedenis van jail breaking zie je dat het een kwestie van tijd is voor hier een fatale tekortkoming in opduikt. En als het ook door Android en Windows ondersteund moet worden is de kans op een lek nog groter.
Hebben browsers de rechten om dat van je toestel te zien?
AuteurTijsZonderH Nieuwscoördinator @IThom9 juni 2022 12:33
Ik weet niet precies hoe dat technisch werkt maar aangezien Apple het zelf moet implementeren (en niet Cloudflare) lijkt het me wel dat daar mogelijkheden voor zijn.
Anoniem: 1576590 @TijsZonderH9 juni 2022 15:21
Zie "Aanvulling/correctie" verderop in deze post.

Om ook de vraag van @IThom te proberen te beantwoorden:

Als ik Attestation goed begrijp zegt het iets over de betrouwbaarheid van een apparaat dat door een mens gebruikt kan worden om ergens mee in te kunnen loggen (wachtwoordloos, gebruik makend van FIDO2 = WebAuthn).

Bijv. voor banken is het handig dat zij niet alleen redelijk zeker weten wie er inlogt, maar ook dat het gebruikte apparaat niet gecompromitteerd is.

Bij deze captcha-vervanger wordt er, zo lijkt het, niet ingelogd, maar wordt die attestation ge- (of mis-) bruikt.

Het idee lijkt te zijn dat de browser vraagt of de gebruiker toestaat dat het attestation-certificaat met de betreffende website wordt gedeeld (waarbij het device het bezit van de private key passend bij de public key in het certificaat aantoont). Ik vermoed dat voor dit "toestaan" biometrie nodig is.

Omdat zo'n certificaat voor zo'n 100.000 devices hetzelfde is, zou de website daaruit niet of moeilijk kunnen opmaken wie de gebruiker is.

Dit captcha-alternatief werd overigens vorig jaar al door Cloudflare aangekondigd voor hardware authentication keys (zoals YubiKey), maar devices met TPM-achtige chips (AKA "passkeys") gaan dat nu overnemen.

Peter Sanford heeft een open source website gemaakt om het attestation certificate van jouw device te laten zien: what-the-fido.sanford.io

Met Firefox op mijn iPhone kreeg ik dat aan de praat (niet met Safari en ook niet met Firefox op Android 11). Aanvulling 15:32: alles zonder hardware key.

Verwarrend is wel dat Firefox dacht dat ik een wachtwoordloos account wilde aanmaken op die site (m'n iPhone zal waarschijnlijk een sleutelpaar hebben gegenereerd).

Het certificaat, uitgegeven door "Apple WebAuthn CA 1", heeft als CN een lang hexadecimaal getal, is maar 3 dagen geldig en heeft een "unknown extension" met OID "1.2.840.113635.100.8.2".

Kennelijk staat dat OID voor "Apple anonymous attestation CA", o.a. te vinden in www.w3.org/TR/webauthn-2 als je zoekt naar dat nummer.

Of dit allemaal een goed idee is, vraag ik mij af (daar schreef ik eerder vandaag over op security.nl).

Aanvulling/correctie, 10 juni 2022, 09:58
Bij Private Access Tokens gaat het, voor zover ik nu begrijp, om een andere aanpak dan wat Cloudflare vorig jaar beschreef, welke gebruik maakt van de WebAuthn user presence test.

Mijn -onjuiste- aanname was dat die techniek (voor hardware authenticatie keys) was uitgebreid met Passkeys, waarbij effectief devices zoals smartphones ingebouwde hardware keys krijgen, met als bonus dat de "wachtwoorden" (private keys) gebackupped worden en gesynchroniseerd met andere devices kunnen worden.

Bij Private Access Tokens is er zo te zien sprake van een vierde partij (naast client, server en attestor): de issuer. Ik weet niet waarom die 4e partij is geïntroduceerd.

Uit de Apple WWDC2022 video (na minuut 8 ) blijkt dat Cloudflare en Fastly op dit moment de enige issuers zijn (zij zijn ook de ontwikkelaars van het protocol. Hmm).

Sorry voor de verwarring die ik mogelijk heb veroorzaakt.

[Reactie gewijzigd door Anoniem: 1576590 op 31 juli 2024 18:26]

Belangrijk detail:

Dankzij de wiskundige trucage die mogelijk is met een private/public key-pair kan Apple een oneindig aantal publieke Keys genereren, zolang zij hun Private Key maar geheim houden.

Iedereen die de public key inziet kan wiskundig bewijzen dat de PRIVATE key van Apple is en niet van een ander.
Het token sturen is client side, het token maken niet. Je vraagt dus 'eerst' via een soort challenge-response een token op dmv van authenticatie, en daarna bij opvolgende requests stuur je dat token mee.

Zie het als, je 'logged in' bij CloudFlare, en stuurt daarna je login token mee naar sites die CloudFlare gebruiken.
Als ik het goed begrijp, dan bepaalt het apparaat (of het OS) zélf of een gebruiker echt is. Vandaar dat dit nu alleen nog maar werkt op iOS / macOS.

In principe 'belooft' Apple hier dus dat het een echt persoon is. Achter de schermen zal er wel heel wat cryptografie bij betrokken zijn om zeker te weten dat dit echt door Apple is gevalideerd.

Het klinkt heel mooi, laten we hopen dat dit ook snel voor Windows / Linux komt, al lijkt vooral dat laatste mij lastig.

edit:
had de pagina weer is te lang open staan, veel te laat met m'n reactie :+

[Reactie gewijzigd door svane op 31 juli 2024 18:26]

Oftewel een manier om te tracken wat verkocht word als "Dan hoef je die stomme dingen niet meer op te lossen" :+
https://www.cloudflare.com/en-gb/privacypolicy/

"We will not sell or rent your personal information to anyone. We will not share or otherwise disclose your personal information except as necessary to provide our Services or as otherwise described in this Policy without first providing you with notice and the opportunity to consent."

https://blog.cloudflare.c...alytics-for-a-better-web/
https://blog.cloudflare.c...-compliance-reading-list/

[Reactie gewijzigd door thomaskoel op 31 juli 2024 18:26]

Anoniem: 1777010 @thomaskoel9 juni 2022 11:52
Ze gebruiken een heel gemeen trucje: ze verkopen niet jouw data maar ze bundelen jouw records met die van X gelijkgestemden. Strict genomen is dat niet jouw data maar een profiel gebaseerd op jouw data en jouw peers. Zo'n profiel kan alsnog zo specifiek gemaakt worden dat jij de enige bent die matcht. Maarja, het is niet "jouw" data.

Je hebt maar 24 binaire opties properties om 16 miljoen mensen uniek van elkaar te onderscheiden.
Ze gebruiken een heel gemeen trucje:
Hoezo is het een 'gemeen trucje'? Volgens mij doen Google en Apple precies dit en dan open en bloot. Het staat netjes beschreven. Bij Apple kan/kon je op een groep adverteren als er minimaal 10000 mensen in zaten (of zo?) Als Cloudflare het al doet, waarom is het dan 'gemeen'?
Strict genomen is dat niet jouw data maar een profiel gebaseerd op jouw data en jouw peers. Zo'n profiel kan alsnog zo specifiek gemaakt worden dat jij de enige bent die matcht
Hier gaat geen één privacy-instantie in mee. Op het moment dat 'geanomiseerde data' structureel en volledig naar één persoon matched die ook nog is te herleiden is, pikt niemand dat.

Dus 'Alle mensen die zich identificeren als man die gehuwd zijn met een persoon die zich identificeert als vrouw, wonend in postcodegebied 1234, tussen de 40 en 45 jaar oud is, met 3 kinderen van 6, 8 en 10, waarvan de laatste uit een vorig huwelijk, in bezig zijn van een groene Mazda uit oktober 2019. Tevens hebben ze donker haar, en een grijzende stoppelbaard, gaan graag op vakantie naar kleine dorpjes in Scandinavië en hebben als hobbies tabletop D&D en kantklossen' gaat niet geaccepteerd worden 'anonieme data' van Joris Jansen uit Sint Juttemis. (het zou wel HEEL toevallig zijn as z'n buurman hier ook onder viel in elk geval ;) )

Bovenstaande geldt zeker als ze dit voor miljoenen Europeanen gaan doen.
Gemeen trucje inderdaad, ze zijn er ook open over. Maar maakt het nog niet minder dubieus, lees ook https://www.eff.org/deepl...oogles-floc-terrible-idea

Het is niet alsof bedrijven "met een schone lei" adverteren. Bedrijven als Google weten alles over je en je bent er dan ook zo uit te pikken in zo'n swarm.
Dat "gemene" trucje is niet heel veel anders dan dat je folders alleen in bepaalde wijken verspreid, of reclame allleen op de specifieke zenders doet. Of dat een PC fabrikant specifiek op tweakers adverteert omdat hier mensen zitten die gelijkgestemd zijn.
De vraag is welke data de implementaties van de "attestors" sturen

Als Android bijvoorbeeld je imei gebruikt en de laatste keer dat je bent ingelogd met fingerprint en dergelijke systeem info, dan weten ze wat over je device maar niet jou.

Bij een PC OS zullen ze sneller kijken naar wat voor activiteiten je uitvoert om te checken of je een bot bent.
Dus heb je je muis en keyboard gebruikt, heb je verschillende programmas gebruikt, is er bepaald gedrag dat je vertoond als een bepaalde applicatie open is, aka een bot.
https://www.facebook.com/about/privacy

Staat ook op facebook's privacy policy. Dat ze niet letterlijk je persoonlijke gegevens kopen betekend niet dat je geen tracking hebt
Nee dat klopt. Echter: Tracken is niet hetzelfde als data verkopen.

Ik heb persoonlijk meer moeite met data verkopen dan data zelf gebruiken. (idealiter wordt er natuurlijk helemaal niet getracked/geprofileerd, maar dat is (in het geval van Facebook) nou eenmaal het verdienmodel. (gepersonaliseerde advertenties verkopen op basis van (ongevraagde) profilering). Dat vinden jij en ik misschien een walgelijk model, maar dat is het model.

Cloudflare verkoopt zover ik weet geen advertenties, in elk geval niet op basis van de gebruiker. Ze hadden (hebben?) wel Haileo waarmee je contextuele advertenties kon genereren op basis van de inhoud van een foto/video. Maar ik weet niet of Cloudflare alleen de dienst ter beschikking stelde of dat ze ook daadwerkelijk een tussenpersoon waren van de advertentieverkopen. (lijkt me wel, want ze doen natuurlijk niets waar ze niets voor terugkrijgen)

Wat ik begrijp van de gebruikte techniek, is versimpeld gezegd: 'De telefoon/computer' (ofwel de attester) zegt dat jij echt een persoon bent op basis van bepaalde zaken (Laatste keer 'geunlocked', de camera vindt dat je nog actief naar de camera kijkt (wat op iOS je telefoon 'wakker' kan houden), enz, enz, enz. Ik heb uiteraard geen idee of dit echte dingen zijn waar de attester op meet, maar dit is iets waarvan ik denk dat dat wel oké kan zijn om dit mede te gebruiken), dit terugkoppelt naar het systeem van Cloudflare ('dit is een echt mens') en daarmee kan een website hier dus op handelen. Nog Cloudflare, nog de website ontvangt meer data dan 'Een echt mens' terug.

Als je uiteraard niet vertrouwd dat de betreffende app alleen die data verwerkt en dat Cloudflare glashard liegt, dan is het sowieso einde discussie natuurlijk, maar dan denk ik altijd bij mezelf. Daar hebben ze die app niet voor nodig.
:+ 2025 Privacy policy. :+
Changes to our privacy policy:
"By signing-in you empower us to sell or rent your personal information to anyone. We will share and otherwise disclose your personal information as necessary to provide our Services or as otherwise described in this Policy without first providing you with notice and the opportunity to consent."
Wat is de playload van de token en hoelang is deze geldig?

wordt die gesigned incombinatie met info over opgevraagde resource? bijv website.
Anoniem: 1041541 10 juni 2022 10:07
...ook meer data kunnen verzamelen om gebruikers te verifiëren, zoals een IMEI-nummer, of fingerprintingdata...
Als achterdochtige gebruiker vraag ik mij af of het ook andersom gebruikt kan worden wanneer er meer data verzameld wordt. Naast fingerprint en IMEI bijvoorbeeld ook het groene vinkje of iets met co2. Is er iets niet in orde? Dan geen toegang tot bijvoorbeeld social media.

Op dit item kan niet meer gereageerd worden.