41
Zilio Andrea Tesina di Maturità 5IC La Crittografia Moderna La Crittografia Moderna ITIS F. Severi Anno scolastico 2005/2006

La Crittografia Modernatesina.epper.org/Zilio Andrea - La Crittografia Moderna.pdf · Zilio Andrea Tesina di Maturità 5IC La Crittografia Moderna ... Le conseguenze dell'invenzione

  • Upload
    vuquynh

  • View
    286

  • Download
    3

Embed Size (px)

Citation preview

Page 1: La Crittografia Modernatesina.epper.org/Zilio Andrea - La Crittografia Moderna.pdf · Zilio Andrea Tesina di Maturità 5IC La Crittografia Moderna ... Le conseguenze dell'invenzione

Zilio Andrea Tesina di Maturità 5IC

La Crittografia ModernaLa Crittografia Moderna

ITIS F. Severi Anno scolastico 2005/2006

Page 2: La Crittografia Modernatesina.epper.org/Zilio Andrea - La Crittografia Moderna.pdf · Zilio Andrea Tesina di Maturità 5IC La Crittografia Moderna ... Le conseguenze dell'invenzione

Zilio Andrea La Crittografia Moderna

IndiceLa Nascita Della Comunicazione......................................................................................................... 4

La Scrittura...................................................................................................................................... 4Conseguenze............................................................................................................................... 4

La Stampa........................................................................................................................................ 4Effetti Sociali.............................................................................................................................. 5

La Nascita Delle Telecomunicazioni...............................................................................................5Il Secolo Dei Media......................................................................................................................... 6Internet............................................................................................................................................. 6

La Crittografia...................................................................................................................................... 6Cos'è La Crittografia?...................................................................................................................... 7

La Crittografia Classica........................................................................................................................7Cifrari A Trasposizione................................................................................................................... 7Cifrari Monoalfabetici..................................................................................................................... 8Cifrari Polialfabetici........................................................................................................................ 9

Come Viaggiano Le Informazioni Oggi.............................................................................................10Codifica Di Linea...........................................................................................................................10

Codifica NRZ............................................................................................................................10Codifica NRZI...........................................................................................................................11Codifica RZ...............................................................................................................................11Codifica Manchester................................................................................................................. 11

Modulazioni................................................................................................................................... 11Modulazioni Digitali................................................................................................................. 12

Modulazione ASK................................................................................................................12Modulazione FSK.................................................................................................................12Modulazione PSK.................................................................................................................13Modulazione QAM...............................................................................................................13

Il Modello Di Riferimento ISO/OSI.............................................................................................. 13Hub............................................................................................................................................14L'indirizzo MAC....................................................................................................................... 14Switch........................................................................................................................................15

Sicurezza In Una Rete LAN.......................................................................................................... 15Reti Hubbed.............................................................................................................................. 15Reti Switched............................................................................................................................ 16Switch Port Stealing..................................................................................................................16Il Protocollo ARP......................................................................................................................17ARP Cache Poisoning...............................................................................................................17

La Crittografia Moderna.....................................................................................................................18La Crittografia Simmetrica............................................................................................................ 19

DES........................................................................................................................................... 20IDEA......................................................................................................................................... 20AES........................................................................................................................................... 20

La Crittografia Asimmetrica..........................................................................................................20Come È Nata Questa Idea?....................................................................................................... 22RSA...........................................................................................................................................22ELGamal................................................................................................................................... 22

RSA.................................................................................................................................................... 23Matematica.....................................................................................................................................23

I Numeri Primi.......................................................................................................................... 23La Funzione Di Eulero..............................................................................................................24L'aritmetica Modulare............................................................................................................... 24L'inverso Nell'Aritmetica Modulare..........................................................................................25Il Teorema Di Fermat................................................................................................................27

Pagina 2

Page 3: La Crittografia Modernatesina.epper.org/Zilio Andrea - La Crittografia Moderna.pdf · Zilio Andrea Tesina di Maturità 5IC La Crittografia Moderna ... Le conseguenze dell'invenzione

Zilio Andrea La Crittografia Moderna

Il Teorema Di Eulero-Fermat....................................................................................................28Il Calcolo Dell'inverso Nell'aritmetica Modulare..................................................................... 28Generazione Di Un Numero Primo...........................................................................................29

L'algoritmo.....................................................................................................................................30Generazione Delle Chiavi......................................................................................................... 30Cifratura E Decifratura..............................................................................................................31Perché Funziona?...................................................................................................................... 31Perché È Sicuro?....................................................................................................................... 32

L'integrità Dei Messaggi.....................................................................................................................33Funzioni Di Hashing......................................................................................................................33

MD5.......................................................................................................................................... 33SHA...........................................................................................................................................33

Verificare L'Integrità..................................................................................................................... 34La Firma Digitale............................................................................................................................... 34

Firmare E Cifrare...................................................................................................................... 35Certification Authorities........................................................................................................... 36

Revoca Dei Certificati.......................................................................................................... 37La Crittografia Nella Realtà............................................................................................................... 37

SSL.................................................................................................................................................38La Crittografia Quantistica................................................................................................................. 40

Pagina 3

Page 4: La Crittografia Modernatesina.epper.org/Zilio Andrea - La Crittografia Moderna.pdf · Zilio Andrea Tesina di Maturità 5IC La Crittografia Moderna ... Le conseguenze dell'invenzione

Zilio Andrea La Crittografia Moderna

La Nascita Della ComunicazioneLa facoltà di comunicare è stata determinante per l'evoluzione dell’uomo e per il suo progresso culturale. Per questo la ricerca di mezzi e tecnologie adatte a gestire e controllare l'informazione ha caratterizzato la storia di ogni civiltà. Ogni nuovo strumento del comunicare ha profondamente trasformato la cultura e la società. Capire in che modo le tecnologie della comunicazione del passato abbiano influito sulle trasformazioni della società, è il mezzo per capire i cambiamenti di oggi, e cercare di indirizzarli.

La ScritturaDopo la parola, la prima tecnologia della comunicazione che l'umanità ha sviluppato, e senza dubbio la più importante, è la scrittura. La sua comparsa nella storia dell'uomo sembra risalire alla metà del quarto millennio a.C., nella zona della Mesopotamia , abitata all'epoca dai Sumeri.

In seguito molti sistemi di scrittura sono stati inventati autonomamente da altre civiltà, in tempi diversi e in diverse zone del mondo: i geroglifici egiziani risalgono al 3000 a. C., come la scrittura indiana, mentre gli Aztechi svilupparono la loro scrittura solo nel 1400 d. C.

Le prime forme di scrittura furono tutte essenzialmente ideografiche: scritture cioè in cui ad ogni simbolo corrisponde un concetto o un'idea. Questo sembra indicare la probabile evoluzione da precedenti forme di rappresentazione con figure. Solo più tardi alcuni dei simboli ideografici furono usati per rappresentare non interi concetti ma le prime sillabe delle parole che esprimevano tali concetti.

Fu probabilmente questo il passaggio di mezzo che portò allo sviluppo della scrittura fonetica alfabetica, quella scrittura cioè in cui i simboli rappresentano singoli suoni. I primi esempi di questa nuova forma di scrittura appaiono, sempre nella zona mediorientale, intorno al 1500 a.C., ma i Greci introdussero i segni per le vocali e completarono l'evoluzione della scrittura intorno all'ottavo secolo a.C.

ConseguenzeLe conseguenze dell'invenzione della scrittura furono enormi trasformando la mente umana più di qualsiasi altra invenzione.

Con il passare dei secoli, essa venne sempre più considerata come una funzione naturale. Probabilmente molte nostre capacità di conoscenza sono state "informate" dalla scrittura. Inoltre il sistema di rappresentare in modo astratto il pensiero, non più con figure, ma con l'alfabeto portò alla nascita del formare concetti per mezzo del ragionamento razionale e del pensare in modo più analitico.

In sostanza la scrittura alfabetica trasforma in testo quello che il linguaggio elabora come oggetto: l’uomo articola il pensiero in un insieme di concetti, argomentazioni e dimostrazioni. E lo stesso studio dell’origine dell’uomo (filosofia) nasce solo in Grecia e solo dopo l’introduzione dell'alfabeto.

La scrittura ebbe anche un ruolo fondamentale nel processo di civilizzazione dell'uomo: la fine del nomadismo, lo sviluppo delle economie di scambio, la nascita dello stato furono possibili solo con l'invenzione della scrittura. L’uomo poté tenere conto delle merci scambiate e immagazzinate, scrivere le leggi, non considerare più importante il capotribù ma il sovrano che per legge comandava la società perché difensore delle leggi stesse.

La StampaIl secondo grande passaggio storico nella storia delle tecnologie della scrittura è stata l'invenzione della stampa da parte di Gutenberg alla metà del 1400. Anche in questo caso molti studiosi hanno

La Nascita della Comunicazione Pagina 4

Page 5: La Crittografia Modernatesina.epper.org/Zilio Andrea - La Crittografia Moderna.pdf · Zilio Andrea Tesina di Maturità 5IC La Crittografia Moderna ... Le conseguenze dell'invenzione

Zilio Andrea La Crittografia Moderna

mostrato come la stampa abbia avuto enormi effetti sulla cultura occidentale: la modernità coincide con l'era della stampa.

Essa fece maturare alcuni fenomeni che erano iniziati con la diffusione della scrittura alfabetica. Il concetto di testo come sistema coerente di idee (trattato) o di fatti (romanzo) esposte in modo lineare e in sequenza divenne definitivamente la base della conoscenza. Anzi, grazie all’aiuto di una tecnica che fissava definitivamente il testo e ne moltiplicava gli esemplari identici, si rafforzò il concetto di opera autentica ed originale, e quella di autore unico responsabile dei suoi contenuti. Con la stampa scompariva pian piano la figura del copista, spesso autore egli stesso e dunque spinto a introdurre nella copia le sue idee ed i suoi commenti. Nasce così l’autore.

Inoltre la riproduzione del testo era affidata a persone diverse dallo studioso, e ciò non lo obbligava a conservare una copia del testo. Infine, il libro stampato costava meno ed era molto più maneggevole del manoscritto; dunque permetteva di considerare la lettura tre le attività private dell'individuo. Infatti le discipline moderne che studiano la rielaborazione dei concetti, si affermarono solo dopo l'invenzione della stampa.

Effetti SocialiLa stampa aumentò notevolmente la diffusione dei testi (anche se ci vollero decenni), essa oltrepassò la ristretta cerchia degli specialisti, per raggiungere un pubblico sempre più numeroso e posto in fasce sociali nuove come la borghesia. Se da una parte ciò determinò una diffusione del sapere sconosciuta fino ad allora ed una progressiva acculturazione delle nuove classi sociali, dall'altra la stessa diffusione agì sul modo di scrivere sia dal punto di vista della lingua, con una forte spinta al normalizzarla anche dal punto di vista ortografico, sia da quello dei contenuti.

La diffusione del sapere e delle informazioni venne amplificata con la nascita, nel diciottesimo secolo, dei primi giornali periodici di informazione. I giornali ebbero subito una fortuna grandissima tra le nuove classi sociali, che in essi trovarono un importante mezzo di passaggio di idee, ed uno strumento di battaglia politica e culturale. Nacque così il concetto di "opinione pubblica", insieme delle idee di un pubblico padrone di informazioni sufficienti per formulare giudizi sui fatti politici e culturali.

La Nascita Delle TelecomunicazioniA partire dall'Ottocento la storia dei mezzi di comunicazione si legò in modo definitivo allo sviluppo tecnologico ed industriale, subendo una accelerazione impressionante. Due furono le grandi innovazioni portate dal secolo scorso: la nascita dei primi sistemi di comunicazione a distanza (radio, telefono), lo sviluppo delle prime tecnologie dell'immagine (cinema, animazione, fotografia).

Tra il 1830 e il 1840, l'invenzione e la diffusione del telegrafo elettrico rese possibile per la prima volta la trasmissione di un segnale a distanza in tempo reale: nacquero così le telecomunicazioni. Negli stessi anni Louis Daguerre sviluppò la fotografia, che per la prima volta permise la produzione di immagini della realtà mediante un apparato meccanico. L'importanza di questa invenzione fu capita immediatamente dalle grandi menti del tempo.

Una vera e propria esplosione nelle tecnologie della comunicazione si verifica nell'ultimo ventennio del secolo. Nel 1876 Graham Bell brevettò il telefono, rendendo possibile la comunicazione vocale a distanza. Thomas Edison inventò i primi sistema per la registrazione e riproduzione meccanica del suono: il fonografo e il grammofono.

Ma il vero e proprio ingresso trionfale nel secolo dei media si colloca nel 1895, anno in cui i fratelli Lumiere a Parigi riuscirono a sviluppare un sistema per la creazione e la riproduzione di immagini in movimento: era nato il cinema. In pochi anni intorno a questa tecnologia di produzione e riproduzione di immagini in movimento si sviluppò la prima vera forma di industria dello spettacolo, dando inizio ad un processo che percorre tutto il Novecento per arrivare fino alla odierna differenziazione tra industria delle comunicazioni e industria dello spettacolo.

La Nascita della Comunicazione Pagina 5

Page 6: La Crittografia Modernatesina.epper.org/Zilio Andrea - La Crittografia Moderna.pdf · Zilio Andrea Tesina di Maturità 5IC La Crittografia Moderna ... Le conseguenze dell'invenzione

Zilio Andrea La Crittografia Moderna

Il Secolo Dei MediaIl ‘900 è il secolo dei media.

Varie sono state le ramificazioni delle tecnologie della comunicazione (sviluppo di nuovi strumenti, evoluzione e diffusione sociale dei media).

Nel 1920, grazie alle ricerche di Guglielmo Marconi sulla trasmissione di suoni a distanza mediante la modulazione di onde elettromagnetiche, iniziarono negli Stati Uniti le prime trasmissioni radio. La radiofonia è stata il primo sistema di comunicazione in grado di inviare messaggi in tempo reale a milioni di persone nello stesso momento e nelle loro case: il primo vero e proprio mass medium. Per questo essa ha avuto un ruolo tanto importante nella comunicazione politica di quegli anni.

Negli Stati Uniti, poi, sin dalle origini, la comunicazione radiofonica è divenuta un'impresa commerciale che si sosteneva mediante la pubblicità, dando così un ulteriore sviluppo all'industria dell'informazione e dello spettacolo.

Negli anni trenta infine, mentre il cinema diveniva prima sonoro e poi a colori, iniziarono i primi esperimenti di trasmissione a distanza di immagini in movimento mediante onde elettromagnetiche. Nel novembre del 1936 la BBC inaugurò a Londra il primo servizio di trasmissioni televisive. Nel giro di trenta anni la televisione si è diffusa in tutto il mondo, divenendo il mezzo di comunicazione di massa più efficace e persuasivo che l'uomo ha fino ad ora sviluppato, e soprattutto contribuendo ad una radicale trasformazione delle abitudini di vita e delle relazioni sociali in tutti i paesi dell'occidente, e non solo.

InternetI media tradizionali, monodirezionali , prevedono un processo comunicativo di tipo asimmetrico in cui l'utente è un soggetto passivo che deve vedere qualcosa proposto da altri.

La rivoluzione avviene tramite la Rete che produce una comunicazione in cui il ricevente ha un ruolo più attivo.

Una caratteristica di Internet è, infatti, la scelta di percorsi di lettura individuali. Questo permette all'utente di poter approfondire gli argomenti di proprio interesse risolvendo il problema della sempre più dilagante omologazione della società che prese piede durante la seconda rivoluzione industriale.

Proprio questo aspetto della Rete permette di andare incontro alla volontà dell'utente e di personalizzare la sua navigazione. Questo accade anche nella pubblicità in Internet che, per esempio nei motori di ricerca o nelle caselle email, offre informazioni pubblicitarie in base al contenuto delle proprie ricerche o dei messaggi che stiamo leggendo.

In questo senso Internet sembra rappresentare una sintesi fra le tendenze del sistema televisivo che fino ad oggi ha spinto verso l'omogeneizzazione e la perdita di identità e quelle della stampa che hanno sempre spinto verso la stratificazione a causa della considerevole differenziazione del pubblico a seconda del genere.

Internet conserva della televisione la capacità di raggiungere con la stessa facilità e con le stesse informazioni persone sparse in tutto il mondo, recupera dalla stampa la possibilità dell'individualizzazione dell'informazione e permette agli stessi utenti di diventare anche autori aggiungendo le proprie idee, i propri pensieri, le proprie ricerche nella rete andando a creare uno dei sistemi di comunicazione più democratici che esistano.

La CrittografiaCome abbiamo visto, la nascita della comunicazione e, in principio, della parola ha permesso all'umanità la condivisione di idee, pensieri e opinioni.

Questa tipologia di comunicazione ha, però, immediatamente messo l'uomo nella situazione in cui

La Crittografia Pagina 6

Page 7: La Crittografia Modernatesina.epper.org/Zilio Andrea - La Crittografia Moderna.pdf · Zilio Andrea Tesina di Maturità 5IC La Crittografia Moderna ... Le conseguenze dell'invenzione

Zilio Andrea La Crittografia Moderna

era necessario indirizzare i propri punti di vista solamente verso alcune persone.

Così nacquero i segreti.

Poteva essere relativamente semplice raggiungere questi scopi con le comunicazioni orali, la soluzione si rese però più complessa con l'avvento della scrittura.

E' così che nacque la crittografia.

Cos'è La Crittografia?

Crittografia deriva dal greco con “kryptòs” che significa “nascosto” e “gráphein” che significa “scrivere”; assume quindi il significato “Scrittura Nascosta” e descrive la disciplina che tratta i metodi necessari per rendere un messaggio comprensibile solamente alle persone autorizzate.

Assieme al desiderio di nascondere le informazioni esiste anche quello di scoprire le informazioni nascoste:

Crittanalisi è una parola che deriva anch'essa dal greco: “kryptòs” ovvero “nascosto” e “nalýein” cioè “risolvere”. Questo termine definisce l'insieme di procedimenti e studi volti ad analizzare informazioni crittografate allo scopo di ricavarne il contenuto originario.

Questi due termini descrivono due ambiti contrapposti che però appartengono ad una stessa scienza: la “Crittologia”.

La Crittografia Classica

Come abbiamo detto la crittografia ha origine antichissime.

Le prime testimonianze sicure del suo utilizzo risalgono al IX secolo a.C. dove veniva utilizzata una tecnica molto particolare.

Questo primo esempio di crittografia consisteva in un bastone, chiamato “scitala”, su cui si avvolgeva ad elica un nastro di cuoio; sul nastro si scriveva per colonne parallele all'asse del bastone, e lettera per lettera, il testo segreto. Tolto il nastro dal bastone, il testo vi risultava trasposto in modo regolare ma sufficiente per evitare la lettura senza un secondo bastone uguale al primo.

Tutte le tecniche di cifratura della Crittografia Classica si possono raggruppare in “Famiglie di Cifrari”. Vediamo le più famose:

Cifrari A TrasposizioneDato il messaggio in chiaro, i simboli che ne formano il contenuto vengono mescolati secondo un criterio prestabilito.

Nel caso il messaggio sia di tipo testuale il relativo messaggio cifrato sarà un anagramma del testo originale.

Di questa categoria fa parte la tecnica della scitala citata prima.

La Crittografia Classica Pagina 7

Page 8: La Crittografia Modernatesina.epper.org/Zilio Andrea - La Crittografia Moderna.pdf · Zilio Andrea Tesina di Maturità 5IC La Crittografia Moderna ... Le conseguenze dell'invenzione

Zilio Andrea La Crittografia Moderna

Cifrari MonoalfabeticiIn questo tipo di cifrari, chiamati anche “Cifrari a Sostituzione”, ad ogni simbolo del messaggio originale viene associato uno e solo un simbolo cifrato.

Viene quindi creato un alfabeto di cifratura.

Uno dei primi esempi di Cifrario Monoalfabetico è sicuramente il “Cifrario di Cesare”.

Il suo nome è dato dal fatto che questo era il metodo utilizzato da Giulio Cesare per le comunicazioni riservate, soprattuto per quelle militari.

Questo cifrario consiste nel creare un'alfabeto di cifratura in cui la posizione delle lettere, rispetto alla loro normale collocazione, è spostata di 3 posti verso sinistra.

Alfabeto normale: A B C D E F G H I J K L M N O P Q R S T U V W X Y ZAlfabeto cifrante: D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

Il messaggio “Cifrario di Cesare” veniva quindi tradotto in questo modo:

Messaggio originale: C I F R A R I O D I C E S A R EMessaggio cifrato: F L I U D U L R G L F H V D U H

Al tempo questa tecnica dava una buona sicurezza perché i nemici non riuscivano a leggere facilmente nemmeno i messaggi in chiaro.

Al giorno d'oggi, però, questo metodo è facilmente attaccabile dalle tecniche di Crittanalisi che analizzano la frequenza delle lettere di ogni lingua.

Ecco per esempio l'occorrenza, in percentuale, di ogni lettera nell'opera di Alessandro Manzoni “I Promessi Sposi”:

Si può notare come le vocali siano le più utilizzate.

Per forzare un testo cifrato monoalfabetico, si esegue una statistica della frequenza delle lettere presenti nel messaggio cifrato e si costruisce un grafico disponendo i caratteri in ordine decrescente.

I caratteri più frequenti nel crittogramma, saranno le lettere più frequenti nella lingua e questo permette di ricostruire il messaggio originale.

La Crittografia Classica Pagina 8

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z0123

456

789

10

1112

Frequenza delle lettere

Lettere

Freq

uenz

a (%

)

Page 9: La Crittografia Modernatesina.epper.org/Zilio Andrea - La Crittografia Moderna.pdf · Zilio Andrea Tesina di Maturità 5IC La Crittografia Moderna ... Le conseguenze dell'invenzione

Zilio Andrea La Crittografia Moderna

Cifrari PolialfabeticiA differenza di quelli Monoalfabetici, nei Cifrari Polialfabetici ad ogni lettera del testo originale non corrisponde sempre lo stesso carattere cifrato.

Questo perché vengono utilizzati più alfabeti di cifratura.

Un esempio di questa tecnica è il “Cifrario di Vigenere”.

A differenza del Cifrario di Cesare, dove ogni lettera veniva traslata sempre dello stesso numero di posti, in quello di Vigenere ogni carattere viene spostato di un numero di posizioni variabili.

Per semplificarne l'utilizzo si adotta una tavola quadrata di questo tipo che identifica 26 alfabeti differenti incolonnati, tutti con le lettere spostate di una posizione rispetto a quello affianco:

Nel caso si voglia cifrare il messaggio “HELLO WORLD” si sceglie una chiave, per esempio “KEY”.

Ora si scrivono, una sotto l'altro, prima il messaggio e poi la chiave che viene ripetuta fino a raggiungere la lunghezza del messaggio stesso.

Per cifrare un carattere si recupera la lettera nella stessa posizione all'interno della chiave che abbiamo ripetuto e si utilizza, come alfabeto di riferimento, quello che, nella tabella di prima, inizia con questa lettera.

Il primo carattere del testo che abbiamo considerato è “H” e subito sotto troviamo la lettera “K” corrispondente alla chiave. Utilizziamo quindi l'alfabeto che appare nella colonna che inizia con la lettera “K”(11° colonna). Da questo alfabeto prendiamo l'8° carattere (8 è la posizione della lettera H nell'alfabeto ordinario) cioè “R” che sarà la versione cifrata della lettera “H”.

Ecco una tabella che riassume i vari passaggi:

Messaggio originale: H E L L O W O R L D

Chiave: K E Y K E Y K E Y K

Messaggio cifrato: R I J V S U Y V J N

La Crittografia Classica Pagina 9

A B C D E F G H I J K L M N O P Q R S T U V W X Y ZB C D E F G H I J K L M N O P Q R S T U V W X Y Z AC D E F G H I J K L M N O P Q R S T U V W X Y Z A BD E F G H I J K L M N O P Q R S T U V W X Y Z A B CE F G H I J K L M N O P Q R S T U V W X Y Z A B C DF G H I J K L M N O P Q R S T U V W X Y Z A B C D EG H I J K L M N O P Q R S T U V W X Y Z A B C D E FH I J K L M N O P Q R S T U V W X Y Z A B C D E F GI J K L M N O P Q R S T U V W X Y Z A B C D E F G HJ K L M N O P Q R S T U V W X Y Z A B C D E F G H IK L M N O P Q R S T U V W X Y Z A B C D E F G H I JL M N O P Q R S T U V W X Y Z A B C D E F G H I J KM N O P Q R S T U V W X Y Z A B C D E F G H I J K LN O P Q R S T U V W X Y Z A B C D E F G H I J K L MO P Q R S T U V W X Y Z A B C D E F G H I J K L M NP Q R S T U V W X Y Z A B C D E F G H I J K L M N OQ R S T U V W X Y Z A B C D E F G H I J K L M N O PR S T U V W X Y Z A B C D E F G H I J K L M N O P SS T U V W X Y Z A B C D E F G H I J K L M N O P Q RT U V W X Y Z A B C D E F G H I J K L M N O P Q R SU V W X Y Z A B C D E F G H I J K L M N O P Q R S TV W X Y Z A B C D E F G H I J K L M N O P Q R S T UW X Y Z A B C D E F G H I J K L M N O P Q R S T U VX Y Z A B C D E F G H I J K L M N O P Q R S T U V WY Z A B C D E F G H I J K L M N O P Q R S T U V W XZ A B C D E F G H I J K L M N O P Q R S T U V W X Y

Page 10: La Crittografia Modernatesina.epper.org/Zilio Andrea - La Crittografia Moderna.pdf · Zilio Andrea Tesina di Maturità 5IC La Crittografia Moderna ... Le conseguenze dell'invenzione

Zilio Andrea La Crittografia Moderna

Come si può notare nel messaggio cifrato i caratteri che si ripetono non corrispondono alle stesse lettere del testo originale. Questo fatto consente al cifrario di Vigenere di offrire una sicurezza maggiore rispetto a quello di Cesare.

Come Viaggiano Le Informazioni OggiLe tecniche che abbiamo visto finora erano adatte al tempo in cui venivano utilizzate, ma la nascita dei computer ed il modo di comunicare è cambiato drasticamente nell'ultimo secolo: è impensabile che oggi, due aziende, per scambiarsi i dati riservati dei propri clienti, usino una scitala per garantire la privacy.

Al giorno d'oggi, infatti, ogni informazione, per poter viaggiare velocemente, è trasformata in una serie di bit e transita nei cavi delle reti di tutto il mondo.

Vediamo quindi come le informazioni binarie vengono trasmesse.

Codifica Di LineaLe tecnologie trasmissive delle reti locali seguono lo standard IEEE 802.3 ed in nessuna delle varie versioni di questo standard è prevista una codifica binaria diretta dove 0V indichi un bit a zero e 5V un bit a 1.

Questo è dovuto al fatto che una trasmissione di questo tipo potrebbe indurre a delle ambiguità e delle difficoltà nel decodificare il segnale, specialmente nel caso in cui si presentino serie consecutive di bit uguali.

Per risolvere questi problemi si utilizzano delle tecniche di codifica di linea:

Con il termine Codifica di Linea si intende un insieme di tecniche usate per adattare un segnale al tipo di linea in cui deve transitare

Nel momento della trasmissione, il segnale digitale viene trasformato in una sequenza di impulsi in base al codice di linea utilizzato e viene quindi trasmesso sul canale con il ritmo imposto dal clock di trasmissione.

Il ricevitore dovrà quindi essere sincronizzato con lo stesso segnale di clock del trasmettitore per poter riconoscere e separare i bit in modo corretto.

Una caratteristica fondamentale della codifica utilizzata è perciò la sincronizzazione senza troppe difficoltà con il clock del trasmettitore.

A differenza delle trasmissioni analogiche in cui anche il minimo rumore sul canale distorce il segnale originale, nelle trasmissioni digitali di questo tipo, se il rumore non è eccessivo, la sua presenza non altera il contenuto informativo di partenza.

Tra i tipi più comuni di codifica di linea vi sono: NRZ, NRZI, RZ e Manchester:

Codifica NRZNon return to zero

La codifica NRZ rappresenta i valori 0 e 1 mediante due differenti livelli, costanti per tutta la durata del periodo di bit. La presenza di un livello alto nel periodo rappresenta il valore binario 1 mentre un valore basso rappresenta il valore 0.

La codifica NRZ ha come vantaggio l'uso più efficiente della banda. Tuttavia può avvenire una perdita di

sincronismo in presenza di lunghe sequenze di 0 o 1 che causano assenza di transizioni. Per

Come Viaggiano Le Informazioni Oggi Pagina 10

Page 11: La Crittografia Modernatesina.epper.org/Zilio Andrea - La Crittografia Moderna.pdf · Zilio Andrea Tesina di Maturità 5IC La Crittografia Moderna ... Le conseguenze dell'invenzione

Zilio Andrea La Crittografia Moderna

risolvere questo problema, e forzare la generazione di transizioni, vengono allungate le sequenze di bit da inviare attraverso l'utilizzo di particolari tabelle di transcodifica (ad esempio 4B/5B) che assicurano delle variazioni del segnale. Questa tecnica introduce però un overhead, ovvero un aumento delle informazioni da inviare, che nel caso delle tabelle 4B/5B è del 25%.

Per questi motivi la Codifica NRZ è utilizzata solamente in casi particolari: per esempio nei collegamenti su fibra ottica.

Codifica NRZINon return to zero inverted

Deriva dall'NRZ e la I sta per “Inverted”. Il livello del segnale permane nello stesso stato per i bit con valore 1, mentre cambia stato per i bit con valore 0.

Anche con tale tecnica di codifica, permangono i problemi legati alla sincronizzazione, sebbene nel caso di lunghe sequenze di zeri si riesca ad estrarre l'informazione di temporizzazione grazie alle continue transazioni.

La ridotta occupazione spettrale lo rende però interessante.

Codifica RZReturn to zero

La codifica RZ usa la metà del periodo di bit per trasmettere informazione. Un impulso della durata di mezzo periodo, presente nella prima metà, rappresenta il valore 1. Il valore ritorna poi a zero nella seconda metà del periodo. Il valore 0 è rappresentato dall'assenza di impulso per tutta la durata del periodo.

Dal momento che la codifica RZ usa metà del periodo, essa richiede il doppio della banda rispetto alla NRZ.

Una perdita di sincronizzazione può avvenire in presenza di lunghe sequenze di zeri.

Codifica ManchesterLa codifica Manchester presenta una transazione in ogni periodo di bit. Una transazione da un livello alto ad uno basso, che avviene nel mezzo del periodo, rappresenta il valore 1. Viceversa una transazione da un livello basso ad uno alto rappresenta il valore 0.

Il vantaggio di tale codifica è dato dal fatto che questa tecnica ci assicura che ogni periodo di bit abbia una transazione nel mezzo, rendendo più facile, al ricevente, la sincronizzazione con il clock del trasmettitore.

Tutti i sistemi 802.3 a banda base usano la codifica Manchester per la sua semplicità. Il segnale alto è di +0,85 V e il segnale basso di -0,85 V.

Modulazioni

La modulazione è una tecnica di trasmissione in cui l'onda del segnale da trasmettere (onda modulante) viene associata ad un altro segnale detto portante che ha caratteristiche più adatte alla trasmissione. Il risultato è un onda modulata.

Come Viaggiano Le Informazioni Oggi Pagina 11

Page 12: La Crittografia Modernatesina.epper.org/Zilio Andrea - La Crittografia Moderna.pdf · Zilio Andrea Tesina di Maturità 5IC La Crittografia Moderna ... Le conseguenze dell'invenzione

Zilio Andrea La Crittografia Moderna

Modulazioni Digitali

Si chiamano modulazioni digitali quel tipo di modulazioni in cui il segnale modulante è di tipo digitale.

Sono solitamente impiegate nella trasmissione dati fra modem, nei ponti radio, nei cellulari, nei collegamenti via satellite.

In questo tipo di modulazioni i parametri di modulazione non variano in modo continuo come accade per le modulazioni analogiche, ma assumono solo determinati valori ciascuno dei quali costituisce uno stato di modulazione da cui si ricaverà il segnale digitale associato.

Come vedremo nella modulazione QAM, è possibile utilizzare più stati di modulazione in modo da aumentare la velocità di trasmissione.

Per determinare il numero di bit che si possono trasmettere per ogni ciclo, a partire da un numero M di stati di modulazione, si utilizza la formula:

R s=log2M

Le modulazioni digitali vengono spesso classificate in base ai parametri della portante che vengono modificati per avere il segnale modulato.

Vediamo le principali tecniche:

Modulazione ASK

Nella ASK, ovvero “Amplitude-Shift Keying”, il segnale digitale, che costituisce l’informazione da trasmettere, va a modulare una portante sinusoidale facendone variare l’ampiezza in modo tale da far corrispondere all’uno logico la portante stessa e, allo zero logico l’assenza della portante, come in figura.

Questo tipo di modulazione, di facile realizzazione sia nei modulatori sia nei demodulatori, è stata usata sempre nelle telescriventi e in qualche tipo di ponte radio a breve distanza.

Purtroppo è molto sensibile al rumore, per questo oggi è utilizzata poco, nonostante sia stata impiegata per prima.

Modulazione FSK

Nella FSK, acronimo di “Frequency-shift keying”, la portante viene modificata, in base allo stato logico del segnale modulante, per fare assumere al segnale modulato 2 frequenze definite.

Allo stato logico 1 corrisponde una frequenza maggiore in uscita, mentre allo 0 corrisponde la frequenza minore.

Questo tipo di modulazione è stata usata nei primi modem, V21 e V23 molto lenti rispetto a quelli odierni, e, grazie alla sua elevata immunità ai disturbi, anche dove vi era un elevato livello di interferenza e rumore come nei ponti radio.

Permettendo solo 2 livelli non viene però più scelta nemmeno in queste applicazioni per la scarsa velocità che ne risulta, ma viene utilizzata nelle trasmissioni GSM fra cellulari.

Come Viaggiano Le Informazioni Oggi Pagina 12

Page 13: La Crittografia Modernatesina.epper.org/Zilio Andrea - La Crittografia Moderna.pdf · Zilio Andrea Tesina di Maturità 5IC La Crittografia Moderna ... Le conseguenze dell'invenzione

Zilio Andrea La Crittografia Moderna

Modulazione PSK

La modulazione PSK, “Phase-shift keying”, fa assumere alla frequenza portante delle fasi discrete in funzione dei bit o della sequenza di bit da trasmettere. Le fasi sono normalmente equidistanti, per massimizzare la differenza tra i differenti stati o simboli.

In base al numero di stati si avranno modulazioni:

➢ 2PSK

➢ 4PSK (velocità doppia rispetto alla 2PSK)

➢ 8PSK (velocità tripla rispetto alla 2PSK)

Maggiore sarà il numero di stati, maggiori saranno le informazioni trasmesse e, conseguentemente, si avrà una maggiore velocità.

Modulazione QAM

La QAM (“Quadrature amplitude modulation”) indica la combinazione di modulazione di ampiezza e di fase.

Questa modulazione è utilizzata in tutti quei casi in cui la velocità di trasmissione deve essere elevata.

Essa, infatti, permette una codifica multilivello che, grazie alla combinazione delle possibili caratteristiche di fase e ampiezza, consente di trasmettere più bit per ogni ciclo (baud).

Nell'esempio a lato abbiamo rappresentato le combinazioni di una modulazione QAM con 4 valori di ampiezza e 4 di fase. Risultano quindi 16 stati differenti.

Calcoliamo il numero di bit trasportati:

R s=log2 16=4bit

E' perciò possibile associare ad ogni stato fino a 4 bit permettendo di trasportare più informazioni per ogni ciclo.

Nella realtà, quando si utilizzano canali poco rumorosi, si può arrivare ad avere fino 256 stati differenti.

Questo tipo di modulazione trova applicazione nei ponti radio, nei modem, e anche nella tecnologia ADSL.

Il Modello Di Riferimento ISO/OSIUna rete è formata da più apparati chiamati nodi. Il trasferimento delle informazioni da un nodo all'altro avviene attraverso più stadi successivi: il nodo che intende trasmettere l'informazione la completa con ulteriori dati necessari alla sua manipolazione da parte degli altri elementi della rete, e la codifica in un formato adatto alla trasmissione; successivamente opera la trasmissione sul canale che lo mette in comunicazione con il nodo ricevente. Questo provvede alla decodifica del segnale

Come Viaggiano Le Informazioni Oggi Pagina 13

Page 14: La Crittografia Modernatesina.epper.org/Zilio Andrea - La Crittografia Moderna.pdf · Zilio Andrea Tesina di Maturità 5IC La Crittografia Moderna ... Le conseguenze dell'invenzione

Zilio Andrea La Crittografia Moderna

ricevuto e alla interpretazione dei dati di controllo per poter ricostruire l'informazione originaria e offrirla all'utente.

Verso la fine degli anni '70 la ISO (International Standard Organization), con lo scopo di uniformare la comunicazione anche tra reti progettate da case diverse, sviluppò un modello standardizzato, chiamato modello di riferimento OSI (Open System Interconnection) che descrive il modo in cui le informazioni vengono trasferite tra i vari nodi di una rete in rete tramite 7 livelli:

➢ Livello 7: Application

➢ Livello 6: Presentation

➢ Livello 5: Session

➢ Livello 4: Transport

➢ Livello 3: Network

➢ Livello 2: Datalink

➢ Livello 1: Phisical

Il primo livello chiamato “Phisical Layer”, ovvero “Livello fisico”, gestisce il mezzo trasmissivo occupandosi della conversione tra bit e segnali sfruttando le tecniche che abbiamo visto nel capitolo precedente.

I livelli superiori servono ad aggiungere varie funzionalità fino a permettere il funzionamento dei programmi che quotidianamente utilizziamo.

Esistono però altri apparti di rete che servono per connettere fra loro più di 2 host. Questi operano su un numero di livelli inferiori del modello di riferimento ISO/OSI.

HubUn hub è un dispositivo multiporta che inoltra i dati in arrivo da una qualsiasi delle sue porte verso tutte le altre.

La conseguenza di questo comportamento è una riduzione della banda totale disponibile all'aumentare dei dati inviati.

Un hub non ha bisogno di riconoscere la tipologia dei dati che lo attraversano e lavora quindi solamente al Livello Fisico del modello OSI in quanto ritrasmette semplicemente i segnali elettrici.

L'indirizzo MACPer identificare univocamente ogni nodo di una rete LAN, è stato stato inventato un indirizzo, chiamato Indirizzo MAC o Indirizzo Fisico, che viene gestito a Livello Datalink.

Ogni Network Interface Card (NIC,scheda di rete) ne possiede uno diverso da tutte le altre.

Questo indirizzo è composto da 6 byte (48 bit) e sono disponibili quindi 281.474.976.710.656 indirizzi.

I primi 3 otteti di ogni MAC identificano la casa produttrice della NIC ed i restanti 5 byte individuano la specifica scheda.

In genere ogni byte viene rappresentato in notazione esadecimale separato dagli altri con un trattino.

Come Viaggiano Le Informazioni Oggi Pagina 14

Page 15: La Crittografia Modernatesina.epper.org/Zilio Andrea - La Crittografia Moderna.pdf · Zilio Andrea Tesina di Maturità 5IC La Crittografia Moderna ... Le conseguenze dell'invenzione

Zilio Andrea La Crittografia Moderna

Un particolare indirizzo MAC è FF-FF-FF-FF-FF-FF e identifica l'indirizzo di broadcast; quando un pacchetto ha come destinazione questo indirizzo verrà inviato a tutti i nodi del proprio dominio di broadcast indipendentemente dal fatto che vengano utilizzati hub o switch.

SwitchA differenza dell'hub, lo switch inoltra i pacchetti in arrivo solamente verso le porte relative agli host dei destinatari.

Questa selezione, che non riduce la banda disponibile della rete, è possibile perché questo apparato di rete lavora al Livello Datalink leggendo gli indirizzi MAC che identificano univocamente le schede di rete (NIC) di sorgente e destinazione.

Sicurezza In Una Rete LANQuando si tratta la sicurezza nelle reti informatiche ci si preoccupa soprattutto della difesa nei confronti degli attacchi esterni.

Le statistiche dimostrano però che la maggior parte degli attacchi alle reti LAN aziendali provengono dalla rete stessa e, in questo caso, possono avere anche conseguenze peggiori.

I tipi di attacchi più comuni e da cui ci si deve proteggere sono:

➢ Sniffing

Consiste nell'intercettare le comunicazioni fra gli host della LAN

➢ Hijacking

Permette di falsificare la propria identità allo scopo di dirottare una connessione

➢ Man In The Middle

Con cui è possibile intromettersi nella comunicazione tra due PC

In base alla struttura della rete da attaccare possono essere utilizzate differenti tecniche per portare a termine i propri scopi.

Vediamo quindi le tipologie di reti più diffuse e i relativi attacchi a cui possono essere sottoposte:

Reti HubbedComunemente le reti locali utilizzano una tipologia a stella in cui ogni host è collegato ad un apparato che gestisce la comunicazione e lo smistamento dei pacchetti.

Nelle reti più datate, o costituite da un numero molto ristretto di calcolatori, si possono trovare gli hub a svolgere il compito di concentratori.

Come abbiamo visto l'hub non fa altro che inviare su ogni porta il segnale in arrivo, lasciando ai vari host il compito di scartare i messaggi che non sono a loro destinati se il confronto dell'indirizzo MAC di destinazione del pacchetto con il proprio il proprio fallisce.

Esiste però una modalità delle NIC, chiamata Modalità Promiscua, che disattiva questo controllo hardware permettendo alla scheda di rete di analizzare tutti i pacchetti che le arrivano.

Come Viaggiano Le Informazioni Oggi Pagina 15

Page 16: La Crittografia Modernatesina.epper.org/Zilio Andrea - La Crittografia Moderna.pdf · Zilio Andrea Tesina di Maturità 5IC La Crittografia Moderna ... Le conseguenze dell'invenzione

Zilio Andrea La Crittografia Moderna

Questa situazione permette quindi, ad un eventuale hacker collegato con un PC ad un hub, di vedere, mediante un software di sniffing, i frame diretti ad altri computer connessi allo stesso hub.

Se l'hacker volesse potrebbe anche effettuare una selezione sui pacchetti da leggere esaminando, per esempio, solo quelli diretti al gateway o al router, potendo quindi rubare eventuali password dirette alla rete internet.

Reti SwitchedGli switch sono anch'essi dei concentratori, ma al giorno d'oggi sono più diffusi e, come abbiamo visto, inviano i pacchetti in arrivo solamente al PC di destinazione.

Per fare questo gli switch hanno al loro interno una tabella, denominata CAM Table (Content Address Memory Table), in cui vengono memorizzate le associazioni fra il numero di porta e l'indirizzo MAC relativo alla NIC collegata.

Quando arriva un pacchetto, per scegliere dove inviarlo, lo switch consulta la tabella CAM per trovare la porta corrispondente al MAC di destinazione specificato nel frame e lo instrada su quella.

Solamente in caso la tabella non contenga il MAC del destinatario invia il pacchetto a tutti, proprio come farebbe un hub.

L'aggiornamento delle varie corrispondenze nella tabella CAM è effettuato dinamicamente: ad ogni pacchetto inviato da un host collegato vengono memorizzati porta e MAC e solamente dopo un certo lasso di tempo, se non ci sono più comunicazioni da parte di quell'host, l'associazione viene rimossa.

Questa soluzione sembrerebbe arginare il problema dello sniffing, ma non è così.

Il trucco sta nello sfruttare il fatto che la tabella CAM non può essere troppo grande, infatti ha un limite di memoria disponibile e quando questa viene superata, ed un pacchetto in arrivo non

trova alcuna corrispondenza con il MAC di destinazione, questo viene mandato verso tutte le NIC collegate.

Sfruttando la tecnica del MAC spoofing, che consente di modificare l'indirizzo fisico del mittente di un pacchetto in uscita, si inviano in successione più frame con indirizzi MAC del mittente fasulli allo scopo, una volta giunti allo switch, di occupare tutta la memoria disponibile per la tabella CAM.

A questo punto quando un host legittimo collegato allo switch cercherà di inviare un pacchetto verso un altro PC, non trovando una corrispondenza nella CAM, in quanto occupata totalmente dai MAC fasulli spediti dall'hacker, lo invierà a tutti consentendo anche all'intruso, tramite la Modalità Promiscua spiegata prima, di leggere i pacchetti.

Questa tecnica viene chiamata “CAM table flooding”.

Switch Port StealingAnche questa tecnica fa utilizzo del MAC Spoofing visto prima.

Chiamiamo “A” l'utente che vuole mandare un messaggio a “B” e con “H” indichiamo l'hacker che vuole intercettare questa comunicazione.

Lo scopo di questo tipo di attacco è far credere allo switch che il PC dell'intruso H sia quello del destinatario B.

Come Viaggiano Le Informazioni Oggi Pagina 16

Page 17: La Crittografia Modernatesina.epper.org/Zilio Andrea - La Crittografia Moderna.pdf · Zilio Andrea Tesina di Maturità 5IC La Crittografia Moderna ... Le conseguenze dell'invenzione

Zilio Andrea La Crittografia Moderna

Per fare questo è sufficiente che l'hacker H invii allo switch un pacchetto con l'indirizzo MAC del mittente uguale a quello del destinatario legittimo della comunicazione che si vuole intercettare, ovvero B.

In questo modo nella tabella CAM del concentratore sarà memorizzata l'associazione fra la porta dell'hacker (H) e il MAC del destinatario autorizzato (B) e quindi ogni messaggio inviato dall'utente A per l'utente B verrà spedito ad H che potrà quindi vederne il contenuto. (tramite la modalità promiscua).

Questa associazione, però, verrà sostituita con quella corretta appena B manderà un qualche pacchetto allo switch.

Per evitare questo l'hacker H dovrà inondare B di pacchetti in modo da diminuire di molto la velocità con qui può inviare informazioni sulla rete e quindi ridimensionando la possibilità che l'associazione creata ai fini dell'attacco venga eliminata.

Il “bombardamento” di pacchetti che H dovrà eseguire verso B viene chiamato Attacco DoS:

Un attacco DoS, “Denial Of Service”, consiste nel portare un sistema informatico al limite delle prestazioni al fine di impedirgli di effettuare le normali operazioni a cui è adibito.

Il Protocollo ARPFino ad ora abbiamo visto delle tecniche che lavorano al Livello Datalink perché, per identificare le varie postazioni, abbiamo utilizzato solo Indirizzi Fisici.I PC, però, vengono più spesso riconosciuti in base al loro indirizzo IP.

Ma come fa uno switch a mandare un pacchetto ad uno specifico indirizzo IP?

In effetti non lo fa. Lo switch gestisce solamente lo smistamento di pacchetti verso indirizzi MAC; sarà quindi compito di ogni postazione ricavare l'Indirizzo Fisico del PC relativo ad un determinato Indirizzo IP e comunicarlo allo switch.

Per fare questo è stato ideato un protocollo apposito chiamato Address Resolution Protocol (ARP).

Tramite questo protocollo un PC che vuole risalire all'indirizzo MAC relativo ad un determinato IP manderà una richiesta a tutte le NIC collegate, quindi verso l'indirizzo MAC di broadcast.

La richiesta, chiamata ARP Request, potrebbe essere interpretata in questo modo:

“Chi è che ha l'indirizzo IP 192.168.0.1?”

La risposta, chiamata ARP Reply, viene inviata al PC che ha spedito l'ARP Request da parte della NIC con quell'indirizzo IP e sarà del tipo:

“Sono 192.168.0.1 e il mio MAC è 00-F0-66-52-4D-2E”

A questo punto il PC che ha fatto la richiesta ARP è a conoscenza anche del MAC corrispondente all'IP interessato e può quindi inviare il pacchetto allo switch che a sua volta lo instraderà al MAC specificato.

ARP Cache PoisoningQuesto tipo di attacco sfrutta alcune caratteristiche del protocollo ARP per consentire all'hacker di fare da tramite fra una comunicazione fra 2 PC, il tutto a loro insaputa.

Come Viaggiano Le Informazioni Oggi Pagina 17

Page 18: La Crittografia Modernatesina.epper.org/Zilio Andrea - La Crittografia Moderna.pdf · Zilio Andrea Tesina di Maturità 5IC La Crittografia Moderna ... Le conseguenze dell'invenzione

Zilio Andrea La Crittografia Moderna

Ogni computer collegato ad una rete mediante una NIC possiede una cache per le risposte Arp.

Questa cache altro non è che una tabella che permette di memorizzare le associazioni tra MAC e IP già conosciute in modo da non dovere effettuare continue ARP Request che diminuirebbero sensibilmente le prestazioni.

La particolarità è data dal fatto che non vengono memorizzate solamente le risposte alle richieste ARP effettuate, ma anche le risposte a richieste ARP non effettuate.

Quindi se viene spedita una risposta ARP ad una NIC dicendo che ad un determinato IP corrisponde un indirizzo MAC, questa informazione viene memorizzata nella cache ARP anche se il PC non ha fatto richiesta di tale informazione.

E' proprio questa la “caratteristica” che viene sfruttata dall'ARP Cache Poisoning.

“ARP Cache Poisoning” significa letteralmente “Avvelenamento della Cache ARP”.

Questa tecnica, infatti, consiste nell'inserire all'interno di questa tabella delle corrispondenze volutamente errate.

Nello specifico, analizziamo il caso in cui data una comunicazione fra un utente “A” ed un utente “B”, l'hacker “H” voglia fare da tramite, facendo cioè passare tutti i pacchetti da A a B e viceversa tramite il proprio PC.

Per fare questo sarà sufficiente che H mandi ad A una ARP Reply informando la NIC che al proprio indirizzo MAC corrisponde l'IP

dell'utente B.

All'utente B invece dirà che il proprio indirizzo MAC corrisponde all'IP dell'utente A.

Queste informazioni sono ovviamente errate, ma permettono di fare in modo che quando A o B si spediscono dei pacchetti, a loro insaputa questi transitano prima per il computer dell'hacker e arrivano poi alla destinazione reale.

Questa è sicuramente una delle tecniche più pericolose perché il tutto avviene senza che ne A ne B se ne possano accorgere. Fa parte della categoria di attacchi “Man-In-The-Middle”:

Un attacco Man-In-The-Middle (MITM) consente all'hacker di fare da tramite per una connessione fra 2 host e gli permette di leggere, inserire e modificare a piacimento i messaggi che transitano. Il tutto all'insaputa dei due individui.

La Crittografia ModernaCon le tecniche viste qui sopra la privacy degli utenti della rete viene messa in pericolo, le password utilizzate per connettersi ai vari servizi possono essere scoperte e le informazioni che si scambiano possono venire modificate prima di arrivare a destinazione.

La soluzione di questi problemi è la Crittografia. Utilizzandola si impedisce di scoprire il contenuto dei messaggi anche se intercettati.

Nel capitolo “La Crittografia Classica” (pag 7) abbiamo visto i primi metodi utilizzati per rendere segrete delle informazioni.

Queste tecniche appartengono ormai al passato e nell'era dei computer, grazie alla enorme capacità di calcolo a disposizione, ne sono state inventate di più complesse ed efficaci.

La Crittografia Moderna Pagina 18

Page 19: La Crittografia Modernatesina.epper.org/Zilio Andrea - La Crittografia Moderna.pdf · Zilio Andrea Tesina di Maturità 5IC La Crittografia Moderna ... Le conseguenze dell'invenzione

Zilio Andrea La Crittografia Moderna

Le tecniche di crittografia attualmente utilizzate possono essere divise in due gruppi:

➢ Crittografia Simmetrica

➢ Crittografia Asimmetrica

In entrambi i casi alcuni terminologie sono comuni:

Testo in chiaro (o “plaintext”) indica il messaggio originale che ancora non è stato cifrato.

Testo Cifrato (o “ciphertext”) è il termine tecnico relativo al risultato di un operazione di cifratura. Si riferisce quindi al messaggio crittografato.

Un Algoritmo di Cifratura è una serie di istruzioni che permettono di crittografare un testo in chiaro trasformandolo quindi in un testo cifrato.

Un Algoritmo di Decifratura è una serie di istruzioni che permettono di tornare al testo in chiaro partendo dal testo cifrato.

La Crittografia SimmetricaLa Crittografia Simmetrica basa la propria sicurezza sull'utilizzo di una chiave.

Nella crittografia simmetrica con la parola “Chiave” si indica l'informazione che, se conosciuta, permette di cifrare e decifrare un messaggio.

Quando si vuole cifrare un testo mediante tecniche di crittografia simmetrica è quindi necessario scegliere un algoritmo di cifratura, determinare il testo da cifrare e stabilire una chiave che nel momento di decifrare il messaggio sarà necessario possedere.

La struttura di un sistema crittografico simmetrico può quindi essere pensato in questo modo:

A(M,K) = CA-1(C,K) = M

Dove A è l'algoritmo di cifratura, A-1 è l'algoritmo di decifratura M è il plaintext, C è il ciphertext e K è la chiave.

Da ciò si capisce che per avere una comunicazione sicura è necessario che solamente i legittimi destinatari di un messaggio siano a conoscenza della chiave.

La Crittografia Moderna Pagina 19

Page 20: La Crittografia Modernatesina.epper.org/Zilio Andrea - La Crittografia Moderna.pdf · Zilio Andrea Tesina di Maturità 5IC La Crittografia Moderna ... Le conseguenze dell'invenzione

Zilio Andrea La Crittografia Moderna

E' importante far notare che molto spesso in ambito informatico la lunghezza chiavi viene indicata in base al numero di bit che occupano per essere memorizzate in binario, raramente ci si riferirà alla dimensione in caratteri.

Gli algoritmi crittografici simmetrici sono molti, elenchiamo i principali:

DESData Encryption Standard

DES è un algoritmo di cifratura a blocchi sviluppato dalla IBM che è stato definito standard ufficiale dal governo degli Stati Uniti nel 1977.

La dimensione dei blocchi DES e' di 64 bit e la chiave ha una dimensione di soli 56 bit.

Ormai è stato soppiantato da sistemi più avanzati perché con le sue caratteristiche può essere decodificato in meno di 24 ore.

IDEAInternational Data Encryption Algorithm

IDEA è anch'esso un algoritmo di cifratura a blocchi inventato nel 1991, ma utilizza una chiave di 128 bit per aumentare la sicurezza rispetto al DES.

La cifratura avviene dividendo il messaggio da cifrare in blocchi da 64 bit e suddividendoli a loro volta in altri 4 sottoblocchi da 16 bit ciascuno.

Per ognuno di questi sottoblocchi vengono eseguiti 8 passaggi nei quali vengono coinvolte altre 52 sottochiavi differenti ottenute da quella di partenza di 128 bit.

Allo stato attuale è uno degli algoritmi a chiave simmetrica più utilizzati, ma è brevettato e la sua licenza, per le applicazioni commerciali, deve essere richiesta alla società che lo commercializza.

AESAdvanced Encryption Standard

A causa delle debolezze di DES, l'istituto di standardizzazione degli USA aprì un concorso per scegliere il sostituto di questo sistema.

L'algoritmo vincitore, selezionato nel 2000, fu “Rijndael”, che venne poi adottato come standard sotto il nome di “Advanced Encryption Standard” nel 2001.

AES lavora con chiavi di dimensione maggiore rispetto ai precedenti algoritmi: utilizza chiavi da 128, 192 o 256 bit.

Implementazioni in vari linguaggi sono reperibili all'indirizzo http://homes.esat.kuleuven.be/~rijmen/rijndael/.

La Crittografia AsimmetricaIl principale punto debole dei sistemi a chiave simmetrica è dato dalla trasmissione della chiave.

Come abbiamo detto, in questi sistemi, è necessario che mittente e destinatario, per poter decifrare il messaggio, utilizzino la stessa chiave. Come fare però a stabilirla senza che questa venga intercettata? E' necessario un canale sicuro.

Per risolvere questo problema sono stati inventati i crittosistemi a Chiave Pubblica (o crittosistemi asimmetrici) che hanno la particolarità di richiedere una chiave per la fase di cifratura e un'altra, differente dalla prima, per la decifratura.

Utilizzando la stessa notazione di prima vediamo come funziona un sistema di questo tipo.

Indichiamo con A l'algoritmo di cifratura, A-1 l'algoritmo di decifratura, M il plaintext, C il ciphertext,

La Crittografia Moderna Pagina 20

Page 21: La Crittografia Modernatesina.epper.org/Zilio Andrea - La Crittografia Moderna.pdf · Zilio Andrea Tesina di Maturità 5IC La Crittografia Moderna ... Le conseguenze dell'invenzione

Zilio Andrea La Crittografia Moderna

KP la chiave per la cifratura e KS quella per la decifratura.

A(M,KP) = CA-1(C,KS) = M

Ogni utente che decide di utilizzare un crittosistema a chiave asimmetrica dovrà quindi disporre di una coppia di chiavi formata da:

● Una Chiave PubblicaQuesta chiave sarà disponibile a tutti e permetterà, a chi vuole inviare un messaggio sicuro all'utente, di utilizzarla come chiave di cifratura.

● Una Chiave PrivataCon questa chiave, che deve essere segreta e conosciuta solamente dall'utente, sarà possibile decifrare i messaggi cifrati con la propria Chiave Pubblica.

E' importante far notare che una volta cifrato un messaggio con la Chiave Pubblica, non sarà possibile decifrarlo conoscendo la sola Chiave Pubblica.

Il funzionamento di base può essere descritto con il seguente schema:

Bisogna notare, inoltre, che un'altra caratteristica è data dal fatto che dalla Chiave Pubblica, che può solamente criptare, è impossibile determinare la Chiave Privata corrispondente, che può decifrare solamente.

Con questo meccanismo è sufficiente tenere segreta la propria Chiave Privata e far conoscere a chi vuole mandarci un messaggio crittografato la sola Chiave Pubblica risolvendo alla base il problema riscontrato nei crittosistemi simmetrici (la necessità di un canale sicuro per condividere la chiave di cifratura).

I crittosistemi a chiave pubblica, come vederemo in dettaglio più avanti, consentono di garantire:

➢ Confidenzialità

Il messaggio non potrà essere letto da nessuno al di fuori dei legittimi destinatari

➢ Integrità

Viene verificato che il messaggio, nel suo tragitto, non sia stato modificato da terzi

➢ Autenticità

Viene verificata l'identità del mittente del messaggio

La Crittografia Moderna Pagina 21

Page 22: La Crittografia Modernatesina.epper.org/Zilio Andrea - La Crittografia Moderna.pdf · Zilio Andrea Tesina di Maturità 5IC La Crittografia Moderna ... Le conseguenze dell'invenzione

Zilio Andrea La Crittografia Moderna

Come È Nata Questa Idea?Una soluzione, anche se solo teorica al problema della distribuzione delle chiavi, era già nota prima dell'invenzione della crittografia asimmetrica.

Per spiegarla utilizziamo un esempio: Alice vuole spedire un messaggio a Bob ed entrambi hanno a disposizione un lucchetto ciascuno.

I passaggi per proteggere il viaggio della “lettera” da occhi indiscreti sono i seguenti:

1. Alice mette il messaggio in una busta, la chiude con il suo lucchetto e la invia a Bob

2. Bob aggiunge anche il proprio lucchetto alla busta e la spedisce nuovamente ad Alice

3. Alice a questo punto toglie dalla busta il suo lucchetto e la invia a Bob per l'ultima volta

4. A questo punto Bob può aprire la busta e leggere il messaggio togliendo semplicemente il proprio lucchetto

In ogni “viaggio” da Alice a Bob e viceversa la lettera è protetta da qualsiasi terza persona che volesse intercettare la comunicazione.

Anche le chiavi dei rispettivi lucchetti non viaggiano mai e sono possedute solamente dai proprietari del lucchetto stesso.

Questo esempio non può essere ovviamente applicato nella crittografia così come è stato descritto perché, se vediamo il 2° lucchetto aggiunto da Bob come una cifratura successiva a quella di Alice, non possiamo pensare da questa di poter rimuovere solamente la prima. Nell'ambito della crittografia è impossibile.

Nonostante questo, l'esempio che abbiamo visto fece riflettere i ricercatori di quel tempo e li fece giungere alla conclusione che per implementare qualcosa di simile matematicamente parlando era necessaria una funzione unidirezionale.

Le funzioni di questo tipo sono anche chiamate “Funzioni One-Way”: sono facili da calcolare, ma molto difficili computazionalmente da invertire.

Tutti i moderni crittosistemi a chiave pubblica, che elenchiamo qui sotto, fanno uso di Funzioni One-Way.

RSARSA, che prende il nome dalle iniziali dei suoi inventori: Rivest, Shamir e Adleman, è stato il primo algoritmo del suo genere (1977) ed è tuttora il più utilizzato in assoluto.

Il suo funzionamento, che analizzeremo in dettaglio, si basa sulla difficoltà di fattorizzare numeri composti di grande dimensione. (Funzione One-Way)

ELGamalELGamal, creato da Taher Elgamal nel 1984, è un crittosistema molto utilizzato in ambito Open Source. E' anche presente nella versione Free Software di PGP: GNU Privacy Guard.

La Funzione One-Way su cui si basa questo algoritmo è la complessità relativa al calcolo del logaritmo discreto.

La Crittografia Moderna Pagina 22

Page 23: La Crittografia Modernatesina.epper.org/Zilio Andrea - La Crittografia Moderna.pdf · Zilio Andrea Tesina di Maturità 5IC La Crittografia Moderna ... Le conseguenze dell'invenzione

Zilio Andrea La Crittografia Moderna

RSAAnalizziamo ora nel dettaglio il funzionamento di uno dei più famosi algoritmi a asimmetrici: RSA.

Prima è però necessario apprendere i principali fondamenti matematici su cui si basa.

Matematica

I Numeri Primi

I numeri primi assoluti sono dei particolari numeri interi positivi (x Є N) divisibili solamente dall'unità e da se stessi.

Al contrario

Si definiscono numeri composti quei numeri interi che hanno più di 2 divisori ovvero che, oltre all'unità e a se stessi, hanno un altro divisore.

L'insieme dei numeri interi positivi può quindi essere suddiviso in numeri composti e numeri primi che costituiscono quindi un vero e proprio insieme infinito. E' da notare che, a volte, per non avere complicazioni, si preferisce escludere l'1 dall'insieme.

Ecco i primi 30 numeri primi:

2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113

Ci sono delle ulteriori considerazioni da fare:

➢ Ogni numero composto può scomporsi nel prodotto di più numeri primi e questa scomposizione è unica;

➢ Non si è a conoscenza del tipo di distribuzione che caratterizza i numeri primi. Sembra casuale, ma non è stato dimostrato;

➢ Non si conoscono metodi veloci per stabilire se un numero è sicuramente primo (test di primalità);

➢ Non si è a conoscenza di algoritmi computazionalmente veloci per scomporre un numero composto nei suoi fattori primi

➢ Non esiste un metodo per calcolare l'ennesimo numero primo.

Il numero primo più grande finora scoperto risulta essere:

230402457 − 1

E' stato trovato il 15 Dicembre 2005 e confermato tale 9 giorni dopo. E' composto da 9.152.052 cifre e, memorizzato digitalmente, occupa 8,72 MB.

Oltre ai numeri primi assoluti, in matematica, con l'aggettivo “primo” si indicano anche i numeri relativamente primi:

Un numero M si dice relativamente primo (o coprimo) ad un altro numero N se M ed N non hanno divisori comuni a parte l'unità. ( MCD(M,N) = 1 )

RSA Pagina 23

Page 24: La Crittografia Modernatesina.epper.org/Zilio Andrea - La Crittografia Moderna.pdf · Zilio Andrea Tesina di Maturità 5IC La Crittografia Moderna ... Le conseguenze dell'invenzione

Zilio Andrea La Crittografia Moderna

Sono relativamente primi, per esempio, i numeri: 6 e 35 , ma non 6 e 27 perché sono entrambi divisibili per 3.

La Funzione Di Eulero

La funzione di Eulero è una particolare funzione aritmetica che permette di calcolare il numero di numeri minori e coprimi rispetto ad un predeterminato interno n.

Si indica con Ф(n) e si calcola con la formula:

Ф(n) = n * (1 – 1/n1) * (1 – 1/n2) * (1 – 1/n3) ...

dove n1,n2,n3 ecc... indicano i fattori primi che compongono n.

Da questo si deduce che per conoscere Ф di un determinato numero è necessario conoscerne anche la scomposizione in fattori primi.

Se, però, n è primo si può facilmente dedurre che Ф(n) risulta:

n = 1 * n <-- n è primoФ(n) = n * (1 – 1/n) = n * 1 – n * 1/n = n – 1

La Funzione di Eulero Ф(n) di un numero n primo risulta n-1

Considerando inoltre n, come prodotto di due numeri primi p e q, possiamo dire che:

Ф(p * q) = Ф(p) * Ф(q) = (p – 1)*(q – 1)

L'aritmetica ModulareL'aritmetica ordinaria lavora su un numero infinito di numeri; l'insieme dei numeri naturali (da 0 a +∞) o di quelli reali ne sono un esempio.

Nella realtà, però, difficilmente è possibile gestire l'infinito. Dall'inizio della nostra vita sono passate moltissime ore, ma noi ne semplifichiamo la gestione considerandone solamente 24 per ogni giorno e ricominciando dalla prima il giorno successivo.

Anche in informatica il processore non può lavorare con numeri infinitamente grandi, ma deve rappresentarli con un determinato numero di bit e in caso venga superato il limite di bit disponibili (overflow) ricomincia dal numero minore del range accettato.

Per gestire queste situazioni ci viene in aiuto l'aritmetica modulare:

L'aritmetica modulare (o finita) è un ramo della matematica che tratta insiemi limitati di numeri interi. Per farlo, studia gli usuali resti delle divisioni aritmetiche ed ogni volta che viene raggiunto il limite (detto modulo) dell'insieme su cui lavora, ricomincia dal primo.

In generale un'aritmetica finita modulo m si basa sull'insieme {0,1,2...m-1} questi numeri possono anche essere visti come i possibili resti di una divisione per m.Per calcolare le operazioni fondamentali in aritmetica modulare, si prosegue in questo modo:

➢ Prodotto:Viene eseguito il calcolo in aritmetica ordinaria; il risultato viene diviso per il modulo e si considera il resto come prodotto

RSA Pagina 24

Page 25: La Crittografia Modernatesina.epper.org/Zilio Andrea - La Crittografia Moderna.pdf · Zilio Andrea Tesina di Maturità 5IC La Crittografia Moderna ... Le conseguenze dell'invenzione

Zilio Andrea La Crittografia Moderna

➢ Somma:Viene eseguita la somma in aritmetica ordinaria; il risultato viene diviso per il modulo e si considera il resto come risultato.

Ecco qualche esempio:

14 + 15 (mod 20) = 9 (14 + 15) / 20 = 29 / 20 = 1 con resto = 9 <-- Risultato18 * 2 (mod 20) = 16 (18 * 2 ) / 20 = 36 / 20 = 1 con resto = 16 <-- Risultato

Quando si opera con i prodotti in aritmetica modulare bisogna però fare attenzione e scegliere il valore del modulo in modo appropriato.

Prendiamo per esempio il modulo 20 di prima e questa specifica moltiplicazione:

10 * 2 (mod 20) = 0 (10 * 2 ) / 20 = 20 / 20 = 1 con resto = 0 <-- Risultato

In questo caso cade la legge di annullamento del prodotto (“un prodotto risulta nullo solamente se e solo se uno dei fattori è nullo”) perché ne 10 ne 2 sono nulli.

Questo problema è risolvibile utilizzando come modulo solamente numeri primi oppure considerando l'insieme formato solamente da numeri minori del modulo e primi con esso e quindi con modulo Ф(n).

Nel primo caso infatti nessun numero appartenente all'insieme finito può dare resto zero se diviso per il modulo m perché significherebbe che uno dei due fattori è divisore di m, ma questo non può avvenire dato che abbiamo scelto il modulo fra i numeri primi.

Nel secondo caso se il prodotto da 0 come risultato significa che almeno uno dei fattori ha un divisore in comune con il modulo, ma questo non può essere vero dato che i numeri presi in considerazione sono coprimi con il modulo stesso.

Il resto di una divisione fra due numeri A e B, nel linguaggio informatico, viene spesso indicato con l'operatore %.Es: 3 % 2 = 1

Altra importante considerazione è l'uguaglianza fra questa equazione:

a = b mod m

e quest'altra:

a – b = m * x

Infatti se b è il resto della divisione fra a ed m, sottraendo questo resto da a ottengo un numero che è multiplo di m.

L'inverso Nell'Aritmetica ModulareL'inverso di un numero x, considerando il prodotto, è quel numero y che soddisfa l'equazione:

x * y = 1

RSA Pagina 25

Page 26: La Crittografia Modernatesina.epper.org/Zilio Andrea - La Crittografia Moderna.pdf · Zilio Andrea Tesina di Maturità 5IC La Crittografia Moderna ... Le conseguenze dell'invenzione

Zilio Andrea La Crittografia Moderna

nell'aritmetica modulare in modulo n vale lo stesso per l'uguaglianza:

x * y = 1 mod n

Diversamente dall'aritmetica ordinaria, in quella finita, l'inverso moltiplicativo di un numero non sempre può essere calcolato. Vediamo perché.

Considerando la seguente equazione:

a = b mod n

possiamo interpretarla dicendo che a % n = b % n. (Il resto di a/n è uguale al resto di b/n)

an=Q1R e b

n=Q2R

an−b

n=Q1R−Q2−R

quindia−b=n∗Q1−Q2

Q1 e Q2 sono sicuramente interi e quindi a–b è divisibile per n.

Inoltre se a e b sono primi fra loro esistono due numeri interi x e y tali che:

a*x + b*y = 1

Dimostriamolo per assurdo: supponiamo che a e b abbiano almeno un divisore k in comune:

a = k*c e b = k*d

Sostituiamo a e b all'uguaglianza di prima:

kc * x + kd * y = 1k (c*x + d*y) = 1

cx risulta quindi:

c∗x=1k−d∗y

cx è quindi intero solamente se k = 1 e ciò si verifica solo se a e b sono primi tra loro (appunto perché hanno in comune il solo divisore 1 che in questo caso è k).

Abbiamo dimostrato che vale a*x + b*y = 1 solamente se a e b sono coprimi perché sono composti rispettivamente da k*c e k*d. L'unico k possibile, però, è 1 che è quindi l'unico divisore comune di a e b e li rende perciò primi fra loro.

Da questa equazione, che dunque richiede a e b primi fra loro, ricaviamo by:

by = 1 – ax

RSA Pagina 26

Page 27: La Crittografia Modernatesina.epper.org/Zilio Andrea - La Crittografia Moderna.pdf · Zilio Andrea Tesina di Maturità 5IC La Crittografia Moderna ... Le conseguenze dell'invenzione

Zilio Andrea La Crittografia Moderna

Visto che i valori y e x si riferiscono ad interi qualsiasi possiamo considerarli a nostro piacimento positivi o negativi. Per comodità consideriamo sia la x negativa e possiamo scrivere quindi:

by = ax + 1 oppure by – 1 = ax

Che espresso in aritmetica modulare può essere scritto (per la considerazione fatta a pagina 25):

by = 1 mod a

Da questi passaggi deduciamo quindi che:

In aritmetica modulo a, l'inverso moltiplicativo di un numero b esiste solamente se a e b sono coprimi.

Il Teorema Di FermatIl teorema di Fermat afferma che se p è un numero primo ed a è un numero relativamente primo a p:

a(p-1) = 1 mod p

Per dimostrarlo è necessario considerare l'insieme Zp* dei resti possibili ottenuti dalla divisione di qualsiasi p Є N (con p ≠ 0) per p:

Zp* = {1,2,3,...,p-1}

L'insieme Zp* sarà costituito da p-1 elementi distinti e li rinomineremo:

Z1,Z2,Z3,...,Zp-1

Ora consideriamo un numero a Є Zp* e moltiplichiamo ogni elemento dell'insieme Zp* per a:

a*Z1,a*Z2,a*Z3,...,a*Zp-1

Risulteranno p-1 prodotti e possiamo fare le seguenti considerazioni:

✔ Ogni prodotto è diverso da zero in quanto, se fosse il contrario, uno dei due fattori dovrebbe essere nullo, ma sarebbe impossibile dato che ogni elemento di Zp è diverso da zero ed a, l'altro fattore, è un elemento scelto da quest'ultimo insieme. Oltretutto, se per assurdo a * Zi = 0 mod p , avremmo p = a * Zi che contraddice l'ipotesi della primalità di p

✔ I prodotti saranno tra loro distinti . Se, invece, per assurdo ci fossero due prodotti uguali:

a * Zi = a * Zj mod na * Zi – a * Zj = 0 mod na * (Zi – Zj) = 0 mod n

Che è possibile solamente se a è nullo oppure Zi = Zj. Due casi che non si potranno verificare per gli stessi motivi citati sopra.

Dato che stiamo lavorando con un'aritmetica finita e i prodotti presi in considerazione sono tutti distinti, dovranno per forza essere una permutazione dell'insieme Zp* di partenza. Quindi possiamo

RSA Pagina 27

Page 28: La Crittografia Modernatesina.epper.org/Zilio Andrea - La Crittografia Moderna.pdf · Zilio Andrea Tesina di Maturità 5IC La Crittografia Moderna ... Le conseguenze dell'invenzione

Zilio Andrea La Crittografia Moderna

uguagliare il prodotto delle 2 permutazioni:

a*Z1 * a*Z2 * a*Z3 ... a*Zp-1 = Z1 * Z2 * Z3 * ... Zp-1

Possiamo quindi raccogliere il fattore a nel primo membro, semplificare i fattori che compaiono sia a destra che a sinistra dell'uguale e otteniamo:

a(p-1) = 1 mod p

Abbiamo quindi dimostrato il teorema di Fermat.

Vediamone un esempio (p=5, a=4):

4(5-1) = 1 mod 5256 = 1 mod 5256 / 5 = 51 con resto 1

Il Teorema Di Eulero-FermatQuesto teorema è la generalizzazione del precedente (che in effetti può quindi considerarsi un caso particolare di questo).

Il teorema afferma che con dato un numero n intero positivo ed un numero a relativamente primo con n:

aФ(n) = 1 mod n

Eccone un esempio (n=14, a=3):

3Ф(14) = 1 mod 1436 = 1 mod 14729 / 14 = 52 con resto 1

Il Calcolo Dell'inverso Nell'aritmetica ModulareAbbiamo visto a pagina 25 nel paragrafo “L'inverso Nell'Aritmetica Modulare” che affinché sia possibile calcolare l'inverso moltiplicativo di un numero x in un'aritmetica finita in n è necessario che x ed n siano primi fra loro.

Fatta questa premessa, per calcolare y tale che:

x * y = 1 mod n

la formula che si utilizza è:

y = xФ(n)-1 mod n

Per dimostrarla è sufficiente moltiplicare entrambi i membri per x e svolgere:

x * y = x * xФ(n)-1 mod nx * y = x * xФ(n) * x-1 mod nx * y = xФ(n) mod n

RSA Pagina 28

Page 29: La Crittografia Modernatesina.epper.org/Zilio Andrea - La Crittografia Moderna.pdf · Zilio Andrea Tesina di Maturità 5IC La Crittografia Moderna ... Le conseguenze dell'invenzione

Zilio Andrea La Crittografia Moderna

Ma , essendo x ed n coprimi, possiamo applicare il “Il teorema di Eulero-Fermat” che in questo caso affermerebbe:

xФ(n) = 1 mod n

e quindi, completando la nostra dimostrazione verifichiamo che y risulta essere l'inverso di x mod n:

x * y = 1 mod n

Un esempio, troviamo l'inverso di 5 in aritmetica modulo 13:

y = 3Ф(7)-1 mod 7y = 35 mod 7y = 243 mod 7y = 5

Verifichiamo:

3 * 5 = 1 mod 715 = 1 mod 715 / 7 = 2 con resto 1

Generazione Di Un Numero PrimoCome abbiamo già accennato, non è stato ancora scoperto un metodo per determinare con sicurezza se un determinato numero è primo oppure no.

Esistono però dei test, chiamati test di primalità, per stabilire in maniera probabilistica la primalità di un numero.

Uno dei più famosi è il test di Fermat.Il test di primalità di Fermat si basa sul “Il teorema di Fermat” (pagina 27) che afferma che dato un numero primo p ed un numero a coprimo con p, allora:

a(p-1) = 1 mod p

La procedura da seguire per generare un numero primo p è la seguente:

1. Si sceglie un numero casuale

2. Ci si assicura che il numero sia dispari, aggiungendo eventualmente 1. (Tutti i numeri pari sono divisibili per 2)

3. Il numero viene diviso per i principali numeri primi conosciuti {3,5,7,11,...}. Se non risulta divisibile si continua con il punto 4, altrimenti si salta al punto 5;

4. Viene ripetuto quattro volte il test di Fermat, utilizzando ogni volta come numero a del teorema di Fermat un primo fra {2,3,5,7} e lasciando fisso p al numero da testare. Se il test viene superato tutte le volte, si considera il numero come probabilmente primo; altrimenti si continua con il punto 5

5. Aggiungere due al numero e tornare al passo 3.

RSA Pagina 29

Page 30: La Crittografia Modernatesina.epper.org/Zilio Andrea - La Crittografia Moderna.pdf · Zilio Andrea Tesina di Maturità 5IC La Crittografia Moderna ... Le conseguenze dell'invenzione

Zilio Andrea La Crittografia Moderna

L'algoritmoL'algoritmo RSA è un crittosistema a chiave pubblica che si basa sulla difficoltà di fattorizzare i numeri primi di grande dimensione.

Vediamo le varie fasi necessarie per applicare RSA

Generazione Delle ChiaviI passaggi necessari vengono qui elencati:

1. Genero 2 numeri primi ( p e q ) molto grandi

La generazione di p e q viene effettuata seguendo la procedura descritta nel paragrafo “Generazione di un numero primo” a pagina 29.

In genere vengono scelti numeri con un numero di cifre decimali maggiore di 100.

2. Calcolo il prodotto:

n = p * q

A questo punto n dovrebbe avere un numero di cifre decimali maggiori di 300

3. Calcolo la Funzione di Eulero Ф(n):

Ф(n) = Ф(p)*Ф(q) = (p – 1)*(q – 1)

Questa si renderà utile perché nei passaggi successivi andremo a operare con moltiplicazioni su aritmetiche modulari ed è quindi necessario considerare solo i numeri relativamente primi con n.

4. Scelgo un numero e minore di Ф(n) e primo con esso:

In questo passaggio viene di fatto scelta la futura chiave pubblica. La condizione di primalità relativa con Ф(n) è necessaria perché bisognerà calcolare l'inverso di questo numero e come abbiamo visto, perché sia possibile eseguire il calcolo, il numero di cui si calcola l'inverso deve essere coprimo con il modulo dell'aritmetica finita

5. Calcolo il numero d tale che:

e * d = 1 mod Ф(n)

Questo è il passaggio fondamentale dell'algoritmo. Tramite “Il calcolo dell'inversonell'aritmetica modulare” (pag. 28) troviamo il numero d che soddisfa la condizione.

A questo punto le chiavi sono state generate:

➢ Chiave pubblica

La coppia di valori

(n , e)

➢ Chiave privata

La coppia di valori

(n, d)

RSA Pagina 30

Page 31: La Crittografia Modernatesina.epper.org/Zilio Andrea - La Crittografia Moderna.pdf · Zilio Andrea Tesina di Maturità 5IC La Crittografia Moderna ... Le conseguenze dell'invenzione

Zilio Andrea La Crittografia Moderna

Cifratura E DecifraturaA questo punto è possibile cifrare e decifrare il messaggio tramite le chiavi.

Ecco le formule:

➢ Cifratura

Per generare un messaggio cifrato c partendo dal messaggio m originale si calcola:

c = me mod n

➢ Decifratura

Per tornare al messaggio originale m, partendo dal messaggio cifrato c si calcola:

m = cd mod n

Come è possibile notare, per la cifratura si è usata la chiave pubblica, per la decifratura quella privata dimostrando che, quindi, il problema dello scambio delle chiavi non sussisterà.

Perché Funziona?Cerchiamo di capire perché, utilizzando la chiave privata, si riesce a tornare al messaggio originale:

Svolgiamo i passaggi matematici:

m = cd mod n

Sostituiamo c con la relativa formula di cifratura:

m = me*d mod n

Ma come abbiamo visto dal 5° passaggio della generazione delle chiavi il prodotto e * d da un multiplo di Ф(n) con resto di 1, quindi:

m = m k*Ф(n) + 1 mod n

Utilizziamo le proprietà delle potenze:

m = m * m k*Ф(n) mod nm = m * (mФ(n))k mod n

Per il “Il teorema di Eulero-Fermat” (pag 28) sappiamo che:

mФ(n) = 1 mod n

quindi sostituiamo:

m = m * 1k mod nm = m * 1 mod nm = m mod n

cioè il nostro messaggio di partenza.

RSA Pagina 31

Page 32: La Crittografia Modernatesina.epper.org/Zilio Andrea - La Crittografia Moderna.pdf · Zilio Andrea Tesina di Maturità 5IC La Crittografia Moderna ... Le conseguenze dell'invenzione

Zilio Andrea La Crittografia Moderna

Perché È Sicuro?Come avevamo detto nel paragrafo “I numeri primi” (pag 23) non esiste alcun metodo abbastanza veloce per fattorizzare numeri composti molto grandi.

RSA fa perno proprio su questa situazione creando una funzione che è facile da calcolare, ma molto complicata e impegnativa, in termini di tempo, da invertire.

Le 2 chiavi hanno in comune il numero n che è un prodotto di 2 numeri primi p e q. Poi, la chiave privata, ha un “esponente privato” d e la chiave pubblica ha un “esponente pubblico” e.

Questi 2 esponenti sono inversi l'uno rispetto all'altro in modulo Ф(n).

I dati che chiunque può conoscere sono n e l'esponente pubblico e. Tramite questi numeri è possibile effettuare l'operazione di cifratura senza problemi, con un semplice elevamento a potenza modulare.

Per decifrare il messaggio, come abbiamo visto, è però necessario un altro numero: l'esponente privato.

Questo numero d si determina calcolando l'inverso dell'esponente pubblico e in modulo Ф(n).

Il trucco sta proprio qui: infatti Ф(n) non è un dato che è conosciuto da tutti e la formula necessaria a calcolarlo, come abbiamo visto a pagina 24, richiede la conoscenza dei fattori primi di n che anche questi non fanno parte delle informazioni pubbliche.

Per violare RSA è quindi necessario fattorizzare n . RSA Security, la società che commercializza RSA, lanciò una sfida nel 1991 per la fattorizzazione di numeri primi di dimensione elevata con un premio in denaro per coloro che riuscivano nell'impresa.

Alcuni di questi numeri sono già stati fattorizzai.

RSA-200 è l'ultimo numero fattorizzato fino ad oggi ed è composto da 200 cifre (ovvero 663bit). Il processo di fattorizzazione, che ha coinvolto più PC per essere completato, cominciò verso la fine del 2003 ed è stato annunciato il 9 Maggio 2005.

Si è calcolato che con una CPU Opteron da 2,2 Ghz sarebbero stati necessari 55 anni di lavoro.

Attualmente, sempre RSA Securityi, raccomandaii una chiave di almeno 1024 bit di lunghezza e fa notare che per la sua fattorizzazione, oltre al tempo che comunque aumenta esponenzialmente, anche la memoria necessaria alla fattorizzazione sarebbe un problema.

Infatti l'algoritmo più veloce conosciuto ad oggi per la fattorizzazione dei numeri interi con più di 100 cifre si chiama “General Number Field Sieve” e, si è calcolato, che per fattorizzare un numero da 1020 bit (308 cifre) in un anno sarebbe necessario un lavoro costante di 1.600.000.000.000.000 ( 1,6⋅1015 ) macchine con 120 Tbyte ciascuna per un totale di 192.000.000.000.000.000 Tbyte ( 192⋅1015TByte ) di memoria.

Queste caratteristiche permettono di garantire una sicurezza ad un crittosistema RSA con una chiave a 1024 per molti anni1.

1 Per avere una sicurezza certa, RSA Laboratories considera le chiavi da 1024 bit sicure fino al 2010 e consiglia, fino al 2030, chiavi da almeno 2048bit. 3072 per tempi maggiori.URL: http://www.rsasecurity.com/rsalabs/node.asp?id=2004

RSA Pagina 32

Page 33: La Crittografia Modernatesina.epper.org/Zilio Andrea - La Crittografia Moderna.pdf · Zilio Andrea Tesina di Maturità 5IC La Crittografia Moderna ... Le conseguenze dell'invenzione

Zilio Andrea La Crittografia Moderna

L'integrità Dei MessaggiFino a questo momento abbiamo analizzato i metodi con cui è possibile garantire la “Confidenzialità”, ovvero la segretezza, di un messaggio.

Come abbiamo accennato, i crittosistemi a chiave asimmetrica, hanno portato anche ad altri vantaggi.

Uno di questi è l'Integrità di un messaggio.

L'Integrità di un messaggio assicura che il suo contenuto non sia stato alterato da terze parti durante la trasmissione.

Come è possibile garantire ciò? Con delle particolari funzioni chiamate Funzioni di Hash.

Funzioni Di Hashing

Un Algoritmo di Hashing è una Funzione One-Way che, dato un messaggio in input di qualsiasi dimensione, ha lo scopo di ritornare una stringa di lunghezza fissa(chiamata hash, impronta o digest) che identifichi univocamente il messaggio stesso.

Si capisce quindi che due messaggi differenti dovranno dare un hash differente.

Questo però non è sempre possibile.

Può succedere, infatti, che due messaggi completamente diversi diano un digest uguale. Questi casi vengono chiamati Collisioni.Nel valutare la qualità di un Algoritmo di Hashing gioca un ruolo importante la facilità di trovare Collisioni.Le funzioni di Hash più diffuse ed utilizzate sono, al momento, MD5 e SHA.

MD5Message-Digest Algorithm 5

Questo algoritmo, inventato nel 1991, è stato largamente utilizzato, anche per la sua relativa velocità.

Dato un messaggio in input, il risultato è un digest di 128 bit che viene spesso rappresentato mediante una stringa di 32 caratteri esadecimali.

Vediamo qualche esempio:

MD5(“”) = d41d8cd98f00b204e9800998ecf8427eMD5(“Ciao Mondo”) = 1c829d9f236f607ba2f943fd60cd7482MD5(“Ciao Mando”) = c0ccfdc2c07a6f54eb29893b8adc2de3

Come si può notare, anche una modifica al messaggio in input di un solo carattere, genera due hash completamente differenti.

Nel 1996 prima, e successivamente anche nel 2004, sono state trovate dei difetti nell'algoritmo ed è stato suggerito dagli esperti l'abbandono di MD5 preferendo l'utilizzo di altre funzioni di hashing.

SHASecure Hash Algorithm

Realizzato dalla National Security Agency, SHA rappresenta una famiglia di funzioni di hashing.

L'integrità dei Messaggi Pagina 33

Page 34: La Crittografia Modernatesina.epper.org/Zilio Andrea - La Crittografia Moderna.pdf · Zilio Andrea Tesina di Maturità 5IC La Crittografia Moderna ... Le conseguenze dell'invenzione

Zilio Andrea La Crittografia Moderna

Fanno parte di questa famiglia gli algoritmi, e si differenziano soprattutto per la lunghezza dell'output,: SHA-0, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512.

Il più utilizzato è SHA-1, calcola un hash di 160 bit (40 caratteri esadecimali), e viene da molti considerato il successore di MD5 per la sua maggiore sicurezza. Ecco qualche esempio:

SHA1(“”) = da39a3ee5e6b4b0d3255bfef95601890afd80709 SHA1(“Ciao Mondo”) = 133e6e403dfa0f55cb3d2a74be2c10a6131e3568 SHA1(“Ciao Mando”) = 466bc76268003e1dabb85a32b292e70556dabd63

Verificare L'IntegritàPer verificare quindi l'integrità di un messaggio sarà sufficiente seguire questi passaggi:

1. Il mittente calcola l'hash (o digest) del messaggio e lo rende pubblico

2. Il messaggio viene inviato al destinatario

3. Il destinatario ricalcola l'hash e lo confronta con quello reso pubblico dal mittente

4. Se i due hash corrispondono significa che il messaggio non ha subito modifiche e quindi l'integrità è verificata

La Firma DigitaleCome abbiamo visto analizzando le problematiche di sicurezza delle reti, è possibile per una persone con un po' di esperienza, intromettersi in una comunicazione e falsificare la propria identità.

Infatti la semplice verifica di integrità vista sopra ci indica solamente che il messaggio arrivato non ha subito modifiche, ma non ci assicura che il mittente del messaggio sia chi dice di essere.

La Firma Digitale è un sistema che si basa su un crittosistema asimmetrico e che permette di identificare con sicurezza l'integrità e l'identità del mittente di un messaggio.

Il suo funzionamento si basa su una particolarità dei crittosistemi a chiave pubblica.

Con RSA, per esempio, se si cifra un messaggio con la propria Chiave Pubblica, sarà possibile decifrarlo solamente con la rispettiva Chiave Privata.

La firma digitale Pagina 34

Page 35: La Crittografia Modernatesina.epper.org/Zilio Andrea - La Crittografia Moderna.pdf · Zilio Andrea Tesina di Maturità 5IC La Crittografia Moderna ... Le conseguenze dell'invenzione

Zilio Andrea La Crittografia Moderna

Allo stesso modo vale però il procedimento inverso: cifrando un messaggio con la propria Chiave Privata, sarà possibile leggerlo solamente con la rispettiva Chiave Pubblica.Ovvero:(A = Algoritmo di cifratura,A-1 = Algoritmo di decifratura,M = Plaintext,C =Ciphertext,KP = Chiave Pubblica,KS = Chiave privata)

A(M,KP) = CA-1(C,KS) = M

Ma anche

A(M,KS) = CA-1(C,KP) = M

Fatta questa premessa analizziamo il procedimento da seguire per creare la Firma Digitale di un documento:

1. Il mittente calcola il digest del messaggio

2. Il digest viene cifrato dal mittente con la propria Chiave PrivataLa Firma Digitale è formata dal digest cifrato. Per essere verificata il destinatario seguirà questi passaggi:

1. Si procura la Chiave Pubblica del mittente

2. Con la Chiave Pubblica del mittente decifra l'hash del messaggio

3. Calcola in modo indipendente l'hash del messaggio che ha ricevuto

4. Se l'hash calcolato da lui stesso corrisponde a quello decifrato allora l'integrità è verificata.

In realtà viene verificata anche l'origine del messaggio perché solamente il mittente è in possesso della propria Chiave Privata con cui può avere cifrato l'hash.

Ecco uno schema dell'intero procedimento:

Firmare E CifrareNon è raro che oltre la firma di un messaggio sia necessaria anche la sua cifratura per garantire

La firma digitale Pagina 35

Page 36: La Crittografia Modernatesina.epper.org/Zilio Andrea - La Crittografia Moderna.pdf · Zilio Andrea Tesina di Maturità 5IC La Crittografia Moderna ... Le conseguenze dell'invenzione

Zilio Andrea La Crittografia Moderna

contemporaneamente la Confidenzialità e l'Autenticità.

Ecco uno schema che indica le operazioni da seguire in questo caso:

Certification AuthoritiesIn realtà la semplice firma digitale non risolve completamente il problema dell'autenticità del messaggio.

Il procedimento che abbiamo appena analizzato per la realizzazione di un Firma Digitale, in realtà non assicura che il messaggio sia stato scritto dal mittente, ma garantisce solamente che sia stato firmato con una determinata Chiave Privata.

Ma chi ci assicura che quella Chiave Privata appartenga realmente al mittente?

Per questo sono nate le “Certification Authorities” ed i “Digital Certificates”.

Una Certification Authority, “Autorità di Certificazione”, è un soggetto pubblico o privato che, tramite i Digital Certificates, “Certificati Digitali”, assicura l'associazione di una coppia di chiavi ad un ente o ad una persona.

In pratica l'Autorità di Certificazione, che deve essere una organizzazione di cui si possa avere piena fiducia, dice, tramite un Certificato Digitale, che una chiave pubblica appartiene ad un ente o una persona.

Vediamo il procedimento necessario per ottenere un certificato digitale:

1. L'azienda che necessita del certificato invia alla Certification Authority la propria chiave pubblica e i propri dati. (Nome della ditta, Indirizzo,sito web,ecc.)

2. La Certification Authority controlla che le informazioni comunicate dall'azienda corrispondano al vero. Se così non fosse il certificato non viene emesso.

3. Verificati i dati dell'azienda viene preparato un Certificato Digitale che contiene le seguenti informazioni:

La firma digitale Pagina 36

Page 37: La Crittografia Modernatesina.epper.org/Zilio Andrea - La Crittografia Moderna.pdf · Zilio Andrea Tesina di Maturità 5IC La Crittografia Moderna ... Le conseguenze dell'invenzione

Zilio Andrea La Crittografia Moderna

✔ I dati verificati dell'azienda

✔ La chiave pubblica dell'azienda

✔ Le informazioni sull'Autorità di Certificazione che rilascia il certificato

✔ Il periodo di validità del certificato

✔ Un indirizzo dove sarà possibile verificare se il certificato è stato revocato o meno(CRL)

4. A questo punto la Certification Authority Firma Digitalmente il certificato con la propria chiave privata assicurando che è proprio lei a garantire la corrispondenza fra chiave e azienda.

5. Copia del certificato viene mandato all'azienda

Ora l'azienda possiede un certificato digitale che attesta la sua identità in base alla sua chiave pubblica.

Quando la ditta deve mandare un messaggio firmato (e volendo anche cifrato) ad un cliente, quest'ultimo, per verificare che la firma sia valida e il documento provenga effettivamente dall'azienda, segue questi passaggi:

1. L'azienda manda il proprio certificato al cliente

2. Il cliente controlla che il certificato sia stato rilasciato da una Certification Authority a cui da la fiducia

3. In caso affermativo, tramite la Chiave Pubblica dell'Autorità di Certificazione, verifica la validità della firma posta da essa sul certificato

4. Se il certificato risulta quindi autentico ed i dati corrispondono a quelli dell'azienda in questione, utilizza la chiave pubblica dell'azienda (contenuta sempre nel certificato digitale) per decifrare l'hash del messaggio e confrontarlo con quello calcolato in modo indipendente. Se questi corrispondono abbiamo verificato sia l'integrità del documento sia l'autenticità della provenienza.

Revoca Dei Certificati

Può accadere che un certificato rilasciato ad una società sia revocato.

Questa operazione risulta necessaria se l'azienda certificata ha violato delle norme specificate dall'Autorità di Certificazione, oppure, nella maggioranza dei casi, quando la chiave privata relativa a quella pubblica allegata al certificato è stata scoperta da terzi o, in genere, compromessa.

In questi casi la Certification Authority decide di effettuare la revoca del certificato aggiungendolo alla CRL (Certification Revocation List).

Coloro che quindi devono verificare la validità di un certificato dovranno, oltre a seguire la procedura prima riportata, controllare che questo non sia presente nella CRL che viene messa a disposizione del pubblico dalla CA.

La Crittografia Nella RealtàLa crittografia asimmetrica è di fondamentale importanza nella sicurezza informatica, ma ha anche dei difetti.

La sua pecca è data dal fatto che le operazioni degli attuali algoritmi a chiave pubblica (RSA,ElGamal,ecc) non sono per nulla semplici.

Per garantire una elevata sicurezza, questi crittosistemi devono lavorare con numeri molto grandi, che infatti non possono essere memorizzati nemmeno tramite le variabili standard dei vari linguaggi di programmazione.

La gestione da parte del computer di questi numeri è decisamente lenta, rispetto a quella dei sistemi

La Crittografia nella realtà Pagina 37

Page 38: La Crittografia Modernatesina.epper.org/Zilio Andrea - La Crittografia Moderna.pdf · Zilio Andrea Tesina di Maturità 5IC La Crittografia Moderna ... Le conseguenze dell'invenzione

Zilio Andrea La Crittografia Moderna

simmetrici. (DES è circa 100 volte più veloce di RSA)

La soluzione consiste in un sistema crittografico misto:

1. Si sceglie un algoritmo simmetrico di cifratura (es: DES, IDEA, AES, ecc..)

2. Viene generata una chiave di cifratura casuale

3. Mediante questa chiave viene cifrato simmetricamente il messaggio con l'algoritmo scelto

4. La chiave con cui è stato cifrato il messaggio viene cifrata con la Chiave Pubblica del destinatario

Il messaggio è stato quindi cifrato con un metodo simmetrico e la chiave con un metodo asimmetrico.

Il destinatario, per poter leggere il contenuto in chiaro, dovrà:

1. Decifrare con la propria Chiave Privata la chiave di cifratura simmetrica

2. Decifrare, tramite la chiave simmetrica, il messaggio

Crittografare asimmetricamente l'intero messaggio sarebbe stato molto più dispendioso, cifrare solo la chiave richiede meno tempo.

Ecco uno scema che riassume il procedimento:

Un esempio di protocollo che applica questo metodo per cifrare una comunicazione è SSL.

SSLQuando compriamo qualche prodotto su un sito di e-commerce inseriamo negli appositi campi dei moduli, il numero della carta di credito con qui effettueremo il pagamento.

E' evidente che è assolutamente necessario che quel numero arrivi a destinazione senza che nessuna persona possa intercettarlo e leggerlo.

La Crittografia nella realtà Pagina 38

Page 39: La Crittografia Modernatesina.epper.org/Zilio Andrea - La Crittografia Moderna.pdf · Zilio Andrea Tesina di Maturità 5IC La Crittografia Moderna ... Le conseguenze dell'invenzione

Zilio Andrea La Crittografia Moderna

Per risolvere questo problema è stato inventato “SSL”, Secure Socket Layer, un protocollo sviluppato da Netscape per la trasmissione cifrata delle informazioni su internet che utilizza la crittografia asimmetrica ed i certificati per garantire la confidenzialità e l'autenticità (anche reciproca).

Vediamo come funziona:

Il server del sito web deve innanzitutto richiedere un certificato ad una Certification Authority. (Zona Arancione)

Invierà quindi alla CA la propria chiave pubblica ed i propri dati(1), questa li verificherà(2) e gli restituirà un certificato digitale firmato con la chiave privata della CA(3) che garantisce la corrispondenza fra la chiave ed il server.

Ora inizia la comunicazione fra il client ed il server:

1. Il Browser del utente si connette al server e invia la lista degli algoritmi di cifratura da lui supportati.

2. Il server web accetta la connessione del client, decide l'algoritmo che si utilizzerà e gli invia anche il proprio certificato digitale.

3. Il Browser utilizza la chiave pubblica della CA per verificare la validità del certificato, controlla che non sia stato revocato e che le informazioni riportate corrispondano al server a cui si cerca di accedere.

4. In caso il certificato risulti valido il Browser genera una chiave casuale, la cifra asimmetricamente con la Chiave Pubblica del server presente nel certificato e la invia.

5. Il server, con la propria Chiave Privata decifra la chiave casuale inviata dal client.

A questo punto sia il client che il server possiedono la stessa chiave che nessun altro può aver intercettato avendola firmata asimmetricamente con la Chiave Pubblica del server.

Da qui in poi quella chiave diventa la “Chiave di Sessione” che verra utilizzata per cifrare tutto il resto della comunicazione (compreso il numero di carta di credito) con l'algoritmo simmetrico

La Crittografia nella realtà Pagina 39

Page 40: La Crittografia Modernatesina.epper.org/Zilio Andrea - La Crittografia Moderna.pdf · Zilio Andrea Tesina di Maturità 5IC La Crittografia Moderna ... Le conseguenze dell'invenzione

Zilio Andrea La Crittografia Moderna

definito all'inizio.

Se, in un'altra occasione si volesse accedere allo stesso server tramite una connessione cifrata il procedimento verrebbe seguito nuovamente dall'inizio generando un'altra chiave di sessione.

La Crittografia QuantisticaRSA, il sistema asimmetrico che abbiamo analizzato nel dettaglio, è sicuro perché fattorizzare i numeri primi mediante le tecniche informatiche attuali avrebbe un costo improponibile.

In realtà, però, questo crittosistema potrebbe essere violato in qualche secondo quando verrà costruito il primo Computer Quantistico.

Questi tipo di computer lavorano seguendo le regole della meccanica quantistica (la scienza che studia il comportamento della materia su scala atomica) e potranno risolvere molti problemi fino ad ora complessi in una manciata di secondi. Uno di questi è appunto la fattorizzazione dei numeri composti.

Utilizzando le stesse regole della meccanica quantistica si stanno studiando anche dei progetti di “Crittografia Quantistica”.

Il loro funzionamento si basa su una delle caratteristiche principali di questa scienza: il fatto che, un fotone intercettato viene sicuramente modificato in una delle sue proprietà.

In questo modo è possibile trasformare le chiavi in una sequenza di fotoni e scambiarle senza preoccuparsi di nasconderle, ma verificando solamente che non siano state intercettate controllando che i fotoni abbiano le stesse proprietà di quando sono partiti.

Questo sistema non è ancora utilizzabile da tutti noi, ma comunque non dobbiamo aver motivo di preoccuparci perché le previsioni più ottimistiche ci dicono che il primo computer quantistico in grado di violare i crittosistemi asimmetrici attuali verrà costruito fra non meno di 20 anni.

Possiamo quindi continuare a fare i nostri acquisti online senza preoccupazioni.

La Crittografia Quantistica Pagina 40

Page 41: La Crittografia Modernatesina.epper.org/Zilio Andrea - La Crittografia Moderna.pdf · Zilio Andrea Tesina di Maturità 5IC La Crittografia Moderna ... Le conseguenze dell'invenzione

Sitografia:✔ La Crittografia da Atbash a RSA - http://www.liceofoscarini.it/studenti/crittografia/✔ amagri.it - http://www.amagri.it✔ Wikipedia, the free encyclopedia - http://www.wikipedia.org✔ Man in the middle attacks - http://www.blackhats.it/it/papers/Paper-mitm.pdf✔ Sicurezza.HTML.IT - http://sicurezza.html.it/✔ RSA Laboratories – Crypto FAQ - http://www.rsasecurity.com/rsalabs/node.asp?id=2152✔ SUN Developer Network - http://developers.sun.com

Creato con:➢ OpenOffice.org - http://www.openoffice.org/

Immagini modificate e adattate con:➢ The Gimp - http://www.gimp.org/

Andrea Ziliohttp://www.epper.org

Note di chiusura:

i http://www.rsasecurity.com ii http://www.rsasecurity.com/rsalabs/node.asp?id=2218