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) 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 (Firma digitale) 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à 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) Non prima Non dopo ... 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 Infrastructure Infrastruttura 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 Infrastructure Infrastruttura 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 Pratica Chiediamo 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 Pratica Chiediamo il nostro certificato Dalla teoria alla Pratica CSR - Certificate Signing Request Dalla teoria alla Pratica CSR - 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 Pratica CSR - Certificate Signing Request ESEMPIO DI CSR -----BEGIN CERTIFICATE REQUEST----MIIBzDCCATUCAQAwgYsxHDAaBgNVBAMTE3d3dy50aGlzaXNhdGVzdC5jb20xCz ABgNVBAYTAlpBMRkwFwYDVQQIExBXZXN0ZXJuIFByb3ZpbmNlMRIwEAYDVQQ HEwlDbG0NdYrNix4QIDAiB3SGU94iB3SGU94bG0NdYrNix4QIDAQABoAAbG0NdYr Nix4QIDAQABoAAbG0NdYrNix4QIDAQABoAAbG0NdYrNix4QIDAYXBlIFRvd24xEjA QBgNVBAoTCVRlc3QgQ29ycDEbMBkGA1UECxMSVGVzdGluZyiB3SGU94ZXBhcn RtZW50MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDVzfmv7vJ9iB3SGU 94dxMLlgtDIEFz7MWsOUoZOPTq3qsTTXPW61q01jY8eQfs96I5xPjxALPeT4m74cce UtYxldG7pLJiB3SGU94yvyvHDiyV+6mV/e++KWT2ql0Jv1emmobmAGdUxdx2pW9C Epr0DmcVny6VGWAI36bG0NdYrNix4QIDAQABoAAwDQYJKoZIhvcNAQEEBQADg A fSHgDr9Vc460YG+lAiWuVWEife8B4QOojiV8oUxJJDqbA2CEEmXLWfa7/mfUtd5 EQd6voLDT8axpXPbOrmwa3kzEZvQZhg+QvKEyIfncqdWbDUk71tO0fVafBKwRQfE 73J/THmVABZuz9T6X3+KWGxGDiYw0sY3bE7OjBCwr14= -----END CERTIFICATE REQUEST----- Dalla teoria alla Pratica CSR - 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 Pratica IIS – Generazione CSR Dalla teoria alla Pratica IIS – Generazione CSR Dalla teoria alla Pratica IIS – Generazione CSR Dalla teoria alla Pratica IIS – Generazione CSR Dalla teoria alla Pratica IIS – Generazione CSR Dalla teoria alla Pratica IIS – Generazione CSR Dalla teoria alla Pratica IIS – Generazione CSR Dalla teoria alla Pratica IIS – Generazione CSR Dalla teoria alla Pratica IIS – Generazione CSR Dalla teoria alla Pratica IIS – Generazione CSR Dalla teoria alla Pratica IIS – Installazione certificato Dalla teoria alla Pratica IIS – Installazione certificato Dalla teoria alla Pratica IIS – Installazione certificato Dalla teoria alla Pratica IIS – Installazione certificato Dalla teoria alla Pratica IIS – 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 Pratica IIS – Configurazione Firewall Dalla teoria alla Pratica IIS – Configurazione Firewall-Router Grazie per l’attenzione