Sei sulla pagina 1di 24

La Firma Digitale

e le sue applicazioni

Ing. Francesca Merighi CINECA Tel. 051 6171916 e-mail: f.merighi@cineca.it

www.cineca.it

Sommario

Introduzione
Dematerializzazione documentale Definizione e normativa sulla Firma Digitale

Parte 1: Operazioni di apposizione e verifica della Firma Digitale


Operazione di firma RSA Operazione di imbustamento Operazione di verifica della firma RSA

Parte 2: Dispositivi di Firma Digitale


Smartcard Hardware Security Module Interfaccia PKCS#11 ai dispositivi di firma

Parte 3: Profili di Firma Digitale


PKCS#7 PDF XML

Parte 4: La Firma Digitale in Java

www.cineca.it

Introduzione
Dematerializzazione documentale Definizione e normativa sulla Firma Digitale

www.cineca.it

Dematerializzazione e Firma Digitale

Dematerializzazione
Ciclo di vita del documento Creazione Protocollazione . Trasmissione Conservazione

Sostituzione dei documenti cartacei con documenti informatici Costi


Riorganizzazione dei processi amministrativi, riorganizzazione e formazione del personale Efficienza ed efficacia, in termini di risparmio di carta, spazio, tempo

Benefici

Legge 59/27

Documento informatico con Firma Digitale stesso valore documento cartaceo con firma autografa

Formati e regole tecniche

Strumenti a garanzia dellaffidabilit del documento informatico

Firma Digitale
www.cineca.it

Tecnologia abilitante della dematerializzazione Know-how

Il quadro normativo per la firma digitale

Firma Digitale

trasformazione sul documento informatico che

basata su chiavi crittografiche correlate tra loro garantisce la connessione univoca tra firmatario e documento firmato

Chiave privata Rende manifesta

Apposizione firma Verifica firma

provenienza

integrit

Chiave pubblica Verifica

consente di rilevare se il documento stato modificato dopo la trasformazione

SMARTCARD

eseguita mediante un dispositivo sicuro sul quale il firmatario ha controllo esclusivo

15 certificatori accreditati, tra i pi noti InfoCert, Actalis e Postecom

Per documenti da e verso le Pubbliche Amministrazioni basata su certificato emesso da un certificatore accreditato CNIPA

www.cineca.it

Parte 1
Operazioni di apposizione e verifica della Firma Digitale
Operazione di firma RSA Operazione di imbustamento Operazione di verifica della firma RSA

www.cineca.it

Standard di riferimento per le operazioni di Firma Digitale

Utilizzo di standard

Interoperabilit

PKCS#1

Primitive di firma e verifica della firma RSA Primitive di cifratura e decifratura RSA

X509

Formato dei Certificati Digitali e degli oggetti ad essi correlati (CRL, ecc.)

PKCS#11

Interfaccia fra applicazione e dispositivi di firma

www.cineca.it

Operazione di firma (RSA)

PKCS#1

DISPOSITIVO DI FIRMA Documento strutturato

M in bytes

EMSA Encode

EM (impronta)

RSA-SP1

EM d mod n

Chiave privata (d,n)

Trasformazione che dipende dal formato del documento

Encoding Method Signature Algorithm Funzione basata su Hash che protegge da attacchi di contraffazione

Impronta firmata

EMSA-PKCS1-v1_5
(deterministico) EM=0x00||0x01||0xff||0xff0xff||0x00||Hprefix||H

EMSA-PSS
(probabilistico) Impronta mascherata con un numero casuale, allegato in EM

H = impronta di EM HPrefix = prefisso distintivo per ogni algoritmo di hash p=nLen emLen hLen - hPrefixLen

p volte

www.cineca.it

Operazione di imbustamento

EM d mod n

DISPOSITIVO DI FIRMA

Documento strutturato

M in bytes

EMSA Encode

EM (impronta)

RSA-SP1

Chiave privata (d,n)

Busta Crittografica
Documento originale o riferimento ad esso Trasformazioni sul documento Algoritmi di encoding e firma Impronta firmata Certificato digitale firmatario
Formato PKCS#7, PDF, XML

Impronta firmata

www.cineca.it

Operazione di verifica della firma (RSA) Controllo di integrit e provenienza

PKCS#1

Busta Crittografica
Documento originale o riferimento ad esso

Firma valida

EMSA Verify

Firma non valida

EMSA-PKCS-v1_5 Verify

Trasformazioni sul documento


EM

EMSA PKCS-v1_5 Encode

Algoritmi di encoding e firma

S e mod n

EM
Firma valida

EM

=?

si no

Impronta firmata

RSA-VP1

Firma non valida

Certificato digitale firmatario


Chiave pubblica (e,n)

EMSA-PSS Verify - Smaschera EM ottenendo limpronta H - Confronta H con H=Hash(M): se sono uguali firma valida

www.cineca.it

Controllo certificato di Firma Digitale

Standard X509
Busta Crittografica
Controllo firma CA

Documento originale o riferimento ad esso Trasformazioni sul documento Algoritmi di encoding e firma

Controllo integrit e affidabilit ente emettitore


Controllo CA affidabile

Controllo scadenza

Impronta firmata

Certificato digitale firmatario

CA
Controllo stato di revoca
Online Certificate Status Protocol Controllo Certificate Revocation List

www.cineca.it

Dispositivi di Firma Digitale


Smartcard Hardware Security Module Interfaccia PKCS#11 ai dispositivi di firma

Parte 2

www.cineca.it

Dispositivi sicuri di firma

Dispositivi fisici che contengono oggetti (chiavi private, chiavi pubbliche e certificati digitali), attraverso i quali eseguono operazioni crittografiche Operazioni che coinvolgono la chiave privata avvengono allinterno del dispositivo Non possibile estrarre le chiavi private dai dispositivi

Information Technology Security Evaluation Criteria (ITSEC) Insieme strutturato di criteri di valutazione della sicurezza di un sistema Normativa italiana : Firma Digitale ottenuta con dispositivi certificati ITSEC Livello 3

SMARTCARD

HSM

www.cineca.it

Smartcard

CPU: CISC a 5 Mhz ROM: Contiene sistema operativo e programmi fissi (2k/64k) PROM: Contiene il numero seriale della smartcard (32/64 bytes) RAM: utilizzata per dati temporanei, si cancella quando si estrae la
smartcard dal lettore (128/1024 byte)

EEPROM: Memorizza informazioni variabili (chiavi e certificati) (circa 128k)


protocolli T=0 e T=1

Interfaccia Input/Output: velocit del flusso dati 9600 bit/sec,

Interfaccia Input/Output

ISO 7816 - Standard di riferimento per smartcard che definisce


Caratteristiche fisiche ed elettriche I protocolli di comunicazione verso il lettore di smarcard (T=0, T=1) Comando di risposta al reset (Answer To Reset) modello smartcard

Protocollo di comunicazione verso le applicazioni (Application Protocol Data Unit): spesso non rispettato dai produttori di smartcard

Circa 1 operazione al secondo Costo 10-50 euro


www.cineca.it
(+ circa 25 euro per il lettore)

Hardware Security Module

HSM

TCP/IP

Dispositivo crittografico ad alte prestazioni


Sistema complesso con hardware dedicato Stesse funzionalit delle smartcard Dispositivo di rete con interfaccia TCP/IP Accesso via rete con autenticazione Collegabili in cascata Tipicamente utilizzato da Certification Authority e sistemi di firma massiva (es. conservazione documentale)

Dalle 200 alle 1000 operazioni al secondo Costo dai 20.000 euro in su
www.cineca.it

Comunicazione con dispositivi di firma il middleware PKCS#11

Applicazione PKCS#11 Middleware


Common Cryptographic Interface e device manager (Sistema Operativo)

Standard PKCS#11
(lettura, scrittura, operazioni crittografiche..) Applicazioni indipendenti dai dispositivi crittografici Condivisione sicura delle risorse (gestione accesso contemporaneo)

Interfaccia standard di accesso alle funzioni del dispositivo crittografico

PC/SC

TCP/IP

Si concretizza in un set di driver, dipendenti da dispositivo crittografico e sistema operativo Il driver utilizza le APDU per comunicare con la smartcard interfacciandosi con gli strati sottostanti

HSM

www.cineca.it

Parte 3
Profili di Firma Digitale
PKCS#7 PDF XML

www.cineca.it

Formati e profili per la Firma Digitale

XML Formato del contenuto PDF Bytes

XML Documento da firmare Profilo busta crittografica PDF PKCS#7

Firma semplice

Formato, profilo e modalit di firma vanno scelti in base al contesto applicativo

Modalit di firma Firma multipla

Firma parallela Controfirma Firma multipla mista

www.cineca.it

Profilo di busta crittografica PKCS#7

Signed Data
DigestAlgorithmIdentifiers ContentInfo Certificates CRLs
Algoritmi hash utilizzati dai firmatari Contenuto in bytes o suo riferimento Certificati digitali dei firmatari

Standard di riferimento PKCS#7 o RFC 2315

SignerInfo-1
IssuerAndSerialNumber DigestAlgorithm
Collegamento al certificato Algoritmo di hash per ottenere limpronta del contenuto e degli attributi autenticati
Impronta del contenuto

SignerInfos AuthenticatedAttributes

Data di firma

SignerInfo-2 SignerInfo-n
DigestEncryptionAlgorithm EncryptedDigest n firme parallele UnauthenticatedAttributes

Attributi firmati

rsaEncryption = EMSA-PKCS1-v1_5+RSA o id-RSASSA-PSS = EMSA-PSS+RSA Impronta firmata Attributi non firmati, ad es. controfirme (SignerInfo)

www.cineca.it

Profilo di busta crittografica PDF

Documento PDF
0-

Firme di revisioni % PDF Versione originale

Standard di riferimento PDF Reference e ISO 19005-1

%PDF . (PDF content) . .


840 -

signature dictionary

960 1200 -

PKCS#7 firma 0 % EOF Revisione 1

Firma 0 su questi bytes


/ByteRange [0,840,960,240]

/ByteRange
Busta crittografica PKCS#7 con firma sui bytes indicati nel ByteRange

/Contents

Firma 1 su questi bytes


1500 1720 -

PKCS#7 firma 1 % EOF

/ByteRange [0,1500,1720,180]

%EOF
1900 -

www.cineca.it

Profilo di busta crittografica XML (1)

XML Signature SignedInfo


SignedInfo CanonicalizationMethod SignatureMethod References

Standard di riferimento W3C XMLSignature


Metodo di canonicalizzazione http://www.w3.org/2000/09/xmldsig#rsa-sha1 EMSA-PKCS1-v1_5 con SHA1 come algoritmo hash

Reference
SignatureValue KeyInfo
Impronta firmata dellelemento SignedInfo

URI Transforms DigestMethod

Riferimento al contenuto da firmare Trasformazioni sul contenuto da firmare Algoritmo di hash per limpronta del contenuto Impronta del contenuto

Certificato di firma

Objects

Contenuto da firmare o estensioni Xml Advanced Electronic Signature XAdES controfirma e propriet extra (es. data di firma)

DigestValue

www.cineca.it

Modalit enveloped, enveloping, detached

Profilo di busta crittografica XML (2)

Documento XML

URI=#id1 Reference URI=percorso/file.xml o http://..

Riferimento al nodo (con l id indicato) contenuto nello stesso documento in cui inclusa la firma Riferimento ad una risorsa esterna al documento in cui inclusa la firma

Nodo 1, id= id1

Nodo 2

Nodo 3

Nodo 4

...

Modalit Enveloped
Firma inclusa nel documento da firmare Documento XML

Modalit Enveloping
Documento da firmare incluso nella firma

Modalit Detached
Documento da firmare esterno al documento che include la firma

Envelope
Nodo 1, id= id1 Nodo 2 Firma 1 Firma 2 Firma 1 Documento XML, object con id=docId Firma 2

Envelope

Nodo 3

Nodo 4

...

Firma 1 Firma 2

Es. Reference URI=#id1

Es. Reference URI=#docId

Es. Reference URI=documento.xml

www.cineca.it

Parte 4
La Firma Digitale in Java

www.cineca.it

La Firma Digitale in Java

Racchiudono primitive crittografiche e utilit (Hash, algoritmi simmetrici e asimmetrici, ecc) Provider Crittografici Vengono utilizzati per funzionalit crittografiche di base o avanzate (handshake SSL, PKCS#7, XMLSignature, ecc.) Disponibili implementazioni open source (SunJCE, BouncyCastle, ecc.) o commerciali (IAIK)

Librerie consigliate per i vari formati e profili

Profilo PKCS#7 Profilo PDF

Package incluso nella jre sun.security.pkcs

Librerie open source iText

Profilo XML

Librerie open source apache XML-SEC v 1.4

www.cineca.it

Potrebbero piacerti anche