Ssl in modalità kernel

SSL in modalità kernel è stato introdotto in Windows Server 2003 con Service Pack 1 (SP1) con supporto limitato. Per i computer in esecuzione in Windows Server 2003 con SP1 è necessario impostare una chiave del Registro di sistema per abilitare SSL del kernel. Per i computer in esecuzione in Windows Server 2008 e Windows Vista, viene fornito il supporto completo della modalità kernel per SSL.

Le sezioni seguenti descrivono il supporto SSL in modalità kernel:

  • Modalità kernel SSL in Windows Server 2003 con SP1
  • Ssl in modalità kernel in Windows Server 2008 e Windows Vista

Modalità kernel SSL in Windows Server 2003 con SP1

In Windows Server 2003 con SP1, l'API server HTTP offre la possibilità di eseguire la sicurezza SSL in modalità kernel (ssl in modalità utente è l'impostazione predefinita). La funzionalità della modalità kernel migliora le prestazioni SSL spostando le operazioni di crittografia e decrittografia nel kernel, riducendo così il numero di transizioni tra la modalità kernel e la modalità utente.

Le funzionalità seguenti non sono supportate quando SSL viene eseguito in modalità kernel:

  • Certificati client
  • Crittografie RC2
  • Protocollo PCT 1.0
  • Le modifiche alla configurazione del certificato del server richiedono un riavvio del servizio HTTP
  • Supporto per la crittografia e l'offload in blocco

Configurazione del protocollo SSL in modalità kernel

Ssl in modalità kernel è controllato dal valore EnableKernelSSL registro di sistema ed è abilitato impostando il valore su 1. L'abilitazione di SSL in modalità kernel disabilita SSL in modalità utente e richiede che il servizio HTTP venga riavviato per rendere effettivo. La chiave del Registro di sistema EnableKernelSSL si trova in:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\PARAMETRI HTTP\\EnableKernelSSL

Ssl in modalità kernel in Windows Server 2008 e Windows Vista

Per i computer in esecuzione in Windows Server 2008 e Windows Vista, l'API server HTTP offre funzionalità SSL avanzate.

Sono supportate le nuove funzionalità seguenti:

  • Supporto completo del certificato client in modalità kernel SSL
  • SSL in modalità kernel per tutte le transazioni SSL HTTP
  • Supporto per la crittografia e l'offload in blocco
  • Protocollo PCT 1.0
  • Crittografie RC2
  • Miglioramento delle prestazioni rispetto alla modalità utente SSL

Configurazione

SSL in modalità kernel è configurabile tramite due valori del Registro di sistema nella chiave parametri HTTP che si trova in:

HKEY_LOCAL_MACHINE
   System
      CurrentControlSet
         Services
            HTTP
               Parameters
                  EnableSslCloseNotify
                  DisableSslCertChainCacheOnlyUrlRetrieval

Un utente deve avere privilegi di amministratore/sistema locale per modificare i valori e la visualizzazione del Registro di sistema oppure modificare i file di log e la cartella che li contiene.

Le informazioni di configurazione nei valori del Registro di sistema sono lette all'avvio del driver API del server HTTP. Di conseguenza, se le impostazioni vengono modificate, il driver deve essere arrestato e riavviato per leggere i nuovi valori. A tale scopo, è possibile usare i comandi della console seguenti:

net stop http

net start http

Nella tabella seguente sono elencati i valori di configurazione del Registro di sistema.

Valore del Registro di sistema Descrizione
EnableKernelSSL Windows Server 2008 e Windows Vista: Questo valore del Registro di sistema è obsoleto.
EnableSslCloseNotify Valore DWORD impostato su TRUE per abilitare close-notify o FALSE per disabilitare il requisito di notifica di chiusura. La notifica di chiusura è disabilitata per impostazione predefinita.
Quando la notifica di chiusura è abilitata, l'applicazione client deve inviare un messaggio di notifica di chiusura prima di chiudere le connessioni TCP. L'API server HTTP invia anche una notifica di chiusura prima di chiudere la connessione.
Quando la notifica di chiusura è abilitata e il client invia un messaggio di notifica di chiusura, l'API del server HTTP riutilizza la sessione SSL nelle connessioni future al client. Se il client non invia una notifica di chiusura, l'API del server HTTP non riutilicherà la stessa sessione SSL nelle connessioni future. Pertanto, viene attivato un handshake SSL completo sulla nuova connessione riducendo così le prestazioni.
Nota: L'abilitazione della notifica di chiusura consente di attenuare gli attacchi di troncamento contro le richieste e le risposte HTTPS.
Quando close-notify è disabilitato, l'API del server HTTP riutilizza la sessione SSL per le connessioni future.
DisableSslCertChainCacheOnlyUrlRetrieval Valore DWORD impostato su TRUE per consentire all'API server HTTP di recuperare i certificati intermedi da Internet o dall'archivio locale oppure FALSE per recuperare solo i certificati intermedi dall'archivio locale. Il valore predefinito del Registro di sistema è FALSE.
Per impostazione predefinita, l'API server HTTP compila una catena di certificati client recuperando i certificati intermedi dall'archivio autorità di certificazione intermedia nell'account del computer locale. L'impostazione di questo valore su TRUE consente all'API server HTTP di recuperare i certificati intermedi non solo dall'archivio locale, ma anche dall'autorità di certificazione intermedia su Internet.