La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Docente Ing. Maria Mirto Tutor Ing. Marco Passante 21/10/2008Corso di InformaticaAnno Accademico 2009/10 Elementi di crittografia.

Presentazioni simili


Presentazione sul tema: "Docente Ing. Maria Mirto Tutor Ing. Marco Passante 21/10/2008Corso di InformaticaAnno Accademico 2009/10 Elementi di crittografia."— Transcript della presentazione:

1 Docente Ing. Maria Mirto Tutor Ing. Marco Passante 21/10/2008Corso di InformaticaAnno Accademico 2009/10 Elementi di crittografia

2 03/05/2014Corso di Informatica Avanzata2/78 Sommario Introduzione Minacce e forme di attacco Sistemi sicuri Crittografia Aspetti generali Crittografia a chiave privata Crittografia a chiave pubblica Firma digitale Funzioni di secure hash Caso di studio (invio di sicure)

3 03/05/2014Corso di Informatica Avanzata3/78 Introduzione Il problema della SICUREZZA negli ultimi decenni e soprattutto anni ha assunto sempre maggiore importanza. Con lavvento di Internet e delle nuove tecnologie infatti, è aumentata in maniera esponenziale la quantità di informazioni e di dati che gli utenti della rete si scambiano. Aumenta lesigenza di proteggere le informazioni da tutti coloro che cercano di impossessarsene abusivamente tramite attacchi al sistema di comunicazione: sicurezza di una rete, che implica lintroduzione di un insieme di misure necessarie a scoraggiare, prevenire, rilevare e correggere le violazioni della sicurezza di una trasmissione di dati. Sicurezza in rete

4 03/05/2014Corso di Informatica Avanzata4/78 Introduzione Bob, Alice (amanti!) vogliono comunicare in modo sicuro Trudy, lintrusa può intercettare, distruggere, aggiungere i messaggi Segretezza: soltanto il sender ed il corretto receiver debbono comprendere il contenuto del messaggio il sender cifra (encrypts) il messaggio il receiver decifra (decrypts) il messaggio Autenticazione: il sender ed il receiver vogliono avere conferma dellidentità luno dellaltro Integrità: il sender ed il receiver vogliono assicurarsi che il messaggio non sia alterato (in transito, o dopo) senza che ciò venga scoperto Scenario Non ripudio: il sender in futuro non può negare di aver inviato i dati, e di aver inviato proprio quei dati firma digitale Cosa possono rappresentare Alice e Bob? Web browser/server per transazioni elettroniche (es. acquisti on-line) ecc.

5 03/05/2014Corso di Informatica Avanzata5/78 Introduzione Una minaccia è una potenziale violazione di sicurezza Difetti in progettazione, implementazione Un attacco è una qualunque azione che violi la sicurezza attacchi attivi: prevedono la modifica del flusso di dati o la creazione di un falso flusso Tampering, masquerading attacchi passivi: intercettano o monitorano le trasmissioni, con lobiettivo di carpire le informazioni trasmesse. Eavesdropping Eavesdropping (origliare): linformazione rimane intatta, ma la sua privacy è compromessa Attacco alla segretezza Esempio: qualcuno intercetta una mia operazione bancaria effettuata via web per prelevare informazioni riservate Minacce e forme di attacco

6 03/05/2014Corso di Informatica Avanzata6/78 Introduzione Tampering (manomissione): linformazione in transito è modificata o sostituita e poi inviata al receiver Attacco allintegrità del messaggio Esempio: mentre effettuo un bonifico qualcuno cambia il conto corrente su cui effettuare il versamento Masquerading (impersonificazione): assunzione non autorizzata dellidentità di un altro Attacco allautenticità Esempio: penso di dare il mio numero di carta di credito ad un albergo ed invece lo do a dei truffatori Minacce e forme di attacco

7 03/05/2014Corso di Informatica Avanzata7/78 Introduzione Denial of Service (DoS = negazione del servizio): deliberato uso eccessivo della risorsa per fare in modo che non sia disponibile ai legittimi utenti Attacco alla disponibilità Esempio: inondare di messaggi un server (consumare la risorsa) mettendolo quindi fuori uso Minacce e forme di attacco

8 03/05/2014Corso di Informatica Avanzata8/78 Introduzione Il termine Sistema Sicuro non implica che il sistema sia inviolabile Ogni sistema può essere violato, avendo sufficiente tempo e denaro La sicurezza di un sistema deve essere proporzionale alle risorse che esso protegge Proprietà di un sistema sicuro: Ogni entità è sicura dellidentità dellaltra Linformazione è privata e protetta contro il tampering Protezione contro la ripetizione ed il riordino dei dati Impiego della crittografia La segretezza è basata sul concetto di crittografia Lautenticazione è basata sulla dimostrazione di un segreto Sistemi Sicuri

9 03/05/2014Corso di Informatica Avanzata9/78 Crittografia La crittografia è la tecnica che consente di rendere visibili le informazioni soltanto alle persone a cui esse sono destinate. Si basa generalmente su algoritmi matematici Testo in chiaro: è il messaggio che può essere letto da tutti Testo cifrato: è il testo in chiaro trasformato in messaggio illeggibile Codifica (cifratura): tecnica che trasforma testo in chiaro testo cifrato Decodifica (decifrazione): tecnica che trasforma testo cifrato testo in chiaro Definizioni

10 03/05/2014Corso di Informatica Avanzata10/78 Crittografia Un algoritmo crittografico, chiamato anche cifrario, è una funzione matematica usata per la codifica e la decodifica Sostituzione: ogni elemento del testo in chiaro viene mappato su un altro elemento Permutazione: gli elementi del testo in chiaro vengono cambiati di posizione Con la crittografia moderna, labilità di tenere segreta linformazione criptata è basata non sullalgoritmo crittografico, che è ben conosciuto, ma su un numero chiamato chiave che deve essere usato con lalgoritmo per produrre un risultato criptato o per decriptare le informazioni precedentemente codificate

11 03/05/2014Corso di Informatica Avanzata11/78 Crittografia Principio di Kerckhoffs: La sicurezza di un sistema crittografico è basata esclusivamente sulla conoscenza della chiave, in pratica si presuppone noto a priori lalgoritmo di cifratura e decifrazione.

12 03/05/2014Corso di Informatica Avanzata12/78 Crittografia Impiego di tecniche per decifrare un messaggio senza conoscere i dettagli della cifratura. Scopo: violare il codice, decifrare il messaggio riservato (e/o i messaggi successivi). Tipi di attacco: Analisi Crittografica: Tramite lutilizzo di tecniche statistiche sulla frequenze dei caratteri o sottostringhe del testo cifrato si ottengono informazioni utili sul testo in chiaro. Attacco a forza bruta: tenta ogni possibile chiave su un frammento di testo cifrato fino a che non si riesce ad ottenere una traduzione corretta. In media, per avere successo, bisogna provare meta tra tutte le possibili chiavi. Problema a complessità computazionale esponenziale Attacchi alla sicurezza

13 03/05/2014Corso di Informatica Avanzata13/78 Crittografia Attacchi alla sicurezza

14 03/05/2014Corso di Informatica Avanzata14/78 Crittografia La forza di un sistema crittografico dipende da due parametri: lalgoritmo crittografico lunghezza della chiave (espressa in numero di bit) La forza di un sistema è inoltre una caratteristica che varia nel tempo e dipende fortemente dalla potenza di calcolo dei processori Attacchi alla sicurezza

15 03/05/2014Corso di Informatica Avanzata15/78 Crittografia Sistema di crittografia COMPUTAZIONALMENTE SICURO se soddisfa almeno uno dei seguenti criteri: Costo della violazione del testo cifrato supera il valore delle informazioni crittografate Tempo richiesto per lanalisi crittografica è superiore alla vita utile delle informazioni Attacchi alla sicurezza

16 03/05/2014Corso di Informatica Avanzata16/78 Crittografia Crittografia a chiave privata Il sender ed il receiver usano la stessa chiave (è anche detto crittografia a chiave singola, segreta o simmetrica) Crittografia a chiave pubblica Il sender ed il receiver usano differenti chiavi (è anche detto crittografia a due chiavi o a chiave asimmetrica)

17 03/05/2014Corso di Informatica Avanzata17/78 Crittografia simmetrica Scenario Hi,Jack $e3lW% CryptDecrypt Hi,Jack Ksecret

18 03/05/2014Corso di Informatica Avanzata18/78 Crittografia simmetrica Il sender: E = encrypt (K, M) Dove M è il testo in chiaro, E è il messaggio cifrato e K la chiave segreta Il receiver: M = decrypt (K, encrypt (K, M)) Devono verificarsi due condizioni per il funzionamento: Algoritmo di crittografia forte (non necessariamente segreto) La distribuzione della chiave segreta al mittente e al destinatario e la conservazione di essa da parte di queste entità deve avvenire in maniera sicura

19 03/05/2014Corso di Informatica Avanzata19/78 Crittografia simmetrica Vantaggi Alto grado di autenticazione Svantaggi Problema di distribuzione della chiave che deve rimanere segreta Lintruso che conosce la chiave può non solo decifrare il messaggio (attacco alla segretezza), ma può anche criptare un nuovo messaggio ed inviarlo ad una delle due parti che usano la chiave Gli algoritmi simmetrici possono essere divisi in: Cifrari a stream: cifra un singolo bit di testo in chiaro per volta Cifrari a blocchi: prende un numero di bit (tipicamente 64 bit) e li cifra come una singola unità

20 03/05/2014Corso di Informatica Avanzata20/78 Crittografia simmetrica Ogni lettera è sostituita da quella che la segue di k posizioni nellalfabeto k è la chiave Se k=3, a è sostituito con d, b con e ecc. Chiaro: auguridibuoncompleanno Cifrato: dxjxulglexrqfrpsohdqqr Cifrario di Cesare

21 03/05/2014Corso di Informatica Avanzata21/78 Crittografia simmetrica Cifrario di sostituzione Chiave di cifratura = chiave di decifratura Svantaggi Scambio della chiave Si possono utilizzare solo 25 chiavi (tutte le lettere dellalfabeto - 1) Cifrario di Cesare

22 03/05/2014Corso di Informatica Avanzata22/78 Crittografia simmetrica Generalizzazione del cifrario di Cesare Ogni lettera è sostituita da unaltra, secondo uno schema libero La chiave è la stringa di 26 lettere corrispondente all'intero alfabeto Chiavi possibili 26!, circa 4×1026; Attacco a forza bruta improbabile Facilmente attaccabile con metodi statistici (partendo dalla conoscenza della frequenza delle lettere e delle parole in una lingua) Cifrario di sostituzione mono-alfabetico

23 03/05/2014Corso di Informatica Avanzata23/78 Crittografia simmetrica Se per esempio decidiamo di utilizzare la seguente chiave: Significa che per costruire il nostro cifrato dobbiamo affidarci alle corrispondenze tra il nostro alfabeto e quello generato dalla chiave: Il testo in chiaro (prova di cifratura) verrà cifrato così: Cifrario di sostituzione mono-alfabetico QAZWSXEDCRFVTGBYHNUJMIKOLP ABCDEFGHIJKLMNOPQRSTUVWXYZ QAZWSXEDCRFVTGBYHNUJMIKOL PROVA DI CIFRATURA YNBIQ WC ZCXNQJMNQ

24 03/05/2014Corso di Informatica Avanzata24/78 Crittografia simmetrica Sono usati due o più cifrari mono-alfabetici Le lettere sono sostituite con luno o laltro dei cifrari, secondo uno schema predeterminato es. se lo schema è C1, C2, C2, C1, C2, il testo in chiaro testo segreto è crittografato nel testo cifrato yxlyh xxzwxyh più lunga è la chiave, più robusto è lalgoritmo, sempre per ragioni statistiche Cifrario di sostituzione poli-alfabetico

25 03/05/2014Corso di Informatica Avanzata25/78 Crittografia simmetrica Disco composto di due cerchi concentrici di rame. Uno esterno fisso di diametro maggiore sul quale sono riportate le lettere dellalfabeto in chiaro: composto di 24 caselle contenenti 20 lettere maiuscole in ordine lessicografico, escluse H, J, K, W, Y, al posto delle quali ci sono i numeri 1, 2, 3, 4. Uno interno mobile per le lettere dellalfabeto cifrante. Il disco interno riporta le 24 lettere minuscole in maniera disordinata ed un simbolo speciale et. Cifrario di Leon Battista Alberti

26 03/05/2014Corso di Informatica Avanzata26/78 Crittografia simmetrica Mittente e destinatario avevano entrambi la stessa macchinetta. Entrambi concordavano una lettera che sarebbe stata la chiave di partenza. Per cifrare il messaggio, il mittente iniziava ruotando il disco interno in maniera casuale. Iniziava quindi a scrivere il testo cifrato, riportando per prima cosa la lettera sul disco piccolo in corrispondenza della chiave concordata sul disco grande. Passava quindi ad eseguire la sostituzione del testo prelevando i caratteri sul disco più piccolo in corrispondenza dei caratteri da cifrare sul disco più grande. Cifrario di Leon Battista Alberti

27 03/05/2014Corso di Informatica Avanzata27/78 Crittografia simmetrica Terminata la prima parola, ruotava di nuovo in maniera casuale il disco interno e iterava la procedura di sostituzione. In questo modo, ogni parola utilizzava un proprio alfabeto di sostituzione e con tale dispositivo ne erano a disposizione 24 Cifrario polialfabetico. Le lettere che di volta in volta corrispondono ai numeri 1,2,3,4 non vengono usate. Cifrario di Leon Battista Alberti

28 03/05/2014Corso di Informatica Avanzata28/78 Crittografia simmetrica Testo da cifrare: Messaggio da Leon Lettera chiave: C Ruotiamo a caso il disco interno e passiamo alla posizione in figura. Iniziamo a scrivere il messaggio indicando al destinatario come deve ruotare il suo disco interno. Per farlo iniziamo la parola cifrata con D, e ne deriva: Messaggio = DTZQQSIIEN Cifrario di Leon Battista Alberti

29 03/05/2014Corso di Informatica Avanzata29/78 Crittografia simmetrica Nuova rotazione casuale e cifratura della seconda parola: Da = CETQ Nuova rotazione casuale e cifratura della terza parola: Leon = ? Cifrario di Leon Battista Alberti

30 03/05/2014Corso di Informatica Avanzata30/78 Crittografia simmetrica Svantaggi Chiave di cifratura di un solo carattere: sarebbe semplicissimo decifrare il messaggio anche senza sapere che la prima lettera di ogni parola è la chiave di cifratura, basterebbe provare per ogni parola le 24 posizioni del disco. Vantaggi Lanalisi statistica basata sulla frequenza delle lettere era impossibile Cifrario di Leon Battista Alberti

31 03/05/2014Corso di Informatica Avanzata31/78 Crittografia simmetrica Si basa sulla sostituzione poli- alfabetica Punto forza: utilizzare non uno ma 26 alfabeti cifranti per cifrare un solo messaggio. Si utilizza una tabella di dimensione 26x26 in cui la riga i-esima contiene lalfabeto ruotato verso sinistra di i-1 posizioni Codice di Vigènere

32 03/05/2014Corso di Informatica Avanzata32/78 Crittografia simmetrica Il metodo si può considerare una generalizzazione del codice di Cesare. Invece di spostare sempre dello stesso numero di posti la lettera da cifrare, questa viene spostata di un numero di posti variabile, determinato dalle lettere della parola chiave, da concordarsi tra mittente e destinatario. Codice di Vigènere

33 03/05/2014Corso di Informatica Avanzata33/78 Crittografia simmetrica Per utilizzare la tavola e cifrare un primo messaggio è necessario dunque scegliere una chiave, ad esempio HTML. A questo punto la tavola appena vista si riduce di qualche riga, cinque per essere esatti, costituite dalla prima e dalle quattro righe che iniziano con le lettere della chiave. La tavola che segue sarà quindi sufficiente per eseguire la cifratura Codice di Vigènere

34 03/05/2014Corso di Informatica Avanzata34/78 Crittografia simmetrica Dato il messaggio in chiaro, lo si allinea con la chiave. Ogni lettera del messaggio viene sostituita con la lettera della tabella che è allincrocio tra la riga che inizia con la lettera della chiave (allineata con quella del messaggio) e la colonna che inizia con la lettera del messaggio (lettera individuata sulla prima riga) Codice di Vigènere PROVADICIFRATURA HTMLHTMLHTMLHTML La chiave essendo in genere molto più corta del messaggio, deve essere ripetuta molte volte. P W R K

35 03/05/2014Corso di Informatica Avanzata35/78 Crittografia simmetrica Il risultato finale della cifratura è: Punto di forza: numero di chiavi è enorme Attacco a forza bruta non praticabile L'attacco di Kasiski si basa sull'osservazione che nel crittogramma si trovano spesso sequenze identiche di caratteri a una certa distanza l'una dell'altra. Questo avviene per il fatto di utilizzare ciclicamente la stessa chiave. Codice di Vigènere WKAGHWUNPYDLANDL PROVADICIFRATURA - testo in chiaro HTMLHTMLHTMLHTML - chiave WKAGHWUNPYDLANDL - testo cifrato

36 03/05/2014Corso di Informatica Avanzata36/78 Crittografia simmetrica Il codice di esempio si riduce quindi a cinque codici di Cesare intercalati. Il cifrario di Vigenère è affidabile solo quando la chiave è di lunghezza comparabile a quella del testo e viene cambiata molto spesso problemi pratici non indifferenti (trasmissione e cambiamento della chiave richiedono un canale di comunicazione assolutamente sicuro). Codice di Vigènere

37 03/05/2014Corso di Informatica Avanzata37/78 Crittografia simmetrica A differenza di quelli a sostituzione, questi riordinano le lettere senza trasformarli Data una chiave, il testo in chiaro è scritto orizzontalmente in righe sotto la chiave Si numerano le lettere della chiave in ordine alfabetico crescente Cifrario a trasposizione Testo in chiaro: PROVA DI CIFRATURA A TRASPOSIZIONE.. Chiave: HTML

38 03/05/2014Corso di Informatica Avanzata38/78 Crittografia simmetrica Il testo cifrato è ottenuto leggendo il testo in chiaro per colonne seguendo la numerazione Cifrario a trasposizione Testo cifrato: PAITASINRLVCAAASO.MTOIRRROI.RDFUTPZE

39 03/05/2014Corso di Informatica Avanzata39/78 Crittografia simmetrica DES (Data Encryption Standard) Sviluppato dallIBM (International Business Machines Corporation) nel 1970 diventato standard nel Utilizza chiavi di 56 bit, divide il testo in chiaro in blocchi di 64 bit Il 17 Luglio 1998, lEFF (Electronic Frontier Foundation) costruisce un sistema dedicato in grado di violare il DES in meno di 3 giorni, tramite un attacco di tipo brute-force. Morale della favola: non utilizzate sistemi di cifratura basati sul DES! Algoritmi moderni

40 03/05/2014Corso di Informatica Avanzata40/78 Crittografia simmetrica 3DES (Triple Data Encryption Standard) Evoluzione del DES, è basato su un utilizzo del cifrario DES ripetuto, chiavi di 112 bit. Si utilizza la tecnica della codifica-decodifica-codifica (EDE, Encrypt-Decrypt-Encrypt) utilizzando il cifrario DES. Algoritmi moderni

41 03/05/2014Corso di Informatica Avanzata41/78 Crittografia simmetrica AES (Advanced Encryption Standard) Nuovo (novembre 2001) standard a chiave simmetrica rimpiazzante DES Elabora dati in blocchi di 128 bit Chiavi di 128, 192 o 256 bit La decifrazione con approccio a forza bruta che richiede 1 secondo su DES, prende 149 trilioni di anni con AES IDEA (International Data Encryption Algorithm) Codice cifrato a blocchi di 64 bit A differenza del DES la chiave è di 128 bit Attacco a forza bruta impossibile (le chiavi sono 2^128) Algoritmi moderni

42 03/05/2014Corso di Informatica Avanzata42/78 Crittografia Asimmetrica Nasce nel 1975 Proposta da Whitfield Diffie e Martin Hellman È chiamata anche Crittografia a chiave pubblica Risolvere il problema della distribuzione sicura delle chiavi Cifrari intrinsecamente sicuri perché utilizzano tecniche di tipo matematico invece che permutazioni e sostituzioni Utilizza una coppia di chiavi distinte (tra loro correlate matematicamente) La chiave PUBBLICA, usata per la cifratura, viene distribuita liberamente a tutte le persone con cui si vuole comunicare La chiave PRIVATA, usata per la decifratura, deve essere tenuta segreta

43 03/05/2014Corso di Informatica Avanzata43/78 Crittografia Asimmetrica Proprietà: Non è possibile risalire dalla chiave pubblica a quella privata La chiave che effettua la cifratura dei dati non può decifrarli. i messaggi codificati con la chiave pubblica possono essere decodificati solo con la chiave privata Il mittente cifra il messaggio con la chiave pubblica del destinatario (pubblicamente nota) Il destinatario usa la sua chiave privata (segreta) per decifrare il messaggio.

44 03/05/2014Corso di Informatica Avanzata44/78 Funzionamento Crittografia Asimmetrica L'idea base della crittografia con coppia di chiavi diviene più chiara se si usa un'analogia postale, in cui il mittente è Alice ed il destinatario Bob e i lucchetti fanno le veci delle chiavi pubbliche e le chiavi recitano la parte delle chiavi private: 1. Alice chiede a Bob di spedirle il suo lucchetto, già aperto. La chiave dello stesso verrà però gelosamente conservata da Bob. 2. Alice riceve il lucchetto e, con esso, chiude il pacco e lo spedisce a Bob. 3. Bob riceve il pacco e può aprirlo con la chiave di cui è l'unico proprietario. Se adesso Bob volesse mandare un altro pacco ad Alice, dovrebbe farlo chiudendolo con il lucchetto di Alice, che lei dovrebbe mandare a Bob e che solo lei potrebbe aprire. Si può notare come per secretare i pacchi ci sia bisogno del lucchetto del destinatario mentre per ricevere viene usata esclusivamente la propria chiave segreta, rendendo l'intero processo di cifratura/decifratura asimmetrico. Chiunque intercettasse il lucchetto o il messaggio chiuso non potrebbe leggerne il contenuto. Al contrario nella crittografia simmetrica, dove occorre il pericoloso passaggio dello scambio delle chiavi, che può essere intercettato.

45 03/05/2014Corso di Informatica Avanzata45/78 Funzionamento Crittografia Asimmetrica

46 03/05/2014Corso di Informatica Avanzata46/78 Crittografia Asimmetrica Hi,Jack $e3lW% CryptDecrypt Hi,Jack KPublic Receiver KPrivate Receiver Scenario

47 03/05/2014Corso di Informatica Avanzata47/78 Crittografia Asimmetrica Ciascun utente genera una coppia di chiavi da utilizzare per la crittografia e la decrittografia dei messaggi; Dove trovo le chiavi pubbliche dei miei destinatari? Ciascun utente inserisce una delle sue chiavi (chiave pubblica) in un registro pubblico (public key server) o in un file accessibile. Laltra chiave viene mantenuta segreta (chiave privata). Ma chi mi garantisce la corrispondenza delle chiavi pubbliche con i legittimi proprietari? certification authority (CA). Ente preposto alla certificazione di validità delle chiavi pubbliche. A questo punto chi garantisce la validità delle certification authority? Atto di fede!

48 03/05/2014Corso di Informatica Avanzata48/78 Crittografia Asimmetrica

49 03/05/2014Corso di Informatica Avanzata49/78 Chiave pubblica e privata: esempio -----BEGIN CERTIFICATE----- MIIGRDCCBa2gAwIBAgIDAPCbMA0GCSqGSIb3DQEBBQUAMIIBEjELMAkGA1UEBhMCRVMxEjAQBgNVBAgTCUJhcmNlbG9uYTESMBAG A1UEBxMJQmFyY2Vsb25hMSkwJwYDVQQKEyBJUFMgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgcy5sLjEuMCwGA1UEChQlZ2VuZXJhbEB pcHNjYS5jb20gQy5JLkYuICBCLUI2MjIxMDY5NTEuMCwGA1UECxMlaXBzQ0EgQ0xBU0VBMSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEu MCwGA1UEAxMlaXBzQ0EgQ0xBU0VBMSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEgMB4GCSqGSIb3DQEJARYRZ2VuZXJhbEBpcHNjYS 5jb20wHhcNMDkwMjI0MjMwNDE3WhcNMTEwMjI0MjMwNDE3WjCBlDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjA UBgNVBAcTDVNhbiBGcmFuY2lzY28xETAPBgNVBAoTCFNlY3VyaXR5MRQwEgYDVQQLEwtTZWN1cmUgVW5pdDEvMC0GA1UEAxMmd3 d3LnBheXBhbC5jb20Ac3NsLnNlY3VyZWNvbm5lY3Rpb24uY2MwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANJp+m86ALQhG8ixAtc/ GbLEbbRU+IuKzNtywp48YLnGkT2Ct32Z/9EphMFzU5yC3fwkjHfVQfPoHkKhrS2e/1sQJs6dVxdzFiM4yNbxuqOWWxZnSk9zlzpNFKT04j+LBYN C0dDcL3rlthCyEcDcISqQ/66XcVpJgaxA8zu4WbJPAgMBAAGjggMhMIIDHTAJBgNVHRMEAjAAMBEGCWCGSAGG+EIBAQQEAwIGQDALBg NVHQ8EBAMCA/gwEwYDVR0lBAwwCgYIKwYBBQUHAwEwHQYDVR0OBBYEFGGPYTRDVRR/JwnOTIvqm3sZJbxuMB8GA1UdIwQYMBaA FA4HYNQ5yRtbXZB7I8jSNJ1KmkY5MAkGA1UdEQQCMAAwHAYDVR0SBBUwE4ERZ2VuZXJhbEBpcHNjYS5jb20wcgYJYIZIAYb4QgENBG UWY09yZ2FuaXphdGlvbiBJbmZvcm1hdGlvbiBOT1QgVkFMSURBVEVELiBDTEFTRUExIFNlcnZlciBDZXJ0aWZpY2F0ZSBpc3N1ZWQgYnkga HR0cHM6Ly93d3cuaXBzY2EuY29tLzAvBglghkgBhvhCAQIEIhYgaHR0cHM6Ly93d3cuaXBzY2EuY29tL2lwc2NhMjAwMi8wQwYJYIZIAYb4QgE EBDYWNGh0dHBzOi8vd3d3Lmlwc2NhLmNvbS9pcHNjYTIwMDIvaXBzY2EyMDAyQ0xBU0VBMS5jcmwwRgYJYIZIAYb4QgEDBDkWN2h0dH BzOi8vd3d3Lmlwc2NhLmNvbS9pcHNjYTIwMDIvcmV2b2NhdGlvbkNMQVNFQTEuaHRtbD8wQwYJYIZIAYb4QgEHBDYWNGh0dHBzOi8vd3d 3Lmlwc2NhLmNvbS9pcHNjYTIwMDIvcmVuZXdhbENMQVNFQTEuaHRtbD8wQQYJYIZIAYb4QgEIBDQWMmh0dHBzOi8vd3d3Lmlwc2NhLm NvbS9pcHNjYTIwMDIvcG9saWN5Q0xBU0VBMS5odG1sMIGDBgNVHR8EfDB6MDmgN6A1hjNodHRwOi8vd3d3Lmlwc2NhLmNvbS9pcHNjYTI wMDIvaXBzY2EyMDAyQ0xBU0VBMS5jcmwwPaA7oDmGN2h0dHA6Ly93d3diYWNrLmlwc2NhLmNvbS9pcHNjYTIwMDIvaXBzY2EyMDAyQ0x BU0VBMS5jcmwwMgYIKwYBBQUHAQEEJjAkMCIGCCsGAQUFBzABhhZodHRwOi8vb2NzcC5pcHNjYS5jb20vMA0GCSqGSIb3DQEBBQUA A4GBAGjueZeX3TvvFmoG8hSabs2eEveqgxC90XyY+seu1A4snjgFnVJgqZkKgbSYkB2uu0rXudyInjd4QVv3gqXyukElWpAaHkU4oVJYdZQmR PsgB7pEzOVKLXI/mEf2JtwFRgUHYyGrRpuceNVUWz0MHshkjLVQI4Jv27giHEOWB6i END CERTIFICATE BEGIN RSA PRIVATE KEY----- MIICXQIBAAKBgQDSafpvOgC0IRvIsQLXPxmyxG20VPiLiszbcsKePGC5xpE9grd9mf/RKYTBc1Ocgt38JIx31UHz6B5Coa0tnv9bECbOnVcXcxYj OMjW8bqjllsWZ0pPc5c6TRSk9OI/iwWDQtHQ3C965bYQshHA3CEqkP+ul3FaSYGsQPM7uFmyTwIDAQABAoGAcqDnnOaVcYxD7Z55NLgck OYv+bj8ulCAb+DiI4AzFaIWh9MJkXRvCAy9VQI1/6LPukhS+gmE55KBwb0AckUXSRC4DuPXOhgT6ywyEJGQp6IdaQmC4NoyC+G4GPnrh0YI SVKTT1ppRgjF6tpaFvElGTse+yejtKAssduT45MoxGkCQQDx58UFfPCVwAhoJ7/4TXpEebYs/BuLKYwQKUuQe1B+dV2WtSaub+jbSSpRVScTp yfKRwN0w4UZzs/64Zzs/erbAkEA3qx8uhMy7Dxu8zWx+C1b5LSh4Rf4sCvXug/nx3opvahO89iP5P6LMVplaVsVPwligUEaMsx9rJEJvt48sMEen QJBAOQlE6MOZ5TETOl2e84BvEuygodAqfWAlLF1UOgN9SefJ0oIxVeFAhc2lOuqJLWbU6KpgO/xqqlhbLOPbsHw5DsCQDj0j5acsIrCTnLBCjt7 hqSyGzHTCtYs8KnzxYo9Ug3jzgYLH4soHHxMLeJL3NxZzytWdpgFvCN2mbKLb6SaUPUCQQCKjbXoN7DkBbk8wU0ZY5fGCtLEUHtEmT93nF gmUvQ3ZSB/EvhtWRPcWGdRC5tj0YxaUFevVhZA/Ng1d1JzbcKB -----END RSA PRIVATE KEY----- Scaricato da: PUBBLICA PRIVATA

50 03/05/2014Corso di Informatica Avanzata50/78 Crittografia Asimmetrica Diverse combinazioni di chiave pubblica e privata determinano DIVERSI LIVELLI DI SICUREZZA nella comunicazione dei messaggi Analizziamoli…

51 03/05/2014Corso di Informatica Avanzata51/78 Crittografia Asimmetrica

52 03/05/2014Corso di Informatica Avanzata52/78 Crittografia Asimmetrica

53 03/05/2014Corso di Informatica Avanzata53/78 Crittografia Asimmetrica

54 03/05/2014Corso di Informatica Avanzata54/78 Crittografia Asimmetrica Considerazioni finali: Alice e Bob non devono condividere una chiave segreta Il mittente deve solo conoscere la chiave pubblica del destinatario La chiave privata deve essere solo conservata dal destinatario Unica forma di attacco possibile è quello a forza bruta la difesa più efficace e quella di usare chiavi di grandi dimensioni (> 512 bit) ma bisogna ricercare un compromesso. Le dimensioni della chiave devono essere tali da rendere impraticabile un attacco a forza bruta ma allo stesso tempo sufficientemente piccole da consentire una esecuzione veloce degli algoritmi di crittografia e decrittografia

55 03/05/2014Corso di Informatica Avanzata55/78 Crittografia Asimmetrica Sviluppato nel 1977 e pubblicato nel 1978 da Rivest, Shamir, Adlemann Primo sistema crittografico a chiave pubblica ed è ancora oggi lalgoritmo piu implementato in assoluto La chiave con cui viene cifrato il messaggio e differente da quella con cui viene decifrato Il punto di forza di RSA e che loperazione di derivazione della chiave privata da quella pubblica e troppo complessa per essere realizzata in pratica; Algoritmo RSA

56 03/05/2014Corso di Informatica Avanzata56/78 Crittografia Ibrida Cifrari SIMMETRICI: Molto veloci Numero di chiavi molto elevato Problema dello scambio delle chiavi Cifrari ASIMMETRICI Efficienti Lenti Da 100 a 1000 volte più lenti di un algoritmo a chiave segreta Si utilizza un cifrario IBRIDO: Cifrario SIMMETRICO per la comunicazione Cifrario ASIMMETRICO per lo scambio delle chiavi condivise

57 03/05/2014Corso di Informatica Avanzata57/78 Crittografia Ibrida Il messaggio viene crittografato con un algoritmo a chiave simmetrica, in cui la chiave è generata casualmente. La chiave casuale generata per cifrare il messaggio, viene crittografata mediante la chiave pubblica del destinatario.

58 03/05/2014Corso di Informatica Avanzata58/78 Crittografia Ibrida Il destinatario, mediante la sua chiave privata, decifra la chiave usata per codificare il messaggio e quindi il messaggio stesso

59 03/05/2014Corso di Informatica Avanzata59/78 Firma digitale È un metodo elettronico che permette ad una persona di apporre un suo segno distintivo ai documenti digitali. Nasce come applicazione dei sistemi a chiave pubblica. Viene utilizzata per autenticare la paternità di un documento informatico e la sua integrità. il mittente non può negare di aver inviato il messaggio il destinatario può accertare lidentità del mittente e lintegrità del messaggio (autenticazione) il desinatario non può sostenere di aver ricevuto un messaggio diverso da quello che realmente ha ricevuto Ha valore legale come la firma autografa.

60 03/05/2014Corso di Informatica Avanzata60/78 Firma digitale Per firmare un documento si utilizza la crittografia a chiave pubblica in modalità inversa Il messaggio è cifrato con la chiave privata Se chi possiede la chiave pubblica riuscirà a decifrare il messaggio, avrà la certezza dal proprietario della chiave pubblica usata per la decifratura La firma digitale non garantisce la segretezza del documento è sufficiente crittografare il messaggio firmato con una delle tecniche precedenti Il ricevente dovrà decifrare il messaggio (in questo caso solo lui potrà farlo) e successivamente controllarne la firma

61 03/05/2014Corso di Informatica Avanzata61/78 Funzionamento Firma Digitale

62 03/05/2014Corso di Informatica Avanzata62/78 Firma digitale Problema: per cifrare con chiave pubblica un documento di grandi dimensioni occorre molto tempo. Soluzione: posso autenticare solo un riassunto del documento tramite l'utilizzo di una funzione hash sicura. Si applica una funzione hash H al messaggio m, ottenendo un message digest, H(m), detto fingerprint (impronta), di lunghezza fissa << di quella di m Si cifra limpronta invece del messaggio Impronta Funzioni hash sicure

63 03/05/2014Corso di Informatica Avanzata63/78 Firma digitale Proprietà delle funzioni hash Dato un messaggio si può facilmente calcolare il suo valore di hash Dato il valore di hash è impossibile risalire al messaggio per questo dette anche one way hash Anche considerando due messaggi M ed M' differenti solo per un carattere le loro funzioni hash H(M) e H(M') saranno diverse. Esempi MD5: calcola un message digest di 128 bit in 4 passi SHA: US standard. Message digest di 160 bit Funzioni hash sicure

64 03/05/2014Corso di Informatica Avanzata64/78 Firma digitale Scenario Hi,Jack $e3lW% Crypto Hash Electronic Signature Mex Digest Crypto Kprivate Sender Kpublic Receiver Decrypto Kprivate Receiver Hi,Jack Electronic Signature Hash Decrypto Kpublic Sender Mex Digest

65 03/05/2014Corso di Informatica Avanzata65/78 Certificato Digitale Come si fa a sapere che una chiave pubblica realmente appartiene ad un determinato individuo e che la chiave sia ancora valida? E necessario un meccanismo che leghi la chiave pubblica alla persona Questa funzione è svolta dal certificato digitale Un certificato digitale è un messaggio con firma digitale con la chiave privata di un terzo di fiducia (Certification Authority), il quale dichiara che una determinata chiave pubblica appartiene ad una certa persona o entità e ne garantisce nome e caratteristiche I certificati digitali sono il mezzo di distribuzione delle chiavi pubbliche

66 03/05/2014Corso di Informatica Avanzata66/78 Certificato Digitale Tipicamente lega una chiave ad unidentità personale, ma anche informatica Firmato in modo elettronico dallemettitore: una persona fidata o - meglio - lautorità di certificazione ( CA ) Con scadenza temporale Revocabile sia dallutente sia dallemettitore

67 03/05/2014Corso di Informatica Avanzata67/78 Certificato Digitale I certificati digitali hanno un formato comune e si basano sullo standard X.509v3 (RFC 2459). Lo standard X.509v3 definisce gli elementi contenuti in un certificato digitale: Versione del certificato Numero seriale del certificato Informazioni sullalgoritmo utilizzato dalla CA Estremi di chi ha rilasciato il certificato Periodo di validità del certificato Firma digitale dellautorità rilasciante Estensioni standard (vers. 3): Key Usage, Private Key Usage Period, Certificate Policies e Policy Mapping

68 03/05/2014Corso di Informatica Avanzata68/78 Certification Authority La Certification Authority (CA) è il soggetto terzo di fiducia che avalla la validità di un certificato Alla CA spetta il compito di raccogliere le richieste, rilasciare e distribuire i certificati, sospenderli o revocarli quando le informazioni in essi contenute non sono più valide A questo punto chi garantisce la validità delle certification authority? Atto di fede!

69 03/05/2014Corso di Informatica Avanzata69/78 Certification Authority Alice genera la sua coppia di chiavi Raggiunge lufficio registrazione (Registration Authority) della CA, si identifica e fornisce la sua chiave pubblica perché sia certificata. La RA approva la richiesta di certificazione dopo opportune verifiche, dopodiché chiede alla CA di generare un certificato per Alice. La CA firma il certificato generato per Alice con la propria chiave privata. Il certificato di Alice è pubblicato dalla CA sul proprio certificate server. Procedura di certificazione

70 03/05/2014Corso di Informatica Avanzata70/78 Certification Authority Procedura di certificazione

71 03/05/2014Corso di Informatica Avanzata71/78 Certification Authority Come ottenere la chiave pubblica di un partner dalla CA: A chiede alla CA il certificato digitale di B La CA invia ad A il certificato di B firmato digitalmente A riceve il certificato di B e verifica la firma della CA Supponiamo che la chiave pubblica della CA sia conosciuta da tutti Poiché il certificato di B contiene la chiave pubblica (di B), A ha ora una copia autenticata della chiave pubblica di B

72 03/05/2014Corso di Informatica Avanzata72/78 Certification Authority 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, ovvero è 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.

73 03/05/2014Corso di Informatica Avanzata73/78 Caso di studio Alice vuole mandare un messaggio di segreto, m, a Bob Genera random una chiave privata simmetrica, K s Cifra il messaggio con K s Cifra anche K s, ma con la chiave pubblica di Bob Manda sia K s (m) che e b (K s ) a Bob sicura

74 03/05/2014Corso di Informatica Avanzata74/78 Caso di studio Alice vuole fornire autenticazione del sender ed integrità del messaggio Alice firma digitalmente il messaggio Invia il messaggio (in chiaro) e la firma digitale sicura

75 03/05/2014Corso di Informatica Avanzata75/78 Caso di studio Alice vuole provvedere segretezza, autenticazione ed integrità del messaggio Alice usa tre chiavi: la sua chiave privata, la chiave pubblica di Bob, la nuova chiave simmetrica sicura

76 03/05/2014Corso di Informatica Avanzata76/78 PGP (Pretty Good Privacy) PGP è unaltra applicazione della crittografia. É un sistema di crittografia ibrido perchè utilizza sia algoritmi asimmetrici che simmetrici per cifrare il messaggio. É utilizzato nello scambio di messaggi di posta elettronica.

77 03/05/2014Corso di Informatica Avanzata77/78 PGP (Pretty Good Privacy) Per inviare un messaggio cifrato ad un destinatario, il programma PGP del sender genera random una chiave di sessione (una chiave privata La chiave di sessione è usata dallalgoritmo IDEA (a chiave privata) per cifrare il messaggio, il che è veloce La chiave di sessione stessa è cifrata mediante lalgoritmo a chiave pubblica RSA usando la chiave pubblica del destinatario Lento, ma la chiave di sessione è piccola, e quindi è ok La chiave di sessione cifrata con la chiave pubblica è inviata insieme (cioè è concatenata) con il messaggio cifrato mediante la chiave privata Il destinatario prima usa lalgoritmo a chiave pubblica e la sua chiave privata per decifrare la sua chiave di sessione (lento, ma la chiave di sessione è piccola) Quindi usa la chiave di sessione e lalgoritmo a chiave privata per decifrare il messaggio (veloce)

78 03/05/2014Corso di Informatica Avanzata78/78 PGP (Pretty Good Privacy) Vantaggi : Combinazione della velocità dei sistemi simmetrici (messaggio è cifrato con sistema simmetrico). Trasmissione su canali insicuro utilizzando sistema a cifratura asimmetrica sia della chiave simmetrica che del messaggio cifrato Maggiore sicurezza in quanto la secret key usata per cifrare il messaggio originale e spedita insieme al medesimo è utilizzata solo quella volta (one time only key)


Scaricare ppt "Docente Ing. Maria Mirto Tutor Ing. Marco Passante 21/10/2008Corso di InformaticaAnno Accademico 2009/10 Elementi di crittografia."

Presentazioni simili


Annunci Google