Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoRomola Dolce Modificato 10 anni fa
1
Cenni di Crittografia Il procedimento di crittografia consiste nel rendere illeggibile un testo in chiaro mediante l’uso di un determinato algoritmo e di una lista chiave con cui il testo è stato cifrato. E’ opportuno sottolineare il fatto che questi algoritmi sono tranquillamente resi pubblici in quanto non viene trattato il Segreto di Stato, perché la confidenzialità del messaggio è legata sopratutto alla lista chiave (key). La figura 1 mostra come il messaggio in chiaro (plaintext) originato dal mittente si trasforma in un testo cifrato (ciphertext) mediante la cifratura; il messaggio raggiunto il destinatario viene decifrato per ritornare testo in chiaro. Mittente Destinatario Plaintext Plaintext Cifratura Ciphertext Decifratura Figura 1 Ad esempio, nel Codice di Cesare, l’algoritmo consisteva nel translare le lettere del plaintext di un numero di posizioni pari a n (chiave di cifratura). In un famoso film di Kubrik, veniva denominato un super-computer “HAL”, che altro non era che l’utilizzo del codice di Cesare alla parola “IBM” con n=1. Da questo esempio risulta : che la conoscenza delll’algoritmo di cifratura, non abilita la decifra del messaggio, se non in possesso della chiave di cifratura; che la chiave deve essere scelta tra un vastissimo numero di combinazioni, per risultare efficace. Esistono due tipologie di algoritmi per crittografare: algoritmi a chiave segreta (o simmetrici), in cui la chiave per cifrare è la stessa utilizzata per decifrare; algoritmi a chiave pubblica (o asimmetrici), in cui ogni utente interessato alla comunicazione possiede 2 chiavi : una chiave privata, che conosce solo il possessore, e una chiave pubblica, che viene resa nota.
2
Sdsdfsdfsdaiwenlsdluionsdinsù+à+à+eàd+èedèeèe
La crittografia a chiave segreta (CCS) La crittografia a chiave segreta (CCS) è una tecnica che modifica l'informazione in chiaro, in una cifrata, basandosi su un parametro, appunto chiamato chiave di cifratura, utilizzando la stessa sia per la cifratura che per decifratura (figura 2),(chiave simmetrica). Essendo la funzione invertibile, il destinatario dovrà soltanto elaborare nuovamente il crittogramma richiamando l'inversa della funzione di cifratura avente come parametro la stessa chiave utilizzata dal mittente. VANTAGGI: - dal punto di vista tecnico le fasi di codifica e di decodifica possono essere svolte anche da un computer non particolarmente potenti, in tempi decisamente brevi; SVANTAGGI: 1. Il limite di questa tecnica consiste nel fatto che costringe gli interessati a scambiarsi in qualche modo la chiave, con il pericolo che questa possa venire cadere nelle mani sbagliate; questo svantaggio è molto più evidente nel momento in cui la distribuzione è rivolta a più utenti. Possibile soluzione : - scambio della lista chiave attraverso un corriere abilitato; scambio della lista chiave via cifrandola con un sistema a chiave pubblica. 2. Altro svantaggio consiste nel fatto che, considerata la difficoltà di scambiare le chiavi, queste hanno una durata abbastanza lunga, che potrebbe facilitare il lavoro di un esperto crittografo nella scoperta della lista chiave. Per evitare questa vulnerabilità, si consiglia di aggiornare la lista chiave con frequenze più ravvicinate, variando continuamente i periodi di aggiornamento della stessa. File cifrato Sdsdfsdfsdaiwenlsdluionsdinsù+à+à+eàd+èedèeèe ALFA OMEGA STESSA CHIAVE Figura 2
3
Sdsdfsdfsdaiwenlsdluionsdinsù+à+à+eàd+èedèeèe
Alcuni degli algoritimi più utilizzati nella crittografia simmetrica includono: RC4, DES, Triple-DES. Questi si differenziano per lunghezza, espressa in bit, elemento base per garantire la robustezza dell’algoritmo. Infatti la robustezza dell’algoritmo deriva dalla lunghezza della chiave, in quanto più è lunga , più tempo è necessario per violare il sistema. Crittografia a chiave pubblica (CCP) Al fine di superare i problemi derivanti dalla cifratura simmetrica relativi allo scambio in sicurezza della lista chiave, vennero condotti studi approfonditi e nel Maggio del 1976, negli Stati Uniti un articolo scritto da Whitfield Diffie e Martin Hellman, pubblicato sulle "IEEE Transactions on Information Theory" del Novembre '76, annunciava un nuovo sistema che prevedeva l‘utilizzo di chiavi pubbliche. “Siamo all'inizio di una rivoluzione nella crittografia“, titolava il "New Directions in Cryptography“, prevedendo l’inizio di una nuova era per la crittografia moderna. Questo tipo di sistema crittografico consiste in due chiavi messe in relazione matematicamente, in cui quella privata viene tenuta segreta dal proprietario e quella pubblica viene distribuita oppure “allocata” su server, predisposti alla loro conservazione, consultabili da tutti gli utenti on-line. Le due chiavi vengono costruite con un meccanismo “esponenziale” di numeri primi, con modulo molto elevato, che le rende praticamente impossibili da ricostruire a partire dalla conoscenza di una sola delle due. Inoltre dato che la chiave pubblica, è resa disponibile al pubblico, la creazione e lo scambio iniziale della chiave di cifratura condivisa è più semplice rispetto a quella simmetrica. L’applicazione del metodo di cifratura a chiave pubblica trova il suo impiego ogni volta sia necessario garantire confidenzialità, autenticazione, integrità e non ripudio. La confidenzialità si ottiene tramite l’invio di messaggi cifrati; gli algoritimi a chiave pubblica prevedono che il mittente cifri con la chiave pubblica del destinatario e quest’ultimo decifri con la propria chiave privata (figura 3). File in chiaro, cifrato con la chiave pubblica di Omega File decifrato con la chiave privata di Omega File cifrato Sdsdfsdfsdaiwenlsdluionsdinsù+à+à+eàd+èedèeèe ALFA OMEGA Figura 3 Dato che le due chiavi, sono legate matematicamente, il testo cifrato con la chiave pubblica potrà essere decifrato solo da chi è in possesso della rispettiva chiave privata.
4
Il bisogno dell’autenticazione parte dal presupposto che le “chiavi pubbliche” non sono segrete ma note e comunque distribuibili in rete. Potrebbe succedere che con un “attacco” del tipo “man in the middle” un terza persona potrebbe inviare messaggi cifrati facendosi passare per “alfa”. Risulta, quindi, indispensabile utilizzare meccanismi che garantiscano l’identità del mittente. Per garantire che il messaggio provenga proprio da “alfa”, questo potrà firmare il documento con la propria chiave privata (firma digitale) il documento, utilizzando degli algoritmi denominati : Algoritmi di Hash. Algoritimi di Hash: Gli algoritmi di Hash sono funzioni che ricavano una stringa di lunghezza fissa (128 o 160 bit) (impronta digitale), detta “digest” o “hash”, dal messaggio in chiaro, indipendentemente dalla sua lunghezza (figura 4). TESTO IN CHIARO HASHING DIGEST Figura 4 Si tratta di funzioni molto usate e non invertibili, cioè non è possibile risalire al testo a partire dalla conoscenza del digest. L’utilità di queste funzioni si manifesta quando queste vengono usate congiuntamente ad algoritimi simmetrici e soprattutto asimmetrici per realizzare i servizi di autenticazione, integrità e non ripudio I più noti algoritmi di Hash sono : MD4, MD5, SHA-1 e CBC-DES-MAC che variano in base alla lunghezza del valore del digest generato. Queste funzioni dette one-way hash svolgono due funzioni molto importanti nella crittografia: - verifica dell'integrità: se il valore di hash di un certo messaggio è uguale prima e dopo la trasmissione, allora vi è una “discreta certezza” che il messaggio ricevuto sia rimasto invariato; - Concisione: nei calcoli matematici risulta più facile usare un'impronta a 128 bit che un testo normale a lunghezza variabile. Le funzioni di hash possono essere usate per la creazione di firme digitali. Molti crittosistemi richiedono calcoli molto lunghi e complessi per apporre la propria firma digitale su un file di grosse dimensioni mentre, grazie a queste funzioni, si può semplicemente calcolare e firmare il valore di hash del file, sicuramente di dimensioni molto ridotte.
5
Chiave pubblica di Alfa
FIRMA DIGITALE: La prima applicazione pratica della firma digitale, basata sulle tecniche di crittografia a doppia chiave fu sviluppata nel 1978 da tre professori americani: Ronald Rivest, Adi Shamir e Leonard Adleman, l’algoritmo “RSA" (dalle iniziali dei suoi inventori) e la sua implementazione. Tale processo si sviluppa nelle seguenti fasi (figura 5): 1. il messaggio da “firmare” viene sottoposto alla funzione di hash (“hashing”) che, in base ad una formula matematica, genera una stringa di caratteri detta “digest” di lunghezza fissa. Anche cambiando un solo carattere del messaggio la stringa risulterà diversa; 2. il digest viene cifrato con la chiave privata del PC Alfa; 3. il messaggio ed il digest, vengono trasmessi al PC Omega. Il destinatario PC Omega, procederà ad effettuare un controllo con le seguenti operazioni: 1. sottopone nuovamente alla funzione di hash (“hashing”), il messaggio, generando un nuovo digest; 2. decifra il digest cifrato ricevuto utilizzando la chiave pubblica del PC Alfa; 3. confronta i due digest. Messaggio in chiaro Messaggio in chiaro HASHING DIGEST in chiaro DIGEST Cifrato Se risultano uguali il msg risulta autenticato Messaggio in chiaro Se non risultano uguali il msg non risulta autenticato HASHING DIGEST in chiaro DIGEST Cifrato DIGEST in chiaro Chiave privata di Alfa Chiave pubblica di Alfa Figura 5
6
Se i due digest sono uguali la firma risulta autentica.
Differentemente possono essere accadute due cose : chi ha mandato il messaggio non è il possessore della chiave privata (autenticazione); il messaggio è stato modificato durante la trasmissione (integrità); infine questo meccanismo non consente al trasmittente di “ripudiare” tutto quello scritto nel messaggio. Nell’uso comune però, anche se l’utilizzo della cifratura a chiave pubblica risulta più sicura, la sua elaborazione è molto più “pesante”, mentre gli algoritmi a cifratura simmetrica risultano molto più veloci. Per ovviare a tutto ciò in pratica si usa cifrare il messaggio con la chiave simmetrica (processo elaborato in tempi brevi), quest’ ultima invece, viene spedita al destinatario cifrata con la sua chiave pubblica (figura 6). Messaggio in chiaro Cifratura con chiave simmetrica Chiave simmetrica Chiave simmetrica cifrata con la chiave pubblica di OMEGA Chiave simmetrica cifrata Messaggio cifrato ALFA OMEGA Figura 6 In ricezione Omega decifrerà la chiave simmetrica, con la sua chiave privata, in un secondo momento ottenuta la chiave simmetrica potrà in tempi brevi decifrare il messaggio. In rete è possibile trovare programmi per la cifra e decifra con chiavi asimmetriche e simmetriche. Il più famoso è PGP (Pretty Good Privacy) ( il quale funziona sia su sistemi operativi Microsoft che Unix like. La GNU interessata a PGP ha sviluppato un sistema analogo ``The GNU Privacy Guard'', cioè GPG, che opera solo su piattaforme Unix like. Informazioni e codice sono disponibili all'URL:
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.