Importanza del Principio di Kerchoffs nella sicurezza informatica
Il principio di Kerchoffs (o Principio di Kerchoff) nella sicurezza informatica afferma che la sicurezza del sistema deve basarsi sull’ipotesi che il nemico possa avere piena conoscenza dei dettagli di progetto. La sola informazione di cui il nemico non può disporre è una sequenza di numeri casuali, generati da una chiave segreta, senza la quale non è possibile ricostruire il messaggio nascosto.
Detto ciò la forma della crittografia è basata su questi 3 punti fondamentali, nel senso che se le chiavi:
- sono tenute segrete
- sono gestite solo da sistemi fidati
- sono di lunghezza adeguata
allora, non ha alcuna importanza che gli algoritmi di crittografia e decrittografia siano tenuti segreti, anzi è bene che siano pubblici affinché siano studiati ampiamente e siano rivelate eventuali debolezze.
Semplice spiegazione del principio di Kerchoffs
Il crittografo olandese Auguste 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.