I certificati digitali sono uno dei sistemi più sicuri per effettuare comunicazioni protette attraverso internet. IIS 6.0 supporta nativamente, come anche IIS 5.0, la protezione certificata. Non sono impersonificazioni come quelle precedenti, ma sono veri e propri canali sicuri in cui possiamo poi stabilire una connessione non sicura. Ad esempio se utilizziamo il certificato digitale e usiamo l'autenticazione base (non criptata quindi) nessuno sarà comunque in grado di leggere le informazioni perchè sarà criptato tutto il flusso di dati, dal client al server e viceversa.
Il funzionamento avviene utilizzando delle chiavi con cui il client e il server cifrano le informazioni che si inviano. È come se venisse costruito un tunnel tra il client e il server e tutte le informazioni passano all'interno di questo tunnel. In questo modo anche se usiamo un'autenticazione di base con password in chiaro essa, nel momento in cui viene inviata al server, è criptata mediante la chiave del server e solo chi è in possesso della chiave privata del server può decodificarla e leggerne i contenuti. La presenza di un certificato sul sito è identificata dall'url del sito stesso. L'aggiunta del certificato implica che non si possa più usare il protocollo http ma https, per cui l'indirizzo del sito, ad esempio, html.it sarà https://www.html.it e non http://www.html.it.
In IIS per abilitare l'utilizzo di certificati digitali è necessario entrare nelle proprietà del sito e selezionare la scheda Protezione directory quindi Certificato Server, in questo modo si apre una scheda che ci permette di creare una chiave, oppure importare un certificato o copiarlo da un altro sito. Per lo scopo di questa guida ci soffermeremo solo sulla creazione di un nuovo certificato.
Seguiamo le indicazioni e creiamo una chiave che poi andremo ad inviare ad una Certification Authority (CA) autorizzata che ci consegnerà un certificato da installare sul nostro server web. L'installation Wizard, durante la creazione della chiave, ci chiederà alcune informazioni che serviranno poi alla CA per generare un certificato. Innanzitutto è necessario specificare il nome corretto del sito web e la dimensione della chiave (questa informazione è necessario recuperarla dalla CA che vogliamo utilizzare, in genere 1024 bit), il punto più importante è il nome comune ossia l'indirizzo dns del sito (se si indicherà un nome sbagliato il certificato non riconoscerà correttamente il sito).
Una volta completato il processo noi avremo un file da inviare alla CA per creare un vero certificato digitale. Premendo con il tasto sinistro del mouse sul pulsante certificato server le opzioni sono cambiate e il sistema si aspetta che noi gli forniamo il certificato digitale creato con la chiave. Quando la CA ci avrà fornito il file con estensione .cer, potremo completare la procedura installandolo mediante il pulsante certificato server e indicando la locazione sul disco del file.
Successivamente, nella scheda Comunicazioni protette, sarà possibile indicare una serie di opzioni da associare al nostro certificato. Ad esempio spuntando la prima casella, la protezione SSL viene attivata e può essere resa più sicura indicando codifica 128 bit (se il certificato li supporta). È possibile inoltre abilitare i certifcati lato client oppure eseguire il mapping mediante Active directory con utenti certificati. Per completare la procedura e rendere effettivo il sito SSL è necessario indicare la porta SSL nella scheda delle proprietà generali del sito come 443. A questo punto scrivendo https://nomedelsito, abbiamo reso effettivo il nostro sito in https.
Andiamo ora più in dettaglio e vediamo come funziona il cuore stesso del server web, come esso può concedere le risorse.