1 / 20

PGP (Pretty Good Privacy) & gnuPG (GNU Privacy Guard)

PGP (Pretty Good Privacy) & gnuPG (GNU Privacy Guard). di Nicola Spiniello. Nascono Problemi : Riservatezza : Si vuole avere la garanzia che solo il destinatario legga il messaggio. Autenticazione: Si vuole avere la sicurezza sull’identita’ del mittente. Integrita’:

jenski
Download Presentation

PGP (Pretty Good Privacy) & gnuPG (GNU Privacy Guard)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PGP(Pretty Good Privacy)&gnuPG(GNU Privacy Guard) di Nicola Spiniello

  2. Nascono Problemi: Riservatezza: Si vuole avere la garanzia che solo il destinatario legga il messaggio. Autenticazione: Si vuole avere la sicurezza sull’identita’ del mittente. Integrita’: Si vuole avere la garanzia che il messaggio non sia stato alterato da terzi. Problema: Posta Elettronica Esigenza Sicura Quotidiana

  3. Soluzione Sistemi Crittografici Come sappiamo: • Per Sistema Crittografico intendiamo un sistema in grado di Cifrare un testo in chiaro (plaintext) e di Decifrare un testo cifrato (ciphertetxt) attraverso l’uso di un algoritmo (metodo di calcolo) e di un chiave (stringa alfanumerica assolutamente segreta) Sistemi Crittografici Simmettrici Assimetrici Ibridi

  4. Sistemi Simmetrici: Si utilizza una sola chiave per Cifrare e Decifrare; Nasce il problema della trasmissione in modo sicuro della chiave; Gli algoritmi piu’ famosi sono: DES (Data Encryption Standard, 1977), 3DES; IDEA (1991); BLOWFISH (1993); RC5 (1994); CAST128 (1997); AES (Advanced Encryption Standard, 2000). Sistemi assimetrici: Si utilizza una coppia di chiavi, una per cifrare (public key) e una per decifrare (private key); Di recente scoperta (W.Diffie, M.Hellmann, Stanford University); Sparisce il problema della trasmissione di chiavi; Lenti se applicati a chiavi di grandi dimensioni; Gli algoritmi piu’ famosi sono: RSA (1977, Ron Rivest, Adi Shamir, Len Adleman); Diffie-Hellman; DSS (1991, FIPS PUB 186); ECC (IEEE P1363, Crittografia delle curve ellittiche); Sistemi Critografici

  5. Sistemi Ibridi • Sono sicuramenti i piu’ efficenti; • Sfruttano i pregi di entrambi: • La sicurezza dei Sistemi Assimmetrici; • La velocità dei Sistemi Simmetrici. • Evitano i difetti: • La lentezza dei Sistemi Assimmetrici; • Il problema della trasmissione della chiave dei Sistemi Simmetrici. • PGP, OpenPGP si basano su un sitema ibrido.

  6. PGP(Pretty Good Privacy) • Pretty Good Privacy è un programma di crittografia realizzato da Philip Zimmermann nel 1991, ed è considerato ormai uno standard per la crittografia dei messaggi di posta elettronica e dei file di dati su computer ma anche per la firma digitale; • Le sue specifiche si trovano pubblicate nell'RFC 2440 ed è quindi diventato uno standard (openPGP); • Utilizza lo schema crittografico a chiave pubblica RSA e la funzione hash non invertibile MD5 per creare una firma elettronica • La crittografia dei messaggi avviene con l’utilizzo di IDEA, considerato crittograficamente molto più forte del più comune DES. • Il problema della distribuzione della chiave privata viene risolto creando ogni volta una chiave casuale di 128 bit (session key) e spedendola crittografata con l'RSA insieme al messaggi crittografato con detta chiave. Entriamo un po’ nel dettaglio:

  7. Come Funziona? (1) • Cifratura / Decifratura: • Il mittente scrive un messaggio e decide di cifrarlo; • Il programma, sfruttando il generatore di numeri casuali interno ed i dati casuali raccolti durante la creazione della chiave dell'utente, genera un numero casuale a 128 bit da utilizzare come chiave di sessione; • La chiave di sessione viene cifrata utilizzando l'algoritmo asimmetrico RSA ed il risultato diviene l'inizio del messaggio da inviare; • Il programma comprime il messaggio originale (ZIP) e lo cifra utilizzando la chiave di sessione applicata all'algoritmo simmetrico IDEA. Poi prende il risultato e lo accoda a quanto sopra, dopo di che invia il tutto al destinatario; • A questo punto il programma ricevente decifra la chiave di sessione utilizzando la chiave privata del destinatario applicata all’RSA; • Con la chiave di sessione, il programma decifra il messaggio ed inverte il processo di compressione.

  8. Come Funziona? (2) • Firma Digitale: • Il mittente crea il messaggio; • Il programma del mittente genera un codice di hash del messaggio utilizzando MD5; • Utilizzando la chiave privata del mittente associata all'RSA viene cifrato l'hash ottenuto al punto precedente; • La firma digitale appena ottenuta viene allegata al messaggio ed il tutto viene inviato; • Il programma del destinatario estrae una copia della firma dal messaggio, decifra il codice hash utilizzando la chiave pubblica del mittente; • Genera un nuovo codice di hash dal messaggio ricevuto; • Confronta il nuovo codice di hash con quello decifrato in precedenza. Se i due coincidono allora il messaggio viene considerato autentico. • Il ruolo della crittografia RSA è quello di permettere al solo possessore della chiave privata di generare la firma, • La funzione hash MD5 assicura al ricevente che non sia possibile generare un altro testo con lo stesso codice hash.

  9. Come Funziona (3) Osservazione: In teoria, si sarebbe potuto utilizzare direttamente l'RSA per cifrare l'intero messaggio. IDEA però è sostanzialmente più veloce di RSA, combinandoli otteniamo contemporaneamente la velocità di IDEA nella crittografia e la soluzione del problema della distribuzione delle chiavi offerta dallo schema asimmetrico di RSA.

  10. Riassumendo Siamo riusciti ad ottenere: • Riservatezza (cifrando i messaggi), • Autenticazione e Integrità (firmando I messaggi). Nascono alcuni problemi: • Come si può ottenere la chiave pubblica di una persona? • Come si può essere realmente certi che una certa chiave appartenga ad una certa persona? Soluzione: • Web Of Trust • ~ ( Certificati Digitali e PKI ) forse in futuro Vediamo.

  11. Web Of Trust • OpenPGP non utilizza i certificati X-509 e le autorità di certificazione CA, ma un proprio modello detto “Web Of Trust” : • Il Web of trust non ha autorità centrali, sono gli stessi utenti a certificare gli altri utenti • Un certificato openPGP può contenere diverse firme mentre l’X-509 contiene solo la firma della CA che lo ha emesso. • La decisione sulla validità di una chiave si basa sulla fiducia che si ha negli utenti che hanno certificato (firmato) quella chiave; • L’idea su cui si basa il web of trust è quella della rete di conoscenze: • Anche se due utenti non si conoscono direttamente si possono fidare se collegabili attraverso un grafo delle conoscenze (in genere breve).

  12. Certificati Digitali & PKI Velocemente: • Un certificato digitale (standard X-509) attesta la relazione tra un soggetto, tramite un insieme appropriato di dati, e una chiave pubblica. • E’ un oggetto pubblico, accessibile da chiunque; • E’ emesso da un’autorità di certificazione che lo firma con la propria chiave privata; • L’infrastruttura di gestione prende il nome di Pubblic Key Infrastructure (PKI);

  13. GnuPG (GNU Privacy Guard) Cosa è? • GnuPG è un'alternativa completa e libera a PGP. Poiché non usa l'algoritmo brevettato IDEA può essere utilizzato senza limitazioni. • I processi di Cifratura/Decifratura e Firma Digitale sono identici a quelli del PGP eccezione fatta per gli algoritmi utilizzati. • GnuPG è Free Software. Può essere usato liberamente, modificato e distribuito sotto i termini della GNU General Public Licence. • Tuttavia, nonostante queste sue caratteristiche, viene diffuso soltanto attraverso siti europei, a causa delle limitazioni all'esportazione poste dal governo degli Stati Uniti.

  14. GnuPG(GNU Privacy Guard) • Caratteristiche: • Sostituto completo di PGP; • Non utilizza algoritmi brevettati; • Coperto da licenza GPL, scritto da zero; • Può essere usato come programma filtro; • Compatibile con le specifiche OpenPGP (RFC 2440) e totalmente implementate; • Più funzionale di PGP e con alcune migliorie in fatto di sicurezza; • Decifra e verifica i messaggi di PGP 5, 6 e 7; • Supporta ElGamal (firma e cifratura), DSA, RSA, AES, 3DES, Blowfish, Twofish, CAST5, MD5, SHA-1, RIPE-MD-160 e TIGER;

  15. GnuPG(GNU Privacy Guard) Aspetto: • GnuPG è uno strumento a linea di comando senza nessun aspetto grafico, • può essere usato direttamente dalla linea di comando, da script di shell o da altri programmi. • La personalizzazione del proprio uso di GnuPG orbita attorno a quattro punti: • la scelta della dimensione della chiave della propria coppia di chiavi pubblica/privata, • la protezione della propria chiave privata, • la scelta delle date di scadenza e dell'uso di sottochiavi e • la gestione della propria rete della fiducia.

  16. Conclusioni: Domanda: Ma lo Standard OpenPGP e’ davvero cosi’ sicuro? Risposta: SI • Gli algoritmi di crittografia sono arrivati ad un livello talmente elevato che ora l'unico modo per entrarci è quello di provare tutti i codici possibili per cercare di decriptare il messaggio. • La sicurezza di ogni algoritmo crittografico dipende dalla dimensione delle chiavi utilizzate. L’OpenPGP permette di utilizzare chiavi RSA di varie dimensioni, tra le quali: • Casual grade:(384 bit) facilmente violabile • Low commercial grade: (512 bit)  possibilmente violabile (NSA) ma computazionalmente veloce • High commercial grade: (768 bit) difficilmente violabile, di media velocità • Military grade (1024 bit) ritenuta inviolabile (in genere), lenta Ev. Recenti: (2001/2002) www.enricozumuel.net Vlastimil Klima e Tomas Rosa, due crittologi della Repubblica Ceca hanno descritto un possibile attacco sul formato OpenPGP che comprommetterebbe la sua solidita’.

  17. Alternative all’openPGP? Esiste una alternativa ai sistemi openPGP SI S/MIME

  18. S/MIME(Secure/Multipurpose Internet Mail Extension) • E’ un estensione del MIME che introduce nuove funzionalità in termini di sicurezza; • Anche S/MIME è un standard; • Introduce nuovi tipi di contenuto per i messaggi di posta elettronica, che possono essere utilizzati per inserire firme, certificati, blocchi di dati cifrati; • Utilizza certificati X-509; • E’ implementato nativamente in molti client di posta elettronica(MS Outlook, Mozzilla/Netscape)

  19. OpenPGP vs S/MINME(confronto) • S/MIME e PGP non sono specifiche compatibili fra di loro. • Si parla anche di unificare i due prodotti in uno standard unico • Unica Sostanziale differenza  Modello di Fiducia: • OpenPGP: utilizza una gestione "utente-centrica" delle chiavi pubbliche (web of trust); • S/MIME: impiega una struttura gerarchica di certificazione (CA).

  20. Materiale di Approfondimento • Reti di Calcolatori Tannenbaum S. • www.enricozimuel.net • http://utenti.lycos.it/alexfebbo/security.html • http://www.gnupg.org/(it)/index.html.it • http://gnupg.spamsux.net • http://www.pgpi.org/docs • http://pgp.unito.it/doc Grazie.

More Related