In questo articolo, il secondo in 3 serie di crittografia a chiave simmetrica tecnologia, osserviamo lo sviluppo di algoritmi di crittografia a chiave simmetrica e la gamma di algoritmi di oggi, insieme con i loro punti di forza e di debolezza, nonché l’importanza di crypto-agilità.,

algoritmo DES famiglia

L’originale DES (Data Encryption Standard) crittografia a blocchi dell’algoritmo, noto anche come DEA (Data Encryption Algorithm), è stato sviluppato da IBM nei primi anni 1970 e pubblicato (con piccole modifiche) come standard dal Governo degli stati UNITI nel 1977, diventando rapidamente un de-facto standard internazionale.

Tuttavia, con una lunghezza della chiave di soli 56 bit (più 8 bit di parità), divenne chiaro negli 1990 che non era più sufficientemente sicuro contro la forzatura bruta della chiave usando i computer moderni, che stavano crescendo in potenza secondo la Legge di Moore., Così Triple-DES (aka TDES, TDEA o 3DES) è stato introdotto nel 1998, utilizzando un fascio di 3 chiavi, dando una forza nominale di 168 bit, ma al prezzo di prestazioni lente. Facoltativamente, la lunghezza della chiave può essere ridotta a 112 bit facendo due delle chiavi uguali – questo a volte è chiamato 2DES o 2TDEA; tuttavia, questo non è più veloce e una chiave a 112 bit non è più considerata sicura.

Triple-DES è ancora ampiamente utilizzato oggi, in particolare nel settore finanziario, anche se molte applicazioni saltato Triple-DES a causa delle sue scarse prestazioni ed è andato direttamente da DES a AES invece., Tuttavia, anche se una chiave a 168 bit è ancora considerata forte, non è più raccomandata per le nuove applicazioni perché utilizza una piccola dimensione del blocco (64 bit). Ciò lo rende suscettibile a ciò che è noto come attacco” Sweet 32″, il che significa che la chiave può essere rotta se vengono crittografati più di 232 blocchi di dati senza modificare la chiave. Dato l’elevato volume di dati memorizzati o trasmessi dai sistemi moderni, ciò significa dover cambiare frequentemente la chiave, il che non è pratico.,

RC algorithm family

I primi membri della famiglia di algoritmi RC, RC2 e RC4 (aka ARC4 o ARCFOUR), sono stati progettati da Ron Rivest (di fama RSA) nel 1987. RC2 è un codice a blocchi a 64 bit che supporta una lunghezza della chiave fino a 128 bit, anche se inizialmente è stato approvato solo per l’esportazione negli Stati Uniti con una chiave a 40 bit. RC4 è un codice di flusso che è stato ampiamente utilizzato (ad esempio nel protocollo SSL/TLS e nei primi standard di sicurezza Wi-Fi). Tuttavia, né RC2 né RC4 sono considerati sicuri oggi.,

RC5 è un cifrario a blocchi con una dimensione variabile del blocco (32, 64 o 128 bit), una lunghezza variabile della chiave (fino a 2.040 bit) e un numero variabile di giri (fino a 255). Ciò consente un compromesso tra prestazioni e sicurezza, ed è ancora considerato sicuro se utilizzato con parametri adeguati. È stato successivamente modificato per produrre RC6 con una dimensione di blocco fissa di 128 bit come concorrente per lo standard di crittografia avanzata-vedi sotto. Tuttavia, RC5 e RC6 non sono ampiamente utilizzati in quanto sono brevettati.,

Rijndael algorithm family (AES)

Un sottoinsieme della famiglia di algoritmi Rijndael di cifrari a blocchi è stato selezionato come Advanced Encryption Standard (AES) nel 2001 per sostituire DES, a seguito di una competizione condotta dal National Institute of Standards and Technology (NIST) degli Stati Uniti. Ora è comunemente noto come algoritmo AES, con una dimensione del blocco di 128 bit e tre opzioni di lunghezza chiave: 128, 192 o 256 bit. Il numero di giri varia con la lunghezza della chiave.,

AES è l’algoritmo simmetrico di scelta per la maggior parte delle applicazioni oggi ed è molto utilizzato, per lo più con chiavi a 128 o 256 bit, con quest’ultima lunghezza della chiave considerata abbastanza forte da proteggere i dati TOP SECRET militari. Si noti che, supponendo che non ci siano punti deboli noti in un algoritmo, una singola chiave a 128 bit impiegherà miliardi di anni per la forza bruta utilizzando qualsiasi tecnologia di calcolo classica oggi o nel prossimo futuro (ma si veda l’informatica quantistica di seguito).,

Altri algoritmi simmetrici

Molti altri cifrari a blocchi sono stati sviluppati nel corso degli anni, come Blowfish, IDEA e CAST-128 (aka CAST5). Tuttavia, la maggior parte degli algoritmi più vecchi sono limitati da limiti di dimensione del blocco e/o lunghezza della chiave, nonché (in alcuni casi) problemi di sicurezza e/o restrizioni sui brevetti e hanno quindi avuto relativamente poco successo al di fuori di una o due applicazioni specifiche.

Un certo numero di cifrari a blocchi sono stati sviluppati per partecipare alla competizione AES, come Twofish, Serpent, MARS e CAST-256., Molti di questi sono ancora molto buoni, anche se Rijndael alla fine è stato scelto in base a una combinazione di sicurezza, prestazioni e altri fattori, quindi questi sono usati raramente.

Ci sono anche molti esempi di altri cifrari di flusso.

Alcuni governi sviluppano i propri algoritmi nazionali, sia per uso militare che commerciale. La US National Security Administration (NSA) ha sviluppato molti algoritmi nel corso degli anni, anche se i dettagli della maggior parte rimangono segreti. Altri esempi relativamente noti di algoritmi nazionali includono Magma (aka GOST 28147-89) e Kuznyechik (aka GOST R 34.,12-2015) in Russia, SM1 e SM4 in Cina e SEME in Corea del Sud.

Attualmente vi è molta ricerca su algoritmi leggeri, adatti per l’implementazione in dispositivi mobili a basso costo e applicazioni Internet-of-Things (IoT), che in genere hanno prestazioni della CPU limitate, memoria limitata e / o potenza limitata disponibile.

Calcolo quantistico

Quando il calcolo quantistico su larga scala sarà disponibile, probabilmente tra circa 10 anni, avrà un impatto importante sulla crittografia. In particolare, gli algoritmi asimmetrici utilizzati prevalentemente oggi saranno effettivamente rotti., Fortunatamente, l’impatto sugli algoritmi simmetrici sembra essere meno grave: l’algoritmo di Grover ha l’effetto di dimezzare la lunghezza della chiave, quindi AES-128 ha una forza effettiva equivalente a una chiave a 64 bit e AES-256 è ridotto alla forza di una chiave a 128 bit. Ciò significa che AES-256 può ancora essere utilizzato con sicurezza di fronte al calcolo quantistico (per quanto ne sappiamo oggi).

Crypto-agility

Come abbiamo visto, nessun algoritmo è perfetto: gli attacchi crittografici diventano più forti solo con lo sviluppo di nuovi strumenti e tecniche., Algoritmi che una volta erano considerati forti sono oggi facili da rompere su un PC di casa. Anche i migliori algoritmi di oggi saranno indeboliti dal calcolo quantistico. Nuovi algoritmi continueranno ad essere sviluppati per migliorare la sicurezza e per indirizzare nuove applicazioni con esigenze specifiche, come l’IoT.

Tuttavia, la storia ha dimostrato che cambiare gli algoritmi può essere più difficile del previsto, con i vecchi algoritmi ancora utilizzati bene dopo che non sono più considerati sicuri.

Devi solo guardare MD5, SHA1, DES, 2TDEA, RC4, RSA-1024 e così via per vedere quanto può essere doloroso e lungo il processo.,

Il problema è l’interoperabilità. Quando interi ecosistemi sono stati costruiti attorno a un particolare algoritmo, proprio come l’industria finanziaria è stata costruita attorno al DES e al Triple-DES, richiede la cooperazione di nazioni, industrie, organismi di standardizzazione e fornitori per molti anni per apportare cambiamenti. Hardware, software, protocolli tutti devono essere aggiornati. Ci sono enormi implicazioni finanziarie, in particolare quando le infrastrutture esistenti devono essere sostituite.,

L’informatica quantistica minaccia di creare un grande sconvolgimento nei prossimi 5-10 anni e le aziende che non desiderano essere bloccate sul piede posteriore devono iniziare a pianificare ora. Tutte le nuove applicazioni dovrebbero essere progettate pensando alla “cripto-agilità”, ovvero alla possibilità di cambiare algoritmo tramite aggiornamenti software semplici e indolori. Idealmente, questo processo dovrebbe essere controllato e gestito centralmente per evitare di dover raggiungere ogni singola applicazione per aggiornarlo.,

Nell’ultimo articolo di questa serie vedremo l’uso delle modalità di crittografia con cifrari a blocchi simmetrici, inclusa la necessità di vettori di padding e inizializzazione.

Riferimenti e ulteriori letture

  • 3DES è ufficialmente in pensione (2018), da Jasmine Henry
  • Trends in Cryptography Part 1 – Algorithms and Encryption (2018), da Rob Stubbs
  • Quantum Computing and its Impact on Cryptography (2018), da Rob Stubbs
  • Cos’è la Cripto-agilità?, (2018), di Jasmine Henry
  • Steps to reach Crypto agility to get prepared for quantum computing (2019), di Terry Anton
  • Raggiungimento di una gestione agile della crittografia con Crypto Service Gateway (CSG) (2019), di Rob Stubbs
  • Che cos’è un livello di Cripto-astrazione? (2018), di Chris Allen
  • Trasformare la crittografia in un servizio – Parte 1 (2018), di Rob Stubbs

Immagine di copertina: “corridoio” per gentile concessione diKai Pilger (pexels.com, CC DA 2.0)