Informatica

42
Informatica Lezione 10 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico: 2007-2008

description

Informatica. Lezione 10 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico: 2007-2008. Pacchetti IP. Abbiamo visto che … Un ruolo del protocollo TCP è di suddividere il messaggio in frammenti più brevi ( pacchetti ) - PowerPoint PPT Presentation

Transcript of Informatica

Page 1: Informatica

Informatica

Lezione 10

Psicologia dello sviluppo e dell'educazione (laurea magistrale)

Anno accademico: 2007-2008

Page 2: Informatica

Pacchetti IP

• Abbiamo visto che …– Un ruolo del protocollo TCP è di suddividere il

messaggio in frammenti più brevi (pacchetti)– Il protocollo IP definisce l’informazione che deve

essere aggiunto al pacchetto per realizzare il trasferimento nella rete

• Come funziona il trasferimento dei pacchetti in Internet?

Page 3: Informatica

Pacchetti IP

• Trasferimento dei pacchetti: – Usiamo un’analogia (da Vincent Cerf, uno dei inventori di

Internet): mandare un romanzo da Tahiti alla casa editrice a New York usando solo cartoline postali

Page 4: Informatica

Pacchetti IP

• Bisogna spezzare il romanzo in frammenti (ognuno di poche riga)

• … numerare ogni cartolina (in modo tale che la sequenza corretta può essere ricostruita)

• … scrivere l’indirizzo della casa editrice (il destinatario) su ogni cartolina

• … mettere le cartoline nella casella di lettere• Poi il servizio postale di Tahiti le invierà alla casa editrice

Page 5: Informatica

Pacchetti IP

• Non è detto che tutte le cartoline seguano lo stesso itinerario– Alcuni arrivano a New York via Hong Kong …– … alcuni arrivano a New York via Los Angeles, ecc.

• Alla casa editrice, la numerazione delle cartoline permette la ricostruzione del romanzo

Page 6: Informatica

Pacchetti IP

• Pacchetto IP: contiene lo spazio per scrivere:– Informazione (una quantità limitata)– Un numero progressivo (identificatore)– L’indirizzo IP del destinatario

• I pacchetti IP sono inviati attraverso Internet uno alla volta• Possono seguire percorsi diversi dallo stesso mittente e lo

stesso destinatario

• Giunti la destinazione sono reordinati secondo al numero identificatore

Page 7: Informatica

Pacchetti IP

• Un vantaggio della possibilità di seguire diversi percorso in rete:– Nel caso di congestioni in rete (potrebbe essere più

efficiente seguire un percorso invece di un altro) – Nel caso di un guasto di un dispositivo di un percorso (in

questa situazione, il percorso non è più disponibile)

• Per visualizzare un percorso tra nostro computer e quello di un sito web: www.traceroute.org

Page 8: Informatica

Collegare un computer a Internet

• Un computer è collegato ad Internet tramite un ISP (Internet Service Provider)

• Tre modi principali per collegare un computer a Internet:– Accesso residenziale– Accesso aziendale o universitarie– Accesso senza fili

Page 9: Informatica

Collegare un computer a Internet

• Accesso residenziale:– Sono necessari dei dispositivi per poter usare la

rete telefonica come mezzo di comunicazione tra computer: i modem

Computer Modem

Segnaledigitale

Segnaledigitale

Segnaleanalogico(linea telefonica)

MOdulazione

DEModulazione

Computer Modem

Page 10: Informatica

Accesso residenziale

• ISP - per esempio: tiscali.it, aruba.it • Il classico collegamento via modem:

– Il modem del computer dell'utente deve essere connesso alla rete telefonica (usando un spinotto identico a quello usato per i normali apparecchi vocali)

– Per accedere ad Internet, il modem deve comporre il numero del provider

– Il provider anche ha un computer (permanentemente) connesso ad Internet tramite un modem

– Una connessione tra il computer del utente e il computer del provider è creato

Page 11: Informatica

Accesso residenziale

• Il computer del provider abilita l'invio e la recezione di informazione in Internet al computer dell'utente

• Per esempio, quando l'utente clicca su un link in una pagina web: – La richiesta per accedere alla nuova pagina passa dal

computer dell'utente a quello del provider – ... poi dal computer del provider al web server remoto che

gestisce la pagina richiesta – ... poi il web server manda la pagina al computer del

provider – ... poi il computer del provider manda la pagina al computer

dell'utente

Page 12: Informatica

Accesso residenziale

• Modem dial-up: – Usa la stessa linea utilizzata per le normali

chiamate telefoniche – Frequenza può raggiungere 56 Kbps (Kilobit per

secondo) – Sempre meno diffuso:

• Negli Stati Uniti, in 2000, 74% del accesso residenziale ad Internet era realizzato tramite modem dial-up

• In 2006, il percentuale è diventato 36%

Page 13: Informatica

Accesso residenziale

• Negli ultimi anni sono diffuse tecnologie come ADSL (Asymmetric Digital Subscriber Line) – Un esempio di accesso residenziali a banda larga– Velocità (asimmetrico):

• Verso l'utente: tipicamente circa 10 Mbps (Megabit per secondo)

• Verso l'ISP: tipicamente circa 1 Mbps

– Progettato per brevi distanze tra i modem residenziali e quelli dell'ISP

• Permette una frequenza di trasmissione più alta rispetto a quella dei modem dial-up tradizionali

Page 14: Informatica

Accesso residenziale

• ADSL (Asymmetric Digital Subscriber Line) – Usa tre bande di frequenza non sovrapposte: un

canale verso l'utente, un canale verso l'ISP, un canale telefonico ordinaria a due vie

Page 15: Informatica

Collegare un computer a Internet

• Accesso aziendali o universitarie (LAN): – I computer sono collegati sotto forma di rete locale

(LAN, Local Area Network) – Ethernet è comunemente usato nelle LAN:

versione Ethernet di 2006 ha una velocità di 10 Gbps

– Intranet: un nome per la rete locale di un'organizzazione

– Tramite un computer chiamato gateway, una rete locale (e quindi tutti i computer che contiene) può essere connesse ad Internet

Page 16: Informatica

Collegare un computer a Internet

• Accesso senza fili:– Rete senza fili (wireless): una variante di un LAN – Un computer chiamato hub è fisicamente collegato a

Internet (forse tramite altri computer e dispositivi nella LAN) – Il hub è capace di ricevere e trasmettere (in broadcast)

segnali, solitamente in radiofrequenza – I computer mobili (portali, PDA, ecc.) anche sono in grado di

ricevere e trasmettere sulla stessa frequenza – Il protocollo usato dalle reti senza fili funzione come Ethernet

(che è anche un protocollo di "broadcast") • Per esempio, IEEE 802.11 (velocità della versione di 2003: 54

Mbps)

Page 17: Informatica

Il WWW

• WWW (World Wide Web): tutti i web server (che hanno il ruolo di inviare file ai browser) e i loro file

• I file normalmente sono le pagine web, ma anche possono essere file di audio, filmati ecc.

• Distinzione tra Internet e il WWW: – Internet: cavi e router che collegano i computer che hanno

un indirizzo IP – WWW: un servizio di Internet fornito dal sottoinsieme di quei

computer (i web server)

Page 18: Informatica

Il WWW

• Una richiesta per visualizzare una pagina web: tramite uno Universal Resource Locator (URL) – Per esempio:

– Tre parti principali: • Protocollo: http:// indica al computer come gestire i file

• Nome del server: www.di.unito.it, che è il nome simbolico dell'indirizzo IP del web server della pagina richiesta

• Percorso della pagina: /~sproston/Psicologia/0708/magistrale0708.html identifica il file e la sua posizione nel file system del web server

http://www.di.unito.it/~sproston/Psicologia/0708/magistrale0708.html

Page 19: Informatica

Il WWW

• Le pagine sono rappresentate (memorizzate, spedite) sotto forma di sorgente – Sorgente: una descrizione di come la pagina deve apparire

all'utente – Non è il caso che le pagine sono rappresentate come un

grafico – I file di descrizione in generale richiedono meno spazio

(rispetto alla rappresentazione grafico di una pagina) – Il browser può adattare la visualizzazione di una pagina – Per leggere il sorgente di una pagina: scegliere Visualizza

dalla barra dei menu del browser, poi Sorgente o HTML– Sorgente tipicamente scritto nel linguaggio HTML (Hypertext

Markup Language)

Page 20: Informatica

La sicurezza nelle reti

• Comunicazione sicura: voluta per le transazioni commerciali in Internet, informazione sulla sicurezza nazionale, messaggi personali, ecc.– Problema: Internet è una rete pubblica, e informazione può essere

intercettata

• Attacchi a una rete privata possono arrivare dall’esterno• Firewall: un dispositivo posizionato tra una rete privata (di

un’organizzazione) e l’esterno– Controlla e regola l’entrata e l’uscita di pacchetti, per evitare che i

pacchetti di malintenzionati penetrino la rete

Page 21: Informatica

La sicurezza nelle reti

• Proprietà necessario per la sicurezza in rete:– Riservatezza: solo il mittente e il destinatario dovrebbero

essere in grado di comprendere il contenuto del messaggio trasmesso

• Un messaggio può essere intercettato: quindi dovrebbe essere cifrato (dal mittente) e decifrato (dal destinatario)

• Il messaggio cifrato dovrebbe essere incomprensibile a chi non possiede il codice di decifratura

• Esistono altri tipi di riservatezza: per esempio, forse il mittente vuole mantenere segreto non solo il contenuto del messaggio mandato al destinatario, ma anche il fatto che sta comunicando con il destinatario

Page 22: Informatica

La sicurezza nelle reti

• Altre proprietà necessario per la sicurezza in rete:– Autenticazione: il mittente e il destinatario devono essere

reciprocamente sicuri della loro identità– Integrità del messaggio: il contenuto di una comunicazione

non deve subire alterazioni durante la trasmissione• Alterazioni: per esempio, a manipolazioni

– Disponibilità e controllo dell’accesso: i servizi forniti devono essere disponibili e accessibili agli utenti autorizzati in rete

• Attacchi di negazione del servizio (denial-of-service): rende inutilizzabili reti, host e altre componenti di Internet da parte degli utenti

Page 23: Informatica

La sicurezza nelle reti

• Durante la comunicazione, un malintenzionato potrebbe:– Ascoltare i messaggi in transito (per esempio, per rubare un

password)

– Rimuovere e aggiungere messaggi o modificare il loro contenuto

A: mittente (sicuro)

B: destinatario (sicuro)

Malintenzionato

DatiDati Messaggi

Page 24: Informatica

Crittografia

• Crittografia: consente il mittente di mascherare i dati in modo che un malintenzionato non possa comprendere il contenuto

• Il destinatario deve essere in grado di recuperare i dati originali

• Testo in chiaro (plaintext o cleartext): il messaggio originario scritto dal mittente

• Messaggio cifrato (ciphertext): la versione cifrata del messaggio

Page 25: Informatica

Crittografia

• In molti casi le tecniche di crittografia sono nel dominio pubblico– Occorrono delle informazioni segrete che impediscono ai

malintenzionati di decifrare i messaggi: le chiavi

– Il mittente ha una chiave KA usata per generare la versione cifrata KA(m) del messaggio m in testo in chiaro

– Il destinatario ha una chiave KB e un algoritmo di decifratura che restituisce il messaggio m in testo in chiaro: cioè calcola KB(KA(m))=m

Page 26: Informatica

Crittografia

A: mittente (sicuro)

B: destinatario (sicuro)

Malintenzionato

Testo in chiaro Testo cifrato

Testo in chiaro

Chiave KA Chiave KB

Page 27: Informatica

Chiave simmetrica

• Le chiavi di A (mittente) e B (destinatario) sono identiche e segrete

• Per esempio: un antico algoritmo - cifrario di Cesare– Considerare un messaggio di testo– Sostituire ogni carattere del testo con un altro sfasato

(rispetto al primo) i un numero k di posti nell’alfabeto– Per esempio: se k=3, “a” diventa “d”, “c” diventa “f”, ecc.– Ciclico: a volta terminato l’alfabeto si ricomincia con la

lettera “a”– La chiave: il valore k– “Brad, I love you. Angelina” (con k=3) diventa “eudg, l oryh

brx. dqjholqd” (nell’alfabeto inglese)

Page 28: Informatica

Chiave simmetrica

• Per esempio: cifrario monoalfabetico– Considerare un messaggio di testo

– Sostituire ogni carattere del testo con un altro, ma la sostituzione avviene seguendo uno schema arbitrario

– Però una data lettere è sostituita con sempre la stessa lettera

– Per esempio:

• “Brad, I love you. Angelina” diventa “bomv, s gktc wky.mjzcgsjm”

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 z

m n b v c x z a s d f g h j k l p o i u y t r e w q

Page 29: Informatica

Chiave simmetrica

– Nel caso di cifratura monoalfabetica: un attacco può essere basato sulla ricerca tra tutti le combinazioni possibili (un attacco di “forza bruta”)

• Alcune lettere e gruppi di lettere (in italiano, “che”, “zione” e “mente”) ricorrono con maggiore frequenza: rende più facile un attacco al codice

– Cifratura polialfabetica: usa moltiplici sostituzioni monoalfabetiche

• Per esempio, la sequenza C1 C2 C2 C1 C2

• Cifrare la prima lettera del messaggio usando C1, la seconda lettera con C2, …, la quinta con C2

• Poi ripetiamo la sequenza: la sesta lettera è cifrata con C1, la settima con C2, ecc.

Page 30: Informatica

Chiave pubblica

• Svantaggio delle chiavi simmetriche: le due parti coinvolte nella comunicazione devono sapere la chiave– Ma come? Comunicato fisicamente? Tramite un canale

sicuro? Non è sempre possibile

• Una soluzione: chiave pubblica– Proposta da Diffie e Hellman nel 1976– Il sistema usa due chiavi:

• Una chiave pubblica (KB+): disponibile a chiunque, anche alle

malintenzionati• Una chiave privata (KB

-): conosciuta solo del destinatario della comunicazione

Page 31: Informatica

Chiave pubblica

• L’uso delle due chiavi:– Il mittente usa un dato algoritmo di cifratura e la chiave

pubblica KB+ per generare un messaggio criptato (scritto KB

+

(m) )– Il destinatario usa un algoritmo di decifratura e la chiave

privata KB- per decodificare il messaggio criptato (cioè il

destinatario calcola KB- (KB

+(m)) )

– Esistono metodi per scegliere chiavi pubbliche e private in modo tale che KB

- (KB+(m)) = m

Page 32: Informatica

Chiave pubblica

A: algoritmo di cifratura

B: algoritmo di decifratura

Messaggio in chiaro, m Testo cifrato KB

+(m)

Chiave pubblica KB+

Chiave privata KB

-

Messaggio in chiaro, m

KB-(KB

+(m))

Page 33: Informatica

Chiave pubblica: RSA

• Il sistema a chiave pubblica RSA è il più noto dei sistemi a chiave pubblica– RSA: nome derivato dalle iniziali degli inventori Rivest, Shamir e

Adleman

– Due punti fondamentali:• La scelta della chiave pubblica e di quella privata• Gli algoritmi di cifratura e di decifratura

– Basato sui numeri primi: i numeri naturali che sono divisibili solo per 1 e per se stessi: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, …

– Fattori di un numero naturale z: qualsiasi insieme di interi che, moltiplicati insieme, danno z

– Notazione: y mod z sta per il resto della divisione y/z

Page 34: Informatica

Chiave pubblica: RSA

• Per ottenere la chiave pubblica e la chiave privata, il destinatario deve:

1. Scegliere due numeri primi, p e q (tanto più grande sarà il loro valore tanto più difficile risulterà violare RSA: raccomandato che il prodotto di p e q sia dell’ordine di 768 o 1024 bit)

2. Calcolare n = pq e z = (p-1)(q-1)

3. Scegliere un numero e (encryption), tale che e<n, diverso da 1 e che non ha fattori in comune con z

4. Scegliere un numero d (decryption), tale che ed – 1 sia un multiplo di z (in altri termini, tale che il resto della divisione ed/z sia 1)

5. La chiave pubblica KB+ è la coppia (n, e), la chiave privata KB

- è la coppia (n, d)

Page 35: Informatica

Chiave pubblica: RSA

• Angelina vuole inviare a Brad un numero m, tale che m<n

• Per codificarlo, Angelina usa la chiave pubblica (n, e) per calcolare il messaggio cifrato c, dove

c = me mod n• Per decifrare il messaggio ricevuto, Brad usa la

chiave privata per calcolarem = cd mod n

• La scelta di e e d garantisce che (me mod n)d mod n = m

Page 36: Informatica

Chiave pubblica: RSA

• Esempio (artificiale): – Brad sceglie p=5 e q=7– Poi n = pq = 35, e z = (p-1)(q-1) = 24– Brad sceglie e = 5 (5 e 24 non hanno fattori in comuni)– Brad sceglie d = 29 ((5x29) – 1 è divisibili per 24)– Brad rende pubblica la chiave (35, 5), e mantiene segreta la

chiave (35, 29)– Angelina vuole inviare le lettere “l”, “o”, “v”, “e” a Brad– Interpretiamo le lettere come numeri fra 1 e 26 (i numeri

corrispondono alle posizioni delle lettere nel alfabeto inglese)

Page 37: Informatica

Chiave pubblica: RSA

• Esempio: – Codifica di Angelina (chiave pubblica n=35, e=5)

– Decodifica di Brad (chiave privata n=35, d=29)

Lettere in chiaro m: rappresentazione numerica me Testo cifrato c=me mod n

l 12 248832 17

o 15 759375 15

v 22 5153632 22

e 5 3125 10

Testo cifrato c cd m=cd mod n Lettere in chiaro

17 481968572106750915091411825223071697 12 l

15 12783403948858939111232757568359375 15 o

22 851643319086537701956194499721106030592

22 v

10 100000000000000000000000000000 5 e

Page 38: Informatica

Chiave pubblica: RSA

• Perché funziona RSA?– (me mod n)d mod n = (me)d mod n = med mod n– Teorema: se p e q sono primi, e n = pq, allora:

xy mod n = xy mod (p-1)(q-1)

– Applicando questo risultato, possiamo scrivere:med mod n = m(ed mod (p-1)(q-1)) mod n

– Ricordiamo che e e d sono tali che ed – 1 sia divisibile per (p-1)(q-1)

– Quindi il resto di (p-1)(q-1)/ed è 1– Così ed mod (p-1)(q-1) = 1– Dato che m<n, abbiamo:

m(ed mod (p-1)(q-1)) mod n = m1 mod n = m– Poi abbiamo il risultato che volevamo:

med mod n = m

Page 39: Informatica

Chiave pubblica: RSA

• L’efficacia di RSA:– Non si conoscono algoritmi veloci per la fattorizzazione dei

numeri interi– Quindi, anche con la conoscenza del numero n, è

computazionalmente proibitivo calcolare i fattori p e q– Se un algoritmo veloce per la fattorizzazione sia sviluppato,

il sistema RSA non sarebbe più sicuro

Page 40: Informatica

Integrità

• Firme digitale: usati come le firme nel mondo “non-informatico”– Per esempio, per indicare il titolare di un documento, o di dichiarare

di approvare del contenuto di un documento– Devono essere verificabile, non falsificabile e non ripudiabile– Usiamo la crittografia a chiave pubblica

• Esempio:– Brad vuole firmale digitalmente un documento m che manda a

Angelina– Calcola KB

-(m) usando la sua chiave privata– Angelina riceve KB

-(m) da Brad, e vuole convincere un giudice che il documento è stato firmato da Brad

– Angelina applica la chiave pubblica di Brad per calcolare KB+(KB

-

(m)) = m, che corrisponde al documento originale

Page 41: Informatica

Integrità

B: algoritmo di cifratura

B: algoritmo di decifratura

Messaggio in chiaro, m Testo cifrato KB

-(m)

Chiave pubblica KB+

Chiave privata KB

-

Messaggio in chiaro, m

KB+(KB

-(m))

Page 42: Informatica

Integrità

– Il giudice conclude che Brad ha firmato il documento, perché:

• La firma digitale è stato realizzato che la chiave privata KB

-

• Solo Brad è in possesso della sua chiave privata

– Si nota che per un altro messaggio m’m, poi KB+

(KB-(m’)) m