Web e crittografia: La sicurezza prima di tutto!

Aggiornato il: gen 24


Torniamo a parlare del MIT (Massachusetts Institute of Technology) e del laboratorio di Informatica e Artificial Intelligence (CSAIL) che ha recentemente progettato un sistema per sviluppare complessi algoritmi matematici per garantire la protezione dei dati on-line. Il sistema in questione, chiamato "Fiat Cryptography", proteggerà il 90% delle comunicazioni di Google Chrome.

Il progetto è stato presentato a maggio nel corso del IEEE Symposium on Security and Privacy 2019, ma era già stato sviluppato nel 2018; prima della sua venuta infatti, tali algoritmi erano sviluppati “a mano” da una serie di crittografi che scrivevano e riscrivevano algoritmi, pesando manualmente varie tecniche matematiche per ottimizzarne le prestazioni.

Esclusi gli ovvi problemi derivanti dall'errore umano e quelli legati ai bug nella scrittura, che non permettevano una performance adeguata, vi era anche il problema per cui gli algoritmi generati diventassero obsoleti ad una velocità impressionante, inducendo i tecnici a rimaneggiarli di continuo.

Fiat Cryptography, invece, è stato progettato per generare codici e algoritmi automaticamente, ottimizzati e verificati in simultanea su tutte le piattaforme hardware, sostituendo, di fatto, l'immenso lavoro necessario in precedenza.

Una nuova era per i cryptocode

Partiamo dalle basi. I protocolli di crittografia sviluppano chiavi pubbliche o private - generalmente dette bit - utilizzando lunghi algoritmi matematici. Queste chiavi vengono poi usate per il passaggio di informazioni tra browser e server.

Una delle famiglie di algoritmi crittografici più efficienti e sicure è chiamata crittografia a curva ellittica (ECC). Quest'ultima genera per gli utenti bit di diverse lunghezze, scegliendo, in modo del tutto aleatorio, punti numerici lungo una linea curva numerata su un grafico. Bit così lunghi, però, non possono essere registrati da tutti i chip, proprio per la loro dimensione, ma sono quindi archiviati in unità più piccole denominate registri.

Adam Chlipala, ricercatore CSAIL, professore associato di ingegneria elettrica e informatica e capo del gruppo specializzato nei linguaggi di programmazione e verifica, riferendosi all'ECC, afferma che: “Bisogna dividere i bit su diversi luoghi, ma il modo in cui dividi i bit ha conseguenze diverse sulle prestazioni".

Ed ecco che con Fiat Cryptography si passa ad un'altra generazione: fino al 2018 gli esperti scrivevano gli algoritmi ECC implementando manualmente le decisioni di bit-splitting nel loro codice; i ricercatori del MIT hanno sfruttato queste procedure per generare automaticamente una libreria di algoritmi ECC ottimizzati per qualsiasi hardware.

L'elenco di crittogrammi generato manualmente dai tecnici è stato inserito nella libreria dei codici del MIT. Successivamente, è stato utilizzato un compilatore - un programma in grado di convertire i linguaggi di programmazione in linee di codice più facilmente comprensibili - il cui funzionamento è stato dimostrato corretto tramite uno strumento di correzione, denominato Coq.

"È un segno che i tempi stanno cambiando e che i realizzatori di progetti software di grandi dimensioni stanno realizzando che la crittografia non sicura è una responsabilità” dice Chlipala, che aggiunge: “Il software crittografato si sta dimostrato abbastanza maturo in vista di un utilizzo più su larga scala. La mia speranza è che progetti software sempre più consolidati passino alla crittografia verificata. Forse entro i prossimi anni, il software crittografato diventerà utilizzabile non solo per gli algoritmi crittografici, ma anche per altri domini applicativi.”

Ottimizzazione del codice

In ultima istanza c'è ancora una caratteristica del Fiat Cryptography da analizzare: la "valutazione parziale", la quale sostanzialmente pre-genera parte del codice per velocizzare i processi successivi.

Questa tecnica di ottimizzazione è stata implementata su Coq ed ha il compito di eliminare tutti i bit che non si adatterebbero o non sarebbero funzionali all'architettura del chip preso in esame per la generazione del codice. Questo fa sì che Fiat Cryptography lavori direttamente su algoritmi specifici per ogni situazione, evitando enormi perdite di tempo per cercare nella libreria i codici corretti su cui lavorare.

I ricercatori del MIT hanno studiato una serie di metodi per dividere efficacemente le categorie degli algoritmi ECC per altrettanti architetture di chip, attualmente utilizzate in Boringssl - un'implementazione open source dei protocolli SSL e TLS - per cui gli utenti attingerebbero principalmente dal codice dei ricercatori. La libreria, inoltre, può essere automaticamente aggiornata per nuove architetture.

"Abbiamo essenzialmente scritto una libreria che, una volta per tutte, è corretta per ogni possibile divisione dei numeri", dice Chlipala. "È possibile esplorare automaticamente lo spazio delle rappresentazioni dei grandi numeri, compilare ogni rappresentazione per misurare le prestazioni e prendere quella più velocemente eseguibile per un dato scenario."

In questi ultimi anni abbiamo assistito a come la tecnologia stia prendendo largamente piede in tutto il mondo e in tutti i campi. Stiamo andando verso quel futuro iper-tecnologico che tutti abbiamo immaginato, e lo stiamo facendo ad una velocità impressionante.

Che ci piaccia oppure no è la strada dell'innovazione, ma sapere che tra le maggiori implementazioni vi sia la protezione delle comunicazioni online è rassicurante e spinge a sperare che nascano algoritmi sempre più sicuri ed efficaci.

#reteinternet #MIT #sicurezzainformatica #GoogleAnalytics

COFFEEBYTES rappresenta un concept brand ideato da SaidiSEO.com

Sede Ufficio: Via Privata Francesco Koristka, 4, 20154 Milano MI - P.IVA 09215030967
e-mail per informazioni: info@ferdinandodagostino.com; saidiseo@ferdinandodagostino.com

Ferdinando Dagostino - SaidiSEO "Web Creative e SEO"

P.IVA 09215030967

YouTube CB.png
Spreaker CB.png
Facebook CB.png
Instagram CB.png
LinkedIn CB.png