POLITECNICO DI BARI I FACOLTA’ DI INGEGNERIA CORSO DI LAUREA SPECIALISTICA IN INGEGNERIA ELETTRONICA (N.O.)‏ Indirizzo S.E.M.A. (Sistemi Elettronici per.

Slides:



Advertisements
Presentazioni simili
Elementi di Crittografia MAC e FUNZIONI HASH
Advertisements

Torniamo al primo problema. Come fare acquisti sicuri via Internet? Come trasmettere informazioni in modo riservato?
Codice della Privacy Il d. lgs. n°196 del 30 giugno 2003.
Modulo 7 – Firma elettronica
Miglioramento della protezione dei dati mediante SQL Server 2005 Utilizzo della crittografia di SQL Server 2005 per agevolare la protezione dei dati Pubblicato:
Microsoft Visual Basic MVP
Piattaforma Telematica Integrata Firma Digitale
Sicurezza II Prof. Dario Catalano Errori di Implementazione.
Sicurezza II Prof. Dario Catalano
Autenticazione dei messaggi e funzioni hash
I cifrari a chiave pubblica: Introduzione alle curve ellittiche
RSA Monica Bianchini Dipartimento di Ingegneria dellInformazione Università di Siena.
Hash Tables Indirizzamento diretto Tabelle Hash Risoluzioni di collisioni Indirizzamento aperto.
Sistemi e Tecnologie della Comunicazione
Per crittografia si intende la protezione
CRITTOGRAFIA La crittografia, ovvero la scienza dei messaggi segreti sicuri, nasce come raccolta di tecniche e sistemi per nascondere messaggi tra regnanti,
Iterazione enumerativa (for)
L’uso dei database in azienda
Politecnico di Milano Algoritmi e Architetture per la Protezione dellInformazione Multichannel Adaptive Information Systems Paolo Maistri Dipartimento.
Testo consigliato Crittografia, P. Ferragina e F. Luccio, Ed. Bollati Boringhieri, € 16.
Testo consigliato Crittografia, P. Ferragina e F. Luccio, Ed. Bollati Boringhieri, € 16.
Secure Shell Giulia Carboni
La tutela dei dati personali
Documento informatico Ingegneria Informatica 31 marzo 2006 Prof. Pieremilio Sammarco.
Breaking DES Corso di Sicurezza Reti Dott. Giovanni Ciraolo Anno Accademico
Indice Pag. 1 Presentazione La sicurezza nellazienda Banca La sicurezza informatica La catena tecnologica della sicurezza La firma digitale.
Corso di Matematica Discreta cont. 2
Progettazione di una base di dati
Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti.
1 Applicazioni contabili
CORSO DI CRITTOGRAFIA Terzo incontro PROGETTO LAUREE SCIENTIFICHE
LA CRITTOGRAFIA QUANTISTICA
“ Firma Digitale “ Informatica e Teleradiologia
CORSO DI CRITTOGRAFIA Quinto incontro PROGETTO LAUREE SCIENTIFICHE
Lo sviluppo del progetto informatico
Il modello di riferimento OSI
Il processo per generare una Firma Digitale
Cenni di Crittografia Il procedimento di crittografia consiste nel rendere illeggibile un testo in chiaro mediante l’uso di un determinato algoritmo e.
RSA e questioni relative
Crittografia MITTENTE DESTINATARIO messaggio messaggio chiave-1
Analisi e sperimentazione di una Certification Authority
Principio di necessità nel trattamento dei dati (art.3 codice privacy)
Sistemi e Tecnologie Informatiche Verifica di correttezza di un programma.
La sicurezza dei sistemi informatici. Il sistema deve soddisfare i seguenti requisiti di sicurezza (CIANA)  Confidenzialità (Riservatezza)  Integrità.
Implementazione di dizionari Problema del dizionario dinamico Scegliere una struttura dati in cui memorizzare dei record con un campo key e alcuni altri.
UNIVERSITÀ DEGLI STUDI DI PAVIA Anno accademico 2009/2010 Sicurezza e frodi informatiche in Internet: la Firma Digitale come garanzia di autenticità e.
La Crittografia nell’ambito del protocollo HTTP Classe: V istituto professionale (gestione aziendale) Obiettivo 1: Generazione di competenze e preparazione.
Hashing. 2 argomenti Hashing Tabelle hash Funzioni hash e metodi per generarle Inserimento e risoluzione delle collisioni Eliminazione Funzioni hash per.
PKI e loro implementazione Corso di Sisitemi Informativi Teledidattico A.A. 2006/07
Progettazione di una base di dati Ciclo di vita di un sistema informativo Studio di fattibilità definisce le varie alternative possibili, i relativi costi.
27 marzo 2008 Dott. Ernesto Batteta.  Le minacce nello scambio dei documenti  Crittografia  Firma digitale.
Sicurezza delle comunicazioni1 Introduzione Consistente sviluppo delle applicazioni telematiche dovuto a: –Evoluzione tecnologica delle trasmissioni –potenze.
Elgamal Corso di Sicurezza – A.A. 2006/07 Angeli Fabio29/05/2007.
Prof. ing. Paolo Bidello AA 2005/2006 Laboratorio Informatico Promemoria degli argomenti: Reti locali (LAN)
Universita` degli studi di Perugia Corso di Laurea in Matematica Attribute Certificate Valentina Hamam Rosa Leccisotti.
DES e RSA a confronto: crittografia al servizio della sicurezza.
DES e RSA a confronto: crittografia al servizio della sicurezza Università degli studi di Camerino Marconi Marika.
Comunicazioni. 5.1 POSTA ELETTRONICA 5.1 POSTA ELETTRONICA.
Crittografia/ Steganografia
Informatica Lezione 10 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
Procedure operative di sicurezza di un sistema informatizzato in un dipartimento servizi.
La firma digitale. Che cosa é la firma digitale? La firma digitale è una informazione aggiunta ad un documento informatico al fine di garantirne integrità.
1 Prof. Stefano Bistarelli Dipartimento di Scienze e-government: oggi.
Procedure operative di sicurezza di un sistema informatizzato in un dipartimento servizi Corso aggiornamento ASUR10.
Crittografia. Introduzione  La rete può essere utilizzata per diversi scopi: informazione, scambio dati, scambio messaggi, trasferimento denaro.  Nel.
Normalizzazione. Introduzione Nell’organizzazione tradizionale degli archivi, si verificano alcuni problemi, quali: Ridondanza dei dati (gli stessi dati.
1 Le firme elettroniche (2006). 2 L’EVOLUZIONE NORMATIVA I Prima fase
Cenni di Crittografia Luigi Vetrano TechnoLabs S.p.A. L’Aquila, Aprile 2011.
Un sistema di sicurezza dei dati.  La crittografia, il cui termine indica "nascosto", è la branca della crittologia che tratta delle "scritture nascoste",
Sicurezza dei Sistemi Informatici L.S. in Ingegneria Informatica Docente: Prof. Giuseppe Mastronardi CRITTOGRAFIA E CRITTOANALISI ATTACCHI AI SISTEMI DI.
Transcript della presentazione:

POLITECNICO DI BARI I FACOLTA’ DI INGEGNERIA CORSO DI LAUREA SPECIALISTICA IN INGEGNERIA ELETTRONICA (N.O.)‏ Indirizzo S.E.M.A. (Sistemi Elettronici per la Medicina e l’Ambiente)‏ DISPENSE DEL CORSO DI INFORMATICA MEDICA Docente: Prof. Giuseppe Mastronardi ANNO ACCADEMICO

Informatica medica Cap. 7 PROTEZIONE DEL DATO SENSIBILE Schemi crittografici per smart card

I dati sensibili Dati personali idonei a rivelare l’origine razziale ed etnica, le convinzioni religiose, filosofiche o di altro genere, le opinioni politiche, l’adesione a partiti, sindacati, associazioni o organizzazioni a carattere religioso, filosofico, politico o sindacale, nonché i dati personali idonei a rilevare lo stato di salute e la vita sessuale.

La crittografia È innegabile che le smart card stanno entrando sempre più nell’uso comune. Oltre alle ben note SIM card presenti nei telefonini, al giorno d’oggi le smart card vengono utilizzate principalmente come contenitori sicuri di dati (carta d’identità elettronica), come strumenti per l’accesso a risorse (canali TV criptati) e come moduli per la cifratura e la firma digitale. In tutti questi casi la crittografia gioca un ruolo essenziale. Gli obiettivi della crittografia sono: Confidenzialità Integrità Autenticità Non ripudiabilità Gli strumenti adoperati dalla crittografia sono i crittosistemi, le primitive crittografiche e i protocolli crittografici.

I crittosistemi Per definire un crittosistema specifichiamone le componenti. Sia PT lo spazio dei cosidettì testi in chiaro (plaintext), CT lo spazio dei testi cifrati (ciphertext) e K lo spazio delle chiavi. Tali spazi coincidono con l’insieme {0,1} * di tutte le possibili sequenze di 0 e 1 di lunghezza finita. Un algoritmo di cifratura calcola una funzione E(PT,K) = CT, ovvero associa ad un testo in chiaro pt che appartiene a PT e ad una chiave k che appartiene a K il corrispondente testo cifrato ct=E(pt,k) che appartiene a CT. In maniera duale si può ottenere un algoritmo di decifratura [D(CT,K)=PT]. I requisiti fondamentali per un crittosistema sono: il processo di decifratura è l’inverso di quello di cifratura se utilizziamo lo stesso testo in chiaro e la stessa chiave. Sia estremamente difficile scoprire pt dalla sola conoscenza di ct=E(pt,k)‏ Sia estremamente difficile scoprire k dalla sola conoscenza di ct=E(pt,k)

I crittosistemi Due ulteriori requisiti che ha senso considerare solamente nell’ambito delle smart card sono invece : Freedom from noise: in tal caso il tempo di esecuzione degli algoritmi non dovrebbe dipendere da ct, pt, k Consumo di energia uniforme Entrambi i requisiti sono utili a prevenire eventuali attachi mirati all’implementazione degli algoritmi, specie per i cosidetti timing attacs e per la differential power analysis. Una prima suddivisione tra crittosistemi può essere eseguita tra: Sistemi simmetrici: la chiave utilizzata per cifrare è la stessa per decifrare. Essi si suddividono ulteriormente in sistemi a blocchi o a flusso. Sistemi asimmetrici o a chiave pubblica

I crittosistemi simmetrici Nell’ambito delle smart card sono utilizzati i crittosistemi a blocchi, quali ad esempio il DES e l’AES. Tali sistemi sono stati concepiti sfruttando due principi dovuti a C. Shannon: Confusione: modifiche di pt e/o di k implicano variazioni “imprevedibili” di ct, che non danno informazioni all’avversario sul testo in chiaro e sulla chiave utilizzati. Diffusione: la modifica di un solo bit di pt o della chiave causa la modifica di almeno la metà dei bit di ct. A tali principi si aggiungono strategie innovative quali la wide trail strategy, che fornisce una resistenza ottimale nei confronti della crittoanalisi lineare e differenziale. Esiste inoltre una versione modificata del DES, il 3DES (triple DES), che consiste nel cifrare i dati con una chiave (tramite DES), decifrare con una seconda chiave, ed infine cifrare con la prima chiave. In questo modo si raddoppiano le lunghezze delle chiavi, ottimizzando i criteri di sicurezza.

I crittosistemi asimmetrici I più noti sono essenzialmente due: RSA: La sua sicurezza si basa sulla (presunta) intrattabilità del problema della fattorizzazione, consistente nel trovare i fattori primi di un numero intero. ElGamal: la sua sicurezza si basa sulla (presunta) intrattabilità del problema del logaritmo discreto, ovvero del calcolo dei logaritmi di Galois. Tale crittosistema viene utilizzato soprattutto in concomitanza con le curve ellittiche e iperellittiche. Il prinicipale vantaggio di tale sistema è l’immunità agli attacchi tradizionali utilizzati negli altri casi. Essi infatti garantiscono lo stesso grado di sicurezza con chiavi più corte, riducendo i tempi di calcolo. Il problema è che la teoria delle curve ellittiche non è ancora sviluppata ad un punto tale da poter prevenire tutti gli attacchi.

Confronto tra crittosistemi Una differenza fondamentale rispetto a quelli simmetrici, è che è sufficiente conoscere la chiave per cifrare i dati da inviare all’altro soggetto; per come sono generate le chiavi solo il ricevente legittimo sarà in grado di decifrare il messaggio ricevuto. In quelli simmetrici invece entrambe le unità comunicanti devono essere a conoscenza della chiave per comunicare su un canale sicuro. C’è da dire che quelli asimmetrici sono anche poco affidabili a causa del fatto che la loro sicurezza si basa su ipotesi non dimostrate riguardo la fattorizzazione dei numeri interi e il calcolo dei logaritmi discreti. Nei sistemi asimmetrici inoltre bisognerebbe determinare l’autenticità della chiave pubblica che ci viene fornita da chi desidera comunicare con noi. Una soluzione a ciò è l’uso delle PKI (Public Key Infrastructures), piuttosto onerose. A causa della loro lentezza i crittosistemi a chiave pubblica vengono utilizzati proprio per accordarsi su una chiave segreta (che, essendo corta, non richiede molti calcoli per cifratura e decifratura), da utilizzare in seguito con un crittosistema simmetrico a scelta.

Primitive e protocolli crittografici Sempre all’interno dell’ambito delle smart card, tramite l’utilizzo di primitive crittografiche è possibile realizzare protocolli crittografici. La distinzione tra i due è molto sottile: si parla di primitive crittografiche quando si utilizza una certa costruzione (tipicamente matematica) come un mattoncino elementare per realizzare una funzionalità più complessa. Si parla di protocollo invece quando esiste un algoritmo da eseguire tra due o più entità, in modo da raggiungere un fine prestabilito. È allora evidente che si può considerare un certo protocollo come una primitiva che consente di implementare un protocollo più sofisticato. Un esempio di ciò che si può ottenere è un protocollo che dia la possibilità di giocare a poker al telefono. Mentre alcuni schemi come funzioni di hashing e generatori di numeri pseudocasuali sono primitive, firme digitali, protocolli di autenti- ficazione, scambio di chiavi, condivisione di segreti, ecc. possono essere considerati sia primitive che protocolli.

Generatori di numeri pseudocasuali Il PRNG è un algoritmo che calcola una funzione G: {0,1} n = {0,1} p(n) con p(n)>n per ogni n naturale. In pratica G è una funzione che allunga una sequenza casuale di n zeri e uni, facendola diventare una sequenza di p(n zeri e uni). Ovviamente ci sono dei requisiti tecnici da soddisfare che rendono la sequenza così ottenuta molto difficile da distinguere da una sequenza veramente casuale. In alternativa ai PRNG software si possono implementare PNRG fisici basati su circuiti elettrici instabili. In realtà oltre alle difficolta tecnologiche, essi sarebbero influenzati da variazioni di temperatura, di campi magnetici, ecc. La soluzione ideale sembra quella di realizzare una combinazione tra i due, elaborando cioè tramite un opportuno algoritmo un valore pseudocasuale fornito da un PNRG fisico. Un altro problema da affrontare è quello dell’inizializzazione delle smart card. Infatti la conoscenza del prossimo numero pseudocasuale può essere un vantaggio per l’avversario.

Generatori di numeri pseudocasuali Tale conoscenza ammonta alla conoscenza del seme casuale di partenza e della procedura utilizzata per generare il prossimo numero pseudocasuale. Il seme non può essere sempre lo stesso, altrimenti il generatore produrrebbe la medesima sequenza di numeri pseudocasuali. Pertanto, ad ogni sessione occorre memorizzare nella EEPROM della carta il seme da usare nella prossima sessione. In tal caso ci sono due possibili attacchi: Eliminare l’alimentazione alla carta prima che essa memorizzi il seme. Per prevenirlo occorre salvare spesso la sessione Eseguire un elevato numero di sessioni in modo che la EEPROM si guasti e non memorizzi più il seme. In tal caso basterà bloccare la carta (bruciando le connessioni con una sovralimentazione) quando questa non riesca più a memorizzare il seme.

Hashing crittografico È una funzione one-way H: {0,1} * = {0,1} n con n fissato, che gode delle seguenti proprietà: per ogni x appartenente a {0,1} * è estremamente difficile trovare un x ’ appartenenete a {0,1} n tale che H(x)=H(x’). Quando tale proprietà si verifica si dice che H è collision free. Inoltre, il fatto di essere one- way significa che è facile calcolare H(x) a partire da x, ma molto difficile il viceversa. Possiamo dire che è la funzione inversa al generatore di numeri pseudocasuali, poichè data una sequenza di lunghezza casuale essa ne produce una di lunghezza fissata. Tale funzione è utilizzata nelle firme digitali e per generare MAC (Message Autentication Code), ovvero dei codici che consentono di verificare l’integrità dei dati ricevuti.

Firme digitali Uno schema di firme digitali è una coppia di algoritmi (sign, verify) tali che: Sign usa un informazione segreta key per produrre una firma digitale σ= sign(M,key) del documento M Verify usa un’informazione pubblica p per controllare se σ è una firma valida per M; in particolare verify(σ,M,p)=TRUE se e solo se sign(M,key)=σ A differenza delle firme autografate, la firma σ dipende dal documento M da firmare. Una importante proprietà delle firme digitali è la non ripudiabilità, in quanto l’unico autorizzato a firmare è colui che conosce la chiave. Per ragioni di sicurezza non si firma tutto il documento, ma solo l’hash di M. Il ruolo delle smart card nel firmare un documento M è almeno quello di memorizzare l’informazione segreta Key e di calcolare sign(H(M),key) (ovvero di decifrare H(M)). Solitamente il calcolo di H(M) viene fatto dal lettore. L’ideale sarebbe che la carta facesse tutto, in tal modo basterebbe cambiare la carta per cambiare lo schema di firma.

Protocolli per l’autenticazione Ogni volta che una carta venga inserita in un lettore è importante che questi si riconoscano a vicenda come autentici. Subentrano quindi i protocolli per l’autenticazione, che come i crittosistemi che utilizzano, possono essere simmetrici o antisimettrici. L’autentificazione inoltre si dice unilaterale se viene riconosciuto solo uno dei partecipanti, mutua se vengono riconosciuti entrambi. Inoltre l’autenticazione può essere statica o dinamica, a seconda che i dati utilizzati per l’autenticazione siano fissi o variabili da una sessione all’altra. I protocolli d’autenticazione solitamente utilizzati con le smart card sono del tipo sfida-risposta, ad esempio: Il terminale genera un numero casuale rand e lo invia alla carta La carta calcola c= E(rand,key), dove key è una chiave comune segreta, e lo invia al terminale Il terminale decifra il valore di c ricevuto e lo confronta con rand. Si nota che tale protocollo è simmetrico unilaterale e dinamico.