SSL do Modo Kernel

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

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

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

Modos de kernel SSL no Windows Server 2003 com SP1

No Windows Server 2003 com SP1, a API do Servidor HTTP oferece a opção de executar a segurança SSL no modo kernel (o SSL do modo de usuário é o padrão). O recurso de modo kernel melhora o desempenho SSL movendo as 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.

Os seguintes recursos não são suportados quando o SSL é executado no modo kernel:

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

Configurando SSL do Modo Kernel

O SSL do modo kernel é controlado pelo EnableKernelSSL valor do Registro e é ativado definindo o valor como 1. Ativar o SSL do modo kernel desativará 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\sistema\CurrentControlSet\Services\parâmetros HTTP\\EnableKernelSSL

SSL do modo kernel no Windows Server 2008 e Windows Vista

Para computadores que executam o Windows Server 2008 e o Windows Vista, a API do Servidor HTTP apresenta funcionalidade SSL aprimorada.

Os seguintes novos recursos são suportados:

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

Configuração

O SSL do modo kernel é configurável através de dois valores de registo sob a chave HTTP Parameters 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 da API do Servidor HTTP é iniciado. Como resultado, se as configurações forem alteradas, o driver deve ser interrompido e reiniciado para ler os novos valores. Isso pode ser feito usando os seguintes comandos do console:

net stop http

net iniciar 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: Este valor de registo está obsoleto.
EnableSslCloseNotify Um valor DWORD definido como TRUE para habilitar a notificação fechada ou FALSE para desabilitar o requisito de notificação fechada. Fechar-notificar está desativado por padrão.
Quando close-notify está habilitado, o aplicativo cliente é obrigado a enviar uma mensagem close-notify antes de fechar conexões TCP. A API do Servidor HTTP também envia uma notificação de fechamento antes de fechar a conexão.
Quando fechar-notificar estiver habilitado e o cliente enviar uma mensagem de notificação de fechar, 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 é acionado na nova conexão, reduzindo assim o desempenho.
Observação: Habilitar a notificação fechada ajuda a mitigar os ataques de truncamento contra as solicitações e respostas HTTPS.
Quando o close-notify está desativado, a API do Servidor HTTP reutiliza a sessão SSL para conexões futuras.
DisableSslCertChainCacheOnlyUrlRetrieval Um valor de DWORD definido como TRUE para permitir que a API do Servidor HTTP recupere certificados intermediários da Internet ou do armazenamento local, ou FALSE para recuperar certificados intermediários somente do armazenamento local. O valor padrão do Registro é FALSE.
Por padrão, a API do Servidor HTTP cria uma cadeia de certificados de cliente recuperando os certificados intermediários do armazenamento da Autoridade de Certificação Intermediária na conta da máquina local. Definir esse valor como TRUE permite que a API do Servidor HTTP recupere os certificados intermediários não apenas do armazenamento local, mas também da Autoridade de Certificação Intermediária na Internet.