Hacker News

No utilitzeu contrasenyes per xifrar les dades dels usuaris

Comentaris

16 min read Via blog.timcappalli.me

Mewayz Team

Editorial Team

Hacker News

Les contrasenyes són el desenvolupament d'autenticació més emocionant dels últims anys. Eliminen el phishing, eliminen la càrrega de les contrasenyes i ofereixen una experiència d'inici de sessió perfecta amb el suport de la criptografia de clau pública. Però un error perillós s'està estenent per les comunitats de desenvolupadors: si les claus de pas són criptogràfiques, segurament també poden xifrar les dades dels usuaris. No poden, i intentar utilitzar-los d'aquesta manera crearà sistemes fràgils i poc fiables que podrien bloquejar els usuaris de la seva pròpia informació permanentment. Entendre per què requereix una visió clara de quines són realment les claus de pas, quines exigències d'encriptació i on les dues divergeixen d'una manera molt important per a qualsevol plataforma que gestione dades empresarials sensibles.

L'autenticació i el xifratge són treballs fonamentalment diferents

L'autenticació respon a una pregunta: "Ets qui dius ser?" El xifratge respon a una altra de completament diferent: "Poden aquestes dades romandre il·legibles per a tothom, excepte per a les persones autoritzades?" Aquests dos problemes comparteixen primitives criptogràfiques, però els requisits d'enginyeria divergeixen fortament. L'autenticació s'ha de fer una vegada per sessió, pot tolerar errors ocasionals amb alternatives elegants i no cal que produeixi la mateixa sortida cada vegada. El xifratge requereix un accés de claus determinista i reproduïble durant tota la vida útil de les dades, que pot ser d'anys o dècades.

Quan us autentiqueu amb una clau de pas, el vostre dispositiu genera una signatura criptogràfica que demostra que teniu la clau privada associada al vostre compte. El servidor verifica aquesta signatura i concedeix accés. En cap moment el servidor, ni tan sols la vostra aplicació, accedeix al material de la clau privada. Aquesta és una característica, no una limitació. Tot el model de seguretat de les contrasenyes depèn que la clau privada no surti mai de l'enclavament segur del vostre dispositiu. Però el xifratge requereix que utilitzeu una clau per transformar les dades i, més tard, utilitzeu la mateixa clau (o la seva contrapartida) per revertir la transformació. Si no podeu accedir de manera fiable a la clau, no podreu desxifrar de manera fiable.

Les plataformes com Mewayz que gestionen informació empresarial sensible (factures, registres de nòmines, contactes de CRM, documents de recursos humans en 207 mòduls) necessiten estratègies de xifratge basades en claus duradores, recuperables i accessibles de manera coherent. Construir-ho sobre una base dissenyada específicament per evitar l'accés amb clau és una contradicció arquitectònica.

Per què les claus d'accés resisteixen a ser utilitzades com a claus d'encriptació

L'especificació WebAuthn, que sustenta les claus de pas, s'ha dissenyat deliberadament amb restriccions que fan que l'ús del xifratge sigui poc pràctic. Entendre aquestes limitacions revela per què no es tracta d'un buit que l'enginyeria intel·ligent pugui superar: és un límit fonamental del disseny.

  • Sense exportació de claus: les claus privades generades durant el registre de la contrasenya s'emmagatzemen en enclavaments segurs recolzats per maquinari (TPM, Secure Enclave o equivalent). El sistema operatiu i les API del navegador no proporcionen cap mecanisme per extreure material clau en brut. Podeu demanar a la clau que signi alguna cosa, però no podeu llegir la clau en si.
  • Generació de claus no deterministes: la creació d'una contrasenya per al mateix usuari en un dispositiu diferent produeix un parell de claus completament diferent. No hi ha cap frase llavor, ni camí de derivació, ni manera de reconstruir la mateixa clau en un altre dispositiu. Cada registre és criptogràficament independent.
  • Disponibilitat vinculada al dispositiu: fins i tot amb la sincronització de claus de contrasenya (clauer d'iCloud, Gestor de contrasenyes de Google), la disponibilitat depèn de la participació de l'ecosistema. Un usuari que es registra en un iPhone i després canvia a Android pot perdre l'accés. Un usuari el dispositiu al qual es perd, es roba o s'ha restablert de fàbrica s'enfronta al mateix problema.
  • Només resposta al repte: l'API WebAuthn exposa navigator.credentials.get() que retorna una afirmació signada, no material de clau en brut. Rebreu una signatura mitjançant un repte proporcionat pel servidor, útil per demostrar la identitat, inútil per obtenir una clau de xifratge.
  • Sense flexibilitat d'algorisme: les claus d'accés solen utilitzar ECDSA amb la corba P-256. Fins i tot si poguéssiu accedir a la clau, ECDSA és un algorisme de signatura, no un algorisme de xifratge. Necessites transformacions addicionals (acord de clau ECDH, derivació KDF) que l'API no admet en aquest context.

Alguns desenvolupadors han proposat solucions alternatives: utilitzar l'extensió PRF (funció pseudo-atzar) a WebAuthn, per exemple, per obtenir claus simètriques durant l'autenticació. Tot i que aquesta extensió existeix a l'especificació, el suport del navegador segueix sent inconsistent, no està disponible a moltes plataformes mòbils i encara hereta el problema d'enllaç del dispositiu. Una clau derivada mitjançant PRF en un dispositiu no es pot reproduir en un altre dispositiu amb una contrasenya diferent, fins i tot per al mateix compte d'usuari.

L'escenari de pèrdua de dades que ningú no vol enviar

Penseu què passa quan encripteu les dades d'un usuari amb una clau derivada de la seva clau d'accés. Tot funciona molt bé el primer dia. L'usuari inicia sessió, la clau s'obté, les dades es xifren i es desxifren sense problemes. Tres mesos després, el seu telèfon cau a un llac.

Amb l'autenticació tradicional, perdre un dispositiu és un inconvenient. L'usuari recupera el seu compte per correu electrònic, configura noves credencials i continua treballant. Però si les seves dades es van xifrar amb una clau vinculada a l'enclavament segur del dispositiu ara submergit, aquestes dades desapareixeran. No ha desaparegut "difícil de recuperar", irreversible criptogràficament. Cap bitllet d'assistència al client, cap flux de recuperació del compte, cap escalada executiva pot revertir les matemàtiques. Les dades també podrien haver-se suprimit.

La regla cardinal del disseny del sistema de xifratge: si la vostra estratègia de gestió de claus té un únic punt d'error que destrueixi permanentment l'accés a les dades de l'usuari, no heu creat una funció de seguretat; heu creat un mecanisme de pèrdua de dades amb passos addicionals.

Per a una empresa que opera a través d'una plataforma: gestió de 50 relacions amb clients en un CRM, processament de nòmines mensuals de 30 empleats, seguiment d'una flota de vehicles, la pèrdua permanent de dades d'un telèfon caigut no és un problema menor d'UX. És una catàstrofe de continuïtat del negoci. És precisament per això que l'arquitectura de Mewayz separa els mecanismes d'autenticació de les capes de protecció de dades, assegurant que cap fallada d'un dispositiu pot comprometre l'accés a la informació crítica de l'empresa en qualsevol dels seus mòduls integrats.

Què hauríeu de fer servir

La bona notícia és que existeixen patrons ben establerts per xifrar les dades dels usuaris sense caure en la trampa de la clau de pas. Aquests enfocaments s'han provat en batalla, tenen un gran suport i estan dissenyats específicament per al cas d'ús del xifratge.

El xifratge del servidor amb claus gestionades segueix sent l'opció més pràctica per a la gran majoria d'aplicacions. La vostra plataforma xifra les dades en repòs mitjançant claus gestionades mitjançant un servei de gestió de claus (KMS) adequat: AWS KMS, Google Cloud KMS, HashiCorp Vault o equivalent. L'usuari s'autentica (amb claus de pas, si voleu!) i el servidor gestiona el xifratge i el desxifrat de manera transparent. Així és com la majoria de plataformes SaaS protegeixen les dades, i funciona perquè les claus són duradores, amb còpies de seguretat, giratoris i independents del dispositiu de qualsevol usuari.

Les claus de xifratge derivades de la contrasenya (que utilitzen Argon2id o scrypt per a la derivació de claus) són adequades quan necessiteu un xifratge de coneixement zero on ni tan sols el servidor no pot llegir les dades de l'usuari. La contrasenya és que perdre la contrasenya significa perdre les dades, però les contrasenyes es poden memoritzar, escriure i emmagatzemar als gestors de contrasenyes: no estan bloquejades dins d'un enclavament de maquinari. Serveis com 1Password i Standard Notes utilitzen aquest enfocament de manera eficaç.

💡 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. Utilitzeu contrasenyes (o qualsevol mètode fort) per a l'autenticació: verificar la identitat de l'usuari.
  2. Després de l'autenticació, obteniu o recupereu les claus de xifratge mitjançant un sistema de gestió de claus separat i dissenyat específicament.
  3. Implementeu mecanismes de conservació o de recuperació de claus: claus de recuperació, sincronització de claus de diversos dispositius o custòdia de claus organitzatives per als comptes empresarials.
  4. Encripteu les dades en repòs i en trànsit mitjançant AES-256-GCM o XChaCha20-Poly1305 amb les claus del vostre KMS.
  5. Gira les claus periòdicament i mantén còpies de seguretat de claus xifrades que sobreviuen a qualsevol punt d'error.

Aquesta separació de preocupacions no és només una pràctica recomanada: és l'única arquitectura que us permet actualitzar els mètodes d'autenticació independentment de la vostra estratègia de xifratge. Quan les claus de pas evolucionen o es substitueixen per alguna cosa millor, les vostres dades encriptades romandran perfectament accessibles.

L'extensió PRF: promesa i trampes

Els desenvolupadors que segueixen de prop l'especificació de WebAuthn poden assenyalar l'extensió prf com a pont potencial entre les claus de pas i el xifratge. Aquesta extensió permet que una part de confiança sol·liciti un valor pseudoaleatori derivat del material secret de la clau d'accés durant una cerimònia d'autenticació. En teoria, aquest valor podria servir com a clau d'encriptació o llavor.

A la pràctica, l'extensió PRF s'enfronta a importants obstacles d'adopció. A principis de 2026, el suport varia de manera espectacular entre navegadors i plataformes. La implementació de Safari és diferent de la de Chrome. Molts dispositius Android no ho admeten en absolut. Les claus de seguretat de maquinari tenen un suport inconsistent. Per a qualsevol plataforma que serveixi una base d'usuaris diversa, i Mewayz dóna servei a més de 138.000 usuaris de tots els sistemes operatius i tipus de dispositiu principals, la creació de xifratge en una funció amb una disponibilitat irregular és operativament insostenible.

Més fonamentalment, PRF no resol el problema de diversos dispositius. La sortida pseudoaleatoria es deriva de la clau de pas específica del dispositiu específic. Un usuari que registra claus d'accés tant al seu ordinador portàtil com al telèfon obté dues sortides PRF diferents per al mateix compte. Hauríeu de xifrar les dades amb la clau derivada d'un dispositiu i, d'alguna manera, tornar a xifrar o compartir aquesta clau amb l'altre dispositiu, cosa que us permetrà tornar a crear un sistema de gestió de claus adequat de totes maneres. En aquest moment, la clau derivada de la contrasenya afegeix complexitat sense afegir seguretat.

Lliçons per a constructors: feu servir l'eina adequada per a la capa correcta

La temptació d'utilitzar contrasenyes per al xifratge prové d'un bon instint: els desenvolupadors volen aprofitar una criptografia forta i reduir el nombre de secrets que els usuaris han de gestionar. Però l'enginyeria de seguretat consisteix fonamentalment a utilitzar el primitiu adequat a la capa adequada. Tant un pany com una caixa forta protegeixen els objectes de valor, però no instal·leu un forrellat dins d'una volta ni intenteu portar una caixa forta a la butxaca.

Les claus de contrasenya excel·lent en el seu propòsit dissenyat. Han reduït les adquisicions de comptes relacionades amb la pesca fins a un 99,9% en el desplegament intern de Google. Eliminen completament els atacs d'emplenament de credencials. Proporcionen una experiència d'inici de sessió que és alhora més segura i més convenient que les contrasenyes. És un èxit notable, i n'hi ha prou. Demanar claus de contrasenya per resoldre també l'encriptació és com demanar-li al vostre tallafoc que també serveixi com a sistema de còpia de seguretat: no entén l'arquitectura.

Quan es creen plataformes que gestionen operacions empresarials sensibles, l'arquitectura hauria de reflectir límits clars. L'autenticació verifica la identitat. L'autorització determina l'accés. El xifratge protegeix les dades en repòs i en trànsit. La gestió de claus garanteix que les claus de xifratge sobrevisquin a la pèrdua del dispositiu, la rotació dels empleats i els canvis d'infraestructura. Cada capa té eines dissenyades específicament, i barrejar-les crea una fragilitat que apareix en els pitjors moments possibles, quan un usuari necessita més accedir a les seves dades i no pot fer-ho.

Aconseguir la seguretat correcta sense complicar-la en excés

Per a la majoria d'aplicacions SaaS i plataformes empresarials, la recomanació pràctica és senzilla: adopteu claus de pas amb entusiasme per a l'autenticació i gestioneu el xifratge completament al costat del servidor amb un KMS gestionat. Això ofereix als vostres usuaris la millor experiència d'inici de sessió disponible avui, alhora que protegeixen les seves dades amb una infraestructura dissenyada específicament per a la durabilitat i la recuperació.

Si el vostre model d'amenaça realment requereix un xifratge d'extrem a extrem on el servidor no pot accedir a les dades de text sense format, invertiu en una arquitectura adequada de xifratge del costat del client amb claus derivades de contrasenyes, codis de recuperació i depósito de claus organitzatives, no dreceres derivades de claus de pas. La inversió en enginyeria és més gran, però l'alternativa és enviar un sistema que finalment destrueixi les dades d'algú de manera irrecuperable.

Les decisions de seguretat s'agreguen amb el temps. Una drecera presa avui es converteix en un malson de migració d'aquí a tres anys quan els canvis primitius subjacents, un ecosistema de dispositius canvia la seva política de sincronització o un navegador obsoleix una extensió. Basant-se en les abstraccions adequades des del principi (l'autenticació com a autenticació, l'encriptació com a encriptació, cadascuna amb el seu propi cicle de vida de la clau) és la base que permet a les plataformes escalar-se a centenars de milers d'usuaris sense una bomba de rellotgeria enterrada a la fontaneria criptogràfica.

Preguntes més freqüents

Per què no es poden utilitzar les claus d'accés per xifrar les dades dels usuaris?

Les contrasenyes estan dissenyades exclusivament per a l'autenticació, no per al xifratge. Depenen de la criptografia de clau pública per verificar la vostra identitat durant l'inici de sessió, però la clau privada no surt mai del vostre dispositiu i no és accessible per a les aplicacions. El xifratge requereix claus estables i reproduïbles que puguin desxifrar dades de manera coherent al llarg del temps. Les claus de contrasenya no tenen aquesta capacitat per disseny, cosa que les fa fonamentalment inadequades per protegir la informació emmagatzemada de l'usuari.

Què passa si intenteu xifrar dades amb claus de contrasenya de totes maneres?

Correu el risc de crear un sistema fràgil on els usuaris quedin permanentment bloquejats de les seves pròpies dades. Les claus de contrasenya es poden revocar, girar o substituir entre dispositius sense avís previ. Si les dades xifrades estan vinculades a una contrasenya específica que s'elimina o s'actualitza, no hi ha cap camí de recuperació. Això crea un escenari catastròfic de pèrdua de dades que cap solució alternativa d'enginyeria pot evitar de manera fiable.

Què haurien d'utilitzar els desenvolupadors en lloc de les claus d'accés per a l'encriptació de dades?

Els desenvolupadors haurien d'utilitzar solucions de xifratge dissenyades específicament com ara AES-256 amb una gestió adequada de claus, xifratge de sobre o biblioteques establertes com libsodium. Mantingueu l'autenticació i el xifratge com a preocupacions separades. Utilitzeu claus d'accés per al que destaquen (inici de sessió sense contrasenya) i claus d'encriptació dedicades gestionades mitjançant sistemes d'emmagatzematge i derivació de claus segurs per protegir les dades sensibles dels usuaris.

Com gestiona Mewayz l'autenticació i la seguretat de les dades per a les empreses?

Mewayz ofereix un sistema operatiu empresarial de 207 mòduls a partir de 19 $/mes que separa l'autenticació de la protecció de dades mitjançant les millors pràctiques del sector. En lloc de fer un ús indegut de les contrasenyes, la plataforma d'app.mewayz.com implementa les capes d'encriptació adequades juntament amb els fluxos d'inici de sessió segurs, garantint que les empreses puguin protegir les dades dels clients de manera fiable sense arriscar els escenaris de bloqueig que provenen de combinar l'autenticació amb el xifratge.

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