Por que substituir Captcha por FIDO2 / Webauthn é uma má ideia. Argumentos contra a decisão da Cloudflare

Ontem, a Cloudflare anunciou a substituição do Captcha pelo atestado FIDO. Você pode ler sobre isso em seu blog https://blog.cloudflare.com/introducing-cryptographic-attestation-of-personhood/ e tentar as soluções por conta própria (se você tiver uma chave de segurança certificada pela FIDO como Yubikey) https: / / cloudflarechallenge.com/





Você também pode ler as notícias de @maybe_elf https://habr.com/ru/news/t/557776/





Para aqueles que estão interessados ​​em aprender mais sobre a FIDO2, aconselho a leitura deste artigo https://habr.com/ru/post/354638/





Como "FIDO Captcha" funciona para Cloudflare:

  1. O usuário é enviado para a página Captcha





  2. O usuário clica em "Eu sou humano"





  3. A chave de segurança acende e o usuário a toca





  4. O navegador pede permissão para obter o atestado do dispositivo. Após o acordo do usuário, o atestado é enviado para Cloudflare.





  1. Cloudflare, tendo um certificado raiz recebido do fabricante, confirma a validade do certificado de atestado.





  2. LUCRO !!!!





Antes de entender por que isso é tão ruim, vamos esclarecer os dois conceitos principais de Atestado e Captcha.





O que é atestado FIDO?

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$ , :





Sim, é $ 60 UNO, mas $ 5 nano clones funcionam tão bem.  Leste.  https://twitter.com/agl__/status/1392876159591882755
, 60$ UNO, 5$ . . https://twitter.com/agl__/status/1392876159591882755

:

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



API. , . - , .





O usuário deve consentir com o fornecimento de certificação para o site

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





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





: FIDO

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





Aqui está um exemplo de design de como você pode fazer tudo.

: , 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

- // ?





Porque o Cloudflare só oferece suporte a dispositivos certificados, cuja certificação é estritamente controlada pelo fabricante. Os autenticadores Samopal e de software simplesmente falharão.








All Articles