La criptologia estudia, d’una banda, la criptografia, com mantenir un missatge secret, i de l’altra, la criptoanàlisi, com revelar il·lícitament aquests mateixos missatges.
L’art d’ocultar la informació als altres és tan vell com el món i, tan humà com pugui ser-ho, el fet d’intentar llegir aquests missatges sense permís; quina força poderosa és la de la curiositat, i quines males conseqüències té sempre sucumbir-hi. La història antiga ens mostra molts exemples de mecanismes enginyosos per ocultar missatges; també tècniques per revelar-los de manera sistemàtica.
L’art d’ocultar la informació als altres és tan vell com el món
Els algoritmes han anat evolucionant al ritme de la lluita entre la capacitat d’ocultar, xifrar, un missatge i la capacitat de llegir-lo, il·lícitament trencant el xifratge o, deduint-ne la clau, desxifrant-lo. En els últims cinquanta anys l’avenç ha estat exponencial, com en moltes altres àrees de la humanitat, tant per la capacitat més gran de còmput com pel progrés vertiginós de les ciències implicades.
Podem trobar criptografia al nostre voltant constantment. Utilitzar la targeta de l’autobús per pagar el bitllet; pagar amb la targeta de crèdit o fent servir el mòbil; intercanviar missatges secrets d’amor emprant l’aplicació de missatgeria que preferim; portem a la cartera un dispositiu criptogràfic extremadament avançat que serveix per demostrar la nostra identitat; els nostres ordinadors xifren la informació d’emmagatzematge perquè només nosaltres hi tinguem accés. La porta del cotxe s’obre només acostant-nos-hi gràcies a la criptografia. Visitem pàgines web de manera anònima; operem amb el banc; accedim amb la nostra targeta a l’edifici on treballem. Saber que disposem de la criptografia ens dona seguretat; una falsa seguretat, d’una banda, i inquietud, de l’altra, ja que no entenem ben bé com funciona i acaba sent una fe cega.
On hi ha criptografia hi ha algú que sent curiositat
On hi ha criptografia hi ha algú que sent curiositat. Si tenim la voluntat de mantenir segur un missatge és perquè hi ha adversaris potencials que el volen conèixer. Quan es dissenya un sistema criptogràfic, un criptosistema, cal tenir en compte quants recursos i incentius tenen els adversaris, tant els seus recursos actuals com els futurs; assumir que coneixen tots els detalls del mecanisme que estem fent servir i determinar quanta informació poden veure i modificar. Cap criptosistema no és completament segur. Alguns estan dissenyats exclusivament amb caràcter dissuasiu, d’altres estan concebuts per aturar atacs patrocinats per països poderosos. L’avaluació del risc de manera contínua determinarà l’efectivitat del sistema.
La seguretat, la funcionalitat i la usabilitat són els vèrtexs d’un triangle i, en el disseny d’un sistema, només es pot triar un d’aquests vèrtexs. En general, si volem seguretat podrem triar funcionalitat, però no usabilitat. Si volem usabilitat i funcionalitat perdrem seguretat.
En el cas simple d’un missatge, serà segur si és confidencial, íntegre, autenticat, no es pot repudiar i està disponible.
La confidencialitat s’aconsegueix quan només les parts interessades poden veure el missatge en pla, el propòsit fonamental d’ocultar el missatge. És el que més entenem com a privacitat. Depenent del nivell de confidencialitat que vulguem, els missatges podran anar xifrats punt a punt o tindrem tercers de confiança per gestionar-los. Perquè un missatge sigui del cert xifrat punt a punt sacrificarem seriosament la usabilitat, almenys en el precari estat actual de la gestió de la identitat.
La integritat permet verificar que el missatge no ha estat alterat pel camí, sigui perquè se n’ha modificat el contingut, s’hi ha afegit informació o se n’ha eliminat una part. Hi ha mecanismes per modificar els missatges xifrats de manera que el receptor del missatge no pot distingir un missatge bo i d’un altre de manipulat. La integritat no només es refereix a la manipulació del missatge, sinó a evitar que un missatge anterior es pugui tornar a enviar creant, si més no, confusió; això és un atac per repetició. Si algú envia un dia el missatge xifrat “Demà quedem a les 9:30 al mateix lloc que l’última vegada 😘” i l’atacant el captura i el guarda, encara que no el pugui desxifrar, podria més endavant, quan li convingués, enviar el mateix missatge i el seu receptor el donaria per bo, quedant amb la persona equivocada el dia equivocat. 😘 ” i l’atacant el captura i el guarda, encara que no el pugui desxifrar, podria més endavant, quan li convingués, enviar el mateix missatge i el seu receptor el donaria per bo, quedant amb la persona equivocada el dia equivocat.😘 ” y el atacante lo captura y lo guarda, aún sin poder descifrarlo, podría más adelante, a su conveniencia, enviar el mismo mensaje y su receptor lo daría por bueno, quedando con la persona equivocada el día equivocado.
L’autenticació fa que els participants es puguin confirmar els uns als altres. És un aspecte molt important i complex. Si les identitats de les persones que participen en l’intercanvi de missatges són verificables, podré garantir confidencialitat de manera usable, deixant a banda la usabilitat de la verificació de la identitat inicial i el seu manteniment. Si estableixo uns bons mecanismes d’integritat, seré a prop d’un sistema de missatgeria universal molt segur i usable. De vegades la identitat no és de persones sinó de màquines, però la idea és la mateixa. En missatgeria estem aplicant una forma d’autenticació, ja que la persona que ens està donant el seu número acostuma a estar davant nostre físicament i moltes vegades s’envia un “hola” en el moment per verificar el canal.
El no-repudi impedeix que una de les parts pugui negar en el futur que va enviar el missatge. Tant se val que l’esborri. Aquest aspecte està molt relacionat amb l’autenticació; no serviria de gaire un document signat digitalment si el que el signa al·lega després que no va ser ell. La possessió o el control d’un dispositiu de signatura pot assegurar el no-repudi. També està relacionat amb la integritat; no podria garantir el no-repudi si algú pot injectar missatges indistingibles dels autèntics en qualsevol moment.
La disponibilitat garanteix que els participants puguin utilitzar el sistema en tot moment, quan els calgui. Quan bloquejo un número de telèfon per no rebre més missatges d’aquest número estic emprant una funcionalitat molt útil. Si un atacant bloqueja el número sense que jo me n’adoni estaré incomunicat sense saber-ho, esperant eternament un missatge que no arribarà mai. Si un sistema és saturat per missatges fins al punt que no en pot processar més, el sistema deixa de ser usable per a altres usuaris legítims i es crea un petit gran caos.
Hi ha altres aspectes de la seguretat que també són interessants, encara que solen ser derivacions dels anteriors. La confidencialitat, la integritat i l’autenticació formen els tres pilars de la seguretat.
Tots els mecanismes per fer segur un missatge no serveixen de gaire per si sols. Un criptosistema només és una part d’un sistema de seguretat i no acostuma a ser l’objecte d’atacs de manera directa, tret d’excepcions. En aquesta cadena, la baula més feble determina la seva fortalesa i solen ser les persones, el factor humà i, indirectament, la clau. Per molt forta i secreta que sigui la teva contrasenya hi ha moltes tècniques barates i ràpides per fer que la confessis, enginyeria social quan és elegant o tortura quan no ho és.
Un criptosistema ha de ser segur coneixent-ho tot del sistema excepte la clau. Això inclou que l’algoritme sigui públic evitant la seguretat per la foscor, que poques vegades sobreviu. A més, ja és prou difícil mantenir secreta la clau per haver de protegir, a més, l’algoritme. Per tant, tota la seguretat recau sobre la clau.
La clau pot ser una simple contrasenya o altres elements molt més sofisticats; en poc temps veurem com el paper de la clau de la contrasenya és interpretat per altres dispositius segurs i usables.
Una bona clau depèn de la seva entropia, l’aleatorietat que té, i de la seva longitud. Habitualment les claus simètriques, no humanes, tenen 256 bits. Per poder entendre quantes claus diferents hauria de provar un atacant fins a trobar per sort la clau bona, un atac per força bruta, hem de pensar que, tècnicament, la fortalesa de la clau és l’arrel quadrada del nombre de bits, per tant, 128 bits; i que els 2128 són, si fa no fa, els àtoms que tenen tots els grans de sorra de la Terra. Recórrer totes les possibilitats implica un canvi d’1 bit cada vegada, que implica un consum mínim d’energia. Tanmateix, l’energia requerida per recórrer 2256 valors és més gran que l’energia que podríem obtenir d’una esfera de Dyson al voltant d’una supernova… Al contrari, un PIN de 4 dígits són tan sols 10.000 possibilitats. Per això hi ha mecanismes de bloqueig de temps o permanents per la introducció d’un PIN incorrecte un nombre determinat de vegades. A més, s’utilitzen tècniques de derivació de contrasenya per augmentar l’entropia de les contrasenyes febles.
En resum, si el que has de parlar amb una altra persona vols que sigui privat, és millor que quedis amb ella a passejar pel parc; com t’ho faràs per quedar sense fer servir un missatge previ és un altre tema.
Estàs d’acord amb tot el que es diu en aquest article? Connectem a https://www.linkedin.com/in/davidcastanon/ i en parlem!