2 Crittografia

Embed Size (px)

Citation preview

  • 8/4/2019 2 Crittografia

    1/118

    2. Crittografia

    1

    F. Garzia, Crittografia

  • 8/4/2019 2 Crittografia

    2/118

  • 8/4/2019 2 Crittografia

    3/118

    1. Crittografia e hashing: introduzione

    3

    F. Garzia, Crittografia

  • 8/4/2019 2 Crittografia

    4/118

  • 8/4/2019 2 Crittografia

    5/118

    Algoritmi di crittografia

    Trasformano (cifrano) reversibilmente un insieme di dati, ad esempio undocumento, in modo da renderlo non intelligibile.

    Affinch tali algoritmi siano di qualche utilit pratica occorre chesoddisfino le seguenti condizioni fondamentali:

    la cifratura e la decifratura deve avvenire in funzione di una variabiledetta chiave costituita da una sequenza di bit di lunghezza variabilein funzione dell'algoritmo e del livello di sicurezza che si desideraottenere;

    le operazioni di cifratura e decifratura sono relativamente semplicinel caso in cui si conosca la chiave; in caso contrario risultano

    laboriose al punto da risultare praticamente inattuabili; risulta egualmente laborioso dedurre la chiave con cui stato cifrato

    un documento confrontandolo con la sua versione in chiaro (cionon cifrata).

    F. Garzia, Crittografia

    5

  • 8/4/2019 2 Crittografia

    6/118

    Algoritmi di crittografia

    La lunghezza delle chiavi, quando non fissata dal particolare algoritmodi crittografia, pu tipicamente assumere un insieme di valori che varia

    in funzione dell'algoritmo stesso e degli standard applicabili. La lunghezza effettivamente scelta per le chiavi da utilizzare nell'ambito

    di una specifica applicazione sempre il risultato di un compromessofra esigenze di sicurezza e potenza dei calcolatori a disposizione.

    Al crescere della dimensione della chiave, infatti, aumenta infatti lasicurezza (intesa come difficolt di decifrare le informazionicrittografate) ma anche la potenza di elaborazione (numero di istruzioni

    al secondo) necessaria per contenere i tempi delle operazioni dicifratura entro limiti accettabili.

    F. Garzia, Crittografia

    6

  • 8/4/2019 2 Crittografia

    7/118

    Algoritmi simmetrici

    Anche detti a chiave privata, utilizzano la stessa (ed unica) chiaveprivata, per cifrare e decifrare.

    Non adatti nella comunicazione continuativa fra N soggetti indipendenti: occorre una chiave privata per ogni coppia di soggetti; ogni soggetto deve possedere N-1 chiavi, mantenerle segrete e

    ricordare la chiave da utilizzare con ciascuno degli altri soggetti;

    Se la chiave generata autonomamente dal soggetto che avvia lacomunicazione, necessario che venga trasmessa al destinatario,e durante il trasferimento potrebbe essere intercettata.

    Relativamente poco complessi vengono spesso usati in congiunzionecon algoritmi asimmetrici.

    Uno degli algoritmi simmetrici utilizzati al momento il DES (DataEncription Standard) con chiavi di 56 o 112 bit.

    F. Garzia, Crittografia

    7

  • 8/4/2019 2 Crittografia

    8/118

    Algoritmi asimmetrici

    a doppia chiave o a chiave pubblica, di concezione recente (1976)

    utilizzano due chiavi distinte per cifrare e decifrare:

    un documento cifrato con una chiave pu essere decifrato conlaltra e viceversa;

    le chiavi vengono generate in coppia da uno speciale algoritmo ed di fatto impossibile ottenere una chiave a partire dallaltra;

    una qualsiasi delle due chiavi viene detta pubblica, pu esseredistribuita; laltra, detta privata, deve essere mantenuta segreta.

    Nella comunicazione fra N soggetti sono pi adatti dei simmetrici:

    occorre una sola coppia di chiavi per ciascun soggetto. ogni soggetto genera autonomamente una propria coppia di chiavi,ed tenuto a mantenere segreta una sola di esse, quella privata,mentre pu, anzi deve, pubblicare laltra;

    F. Garzia, Crittografia

    8

  • 8/4/2019 2 Crittografia

    9/118

    Algoritmi asimmetrici

    le chiavi private non devono essere scambiate, dunque non sussistepericolo di intercettazioni.

    Se il soggetto A vuole inviare un messaggio riservato al soggetto B, adesempio, cifra il messaggio con la chiave pubblica di B che, in quantopubblica, nota a tutti.

    In questo modo il messaggio sar decifrabile soltanto con la chiaveprivata di B che, in quanto privata, solo B conosce.

    Lalgoritmo RSA, proposto da Rivest, Shamir e Adleman nel 1978, attualmente considerato come standard per la crittografia a chiave

    pubblica. Esistono varie implementazioni di RSA, che utilizzano coppiedi chiavi di 512 o di 1024 bit.

    F. Garzia, Crittografia

    9

  • 8/4/2019 2 Crittografia

    10/118

    Utilizzo congiunto di algoritmi simmetrici ed asimmetrici

    A causa della loro complessit, le implementazioni degli algoritmiasimmetrici sono generalmente troppo lente per cifrare direttamente i

    documenti. Per questo motivo essi si utilizzano spesso in congiunzione con

    algoritmi simmetrici e di hashing sicuro

    Per inviare un documento di grandi dimensioni in modo riservato, adesempio, si genera una password casuale, si cifra il documento conDES (algoritmo simmetrico di veloce esecuzione) la password casuale,poi si cifra la password stessa (molto pi breve del documento) con

    RSA (algoritmo asimmetrico, pi lento), ed infine si invia il tutto(documento cifrato in modo simmetrico e password cifrata in modoasimmetrico) al destinatario.

    F. Garzia, Crittografia

    10

  • 8/4/2019 2 Crittografia

    11/118

    Algoritmi di hashing sicuro

    a partire da un documento D si genera una sequenza di bit, dettadigest, strettamente correlata a D e di lunghezza fissa (cio

    indipendente dalla dimensione di D). SHA (Secure Hash Algorithm): versioni implementate che generano

    digest di 160 bit ad una velocit soddisfacente nella maggioranza delleapplicazioni.

    Lutilizzo pi immediato di SHA nelle verifiche di integrit:confrontando digest ottenuti da uno stesso documento a distanza ditempo, possibile verificare facilmente se il documento ha subito

    alterazioni. SHA inoltre spesso utilizzato insieme ad RSA per generare e validare

    firme digitali.

    F. Garzia, Crittografia

    11

  • 8/4/2019 2 Crittografia

    12/118

    Algoritmi di hashing sicuro

    Per generare una firma:

    si estrae un digest SHA dal documento da firmare;

    si cifra RSA il digest con la chiave privata del firmatario. Chiunque pu verificare la validit della firma:

    decifrando la firma con la chiave pubblica del firmatario; generando a parte un digest SHA del documento firmato; confrontando il digest ottenuto dalla firma con quello ottenuto dal

    documento.

    F. Garzia, Crittografia

    12

  • 8/4/2019 2 Crittografia

    13/118

    Crittografia e hashing:

    concetti fondamentali e definizioni

    13

    F. Garzia, Crittografia

  • 8/4/2019 2 Crittografia

    14/118

    Concetti fondamentali e definizioni

    Crittografia: tecniche per tenere segrete le informazioni, limitandonelaccesso ad un ristretto numero di persone autorizzate

    Cifratura: operazione tramite la quale si nascondono le informazionitramite un algoritmoche sfrutta una chiaveper convertire il testo chiaroin testo cifrato o crittogramma

    Decrittazione: conversione da testo cifrato a chiaro, che sfrutta la

    chiave del cifrario

    F. Garzia, Crittografia

    14

  • 8/4/2019 2 Crittografia

    15/118

    Concetti fondamentali e definizioni

    il processo di crittografia deve essere reversibile e consentire, quindi, di

    ricostruire il documento precedentemente crittato

    il messaggio chiamato testo in chiaro (plaintexto cleartext)

    Messaggio crittografato: testo cifrato (ciphertext)

    La moderna crittografia tratta tutti gli aspetti di messaggi sicuri,

    dell'autenticazione, delle firme elettroniche, del commercio elettronico e

    altre applicazioni.

    I moderni algoritmi non possono essere eseguiti da esseri umani, ma

    solo da computer o dispositivi hardware specializzati

    F. Garzia, Crittografia

    15

  • 8/4/2019 2 Crittografia

    16/118

    Codice di Cesare

    Garantire la sicurezza nello scambio di informazioni sempre stato,nella storia delluomo, un problema rilevante

    si ha traccia di applicazioni di crittografia (in special modo sullecomunicazioni) risalenti persino agli antichi egizi

    Giulio Cesare per far arrivare gli ordini alle sue truppe ricorreva al

    mascheramento dellinformazione, in modo che il messaggio venisseinterpretato solo dai suoi generali e non da nemici che avrebberopotuto impossessarsene

    Sostituzione monoalfabetica (di Cesare)

    TESTO IN CHIARO: ABCDEFGHIJKLMNOPQRSTUVWXYZ

    TESTO CIFRATO: QWERTYUIOPASDFGHJKLZXCVBNM

    F. Garzia, Crittografia

    16

  • 8/4/2019 2 Crittografia

    17/118

    Crittografia a chiave pubblica o privata

    Simmetrici (o a chiave segreta o privata): utilizzano la stessa chiave per lacodifica e la decodifica.

    Asimmetrici (o a chiave pubblica): usano una chiave differente per i dueprocessi di codifica e di decodifica; la chiave per la decodifica non puessere derivata da quella di codifica

    F. Garzia, Crittografia

    17

  • 8/4/2019 2 Crittografia

    18/118

    Crittografia a chiave pubblica

    Gli algoritmi asimmetrici permettono di rendere pubblica la chiave dicodifica, cosicch chiunque pu essere in grado di codificarli

    utilizzando la chiave pubblica del destinatario, ma solo chi conosce lachiave di decodifica (chiave privata) pu interpretare il messaggio

    la chiave pubblica pu essere facilmente distribuita

    non necessario inviarne una copia a tutti i corrispondenti: essa puessere prelevata da un server di chiavi pubblico mantenuto daun'autorit di certificazione

    F. Garzia, Crittografia

    18

  • 8/4/2019 2 Crittografia

    19/118

    Crittografia a chiave pubblica

    permette di autenticare il creatore del messaggio

    In pratica gli algoritmi a chiave asimmetrica e quelli a chiave simmetrica

    sono spesso utilizzati insieme: con la chiave pubblica si codifica una chiave di crittografia

    generata casualmente questa ultima utilizzata per crittografare il messaggio utilizzando

    un algoritmo simmetrico Molti algoritmi di crittografia sono disponibili pubblicamente attraverso

    libri, uffici brevetti o Internet: l'algoritmo di pubblico dominio soggetto

    alla revisione di centinaia di esperti che ne scoprono e sistemano leeventuali debolezze.

    F. Garzia, Crittografia

    19

  • 8/4/2019 2 Crittografia

    20/118

    La chiave

    una funzione opportunamente progettata e consiste di una stringarelativamente corta

    caratteristica fondamentale: possibilit di cambiare la chiave quando necessario o quando si desidera

    lunghezza della chiave: parametro di progetto critico, che determina il

    tempo necessario per decifrare il testo cifrato. In base al numero di cifre che compongono una chiave, varia il numero

    di chiavi disponibili con una data tecnica:

    2 cifre 100 possibili chiavi da (00 a 99)

    3 cifre 1000 chiavi possibili 6 cifre 1000000 possibili chiavi.

    F. Garzia, Crittografia

    20

  • 8/4/2019 2 Crittografia

    21/118

    F. Garzia, Crittografia

    21

    La chiave

    Chiave lunga molto tempo necessario (work factor) per trovare lachiave

    se lalgoritmo ben progettato possibile solo lattacco esaustivo

    numero medio di tentativi richiesti: 2N-1 con N=lunghezza della chiave

    work factorproporzionale all'esponente della lunghezza della chiave

    La segretezza consiste nell'avere un buon algoritmo di dominiopubblico ed una chiave abbastanza lunga, ma segreta

    Dimensionechiave (bits)

    Numero di chiavi diverse Tempo richiesto a 106

    decriptazioni per millisecondo

    32 232

    = 4.3 x 109

    2.15 milliseconds56 256 = 7.2 x 1016 10 ore

    128 2128 = 3.4 x 1038 5.4 x 1018 anni

    168 2168 = 3.7 x 1050 5.9 x 1030 anni

  • 8/4/2019 2 Crittografia

    22/118

  • 8/4/2019 2 Crittografia

    23/118

    Cipher Block Chaining Mode

    Produce un blocco di testo cifrato per ogni blocco di testo in chiaro ininput

    per evitare regolarit si fa in modo che il blocco cifrato di ogni bloccodati dipenda da tutto il testo in chiaro precedente

    F. Garzia, Crittografia

    23

  • 8/4/2019 2 Crittografia

    24/118

    Algoritmi di crittografia: DES, AES, RSA

    24

    F. Garzia, Crittografia

  • 8/4/2019 2 Crittografia

    25/118

    DES (Data Encryption Standard)

    sviluppato alla IBM, adottato dal NIST nel 1977 come standard per leapplicazioni governative e commerciali

    chiave da 56 bit, blocco dati da 64 bit efficiente in hardware (implementato in VLSI)

    molto studiato, non sono note debolezze

    violato nel 1998 con attacco esaustivo su macchina special-purpose inmeno di 3 giorni

    F. Garzia, Crittografia

    25

  • 8/4/2019 2 Crittografia

    26/118

    Struttura generale dell'algoritmo DES

    16 fasi identiche di processo dette round, o cicli, pi una permutazione iniziale eduna finale dette IPe FP, tra di loro inverse (IP "disfa" l'azione di FP e viceversa)

    F. Garzia, Crittografia

    26

    IP ed FP non hanno alcuna impor-tanza per la cifratura, probabilmenteaggiunte per facilitare il caricamentodei blocchi sullHW tipico degli anni'70; come effetto collaterale questefasi causano un rallentamen-to nelleimplementazioni SW del DES.

    Prima del ciclo principale, il blocco

    suddiviso in due met di 32 bit eprocessato alternativamente; questoincrocio detto rete di Feistel.

  • 8/4/2019 2 Crittografia

    27/118

    Funzione Feistel (F-function)

    Mescola met del blocco (32 bit) con unaparte della chiave, in 4 passi

    Espansione: i 32 bit sono espansi a 48 bit

    utilizzando la permutazione di espansione Eche duplica alcuni bit

    Miscelazione con la chiave: XOR con unasottochiave di 48 bit. Sedici sottochiavi, una

    per ogni ciclo, sono derivate dalla chiaveprincipale tramite un gestore della chiave

    Sostituzione: il blocco viene diviso in 8 parti di6 bit, ciascuna S-box (scatola di sostituzione)

    sostituisce 6 bit con 4 bit mediante una

    F. Garzia, Crittografia

    27

    trasformazione non lineare definita da una tabella Permutazione: i 32 bit risultanti dalle S-box sono riordinati in base alle permuta-

    zioni fisse della P-box o permutation box.

  • 8/4/2019 2 Crittografia

    28/118

    Struttura generale dell'algoritmo DES

    Il risultato della funzione F viene combinato con l'altramet del blocco, e le due met sono scambiate primadel ciclo successivo.

    Dopo il ciclo finale, le met non sono scambiate perrendere le fasi di cifratura e decifratura pi simili.

    Le S-box forniscono il cuore della sicurezza del DES,senza di esse la cifratura sarebbe lineare e quindifacilmente violabile.

    L'alternanza di sostituzioni mediante le S-box, lepermutazioni con la P-box e le espansioni forniscono la

    cosiddetta confusione e diffusione, concetto identificatoda Claude Shannon negli anni '40 come condizionenecessaria per rendere pratica e sicura la cifratura.

    F. Garzia, Crittografia

    28

  • 8/4/2019 2 Crittografia

    29/118

    Il gestore della chiave DES

    Dai 64 bit della chiave sono presi 56 bit con la fun-zione Permuted Choice 1 (PC1), i rimanenti 8 sonoscartati o utilizzati come bit di controllo della parit.

    I 56 vengono divisi in 2 met di 28 bit; nei ciclisuccessivi entrambe le met vengono fatte slittareverso sinistra di 1 o 2 bit (per i round 1, 2, 9, 16 loshift, cio lo slittamento, di 1 bit, per gli altri di 2)

    Poi sono scelti 48 bit per la sottochiave mediante lafunzione Permuted Choice 2(PC2), 24 bit dalla metdi sinistra e 24 bit da quella di destra.

    La rotazione ("

  • 8/4/2019 2 Crittografia

    30/118

    DES: schema complessivo

    F. Garzia, Crittografia

    30

    cifratura e la decifraturasono processi moltosimili, la sola differenza che nella fase didecifratura le sottochiavisono applicate nell'ordineinverso

    Questo semplifica enormemente l'implementazione, inparticolare se effettuata direttamente con un circuito poichnon occorre avere algoritmi separati per cifrare e perdecifrare.

  • 8/4/2019 2 Crittografia

    31/118

    Triplo DES

    standardizzato per le applicazioni finanziarie nel 1985, dal 1999incorporato nello standard DES

    tre esecuzioni del DES secondo uno schema EDE stessa resistenza del DES alla crittoanalisi

    tre chiavi da 56 bit equivalenti a una da 168 bit

    F. Garzia, Crittografia

    31

  • 8/4/2019 2 Crittografia

    32/118

    AES (Advanced Encryption Standard)

    Call for proposal emessa dal NIST nel 1997

    specifiche:

    sicurezza almeno pari a quella del Triplo DES maggiore efficienza blocco dati da 128 bit, chiavi da 128/192/256 bit

    criteri di valutazione:

    sicurezza, efficienza, uso di risorse, adattabilit hw e sw, flessibilit

    standard finale pubblicato nel 2001

    F. Garzia, Crittografia

    32

  • 8/4/2019 2 Crittografia

    33/118

    AES (Advanced Encryption Standard)

    Opera su matrici di 44 byte chiamate stati (states) blocchi di 128 bit in input matrice State con 4 righe e 4 colonne numero di blocchi in input diventa di 32 bit pi lungo, viene aggiunta una

    colonna allo State, e cos via fino a 256 bit. In generale, si divide il numero di bit del blocco in input per 32 e il

    quoziente specifica il numero di colonne.

    Ogni round (fase) dell'AES (eccetto l'ultimo) consiste nei 4 passi: SubBytes Sostituzione non lineare di tutti i byte ShiftRows Spostamento dei byte di un certo numero di posizioni

    dipendente dalla riga di appartenenza

    MixColumns Combinazione dei byte con un'operazione lineare AddRoundKey Ogni byte della tabella viene combinato con la chiavedi sessione, la chiave di sessione calcolata dal gestore delle chiavi.

    L'ultimo round salta il MixColumns.

    F. Garzia, Crittografia

    33

  • 8/4/2019 2 Crittografia

    34/118

  • 8/4/2019 2 Crittografia

    35/118

    ShiftRows

    provvede a scostare le righe della matrice di un parametro dipendentedal numero di riga.

    prima riga: invariata, seconda: spostata di un posto verso sinistra, terza:due posti, quarta: tre posti l'ultima colonna dei dati in ingresso formala diagonale della matrice in uscita

    Nelle operazioni l'indice della colonna inteso come modulo il numero

    di colonne

    F. Garzia, Crittografia

    35

  • 8/4/2019 2 Crittografia

    36/118

    MixColumns

    prende i quattro byte di ogni colonna e li combina utilizzando unatrasformazione lineare invertibile

    ShiftRows e MixColumns insieme provvedono a far rispettare il criterio diconfusione e diffusione nell'algoritmo (teoria di Shannon).

    Ogni colonna trattata come un polinomio in GF(28) e viene moltiplicatamodulo x4 + 1 per un polinomio fisso

    c(x) = 3x3 + x2 + x+ 2

    F. Garzia, Crittografia

    36

  • 8/4/2019 2 Crittografia

    37/118

    AddRoundKey

    Combina con uno XOR la chiave di sessione con la matrice ottenutadai passaggi precedenti (State)

    F. Garzia, Crittografia

    37

    Una chiave di sessioneviene ricavata dalla chiaveprimaria ad ogni round

    (con dei passaggi pi omeno semplici, ad esempiouno shift di posizione dei

    bit) grazie al KeyScheduler

    38

  • 8/4/2019 2 Crittografia

    38/118

    Sicurezza

    National Security Agency (NSA) ha scelto AES per: flessibilit nel trattare chiavi di lunghezza diversa semplice implementazione in hardware e in software

    basse richieste di memoria implementazione anche in dispositivicon scarse risorse come le smart card.

    L'AES pu essere utilizzato per proteggere le informazioni classificate. livello SECRET: chiave a 128 bit

    livello TOP SECRET: chiavi a 192 o 256 bit. per la prima volta il pubblico ha accesso ad una tecnologia crittografica

    che NSA ritiene adeguata per proteggere i documenti TOP SECRET

    Chiave lunga: elevato margine di sicurezza per i prossimi decennicontro un potenziale attacco esaustivo.

    F. Garzia, Crittografia

    38

    39

  • 8/4/2019 2 Crittografia

    39/118

    Sicurezza

    La maggior parte degli algoritmi crittografici viene forzata riducendo ilnumero di round.

    L'AES effettua 10 round per la chiave a 128 bit, 12 round per la chiavea 192 bit e 14 round per la chiave a 256 bit.

    I migliori attacchi sono riusciti a forzare l'AES con 7 round e chiave di128 bit, 8 round e chiave di 192 bit e 9 round e chiave di 256 bit.

    Attualmente una ricerca esaustiva impraticabile: la chiave a 128 bitproduce 3,4 1038 combinazioni diverse.

    Servir ancora moltissimo tempo prima che una chiave da 128 bit sia

    attaccabile con il metodo forza bruta.

    F. Garzia, Crittografia

    39

    40

  • 8/4/2019 2 Crittografia

    40/118

    Altri algoritmi a chiave privata

    IDEA (International Data Encryption Algorithm)

    sviluppato nel 1991, blocco dati da 64 bit, chiave da 128 bit

    operazioni: XOR, addizione e moltiplicazione a 16 bit efficiente in software finora appare altamente resistente alla crittoanalisi usato nel PGP e in molti prodotti commerciali

    RC5 sviluppato da Ron Rivest (RC = Rons code) algoritmo proprietario di RSA Data Security Inc.

    adatto sia per hw che per sw,veloce (word oriented) parametrizzabile (dimensione word, numero di round, lunghezzachiave)

    adatto a smart card e dispositivi con ridotta memoria

    F. Garzia, Crittografia

    40

    41

  • 8/4/2019 2 Crittografia

    41/118

    Distribuzione delle chiavi

    OOB (Out Of Band)

    key distribution center

    F. Garzia, Crittografia

    41

    42

  • 8/4/2019 2 Crittografia

    42/118

    Crittografia a chiave pubblica

    F. Garzia, Crittografia

    42

    proposta nel 1976 da Diffie e Hellman usata per distribuire chiavi segrete e per la firma digitale

    43

  • 8/4/2019 2 Crittografia

    43/118

    Requisiti

    deve essere computazionalmente semplice per un utente B generareuna coppia di chiavi KUb, KRb

    deve essere computazionalmente semplice per un mittente A ottenere iltesto cifrato C = EKUb(M)

    deve essere computazionalmente semplice per il ricevente Brecuperare il testo originale M = DKRb(C)

    deve essere computazionalmente complesso per un impostoredeterminare KRbda KUb

    deve essere computazionalmente complesso per un impostore ricavareMda Kub e C

    le chiavi KRbda KUbdevono avere funzionalit reciproche

    F. Garzia, Crittografia

    43

    44

  • 8/4/2019 2 Crittografia

    44/118

    RSA (Rivest - Shamir - Adleman)

    Sviluppato nel 1970, lalgoritmo a chiave pubblica pi diffuso Basato sull'elevata complessit computazionale della fattorizzazione in

    numeri primi: A deve spedire un messaggio segreto a B. B sceglie due numeri primi molto grandi (per esempio da 300 cifre)

    e li moltiplica con il suo computer (impiega meno di un secondo). B invia il numero che ha ottenuto ad A, visibile a tutti

    A usa questo numero per cifrare il messaggio A manda il messaggio cifrato a B, chiunque pu vederlo ma non

    decifrarlo B riceve il messaggio e utilizzando i due fattori primi che solo lui

    conosceva lo decifra. A e B hanno impiegato pochi secondi a cifrare e decifrare, ma chiunque

    avesse intercettato le loro comunicazioni impiegherebbe troppo tempoper scoprire i due fattori primi, con cui si pu decifrare il messaggio.

    F. Garzia, Crittografia

  • 8/4/2019 2 Crittografia

    45/118

    46

  • 8/4/2019 2 Crittografia

    46/118

    Algoritmo RSA

    La forza dell'algoritmo sta nel fatto che per calcolare d da e oviceversa, non basta la conoscenza di n, ma serve il numero (p-1)(q-1)

    Infatti fattorizzare (cio scomporre un numero nei suoi divisori) un'operazione molto lenta, ma soprattutto l'operazione di modulo non invertibile, dunque anche conoscendo nnon si pu risalire al prodottomodulo ndi pe q.

    un messaggio mviene cifrato attraverso l'operazione: me(mod n)

    il messaggio cviene decifrato con: cd= med= m1 (mod n)

    Il procedimento funziona solo se le due chiavi sono legate tra loro dalla

    relazione: e*d=1 (mod (p-1)(q-1))

    quando un messaggio viene cifrato con una delle due chiavi puessere decifrato solo utilizzando l'altra.

    F. Garzia, Crittografia

    47

  • 8/4/2019 2 Crittografia

    47/118

    Algoritmo RSA

    Debolezza dell'algoritmo: si basa sull'assunzione mai dimostrata (notacome assunzione RSA,) che il calcolo di un numero composto di cuinon si conoscono i fattori sia computazionalmente non trattabile.

    La firma digitale non altro che l'inverso: il messaggio viene crittatocon la chiave privata, in modo che chiunque possa decifrarloutilizzando la chiave pubblica conosciuta da tutti, e, oltre a poterlo

    leggere in chiaro, essere certo che il messaggio stato mandato dalpossessore della chiave privata corrispondente a quella pubblicautilizzata per leggerlo.

    F. Garzia, Crittografia

    48

  • 8/4/2019 2 Crittografia

    48/118

    RSA (Rivest - Shamir - Adleman)

    F. Garzia, Crittografia

    EncryptionPlaintext: M

  • 8/4/2019 2 Crittografia

    49/118

    RSA: un esempio

    1. Si scelgono due numeri primi p=7, q=17

    2. si calcola n = pq = 7 x 17 = 119

    3. si calcola (n) = (p-1)(q-1) = 6x16 =964. si sceglie e < (n), relativamente primo con (n), e = 5

    5. si determina d tale che de mod 96 = 1 e d

  • 8/4/2019 2 Crittografia

    50/118

    Sicurezza di RSA

    Possibile attacco esaustivo: nella scelta di e e d trade-off tra sicurezzae prestazioni

    Crittoanalisi: fattorizzazione di n 1977: sfida degli inventori su un testo criptato con una chiavepubblica n di 129 cifre decimali (circa 428 bit)

    1994: sfida vinta su Internet con 1600 calcolatori in otto mesi di

    lavoro attualmente chiavi di 1024 bit sono considerate sufficientemente

    sicure

    F. Garzia, Crittografia

    51

  • 8/4/2019 2 Crittografia

    51/118

    Uso della crittografia a chiave pubblica per l'autenticazione

    F. Garzia, Crittografia

    BobAlice

    Fi di i l52

  • 8/4/2019 2 Crittografia

    52/118

    Firma digitale

    Garantisce che il messaggio autentico ed integro

    il mittente non pu disconoscere il messaggio

    F. Garzia, Crittografia

    F i di h h53

  • 8/4/2019 2 Crittografia

    53/118

    Funzione di hash

    Produce un'impronta del messaggio

    Deve possedere le seguenti propriet:

    accetta un messaggio di dimensione variabile produce un digest di lunghezza fissa veloce da calcolare difficilmente invertibile

    estremamente improbabile che messaggi diversi generino lostesso digest

    F. Garzia, Crittografia

    E i di f i i di h h54

  • 8/4/2019 2 Crittografia

    54/118

    Esempi di funzioni di hash

    MD5 (Message Digest 5)

    sviluppata da Ron Rivest digest da 128 bit era la pi usata, ora non pi considerata sicura

    SHA (Secure Hash Algorithm)

    sviluppata dal NIST nel 1993, SHA-1 revised version nel 1995

    digest da 160 bit ogni bit del digest funzione di tutto l'input

    F. Garzia, Crittografia

    Uso della crittografia a chiave pubblica55

  • 8/4/2019 2 Crittografia

    55/118

    g pper la distribuzione di chiavi segrete

    Bob vuole comunicare con Alice in forma riservata

    Bob prepara il messaggio

    lo cripta usando la crittografia a chiave privata con una chiave disessione

    cripta la chiave di sessione usando la crittografia a chiave pubblica conla chiave pubblica di Alice

    acclude al messaggio la chiave di sessione criptata e invia il messaggio

    F. Garzia, Crittografia

    Certificati a chiave pubblica56

  • 8/4/2019 2 Crittografia

    56/118

    Certificati a chiave pubblica

    strutture dati che legano una chiave pubblica ad alcuni attributi di unapersona

    sono firmati elettronicamente dallente emettitore: la CertificationAuthority (CA)

    possono essere verificati mediante la chiave pubblica della CA

    hanno scadenza temporale e sono revocabili sia dallutente chedallemettitore

    F. Garzia, Crittografia

    Uso dei certificati57

  • 8/4/2019 2 Crittografia

    57/118

    Uso dei certificati

    F. Garzia, Crittografia

    58

  • 8/4/2019 2 Crittografia

    58/118

    Servizi fondamentali di sicurezza

    F. Garzia, Crittografia

    Servizi base di sicurezza59

  • 8/4/2019 2 Crittografia

    59/118

    Servizi base di sicurezza

    Vari servizi di sicurezza sono stati definiti in modo formale dallostandard ISO 7498-2.

    In questa sezione analizziamo, per alcuni di questi servizi, un esempiodi come sia possibile realizzarli utilizzando in modo combinato glialgoritmi RSA, DES ed SHA.

    Si assume nel seguito che i servizi descritti operino nell'ambito di un

    sistema in cui a ciascuna delle parti sia stata assegnata una coppia dichiavi RSA, essendo quella privata mantenuta segreta dal rispettivopossessore, e quella pubblica consultabile in un registro mantenuto da

    una terza parte da tutti riconosciuta come fidata.

    F. Garzia, Crittografia

    Introduzione di riservatezza60

  • 8/4/2019 2 Crittografia

    60/118

    Introduzione di riservatezza

    Obiettivo: rendere un documento, o pi genericamente unainformazione, leggibile solo da parte di un destinatario prefissato, ciosenza possibilit che terze parti possano interpretarlo.

    In teoria basta il solo RSA, la cui lentezza (come tutti gli asimmetrici)rende necessario l'utilizzo congiunto di un algoritmo simmetrico (il DES)

    1. Viene generata una chiave DES pseudo-casuale.

    2. L'informazione che si vuole rendere riservata viene cifrata con DESutilizzando la chiave pseudo-casuale.

    3. La chiave pseudo-casuale, che se intercettata permetterebbe di

    decifrare l'informazione originale, viene a sua volta cifrata con RSAutilizzando la chiave pubblica del destinatario, cio di colui al quale sidesidera comunicare l'informazione in modo riservato.

    F. Garzia, Crittografia

    Introduzione di riservatezza61

  • 8/4/2019 2 Crittografia

    61/118

    Introduzione di riservatezza

    F. Garzia, Crittografia

    1. Si genera una chiaveDES pseudo-casuale.

    2. L'informazione che si vuolerendere riservata viene cifratacon DES utilizzando la chiavepseudo-casuale

    3. La chiave pseudo-casuale vienea sua volta cifrata con RSAutilizzando la chiave pubblicadel destinatario.

    Introduzione di riservatezza62

  • 8/4/2019 2 Crittografia

    62/118

    Introduzione di riservatezza

    RSA, troppo lento per cifrare la intera informazione originale(tipicamente costituita da un documento di molte pagine), pu inveceessere applicato alla chiave DES con prestazioni soddisfacenti in

    quanto questa di appena 112 bit.

    Una volta cifrata con la chiave RSA pubblica del destinatario, la chiaveDES che permetterebbe la decodifica della informazione riservata sar

    decifrabile solo dal destinatario stesso, in quanto egli l'unico apossedere la corrispondente chiave RSA privata.

    F. Garzia, Crittografia

    Rimozione di riservatezza63

  • 8/4/2019 2 Crittografia

    63/118

    o o e d se ate a

    Obiettivo di questo servizio quello di permettere al destinatario di unainformazione a lui riservata di riportare in chiaro, cio in forma leggibile,l'informazione stessa.

    1. Viene ricevuta la informazione cifrata e, in allegato, la relativa chiaveDES (con cui l'informazione stessa stata cifrata). La chiave DES asua volta cifrata RSA con la chiave pubblica del destinatario.

    2. Il destinatario decifra la chiave DES applicando su di essa RSA con lapropria chiave privata. Essendo tale chiave nota solo a lui, nessun altropu decifrare la chiave DES e quindi l'informazione originale.

    3. L'informazione cifrata viene riportata in chiaro, cio in forma intelligibile,applicando su di essa DES con la chiave decifrata.

    F. Garzia, Crittografia

    Rimozione di riservatezza64

  • 8/4/2019 2 Crittografia

    64/118

    F. Garzia, Crittografia

    Apposizione di firma digitale65

  • 8/4/2019 2 Crittografia

    65/118

    pp g

    Dato un documento e la chiave privata di un soggetto (firmatario), creareuna sequenza di bit (firma digitale) che provi in modo non ripudiabile ilpossesso del documento "firmato" da parte del soggetto firmatario.

    F. Garzia, Crittografia

    1. applicando SHA al documento si ottiene un digest,breve sequenza di bit "impronta digitale" del doc

    Il fatto che il risultato della cifratura,(la firma) sia decifrabile solo con lachiave pubblica del firmatario garan-tisce circa la identit del firmatario

    2. Il digest viene cifrato RSA con la chiave privata delfirmatario.

    La stretta correlazione fra il documento ed il suo digest

    garantiscono che firma generata dal servizio sia stataeffettivamente apposta sul documento originale.

    Verifica di firma digitale66

  • 8/4/2019 2 Crittografia

    66/118

    g

    Obiettivo: verificare lautenticit di una firma digitale, rispetto aldocumento firmato ed al soggetto firmatario.

    Documento, soggetto (o meglio la sua chiave pubblica) e firma

    verifica che quel soggetto (e non altri) abbia effettivamente appostola firma sul quel documento (e non su altri o sullo stesso modificato inqualche modo)

    F. Garzia, Crittografia

    Verifica di firma digitale67

  • 8/4/2019 2 Crittografia

    67/118

    F. Garzia, Crittografia

    1. La firma viene decifrata con RSA utilizzando la chiave pubblica del firmatario.Se la firma autentica, si ottiene il digest del documento al momento della firma.

    2. Con SHA si genera il digest deldoc. Se il doc non ha subitomodifiche e se la firma autentica, coincide con quelloottenuto al passo precedente

    3. Se i due digest coincidono la firma valida, altrimenti la firma apocrifa (cioapposta da un soggetto diverso) e/o il doc stato modificato dopo la firma.

    Verifica di firma digitale68

  • 8/4/2019 2 Crittografia

    68/118

    Per distinguere il caso di firma apocrifa da quello di firma apposta sudiverso documento, possibile, nell'ambito del servizio di generazionedella firma, accodare al digest del documento una stringa fissa che

    viene quindi cifrata RSA insieme al digest.

    Il servizio di verifica, una volta decifrata la firma, potr cos verificare lapresenza della stringa fissa e, nel caso di alterazione della stessa,

    dedurre il fatto che la chiave pubblica utilizzata non corrisponde aquella privata che ha generato la firma e che quindi, in definitiva, lafirma stata apposta da un soggetto diverso dal supposto firmatario.

    F. Garzia, Crittografia

    Timbratura69

  • 8/4/2019 2 Crittografia

    69/118

    Obiettivo di questo servizio quello di associare in modo incontestabileun riferimento temporale (data ed ora esatta) ad un dato documento.

    Affinch questo servizio sia di qualche utilit essenziale che vengasvolto da un soggetto al di sopra degli altri e da tutti ritenuto autorevolee fidato.

    Questo soggetto, spesso indicato come terza parte fidata, dovr

    naturalmente gestire autonomamente ed in modo sicuro un orologio disistema.

    F. Garzia, Crittografia

    Timbratura70

  • 8/4/2019 2 Crittografia

    70/118

    F. Garzia, Crittografia

    3. La terza parte fidata cifra digest e lasequenza temporale tramite RSA epropria chiave privata, ottenendo iltimbro

    1. Alla informazione da timbrare viene applicato SHA ed ottenuto il digest. Questaoperazione tipicamente compiuta dal soggetto che richiede il servizio ditimbratura

    2. La terza parte fidata accoda aldigest la data e l'ora dell'orologiodi sistema da essa gestito inmodo autonomo

    4. La validit del timbro verificabile da chiunquedecifrandolo con la chiave pubblica della terzaparte fidata.

    Servizi di notariato71

  • 8/4/2019 2 Crittografia

    71/118

    I servizi di notariato sono offerti da una Autorit di certificazione (nelseguito indicata come Autorit) che sia riconosciuta come fidata edautorevole da tutti gli utenti del sistema informativo.

    Come ogni altro utente, anche l'Autorit dispone di una coppia (privata,pubblica) di chiavi asimmetriche.

    I principali servizi di notariato offerti dall'Autorit sono la certificazione

    delle chiavi pubbliche, la gestione delle chiavi pubbliche sospese orevocate, la certificazione temporale, detta anche timbratura.

    F. Garzia, Crittografia

    Certificazione di una chiave pubblica72

  • 8/4/2019 2 Crittografia

    72/118

    L'Autorit garantisce la sua effettiva corrispondenza con il soggetto cheespone la certificazione.

    A tal fine, l'Autorit pubblica mantiene, in un apposito registro, certificatifirmati con la propria chiave privata che includono il nome dell'Autorit,la data di emissione del certificato, la data di scadenza del certificato, ilnominativo univoco del soggetto (cio reso non ambiguo da dati

    aggiuntivi, nel caso di omonimie) e la chiave pubblica del soggetto.

    F. Garzia, Crittografia

    Certificazione di una chiave pubblica73

  • 8/4/2019 2 Crittografia

    73/118

    Estrema importanza che ha la certificazione delle chiavi pubbliche nellaverifica di una firma digitale.

    Per tale verifica occorre infatti:

    conoscere la chiave pubblica del soggetto firmatario al momentodella firma; questo possibile richiedendo all'Autorit il relativocertificato;

    essere certi della reale appartenenza della chiave al soggettofirmatario; la firma dell'Autorit garantisce la validit del certificato equindi la effettiva corrispondenza fra chiave pubblica e soggetto.

    Tale sequenza di operazioni viene tipicamente svolta in modo

    automatico dal software che gestisce le firme digitali, a partire dainformazioni contenute nella firma stessa

    F. Garzia, Crittografia

    Problemi di gestione74

  • 8/4/2019 2 Crittografia

    74/118

    Gestione delle chiavi pubbliche sospese o revocate

    Le chiavi pubbliche possono essere sospese o revocate (ad esempio aseguito di furto o smarrimento delle corrispondenti chiavi private).

    L'Autorit deve quindi gestire un registro storico delle chiavi pubblicherevocate, al fine di garantire nel tempo la verificabilit delle firmegenerate utilizzando le corrispondenti chiavi private.

    Gestione del tempo di riferimento e timbratura ufficiale

    Il servizio base di timbratura ricade fra i servizi di notariato in quantorichiede che il time-stamp sia generato ed apposto da una Autorit

    riconosciuta da parte tutti gli utenti del sistema come detentriceaffidabile del riferimento temporale.

    F. Garzia, Crittografia

    PGP (Pretty Good Privacy)75

  • 8/4/2019 2 Crittografia

    75/118

    E lo standard di crittografia per la posta elettronica

    un pacchetto freeware che fornisce confidenzialit e autenticit perla posta elettronica e la memorizzazione di file

    Combina i vantaggi degli algoritmi di crittografia a chiave pubblica eprivata :

    Chiavi private mai trasmesse Possibile la firma digitale

    Molto pi veloce (ad es., DES 100 volte pi veloce di RSA,in hardware tra 1.000 e 10.000 volte)

    F. Garzia, Crittografia

    PGP (Pretty Good Privacy)76

  • 8/4/2019 2 Crittografia

    76/118

    Permette di cifrare una E-mail

    oppure firmarla lasciando

    il testo in chiaro

    o fare tutte e due le cose insieme

    F. Garzia, Crittografia

    PGP (Pretty Good Privacy) - Servizi77

  • 8/4/2019 2 Crittografia

    77/118

    Confidenzialit

    Autenticit

    Compressione

    Segmentazione

    F. Garzia, Crittografia

    PGP (Pretty Good Privacy) -Confidenzialit

    78

  • 8/4/2019 2 Crittografia

    78/118

    Il messaggio cifrato con un algoritmo a chiave privata

    - Algoritmi usati: CAST, IDEA , Triple-DES

    La chiave (session key) generata dal mittente per ogni messaggio La session key poi cifrata con la chiave pubblica del destinatario

    - Algoritmi usati: DH, RSA

    F. Garzia, Crittografia

    PGP (Pretty Good Privacy) - Autenticit79

  • 8/4/2019 2 Crittografia

    79/118

    Il messaggio viene compresso con una funzione hash e fornisce unmessage digest di lunghezza costante

    - Algoritmi usati: MD5 (128 bit) o SHA (160 bit)

    Il message digest viene firmato con la chiave privata del mittente

    - Algoritmi usati: RSA o DSA

    F. Garzia, Crittografia

    PGP (Pretty Good Privacy) -Compressione

    80

  • 8/4/2019 2 Crittografia

    80/118

    PGP comprime il testo in chiaro prima di cifrarlo:

    Risparmio di tempo nella trasmissione

    Aumenta la sicurezza della cifratura Crittanalisi pi difficile

    La compressione eseguita dopo la firma:

    Ci evita la ricompressione in fase di verifica Stesso algoritmo di compressione per tutte le implementazioni

    del PGP

    PGP comprime secondo la routine freeware ZIP, perch veloce edha un ottimo rapporto di compressione.

    F. Garzia, Crittografia

    PGP (Pretty Good Privacy) -Segmentazione

    81

  • 8/4/2019 2 Crittografia

    81/118

    Lunghezza massima di messaggi via e-mail: 65000 byte

    RADIX-64 divide il messaggio in segmenti pi piccoli che vengonoinviati separatamente

    Il software del destinatario concatena i segmenti nel giusto ordine

    F. Garzia, Crittografia

    PGP (Pretty Good Privacy) Generazione chiavi

    82

  • 8/4/2019 2 Crittografia

    82/118

    Lutente deve generare la sua coppia di chiavi

    PGP offre la possibilit di scegliere fra diversi formati

    768 bit: sicurezza commerciale

    1024 bit: sicurezza alto livello

    2048 bit: sicurezza militare

    e due diversi algoritmi:

    Diffie-Hellman/DSA (4096 bit) RSA (768, 1024 e 2048 bit)

    Nella generazione della coppia di chiavi RSA, PGP utilizza numeri

    casuali

    F. Garzia, Crittografia

    PGP (Pretty Good Privacy) Numerocasuali e pseudocasuali

    83

  • 8/4/2019 2 Crittografia

    83/118

    Numeri casuali

    Per generare le chiavi RSA

    Ottenuti memorizzando listante in cui un tasto digitato e il suovalore o la posizione e i movimenti del mouse (win9x)

    Numeri pseudocasuali

    Per generare la session key e il vettore IV per la modalit CFB Algoritmo basato sullANSI X9.17

    Prende in input il messaggio e randseed.bin

    F. Garzia, Crittografia

    PGP (Pretty Good Privacy) Portachiavi (key ring)

    84

  • 8/4/2019 2 Crittografia

    84/118

    Le chiavi sono memorizzate nei keyring

    Private Key Ring (secring.skr)

    Memorizza la coppia di chiavi, pubblica e privata, dellutente La chiave privata cifrata con la passphrase

    Public Key Ring (pubring.pkr)

    Usato per memorizzare le chiavi pubbliche delle persone noteallutente.

    F. Garzia, Crittografia

    PGP (Pretty Good Privacy) - Chiavi85

  • 8/4/2019 2 Crittografia

    85/118

    La finestra PGPkeys si apre cliccando su Launch PGPkeys daPGPtray

    Mostra la propria coppia di chiavi e le chiavi pubbliche inserite nelpublic keyring

    Da PGPkeys possibile generare nuove chiavi e gestire le chiavi esaminare gli attributi di una chiave, indicare il livello di trust, importare ed esportare chiavi...

    F. Garzia, Crittografia

  • 8/4/2019 2 Crittografia

    86/118

    PGP (Pretty Good Privacy) Generazione delle chiavi

    87

  • 8/4/2019 2 Crittografia

    87/118

    Aprire la finestra PGPkeys

    Fare click sulla prima icona nella toolbar

    Compare la PGP Key Generation Wizard

    inserire nome e indirizzo e-mail scegliere il tipo di chiave (DH/DSS o RSA) e il numero di bit della

    chiave

    determinare la data di scadenza

    inserire una passphrase

    muovere il mouse o premere dei tasti per fornire la randomnessnecessaria alla generazione

    specificare se si vuole inviare la chiave pubblica a un keyserver(puo anche essere fatto in seguito)

    F. Garzia, Crittografia

    PGP (Pretty Good Privacy)88

  • 8/4/2019 2 Crittografia

    88/118

    F. Garzia, Crittografia

    PGP (Pretty Good Privacy) Scelta della passphrase

    89

  • 8/4/2019 2 Crittografia

    89/118

    La passphrase pu contenere spazi, numeri caratteri e punteggiatura

    Deve essere facile da ricordare

    F. Garzia, Crittografia

    PGP calcola lindicedi bont della

    passphrase mentresi digita

    PGP (Pretty Good Privacy) Inserimento passphrase

    90

  • 8/4/2019 2 Crittografia

    90/118

    F. Garzia, Crittografia

    PGP (Pretty Good Privacy) Generazione delle chiavi

    91

  • 8/4/2019 2 Crittografia

    91/118

    Per aggiungere una foto alla propria chiave

    Selezionare la chiave a cui si vuole aggiungere la foto Fare click su Add Photo dal menu Keys

    Selezionare la foto facendo click su Select File Inserire la passphrase La foto aggiunta alla chiave

    La foto deve essere in formato .JPG o .BMP

    Per avere la massima qualita tagliare la foto alle dimensioni120x144 prima di aggiungerla

    Per eliminare la foto

    Selezionare la chiave e la foto

    Fare clic su Delete dal menu Edit

    F. Garzia, Crittografia

    PGP (Pretty Good Privacy) Protezionedelle chiavi

    92

  • 8/4/2019 2 Crittografia

    92/118

    I due keyring secring.skr e pubring.pkr sono memorizzati nella

    cartella PGP Keyrings, nella cartella PGP 6.0

    PGP suggerisce la creazione di una copia di backup al termine

    della generazione

    La copia pu essere memorizzata sul proprio hard disk o su pendisk

    F. Garzia, Crittografia

    PGP (Pretty Good Privacy) Attributi delle chiavi

    93

  • 8/4/2019 2 Crittografia

    93/118

    Keys

    Validity

    Size Description

    Key ID

    Trust Expiration

    Creation

    F. Garzia, Crittografia

    PGP (Pretty Good Privacy) Attributi delle chiavi

    94

  • 8/4/2019 2 Crittografia

    94/118

    Alcuni attributi sono visibili

    dalla finestra PGP keys

    Gli attributi possono essere

    visualizzati selezionandoli dal

    menu View

    Ciascun attributo selezionato

    sar visualizzato in una

    colonna nella finestra PGP

    keys

    F. Garzia, Crittografia

    PGP (Pretty Good Privacy) Campi delpublic key ring

    95

  • 8/4/2019 2 Crittografia

    95/118

    F. Garzia, Crittografia

    Time

    Stamp

    Key

    ID

    Publickey

    Ownertrust

    User ID Keylegitim

    acy

    Firma Signature

    Trust

    Lora in cui stata generata

    una chiave

    64 bit menosignificativi della

    chiavepubblica

    Chiave

    pubblica

    Fiducia

    nella chiaveFiducia nelproprietario

    della chiave

    Il proprietariodella

    chiave

    Firma perla chiave

    Fiducia nellafirma

    PGP (Pretty Good Privacy) Propriet della chiavi

    96

  • 8/4/2019 2 Crittografia

    96/118

    Selezionare Properties

    dal menu Keys per

    visualizzare questa

    finestra

    Pu contenere la foto

    Contiene lalgoritmo dicifratura usato e il

    fingerprint della chiave

    F. Garzia, Crittografia

    PGP (Pretty Good Privacy) Gestione di chiavi pubbliche

    P tt l hi bbli

    97

  • 8/4/2019 2 Crittografia

    97/118

    Per ottenere la chiave pubblicadi qualcuno si pu chiederedirettamente alla persona

    interessata

    F. Garzia, Crittografia

    oppure si possonousare

    i keyserver

    PGP (Pretty Good Privacy) Key server

    98

  • 8/4/2019 2 Crittografia

    98/118

    Server presenti su Internet, dedicati al

    deposito e al prelievo delle chiavi

    pubbliche

    Sono in rete tra loro, per cui ogni

    chiave immessa in un server vienediffusa a tutti gli altri

    F. Garzia, Crittografia

    PGP (Pretty Good Privacy)Distribuzione delle chiavi

    99

  • 8/4/2019 2 Crittografia

    99/118

    E necessario distribuire la nostra chiave pubblica

    per consentire agli altri utenti di mandarci messaggi cifrati

    per verificare la nostra firma

    Ci pu essere fatto in vari modi:

    mandando la chiave a un key server

    includendo la chiave in un messaggio di e-mail esportando la chiave copiandola in un file di testo

    F. Garzia, Crittografia

    PGP (Pretty Good Privacy)Distribuzione delle chiavi

    Per mandare la propria chiave ad un keyserver

    100

  • 8/4/2019 2 Crittografia

    100/118

    Per mandare la propria chiave ad un keyserver

    collegarsi ad Internet

    aprire la finestra PGP Keys selezionare la chiave da distribuire dal menu Server scegliere il key server a cui si vuole mandare

    la chiave dal menu Send To

    Chi vuole comunicare con noi pu prelevare la chiave dal

    keyserver

    Per aggiornare la chiave necessario inviare una nuova copia

    al keyserver, che provvede allaggiornamento

    F. Garzia, Crittografia

    PGP (Pretty Good Privacy)Distribuzione di chiavi

    Per includere la propria chiave in un messaggio e-mail

    101

  • 8/4/2019 2 Crittografia

    101/118

    Per includere la propria chiave in un messaggio e mail

    aprire PGP keys

    selezionare la chiave desiderata

    fare clic su Copy dal menu Edit comporre il messaggio dal proprio editor e fare clic su Paste per includere la chiave nel messaggio firmare la mail (come?vedremo dopo!)

    Per esportare la chiave in un file di testo aprire PGP keys selezionare la chiave desiderata fare clic su Export dal menu Keys inserire il nome del file in cui si vuole esportare la chiave

    F. Garzia, Crittografia

    PGP (Pretty Good Privacy)Ottenere le chiavi altrui

    E necessario ottenere le chiavi pubbliche di altri utenti e inserirle

    102

  • 8/4/2019 2 Crittografia

    102/118

    E necessario ottenere le chiavi pubbliche di altri utenti e inserirlenel nostro public keyring

    per mandare loro messaggi cifrati

    per verificare le loro firme

    Cio pu essere fatto in vari modi:

    prelevando la chiave da un key server

    prelevando la chiave in un messaggio di e-mail importando la chiave da un file di testo

    F. Garzia, Crittografia

    PGP (Pretty Good Privacy)Ottenere le chiavi altrui

    Per prelevare una chiave da un keyserver

    103

  • 8/4/2019 2 Crittografia

    103/118

    p y aprire PGP keys fare click su Search Server dal menu Keys nella finestra Search for keys on, selezionare il keyserver inserire dei criteri di ricerca

    user ID key ID

    key status (revoked or disabled) key type (DH o RSA) creation date expiration date

    key size key signed by a particular key

    F. Garzia, Crittografia

    PGP (Pretty Good Privacy)Ottenere le chiavi altrui

    Per copiare una chiave pubblica da un messaggio e-mail

    104

  • 8/4/2019 2 Crittografia

    104/118

    p p gg

    se si usa unapplicazione e-mail supportata dai plug-in di PGP, fare

    clic sullapposita icona per aggiungere la chiave al proprio keyring

    se si usa un altro tipo di applicazione, si puo semplicementecopiare la chiave e inserirla nel proprio keyring

    Per importare la chiave pubblica da un file

    fare click su Import nel menu Keys e individuare il file contenente lachiave

    F. Garzia, Crittografia

    PGP (Pretty Good Privacy)Formato di un certificato PGP

    PGP riconosce due formati differenti:

    105

  • 8/4/2019 2 Crittografia

    105/118

    certificati PGP

    Ognuno pu creare un certificato PGP

    Un certificato PGP pu essere firmato

    da vari utenti e revocato solo dal proprietario

    certificati X.509 Solo una Certification Authority pu creare un certificato X.509

    Un certificato X.509 pu essere firmato o revocato solo dallaCA

    F. Garzia, Crittografia

    PGP (Pretty Good Privacy)Certificato PGP

    106

  • 8/4/2019 2 Crittografia

    106/118

    F. Garzia, Crittografia

    PGP (Pretty Good Privacy)Certificati X-509

    107

  • 8/4/2019 2 Crittografia

    107/118

    F. Garzia, Crittografia

    PGP (Pretty Good Privacy)Firmare una chiave

    Se si sicuri dellautenticit di una chiave la si pu firmare

    108

  • 8/4/2019 2 Crittografia

    108/118

    Se si sicuri dell autenticit di una chiave la si pu firmare Chi controller la chiave in seguito decider se fidarsi o no del nostro

    giudizio

    Per firmare una chiave aprire PGP keys selezionare la chiave da firmare fare click su Sign dal menu Keys per aprire la finestra di dialogo

    Sign selezionare la casella Allow signature to be exported per consentirealla firma di essere esportata con la chiave

    fare click sul bottone Sign

    inserire la passphrase una icona con il nostro nome viene associata alla chiave

    F. Garzia, Crittografia

    PGP (Pretty Good Privacy)Garantire una chiave

    Dopo aver firmato una chiave possibile modificare il livello di fiducia

    109

  • 8/4/2019 2 Crittografia

    109/118

    Aprire PGP keys Scegliere Properties dal menu KeysModificare il livello di fiducia usando il cursore Trust level

    F. Garzia, Crittografia

    PGP (Pretty Good Privacy)Verificare una chiave

    110

  • 8/4/2019 2 Crittografia

    110/118

    A ciascuna chiave viene associata una serie unica di numeri(fingerprint) in fase di generazione

    E possibile verificare lautenticit di una chiave controllando tale

    fingerprint aprire PGP keys

    selezionare la chiave da verificare

    fare click su Properties dal menu Keys per aprire la finestra didialogo Properties la casella Fingerprint contiene limpronta della chiave controllare se tale impronta coincide con quella della chiave nel

    keyserver

    F. Garzia, Crittografia

    PGP (Pretty Good Privacy)Cancellare una chiave

    E possibile eliminare una chiave o una firma

    111

  • 8/4/2019 2 Crittografia

    111/118

    Aprire PGP keys Selezionare la chiave/firma da eliminare

    Scegliere Delete dal menu Edit Una finestra chiede conferma delleliminazione

    F. Garzia, Crittografia

    PGP (Pretty Good Privacy)Cifrare e firmare una e-mail

    Per cifrare e firmare una e-mail

    112

  • 8/4/2019 2 Crittografia

    112/118

    Comporre il messaggio

    Cifratura e firma avvengono tramite bottoni sulla toolbar

    Inviare il messaggio

    PGP ricerca la chiave pubblica di ciascun destinatario nel publickeyring

    Fare click su OK per cifrare e firmare la mail

    Inserire la passphrase

    Fare click su OK

    Il messaggio cifrato

    F. Garzia, Crittografia

    PGP (Pretty Good Privacy)Decifrare/verificare una email

    113

  • 8/4/2019 2 Crittografia

    113/118

    Per decifrare /verificare una e-mail

    Aprire il messaggio cifrato

    Copiarlo negli Appunti

    Fare click sulle icone di Decrypt e Verify dalla toolbar

    Inserire la passphrase Il messaggio decifrato

    Se stato firmato e si possiede la chiave pubblica del firmatario un

    messaggio indica se la firma valida

    F. Garzia, Crittografia

    PGP (Pretty Good Privacy)Cifrare/firmare file

    PGP pu cifrare e firmare file da inviare come attachment

    114

  • 8/4/2019 2 Crittografia

    114/118

    Selezionare il file da cifrare/firmare

    Fare click con il tasto destro Appare il menu di scelta rapida PGP Selezionare loperazione desiderata (Encrypt, Sign, Encrypt and

    Sign) Appare la finestra PGP key selection

    Selezionare le chiavi pubbliche dei destinatari Se si firma il file richiesta la passphrase Appare licona del file con il lucchetto: il file cifrato

    F. Garzia, Crittografia

    PGP (Pretty Good Privacy)Cifrare/firmare file

    Text Output: salva il filecome ASCII

    115

  • 8/4/2019 2 Crittografia

    115/118

    come ASCII

    Conventional encrypt:

    cifra con unapassphrase

    Wipe Output:

    sovrascrive il testo inchiaro in modo che nonpossa essere pi letto

    F. Garzia, Crittografia

    PGP (Pretty Good Privacy)Decifrare file

    Per decifrare un file cifrato da PGP con una passphrase

    116

  • 8/4/2019 2 Crittografia

    116/118

    Selezionare il file da decifrare

    Fare click con il tasto destro del mouse

    Appare il menu di scelta rapida PGP

    Selezionare Decrypt/Verify

    Inserire la passphrase usata per cifrare

    Il messaggio decifrato

    F. Garzia, Crittografia

    PGP (Pretty Good Privacy)117

  • 8/4/2019 2 Crittografia

    117/118

    Sito webwww.pgp.com

    F. Garzia, Crittografia

    Crittografia dati disco PC118

  • 8/4/2019 2 Crittografia

    118/118

    Sito webwww.truecrypt.org

    F. Garzia, Crittografia