Principio di Kerckhoffs

Da Wikipedia, l'enciclopedia libera.

In crittografia, il principio di Kerckhoffs (conosciuto anche come assunzione, assioma o legge di Kerckhoffs), fu enunciato dal crittografo olandese Auguste Kerckhoffs alla fine del 1880. Esso afferma che la sicurezza di un crittosistema non deve dipendere dal tenere celato il crittoalgoritmo ma solo dal tenere celata la chiave.

In altre parole, il sistema deve rimanere sicuro anche nell'ipotesi che il nemico conosca l'algoritmo di crittazione. Quest'ultimo può anche essere di pubblico dominio; l'unica cosa che importa è che rimanga segreta la chiave. Il principio è stato riformulato (o forse indipendentemente formulato) da Claude Shannon nella forma "il nemico conosce il sistema": "un sistema dovrebbe essere progettato sotto l'assunzione che il nemico guadagnerà immediatamente familiarità con esso". In questa forma, il principio è noto come massima di Shannon.

È un principio apprezzato da molti crittografi ed è in netto contrasto al principio della sicurezza tramite segretezza.

Origini[modifica | modifica wikitesto]

Nel 1883 Auguste Kerckhoffs scrisse due articoli pubblicati ne La Cryptographie Militaire, nei quali stilò sei principi progettuali per i cifrari militari:[1]

  1. Il sistema deve essere praticamente, se non matematicamente, indecifrabile.
  2. Questo non deve essere segreto, dev'essere in grado di cadere nelle mani del nemico senza inconvenienti.
  3. La sua chiave deve essere comunicabile senza l'aiuto di note scritte, e modificabile o modificabili a piacimento dei corrispondenti.
  4. Deve essere applicabile alla corrispondenza telegrafica.
  5. Deve essere portatile e il suo utilizzo e uso non deve richiedere il concorso di più persone.
  6. È necessario che la sua applicazione sia facile da usare e che non richieda la conoscenza e l'uso di una lunga serie di regole.

Alcuni non sono più validi dall'avvento dei computer, ma il secondo principio, noto oggi come principio di Kerckhoffs, è tutt'oggi di importanza critica.

Spiegazione del principio[modifica | modifica wikitesto]

Kerckhoffs vedeva la crittografia come una sfida, e come una migliore alternativa alla tecnica steganografica per nascondere il significato dei messaggi militari. Il problema degli schemi di codifica è che fanno affidamento al fatto che gli uomini sappiano mantenere segreti i dizionari necessari alla decodifica. I dizionari steganografici, una volta rivelati, compromettono permanentemente il sistema di codifica corrispondente. Un altro problema è dato dal fattore rischio che aumenta con l'aumentare delle persone che sono a conoscenza dei dizionari.

La crittografia del diciannovesimo secolo, al contrario, usava semplici tabelle per la trasposizione di caratteri alfanumerici, generalmente date da intersezioni riga-colonna che potevano essere modificate da chiavi genericamente corte e numeriche. Il sistema era visto come indecifrabile in quella tabella e le chiavi non sembravano avere nessun senso compiuto ad un occhio esterno. Il messaggio segreto era compromesso solamente nel caso in cui la tabella, la chiave e il messaggio cadessero tutti nelle mani del nemico in un frame di tempo rilevante.

Considerazioni Odierne[modifica | modifica wikitesto]

Un cambiamento odierno ai principi di Kerckhoffs idealizza che la sicurezza di un criptosistema dovrebbe dipendere esclusivamente dalla segretezza della chiave e da un randomizzatore privato. [2] Si può dire dunque che un metodo per decifrare e trasmettere informazioni dovrebbe essere sicuro anche se tutti sono a conoscenza del suo funzionamento. Sicuramente gli attaccanti hanno più familiarità col sistema in questione, ma mancheranno di conoscenza quando dovranno approcciarsi con tutte le possibili istanze che gli vengono presentate dal sistema.

Alcuni crittografi non sono d'accordo con questo e controbattono sul fatto che Kerckhoffs sentisse la necessità di mantenere segreta la chiave. Un altro fattore discordante è dato dal fatto che non si è sicuri della contrarietà di Kerckhoffs nel mantenere segreti altri componenti del sistema di crittografia (tabelle, protocolli, algoritmi, ecc.) per tutto il periodo corrispondente al periodo di indecifrabilità del sistema.

Vantaggio della chiave segreta[modifica | modifica wikitesto]

Utilizzare una crittografia sicura dovrebbe rimpiazzare il problema di mantenere i messaggi al sicuro con un metodo più facile da gestire, ovvero mantenere al sicuro chiavi di relativamente piccole dimensioni. Un sistema particolarmente grande che ha bisogno di rimanere segreto per tutta la durata della progettazione del sistema di crittografia difficilmente raggiungerà il suo obiettivo. Dunque se un sistema è sicuro anche quando il nemico conosce tutto tranne che la chiave, l'unica cosa da gestire è appunto mantenere le chiavi segrete.

Ovviamente ci sono un alto numero di metodi con la quale un attaccante può venire a conoscenza dei dettagli interni del sistema. Tra questi abbiamo la corruzione, il ricatto, oppure la minaccia diretta verso un membro dello staff o verso dei clienti che sono in grado di spiegare il funzionamento del sistema.

Mantenere la sicurezza[modifica | modifica wikitesto]

Una generalizzazione del principio di Kerckhoffs afferma: “Minori e semplici sono i segreti che uno deve mantenere per assicurare la sicurezza del sistema, più facile sarà mantenere la sicurezza del sistema.” Il crittografo Bruce Scheiner accompagna quest'affermazione con la consapevolezza che tutti i sistemi di sicurezza devono essere progettati per crollare nel modo meno brusco possibile:

« Il principio di Kerckhoffs si applica al di là dei codici e dei cifrari: ogni segreto crea una potenziale falla di sicurezza. La segretezza, in altre parole, è la prima causa di fragilità, e di conseguenza è qualcosa che rischia di portare un sistema al suo catastrofico collasso. Al contrario, l’apertura verso l’esterno rende il sistema più duttile.[3] »

Ogni sistema di sicurezza dipende fondamentalmente sul mantenere qualcosa segreto. Tuttavia l'obiettivo fondamentale del principio di Kerchoffs consiste nel tenere segreto ciò che è meno dispendioso da cambiare in caso di eventi inaspettati e sgradevoli.

Applicazioni[modifica | modifica wikitesto]

In accordo con il principio di Kerckhoffs, la maggior parte dei crittografi civili utilizza algoritmi di dominio pubblico. Al contrario, i cifrari utilizzati per proteggere le informazioni governative o militari sono spesso mantenuti segreti. È piuttosto comune tra le aziende mantenere il sistema interno segreto. Il fulcro del dibattito consiste nel fatto che questa segretezza renda veramente il prodotto più sicuro e meno vulnerabile agli attacchi, oppure si tratti esclusivamente di una sicurezza a breve termine e nel lungo periodo saranno i sistemi che sono stati pubblicati ed analizzati ad essere i più sicuri ed affidabili.

Note[modifica | modifica wikitesto]

  1. ^ (EN) La cryptographie militaire, su petitcolas.net. URL consultato il 26 febbraio 2015 (archiviato l'11 ottobre 2014).
  2. ^ James Massey, Cryptography: Fundamentals and Applications, course notes, 1993. p.2.5
  3. ^ Mann, Charles C., The Atlantic Monthly, vol. 290, Settembre 2002, http://www.theatlantic.com/issues/2002/09/mann.htm .

Bibliografia[modifica | modifica wikitesto]

  • (FR) Auguste Kerckhoffs, La cryptographie militaire, in Journal des sciences militaires, vol. 9, gennaio 1883, pp. 5–83. URL consultato il 26 febbraio 2015.
  • (FR) Auguste Kerckhoffs, La cryptographie militaire, in Journal des sciences militaires, vol. 9, febbraio 1883, pp. 161–191. URL consultato il 26 febbraio 2015.
Crittografia Portale Crittografia: accedi alle voci di Wikipedia che trattano di crittografia