El joc de les contrasenyes, i les regles que no protegeixen

Publicat el per David Carrero

El juny del 2023, un programador anomenat Neal Agarwal va publicar al seu web, neal.fun, una cosa titulada The Password Game. Et demana que escriguis una contrasenya. Després que tingui almenys cinc caràcters. Després un número. Després una majúscula. Després un caràcter especial.

Fins aquí no és un joc. És el formulari del teu banc.

Després comença l’altra part. Que els dígits sumin 25. Que contingui el nom d’un mes. Que contingui xifres romanes el producte de les quals sigui 35. Que porti la resposta del Wordle d’avui. Que identifiqui el país d’una fotografia. Que contingui la millor jugada d’una posició d’escacs, en notació algebraica. Són trenta-cinc regles, i pel camí apareix dins la teva contrasenya un emoji d’ou anomenat Paul, que neix i s’ha d’alimentar amb erugues, mentre una flama se’t menja els caràcters si no l’apagues a temps.

El joc funciona per una raó incòmoda: ningú no t’ha d’explicar l’acudit. El copses el primer segon, perquè el mecanisme el pateixes des de fa mitja vida. L’únic que ha fet Agarwal és continuar estirant el fil.

I aquí és on convé anar a poc a poc. Les quatre primeres regles no se les va inventar ell.

D’on van sortir les regles que ja coneixies

Una majúscula, un número, un símbol i una longitud mínima no són folklore d’internet: són la traducció pràctica d’un document del NIST nord-americà publicat el 2003, l’SP 800-63, escrit per Bill Burr. D’allà van baixar als formularis de mig món, i d’allà al teu cap.

Ho vam explicar sencer a què és una contrasenya: Burr no tenia dades de contrasenyes reals —gairebé no n’existien— així que va raonar cap al que semblava sensat. Més varietat de caràcters, més combinacions, més seguretat. El 2017 el mateix NIST va fer marxa enrere, i Burr va dir al Wall Street Journal que lamentava bona part del que havia escrit.

Així que el joc d’Agarwal no exagera una política de seguretat. Continua una llista que ja estava malament a la primera línia. L’única diferència entre «ha de contenir un símbol» i «els dígits han de sumar 25» és que a la primera t’hi has acostumat.

El que aquestes regles no van mesurar mai

Aquí és on l’acudit deixa de fer gràcia, perquè es pot mesurar.

Aquestes xifres surten del comprovador d’aquest lloc, amb el seu model declarat: un atac fora de línia contra un resum criptogràfic ràpid, a 10¹² intents per segon. No són estimacions de fullet; és el que veuràs si escrius aquestes mateixes cadenes allà.

contrasenya regles que compleix intents aguanta
Contrasenya1! les quatre 3,7 × 10⁹ < 1 segon
Estiu2026! les quatre 4,3 × 10⁸ < 1 segon
Zx9#kQ2m les quatre 3,3 × 10¹⁵ 55 minuts
sis paraules tretes amb daus, en minúscula cap 1,1 × 10²³ 3.500 anys

L’última fila no surt del comprovador, surt de l’aritmètica, i és a propòsit: el comprovador no pot saber que aquelles sis paraules venen d’un dau, així que en calcularia una altra cosa. Sis tirades són 77,5 bits exactes, i 77,5 bits a 10¹² intents per segon són uns tres mil cinc-cents anys. Hi tornem al final.

Torna-ho a llegir. Contrasenya1! passa qualsevol formulari del planeta i cau abans que deixis anar la tecla, perquè la paraula és al diccionari i la resta és l’adorn que hi posa tothom: la majúscula al davant, el número i el símbol al darrere. I l’última fila, sis paraules corrents en minúscula, no l’acceptaria ni la meitat dels llocs on tens compte: no porta majúscula, ni número, ni símbol.

Val la pena aturar-se a Zx9#kQ2m, perquè és el millor cas possible de la regla. Vuit caràcters veritablement aleatoris, amb els quatre tipus, exactament el que la política del 2003 considerava una contrasenya exemplar. Cinquanta-cinc minuts. I és un sostre: el comprovador no pot saber que l’has teclejada a l’atzar, així que et concedeix el benefici del dubte i calcula el millor escenari. A més, ningú no teclega així. Demana a una persona vuit caràcters amb un símbol i el que en surt és Hola12345! — 1,0 × 10⁸ intents, menys d’un segon.

La regla no distingeix aquests dos casos. Per al formulari, Hola12345! i Zx9#kQ2m són la mateixa contrasenya. Aquest és el defecte sencer: una regla de composició mesura la forma de la cadena, i la resistència no és a la forma.

La regla dels 90 dies, o com s’inventa Tardor2026!

L’altra meitat de l’herència del 2003 és la caducitat. Canvia-la cada noranta dies.

Ningú no inventa una contrasenya nova cada noranta dies. El que fa la gent —el que fas tu, i jo— és incrementar la que ja tenia. Estiu2026! es converteix en Tardor2026! i la feina està feta. Totes dues aguanten menys d’un segon, i si un atacant té la primera, endevinar la segona no és un atac: és omplir un buit.

El NIST va retirar la rotació obligatòria a l’SP 800-63B, el 2017. A la revisió d’agost del 2025 el to es va endurir: on abans deia que els verificadors no haurien d’imposar regles de composició ni exigir canvis periòdics, ara diu que no han de fer cap de les dues coses. Només es força el canvi si hi ha indicis que la contrasenya està compromesa.

Nou anys després de la primera retractació, la teva empresa et continua demanant una majúscula cada trimestre.

El límit de caràcters és el pitjor senyal de tots

Agarwal ha explicat que la gota que va fer vessar el got, el que el va portar a fer el joc, va ser intentar crear un compte i que li diguessin que la seva contrasenya era massa llarga.

De totes les regles absurdes, és l’única que a més és un mal senyal.

Un sistema que desa la teva contrasenya com cal no la desa: en desa el resum, i un resum fa sempre la mateixa mida, tant si li dones vuit caràcters com si li’n dones vuit-cents. No hi ha cap raó d’emmagatzematge per a un límit de setze. Hi ha exactament una excepció tècnica legítima i coneguda —bcrypt ignora el que passi de 72 bytes— i no explica els formularis que es planten a dotze.

Un sostre curt no demostra que et desin la contrasenya en clar, però és el tipus de detall que només apareix quan algú l’ha ficada en una columna de base de dades de mida fixa. El mateix SP 800-63B demana el contrari: que s’acceptin almenys 64 caràcters.

La regla que sí que funciona no cap en un formulari

La incomoditat de fons és que la bona pràctica no es pot expressar com una casella de validació. Ningú no pot escriure una expressió regular per a «que no l’hagis feta servir en un altre lloc» ni per a «que no surti a l’última filtració».

El que sí que es pot fer és comptar. Una frase de paraules triades amb daus — Diceware— suma 12,9 bits nets per paraula, i aquests bits sí que són bits. Amb el mateix model de 10¹² intents per segon:

  • Cinc paraules són 64,6 bits: uns 164 dies.
  • Sis paraules són 77,5 bits: uns 3.500 anys.

Convé dir les dues xifres i no només la segona. Es repeteix molt que una frase de cinc paraules «aguanta segles»; contra un resum ràpid no aguanta segles: aguanta cinc mesos i mig. Per això Reinhold recomanava cinc com a mínim i sis per al que importa de debò. La sisena paraula és la que canvia l’escala, i és gratis.

Cap de les dues passaria el formulari del teu banc.

Per què fa gràcia, el joc

Quan el joc et demana que la suma dels dígits sigui 25, rius perquè és una condició arbitrària que no té res a veure amb el que fa segura una contrasenya.

Exigir un símbol també és una condició arbitrària que no té res a veure amb el que fa segura una contrasenya. La diferència és que aquesta la porta mitja internet, i que a aquesta li hem agafat afecte.

Si vols el resum operatiu, cap en tres línies: fes servir el generador o uns daus, posa el resultat al gestor, i compleix les regles del formulari afegint-hi el que et demani, sense creure’t que això t’ha protegit de res. La majúscula al principi i el ! al final són un peatge, no una defensa.

La resta és un joc. Està molt ben fet, i tant de bo s’hagués quedat en joc.


Fonts: Neal Agarwal, «The Password Game» (neal.fun, 27 de juny del 2023), les seves 35 regles i el relat del mateix autor sobre el formulari que li va dir que la seva contrasenya era massa llarga · NIST SP 800-63 (2003), SP 800-63B (2017) i SP 800-63B-4 (agost del 2025), que passa de «no haurien» a «no han» pel que fa a regles de composició i caducitat, i demana acceptar almenys 64 caràcters · declaracions de Bill Burr al Wall Street Journal, agost del 2017 · Arnold G. Reinhold, Diceware (1995), d’on surten els 12,9 bits per paraula. Els temps de la taula estan mesurats amb el comprovador d’aquest lloc, amb el seu model declarat de 10¹² intents per segon contra un resum ràpid; els de Diceware, calculats al mateix ritme a partir de log₂(7.776) per paraula.

Foto de Olha Ruskykh · Pexels

← Tornar al blog