Crittografia e sicurezza delle reti

Похожие документы
Crittografia e sicurezza delle reti

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

Secure socket layer (SSL) Transport layer security (TLS)

La sicurezza nelle reti di calcolatori

Approfondimento di Marco Mulas

Sommario. Introduzione alla Sicurezza Web

Protocolli SSL e TLS. Alfredo De Santis. Maggio Dipartimento di Informatica Università di Salerno.

Elementi di Sicurezza informatica

Problemi legati alla sicurezza e soluzioni

La sicurezza del Web SSL

La suite di protocolli SSL

Programmazione in Rete

Sicurezza nelle reti: protezione della comunicazione

StarShell. IPSec. StarShell

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

IL SECURE SOCKETS LAYER (SSL) E LA SICUREZZA NEL PROTOCOLLO TCP/IP

SECURE SOCKET LAYER FEDERICO REALI

Sicurezza interna alle applicazioni. Sicurezza esterna alle applicazioni. SSL: introduzione. Sicurezza nei Sistemi Informativi

Secure Socket Layer. Sicurezza del livello Trasporto

Parte prima Cifratura simmetrica 27 Introduzione alla Parte prima 27

Sicurezza delle reti e dei calcolatori

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

Appendice C. C. Protocolli per comunicazioni sicure

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

IPsec e TLS a confronto: funzioni, prestazioni ed estensioni

IPsec. Scienze dell Informazione - Cesena Corso di Sicurezza A.A. 2006/2007 Antonio Nardelli

Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link. Sicurezza ai livelli di rete e data link

Sicurezza a livello IP: IPsec e le reti private virtuali

Gianluigi Me. IPSec 24/03/2005 1

Elementi di Sicurezza e Privatezza Lezione 12 Web Security (4) SSL/TLS e IPSec

Elementi di Sicurezza e Privatezza Lezione 17 Protocolli di rete e vulnerabilità. Chiara Braghin

TCP/IP un introduzione

Cenni sulla Sicurezza in Ambienti Distribuiti

Sicurezza in E-Commerce

Una Introduzione a TLSv1.0

Secure Socket Layer (SSL) Transport Layer Security (TLS)

Sicurezza della comunicazione. Proprietà desiderabili. Segretezza. Autenticazione

Sicurezza in rete SSL

Reti di calcolatori. Lezione del 25 giugno 2004

Elementi di Sicurezza e Privatezza Lezione 13 Web Security - SSL/TLS

Identificazione, Autenticazione e Firma Digitale. Firma digitale...

Overview. SSL, TLS e OpenSSL TCP/IP. Corso di Sicurezza su reti PARTE I: Il protocollo SSL

VPN. e Sicurezza: IPSec

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

Sicurezza degli accessi remoti. La sicurezza degli accessi remoti

Ripasso. Public Key cryptograhy. Message Authentication Codes (MAC) Firma digitale

L IDENTITY MANAGEMENT

IpSec è una proposta IETF per fare sicurezza al livello IP RFC 2041, 2042, 2046, 2048

TCP/IP: summary. Lorenzo Cavallaro, Andrea Lanzi

ITIS Fauser Novara Sistemi e reti prof. R. Fuligni

Elementi di Sicurezza e Privatezza Lezione 12 Web Security. Chiara Braghin. SSL e TLS

La sicurezza delle reti

VPN: connessioni sicure di LAN geograficamente distanti. IZ3MEZ Francesco Canova

Reti di Calcolatori:

logaritmo discreto come funzione unidirezionale

Security protocols: : TLS

Secure Simple Budget Manager

SICUREZZA AL LIVELLO TRASPORTO: SECURE SOCKET LAYER SSL

Protezione dei Dati Digitali: Scenari ed Applicazioni

Seminario Network Security

Vallarino Simone. Corso di sicurezza A.A. 2003/2004 HTTPS

(G, ) un gruppo moltiplicativo di ordine n l ordine di un elemento g G, o(g), è il minimo intero positivo m tale che g m = 1

Sicurezza delle reti. Monga. Ricognizione. Scanning Network mapping Port Scanning NMAP. Le tecniche di scanning. Ping. Sicurezza delle reti.

OpenVPN: un po di teoria e di configurazione

Converte una chiave di al più 14 word a 32 bit (K-array) in un array di 18 sottochiavi a 32 bit (P-array) Genera 4 S-box, ognuna con 256 word a 32 bit

Message Authentication Code

Транскрипт:

Crittografia e sicurezza delle reti IPSEC Scambio di chiavi (Diffie Hellman) SSL/TLS SET

Architettura di sicurezza Applicaz. (SHTTP) SSL/TLS TCP IPSEC IP applicazioni sicure (ad es. PGP, SHTTP, SFTP, ecc.) oppure si introducono protocolli sicuri a livelli più bassi (SSL, IPSEC)

Protezione a livello di link? Proteggere ogni hop Vantaggi si codifica tutto il traffico - inclusi header IP Svantaggi: richiede cooperazione fra i router grande sovraccarico (codifica/decodifica ad ogni hop) fornisce attaccante informazioni su codifiche di pacchetti simili (stesso pacchetto, header diverso)

IPSEC - IP Security Lo studio di applicazioni sicure soddisfa l utente (es. S/MIME, PGP, Kerberos, SSL/HTTPS) E opportuno disporre di un meccanismo per garantire la sicurezza a tutte le applicazioni: si trattano problemi di sicurezza che coinvolgono diversi livelli protocollari IPSEC non è un singolo protocollo ma un insieme di protocolli include lo schema di interazione per stabilire collegamento sicuro

IPSec Fornisce autenticazione riservatezza gestione delle chiavi Meccanismo generale: applicabile in LANs, WAN sia pubbliche che private, Internet La specifica completa è molto complessa (vedi RFC 2401/2402/2406/2408...) Obbligatorio in IPv6, opzionale in IPv4

IPSec

Benefici di IPSec Un firewall fornisce sicurezza a tutto il traffico che attraversa il perimetro della rete Sotto lo strato di trasporto - quindi è trasparente alle applicazioni Può essere reso trasparente agli utenti finali Fornisce sicurezza a singoli utenti o a tutta la LAN Permette di realizzare VPN

IPSec - Servizi Controllo degli Accessi Integrità delle Connessioni Autenticazione dell origine del dato Rifiuto di pacchetti replicati Riservatezza crittografica dei messaggi Limitata segretezza del flusso di traffico

IPSec Schema

Security Associations Una relazione one-way tra mittente e ricevente che fornisce sicurezza del flusso di dati Definita da tre parametri principali Security Parameters Index (SPI) IP Indirizzo di Destinazione Identificatore del Protocollo di Sicurezza altri parametri: n. di seq.- finestra anti-replay, info. sugli algoritmi usati, tempo di vita ecc. Si mantiene un database delle Security Associations

Authentication Header (AH) Fornisce supporto per l integrità dei dati e l autenticazione dei pacchetti IP end system/router can authenticate user/app utilizzano numeri di sequenza per prevenire attacchi che usano spoofing di indirizzi Utilizza un MAC (message Authentication Code) HMAC-MD5-96 o HMAC-SHA-1-96 Gli utenti devono condividere una chiave segreta

Authentication Header

Autenticazione end-to-end vs. Autenticazione end-to-intermediate

Modalità di Trasporto (autenticazione AH) Perchè non si autentica tutto l header?

Modalità di Tunnel (autenticazione AH)

Encapsulating Security Payload (ESP) Fornisce riservatezza dei messaggi & limitata segretezza del flusso di traffico Può fornire gli stessi servizi di autenticazione di AH (opzionale) Ampia scelta di codici (chiave segreta) e modalità di funzionamento DES, Triple-DES, RC5, IDEA, CAST ecc. CBC più usato

Encapsulating Security Payload

ESP - Modalità Trasporto vs Modalità Tunnel Modalità trasporto si usa per crittografare e (opzionalm.) per autenticare i pacchetti IP i dati sono protetti ma header è in chiaro utile in connessioni host to host Modalità tunnel codifica tutto il pacchetto si aggiunge un nuovo header adatto per Virtual Private Networks (sicurezza da gateway a gateway)

ESP - Codifica e autenticazione Modalità Trasporto

ESP - Codifica e autenticazione Modalità Tunnel

Utilizzo di più Security Associations Una SA può realizzare o AH o ESP Per implementarle entrambe si usano più SA

Utilizzo di più SA -1

Utilizzo di più SA -2

Utilizzo di più SA -3

Utilizzo di più SA -4

Gestione delle chiavi IPSEC permette di generare e distribuire le chiavi Si usano due coppie di chiavi una per ciascuna direzione per AH & ESP Gestione delle chiavi manuale - amministratore di sistema automatica - gestione di chiavi su richiesta usa Oakley & ISAKMP

Oakley Protocollo di creazione di chiavi Utilizza metodo di scambio delle chiavi proposto da Diffie-Hellman Aggiunge altre caratteristiche migliorative cookies, definizione di gruppi (per codifica), nonces, scambio di chiavi con autenticazione diverse implementazioni (aritmetica dei campi finiti è la proposta originaria di DH) Fornisce metodi di autenticazione: Firma, chiave pubblica, chiave segreta

ISAKMP Internet Security Association and Key Management Protocol Fornisce gli strumenti per la gestione delle chiavi Definisce procedure e formati dei pacchetti per stabilire, negoziare, modificare, e cancellare SA E indipendente dai protocolli di scambio delle chiavi, di codifica e di autenticazione

ISAKMP

Scambio pubblico di chiavi Diffie Hellman Alice e Bob non condividono informazioni segrete e vogliono eseguire un protocollo per stabilire una chiave da condividere Trudy ascolta ma non riesce ad ottenere informazioni sulla chiave (a meno che abbia tempo e risorse di calcolo illimitate)

Logaritmo Discreto Sia G un gruppo e g un generatore di G. Sia y=g x e x il più piccolo intero che soddisfa l equazione. x è il logaritmo discreto di y in base g. Es.: y=g x mod p, p primo nel gruppo moltiplicativo di Z p

Dis. Log. e One Way Function Sia y=g x mod p nel gruppo moltiplicativo di Z p Esponenziazione è polinomiale (veloce) O(log 3 p) Il logaritmo discreto è considerato un problema computazionalmente difficile x g x è facile (computazionalmente veloce). g x x si crede sia difficile (computionally non possibile). x g x è un esempio di one way function.

Scambio di chiavi di Diffie-Hellman Parametri pubblici: un primo p, e un elemento g (possibilmente un generatore del gruppo moltiplicativo Z p * ) Alice sceglie a caso a in p a Bob. [1..p-2] e manda g a mod Bob sceglie a caso b in [1..p-2] e manda g b mod p a Alice. Alice e Bob calcolano g ab mod p : Bob ha b, calcola (g a ) b = g ab. Alice ha a, calcola (g b ) a = g ab.

DH - Requisiti di Sicurezza Requisito di sicurezza: la chiave segreta è una funzione one way dell informazione pubblica e della informazione trasmessa. Meccanismo costruttivo : la chiave segreta deve utilizzare sia informazioni pubbliche che segrete in modo opportuno. DH è almeno tanto difficile quanto il DL in Z p. L equivalenza formale non è nota anche se ci sono indicazioni parziali. Veloce anche con p di 512-1024 bit O(log 3 p). Per avere chiave DES uso primi 56 bit della chiave

DH - Requisiti di Sicurezza Dopo 25 anni di attacchi è ancora considerato sicuro. Lo scambio di chiavi di DH Key è effettivo solo in presenza di un attaccante passivo. L attacco Man-in-the-middle è letale. Risposta: autentica dei messaggi

Station To Station Protocol Si autenticano i messaggi con chiave pubblica (si assume che siano note con certezza); A e B si mettono d accordo su primo p e generatore g di Z p * (pubblico) Alice sceglie a e manda g a mod p a Bob. Bob sceglie a caso b; applica DH e calcola chiave k usando g a e b; firma (g a,g b ), codifica la firma con k e invia il tutto a Alice insieme a g b Alice calcola k; decodifica con k e verifica la firma di Bob; firma (g a,g b ) e codifica la firma con k.

Altri metodi L idea può essere applicata a qualunque gruppo algebrico non solo a Z p Limitazione: si devono usare gruppi in cui il Log. discreto è computazionalmente difficile Esempio: gruppo additivo di Z p Utilizzati in pratica: gruppomoltiplicativo e sistemi di curve ellittiche

Sicurezza nel Web Secure Socket Layer (SSL) e Transport Layer Security (TLS) SSL proposto da Netscape TLS working group nato in IETF La prima versione di TLS può essere considerata come SSLv3.1 Secure Electronic Transaction (SET)

SSL - Architettura

SSL - Servizi Riservatezza: il protocollo di handshake definisce una chiave segreta con cui codificare i dati del pacchetti SSL Integrità dei Messaggi: il protocollo di handshake definisce una chiave segreta usata per l autentica dei messaggi (MAC)

SSL - Record Protocol

Calcolo MAC Hash(MAC_secret_key pad2 hash(mac_secret_key pad1 seqnum SSLcompressed.type SSLcompressed.length SSLcompressed.fragment)) pad1=0x36 ripetuto 48 volte (MD5); 40 voltesha-1 pad2=0x5c ripetuto SSLcompressed.type = il protocollo di alto livello usato per processare il frammento Simile a HMAC (SSL usa concatenazione invece di EXOR)

Metodi di codifica Frammenti 2 14 = 16384 bytes Non esiste metodo di compressione specificato in SSLv3: Compressione deve essere senza perdita e non deve incrementare la lungh. più di 1024 default: nessuna compressione Metodi di codifica a blocchi IDEA (128) RC2-40, DES-40, DES (56), 3DES (168), Stream Cipher: RC4-40, RC4-128 Smart card: Fortezza

SSL - Formato record

SSL - Payload

Protocolli Change Cipher Spec e Alert Protocollo Change Cipher Spec un messaggio di un byte (1); aggiorna lo stato Protocollo Alert comunica situazioni di allarme; 2 byte Livello allarme 1=warning, 2=fatal Tipo allarme Unexpected message Bad-record_mac Decompression failure Handshake failure Illegal_parameter

Protocollo di Handshake La parte più complessa di SSL. Permette a client e server di Autenticarsi reciprocamente Negoziare metodi di codifica, alg. MAC e chiavi crittografiche Usato prima di scambiare dati. Ogni Messaggio ha tre campi Tipo (8) Lunghezza (24) Contenuto (>= 1 byte) parametri associati (diversi a seconda del tipo di messaggio)

Protocollo di Handshake Fasi 1. Hello: determina funzionalità sicurezza 2. Server invia il certificato, richiede certificato e propone scambio chiave di sessione 3. Client invia il certificato e continua scambio di chiavi 4. Cambia il pacchetto di cifratura e finisce il protocollo di handshake NB: alcune richieste sono opzionali

Handshake Prot. -Tipi di Messaggi Message type 1. Hello-request null Parametri 2. Client-hello version,nonce(32b),sessionid, cipher suite, metodo compress. 3. Server_hello <come sopra> 4. Certificate catena di certificati X.509v3 5. Server_key_exchange parametri, firma 6. Certificate_request tipo, autorità 7. Server_done null 8. Certificate_verify firma 9. Client_key_exchange parametri, firma 10.Finished valore hash

Handshake Protocol - Fasi

Handshake Protocol - Fase 1 Si attivano le funzionalità Client_hello Ë Versione = + alta vers. SSL utilizzabile dal client 32 bit time stamp + 28 bytes casuali (si usa un generatore pseudo casuale sicuro) sessionid: 0Ë stabilisce nuova connessione, non zero aggiorna parametri sessione esistente Metodi di codifica: sequenza di algoritmi in ordine decrescente di preferenza Metodi di compressione: lista di metodi proposti Server_hello Á torna indietro conferma tutto quanto sopra richiesto

Handshake Protocol - Fase 1 Metodi per lo scambio di chiavi 1. RSA : si codifica la chiave con la chiave pubblica del destinatario 2. Diffie-Hellman (diverse versioni) 1. Fisso 2. Effimero Ephemeral Diffie Hellman 3. Anonimo 3. Fortezza Metodi per la codifica crittografica 1. Algoritmo di cifratura 2. Algortimo MAC 3. Tipodi cifratura (blocco o stream) 4. Dimensione Hash (byte): 0, 16 - MD5, 20 - SHA-1 5. Key material sequenza di byte usati per generare ke chiavi di scrittura 6. dimensioni del vettore inizializzazine per CBC

Handshake Protocol - Fase 2 Autenticazione Server e scambio di chiavi Server invia 1. Certificato: catena certificati X.509 (non richiesto con Diffie-Hellman anonimo) 2. Server_key_exchange (non usato con DH fisso) Hash(Client_hello.random ServerHello.random ServerP arms) 3. Certificate_request: richiesta di certif. (e autorità) 4. Server_hello_done: Ho finito e aspetto le risposte

Handshake Protocol - Fase 3 Autentica Client e scambio di chiavi Client verifica il certificato del server e i parametri del server Client invia 1. Certificato: (se richiesto) 2. Messaggio per lo scambio di chiavi (Client_key_exchange) 3. Informazioni per verificare il suo certificato (Certificate_verify message)

Handshake Protocol Phase 4 Fine: si passa alla fase successi cipher_spec 1. Client invia 1. messaggio Change_cipher_spec 2. Finished message under new algorithms, keys (new cipher_spec) 2. Server sends back 1. messaggio Change_cipher_spec 2. Finished message under new algorithms, keys (new cipher_spec)

Transport Layer Security -TLS Simile a SSLv3 Standard definito in RFC 2246. Differenze: version number message authentication code pseudorandom function alert codes cipher suites client certificate types certificate_verify and finished message cryptographic computations padding

SSL - Generazione chiavi In fase iniziale si determina Master Key si genera pre-master PMK, 48 byte RSA (chiave generata dal client e inviata crittata al server) Dif.-Hell. master key: concatenazione di 3 hash (Cl_N e S_N sono i nonce scambiati in handshake) MD5(PMK,SHA( A,PMK,Cl_N,S_N)) MD5(PMK,SHA( BB ),PMK, Cl_N,S_N)) MD5(PMK,SHA( CCC ),PMK, Cl_N,S_N))

SSL - Generazione chiavi Le chiavi di sessione sono generate a partire dalla Master Key - MK- con un metodo simile concatenazione di hash fino a quando si generano byte a sufficienza MD5(MK,SHA( A,MK,Cl_N,S_N)) MD5(MK,SHA( BB ),MK, Cl_N,S_N)) MD5(MK,SHA( CCC ),MK, Cl_N,S_N))...

TLS Generazione di chiavi Si parte da un seme S e da un valore segreto MK iniziali K(S,MK) = HMAC_MK(A(1),S) HMAC_MK(A(2),S) HMAC_MK(A(3),S)... A(0) = S A(i) = HMAC(K,A(i-1))

Pagamenti con SSL Si usa SSL per trasferire il numero di carta di credito (decisione del negoziante) semplice non richiede software specialistico non richiede modifiche del sistema di pagamento delle carte di credito il metodo più usato oggi

Pagamenti con SSL -2 Problemi negozianti fraudolenti hanno informazioni su clienti clienti possono rifiutare i pagamenti (in assenza di firma) percentuale molto alta (20%- 60%!) di dispute pertanto il sistema è molto costoso per il negoziante

Pagamenti con SSL - 3 Esperienza mostra che la gran parte delle contestazioni è dovuta a pochi cattivi commercianti Quindi si fa pagare caro le dispute (per espellere i cattivi commercianti) Però Si penalizzano i commercianti onesti I commercianti possono scomparire Non si elimina il problema delle frodi dei clienti

Secure Electronic Transactions -SET Protezione transazioni carte di credito in Internet. Società coinvolte: MasterCard, Visa, IBM, Microsoft, Netscape, RSA, Terisa and Verisign Non è un sistema di pagamento. Include diversi protocolli e formati Fornisce un canale di comnicazione sicuro in una transazione Fornisce autentica con uso dei certificati X.509v3 Garanatisce la privatezza

SET Aspetti essenziali di SET: Riservatezza informazioni Integrità dei dati Autenticazione possessore carta di credito Autenticazione negoziante

SET - Scenario

SET - Transazione 1. Il cliente apre un conto 2. Il cliente riceve un certificato 3. Negoziante ha il proprio certificato 4. Il cliente fa un ordine 5. Il negoziante viene verificato 6. Il cliente invia l ordine di pagamento 7. Il negoziante richiede l autorizzazione al pagamento 8. Il negoziante conferma l ordine al cliente 9. Il negoziante fornisce quanto richiesto e chiede il pagamento

Istruzioni di acquisto e di pagamento OI: informazioni sull acquisto privato da non comunicare alla banca firmato dal negoziante PI: istruzioni di pagamento prezzo, conto corrente, info su carta di credito da non rivelare al negoziante Come far firmare al cliente l ordine e le istruzioni di pagamento?

Firma duale Soluzione Cliente firma hash di ordine acquisto e ordine di pagamento

Firma Duale: Sig_C(H(H(PI),H(OI))

Esecuzione pagamento Acquirente invia ordine acquisto

Esecuzione pagamento Negoziante verifica l ordine del cliente