Crittografia. Corso di Laurea Magistrale in Informatica La Rivoluzione a Chiave Pubblica. Ugo Dal Lago. Anno Accademico

Documenti analoghi
Crittografia a chiave pubblica

crittografia a chiave pubblica

Confidenzialità e crittografia simmetrica. Contenuto. Scenario tipico. Corso di Sicurezza su Reti Uso della crittografia simmetrica

Confidenzialità e crittografia simmetrica. Contenuto. Scenario tipico. Sicurezza su reti Uso della crittografia simmetrica

Distribuzione delle chiavi

Confidenzialità e crittografia simmetrica. Contenuto. Scenario tipico. Intercettazione dei dati. Uso della crittografia simmetrica

Le firme elettroniche e i sistemi di firma. Approcci al problema della sicurezza

Accordo su chiavi (key agreement)

Crittografia a chiave pubblica

Sicurezza della comunicazione tra due entità. Prof.ssa Gaia Maselli

Accordo su chiavi. Accordo su una chiave. Accordo su chiavi. Corso di Sicurezza su reti Vedremo due schemi: Diffie-Hellman

Crittografia per la sicurezza dei dati

problema del logaritmo discreto

Crittografia. Corso di Laurea Magistrale in Informatica Algebra, Teoria dei Numeri e Relative Assunzioni. Ugo Dal Lago. Anno Accademico

maurizio pizzonia sicurezza dei sistemi informatici e delle reti. tecniche crittografiche e protocolli

Corso di Informatica

IMPLEMENTAZIONI DIDATTICHE DI ALGORITMI DI CIFRATURA PER SICUREZZA INFORMATICA

Elementi di Sicurezza e Privatezza Lezione 5

Identificazione, Autenticazione e Firma Digitale. Firma digitale...

Crittografia con Python

logaritmo discreto come funzione unidirezionale

Corso di Crittografia Prof. Dario Catalano. Cifrari Asimmetrici (Prima Parte)

Distribuzione e certificazione delle chiavi

Autenticazione, firme digitali e certificati digitali

RETI DI CALCOLATORI II

crittografia a chiave pubblica

Corso di Crittografia Prof. Dario Catalano. Cifrari Asimmetrici (Prima Parte)

ITC Mossotti - Novara. Verica di Informatica. Nome e Cognome:... 1) Nella cifratura convenzionale. 2) Nella crittograa a chiave pubblica

Privacy e posta elettronica

sia G un gruppo ciclico di ordine n, sia g un generatore di G bisogna determinare l unico intero x con 1 x n 1 tale che g x = y

Corso di Crittografia Prof. Dario Catalano. Firme Digitali

Cifrari asimmetrici. Cifratura. Cifratura. Crittosistema ElGamal. file pubblico utente chiave pubblica. Alice. file pubblico utente chiave pubblica

! Gnu Privacy Guard (GPG) " Principali funzionalità. ! Descrizione esercitazione. " Scopo " Interazione con il sistema

NUMERI PRIMI E CRITTOGRAFIA

Corso di Crittografia Prof. Dario Catalano. Primitive Asimmetriche

Elementi di Sicurezza e Privatezza Lezione 5 Protocolli Crittografici (1)

ALGORITMI DI GENERAZIONE DI GRAFI CASUALI PER MODELLARE IL WEB OF TRUST - 1 -

Corso di Crittografia

Esercitazione 03. Sommario. Gnu Privacy Guard (GPG) Chiavi GPG (1/2) Andrea Nuzzolese. Gnu Privacy Guard (GPG) Descrizione esercitazione

Cifratura Asimmetrica

Protocolli a conoscenza zero. Carlo De Vittoria

sia G un gruppo ciclico di ordine n, sia g un generatore di G

Corso di Sicurezza nelle reti a.a. 2009/2010. Raccolta di alcuni quesiti del corso da 5CFU e prima parte del corso da 9CFU

Crittografia: dagli antichi codici di Cesare ai protocolli avanzati

Gestione della chiave

Crittografia. Corso di Laurea Magistrale in Informatica Introduzione alla Crittografia. Ugo Dal Lago. Anno Accademico

Http e Https. http usa la porta 80. Perciò è nato https - usa la porta 443

crittografia a chiave pubblica

Introduzione (1) Introduzione (2) Introduzione (3) Introduzione ai protocolli di sicurezza con CSP

Corso di Crittografia Prof. Dario Catalano. Cifrari Simmetrici (Prima Parte)

Il Ricevente comunica pubblicamente una chiave e. Il Mittente codifica il messaggio usando la funzione f(m, e) = C e

Crittografia a chiave pubblica

sia G un gruppo ciclico di ordine n, sia g un generatore di G bisogna determinare l unico intero x con 1 x n 1 tale che g x = y

Quando si inviano pacchetti da firewall a firewall si introduce un nuovo IP header. E necessario?

CRITTOGRAFIA: introduzione

Crittografia a chiave pubblica

RSA e firma digitale

Crittografia. Corso di Laurea Magistrale in Informatica Schemi di Codifica a Chiave Segreta. Ugo Dal Lago. Anno Accademico

Esercitazione 3 Gnu Privacy Guard

Crittografia Moderna. Segretezza Perfetta: nozioni

Sicurezza dei sistemi e delle reti 1. Lezione XIII: Lo schema di Lamport. Lo schema di Lamport. Lo schema di Lamport. Mattia Monga. a.a.

Il modello a scambio di messaggio

sia G un gruppo ciclico di ordine n, sia g un generatore di G

Sicurezza dei sistemi e delle reti 1

Crittografia simmetrica (a chiave condivisa)

Accordo su chiavi. (key agreement) Alfredo De Santis. Marzo Dipartimento di Informatica Università di Salerno

Informatica per la Comunicazione/ Verdicchio/ 09/02/2017/ Domande / VERSIONE 1

Distribuzione delle chiavi pubbliche. Gestione delle chiavi. Distribuzione delle chiavi pubbliche

Sicurezza nelle reti: protezione della comunicazione

Programmazione in Rete

Seminario sulla Crittografia. Corso: T.A.R.I Prof.: Giulio Concas Autore: Ivana Turnu

Sicurezza. Ingegneria del Software e sicurezza. Alice, Bob, e Trudy. Sicurezza non si caratterizza in modo semplice

Sicurezza delle informazioni

Crittografia avanzata Lezione del 14 Marzo 2011

Domande di verifica su crittografia e Firma Digitale Esercitazione 15 Novembre per esame 2014 IC DAC 1 / 15

Sicurezza nelle applicazioni multimediali: introduzione al corso. Anyone here not speaking Italian?

(G, ) un gruppo moltiplicativo di ordine n l ordine di un elemento g G, o(g), è il minimo intero positivo m tale che g m = 1

Corso di Crittografia Prof. Dario Catalano. Cifrari Asimmetrici (Terza Parte): RSA-OAEP e Cifrari basati sull identita

Il protocollo SSL! Il protocollo SSL! (Secure Socket Layer)! "Uno dei protocolli più diffusi nelle comunicazioni sicure:!

Corso di Sicurezza nelle reti a.a. 2010/2011. Soluzione dei quesiti sulla prima parte del corso

da chi proviene un messaggio?

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori

TECN.PROG.SIST.INF. I Socket Roberta Gerboni

Introduzione alla crittografia. Diffie-Hellman e RSA

Crittografia a chiave pubblica. Crittografia a chiave pubblica. Crittografia a chiave pubblica Autenticazione

Pr(x y) = Pr(x) si può riformulare questa definizione in termini di indistinguibilità x 0, x 1 P e y C, scelta in modo casuale una chiave k K

Informatica di base 6/ed

Autenticazione nei sistemi RFID

Firma elettronica, Certificati, Timestamps

Crittografia e Protocolli di Sicurezza

CRITTOGRAFIA 2014/15 Appello del 13 gennaio Nome: Cognome: Matricola:

Informatica. Crittografia. La crittografia è la scienza che studia la scrittura e la lettura di messaggi in codice

Crittografia: Servizi richiesti

Crittografia Asimmetrica

Corso di Crittografia Prof. Dario Catalano. Introduzione alla crittografia asimmetrica

Elementi di crittografia

Crittografia a chiave pubblica!

Transcript:

Crittografia Corso di Laurea Magistrale in Informatica La Rivoluzione a Chiave Pubblica Ugo Dal Lago Anno Accademico 2018-2019

La Crittografia Simmetrica e i Suoi Limiti Nonostante la crittografia simmetrica (o a chiave privata) permetta di risolvere i problemi dell autenticazioni e della confidenzialità, essa soffra di alcune fondamentali limitazioni: 1. La Distribuzione delle Chiavi Nella crittografia a chiave privata occorre che mittente e destinatario condividano una chiave. Non si può certo usare un canale insicuro, e lo scambio manuale delle chiavi è realistico solo in applicazioni militari. 2. Lo Storage delle Chiavi Se il numero di utenti in gioco è pari ad U, il numero delle chiavi necessarie è Θ(U 2 ) e l ingresso di un nuovo utente richiede U 1 nuove chiavi. Ciò è un problema al crescere di U. 3. La Gestione dei Sistemi Aperti In sistemi aperti, in cui nuovi utenti si possono connettere al sistema in modo dinamico, la crittografia simmetrica non offre alcuna soluzione.

Una Soluzione Parizale: il KDC Un modo abbastanza semplice per alleviare i primi due problemi di cui sopra è quello di dotare il sistema (multi-party) di un key distribution centre (KDC), in cui: Tutti gli utenti condividono un chiave segreta con il KDC. Ogniqualvolta un utente A vuole comunicare con un utente B, A invia al KDC uno speciale messaggio in cui richiede il rilascio di una speciale session-key. Il KDC invia poi sia ad A che a B una nuova chiave, che al termine della sessione di comunicazione viene cancellata.

Una Soluzione Parizale: il KDC Un modo abbastanza semplice per alleviare i primi due problemi di cui sopra è quello di dotare il sistema (multi-party) di un key distribution centre (KDC), in cui: Tutti gli utenti condividono un chiave segreta con il KDC. Ogniqualvolta un utente A vuole comunicare con un utente B, A invia al KDC uno speciale messaggio in cui richiede il rilascio di una speciale session-key. Il KDC invia poi sia ad A che a B una nuova chiave, che al termine della sessione di comunicazione viene cancellata. I vantaggi di questo approccio sono i seguenti: Ogni utente ha bisogno di conservare una sola chiave (ovvero quella che condivide con il KDC), più le session-keys. Quando un nuovo utente entra in gioco, basta scomodare il KDC, e non tutti gli altri utenti.

Una Soluzione Parizale: il KDC Un modo abbastanza semplice per alleviare i primi due problemi di cui sopra è quello di dotare il sistema (multi-party) di un key distribution centre (KDC), in cui: Tutti gli utenti condividono un chiave segreta con il KDC. Ogniqualvolta un utente A vuole comunicare con un utente B, A invia al KDC uno speciale messaggio in cui richiede il rilascio di una speciale session-key. Il KDC invia poi sia ad A che a B una nuova chiave, che al termine della sessione di comunicazione viene cancellata. I vantaggi di questo approccio sono i seguenti: Ogni utente ha bisogno di conservare una sola chiave (ovvero quella che condivide con il KDC), più le session-keys. Quando un nuovo utente entra in gioco, basta scomodare il KDC, e non tutti gli altri utenti. Restano però un certo numero di svantaggi: Forzare il KDC significa forzare l intero sistema. Se il KDC è un point-of-failure.

Una Soluzione Parizale: il KDC Come avviene la distribuzione delle chiavi di sessione? Esistono molti protocolli per l distribuzione delle chiavi tramite KDC. Uno di questi è un protocollo dovuto a Needham e Schroeder (detto anche protocollo NS): A KDC A Send (A, B) to KDC k Gen Send (Enc(k A, k), Enc(k B, k)) to A Send Enc(k B, k) to B Il protocollo NS è comunque vulnerabile ad attacchi sul lato dell autenticazione, se si usa uno schema di codifica CPA-sicuro. NS sta alla base del protocollo Kerberos.

La Rivoluzione a Chiave Pubblica La rivoluzione a chiave pubblica ha luogo a partire dal 1976, quando Whitfield Diffie e Martin Hellman pubblicarono un articolo, New Directions in Cryptography. Prima del 1976 era universalmente accettato che condizione necessaria alla crittografia fosse la chiave condivisa.

La Rivoluzione a Chiave Pubblica La rivoluzione a chiave pubblica ha luogo a partire dal 1976, quando Whitfield Diffie e Martin Hellman pubblicarono un articolo, New Directions in Cryptography. Prima del 1976 era universalmente accettato che condizione necessaria alla crittografia fosse la chiave condivisa. Diffie e Hellman osservarono che è assolutamente plausibile uno scenario asimmetrico, in cui ci siano non una ma due chiavi: Una chiave di cifratura, usata dal mittente. Una chiave di decrittazione, usata dal destinatario.

La Rivoluzione a Chiave Pubblica La rivoluzione a chiave pubblica ha luogo a partire dal 1976, quando Whitfield Diffie e Martin Hellman pubblicarono un articolo, New Directions in Cryptography. Prima del 1976 era universalmente accettato che condizione necessaria alla crittografia fosse la chiave condivisa. Diffie e Hellman osservarono che è assolutamente plausibile uno scenario asimmetrico, in cui ci siano non una ma due chiavi: Una chiave di cifratura, usata dal mittente. Una chiave di decrittazione, usata dal destinatario. Sorprendentemente, la sicurezza dello schema di codifica deve vale anche contro avversari che conoscano la chiave di cifratura, che è anche detta chiave pubblica. In questo modo non c è più bisogno di un canale sicuro per la distribuzione dele chiavi: il mittente rende pubblica la chiave di cifratura

La Rivoluzione a Chiave Pubblica Le tre limitazioni della crittografia simmetrica sono risolti come segue: 1. La distribuzione delle chiavi può avvenire su canali pubblici, anche se autenticati. 2. Ogni parte coinvolta nella comunicazione deve mantenere segreta una sola chiave. 3. I sistemi aperti sono gestiti in maniera soddisfacente: ogni nuovo utente crea una chiave pubblica e la rende disponibile agli altri utenti

La Rivoluzione a Chiave Pubblica Le tre limitazioni della crittografia simmetrica sono risolti come segue: 1. La distribuzione delle chiavi può avvenire su canali pubblici, anche se autenticati. 2. Ogni parte coinvolta nella comunicazione deve mantenere segreta una sola chiave. 3. I sistemi aperti sono gestiti in maniera soddisfacente: ogni nuovo utente crea una chiave pubblica e la rende disponibile agli altri utenti Diffie e Hellman proposero tre primitive a chiave pubblica: La crittografia a chiave pubblica, di cui abbiamo parlato. La firma digitale, ovvero l equivalente assimetrico dei MAC. Un protocollo interattivo per lo scambio di chiavi, tramite il quale due parti che non condividono nessuna informazione segreta possono generare una chiave in modo sicuro.

Protocolli Per lo Scambio delle Chiavi Un protocollo per lo scambio delle chiavi è un insieme di regole Π che prescrive in che modo due parti A e B is debbano scambiare un certo numero di messaggi. Al termine del protocollo A ha costruito una chiave k A, mentre B ha costruito k B. Il protocollo è corretto se ka = k B. La sicurezza di un protocollo per lo scambio delle chiavi è formulata, al solito, tramite un esperimento: KE eav A,Π(n): (transcript, k) Π(1 n ); b {0, 1}; if b = 0 then k {0, 1} n else k k b A(transcript, k ); Result: (b b ) Π è sicuro sse per ogni A PPT esiste ε N GL tale che Pr(KE eav A,Π (n) = 1) = 1 2 + ε(n).

Il Protocollo di Diffie e Hellman Il protocollo di Diffie e Hellman è costruito su principi simili a quelli che hanno portato i due ricercatori a formulare le assunzioni che prendono da loro il nome. Il protocollo è definito come segue: A B (G, q, g) GenCG(1 n ) x Z q h 1 g x Send (G, q, g, h 1) to B y Z q h 2 g y Send h 2 to B Output h y 1 A Output h x 2

Il Protocollo di Diffie e Hellman Il protocollo di Diffie e Hellman è costruito su principi simili a quelli che hanno portato i due ricercatori a formulare le assunzioni che prendono da loro il nome. Il protocollo è definito come segue: A B (G, q, g) GenCG(1 n ) x Z q h 1 g x Send (G, q, g, h 1) to B y Z q h 2 g y Send h 2 to B Output h y 1 k B = h y 1 = (g x ) y = g xy k A = h x 2 = (g y ) x = g xy A Output h x 2

Sulla Sicurezza del Protocollo di Diffie e Hellman Teorema Se DDH è difficile relativamente a GenCG, allora Π è sicuro (nel senso di KE eav ).

Sulla Sicurezza del Protocollo di Diffie e Hellman Teorema Se DDH è difficile relativamente a GenCG, allora Π è sicuro (nel senso di KE eav ). Osserviamo che l Assunzione DDH è stata formulata dopo l introduzione del protocollo di cui sopra e proprio per capire quale fosse una proprietà sufficiente per la relativa sicurezza. Cosa guadagniamo? Abbiamo enucleato una proprietà, che possiamo poi mettere in relazione con il logaritmo discreto.

Sulla Sicurezza del Protocollo di Diffie e Hellman Teorema Se DDH è difficile relativamente a GenCG, allora Π è sicuro (nel senso di KE eav ). Osserviamo che l Assunzione DDH è stata formulata dopo l introduzione del protocollo di cui sopra e proprio per capire quale fosse una proprietà sufficiente per la relativa sicurezza. Cosa guadagniamo? Abbiamo enucleato una proprietà, che possiamo poi mettere in relazione con il logaritmo discreto. Oltre agli attacchi passivi che abbiamo considerato finora, ne esistono altri, che l esperimento KE eav non cattura: Attacchi di Impersonificazione Attacchi Man-in-the-Middle, nei confronti dei quali Diffie-Hellman è noto essere insicuro.