La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Crittografia e crittoanalisi Crittografia: tecnica che consente di rendere visibili o utilizzabili le informazioni solo alle persone a cui sono destinate.

Presentazioni simili


Presentazione sul tema: "Crittografia e crittoanalisi Crittografia: tecnica che consente di rendere visibili o utilizzabili le informazioni solo alle persone a cui sono destinate."— Transcript della presentazione:

1 Crittografia e crittoanalisi Crittografia: tecnica che consente di rendere visibili o utilizzabili le informazioni solo alle persone a cui sono destinate. Per tutti gli altri le informazioni devono risultare incomprensibili e inutilizzabili. Il messaggio originale viene chiamato “testo in chiaro”. La cifratura (o codifica) del messaggio tramite un apposito algoritmo consente di ottenere un “testo cifrato”. Si può riottenere il testo in chiaro tramite la decifrazione (o decodifica) del testo cifrato. Codifica e decodifica si basano su un opportuno algoritmo e su una chiave di codifica/decodifica. Le tecniche di critto-analisi hanno lo scopo di violare le comunicazioni cifrate. Studiano cioè i metodi per tentare di decrittare un messaggio cifrato senza conoscere l’algoritmo e/o la chiave di cifratura. Cap.5, par. 3, pag. 188 Crittografia, hashing e firme digitali – F.Urbano

2 Algoritmi crittografici classici Crittografia, hashing e firme digitali – F.Urbano Si basano essenzialmente su due tecniche: Sostituzione Trasposizione Es.1: Cifrario a sostituzione di Cesare Chiave = +3 ABCDEFGHIJKLMNOPQRSTUVWXYZ DEFGHIJKLMNOPQRSTUVWXYZABC Testo in chiaro : NEL MEZZO DEL CAMMIN DI NOSTRA VITA Testo cifrato: QHO PHCCR GHO FDPPLQ GL QRVWUD YLWD Es. 2: Sostituzione con chiave random Chiave: ABCDEFGHIJKLMNOPQRSTUVWXYZ YNEPTLSQDVBAKHRCGXUIOZMJWF Testo in chiaro : MI RITROVAI PER UNA SELVA OSCURA Testo cifrato: KD XDIXRZYD CTX OHY UTAZY RUEOXY In entrambi i casi il sistema può essere violato senza difficoltà in pochi minuti anche senza l’aiuto di un computer. Es.3: Cifrario a trasposizione Chiave: ariete Testo cifrato: MEPEOICINOALEZOONSELNROEPTRIVOVAI GSZCRAESOOTESARPOHODLLIRONPZACATU Testo in chiaro: MEGLIOESSEREPAZZOPERCONTOPROPRIOA NZICHESAVIOSECONDOLAVOLONTAALTRUI Anche in questo caso il sistema può essere forzato senza grosse difficoltà

3 Nel corso dei secoli le tecniche di sostituzione e trasposizione sono state utilizzate in combinazione e secondo schemi più complessi, creando dei sistemi più sicuri. L’ambito principale di applicazione della crittologia (crittografia + crittoanalisi) è stato fino a pochi decenni fa solo quello militare. Tecniche evolute sono state adottate dalle principali potenze mondiali durante la seconda guerra mondiale e durante la guerra fredda. Con la sviluppo delle reti informatiche a livello mondiale le tecniche crittografiche hanno assunto un’importanza vitale nell’ambito delle comunicazioni di dati sulla rete. Ad esempio, tutte le transazione finanziarie e bancarie non potrebbero svolgersi in sicurezza senza adeguati e sofisticati sistemi di protezione dei dati in transito sulla rete. EVOLUZIONE DELLE TECNICHE CRITTOGRAFICHE Crittografia, hashing e firme digitali – F.Urbano

4 a)Crittografia a chiave Simmetrica b)Crittografia a chiave Asimmetrica a) Chiave simmetrica Si utilizza la stessa chiave sia per la cifratura che per la decifratura. Tutti i metodi classici usavano il sistema simmetrico. Anche oggi sono in uso sistemi a chiave simmetrica molto efficaci ed efficienti. Il principale inconveniente è la necessità che i due interlocutori si scambino la chiave. Le moderne tecniche di crittografia possono essere classificate in due categorie: b) Chiave asimmetrica Ogni soggetto coinvolto nella comunicazione deve possedere una doppia chiave: una pubblica ed una privata. Le due chiavi sono correlate da un algoritmo matematico. Si utilizza una delle due chiavi per la codifica, l’altra per la decodifica Si tratta di sistemi che si sono sviluppati a partire dagli anni 70. Si elimina il problema dello scambio di chiave. Crittografia, hashing e firme digitali – F.Urbano

5 Chiave simmetrica Si usa la stessa chiave sia per cifrare che per decifrare i dati. Gli attuali algoritmi a chiave simmetrica utilizzano algoritmi molto evoluti ed efficienti. Il problema principale è che per poter avviare la comunicazione cifrata i due utenti (oppure un client ed un server) devono prima decidere la chiave da utilizzare e devono comunicarla uno all’altro. Se in questa fase la chiave viene intercettata la successiva trasmissione dei dati non sarà più protetta. Crittografia, hashing e firme digitali – F.Urbano

6 Algoritmi e protocolli di Crittografia a chiave simmetrica DES Data Encryption Standard by IBM 1977 Chiave a 56 bit Testo in chiaro diviso a blocchi di 64 bit Uso di sostituzioni e trasposizioni molto complesse Violato prima volta nel 98. Oggi considerato relativamente insicuro (vulnerabile a attacchi "brute force" con macchine specializzate in ca. 24h) Triplo DES (3DES) Evoluzione del DES Usa due chiave a 56 bit = una chiave a 112 bit Funziona in tre passi successivi Uso di sostituzioni e trasposizioni molto complesse Ragionevolmente sicuro (teoricamente vulnerabile, praticamente assai difficile) Crittografia, hashing e firme digitali – F.Urbano

7 Algoritmi e protocolli di Crittografia a chiave simmetrica (segue) IDEA Internation Data Encryption Algorithm Chiave a 128 bit Testo in chiaro diviso a blocchi di 64 bit AES Advanced Encryption Standard 1997 algoritmo vincitore concorso NIST 1997 (National Institute Standards and Technologies.) Oggi uno standard USA e internazionale Blocchi a 128 bit Chiavi a 128, 192, 256 bit RC4 (Rivest Cipher 4, 1987 by Rivest ) Non a blocchi ma a caratteri (stream) Molto veloce e semplice implementazione usato anche in WEP e WPA (reti wireless), SSL Chiave lunghezza variabile Testo in chiaro diviso a blocchi di 64 bit Uso di sostituzioni e trasposizioni molto complesse Crittografia, hashing e firme digitali – F.Urbano

8 Ciascun utente possiede una coppia di chiavi, pubblica e privata. La chiave pubblica può essere resa nota a tutti, la chiave privata invece deve rimanere segreta. Non c’è più il problema di dover comunicare una chiave segreta. Crittografia, hashing e firme digitali – F.Urbano Garanzia della segretezza Se A deve inviare un messaggio riservato a B deve codificare il messaggio con la chiave pubblica di B. Esempio: Alice deve inviare messaggio cifrato a Bob Chiave asimmetrica

9 Garanzia della segretezza Bob vuole rispondere con un messaggio cifrato ad Alice In questo caso Bob utilizza la chiave pubblica di Alice per la cifratura. Solo Alice potrà decifrare il messaggio perché possiede la corrispondente chiave privata. Crittografia, hashing e firme digitali – F.Urbano

10 Algoritmi e protocolli di Crittografia a chiave ASIMMETRICA RSA Rivest Shamir Adleman 1978 Basato su proprietà e teoremi di aritmetica modulare Sicurezza basata sulla difficoltà di fattorizzazione dei numeri Sicuro purché le chiavi (numeri) siano molto grandi Computazionalmente molto impegnativo (lentezza elaborazione) Utilizzato spesso per scambiarsi una chiave segreta (chiave di sessione) Utilizzato anche per la firma digitale Esistono altri algoritmi asimmetrici meno utilizzati. Esempi di protocolli che usano algoritmi a chiave asimmetrica: PGP, SSH, SSL Per generare una Sintesi (o Impronta o Message Digest) si utilizzano algoritmi di HASH. I più usati: MD5 by Rivest : produce stringa din 128 bit. Oggi non molto sicuro SHA-1 (Secure Hash Algorithm) produce stringa di 160 bit Crittografia, hashing e firme digitali – F.Urbano

11 DATI ALGORITMI DI HASHING ALGORITMO DI HASHING SINTESI o IMPRONTA o MESSAGE DIGEST  A partire da una qualsiasi blocco di dati un algoritmo di hashing genera una “impronta” (o sintesi o digest) di dimensione prestabilita.  Funziona come una crittografia a senso unico: i dati originali vengono codificati ma non è possibile risalire ai dati di partenza CARATTERISTICHE DI UN BUON ALGORITMO DI HASHING Dati diversi devono (dovrebbero) generare impronte diverse (la probabilità deve essere quanto più possibile elevata) Deve essere pressoché impossibile risalire al documento originale a partire dall’impronta. POSSIBILI APPLICAZIONI IN AMBITO DI SISTEMI DI SICUREZZA Memorizzazione di password criptate Verifica integrità di un messaggio Generazione di firme digitali (vedi prossima) Crittografia, hashing e firme digitali – F.Urbano La dimensione di un digest di solito è 128 bit, ma può anche essere maggiore. Algoritmi più noti: MD5, SHA-1. Il secondo è attualmente considerato più sicuro.

12 CERTIFICATO DIGITALE  Per poter firmare digitalmente un documento o un messaggio un utente deve possedere un certificato digitale  Si può ottenere un certificato da una Certification Authority o tramite un “web of trust”  Il certificato digitale comprende una coppia di chiavi per crittografia asimmetrica (chiave pubblica + chiave privata). Certificato digitale rilasciato da: _______________ a: ________________ il: ______ valido fino al _______ Chiave pubblica: xxx-yyy-zzz Chiave privata: www-kkk-jjj Crittografia, hashing e firme digitali – F.Urbano

13 Possibili usi di un certificato digitale Possibilità di inviare e ricevere posta elettronica firmata digitalmente e/o crittografata (utile a professionisti, aziende, utenti privati, ecc.). L’utente che riceve un messaggio firmato digitalmente ha la garanzia che il messaggio è stato effettivamente generato e inviato da un dato mittente. Possibilità di produrre documenti o programmi certificandone l’autenticità (utile ad es. ai produttori di software). L’utente privato che scarica o acquista un software può avere la garanzia che il software è effettivamente stato prodotto dalla società e non è contraffatto da altri. L'uso più comune dei certificati digitali è per l'accesso ai siti web via HTTPs, ossia HTTP su protocollo sicuro SSL. Attraverso i certificati possiamo accertarci che il server a cui ci si è connessi è autentico, cioè è effettivamente quello che dichiara di essere. Il protocollo SSL prevede che, alla connessione, il server fornisca il proprio certificato digitale; se il certificato digitale è firmato da un'autorità di certificazione da noi riconosciuta allora possiamo utilizzare la chiave pubblica presente nello stesso per avviare una comunicazione sicura. Crittografia, hashing e firme digitali – F.Urbano

14 Documento o messaggio originale prodotto da BOB Come funziona la firma digitale? ALGORITMO DI HASHING IMPRONTA (MESSAGE DIGEST) ALGORITMO DI CRITTOGRAFIA ASIMMETRICA (RSA) Chiave PRIVATA Di BOB Impronta del documento, crittografata con la chiave privata di BOB = FIRMA DIGITALE Documento + Firma digitale = Documento autenticato Generazione firma digitale (può farla solo il possessore del certificato digitale ) Documento autenticato IMPRONTA - 2 ALGORITMO RSA Chiave PUBBLICA Di BOB Verifica autenticità (può farla un utente qualsiasi) IMPRONTA - 1 ALGORITMO DI HASHING IMPRONTA - 1 = IMPRONTA - 2 ? Documento autentico! Attenzione! Documento contraffatto! SìNo Crittografia, hashing e firme digitali – F.Urbano DocumentoFirma digitale (impronta del doc. crittografata con chiave privata di Bob)

15 Documento con firma digitale IMPRONTA - 2 IMPRONTA - 1 ALGORITMO DI HASHING IMPRONTA -1 ≠ IMPRONTA - 2 Attenzione! Documento contraffatto! Documento contraffatto XXX XX Firma originale del documento di BOB Documento con firma digitale IMPRONTA - 2 ALGORITMO DI HASHING IMPRONTA -1 ≠ IMPRONTA - 2 Attenzione! Documento contraffatto! Documento originale XXX Firma digitale contraffatta Tentativo di contraffazione n. 1 Jack modifica il documento e vuol far credere che sia un prodotto originale di BOB. Lascia intatta la firma digitale messa da BOB. Cosa avviene quando il documento arriva ad un utente qualsiasi e si fa la verifica di autenticità? Tentativo di contraffazione n. 2 Jack vuole appropriarsi della proprietà del documento di Bob, facendo credere che lo ha fatto lui. Lascia intatto il documento originale, ma sostituisce la firma con quella ottenuta usando la sua chiave privata. Cosa avviene quando il documento arriva ad un utente qualsiasi e si fa la verifica di autenticità? Chiave privata di Jack Chiave pubblica di BOB XX Algoritmo RSA Algoritmo RSA IMPRONTA - 1 Crittografia, hashing e firme digitali – F.Urbano

16 SSL Secure Socket Layer Protocollo progettato dalla Netscape per realizzare comunicazioni cifrate su Internet Standardizzato in TLS (Transport Layer Security) Usa la crittografia a chiave pubblica per lo scambio di una chiave di sessione Per lo scambio chiavi pubbliche usa certificati digitali Perché un sito sia protetto l'amministratore deve richiedere un certificato a una CA (Certification Authority) e deve configurare il server in modo da utilizzare un protocollo di protezione SSL funziona come livello intermedio tra Applicazione e Trasporto HTTP + SSL  HTTPS Distribuzione chiavi pubbliche certificati digitali emessi da una Certification Authority o da un Web of Trust (Es: VeriSign) id digitali classe 1: solo email classe 2: dati personali classe 3: utente deve provare propria identità Crittografia, hashing e firme digitali – F.Urbano


Scaricare ppt "Crittografia e crittoanalisi Crittografia: tecnica che consente di rendere visibili o utilizzabili le informazioni solo alle persone a cui sono destinate."

Presentazioni simili


Annunci Google