Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
CASTIGLIONI MARCO
POZZETTI MIRKO
TREVISAN MATTEO
LA SICUREZZA
INFORMATICA
ANNO SCOLASTICO 2001/2002
CLASSE 5IB Sommario
SOMMARIO
Introduzione III
Capitolo 1 La storia
1.1 La nascita dei calcolatori 1
1.1.1 I computer e la seconda guerra mondiale 1
1.1.2 I computer nel dopoguerra 2
1.1.3 I computer moderni 3
1.2 I computer nella seconda guerra mondiale 4
Capitolo 2 Il presente
2.1 Le comunicazioni in Internet 7
2.2 Il protocollo IP 8
2.2.1 Il preambolo IP 8
2.2.2 Struttura dell’indirizzo IP 10
2.3 Il protocollo TCP 11
2.3.1 Il preambolo TCP 12
2.3.2 Gestione delle connessioni TCP 13
2.4 Le porte 15
2.4.1 Esempi di porte 16
2.5 I socket 17
2.6 Esempi 17
2.6.1 Tracert 18
2.6.2 Netstat 18
Capitolo 3 La crittografia
3.1 La storia 19
3.1.1 Crittografia antica 21
3.1.2 Crittografia fino al XVIII secolo 23
3.1.3 Crittografia moderna 25
3.2 Principali cifrari 28
3.2.1 Cifrari a sostituzione 28
3.2.2 Cifrario affine 28
3.2.3 Cifrario Playfair 30
3.2.4 Stream cypher 31
3.2.5 Cifrario di Vernam 32
3.3 La sicurezza perfetta 33
3.4 Gli algoritmi 35
3.4.1 Il DES 35
3.4.2 L’ RSA 45
3.5 Macchine cifranti 46
3.5.1 Enigma 46
3.5.2 La bomba di Turing 52
3.6 Crittoanalisi 57
3.6.1 Crittoanalisi statistica 57
3.6.2 Crittoanalisi lineare 58
3.6.3 Crittoanalisi differenziale 60
3.6.4 Crittoanalisi su polialfabetici 60
3.6.5 Brute force 61
3.7 Curiosità e considerazioni 62 I
Sommario
Capitolo 4 Esempi pratici
4.1 L’uso di Winsock 64
4.1.1 Struttura dell’applicazione 64
4.1.2 Implementazione dell’applicazione 66
4.2 Il DES 68
4.2.1 La classe CDes 68
4.3 Scambio di messaggi crittati 75
4.3.1 Struttura dell’applicazione 76
4.3.2 Implementazione dell’applicazione 76
4.4 L’ analisi di un testo 78
4.4.1 Struttura dell’applicazione 78
4.4.2 Implementazione dell’applicazione 81
4.5 I socket in Linux 88
4.5.1 Implementazione dell’applicazione 88
4.6 PGP 90
Conclusioni 101
Appendice A 105
Appendice B 109
Appendice C 114
Appendice D 120
Appendice E 121
Appendice F 123
Glossario 171
Bibliografia 176 II
Introduzione
INTRODUZIONE
L’ argomento trattato nell’ area di progetto, la sicurezza
informatica, è entrato in auge in seguito alla capillare di
diffusione dei PC e di Internet. Con essi sono nati i primi seri
problemi di sicurezza sia per i privati e, soprattutto, per le
grandi aziende.
Nell’area di progetto si è cercato di analizzare questo
problema prendendo in esame sia la parte teorica che quella
pratica.
In particolare l’attenzione è stata focalizzata su i due
grandi temi chiave della sicurezza : gli attacchi via socket e la
crittografia. Infatti sono questi i due temi che ad oggi
determinano o meno la sicurezza di un sistema. Il primo, cioè i
socket, riguarda la trasmissione delle informazioni, il secondo,
la crittografia, riguarda la sicurezza intrinseca di esse.
La trattazione di questi argomenti nella parte pratica ha
permesso di realizzare una piccola applicazione che è in grado,
tramite l’uso congiunto di socket e crittografia, di inviare
messaggi cifrati tra due stazioni.
Inoltre è stata realizzata una piccola applicazione che
permette di crittare i messaggi attraverso algoritmi “storici”
come la scacchiera di Polibio o il cifrario di Cesare.
Come ultimo esempio pratico è stato analizzato l’uso di
PGP. In pratica è stato costruito un piccolo manuale,
contenente le istruzioni più importanti, per usare il programma
di crittazione più diffuso al mondo.
La seconda parte dell’area di progetto si basa sulle
conseguenze che l’azione congiunta di informatica e crittografia
hanno portato nella storia. In particolare si analizzeranno le
tecniche usate nella seconda guerra mondiale per cifrare le
informazioni, come la macchina Enigma e quelle per decifrarle,
come la Bomba di Turing.
In particolare lo sviluppo della crittografia è stato
affrontato fin dai primi algoritmi (codice Atbash) fino ad
arrivare ai giorni nostri. III
La storia
Capitolo 1
La storia
1.1 La nascita dei calcolatori
1.1.1 I computer e la seconda guerra mondiale
1.1.2 I computer nel dopoguerra
1.1.3 I computer moderni
1.2 I computer nella seconda guerra mondiale
1.1 La nascita dei calcolatori
La parola computer deriva dal latino “computare” che
significa “fare di conto”.
Questo strumento è nato per facilitare il calcolo di
funzioni matematiche complesse. Già nel 1642 il matematico
Blaise Pascal inventò e costruì la prima calcolatrice macchina
con riporto automatico con otto cifre. Questa macchina servì
solo a dimostrare che si potevano eseguire calcoli matematici
anche con macchine e non solo con la mente, mentre il vero e
proprio computer nasce solo nel XX secolo. Sempre in questi
anni nasce la scienza dell’informatica, che studia l’elaborazione
dei dati e il trattamento automatico delle informazioni.
1.1.1 I computer e la seconda guerra mondiale
Il secondo conflitto mondiale fu la rampa di lancio dei
primi computer, che furono ideati sia dalla parte alleata sia dalla
parte tedesca.
I tedeschi furono i primi a costruire un macchina che fu in
grado di generare un codice crittato, che era incomprensibile per
gli alleati. Questo codice, creato dai tedeschi per comunicare
strategie di guerra e messaggi, fu incomprensibile per gli alleati
per tutta la prima parte del conflitto.
Churchill incaricò il matematico inglese Turing, che fu
l’ideatore della prima macchina, che era in grado di leggere le
informazioni da un nastro e di copiarle su un altro, di dirigere il
centro di studi sulla comunicazione.
Turing formò un gruppo di lavoro per decifrare i codici
crittati, formato da circa settemila persone, sia militari sia
personale civile (si andava da matematici, ad archeologi, a
crittografici, ad enigmisti, a giocatori d’azzardo e a tante altre
persone).
Ma solo un esperto di centralini telefonici ideò il primo
calcolatore elettromeccanico, che era in grado di trovare in
pochi minuti i codici nazisti: questa macchina prese il nome di
Colossus. 1
La storia
Questo calcolatore cambiò letteralmente le sorti della
guerra, infatti, gli alleati erano in grado di prevedere le mosse
dei tedeschi e la marina italiana ne fece le spese, venendo
sconfitta nel 1941 a Capo Matapan.
Alla fine della seconda guerra mondiale Churchill ordinò
di smantellare tutti gli esemplari di Colossus.
1.1.2 I computer nel dopoguerra
Gli anni del dopoguerra furono fondamentali per la
nascita di calcolatori più veloci, anche se questi calcolatori
“moderni” erano molto grossi, pesanti e lenti rispetto a
quelli che usiamo ora.
Il primo calcolatore elettromeccanico funzionava
automaticamente con programmi registrati (che sono gli
“antenati” dei primi software).
Il nome di questo calcolatore era Harvard Mark 1 e fu
realizzato nei laboratori dell’IBM, in collaborazione con
l’università di Harvard. Con questo calcolatore è nato anche
il termine “bug”, che viene utilizzato dagli specialisti per
definire un errore.
Il calcolatore Bessie che eseguiva operazioni
matematiche come la somma di numeri a 23 cifre in tre
decimi di secondo e una moltiplicazione in 6 secondi, venne
impiegato dalla marina militare statunitense per studi sulla
balistica e progettazione di navi. Inoltre venne anche usato
dalla commissione dell’energia per ricerche sulla
disintegrazione dell’atomo.
Un altro calcolatore realizzato nel 1946, destinato
solamente ad un uso militare, chiamato Eniac, costò la
bellezza di mezzo milione di dollari di allora. Questo
calcolatore serviva per il calcolo delle traiettorie dei
proiettili. Esso riusciva a realizzare una tabella balistica in
30 minuti contro le 20 ore impiegate da un uomo. Questo
calcolatore fu tenuto in funzione solo per nove anni, dopo
di che non fu più utilizzato poiché aveva un alto costo di
manutenzione. Esso va ricordato anche per un altro fatto:
durante la sua creazione lo scienziato John Tykey creò il
termine “bit”, contrazione delle parole “Binary DigiT”. Esso
rappresenta la più piccola unità di informazione, che
specifica due stati: 1 (acceso) e 0 (spento), che codificano i
dati all’interno di un computer. Una striscia di otto bit
forma un “byte”, che oggi viene utilizzato per rappresentare
un carattere o un singolo numero.
Nel 1947 fu inventato il transistor, il quale
rivoluzionò completamente il mondo del computer. Questi
dispositivi erano molto più piccoli (qualche millimetro)
rispetto alle valvole (diversi centimetri), erano molto più
resistenti e consumavano molta meno elettricità.
Fino al 1950 i computer non avevano memoria e quindi
le informazioni non potevano essere salvate. Tra il 1950 e il 2
La storia
1955 i calcolatori vennero dotati di memorie, ma la capacità
di memorizzazione era solo di un bit alla volta. Queste
memorie “interne” erano molto ingombranti e siccome i
computer avevano già grandi dimensioni, si decise di
abbandonarle, puntando su memorie ausiliarie o esterne,
come nastri e dischi magnetici.
Negli anni successivi si costruirono calcolatori sempre
più piccoli, arrivando nel 1957 alle dimensioni di un
frigorifero. Questo calcolatore era accessibile solamente
all’esercito. Ma l’era dei computer domestici era lontana,
poiché il costo era elevato e le dimensioni non certo adatte
per una casa.
Ma la vera rivoluzione avvenne nel 1958, grazie
all’ingegnere americano Kilby che inventò i circuiti
integrati.
1.1.3 I computer moderni
Gli integrati rivoluzionarono il mondo del computer:
con questa invenzione i calcolatori potevano avere delle
dimensioni molto ridotte rispetto ai loro predecessori.
Questa invenzione nel campo informatico prese il nome di
chip. I computer ebbero una diffusione maggiore: essi non
solo potevano essere acquistati dai militari, ma anche da
industrie. Erano molto veloci, grazie a questi circuiti
miniaturizzati, ma il loro costo era molto elevato e ancora
accessibile a pochi.
Questi computer erano prodotti soprattutto in
America, ma nel 1965 anche l’Italia scese in campo, grazie
all’ Olivetti, che costruì un calcolatore chiamato
“Programma 101”, che ebbe grande successo, soprattutto
oltreoceano. Questo calcolatore fu il primo ad avere
memorizzato al suo interno un programma ed un supporto
magnetico, dal quale avrà origine il “floppy disk”.
Nel 1968 l’industria americana prese il sopravvento,
infatti, in questo anno nacque l’Intel, che fu ed è tuttora,
l’azienda leader nella costruzione di processori e chip di
memoria.
Nel 1970 costruì la prima RAM adottata da tutti i
calcolatori al posto delle vecchie memorie a nuclei
magnetici.
Nel 1971 venne costruita la prima cpu che da allora,
costituisce il cuore del calcolatore. Essa era in grado di
tenere memorizzati i dati, fino a che non veniva a mancare
la corrente.
Per realizzare il computer come lo conosciamo oggi,
mancava ancora un componente, infatti, il vero problema era
memorizzare i dati all’interno del calcolatore, senza perderli
una volta tolta la corrente. Questo problema venne superato
grazie al primo “hard disk”, costruito dall’IBM, che 3
La storia
permetteva di immagazzinare i dati anche in mancanza di
corrente.
La data più importante nella storia dei computer e
dell’informatica fu il 1975, anno in cui, grazie a due studenti
universitari, William “Bill” Gates e Paul Allen, nacque la
Microsoft, prima azienda specializzata nell’elaborazione di
linguaggi per computer. A questa azienda si opposero altri
due giovani, Stephen Jobs e Stephen Wozniak, che nel
salotto della loro casa, costruirono Apple I e diedero vita
nel 1976 alla Apple azienda, tuttora in competizione con
Microsoft. Nel 1977, Jobs e Wozniak, costruirono Apple II,
che era solo dotato di una tastiera, di un alimentatore e di
prese per il collegamento con le periferiche, già presenti sul
mercato.
Nel 1981 l’IBM, che allora era la maggiore produttrice
di computer, investì sulla produzione dei “Personal
Computer” grazie anche all’aiuto della Microsoft, la quale
ideò e fornì il primo sistema operativo : l’ MS-DOS, che è
tuttora utilizzato.
In questi quarant’ anni il computer si è evoluto
rapidamente, passando dall’essere lento e ingombrante ad
avere dimensioni che siamo abituati a vedere tutti i giorni e
a velocità che sono in costante aumento.
Nel futuro i computer saranno sempre più piccoli e
più veloci e faranno sempre più parte della nostra vita
quotidiana.
1.2 I computer nella Seconda Guerra Mondiale
Dopo l’ascesa al potere di Hitler, verificatasi in Germania
a partire del 1933, e la costruzione del suo regime dittatoriale, il
nazismo portò prima l’Europa e poi il mondo intero in un nuovo
e spaventoso conflitto mondiale.
La guerra iniziò il 1° settembre del 1939 con l’attacco
della Germania alla Polonia che venne conquistata i poche
settimane . Il 3 settembre la Francia e l’Inghilterra dichiararono
guerra alla Germania.
Mentre sul fronte francese non si verificarono inizialmente
combattimenti, la Russia attaccò e conquistò la Finlandia, la
Germania per stringere l’Inghilterra in una morsa attaccò e
conquistò la Danimarca e la Norvegia. Sulla linea di confine tra
Francia e Germania i francesi costruirono una linea difensiva
(Linea Maginot), con trincee e cannoni, che serviva come difesa
in caso di attacco, ma la Germania attaccò, passando per il
Belgio, il 10 maggio del 1940, e dopo poco più di un mese i
tedeschi conquistarono gran parte della Francia.
Il 10 giugno del 1940 entrò in guerra a fianco dei nazisti
l’Italia. Con questo intervento militare si verificherà la
conquista italiana di territori in Africa (Somalia, Sudan) e della
Grecia, mentre perdette l’Etiopia; inoltre subì gravi sconfitte
navali a Punta Stilo e a Capo Matapan nel 1941, derivanti dalla 4
La storia
superiorità della marina inglese, ottenuta grazie al radar. La
battaglia di Capo Matapan fu persa a causa dell’intercettazione
inglesi delle trasmissione crittate tra Italiani e tedeschi, grazie al
primo computer COLOSSUS.
Per l’Asse (Germania, Italia, Giappone) fino alla fine del
1941 la guerra portò importanti vittorie, che rafforzarono il loro
potere e permisero la conquista di nuovi territori e, come
conseguenza, l’allargamento dei propri confini.
I tedeschi evitarono che i paesi alleati ricevessero gli aiuti
dagli Stati Uniti; questi ultimi si dichiararono neutrali nel 1939
insieme al Giappone. Ma gli USA, in realtà, fornivano aiuti ai
paesi che non avevano al potere dei regimi totalitari filo -
fascisti. I tedeschi cercarono di evitare che gli aiuti statunitensi
raggiungessero l’Europa, usando i sottomarini (U-boat), che
aspettavano le navi al largo dell’Atlantico e le affondavano.
I sottomarini tedeschi, riuscivano a comunicare tra di loro
e con gli alti comandi dell’esercito tramite l’invio di messaggi.
Questi ultimi per non essere intercettati e capiti dagli Alleati
erano crittati con la macchina ENIGMA. Per la prima parte della
guerra le potenze dell’Asse riuscirono a comunicare con
sicurezza senza che gli Alleati riuscissero a intercettare e a
comprendere i messaggi mandati.
Con l’attacco della Germania alla Russia, che iniziò nel
giugno del 1941, cominciò il declino delle potenze dell’asse.
Dopo aver riportato vittorie schiaccianti in pochi mesi,
l’immenso esercito arrivò alle porte di Mosca e Stalingrado. Ma
con l’inizio dell’inverno la macchina bellica si inceppò, fermò
la sua marcia verso la conquista dell’intero territorio e cominciò
una guerra di posizione,. L’esercito russo si riorganizzò e sferrò
la controffensiva, mentre quello tedesco arretrò per circa 200
chilometri. Come conseguenza Hitler ordinò la resistenza a
oltranza e nel giugno del 1942 dispose di radere al suolo
Stalingrado, ma l’esercito non riuscì nell’impresa; questo fu
l’inizio della fine per le potenze dell’Asse.
Inoltre gli Alleati riuscirono a rompere il codice crittato
che permetteva ai tedeschi di comunicare segretamente, così da
permettere agli alleati di conoscere in anticipo le mosse del
nemico.
Questa rottura del codice fu effettuata da un gruppo di
persone aiutate da un computer chiamato COLOSSUS. Questo
gruppo fu incaricato da Churchill sotto la supervisione di Alan
Turing.
Anche sul fronte del Pacifico cominciarono a verificarsi le
prime sconfitte del Giappone da parte degli americani.
Come già stato detto, sia i giapponesi che gli americani, si
dichiararono neutrali nel 1939, ma dopo l’attacco nipponico a
Pearl Harbor, avvenuto il 7 dicembre 1941, gli USA decideranno
di entrare in guerra. Nel Pacifico la forza americana era
gravemente indebolita, poiché l’attacco a Pearl Harbor riportò
gravi perdite di uomini e mezzi, rendendo le forze giapponesi
superiori. Per avere il predominio nel Pacifico e l’annientamento 5
La storia
della flotta americana, i giapponesi dovettero organizzare un
nuovo attacco.
L’intelligence navale degli Stati Uniti aveva sub