SSL do modo Kernel

O SSL do modo kernel foi introduzido no Windows Server 2003 com Service Pack 1 (SP1) com suporte limitado. Para computadores em execução no Windows Server 2003 com SP1, uma chave do Registro deve ser definida para habilitar o SSL do kernel. Para computadores em execução no Windows Server 2008 e no Windows Vista, o suporte completo ao modo kernel para SSL é fornecido.

As seções a seguir descrevem o suporte ao SSL do modo kernel:

  • SSL de modos de kernel no Windows Server 2003 com SP1
  • SSL do modo Kernel no Windows Server 2008 e no Windows Vista

SSL de modos de kernel no Windows Server 2003 com SP1

No Windows Server 2003 com SP1, a API do SERVIDOR HTTP fornece a opção de executar a segurança SSL no modo kernel (o SSL no modo de usuário é o padrão). O recurso de modo kernel melhora o desempenho de SSL movendo operações de criptografia e descriptografia para o kernel, reduzindo assim o número de transições entre o modo kernel e o modo de usuário.

Não há suporte para os seguintes recursos quando o SSL é executado no modo kernel:

  • Certificados do cliente
  • Criptografias RC2
  • O protocolo PCT 1.0
  • As alterações de configuração de certificado do servidor exigem uma reinicialização do serviço HTTP
  • Suporte a criptografia e descarregamento em massa

Configurando o SSL do modo Kernel

O SSL do modo kernel é controlado pelo EnableKernelSSL valor do registro e é habilitado definindo o valor como 1. A habilitação do SSL do modo kernel desabilitará o SSL do modo de usuário e exigirá que o serviço HTTP seja reiniciado para entrar em vigor. A chave do Registro EnableKernelSSL está localizada em:

HKEY_LOCAL_MACHINE\\CurrentControlSet\Services\parâmetros HTTP\\EnableKernelSSL

SSL do modo Kernel no Windows Server 2008 e no Windows Vista

Para computadores em execução no Windows Server 2008 e no Windows Vista, a API do SERVIDOR HTTP apresenta funcionalidade SSL aprimorada.

Há suporte para os seguintes novos recursos:

  • Suporte completo ao certificado do cliente no modo kernel SSL
  • SSL do modo kernel para todas as transações de SSL HTTP
  • Suporte a criptografia e descarregamento em massa
  • O protocolo PCT 1.0
  • Criptografias RC2
  • Aumento do desempenho em relação ao SSL do modo de usuário

Configuração

O SSL do modo kernel é configurável por meio de dois valores do Registro na chave parâmetros HTTP localizada em:

HKEY_LOCAL_MACHINE
   System
      CurrentControlSet
         Services
            HTTP
               Parameters
                  EnableSslCloseNotify
                  DisableSslCertChainCacheOnlyUrlRetrieval

Um usuário deve ter privilégios de Administrador/Sistema Local para modificar os valores do Registro e exibir ou modificar os arquivos de log e a pasta que os contém.

As informações de configuração nos valores do Registro são lidas quando o driver de API do servidor HTTP é iniciado. Como resultado, se as configurações forem alteradas, o driver deverá ser interrompido e reiniciado para ler os novos valores. Isso pode ser feito usando os seguintes comandos de console:

net stop http

net start http

A tabela a seguir lista os valores de configuração do Registro.

Valor do Registro Descrição
EnableKernelSSL Windows Server 2008 e Windows Vista: Esse valor do Registro está obsoleto.
EnableSslCloseNotify Um valor DWORD definido como TRUE para habilitar a notificação de fechamento ou FALSE para desabilitar o requisito de notificação de fechamento. A notificação de fechamento está desabilitada por padrão.
Quando a notificação de fechamento é habilitada, o aplicativo cliente é necessário para enviar uma mensagem de notificação de fechamento antes de fechar as conexões TCP. A API do servidor HTTP também envia uma notificação de fechamento antes de fechar a conexão.
Quando a notificação de fechamento estiver habilitada e o cliente enviar uma mensagem de notificação de fechamento, a API do servidor HTTP reutilizará a sessão SSL em conexões futuras com o cliente. Se o cliente não enviar uma notificação de fechamento, a API do SERVIDOR HTTP não reutilizará a mesma sessão SSL em conexões futuras. Assim, um handshake SSL completo é disparado na nova conexão, reduzindo assim o desempenho.
Observação: Habilitar a notificação de fechamento ajuda a atenuar ataques de truncamento contra as solicitações e respostas HTTPS.
Quando a notificação de fechamento é desabilitada, a API do Servidor HTTP reutiliza a sessão SSL para conexões futuras.
DisableSslCertChainCacheOnlyUrlRetrieval Um valor DWORD definido como verdadeiro para permitir que a API do servidor HTTP recupere certificados intermediários da Internet ou do repositório local ou FALSE para recuperar certificados intermediários somente do repositório local. O valor padrão do Registro é FALSE.
Por padrão, a API do Servidor HTTP cria uma cadeia de certificados do cliente recuperando os certificados intermediários do repositório de Autoridade de Certificação Intermediária na conta do computador local. Definir esse valor como VERDADEIRO permite que a API do servidor HTTP recupere os certificados intermediários não apenas do repositório local, mas também da Autoridade de Certificação Intermediária na Internet.