Saltar ao contido

WebAuthn

Na Galipedia, a Wikipedia en galego.
 WebAuthn
Logotipo
Representación esquemática
Imaxe
 Instancia de
 Uso
 Medio usado
Fontes e ligazóns
Wikidata C:Commons

Web Authentication (WebAuthn) é un estándar web publicado polo World Wide Web Consortium (W3C).[1][2][3] Define unha API que os sitios web empregan para autenticarse mediante credenciais WebAuthn (coñecidas comunmente como passkeys ou «chaves de acceso»[4][5]) e describe as funcións que deben desempeñar os autenticadores WebAuthn. Soluciona moitos dos problemas da autenticación tradicional baseada en contrasinais ao verificar a identidade do usuario mediante sinaturas dixitais.[6] Aínda que WebAuthn se presenta a miúdo como un substituto total dos contrasinais, a maioría dos sitios web que o implementan continúan a empregar contrasinais dalgunha maneira.[7]

Para empregar WebAuthn, os usuarios necesitan un autenticador compatible. O estándar non especifica como gardar as chaves precisas para asinar, polo que se poden usar diversos tipos de autenticadores. O tipo máis habitual é o autenticador de plataforma, que vén integrado no sistema operativo do dispositivo. Entre os autenticadores de plataforma comúns inclúense Android, Apple Keychain e Windows Hello. Estes fan uso de características de seguridade por hardware (como TEE ou TPM) e decote sincronizan as credenciais entre dispositivos para maior comodidade. Outro tipo habitual é o autenticador itinerante (roaming authenticator), no cal un dispositivo físico independente autentica o usuario conectándose a través de USB, Bluetooth ou NFC. A maioría dos teléfonos intelixentes poden usarse como autenticadores itinerantes, e tamén se empregan chaves de seguridade físicas dedicadas. WebAuthn é compatible cara atrás con FIDO Universal 2nd Factor (U2F), xa que ambos utilizan o protocolo CTAP.[8] Os xestores de contrasinais tamén poden funcionar como autenticadores, a miúdo con sincronización na nube.[9] Nos casos en que a sincronización de credenciais non sexa viable, pódese empregar o transporte híbrido de WebAuthn para acceder a credenciais almacenadas noutro dispositivo como un teléfono intelixente.[10]

Do mesmo xeito que o predecesor U2F, WebAuthn é resistente a certos ataques de phishing,[11] posto que o autenticador só achega as credenciais que foron rexistradas baixo a mesma orixe ou dominio web. Porén, a diferenza de U2F, WebAuthn pode implementarse de xeito totalmente sen contrasinal.[12] Ademais, un autenticador de hardware físico resiste o malware, dado que as chaves fican almacenadas nun dispositivo independente.

Os estándares WebAuthn Nivel 1 e 2 foron publicados polo W3C o 4 de marzo de 2019 e o 8 de abril de 2021 respectivamente.[1][13][14] A especificación de Nivel 3 progresou a través de varios borradores de Candidata a recomendación durante 2026,[15][16] e en xullo de 2026 o W3C propuxo o seu avance a Recomendación definitiva.[17]

Antecedentes

[editar | editar a fonte]

O emprego dun nome de usuario e un contrasinal foi o mecanismo habitual para que os usuarios demostrasen perante un servizo quen eran.[18] Porén, este método presenta vulnerabilidades coñecidas: os usuarios adoitan reutilizar contrasinais en diferentes servizos,[19] escoller combinacións febles descifrables por forza bruta,[20] ou anotalos de xeitos inseguros.[21]

En 2012, Google xunto con Yubico comezaron a traballar nun estándar chamado Universal 2nd Factor (U2F)[22] que permitía aos sitios web verificar un segundo factor mediante dispositivos de hardware. O proxecto foi integrado posteriormente na iniciativa conxunta FIDO Alliance, que publicou a súa primeira especificación en 2014.[23] En 2015 iniciouse o desenvolvemento de FIDO2 co gallo de solucionar as limitacións de U2F,[24] xa que U2F aínda dependía dun contrasinal principal e non autenticaba a identidade física do usuario perante a propia chave.[25]

En novembro de 2015 presentouse a proposta ao W3C,[26] creándose o grupo de traballo correspondente para estandarizalo e integralo de xeito nativo nos navegadores web.[27] O soporte nos navegadores estendeuse amplamente a partir de 2018 con Chrome 67, Firefox 60 e Safari 13.[28]

A denominación «passkey»

[editar | editar a fonte]
Exemplo do uso de passkey como credencial WebAuthn en Bitwarden

Passkey (ás veces traducido como «chave de acceso») é a denominación divulgativa para a credencial criptográfica que permite autenticar un usuario baixo o estándar WebAuthn.[29][30] A maioría das interfaces de usuario e aplicacións comerciais adoptaron esta denominación comercial.[7]

Unha passkey pódese gardar tanto en software coma en hardware: desde funcións do sistema como Windows Hello con recoñecemento biométrico,[31] xestores como Bitwarden,[32] ou dispositivos de hardware físico USB.[33] As chaves criptográficas só fican dispoñibles para o navegador web cando o usuario confirma a súa identidade no autenticador.

Cando Apple anunciou o seu soporte para passkeys en 2022,[34] xurdiu a idea errónea de que se trataba dunha tecnoloxía propietaria de dita compañía, malia ser un estándar aberto desenvolvido pola industria.[35]

Descrición xeral

[editar | editar a fonte]

O funcionamento de WebAuthn involucra tres partes principais:[1]

  • O sitio web (Relying Party ou parte receptora).
  • O navegador web (WebAuthn Client).
  • O autenticador (dispositivo físico ou compoñente de software compatible con FIDO2).

WebAuthn Nivel 3 introduce varias capacidades que van máis alá da simple autenticación. A extensión PRF (función pseudoaleatoria, Pseudo-Random Function) permite que unha passkey derive chaves de cifrado, o que facilita a protección de datos cifrados (tales como copias de seguridade) sen necesidade dun contrasinal independente.[36] As solicitudes de orixes relacionadas (Related Origin Requests, ROR) permiten usar unha única passkey en múltiples dominios que pertenzan á mesma organización, reducindo a necesidade de duplicar credenciais.[36]

A especificación tamén engadiu unha sección adicada ás implicacións para a privacidade do uso de credenciais WebAuthn entre distintas orixes, incluídos os riscos asociados cos iframes de orixe cruzada.[37]

Autenticación

[editar | editar a fonte]
Fluxo habitual de autenticación en WebAuthn

O autenticador emprega criptografía de chave pública para asinar un desafío dixital dirixido ao sitio web. Ao requirir a confirmación mediante pegada dactilar, recoñecemento facial ou PIN, combínanse factores de seguridade: a posesión do dispositivo («algo que se ten») xunto co dato biométrico («algo que se é») ou o contrasinal curto («algo que se sabe»).

O sitio web solicita a autenticación ao navegador mediante código JavaScript, e o navegador comunícase directamente co autenticador (mediante o protocolo CTAP no caso de chaves externas conectadas por USB, Bluetooth ou NFC). Os datos biométricos fican sempre no dispositivo local e nunca se transmiten a través de Internet.[38]

No momento en que o usuario vincula a súa chave ou dispositivo a unha conta, iníciase o proceso de rexistro: o dispositivo xera un par de chaves (pública e privada). A chave privada permanece gardada no dispositivo de forma segura, mentres que a chave pública envíase ao servidor web acompañada dun certificado de atestación dixital.[39] En sesións futuras, o servidor comprobará as sinaturas utilizando unicamente esa chave pública gardada.

Compatibilidade

[editar | editar a fonte]

WebAuthn conta con compatibilidade nos principais navegadores modernos: Google Chrome, Mozilla Firefox, Microsoft Edge, Safari e Opera.[40] Servizos como Dropbox engadiron compatibilidade desde 2018,[41] e sistemas operativos móbiles e de escritorio incorporárono como estándar nativo.

  1. 1 2 3 Balfanz, Dirk; Czeskis, Alexei; Hodges, Jeff; Jones, J.C.; Jones, Michael B.; Kumar, Akshay; Liao, Angelo; Lindemann, Rolf; Lundberg, Emil (eds.). "Web Authentication: An API for accessing Public Key Credentials Level 1". World Wide Web Consortium. Arquivado dende o orixinal o 14 March 2019. Consultado o 4 March 2019.
  2. ↑ "Web Authentication Working Group". World Wide Web Consortium. Arquivado dende o orixinal o 15 May 2016. Consultado o 2018-05-11.
  3. ↑ Strickland, Jonathan (18 March 2019). "What is WebAuthn". TechStuff. iHeartMedia. 20:35 No minuto. Arquivado dende o orixinal o 25 June 2021. Consultado o 20 March 2019.
  4. ↑ "White Paper: Multi-Device FIDO Credentials" (PDF). FIDO Alliance. March 2022. p. 6. Arquivado dende o orixinal (PDF) o 16 June 2024. Consultado o 20 May 2024.
  5. ↑ Brown, William (April 2024). "webauthn-rs docs". Docs.rs. Kanidm Identity Management Project. Arquivado dende o orixinal o 12 June 2025. Consultado o 3 July 2025.
  6. ↑ Langley, Adam (2024-12-23). "A Tour of WebAuthn". Imperial Violet. Consultado o 2025-08-13.
  7. 1 2 Goodin, Dan (30 December 2024). "Passkey technology is elegant, but it's most definitely not usable security". Ars Technica. Arquivado dende o orixinal o 3 July 2025. Consultado o 3 July 2025.
  8. ↑ "WebAuthn / CTAP: Modern Authentication" (PDF). World Wide Web Consortium. 10 December 2018. Arquivado dende o orixinal (PDF) o 4 December 2020. Consultado o 11 March 2019.
  9. ↑ "Will Passkeys Kill Password Managers?". Corbado (en inglés). 2023-06-01. Consultado o 2025-09-18.
  10. ↑ "WebAuthn Passkey QR Codes & Bluetooth: Hybrid Transport". Corbado (en inglés). 2023-11-08. Consultado o 2025-09-18.
  11. ↑ Kan, Michael (7 March 2019). "Google: Phishing Attacks That Can Beat Two-Factor Are on the Rise". PC Magazine. Arquivado dende o orixinal o 8 March 2019. Consultado o 8 March 2019.
  12. ↑ "Practical passwordless authentication comes a step closer with WebAuthn". Ars Technica (en inglés). 2018-04-10. Arquivado dende o orixinal o 1 January 2025. Consultado o 2024-10-16.
  13. ↑ "W3C and FIDO Alliance Finalize Web Standard for Secure, Passwordless Logins". World Wide Web Consortium. 4 March 2019. Arquivado dende o orixinal o 4 March 2019. Consultado o 4 March 2019.
  14. ↑ Balfanz, Dirk; Czeskis, Alexei; Hodges, Jeff; Jones, J.C.; Jones, Michael B.; Kumar, Akshay; Lindemann, Rolf; Lundberg, Emil, eds. (8 April 2021). "Web Authentication: An API for accessing Public Key Credentials Level 2". World Wide Web Consortium. Arquivado dende o orixinal o 4 June 2019. Consultado o 27 November 2022.
  15. ↑ "W3C Invites Implementations of Web Authentication: An API for accessing Public Key Credentials Level 3". World Wide Web Consortium. 13 January 2026. Consultado o 20 de setembro de 2026.
  16. ↑ "Updated Candidate Recommendation: Web Authentication: An API for accessing Public Key Credentials Level 3". World Wide Web Consortium. 26 May 2026. Consultado o 20 de setembro de 2026.
  17. ↑ "Proposed Advancement of Web Authentication: An API for accessing Public Key Credentials Level 3 to W3C Recommendation". World Wide Web Consortium. 20 July 2026. Consultado o 20 de setembro de 2026.
  18. ↑ Bonneau, Joseph; Herley, Cormac (2012). "The Quest to Replace Passwords: A Framework for Comparative Evaluation of Web Authentication Schemes". 2012 IEEE Symposium on Security and Privacy. pp. 553–567. doi:10.1109/SP.2012.44.
  19. ↑ Wang, Chun (2018-03-13). "The Next Domino to Fall: Empirical Analysis of User Passwords across Online Services". Proceedings of the Eighth ACM Conference on Data and Application Security and Privacy (en inglés). ACM. pp. 196–203. doi:10.1145/3176258.3176332.
  20. ↑ Mazurek, Michelle L. (2013). "Measuring password guessability for an entire university". Proceedings of the 2013 ACM SIGSAC conference on Computer & communications security - CCS '13 (en inglés). ACM Press. pp. 173–186. doi:10.1145/2508859.2516726.
  21. ↑ Habib, Hana (2018). User behaviors and attitudes under password expiration policies. Fourteenth Symposium On Usable Privacy and Security (SOUPS 2018). USENIX Association. pp. 13–30.
  22. ↑ "Yubico Company Timeline". Yubico. Consultado o 2026-06-04.
  23. ↑ "FIDO Alliance Publishes Final FIDO 1.0 Specifications". Yubico. 2014-12-09. Consultado o 2026-06-04.
  24. ↑ "FIDO Complete Spec 2015-09-04" (PDF). FIDO Alliance. 2015-09-04. Consultado o 5 June 2026.
  25. ↑ Ghorbani Lyastani, Sanam (May 2020). "Is FIDO2 the Kingslayer of User Authentication? A Comparative Usability Study of FIDO2 Passwordless Authentication". 2020 IEEE Symposium on Security and Privacy (SP). IEEE. pp. 268–285. doi:10.1109/SP40000.2020.00047.
  26. ↑ "W3C Welcomes the FIDO 2.0 Member Submission". W3C. 2015-11-20. Consultado o 2026-06-05.
  27. ↑ "Web Authentication Working Group Charter". w3.org. Consultado o 2026-06-04.
  28. ↑ "Web Authentication API - Web APIs | MDN". MDN Web Docs. 2026-02-19. Consultado o 2026-06-04.
  29. ↑ Brown, William (April 2024). "webauthn-rs docs". Docs.rs. Kanidm Identity Management Project. Arquivado dende o orixinal o 12 June 2025. Consultado o 3 July 2025.
  30. ↑ Langley, Adam (2024-12-23). "A Tour of WebAuthn". Imperial Violet. Consultado o 2025-08-13.
  31. ↑ "Support for Passkeys in Windows". microsoft.com. Consultado o 2026-06-06.
  32. ↑ "Log In With Passkeys". Bitwarden. Consultado o 2026-06-06.
  33. ↑ "Stop changing weak passwords. Start replacing them with passkeys". PCWorld. Consultado o 2026-06-06.
  34. ↑ Clemons, Taylor (6 June 2022). "WWDC 2022: Apple announces Passkey feature to eliminate passwords across platforms". ZD Net. Arquivado dende o orixinal o 6 June 2023. Consultado o 4 July 2025.
  35. ↑ Shakir, Umar (6 August 2022). "Reminder: passkeys are not just from Apple". The Verge. Arquivado dende o orixinal o 24 September 2023. Consultado o 4 July 2025.
  36. 1 2 "What Is WebAuthn Level 3 & How Does Enpass Support It?". Enpass. 23 July 2026. Consultado o 20 August 2026.
  37. ↑ "[L3 REC] Transition Request Draft". w3c/webauthn. GitHub. Consultado o 20 August 2026.
  38. ↑ "Touch ID and Beyond: Duo's Plans for WebAuthn". Duo Security. 5 March 2019. Arquivado dende o orixinal o 21 March 2020. Consultado o 8 March 2019.
  39. ↑ "Attestation and Assertion - Web APIs". MDN Web Docs. 2025-05-28. Consultado o 2025-09-20.
  40. ↑ "Can I use Web Authentication API?". Arquivado dende o orixinal o 19 February 2018. Consultado o 7 March 2019.
  41. ↑ Girardeau, Brad (2018-05-08). "Introducing WebAuthn support for secure Dropbox sign in". Dropbox. Arquivado dende o orixinal o 12 May 2018. Consultado o 2018-05-11.

Véxase tamén

[editar | editar a fonte]

Ligazóns externas

[editar | editar a fonte]