Hacker News

Non use claves de acceso para cifrar os datos do usuario

Comentarios

16 min read Via blog.timcappalli.me

Mewayz Team

Editorial Team

Hacker News

As claves de acceso son o desenvolvemento de autenticación máis emocionante dos últimos anos. Eliminan o phishing, eliminan a carga dos contrasinais e ofrecen unha experiencia de inicio de sesión sen problemas apoiada pola criptografía de clave pública. Pero unha idea errónea perigosa está a estenderse polas comunidades de desenvolvedores: se as claves de acceso son criptográficas, seguramente tamén poden cifrar os datos dos usuarios. Non poden, e tentar usalos dese xeito creará sistemas fráxiles e pouco fiables que poderían bloquear permanentemente aos seus usuarios a súa propia información. Comprender por que require unha visión clara do que son realmente as claves de acceso, do que esixe o cifrado e onde diverxen as dúas de forma que importa enormemente para calquera plataforma que manexa datos empresariais sensibles.

A autenticación e o cifrado son traballos fundamentalmente diferentes

A autenticación responde a unha pregunta: "Es ti quen afirmas ser?" O cifrado responde a outra completamente diferente: "Poden estes datos permanecer ilexíbeis para todos, excepto para as persoas autorizadas?" Estes dous problemas comparten primitivas criptográficas, pero os requisitos de enxeñería diverxen moito. A autenticación debe realizarse unha vez por sesión, pode tolerar fallos ocasionais con alternativas elegantes e non precisa producir a mesma saída cada vez. O cifrado require un acceso de clave determinista e reproducible durante toda a vida útil dos datos, que pode ser de anos ou décadas.

Cando te autenticas cunha clave de acceso, o teu dispositivo xera unha sinatura criptográfica que demostra que tes a clave privada asociada á túa conta. O servidor verifica esta sinatura e concede acceso. En ningún momento o servidor, nin sequera a súa aplicación, obtén acceso ao propio material da chave privada. Esta é unha característica, non unha limitación. Todo o modelo de seguranza das claves de acceso depende de que a chave privada nunca saia do enclave seguro do teu dispositivo. Pero o cifrado require que use unha chave para transformar os datos e, posteriormente, use esa mesma chave (ou a súa contraparte) para reverter a transformación. Se non pode acceder á chave de forma fiable, non pode descifrar de forma fiable.

Plataformas como Mewayz que xestionan información comercial confidencial (facturas, rexistros de nóminas, contactos de CRM, documentos de RRHH en 207 módulos) necesitan estratexias de cifrado baseadas en claves duradeiras, recuperables e accesibles de forma consistente. Construír iso sobre unha base deseñada especificamente para evitar o acceso das chaves é unha contradición arquitectónica.

Por que as claves de acceso resisten a ser utilizadas como claves de cifrado

A especificación WebAuthn, que fundamenta as claves de acceso, foi deseñada deliberadamente con restricións que fan que o uso do cifrado sexa pouco práctico. A comprensión destas limitacións revela por que non se trata dunha brecha que a enxeñería intelixente pode cubrir: é un límite fundamental do deseño.

  • Sen exportación de claves: as claves privadas xeradas durante o rexistro da clave de acceso gárdanse en enclaves seguros apoiados en hardware (TPM, Secure Enclave ou equivalente). O sistema operativo e as API do navegador non proporcionan ningún mecanismo para extraer material clave en bruto. Podes pedirlle á chave que asine algo, pero non podes ler a chave en si.
  • Xeración de claves non deterministas: crear unha clave de acceso para o mesmo usuario nun dispositivo diferente produce un par de claves completamente diferente. Non hai frase semente, sen camiño de derivación, nin forma de reconstruír a mesma clave noutro dispositivo. Cada rexistro é criptograficamente independente.
  • Dispoñibilidade vinculada ao dispositivo: mesmo coa sincronización de claves de acceso (chaveiro de iCloud, Xestor de contrasinais de Google), a dispoñibilidade depende da participación do ecosistema. Un usuario que se rexistra nun iPhone e despois cambia a Android pode perder o acceso. Un usuario cuxo dispositivo se perda, rouban ou restablece a fábrica ten o mesmo problema.
  • Só a resposta ao desafío: a API de WebAuthn expón navigator.credentials.get() que devolve unha afirmación asinada, non material de chave en bruto. Recibes unha sinatura a través dun desafío proporcionado polo servidor, útil para probar a identidade e inútil para obter unha clave de cifrado.
  • Non hai flexibilidade de algoritmo: as claves de acceso normalmente usan ECDSA coa curva P-256. Aínda que puideses acceder á chave, ECDSA é un algoritmo de sinatura, non un algoritmo de cifrado. Necesitarías transformacións adicionais (acordo de clave ECDH, derivación KDF) que a API non admite neste contexto.

Algúns desenvolvedores propuxeron solucións: usar a extensión PRF (función pseudoaleatoria) para WebAuthn, por exemplo, para obter claves simétricas durante a autenticación. Aínda que esta extensión existe na especificación, a compatibilidade do navegador segue sendo inconsistente, non está dispoñible en moitas plataformas móbiles e aínda herda o problema de vinculación do dispositivo. Unha clave derivada mediante PRF nun dispositivo non se pode reproducir noutro dispositivo cunha clave de acceso diferente, nin sequera para a mesma conta de usuario.

O escenario de perda de datos que ninguén quere enviar

Ten en conta o que ocorre cando cifras os datos dun usuario cunha clave derivada da súa clave de acceso. Todo funciona moi ben o primeiro día. O usuario inicia sesión, a clave derívase, os datos cífranse e descifran de forma perfecta. Despois, tres meses despois, o seu teléfono cae nun lago.

Coa autenticación tradicional, perder un dispositivo é un inconveniente. O usuario recupera a súa conta por correo electrónico, configura novas credenciais e segue traballando. Pero se os seus datos foron cifrados cunha chave unida ao enclave seguro do dispositivo agora mergullado, eses datos desaparecerán. Non "difícil de recuperar" desapareceu, criptograficamente irreversible. Ningún ticket de atención ao cliente, ningún fluxo de recuperación da conta, ningunha escalada executiva pode reverter as matemáticas. Os datos tamén poderían ter sido eliminados.

A regra principal do deseño do sistema de cifrado: se a túa estratexia de xestión de claves ten algún punto de fallo único que destrúe permanentemente o acceso aos datos do usuario, non creaches unha función de seguranza; creaches un mecanismo de perda de datos con pasos adicionais.

Para unha empresa que realiza operacións a través dunha plataforma: xestionar 50 relacións con clientes nun CRM, procesar nóminas mensuais de 30 empregados, rastrexar unha flota de vehículos, a perda permanente de datos por un teléfono caído non é un problema menor de UX. É unha catástrofe de continuidade empresarial. É precisamente por iso que a arquitectura de Mewayz separa os mecanismos de autenticación das capas de protección de datos, garantindo que ningún fallo dun dispositivo pode comprometer o acceso á información empresarial crítica en ningún dos seus módulos integrados.

O que deberías usar no seu lugar

A boa noticia é que existen patróns ben establecidos para cifrar os datos dos usuarios sen caer na trampa da clave de acceso. Estes enfoques están probados en batalla, son amplamente compatibles e están deseñados especificamente para o caso de uso do cifrado.

O cifrado do servidor con claves xestionadas segue sendo a opción máis práctica para a gran maioría das aplicacións. A túa plataforma cifra os datos en reposo utilizando claves xestionadas a través dun servizo de xestión de claves (KMS) adecuado: AWS KMS, Google Cloud KMS, HashiCorp Vault ou equivalente. O usuario autentica (con claves de acceso, se o desexa!) e o servidor xestiona o cifrado e o descifrado de forma transparente. Así é como protexen os datos a maioría das plataformas SaaS, e funciona porque as claves son duradeiras, con copia de seguranza, xirativas e independentes do dispositivo de calquera usuario.

As claves de cifrado derivadas de contrasinal (usando Argon2id ou scrypt para a derivación de chaves) son apropiadas cando precisas un cifrado de coñecemento cero e nin sequera o servidor non pode ler os datos do usuario. A compensación é que perder o contrasinal significa perder os datos, pero os contrasinais pódense memorizar, escribir e almacenar en xestores de contrasinais: non están bloqueados nun enclave de hardware. Servizos como 1Password e Standard Notes utilizan este enfoque de forma eficaz.

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →
  1. Utiliza claves de acceso (ou calquera método seguro) para a autenticación: verificar a identidade do usuario.
  2. Despois da autenticación, derive ou recupere as claves de cifrado a través dun sistema de xestión de claves separado e creado específicamente.
  3. Implementa mecanismos de depósito ou recuperación de claves: claves de recuperación, sincronización de claves de varios dispositivos ou custodia de claves organizativas para contas empresariais.
  4. Cifre os datos en repouso e en tránsito usando AES-256-GCM ou XChaCha20-Poly1305 coas claves do teu KMS.
  5. Xara as chaves periódicamente e manteña copias de seguranza de claves cifradas que sobrevivan a calquera punto de falla.

Esta separación de problemas non é só unha práctica recomendada, é a única arquitectura que che permite actualizar os métodos de autenticación independentemente da túa estratexia de cifrado. Cando as claves de acceso eventualmente evolucionan ou son substituídas por algo mellor, os teus datos cifrados seguen sendo perfectamente accesibles.

A extensión PRF: promesas e trampas

Os desenvolvedores que seguen de preto a especificación de WebAuthn poden sinalar a extensión prf como unha posible ponte entre as claves de acceso e o cifrado. Esta extensión permite que unha parte de confianza solicite un valor pseudoaleatorio derivado do material secreto da clave de acceso durante unha cerimonia de autenticación. En teoría, este valor podería servir como clave de cifrado ou semente.

Na práctica, a extensión PRF enfróntase a importantes barreiras de adopción. A principios de 2026, a compatibilidade varía drasticamente entre os navegadores e plataformas. A implementación de Safari é diferente da de Chrome. Moitos dispositivos Android non o admiten en absoluto. As chaves de seguranza de hardware teñen unha compatibilidade inconsistente. Para calquera plataforma que atende unha base de usuarios diversa, e Mewayz atende a máis de 138.000 usuarios en todos os principais sistemas operativos e tipos de dispositivos, a creación de cifrado nunha función cunha dispoñibilidade irregular é operativamente insostible.

Máis fundamentalmente, PRF non resolve o problema de varios dispositivos. A saída pseudoaleatoria derívase da clave de acceso específica do dispositivo específico. Un usuario que rexistra claves de acceso tanto no seu portátil como no seu teléfono obtén dúas saídas PRF diferentes para a mesma conta. Necesitarías cifrar os datos coa clave derivada dun dispositivo e, dalgunha maneira, volver cifrar ou compartir esa chave co outro dispositivo, o que de todos os xeitos te permitirá crear un sistema de xestión de claves adecuado. Nese momento, a clave derivada da clave de paso engade complexidade sen engadir seguridade.

Leccións para constructores: use a ferramenta correcta para a capa correcta

A tentación de usar contrasinal para o cifrado vén dun bo instinto: os desenvolvedores queren aproveitar a criptografía forte e reducir o número de segredos que os usuarios deben xestionar. Pero a enxeñaría de seguridade consiste fundamentalmente en usar o primitivo correcto na capa correcta. Tanto unha pechadura como unha caixa forte protexen os obxectos de valor, pero non instalarías un pestillo dentro dunha bóveda nin tentarías levar unha caixa forte no teu peto.

Os contrasinais destacan polo seu propósito. Reduciron ata un 99,9 % as adquisicións de contas relacionadas co phishing na implementación interna de Google. Eliminan por completo os ataques de recheo de credenciais. Ofrecen unha experiencia de inicio de sesión que é ao mesmo tempo máis segura e máis cómoda que os contrasinais. Ese é un logro notable, e é suficiente. Pedir claves de acceso para resolver tamén o cifrado é como pedirlle ao teu firewall que sirva tamén como sistema de copia de seguranza: non entende mal a arquitectura.

Ao crear plataformas que manexan operacións comerciais sensibles, a arquitectura debe reflectir límites claros. A autenticación verifica a identidade. A autorización determina o acceso. O cifrado protexe os datos en repouso e en tránsito. A xestión de claves garante que as claves de cifrado sobrevivan á perda de dispositivos, á rotación dos empregados e aos cambios de infraestrutura. Cada capa dispón de ferramentas especialmente creadas, e mesturalas crea unha fraxilidade que aparece nos peores momentos posibles, cando un usuario máis necesita acceder aos seus datos e non pode.

Conseguir a seguridade correcta sen complicala en exceso

Para a maioría das aplicacións e plataformas empresariais SaaS, a recomendación práctica é sinxela: adoptar as claves de acceso con entusiasmo para a autenticación e xestionar o cifrado completamente no lado do servidor cun KMS xestionado. Isto ofrécelle aos teus usuarios a mellor experiencia de inicio de sesión dispoñible na actualidade, ao tempo que protexen os seus datos cunha infraestrutura deseñada especificamente para a durabilidade e a recuperación.

Se o teu modelo de ameaza realmente require un cifrado de extremo a extremo onde o servidor non pode acceder a datos de texto sinxelo, inviste nunha arquitectura de cifrado adecuada do lado do cliente con claves derivadas de contrasinal, códigos de recuperación e depósito de claves organizativas, non atallos derivados da clave de acceso. O investimento en enxeñaría é maior, pero a alternativa é enviar un sistema que acabará por destruír os datos de alguén de forma irrecuperable.

As decisións de seguridade compútanse co paso do tempo. Un atallo tomado hoxe convértese nun pesadelo de migración en tres anos cando o primitivo subxacente cambia, un ecosistema de dispositivos cambia a súa política de sincronización ou un navegador deixa de usar unha extensión. A partir das abstraccións correctas desde o principio (a autenticación como autenticación, o cifrado como cifrado, cada un co seu propio ciclo de vida da chave) é a base que permite que as plataformas se escalan a centos de miles de usuarios sen unha bomba de reloxería enterrada na canalización criptográfica.

Preguntas máis frecuentes

Por que non se poden usar as claves de acceso para cifrar os datos do usuario?

Os contrasinais están deseñados exclusivamente para a autenticación, non para o cifrado. Confían na criptografía de clave pública para verificar a túa identidade durante o inicio de sesión, pero a clave privada nunca sae do teu dispositivo e non é accesible para as aplicacións. O cifrado require claves estables e reproducibles que poidan descifrar datos de forma consistente ao longo do tempo. As claves de acceso carecen desta capacidade polo seu deseño, polo que son fundamentalmente inadecuadas para protexer a información almacenada do usuario.

Que pasa se tentas cifrar os datos con claves de acceso?

Corres o risco de construír un sistema fráxil onde os usuarios queden bloqueados permanentemente dos seus propios datos. As claves de acceso pódense revogar, rotar ou substituír entre os dispositivos sen previo aviso. Se os datos cifrados están ligados a unha clave de acceso específica que se elimina ou se actualiza, non hai camiño de recuperación. Isto crea un escenario catastrófico de perda de datos que ningunha solución de enxeñería pode evitar de forma fiable.

Que deberían usar os desenvolvedores en lugar das claves de acceso para o cifrado de datos?

Os desenvolvedores deben usar solucións de cifrado creadas específicamente como AES-256 cunha xestión adecuada de claves, cifrado de sobre ou bibliotecas establecidas como libsodium. Mantén a autenticación e o cifrado como preocupacións separadas. Utiliza claves de acceso para o que destacan (inicio de sesión sen contrasinal) e claves de cifrado dedicadas xestionadas mediante sistemas de almacenamento e derivación de claves seguros para protexer os datos confidenciais dos usuarios.

Como xestiona Mewayz a autenticación e a seguridade dos datos para as empresas?

Mewayz ofrece un sistema operativo empresarial de 207 módulos a partir de 19 USD ao mes que separa a autenticación da protección de datos mediante as mellores prácticas do sector. En lugar de facer un mal uso das claves de acceso, a plataforma de app.mewayz.com implementa capas de cifrado adecuadas xunto con fluxos de inicio de sesión seguros, o que garante que as empresas poidan protexer os datos dos clientes de forma fiable sen arriscar os escenarios de bloqueo que se derivan de combinar a autenticación co cifrado.

Try Mewayz Free

All-in-one platform for CRM, invoicing, projects, HR & more. No credit card required.

Start managing your business smarter today

Join 30,000+ businesses. Free forever plan · No credit card required.

Ready to put this into practice?

Join 30,000+ businesses using Mewayz. Free forever plan — no credit card required.

Start Free Trial →

Ready to take action?

Start your free Mewayz trial today

All-in-one business platform. No credit card required.

Start Free →

14-day free trial · No credit card · Cancel anytime