Un percentatge de fortalesa és una opinió amb dos decimals.
Quan un web et diu que la teva contrasenya és «un 92 % segura», la pregunta evident és: un 92 % de què? Quin és el 100 %? No existeix. Ningú no ha publicat la contrasenya perfecta contra la qual es mesura la resta. Aquest número surt d’una regla de tres que algú es va empescar un dimarts —tants punts per la majúscula, tants pel símbol— i la seva única feina real és posar-te la barreta verda perquè tiris endavant.
Els bits, en canvi, signifiquen sempre exactament el mateix. I signifiquen una cosa que pots fer servir.
Un bit és una pregunta de sí o no
Tota la idea cap en una frase: cada bit dobla el nombre d’intents que necessita algú que no sap res de tu.
Un bit són dues possibilitats. Dos bits, quatre. Tres, vuit. Deu bits són 1.024 i vint bits són una mica més d’un milió. El compte no puja, es duplica, i duplicar és el que fa que la intuïció caigui daltabaix.
Per això la frase «40 bits és el doble de bo que 20» és falsa d’una manera quasi divertida. Entre 20 i 40 bits hi ha vint duplicacions, és a dir, un factor de 2²⁰: 40 bits no és el doble que 20, és un milió de vegades més. I 60 bits no és el triple que 20: és un milió de vegades més que 40. El nostre cap llegeix aquesta escala com si fos un regle de mesurar, i no ho és. És una escala com la dels terratrèmols o la dels decibels, on un passet petit en el número és un salt brutal en la realitat.
Aquest és tot l’avantatge del bit sobre el percentatge. El percentatge et dóna una sensació. El bit et dóna una quantitat de feina.
D’on surt la paraula
La paraula entropia aplicada a la informació ve d’un article de 1948: A Mathematical Theory of Communication, de Claude Shannon.
Convé dir-ho amb precisió, perquè sovint se’l cita malament: Shannon no estava pensant en contrasenyes. No hi havia contrasenyes d’ordinador que valgui la pena esmentar. Estava treballant als Bell Labs sobre un problema ben diferent —quanta informació transporta de debò un missatge, i quant es pot comprimir abans de trencar-lo— i necessitava mesurar una cosa escorredissa: la incertesa de qui hi ha a l’altra banda.
La seva troballa, dita a la brava, és que la informació i la sorpresa són el mateix. Un missatge que ja sabies no t’informa de res. Un missatge impossible d’anticipar t’informa moltíssim. L’entropia mesura quanta sorpresa hi ha en la font que produeix els missatges, i es mesura en bits.
Que això serveixi per a contrasenyes és gairebé un accident afortunat. Una contrasenya és, exactament, un missatge que ha de ser impossible d’anticipar.
El cadenat de rodetes
Aquí tens l’única fórmula de l’article, i prometo que surt de franc:
H = L × log₂(N)
Oblida’t del logaritme un moment i pensa en un d’aquells cadenats de bicicleta amb rodetes. Tens dues maneres de complicar-la a qui la vulgui obrir:
- Posar-hi més rodetes. Això és la longitud (
L): quants caràcters té la teva contrasenya. - Posar més símbols a cada rodeta. Això és l’alfabet (
N): si cada roda porta només les deu xifres, o les 26 lletres, o lletres i números i signes.
El logaritme només fa una cosa: traduir «quants símbols porta una roda» a «quants bits aporta aquesta roda». Una roda de 26 lletres aporta uns 4,7 bits. Una roda amb els 95 caràcters imprimibles del teclat n’aporta uns 6,6.
I aquí ve la gràcia. Fixa’t on és cada cosa dins la fórmula. L’alfabet és dins del logaritme, aixafat; la longitud és fora, multiplicant.
Gairebé quadruplicar els símbols de cada roda —de 26 lletres a 95 caràcters— et
compra menys de dos bits per roda. Afegir una roda més et compra un log₂(N)
sencer, un altre cop, i un altre, i un altre. Per això dotze lletres minúscules i
res més (uns 56 bits) guanyen a vuit caràcters amb majúscules, números i símbols
d’aquests que exigeixen els formularis (uns 53). El P@ssw0rd perd contra
cavallcorrectebateriagrapa i no hi arriba ni de lluny.
El NIST, al seu SP 800-63B, va arribar al mateix lloc per un altre camí: va llençar per la borda les regles de composició —una majúscula, un número, un símbol— i es va quedar amb la longitud i amb comprovar la contrasenya contra llistes de filtrades. Convé no posar-li a la boca el que no diu: el seu argument no és aquest de la fórmula, sinó que obligar la gent a ficar-hi un símbol no la torna impredictible, només la torna predictible d’una altra manera. De fet, el mateix document desconfia d’estimar l’entropia d’una contrasenya triada per una persona. Dos raonaments diferents, la mateixa conclusió. La complexitat obligatòria treballa dins del logaritme. La longitud treballa fora.
La lletra petita que gairebé ningú no explica
Hi ha un parany, i és la part honesta de tot plegat: l’entropia no mesura la teva contrasenya, mesura el procés que la va crear.
4$Kp!9zQ no té aquests 53 bits perquè es vegi difícil. Els té si —i només si—
va sortir d’un sorteig veritablement a l’atzar entre les 95 tecles. Si l’has
escrita tu mirant de semblar aleatori, la fórmula no s’hi aplica: tu no ets cap
sorteig. Poses la majúscula la primera, el número al final i el símbol és un !.
Qui t’ataca no prova les 95 opcions de cada posició: prova primer les que fan les
persones.
D’aquí surt l’asimetria incòmoda de la seguretat de contrasenyes. L’entropia és un sostre, no un terra. Si la genera una màquina, el sostre és real. Si la tries tu, l’única cosa que saps és que ets per sota, i no saps quant.
Per això hi ha dues eines i no una. El generador sorteja de debò i per això
et pot ensenyar els bits amb la cara seriosa: sap quantes rodetes té (L), sap
quants símbols porta cadascuna (N) i fa la multiplicació davant teu. Si mous el
lliscador i veus pujar la xifra, estàs veient la L empènyer. El
comprovador, en canvi, no pot fer això amb una contrasenya que
ja existeix: no té ni idea de com va néixer, així que fa l’única cosa sensata, que
és buscar-la en diccionaris, noms i patrons de teclat i suposar el pitjor.
El que cal endur-se
Tres frases:
- Un bit és una duplicació. Deu bits més són mil vegades més feina; vint bits més, un milió.
- La longitud multiplica, l’alfabet a penes suma. Afegir una paraula val més que afegir un signe d’admiració.
- Els bits només valen si l’atzar és de debò. Una màquina els pot prometre. Tu, escrivint a mà, no.
Shannon buscava quanta sorpresa cap en un missatge. Setanta-i-escaig anys després, resulta que aquella era just la pregunta correcta per a una contrasenya: no si sembla complicada, sinó quanta sorpresa porta a dins per a qui no et coneix de res.
Fonts: C. E. Shannon, «A Mathematical Theory of Communication», Bell System Technical Journal, 1948 · NIST SP 800-63B, Digital Identity Guidelines (Authentication and Lifecycle Management) · el generador de password.es, que calcula H = L × log₂(N) i mostra L, N i els bits resultants.