Digital Signature Standard. Corso di Sicurezza A.A. 2006/2007 Luca Palumbo

Documenti analoghi
Firme digitali. Firma Digitale. Firma Digitale. Corso di Sicurezza su Reti Lezione del 17 novembre Equivalente alla firma convenzionale

Digital Signature Standard

RETI DI CALCOLATORI. Crittografia. La crittografia

Firma digitale aspetti tecnologici

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

da chi proviene un messaggio?

Approfondimento di Marco Mulas

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

Firma Digitale. dott. Andrea Mazzini

Capitolo 8 La sicurezza nelle reti

Robustezza crittografica della PEC

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

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

Crittografia a chiave pubblica

e-government La Posta Elettronica Certificata

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

LA FIRMA DIGITALE. Evoluzione della normativa italiana e componenti di base

Lezione 7 Sicurezza delle informazioni

Introduzione alla crittografia. Il crittosistema RSA e la sua sicurezza

Informatica 3. LEZIONE 21: Ricerca su liste e tecniche di hashing. Modulo 1: Algoritmi sequenziali e basati su liste Modulo 2: Hashing

Sicurezza dei sistemi informatici Firma elettronica E-commerce

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

Sommario. Introduzione alla Sicurezza Web

Sicurezza a livello IP: IPsec e le reti private virtuali

metodi crittografici maurizio pizzonia sicurezza dei sistemi informatici e delle reti

Elementi di Sicurezza e Privatezza Lezione 1 - Introduzione

LICEO STATALE ENRICO MEDI CON INDIRIZZI:

RC4 RC4. Davide Cerri. Davide Cerri CEFRIEL - Politecnico di Milano cerri@cefriel.it

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

Scambio delle chiavi. mercoledì 7 dicembre 2011

Firma digitale Definizione

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1

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

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

Crittografia e sicurezza delle reti. WEP: Wired Equivalent Privacy

Informatica grafica e Multimedialità. 4 Immagini grafiche

Sicurezza nei Sistemi Distribuiti

Sicurezza nei Sistemi Distribuiti

un protocollo è costituito da una serie di passi (step) e coinvolge due o più persone (parti, entità) allo scopo di svolgere un incarico

Crittografia. Crittografia Definizione. Sicurezza e qualità dei servizi su internet Università degli Studi di Pavia, C.

Seminario Sull Algoritmo R.S.A.

Sicurezza nei Sistemi Informativi

Cifratura Asimmetrica

Informatica per la comunicazione" - lezione 13 -

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

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

Guida alla registrazione per l acquisto online di un certificato digitale individuale di Classe 1, 2, 3

Cosa è un foglio elettronico

Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web: Prof. G. Quarella prof@quarella.

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

Gennaio. SUAP On Line i pre-requsiti informatici: La firma digitale

Protezione della posta elettronica mediante crittografia

RSA. Chiavi RSA. Firma Digitale. Firma Digitale. Firma Digitale. Desiderata per la Firma Digitale. Corso di Sicurezza su Reti 1

Introduzione alla crittografia con OpenPGP

Crittografia. Una Panoramica

Crittografia. Primalità e Fattorizzazione. Corso di Laurea Specialistica. in Informatica

MODELLISTICA DI IMPIANTI E SISTEMI 2

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

POSTA ELETTRONICA CERTIFICATA

FIRMA DIGITALE Cos'è e come funziona

Analisi di programmi: Crittografia

NodeXL: l amo delle Reti Sociali

Cifratura a chiave pubblica Sicurezza nelle reti di TLC - Prof. Marco Listanti - A.A. 2008/2009

Funzioni in C. Violetta Lonati

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

Calcolatori Elettronici A a.a. 2008/2009

Corso di Sistemi di Elaborazione delle informazioni

Coordinazione Distribuita

GUIDA ALLA RILEVANZA

Guida per esecuzione dell aggiornamento del programma DINAMIC

Programmazione in Rete

Sicurezza dei file Le protezioni nei programmi

Esercitazione 2 Certificati

Guida Rapida all uso del License Manager di ROCKEY4Smart (V )

EasyPROtection. La soluzione software per Commercialisti e Consulenti Fiscali. DATI E DOCUMENTI PROTETTI Sempre. Ovunque.

riferimento temporale

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

LA PEC: I RISCHI SPECIFICI E I SISTEMI OMOLOGHI ALL'ESTERO

GESTIONE MANUALE DEI CREDITI E DEI RESIDUI

La soluzione software per Avvocati e Studi legali

La firma digitale CHE COSA E'?

Strutturazione logica dei dati: i file

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

Firma digitale: aspetti tecnologici e normativi. Milano,

Esercizio 1: trading on-line

Introduzione alla Crittografia

Un metodo per il rilevamento degli errori: la tecnica del Bit di Parità

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

Sicurezza nelle applicazioni multimediali: lezione 4, crittografia asimmetrica. Crittografia asimmetrica (a chiave pubblica)

Interoperabilità SISTRI Specifiche tecniche per l utilizzo della firma elettronica con il Soft Token PKCS#11

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0)

La firma digitale. Autore: Monica Mascia

PARCO OGLIO NORD ENTE DI DIRITTO PUBBLICO

Crittografia e sicurezza informatica. Sistema di voto elettronico

Leggere un messaggio. Copyright 2009 Apogeo

Analisi e diagramma di Pareto

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate

Tecnologicamente, la firma digitale è il risultato di una procedura complessa che si basa su tre elementi:

Internet: Software Open Source e Sistemi operativi. conoscerlo al meglio per usarlo meglio Gabriele Riva - Arci Barzanò

Firma digitale e PEC: facili e sicure

Transcript:

Digital Signature Standard Corso di Sicurezza A.A. 2006/2007 Luca Palumbo

La storia Digital Signature Standard (DSS) è uno standard che descrive un protocollo di crittografia a chiave pubblica per la firma digitale (standard governativo USA dal 94); E stato creato, nella sua prima versione, dal National Institute of Standard and Technologies (NIST) nell agosto 1991 (ultima revisione nel 2000); La sua creazione è stata possibile in seguito allo sviluppo di un algoritmo a chiave pubblica per la firma digitale, il Digital Signature Algorithm (DSA), basato sugli schemi proposti da ElGamal e Schnorr, e la cui paternità pare risalire a David W. Kravitz, membro NSA (National Security Agency); L avvento di DSS (DSA) fu accolto da non poche critiche e scetticismi, dovuti ad una ragione essenzialmente politica: tutte le grandi compagnie software (Novell, IBM, Microsoft, Apple, ) avevano speso molto nell implementazione di RSA e non erano interessate a perdere i loro investimenti; Furono trovate scuse quali la scarsa efficienza computazionale di DSA rispetto a RSA, o il fatto che DSA, essendo sviluppato dall NSA, poteva contenere diverse trapdoor.

Firma Digitale in RSA Ciphertext Ciphertext Mittente Destinatario Public Key Private Key Message Public Key Private Key Message Hash Hash H(message) H(message) Firma digitale Match OK FAIL H (message) Firma digitale

Firma Digitale in DSS Message Message Mittente Hash (SHA) Destinatario Hash (SHA) H(Message) Public Key Private Key Fingerprint User Public Key Global Public Key Firma digitale (Signing) r derivato da k e Global Public Key; s derivato da k, H(m) e Private Key; numero random k Verifica (Verifying) Calcolo di v ottenuto da H(message), User Public Key, Global Public Key r e s; Se v=r allora OK altrimenti FAIL;

DSA Generazione delle chiavi Scelta di q, numero primo di 160 bit (dovuti a SHA); Calcolo di p=qz+1, dove z numero intero qualsiasi; p numero primo multiplo di 64 lungo L bit, con L [512, 1024] (in realtà, la revisione operata nel 2000 dal NIST sul DSA impone la scelta a 1024). Ne deriva che z=(p-1)/q ; Scelta di h ]1,p-1[ e calcolo di g=h z mod p, tale che g > 1; Scelta di x numero random tale che x Calcolo y=g x mod p. ]0,q[; Public Key (p, q, g,y) Private Key (x) Global Key (p, q, g) User Key (y) Mentre la User Public Key (y) viene calcolata in base alla Private Key (x) scelta (quindi diversa per ogni utente), è possibile che la Global Public Key (p, q, g) sia comune ad un insieme di utenti;

DSA Signing Signing Generazione di k ]0,q[ r = (g k mod p) mod q s = (k -1 (Hash(message) + xr)) mod q User Per-Message Secret Number: k viene generato per ogni messaggio ed entra nella procedura di firma digitale; p q g Sign r r k q x M H Sign s s

DSA Verifying Verifying w = s -1 mod q u 1 =(Hash(message) * w) mod q u 2 =(rw) mod q v = ((g u 1 * y u 2) mod p) mod q Se v=r la firma è verificata. Il test finale v=r non dipende del tutto dal messaggio inviato, in quanto r viene calcolato considerando l User Per- Message Secret Number (k) ma non H(m); M H y q g s q v r w Comparazione

DSA Correttezza Si considerino signing e verifying: s = k -1 (Hash(message)+xr) mod q k = Hash(message)s -1 + xrs -1 mod q = Hash(message)w + xrw (mod q) Consideriamo inoltre g k mod p = = g H(m)w g xrw mod p => (dato y = g x mod p) => = g H(m)w y rw mod p = = (supponendo che g sia di ordine q) = g u 1y u 2 mod p Allora r = (g k mod p) mod q = (g u 1y u 2 mod p) mod q = v g è di ordine q? Dato g=h z (mod p) e h ]1,p-1[, ne deriva che g q (mod p) = h qz (mod p) = h p-1 (mod p) = 1 (mod p) Teorema di Fermat Ne deriva che g ha ordine q g>1 e q è primo;

DSA RSA E possibile ottenere RSA encryption utilizzando DSA; proviamo a supporre che [r, s] = DSASign(p, q, g, k, x, h) RSA Encryption = c = m e mod n (m=messaggio, e=public key, n=pq) RSA Decryption = m = c d mod n (m=messaggio, d=private key, n=pq) Utilizzando ora DSA, è possibile effettuare RSA Encryption = [r, s] = DSASign(n, n, m, e, 0, 0) r = (g k mod p) mod q = = (m e mod n) mod n = = m e mod n = c RSA Decryption = [r, s] = DSASign(n, n, c, d, 0, 0) r = (g k mod p) mod q = = (c d mod n) mod n = = c d mod n = m

DSA Sicurezza Vengono utilizzate funzioni difficilmente invertibili Il calcolo della User Public Key y=g x mod p è un operazione relativamente semplice; ma avendo y è comunque attualmente impossibile risalire alla Private Key x, in quanto bisognerebbe calcolare il logaritmo discreto di y in base g modulo p; Analogamente, avendo la Signature (r,s) è attualmente impossibile risalire a k da r o ripristinare x da s; Inoltre, è possibile effettuare il calcolo di r a priori in quanto non dipende dal messaggio, e così il calcolo di alcuni valori per k e k -1, velocizzando l algoritmo; però Sono possibili attacchi contro l User Per-Message Secret Number k: analizzando il generatore, se questo è inefficace, o utilizzando sempre gli stessi k si potrebbe venire a conoscere come generare k, arrivando alla chiave privata; Ci sono pericoli utilizzando generatori di chiavi comuni (p, q, g); Esistono canali subliminali in DSA.

DSA Canali subliminali 1 Cos è un canale subliminale? Un canale subliminale rappresenta un modo di includere informazioni aggiuntive in una comunicazione pubblica in modo inavvertibile. Per ricostruire tali informazioni è necessario utilizzare un segreto condiviso (verosimilmente, una chiave). I canali subliminali (quando si parla di firma digitale) sono di due tipi: Broadband channel: utilizzano tutto lo spazio rimasto a disposizione nella firma (quindi tutti i bit non utilizzati per prevenire falsificazioni o alterazioni); Narrowband channel: usano solo una frazione dello spazio rimasto a disposizione nella firma

DSA Canali subliminali 2 Gustavus J. Simmons, nel 1993, ne ha scoperti tre dopo l uscita di DSA, di cui un broadband channel e due narrowband channel. Il broadband channel, in particolare, riguarda la scelta dell UPMSN k s = k -1 (Hash(message) + xr) mod q sk = (Hash(message) + xr) mod q k = s -1 (Hash(message) + xr) mod q Condividendo la propria chiave segreta x, si sostituisce quindi il valore di k al suo valore random e si può quindi inserire un messaggio subliminale nel messaggio originale. Inoltre, supponendo ora, invece, di conoscere già k: xr = sk - Hash(message) mod q x = r -1 (sk - Hash(message)) mod q La chiave privata stessa è messaggio subliminale!!!

DSA Canali subliminali 3 Volendo evitare il possibile canale subliminale, dato che il problema è la generazione di k che avviene solo da parte del mittente, una possibile soluzione è la seguente Mittente Destinatario Sceglie k Calcolo u=g k mod p Calcolo k=k k mod p-1 Invia u Invia k Sign e invio Sceglie k Verifying ((uk mod p) mod q) = r

DSA Varianti GoSt R DSA (Gosudarstvennyi Standard of Russian Federation) Nato nel 1995 presso la federazione Russa; Imposta la chiave q a 256 bit al posto di 160 (probabilmente per questione di ultra sicurezza, in quanto già 160 vengono considerati sufficienti); Cambia l equazione di verifica della firma digitale. ECDSA (Elliptic Curve DSA) Opera su gruppi di curve ellittiche (y=x 3 + ax + b) ; Stesso tempo di esecuzione di DSA producendo firme di lunghezze identiche ma con parmetri di sicurezza 4 volte più alti; Una signature DSA ottenuta con p di 1024 bit e q di 160 bit è equivalente ad una signature ECDSA con parametro principale a 160 bit.

Riferimenti FIPS PUB 186 DIGITAL SIGNATURE STANDARD (DSS), NIST, http://www.itl.nist.gov/fipspubs/fip186.htm; Applied Cryptography Second Edition, Bruce Schneier, John Wiley and Sons Inc.; Network and Internetwork Security - Principles and Practice, William Stallings, Prentice Hall International Editions; Subliminal communication is easy using the DSA, Gustavus J. Simmons, Lecture Notes in Computer Science