450 likes | 642 Vues
Setup di un Sito Web su Https. Seminario a cura di Daniele Urbanelli. Setup di un Sito Web su Https. Scenari Utilizzo. Https, cosa significa? Certificati digitali CA – Certification Authority PKI – Public Key Infrastructure Dalla teoria alla Pratica IIS – Internet Information Services
E N D
Setup di un Sito Web su Https Seminario a cura di Daniele Urbanelli
Setup di un Sito Web su Https • Scenari Utilizzo. • Https, cosa significa? • Certificati digitali • CA – Certification Authority • PKI – Public Key Infrastructure • Dalla teoria alla Pratica • IIS – Internet Information Services • Installazione certificato
Scenari Utilizzo Le trasmissioni dati nella maggior parte dei siti internet che usiamo avvengono in chiaro. Se si tratta di informazioni di dominio pubblico come quelle fornite da quotidiani nazionali(es. www.repubblica.it) o siti informativi di vario genere non esistono problemi di intercettazione dello flusso dati scambiato.
Scenari Utilizzo Connessione in chiaro attraverso Internet
Scenari Utilizzo In questo caso avviene una comunicazione in chiaro delle informazioni tra il client e il server Web. Da una parte abbiamo una “Request” e dall’altra una “Response” contenete le informazioni richieste.
Scenari Utilizzo E’ chiaro che in caso di comunicazioni riservate che transitano nel web il modello precedente non è affidabile ed espone a pericolosi furti di dati personali. Esempio • Home Banking • Siti di E-Commerce • GMail
Scenari Utilizzo In questo caso è necessaria una comunicazione di questo tipo:
Https, cosa significa? Hypertext Transfer Protocol over Secure Socket Layer
Https, cosa significa? E’ una evoluzione del protocollo HTTP che in modo del tutto trasparente all’utente fa uso del protocollo crittografico TSL-Transport Layer Security(post SSL). HTTP(App. 7) + TLS/SSL(Trasp. 4) = HTTPS
Https, cosa significa? Https è una integrazione di tecniche di cifratura a chiave pubblica e privata che consente uno scambio di informazioni sicure tra due soggetti che comunicano attraverso una rete non sicura(internet) delle informazioni importanti.
Certificati digitali Un certificato digitale è un documento che attesta, con una firma digitale, l’associazione tra una chiave pubblica e l’identità di un soggetto. Ciò consente di verificare la reale appartenenza di una chiave pubblica con un soggetto e dunque instaurare una comunicazione sicura.
Certificati digitali Un certificato digitale include: • Chiave pubblica del soggetto certificato • Dati identificativi del soggetto/società • Periodo di validità • URL della CRL(Certification Rev. List) • Firma della CA- Certification Authority
Certificati digitali (Firma digitale) Firma digitale della CA(come tutte le firme digitali) garantisce: • che il destinatario possa verificare l'identità del mittente (autenticità); • che il mittente non possa disconoscere un documento da lui firmato (non ripudio); • che il destinatario non possa inventarsi o modificare un documento firmato da qualcun altro (integrità).
Certificati digitali (Standard X509) In crittografia, X509 è uno standard per le Infrastrutture a Chiave Pubblica(PKI). X509 definisce lo standard per i certificati a chiave pubblica. L’estensione più comune di un certificato X509 è *.cer
Certificati digitali (Standard X509) • Versione • Numero seriale • ID dell'algoritmo • Ente emettitore • Validità • Non prima • Non dopo • Soggetto • Informazioni sulla chiave pubblica del soggetto • Algoritmo per l'utilizzo della chiave pubblica • Chiave pubblica • Codice identificativo univoco dell'emittente (facoltativo) • Codice identificativo univoco del soggetto (facoltativo) • Estensioni (facoltativo) • ... • Algoritmo di firma del certificato • Firma del certificato
CA – Certification Authority Una Certification Authority (CA), letteralmente Autorità Certificativa, è un ente di terza parte (trusted third party), pubblico o privato, abilitato a rilasciare un certificato digitale tramite procedura di certificazione che segue standard internazionali e conforme alla normativa europea e nazionale in materia.
CA – Certification Authority Procedura di certificazione: • Generazione delle chiavi Privata/Pubblica • Autenticazione al Registration Authority • Consegna della propria chiave pubblica • RA verifica i dati del richiedente • La CA rilascia il certificato digitale
Public Key InfrastructureInfrastruttura chiave pubblica PKI è una serie di accordi che consentono a terze parti fidate di verificare e/o farsi garanti dell'identità di un utente, oltre che di associare una chiave pubblica a un utente.
Public Key InfrastructureInfrastruttura chiave pubblica Le PKY sono cosi organizzate • una policy di sicurezza che fissa i principi generali. • un certificate practise statement (CPS), ossia il documento in cui è illustrata la procedura per l’emissione, registrazione, sospensione e revoca del certificato; • un sistema di certification authority (CA); • un sistema di registration authority (RA), ovvero il sistema di registrazione e autenticazione degli utenti che domandano il certificato. • un certificate server.
Dalla teoria alla PraticaChiediamo il nostro certificato Ecco una lista delle CA più note: http://www.verisign.it http://www.thawte.com http://www.globalsign.com Scegliamone una e seguiamo la procedura di richiesta di un certificato digitale.
Dalla teoria alla PraticaCSR - Certificate Signing Request Ad un certo punto della richiesta di certificato è necessario inserire il nostro CSR – Certificate Signing Request Un CSR (Certificate Signing Request) è un file di testo criptato che viene utilizzato per la creazione e l'assegnazione di un certificato SSL. In questo file sono contenute tutte le informazioni che le Autorità di Certificazione (CA) utilizzano per creare il certificato SSL vero e proprio, per tanto è obbligatorio allegare un CSR ad ogni richiesta di certificato SSL.
Dalla teoria alla PraticaCSR - Certificate Signing Request ESEMPIO DI CSR • -----BEGIN CERTIFICATE REQUEST-----MIIBzDCCATUCAQAwgYsxHDAaBgNVBAMTE3d3dy50aGlzaXNhdGVzdC5jb20xCzABgNVBAYTAlpBMRkwFwYDVQQIExBXZXN0ZXJuIFByb3ZpbmNlMRIwEAYDVQQHEwlDbG0NdYrNix4QIDAiB3SGU94iB3SGU94bG0NdYrNix4QIDAQABoAAbG0NdYrNix4QIDAQABoAAbG0NdYrNix4QIDAQABoAAbG0NdYrNix4QIDAYXBlIFRvd24xEjAQBgNVBAoTCVRlc3QgQ29ycDEbMBkGA1UECxMSVGVzdGluZyiB3SGU94ZXBhcnRtZW50MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDVzfmv7vJ9iB3SGU94dxMLlgtDIEFz7MWsOUoZOPTq3qsTTXPW61q01jY8eQfs96I5xPjxALPeT4m74cce UtYxldG7pLJiB3SGU94yvyvHDiyV+6mV/e++KWT2ql0Jv1emmobmAGdUxdx2pW9C Epr0DmcVny6VGWAI36bG0NdYrNix4QIDAQABoAAwDQYJKoZIhvcNAQEEBQADgA fSHgDr9Vc460YG+lAiWuVWEife8B4QOojiV8oUxJJDqbA2CEEmXLWfa7/mfUtd5 EQd6voLDT8axpXPbOrmwa3kzEZvQZhg+QvKEyIfncqdWbDUk71tO0fVafBKwRQfE 73J/THmVABZuz9T6X3+KWGxGDiYw0sY3bE7OjBCwr14=-----END CERTIFICATE REQUEST-----
Dalla teoria alla PraticaCSR - Certificate Signing Request Il CSR è codificato mediante lo standard PKCS (Public-Key Cryptography Standards). Questo è uno standard definito dai laboratori della RSA. Nel nostro caso genereremo il CSR secondo le specifiche PKCS #10, Ossia lo standard per la sintassi delle richieste di certificazione
Dalla teoria alla PraticaIIS – Installazione certificato A questo punto la nostra applicazione sarà una applicazione sicura. E come possiamo notare l’indirizzo web del nostro web server ora è disponibile in https.
Dalla teoria alla PraticaIIS – Configurazione Firewall-Router