Gli algoritmi di crittografia segreti non sono sicuri

Tornando in tema di sicurezza, eccovi spiegato in modo semplice perché si dovrebbe diffidare degli algoritmi di crittografia segreti.

CrittografiaContinuano gli articoli sulle leggi della sicurezza.
Ecco un link all’articolo principale da cui si diramano gli altri, per chi dovesse essere approdato su questo e desiderasse seguire il filone : Le leggi della sicurezza

In questa puntata ci occuperemo della crittografia, e nello specifico del perché gli algoritmi crittografici sviluppati in segreto non siano sicuri.

In effetti, non si tratta di una legge, ma di un vero e proprio dato di fatto : gli algoritmi di crittografia segreti non sono sicuri. Fatevene una ragione.
Non siete convinti ? Continuate a leggere e scoprirete il perché.

La crittografia

La crittografia è uno strumento potente e utile, ed è il principale metodo impiegato per difenderci da molti tipi di attacchi e per mantenere sicure e lontano da occhi indiscreti alcune informazioni sensibili.

Il termine è composto dall’unione di due parole greche: κρυπτóς (kryptós) che significa “nascosto”, e γραφία (graphía) che significa “scrittura”. Si tratta della branca della crittologia che tratta delle “scritture nascoste”, ovvero dei metodi per rendere un messaggio “offuscato” in modo da non essere comprensibile/intelligibile a persone non autorizzate a leggerlo.

Un tale messaggio si chiama comunemente crittogramma e le tecniche usate tecniche di cifratura.

Non si tratta di una tecnica moderna, sebbene esistano algoritmi e tecniche all’avanguardia applicate al mondo informatico, le radici della crittografia sono molto antiche.
Tuttavia, questo articolo non ha lo scopo di introdurre il lettore alla crittografia, bensì quello di spiegare per quale ragioni diffidare di prodotti e servizi che usano algoritmi di crittografia segreti (le cui specifiche non siano state pubblicate).

Perché diffidare degli algoritmi crittografici segreti

Un algoritmo sviluppato segretamente e privatamente potrebbe essere sicuro, in teoria; la dura realtà dimostra purtroppo il contrario.

Prima di essere considerato sicuro, un algoritmo di crittografia deve subire massicce revisioni pubbliche e l’esperienza di numerosi e validi crittografi che tentano di violarlo invano.

Secondo Bruce Schneier chiunque è in grado di creare algoritmi che egli stesso non sia capace di violare.
Chi programma questo lo sa bene, non solo per quanto concerne l’aspetto della sicurezza, ma anche perché uno sviluppatore è in grado solo raramente di provvedere adeguatamente a testare la propria applicazione senza farla provare a terze parti.

Inoltre, per produrre un algoritmo sicuro, un crittografo deve conoscere tutti i possibili attacchi, ed essere in grado di cogliere il momento in cui essi possono essere impiegati contro l’algoritmo; questa competenza include non soltanto le tecniche attualmente note, ma anche tecniche che saranno pubblicate in futuro.

Questo significa che un crittografo dovrà creare, pubblicare e assistere alla violazione di svariati crittosistemi prima di trovarne uno che non venga violato con facilità.
Quando un crittografo elabora un algoritmo ha davanti a se due strade, pubblicarlo o usarlo privatamente. Quando un algoritmo viene pubblicato in genere è violato in poco tempo (questo dimostra come sia facile credere di aver realizzato un algoritmo valido, quando invece non lo è).
Per queste ragioni, esistono soggetti che non pubblicano l’algoritmo per evitare che venga violato, e basano la ‘sicurezza’ di tale algoritmo sul fatto che essendo segreto nessuno lo abbia violato. Questa convizione è sbagliata su tutti i fronti.

Intanto, la sicurezza mediante oscurità non funziona. In secondo luogo, il fatto che nessuno lo abbia violato non significa in alcun modo che l’algoritmo sia sicuro, indica solamente una mancanza di interesse o nell’algoritomo o nel pubblicare il fatto che sia stato violato.

Se un algoritmo non è sicuro per essere pubblicato (cioè si sopetta che sarà violato rapidamente) allora non lo sarà mai per l’utilizzo reale.

Solamente un algoritmo pubblico, che viene testato dai migliori crittoanalisti del mondo e rimane inviolato può essere considerato sicuro.
Algoritmi del genere sono usati ad esempio per proteggere le transazioni con carta di credito, per cifrare file privati e per garantire la privacy e la sicurezza in moltissimi prodotti e servizi di uso quotidiano.

 

Computer geek e appassionato di elettronica dall'infanzia. Nel tempo libero oltre a realizzare progetti inutili ma entusiasmanti mi dedico ai videogiochi, rigorosamente su pc. Condivido su questo blog e su youtube i miei interessi nella speranza di entusiasmare tutti i matti come me.

1 comment for “Gli algoritmi di crittografia segreti non sono sicuri

  1. antonio
    14 agosto 2015 at 17:48

    Complimenti per l’articolo, davvere ben fatto.
    In merito al contesto vorrei altresi’ introdurre il principio crittografico di kirkhoff, secondo il quale: “la sicurezza di un crittosistema non si basa sul tener celato il funzionamento del crittosistema stesso ma esclusivamente sul tener celata la sua chiave”.

    Un saluto. Buona giornata.

Lascia una risposta

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

Verifica anti-spam *