Sicurezza in rete. Sistemi Distribuiti Corso di Laurea in Ingegneria



Documenti analoghi
Sistemi Distribuiti Corso di Laurea in Ingegneria

SSL: applicazioni telematiche SSL SSL SSL. E-commerce Trading on-line Internet banking... Secure Socket Layer

Comunicazioni sicure su Internet: https e SSL. Fisica dell Informazione

Programmazione in Rete

Approfondimento di Marco Mulas

La sicurezza nelle reti di calcolatori

Sicurezza. Evoluzione dei problemi e requisiti di sicurezza Current. Sistemi distribuiti basati su reti locali

Sommario. Introduzione alla Sicurezza Web

La sicurezza nel Web

Protezione delle informazioni in SMart esolutions

Applicazioni per l autenticazione Sicurezza nelle reti di TLC - Prof. Marco Listanti - A.A. 2008/2009

Sicurezza dei sistemi informatici Firma elettronica E-commerce

Sicurezza nelle applicazioni multimediali: lezione 7, sicurezza dei protocolli. Sicurezza dei protocolli (https, pop3s, imaps, esmtp )

Meccanismi di autenticazione sicura. Paolo Amendola GARR-CERT

Sicurezza in Internet

Sicurezza nei Sistemi Distribuiti

Sicurezza nei Sistemi Distribuiti

Corso di ARCHITETTURA DEI SISTEMI INFORMATIVI - Prof. Crescenzio Gallo. 114 Sistemi informativi in rete e sicurezza 4.6

Sicurezza in Internet. Criteri di sicurezza. Firewall

Corso di Sicurezza Informatica. Sicurezza Web. Ing. Gianluca Caminiti

La firma digitale CHE COSA E'?

Informatica per la comunicazione" - lezione 13 -

Obiettivo: realizzazione di reti sicure TIPI DI ATTACCO. Politica di sicurezza: a) scelte tecnologiche b) strategie organizzative

RETI DI CALCOLATORI. Crittografia. La crittografia

Reti di Telecomunicazione Lezione 6

Reti di Telecomunicazione Lezione 8

Crittografia e sicurezza informatica. Sistema di voto elettronico

La Sicurezza delle Reti. La Sicurezza delle Reti. Il software delle reti. Sistemi e tecnologie per la multimedialità e telematica.

Il glossario della Posta Elettronica Certificata (PEC) Diamo una definizione ai termini tecnici relativi al mondo della PEC.

SICUREZZA. Sistemi Operativi. Sicurezza

Sistemi Operativi SICUREZZA. Sistemi Operativi. D. Talia - UNICAL 14.1

SETEFI. Marco Cantarini, Daniele Maccauro, Domenico Marzolla. 19 Aprile 2012

Dal protocollo IP ai livelli superiori

Allegato 3 Sistema per l interscambio dei dati (SID)

Documenti cartacei e digitali. Autenticità. Cosa si vuole garantire? Riservatezza. Integrità 11/12/2012. PA digitale: documenti e firme (I.

La Firma Digitale La sperimentazione nel Comune di Cuneo. Pier Angelo Mariani Settore Elaborazione Dati Comune di Cuneo

Sicurezza digitale. requisiti: confidenzialità, integrità, autenticazione, autorizzazione, assicurazione, riservatezza. soddisfatti mediante

La sicurezza nelle reti di calcolatori

Aspetti di sicurezza in Internet e Intranet. arcipelago

Sommario. Modellazione di Kerberos mediante DASM. Kerberos (1) Descrizione Kerberos. Descrizione Kerberos Modellazione Analisi di Correttezza

Problematiche correlate alla sicurezza informatica nel commercio elettronico

Allegato A: Regole tecniche per la gestione dell identità.

MINIGUIDA AI SERVIZI DI HOME BANKING

Firma digitale Definizione

Esercitazione 02. Sommario. Un po di background (1) Un certificato digitale in breve. Andrea Nuzzolese

Protezione della posta elettronica mediante crittografia

Sicurezza a livello IP: IPsec e le reti private virtuali

La sicurezza nelle comunicazioni Internet

Sicurezza: necessità. Roberto Cecchini Ottobre

UN ARCHITETTURA PER L INTERNET CALIBRATION Nuove opportunità di taratura e di diagnostica a distanza della strumentazione

Scambio delle chiavi. mercoledì 7 dicembre 2011

Esercitazione 2 Certificati

Lezione 7 Sicurezza delle informazioni

Capire i benefici di una rete informatica nella propria attività. I componenti di una rete. I dispositivi utilizzati.

! La crittoanalisi è invece la scienza che cerca di aggirare o superare le protezioni crittografiche, accedendo alle informazioni protette

Elementi di Sicurezza e Privatezza Lezione 1 - Introduzione

Sicurezza nelle reti

Sicurezza dei sistemi e delle reti 1. Lezione VI: IPsec. IPsec. La suite TCP/IP. Mattia Monga. a.a. 2014/15

azienda, i dipendenti che lavorano fuori sede devono semplicemente collegarsi ad un sito Web specifico e immettere una password.

Software Servizi Web UOGA

La firma digitale e le sue possibili applicazioni

PRINCIPI DI COMPUTER SECURITY. Andrea Paoloni

Il protocollo BitTorrent

Vendere online. Andrea Marin. Università Ca Foscari Venezia SVILUPPO INTERCULTURALE DEI SISTEMI TURISTICI SISTEMI INFORMATIVI PER IL TURISMO

Universita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati. Funzioni Hash e Network Security

Principi di crittografia Integrità dei messaggi Protocolli di autenticazione Sicurezza nella pila di protocolli di Internet: PGP, SSL, IPSec

Informatica per la comunicazione" - lezione 8 -

Introduzione ai certificati S/MIME e alla posta elettronica certificata...2 Procedura di installazione del certificato personale S/MIME rilasciato

Introduzione alle applicazioni di rete

Una minaccia dovuta all uso dell SNMP su WLAN

Lo scenario: la definizione di Internet

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Reti e Internet: introduzione

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Parte II Lezione 5

OpenVPN: un po di teoria e di configurazione

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

e-government La Posta Elettronica Certificata

La sicurezza delle reti

Introduzione alla crittografia. Il crittosistema RSA e la sua sicurezza

Firewall, Proxy e VPN. L' accesso sicuro da e verso Internet

Elementi sull uso dei firewall

SISTEMI E RETI. Crittografia. Sistemi distribuiti e configurazione architetturale delle applicazioni WEB.

CitySoftware PROTOCOLLO. Info-Mark srl

Introduzione alla crittografia con OpenPGP

Connessione in rete: sicurezza informatica e riservatezza

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

Dimitris Gritzalis (a), Costas Lambrinoudakis (b)

POSTA ELETTRONICA (TRADIZIONALE e CERTIFICATA) FIRMA DIGITALE PROTOCOLLO INFORMATICO. Maurizio Gaffuri 11 ottobre 2007

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Sistema di gestione Certificato MANUALE PER L'UTENTE

Dettaglio attività e pianificazione. snamretegas.it. San Donato Milanese Aprile 2014

Appendice:: Spunti sulla sicurezza e Internet Materiale fuori programma dedicato rigorosamente solo ai curiosi. prof.

Reti di Calcolatori. Il software

Crittografia. Appunti a cura del prof. Ing. Mario Catalano

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

Certificati digitali con CAcert Un'autorità di certificazione no-profit

Sicurezza dei dati. Xml Encryption e Digital Signature. Sicurezza dei dati. XML Encryption. Svantaggio di SSL. SSL (Secure Socket Layer)

Firewall e Abilitazioni porte (Port Forwarding)

Posta Elettronica Certificata obbligo e opportunità per le Imprese e la PA

La CASSAFORTE DIGITALE per

Transcript:

1 Sistemi Distribuiti Corso di Laurea in Ingegneria Seminario dell Ing. Davide Rogai Corso del Prof. Paolo Nesi PARTE: Sicurezza Department of Systems and Informatics University of Florence Via S. Marta 3, 50139, Firenze, Italy tel: +39-055-4796523, fax: +39-055-4796363 Lab: DISIT, Sistemi Distribuiti e Tecnologie Internet nesi@dsi.unifi.it nesi@computer.org www: http://www.dsi.unifi.it/~nesi Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 1 Sicurezza in rete Introduzione Tecnologie per la sicurezza Algoritmi di crittografia Firme digitali Scenari ed applicazioni Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 2

2 Evoluzione della Sicurezza 1965-75 1975-89 1990-99 Current Platforms Multi-user timesharing computers Distributed systems based on local networks The Internet, widearea services The Internet + mobile devices Shared resources Memory, files Local services (e.g. Email, web sites, NFS), local networks Internet commerce Distributed objects, mobile code Security requirements User identification and authentication Protection of services Strong security for commercial transactions Access control for individual objects, secure mobile code Security management environment Single authority, single authorization database (e.g. /etc/ passwd) Single authority, delegation, replicated authorization databases (e.g. NIS) Many authorities, no network-wide authorities Per-activity authorities, groups with shared responsibilities Con la rete globale sono apparse nuove esigenze per garantire la sicurezza dei servizi forniti. Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 3 Cosa significa sicurezza Sicurezza informatica e sicurezza nel mondo reale Una azienda desidera che le sue risorse siano rese accessibili specificando opportune limitazioni Per esempio, desidera che all edificio dell azienda abbiano accesso solamente i dipendenti e i visitatori previsti di autorizzazione Inoltre vuole definire gruppi di dipendenti in modo da diversificare l accesso l ai documenti Meccanismi per controllare l accesso l all edificio: Il portiere dell edificio edificio che controlla i badges all ingresso Badges per dipendenti e visitatori Una guardia di sicurezza e porte a chisura automatica Meccanismi per l accesso ai documenti: Responsabile dell archivio che controlla il gruppo di appartenenza Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 4

3 Politiche o meccanismi di sicurezza Le politiche di sicurezza vengono realizzate medianti i meccanismi di sicurezza I meccanismi da soli non garantiscono la sicurezza Le politiche sono indipendenti dalle tecnologie usate La distinzione tra politiche e meccanismi è molto utile in fase di progetto Risulta spesso difficile garantire che i meccanismi previsti implementano la politica di sicurezza desiderata Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 5 Politiche o meccanismi di sicurezza 2 Tornando all azienda azienda L applicazione di una serratura al portone prinicipale dell edificio edificio non garantisce la sicurezza se non viene associato un adeguata politica: la serratura viene chiusa in ogni situazione in cui non sia presente il personale di sorveglianza Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 6

4 Modello di sicurezza Elementi chiave: Processi Risorse Interfacce Client Principals Rete I processi contengono (encapsulation) oggetti (linguaggi di programmazione) ) e altre risorse definite dal sistema I processi consentono l accesso ai client attraverso le loro interfacce I principals (utenti o altri processi) possono essere autorizzati a operare su di una determinata risorsa I processi interagisco attraverso una rete condivisa tra molti utenti Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 7 Elementi chiave: Attackers Messaggi Modello di sicurezza 2 I nemici (attackers( attackers) ) possono accedere alla rete possono leggere o copiare tutti i messaggi trasmessi attraverso la rete possono arbitrariamente inserire messaggi indirizzati a qualunque destinazione simulando che provengano da una qualunque sorgente della rete Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 8

5 Sistema distribuito: esempi di minacce In molte architetture di rete è semplice creare un programma che ottenga copie dei messaggi trasmessi sulla rete se i clients non provvedono ad autenticare il server, che un programma possa inserirsi è spacciarsi per il processo server richiesto cosicché il client trasmetta le informazioni ignaro della loro reale destinazione che un programma esegua richieste fraudolente a scapito di un sistema insicuro, a seguito di violazione dei suoi dati Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 9 Classificazione delle minacce Lo scopo principale della sicurezza è consentire l accesso l alle risorse ed alle informazioni soltanto ai principals autorizzati Le minacce sono contenute in tre classi: Leakeage Accesso ad informazioni del sistema senza autorizzazione Tampering Modifica non-autorizzata delle informazioni Vandalism Interferenza al corretto funzionamento del sistema senza guadagno da parte di chi la attua Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 10

6 Tipologie di attacco al sistema Gli attacchi ad un sistema distribuito contano su dall ottenere o meno l accesso l a canali di comunicazione esistente dal creare nuovi canali di comunicazione che figurano come autorizzate Si distinguono nelle seguenti tipologie: Eavesdropping Masquerading Message tampering Replayng Denial of service Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 11 Eavesdropping Ottenere copie dei messaggi senza avere l autorizzazione Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 12

7 Masquerading Inviare o ricevere messaggi usando l identita di altri principals senza la loro autorizzazione Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 13 Message tampering Intercettare messaggi ed alterarne il contenuto prima di ritrasmetterli alla destinazione prevista M M Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 14

8 Replaying Memorizzare messaggi intercettati e inviarli in ritardo rispetto alla loro reale origine t Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 15 Denial of service Saturare un canale di comunicazione o altre risorse con messaggi ripetuti in modo da negarne l accesso da parte degli autorizzati Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 16

9 Pericoli potenziali ed effettivi Tutti questi sono pericoli soltanto in teoria, ma gli attacchi che possono andare a buon fine dipendono dal sistema di sicurezza Attacchi con successo contano sul fatto di individuare imperfezioni del sistema di sicurezza (loopholes( loopholes) Negli attuali sistemi in uso sono comuni e ben evidenti sono stati individuati 42 punti deboli che mettono in serio pericolo chi usa largamente sistemi e componenti di Internet Quando venivano gettate le basi di Internet la sicurezza non era certamente una priorità Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 17 Minacce dal mobile code Si definisce mobile code un programma che viene caricato da un server remoto e viene eseguito in locale In questo contesto le risorse all interno del sistema locale possono subire un attacco dal mobile code JVM da ad ogni applicazione mobile code un suo ambiente predefinito ed un security manager determina quali risorse sono disponibili Le classi scaricate in memoria diversa dalle classi locali Il bytecode viene controllato prima di essere eseguito Molti browser impediscono alle applet JAVA di accedere ai file locali, alle stampanti o alle socket del sistema Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 18

10 Information leakage Il problema della riservatezza delle informazioni non riguarda soltanto il contenuto dei messaggi scambiati Anche osservare che in un canale sorgente-destinzione il flusso di dati è rilevante può essere un informazione importante Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 19 Transazioni elettroniche sicure 1 E-mail Anche il protocollo dedicato allo scambio di posta non prevedeva originariamente un supporto ala sicurezza, ma la crittografia è adesso comune a molti applicativi Aquisto di beni e servizi E-commerce prevede il selezionamento dei beni da acquistare ed il pagamento attraverso il Web Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 20

11 Transazioni elettroniche sicure 2 Transazioni Bancarie Le banche elettroniche offrono virtualemente i tipici servizi presenti allo sportello di una banca comune (estratto conto, bonifico bancario, domiciliazione utenze) Micro-transazioni Altri serivizi posso essere forniti dal Web tipo supporto alla comunicazione vocale o alla videoconferenza,, pagabili a tempo tipicamente con importi bassi da non giustificare la sicurezza prevista per altre transazioni Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 21 Requisiti di sicurezza per le transazioni Autenticare il venditore al compratore, cosicché egli sia sicuro di essere in contatto con il server del venditore che gli interessa Tenere nascoste (ed inalterate) informazioni importanti di pagamento in modo che non cadano in mani sbagliate (i.e. carta di credito) Se i beni sono fruibili tramite download assicurare che il contenuto sia consegnato al compratore senza alterazioni e senza accesso da parte di altri In aggiunta a questi requisiti può essere necessario autenticare l identitl identità del client per fornirgli i diritti previsti all accesso accesso (e-banking) Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 22

12 Progetto di sicurezza Progettare un sistema senza punti deboli è simile a scrivere un programma senza bugs La validazione formale è l unica possibilità di garantire completa sicurezza La prova di validità è articolata in due fasi: Si crea una lista di minacce possibili al sistema Si mostra come ognuna di essi è gestita con successo dal sistema La dimostrazione può avere un aspetto informale anche se si predilige un approccio di tipo formale Progettare un sistema di sicurezza è un esercizio nel bilanciare i costi in relazione alle minacce Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 23 Considerazioni worst-case Le interfacce dei processi server sono necessariamente aperte Gli indirizzi degli host possono subire spoofing Una chiave segreta generata è sicura al momento della sua generazione, ma la sua segretezza diminuisce con il tempo Gli algoritmi sono disponibili ai responsabili di sicurezza come agli attackers Gli attacckers dispongono spesso di grandi risorse di calcolo La base di fiducia (hardware e software) è spesso la causa delle debolezze Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 24

13 Tecnologie per la sicurezza Utilizzo della crittografia Certificati Controllo di accesso Credenziali Firewall Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 25 Cenni storici sulla crittografia La crittografia fornisce le basi per la maggior parte dei sistemi di sicurezza informatica Ha origine in campo militare a causa del bisogno di comunicazione sicure Intercettare e decriptare i messaggi è stato il compito principale di alcuni tra i più autorevoli matematici di quel tempo Recentemente la crittografia è uscita dal contesto militare che ne curava l l uso e lo sviluppo Applied Criptography (1996) è stata una vera propria pietra miliare per chi voleva farsi una cultura nel campo Da quel momento nasce una comunità al di fuori dell ambito militare che produce un grande sviluppo delle tecniche crittografiche Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 26

14 Utilizzo della crittografia Encryption è il processo che codifica un messaggio in modo da nasconderne il contenuto Si basano sull uso uso di parametri segreti chiamati chiavi Si dividono in due classi fondamentali Chiavi segrete condivise (secret-key) Coppie di chiavi pubblica/privata (public-key) Segretezza e integrità Autenticazione Firma digitale Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 27 Scenario 1: secret communication Alice vuole inviare alcune informazioni segretamente a Bob Alice e Bob conoscono entrambi la chiave segreta K AB La comunicazione è segreta finchè K AB non è compromessa Alice E(K AB,M) D(K AB,{M}) Bob K AB K AB Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 28

15 Scenario 2: authenticated via server Kerberos Key Distribution Centre Step A 1. Request for TGS ticket Authentication service A Authentication database Ticketgranting service T Client C 2. TGS ticket Login session setup Server session setup DoOperation Step B 3. Request for server ticket 4. Server ticket Step C 5. Service request Request encrypted with session key Reply encrypted with session key Service function Server S Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 29 Scenario 3: authenticated with public-key Richiesta chiave pubblica Determinazione chiave di sessione Cumunicazione sicura Alice K Bpub Key distributor Alice E(K Bpub,K AB AB ) D( D(K Bpriv,{K AB }) Bob K Bpub K AB K Bpriv Alice E(K AB,M) D(K AB,{M}) Bob K AB K AB Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 30

16 Scenario 4: digital signature Alice H(M) Alice M E(H(M),K Apriv ) D(H(M),{K Apub }) Bob K Apriv K Apub H(M) Bob Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 31 Algortimi di crittografia Un messaggio si dice criptato quando il mittente applica alcune regole per trasformare il testo originale (plaintext( plaintext) ) in un altro testo (ciphertext( ciphertext) E(K 1, M) = {M} K Il ricevente deve conoscere la trasformazione inversa per ritrasformare il ciphertext nel messaggio originale D(K 2, E(K 1, M)) = M K 1 K 1 = K 2!= K 2 Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 32

17 Algoritmi di critografia 2 Chiper block chaining plaintext blocks n+3 n+2 n+1 XOR E(K, M) ciphertext blocks n-3 n-2 n-1 n Stream cipher keystream number generator n+3 n+2 n+1 E(K, M) buffer XOR plaintext stream ciphertext stream Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 33 Algorotmi simmetrici F K ([M]) = E(K,M) Proprietà della funzione di encryption F K ([M]) tipicamente facile da calcolare F -1 K ([M]) impossibile da calcolare Tali funzioni si definiscono one-way elevamento a potenza modulo È tale proprietà che protegge contro gli attacchi che cercano di determinare M dato {M} K L unico modo per scardinare algoritmi ben progettati è dato M e {M} K determinare K mediante brute-force Combinazioni provate da tale attacco: Media 2 N-1 ; Massimo 2 N dove N = #bit di K Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 34

18 DES Blocchi da 64 bit Chiave di 56 bit 16 stadi dipendenti dalla chiave detti rounds Algoritmo apparentemente complesso, ma facilemente codificabile visto che si basa su operazioni di SHIFT e XOR Inizialmente implementato hardware ed incorporato nei dispositivi di comunicazione Dato in chiaro Trasposizione Iniziale 64 bit Iterazione 1 64 bit Iterazione 2 64 bit Iterazione 16 64 bit 64 bit Trasposizione Inversa 64 bit Dato cifrato K(1) 48 bit K(2) 48 bit K(16) 48 bit P/E P/E P/E 56 bit 56 bit 56 bit Chiave 56 bit RL RL 56 bit RL RL 56 bit RL RL Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 35 Algoritmi asimmetrici Con coppie di chiavi pubblica/privata le funzioni one-way vengono sfruttate in altro modo Esistono funzioni dette trap-door: one-way con secret-exit exit impossibile calcolare l inversa senza conoscere un parametro segreto Le chiavi K d, K e sono derivate da una radice comune Le due chiavi vengono ottenute con one- way functions Chi possiede K e può criptare M ma soltanto chi possiede K d ha il segreto per la trap-door (decription( decription) D(K d, E(K e, M)) = M Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 36

19 RSA Sviluppato nel 1977 da Rivest, Shamir, Adleman Algoritmo a chiave pubblica più diffuso Si basa sul prodotto di due numeri primi sufficentemente grandi (10 100 ) La funzione prodotto è semplice ad calcolare (anche con numeri grandi) Tale traformazione non è invertibile se non si conoscono i fattori e la scomposizione in fattori (grandi numeri) è praticamente impossibile La fatorizzazione di un numero dell ordine 10 200 richiede più di 4 miliardi di anni con i migliori algoritmi in circolazione (10 6 istr/sec) 1978 Attualmente è garantita sicurezza per ~20 anni con chiavi lunghe almeno 768 bits (230 decimali) In alcuni casi sono usate chsivi da 1024 o 2048 bit Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 37 RSA: find a key pair To find a key pair e, d: 1. Choose two large prime numbers, P and Q (>10 100 ): N = P x Q Z = (P 1) x (Q 1) 2. For d choose any number that is relatively prime with Z (that is, such that d has no common factors with Z) P = 13, Q = 17 => N = 221, Z = 192 d = 5 3. To find e solve the equation: e x d = 1 mod Z (e x d is the smallest element divisible by d in Z+1, 2Z+1,3Z+1 ) e x d = 1 mod 192 = 1, 193, 385!!! e = 385/5 e = 77 Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 38

20 RSA: encryption To encrypt with RSA method: the plaintext is divided into equal blocks of k bits where 2 k < N (that is, such that the numerical value of a block is always less than N; in practical applications, k is usually in the range 512 to 1024) k = 7, since 2 7 = 128 2. The function for encrypting a block of plaintext M is: E'(e,N,M) = M e mod N for a message M, the ciphertext is c = M 77 mod 221 Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 39 RSA: decryption To decrypt a block of encrypted text c: This function has to be computed: D'(d,N,c) = c d mod N Rivest, Shamir and Adelman proved that E' and D' are mutual inverses (that is, E'(D'(x)) = D'(E'(x)) = x) for all values of x in the range 0 x N K e = <e,n> and K d = <d,n> E(K e, M) ={M} K and D(K d, {M} K ) = M Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 40

21 Utilizzo ibrido degli algoritmi La crittografia a chiave pubblica è particolarmente idonea alle transazioni commerciali sulla rete perché non necessita di una distribuzione di chiavi segrete Il costo computazionale è 100-1000 volte quello degli algoritmi a chiave segreta La soluzione adottata è nella maggior parte dei sistemi di sicurezza prevede l uso di entrambi i metodi 1. Autenticazione reciproca mediante chiave pubblica 2. Scambio di una chiave segreta comune (session-key) 3. Comunicazione ad alta prestazione usando la chiave di sessione in modo simmetrico Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 41 Firma elettronica Come la firma del mondo reale,, la firma elettronica ha valore se posta su un particolare documento Una firma di pugno certifica che: Il firmatario ha deliberatamente sottoscritto quel documento che non è stato alterato da nessun altro Il firmatario è sicuramente la persona incaricata a firmare tale documento Il firmatario non potrà in un secondo momento negare di aver sottoscritto il contenuto del documento Un segreto che il principal firmatario possiede è considerato come la sua calligrafia Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 42

22 Firma elettronica e documenti I documenti informatici sono più facili da generare, copiare da alterare Non basta legare al documento un identit identità in qualunque forma (testo, immagine) forgery È necessario legare indissolubilmente l intero documento con l identitl identità del firmatario I documenti elettronici sono più resistenti alla falsificazione di quelli cartacei, perdono però il significato del termine originale Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 43 Firma elettronica e chavi Il documento M firmato consiste nella sequenza: M, A, [M] KA Se per criptare viene utilizzata una chiave segreta il ricevente può essere sicuro dell identit identità del firmatario Nella crittografia asimmetrica (preferibile per questo tipo di sicurezza) si utilizza la chiave privata (poiché è segreta) in modo che chi possiede la chiave pubblica possa autenticare il mittente Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 44

23 Funzione Digest Digest: funzione H(M) che produce un'impronta del messaggio e deve possedere le seguenti proprietà: accetta un messaggio di dimensione variabile produce un digest di lunghezza fissa è veloce da calcolare è difficilmente invertibile è estremamente improbabile che messaggi diversi generino lo stesso digest Se M e M M diversi danno lo stesso risultato H(M) è possibile che avendo firmato M il ricevente dichiari che è stato firmato M M Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 45 Firma elettronica: chiave pubblica M signed doc Signing H(M) h E(K pri, h) {h} Kpri 128 bits M {h} Kpri D(K pub,{h}) h' Verifying M h = h'? H(doc) h Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 46

24 Firma elettronica: chiave segreta (costo minore) M signed doc Signing H(M+K) h M K Secure Key Exchange Verifying M h h = h'? K H(M+K) h' Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 47 Certificati Documento (breve) che attesta dati di un principal Firmati elettronicamente dall ente emettitore: : la Certification Authority (CA) Verificati mediante la chiave pubblica della CA Scadenza temporale e sono revocabili sia dall utente che dall emettitore 1. Certificate type : Account number 2. Name: Alice 3. Account: 6262626 4. Certifying authority : Bob s Bank 5. Signature: {Digest(field 2 + field 3)} KBpriv Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 48

25 Catena di CA 1. Certificate type : Account number 2. Name: Alice 3. Account: 6262626 4. Certifying authority : Bob s Bank 5. Signature: {Digest()} KBpriv Alice [Cert] K Bpriv Carol venditore K Bpub Carol Fred federation 1. Certificate type: Public key 2. Name: Bob s Bank 3. Public key: K Bpub 4. Certifying authority: Fred The Bankers Federation 5. Signature: {Digest(field 2 + field 3)} KFpriv Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 49 Subject Formato: Issuer Period of validity Administrative information Extended Information Certificati X.509 Distinguished Name, Public Key Distinguished Name, Signature Not Before Date, Not After Date Version, Serial Number La CA fornisce un certificato a seguito di prove inconfutabili di identità (Verisign,, CREN) Ottenere il certificato di issuer public-key da una fonte affidabile Validare la firma usando tale chiave Approccio Simple Public Key Infrastructure Bob crede che la chiave pubblica di Alice è K Apub Carol si fida di Bob a riguardo della chiave di Alice => Carol crede che la chiave pubblica di Alice è K Apub Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 50

26 Controllo di accesso Il controllo di accesso entra in gioco a seguito di un autenticazione Al momento in cui è noto chi fa la richiesta è possibile controllare se egli è autorizzato a inoltrare tale richiesta Una richiesta è vista come una terna <op, principal, resource> Esempio di controllo Alice può effettuare 1 prelievi di banconote al giorno Bob ne può effettuare 3 Viene associato al principal un dominio di protezione Questo concetto può essere implementato come Capabilities Access Control List (NT, UNIX ) Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 51 Credenziali Per credenziali si intende un dato evidente fornito da un principal per accedere ad una risorsa Un certificato è l esempio più semplice di credenziale,, ma il concetto può essere generalizzato Non è conveniente richiedere all utente di interagire ogni volta con il sistema per autenticarsi La credenziale fornita parla per il principal Esempi Il certificato di chiave pubblica Ogni processo autenticato con la chiave segreta dell utente Credenziali più avanzate In ambienti cooperativi può essere richiesto un accesso simultaneo di due principal Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 52

27 Firewall Proteggono le reti Intranet che prevedono una connessione ad Internet Operano da filtro al traffico entrante ed uscente dalla rete Sono efficaci se associati a protocolli sicuri come Ipsec (VPN), HTTPS che vengono gestiti da un proxy server Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 53 Costi (computazionali)) e sicurezza Key size/hash size (bits) Extrapolated speed (kbytes/sec.) PRB optimized (kbytes/s) TEA 128 700 - DES 56 350 7746 Triple-DES 112 120 2842 IDEA 128 700 4469 RSA 512 7 - RSA 2048 1 - MD5 128 1740 62425 SHA 160 750 25162 Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 54

28 SSL: Secure Socket Layer SSL Handshake protocol SSL Change Cipher Spec SSL Alert Protocol HTTP Telnet SSL Record Protocol Transport layer (usually TCP) Network layer (usually IP) SSL protocols: Other protocols: Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 55 SSL: Secure Socket Layer 2 ClientHello ServerHello Establish protocol version, session ID, cipher suite, compression method, exchange random values Certificate Certificate Request ServerHelloDone Optionally send server certificate and request client certificate Client Certificate Certificate Verify Server Send client certificate response if requested Change Cipher Spec Finished Change cipher suite and finish handshake Change Cipher Spec Finished Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 56

29 SSL: negoziazione Component Description Example Key exchange method Cipher for data transfer Message digest function the method to be used for exchange of a session key the block or stream cipher to be IDEA used for data for creating message authentication codes (MACs) RSA with public-key certificates SHA Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 57 SSL: funzionamento Application data abcdefghi Fragment/combine Record protocol units Compress abc def ghi Compressed units MAC Encrypted Hash Encrypt Transmit TCP packet Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2002 58