La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Windows Development Day 28/01/05 Bologna SSL e Certificati Digitali con VB6&.NET SSL e Certificati Digitali con VB6 &.NET Gianluca Cannalire

Presentazioni simili


Presentazione sul tema: "Windows Development Day 28/01/05 Bologna SSL e Certificati Digitali con VB6&.NET SSL e Certificati Digitali con VB6 &.NET Gianluca Cannalire"— Transcript della presentazione:

1 Windows Development Day 28/01/05 Bologna SSL e Certificati Digitali con VB6&.NET SSL e Certificati Digitali con VB6 &.NET Gianluca Cannalire Microsoft Visual Basic MVP Gianluca Cannalire Microsoft Visual Basic MVP

2 Agenda Brevi cenni sulla crittografia I Certificati Digitali Firma Digitale di documenti Protezione di documenti Autenticazione SSL con certificati digitali Brevi cenni sulla crittografia I Certificati Digitali Firma Digitale di documenti Protezione di documenti Autenticazione SSL con certificati digitali

3 Brevi cenni sulla crittografia La crittografia ha lo scopo di rendere segrete le informazioni scambiate tra 2 o più interlocutori Permette di autenticare gli interlocutori nello scambio dei dati Garantisce lintegrità dei dati durante lo scambio La crittografia ha lo scopo di rendere segrete le informazioni scambiate tra 2 o più interlocutori Permette di autenticare gli interlocutori nello scambio dei dati Garantisce lintegrità dei dati durante lo scambio

4 Brevi cenni sulla crittografia Algoritmi a chiave simmetrica o a chiave privata m Chiave privata Encrypt Decrypt m m Dato in chiaro Chiave privata Le chiavi sono identiche tra loro Dato in chiaro La sicurezza di una comunicazione criptata dipende solo dalla segretezza delle chiavi private e non dalla segretezza dellalgoritmo usato per proteggere il messaggio

5 Brevi cenni sulla crittografia Algoritmi a chiave pubblica – Segretezza (1/2) m Chiave pubblica di B Encrypt Decrypt m m Chiave privata di B Dato in chiaro A B I dati vengono criptati con la chiave pubblica del destinatario Tutti possono averla Non permette di tornare al dato in chiaro Il destinatario decripta con la sua chiave privata (è lunico a possederla) corrispondente alla chiave pubblica.

6 Brevi cenni sulla crittografia Algoritmi a chiave pubblica - Firma (2/2) m Chiave privata di A Sign Verify m m Chiave pubblica di A Dato in chiaro Dato in chiaro firmato B A I dati vengono firmati con la chiave privata del mittente Essendo in possesso solo del proprietario, garantisce lidentità del mittente Il destinatario verifica la firma con la chiave pubblica del mittente (liberamente accessibile).

7 Brevi cenni sulla crittografia Algoritmi di hashing m Hashing algo digest Partendo da dati di lunghezza variabile, restituiscono una stringa di lunghezza fissa Sono algoritmi irreversibili È impossibile risalire al dato originale Al variare anche di un solo bit dellinput cambia loutput corrispondente Offrono una impronta del dato orginale

8 Certificati Digitali (1/3) Contiene la chiave pubblica ed un set minimo di informazione sul proprietario Ha lo scopo di identificare un utente, un computer o un programma E firmato con la chiave pubblica di una Certificate Authority (CA) Ha un periodo di validità predefinito Può essere rinnovato, sospeso o revocato dalla Certificate Authority che lo ha emesso Le CA pubblicano, periodicamente, le CRL (certificates revocation list) Contiene la chiave pubblica ed un set minimo di informazione sul proprietario Ha lo scopo di identificare un utente, un computer o un programma E firmato con la chiave pubblica di una Certificate Authority (CA) Ha un periodo di validità predefinito Può essere rinnovato, sospeso o revocato dalla Certificate Authority che lo ha emesso Le CA pubblicano, periodicamente, le CRL (certificates revocation list)

9 Certificati Digitali (2/3) I certificati vengono rilasciati, dietro verifica dei dati forniti, da una Certificate Authority (le modalità, dipendendo dalla CA che emette il certificato) I certificati vengono rilasciati in funzione dellutilizzo che ne verrà fatto (SSL, firma elettronica, firma di codice, ecc. ecc. Il formato standard attuale dei certificati digitali è l X.509 v3 Possono essere memorizzati su dispositivi sicuri come smart card o token USB I certificati vengono rilasciati, dietro verifica dei dati forniti, da una Certificate Authority (le modalità, dipendendo dalla CA che emette il certificato) I certificati vengono rilasciati in funzione dellutilizzo che ne verrà fatto (SSL, firma elettronica, firma di codice, ecc. ecc. Il formato standard attuale dei certificati digitali è l X.509 v3 Possono essere memorizzati su dispositivi sicuri come smart card o token USB

10 Certificati Digitali (3/3) Generazione e rilascio di un certificato digitale: 1. Generazione della coppia di chiavi (public/private) 2. Generazione di un CSR (certificate signed request) contenente informazioni sul richiedente, oltre alla chiave pubblica generata al punto Il CSR viene firmato con la chiave privata ed inviato alla CA 4. La CA, verifica la validità delle informazioni contenute nel CSR e, in caso positivo, rilascia il certificato finale firmandolo con la propria chiave privata. 5. Alla fine, il certificato conterrà: le informazioni sul proprietario, la chiave pubblica del proprietario e la chiave pubblica della CA Generazione e rilascio di un certificato digitale: 1. Generazione della coppia di chiavi (public/private) 2. Generazione di un CSR (certificate signed request) contenente informazioni sul richiedente, oltre alla chiave pubblica generata al punto Il CSR viene firmato con la chiave privata ed inviato alla CA 4. La CA, verifica la validità delle informazioni contenute nel CSR e, in caso positivo, rilascia il certificato finale firmandolo con la propria chiave privata. 5. Alla fine, il certificato conterrà: le informazioni sul proprietario, la chiave pubblica del proprietario e la chiave pubblica della CA

11 Windows Development Day 28/01/05 Bologna Richiesta e rilascio di un certificato digitale con la PKI Windows Server 2003

12 Firma digitale Garantisce lautenticità del mittente Garantisce lintegrità dei dati trasmessi Garantisce la non ripudiabilità di un documento (anche la data di apposizione della firma) Se il certificato digitale è rilasciato da una CA riconosciuta dal CNIPA (ex AIPA), la firma ha valore legale ed è equipollente alla firma autografa Non garantisce la riservatezza dei dati Garantisce lautenticità del mittente Garantisce lintegrità dei dati trasmessi Garantisce la non ripudiabilità di un documento (anche la data di apposizione della firma) Se il certificato digitale è rilasciato da una CA riconosciuta dal CNIPA (ex AIPA), la firma ha valore legale ed è equipollente alla firma autografa Non garantisce la riservatezza dei dati

13 Firma digitale Processo 1.I dati sono codificati con un algoritmo di hash, ottenendo unimpronta del documento (valore di hash) 2.Il valore di hash è cifrato con la chiave privata del mittente 3.Il certificato del mittente, il valore di hash cifrato e i dati originali sono inviati al destinatario 4.Il destinatario decripta il valore di hash con la chiave pubblica del mittente presente nel certificato stesso 5.I dati sono passati attraverso lalgoritmo di hash; i valori di hash sono comparati: solo identici? Ok, la firma è valida!

14 Cosè una firma? PKCS#7 Version Digest Algorithm Content Certificates CRLs Signer Infos Signer Info 1 Signer Info 2 Signer Info 3 Signer Info Version Serial Number Digest Algorithm Authenticated Attributes Unauthenticated Attributes Digital Signature

15 Firma separata... Il documento e la firma posso essere separati La firma è un file in formato PKCS#7 Entrambi i file devo essere disponibili per verificare la firma E utile quando la si vuole memorizzare in un db Il documento e la firma posso essere separati La firma è un file in formato PKCS#7 Entrambi i file devo essere disponibili per verificare la firma E utile quando la si vuole memorizzare in un db PKCS 7 Signature Data File name: file.p7m File name: file.txt

16 ...Firma allegata La firma è sempre in formato PKCS#7 Viene generato un singolo file contenente firma e dati Comodo: un solo file da gestire E però necessario estrarre i dati per poterli utilizzare Lestrazione avviene durante la verifica della firma La firma è sempre in formato PKCS#7 Viene generato un singolo file contenente firma e dati Comodo: un solo file da gestire E però necessario estrarre i dati per poterli utilizzare Lestrazione avviene durante la verifica della firma PKCS 7 SignatureData File name: file.p7m

17 Protezione di documenti Garantisce la riservatezza dei dati Avviene tramite lutilizzo di algoritmi di criptazione simmetrici ed asimmetrici I dati vengono criptati con algoritmi a chiave simmetrica (+ veloce) La chiave privata usata nellalgoritmo simmetrico, viene a sua volta criptata con la chiave pubblica presente nel certificato del destinatario Il destinatario estrae, tramite la sua chiave privata, la chiave simmetrica e con questa decripta i dati Garantisce la riservatezza dei dati Avviene tramite lutilizzo di algoritmi di criptazione simmetrici ed asimmetrici I dati vengono criptati con algoritmi a chiave simmetrica (+ veloce) La chiave privata usata nellalgoritmo simmetrico, viene a sua volta criptata con la chiave pubblica presente nel certificato del destinatario Il destinatario estrae, tramite la sua chiave privata, la chiave simmetrica e con questa decripta i dati

18 Protezione di documenti Processo 1.I dati sono codificati vengono con una chiave simmetrica 2.La chiave simmetrica viene cifrata con la chiave pubblica del destinatario 3.Il documento viene inviato al destinatario 4.Il destinatario decripta ed estrae, con la sua chiave privata, la chiave simmetrica 5.Utilizzando lo stesso algoritmo simmetrico e la chiave estratta, decripta il contenuto vero e proprio

19 OK, ma come faccio tutto questo ? ;) CryptoAPI (hard mode) CAPICOM 2.0 Library (easy mode) Wrapper COM delle CryptoAPI Utilizzabile anche in ambiente.NET (a parte qualche eccezione che richiede luso di P/Invoke) o qualsiasi altro linguaggio che supporta COM Liberamente distribuibile e gratuita (basta scaricare il CAPICOM SDK) Funziona da Win9X in poi Un solo file (<300Kb) Basta un... regsvr32 capicom.dll CryptoAPI (hard mode) CAPICOM 2.0 Library (easy mode) Wrapper COM delle CryptoAPI Utilizzabile anche in ambiente.NET (a parte qualche eccezione che richiede luso di P/Invoke) o qualsiasi altro linguaggio che supporta COM Liberamente distribuibile e gratuita (basta scaricare il CAPICOM SDK) Funziona da Win9X in poi Un solo file (<300Kb) Basta un... regsvr32 capicom.dll

20 Cosa mi permette CAPICOM Firma digitale Usa certificati basati su file, smart card, token USB Usa lo standard PKCS#7 Protezione di dati Chiavi simmetriche Chiavi pubbliche Facilita laccesso ai Certificate Store DialogBox pronte alluso Firma digitale Usa certificati basati su file, smart card, token USB Usa lo standard PKCS#7 Protezione di dati Chiavi simmetriche Chiavi pubbliche Facilita laccesso ai Certificate Store DialogBox pronte alluso

21 Windows Development Day 28/01/05 Bologna Firma digitale & Protezione di documenti

22 Autenticazione SSL dei client Offre un canale cifrato SSL (privacy) Evita (o rinforza) luso di credenziali da digitare (username/password) Garantisce, lato server, lautenticità del client Semplifica le procedure di gestione degli utenti (si possono utilizzare certificati rilasciati da CA esterne) Offre un canale cifrato SSL (privacy) Evita (o rinforza) luso di credenziali da digitare (username/password) Garantisce, lato server, lautenticità del client Semplifica le procedure di gestione degli utenti (si possono utilizzare certificati rilasciati da CA esterne)

23 Windows Development Day 28/01/05 Bologna HTTPS con autenticazione del client

24 E tutto... Per ora! ;) A partire da marzo, una serie di articoli dettagliati: Certificati digitali, dalla A alla Z Riferimenti normativi italiani Applicazioni di esempio complete (VB6,.NET, WebServices, utilizzo con SQL Server) Dove? Su E tutto... Per ora! ;) A partire da marzo, una serie di articoli dettagliati: Certificati digitali, dalla A alla Z Riferimenti normativi italiani Applicazioni di esempio complete (VB6,.NET, WebServices, utilizzo con SQL Server) Dove? Su


Scaricare ppt "Windows Development Day 28/01/05 Bologna SSL e Certificati Digitali con VB6&.NET SSL e Certificati Digitali con VB6 &.NET Gianluca Cannalire"

Presentazioni simili


Annunci Google