Diceware: com uns daus fan millor contrasenya que tu

Publicat el per David Carrero

Pensa una paraula a l’atzar. Ara mateix, la primera que et vingui al cap.

Sigui quina sigui, no era a l’atzar. Era una paraula teva: alguna cosa que has llegit aquesta setmana, un objecte que tens al davant, la lletra amb què comença el teu nom. Quan a una persona li demanes atzar, el que produeix és autobiografia. I l’autobiografia s’endevina.

Aquest és tot el problema de les contrasenyes, resumit. No és que la gent sigui mandrosa —que també—, és que som incapaços de generar aleatorietat. Ens agraden certes lletres, evitem les repeticions perquè «no semblen aleatòries», alternem vocals i consonants sense adonar-nos-en i, si ens demanen un número, tirem dels que tenim a mà: dates, edats, xifres amb significat. Un atacant no necessita saber qui ets per explotar-ho. Li’n té prou de saber que ets humà.

Un enginyer, cinc daus i una llista

El 1995, l’Arnold G. Reinhold va publicar al seu web un mètode que va anomenar Diceware. La idea és tan simple que fa una mica de ràbia haver d’explicar-la: si el problema és que l’humà no sap triar a l’atzar, treu-li la tria a l’humà.

Tot el procediment cap en tres línies:

  1. Tires cinc daus i anotes els resultats en ordre. Surt, posem, 4-2-6-1-3.
  2. Busques 42613 en una llista.
  3. Aquesta és la teva paraula. Repeteixes per a la següent.

La llista té 7.776 entrades, i aquest número no és capritxós: és 6⁵, tots els resultats possibles de cinc daus. Cada combinació —de 11111 a 66666— apunta a una entrada diferent, i cap no queda fora ni es repeteix. La llista original barreja paraules curtes en anglès amb algunes síl·labes, xifres i signes solts, precisament perquè trobar 7.776 paraules bones és més difícil del que sembla.

L’important no és la llista. És el dau.

Per què 12,9 bits són 12,9 bits

Aquí hi ha la part que gairebé ningú no entén, i és l’única que importa.

L’entropia d’una paraula de Diceware és log₂(7.776) = 12,9 bits. És aritmètica, no seguretat: hi ha 7.776 resultats i tots tenen exactament la mateixa probabilitat.

Compara-ho amb el que passa quan tries tu. Si et demano una paraula d’un diccionari de 7.776 paraules, el compte sembla el mateix —també hi ha 7.776 opcions— però no ho és, perquè tu no les tries amb la mateixa probabilitat. Triaràs paraules comunes, paraules que t’agraden, paraules que has vist avui. Aquest diccionari té 12,9 bits sobre el paper i molts menys al teu cap, i l’atacant ordena la seva llista per freqüència i prova primer les que la gent tria. L’entropia no és quantes opcions hi ha: és quantes opcions queden un cop descomptat el que l’atacant sap dels teus gustos.

Els daus no tenen gustos. Tampoc no tenen memòria: el dau no sap que a la tirada anterior va sortir bosc, o sigui que no evita repetir-se, no busca varietat i no li fa vergonya que surtin dues paraules que comencen igual. Per això els 12,9 bits de Diceware són 12,9 bits de debò, i no una xifra optimista de fullet.

I per això els comptes surten cap amunt. Cada paraula suma:

  • Cinc paraules: uns 64 bits.
  • Sis paraules: uns 77 bits.
  • Set paraules: uns 90 bits.

És suma neta, no multiplicació màgica, perquè cada tirada és independent de les altres. Reinhold recomana no baixar de cinc paraules, i sis o més per al que importa de debò. Pots veure’n l’efecte al generador: afegir una paraula sempre suma el mateix, i aquest «sempre» és tot l’invent.

El secret no és la llista

L’objecció arriba tota sola: si la llista és pública, no és més fàcil trencar-ho?

No, i convé dir-ho a poc a poc. Els 12,9 bits ja assumeixen que l’atacant té la llista. També assumeixen que sap que fas servir Diceware, que sap quantes paraules té la teva frase i que sap l’ordre en què les escrius. Tot això ja està descomptat. L’única cosa que no sap és què va sortir als teus daus, i això és el que estàs comptant quan dius «77 bits».

És el contrari del que fem amb P@ssw0rd, on tota l’esperança està dipositada en el fet que a ningú se li acudeixi substituir la a per @. Se li acut. És de les primeres regles que aplica qualsevol eina d’atac per diccionari. Si en tens la temptació, prova-la al comprovador i mira quant aguanta.

L’EFF i les llistes alternatives

El 2016, l’Electronic Frontier Foundation va publicar les seves pròpies llistes de paraules per a frases amb daus. La llista llarga manté les 7.776 entrades —els mateixos cinc daus, els mateixos 12,9 bits— però canvia el contingut: fora síl·labes rares i signes, dins paraules corrents, fàcils de teclejar i de distingir les unes de les altres. També van publicar llistes curtes, de 1.296 paraules (6⁴, quatre daus, 10,3 bits per paraula): una amb paraules més curtes i memorables, i una altra pensada perquè cada paraula es distingeixi de les altres per les primeres lletres i es pugui autocompletar. A canvi, cada tirada val menys i s’ha de tirar més vegades.

L’elegant del cas és que l’aritmètica no canvia amb el gust de ningú. El nombre d’entrades mana. Pots fer-te la teva pròpia llista en gallec, en aranès o en klingon: mentre tingui 7.776 entrades diferents i triïs amb daus, cada paraula val 12,9 bits. L’única cosa que decideixes en canviar de llista és fins a quin punt et resulta agradable el resultat, no fins a quin punt és segur.

Les tres maneres d’espatllar-ho

Diceware falla de tres maneres, i totes tres són el mateix error: l’humà tornant a ficar-hi la mà.

  • Tirar i repetir perquè «aquesta no m’agrada». Si descartes resultats, ja no fas servir daus: fas servir el teu criteri amb un dau d’atrezzo. Surt el que surt.
  • Reordenar les paraules perquè sonin a frase. L’ordre també forma part de la tirada.
  • «Millorar-la» amb un ! al final i una majúscula al principi. Això no afegeix res davant d’un atacant que sap que la gent posa un ! al final i una majúscula al principi. Si has de complir una política estúpida, fes-ho, però no et pensis que has guanyat seguretat: la vas guanyar tirant una altra vegada.

I un advertiment que Reinhold ja donava: els daus corrents ja fan el fet —els de casino són més precisos, però no calen—, convé tirar sobre una superfície llisa i el resultat s’anota tal com surt.

El resum

Una frase de sis paraules tretes a daus és més llarga d’escriure que P@ssw0rd, més fàcil de recordar que Tr0ub4dor&3 i molts ordres de magnitud més cara de trencar que totes dues. No pas perquè sigui més rebuscada —no ho és, són sis paraules normals— sinó perquè és l’única cosa de la teva contrasenya que no has decidit tu.

Aquest és tot l’acudit de Diceware: la millor contrasenya que pots tenir és aquella en què la teva opinió no hi participa.


Fonts: Arnold G. Reinhold, «The Diceware Passphrase Home Page» i la seva llista de 7.776 paraules (1995) · Electronic Frontier Foundation, llistes de paraules per a frases de contrasenya amb daus (2016) · l’aritmètica és comprovable: 6⁵ = 7.776 i log₂(7.776) ≈ 12,92 bits per paraula.

← Tornar al blog