Warum es eine schlechte Idee ist, Captcha durch FIDO2 / Webauthn zu ersetzen. Argumente gegen die Entscheidung von Cloudflare

Gestern hat Cloudflare einen Ersatz für Captcha mit FIDO-Bescheinigung angekündigt. Sie können darüber in ihrem Blog https://blog.cloudflare.com/introducing-cryptographic-attestation-of-personhood/ lesen und die Lösungen selbst ausprobieren (wenn Sie einen FIDO-zertifizierten Sicherheitsschlüssel wie Yubikey haben) https: // cloudflarechallenge.com/





Sie können auch die Nachrichten von @maybe_elf lesen. Https://habr.com/ru/news/t/557776/





Für diejenigen, die mehr über FIDO2 erfahren möchten, empfehle ich Ihnen, diesen Artikel zu lesen: https://habr.com/ru/post/354638/





So funktioniert "FIDO Captcha" für Cloudflare:

  1. Der Benutzer wird zur Captcha-Seite weitergeleitet





  2. Benutzer klickt auf "Ich bin ein Mensch"





  3. Der Sicherheitsschlüssel leuchtet auf und der Benutzer berührt den Schlüssel





  4. Der Browser bittet um Erlaubnis, eine Gerätebescheinigung zu erhalten. Nach Zustimmung des Benutzers wird die Bescheinigung an Cloudflare gesendet.





  1. Cloudflare, dessen Stammzertifikat vom Hersteller erhalten wurde, bestätigt die Gültigkeit des Bescheinigungszertifikats.





  2. GEWINN !!!!





Bevor wir verstehen, warum dies alles schlecht ist, wollen wir die beiden Hauptkonzepte von Attestation und Captcha klären.





Was ist eine FIDO-Bescheinigung?

FIDO . FIDO , . ( ).





. , , a . FIDO2 GUID/UUID, U2F SKID(Subject Key Identifier). , , . , PKI.





?

́[1] ( CAPTCHA — . Completely Automated Public Turing test to tell Computers and Humans Apart —     ) — , , , : . 





. https://ru.wikipedia.org/wiki/%D0%9A%D0%B0%D0%BF%D1%87%D0%B0





, : , , .., .





FIDO ?





: FIDO

. Cloudflare FIDO . FIDO . . , 5$ , :





Ja, es sind 60 US-Dollar UNO, aber 5 US-Dollar Nano-Klone funktionieren genauso gut.  Osten.  https://twitter.com/agl__/status/1392876159591882755
, 60$ UNO, 5$ . . https://twitter.com/agl__/status/1392876159591882755

:

, , WebAuthn API - NONE. , attestation: "direct"



API. , . - , .





Der Benutzer muss der Bereitstellung der Zertifizierung für die Website zustimmen

Chromium , EraseAttestationStatement JS "direct" "none" - , Cloudflare .





Google Enterprise https://chromeenterprise.google/policies/#SecurityKeyPermitAttestation





: FIDO

, , 700 1700. , HID 500-1000. , HID 25 , 30 , HID !





Hier ist ein Designbeispiel, wie Sie alles machen können.

: , Ryzen 3900, PCI-USB , USB , USB . 1000 Feitian U2F, Yubico Security Key 15-20$ . HID USB , . HID . 5$ 30,000 - 40,000 , , 25,000$ .





:





  • HID - https://github.com/djpnewton/vmulti





  • HID Python - https://pypi.org/project/hid/





ACS122U NFC NFC : SCARD_UNPOWER_CARD/SCARD_POWER_CARD NFC . .





: CAPTCHA

. Cloudflare :





  • 1. - , . , Cloudflare FIDO . FIDO , . , , , , . Cloudflare . .





  • 2. - . - . . : , . 1/100,000. , Cloudflare, , 1/100,000 . Cloudflare , .





  • 3. - , .





  • 4. - : ? FIDO, aka Metadata Service - MDS, , FIDO . Cloudflare , , -. , . Cloudflare , FIDO .





Cloudflare , - . Cloudflare , . .





Cloudflare. Cloudflare , . - , , , "" - FIDO . , : , .





: FIDO . - - .





Q&A

- // ?





Denn Cloudflare unterstützt nur zertifizierte Geräte, deren Zertifizierung vom Hersteller streng kontrolliert wird. Samopal- und Software-Authentifikatoren werden einfach fehlschlagen.








All Articles