Descrição de handshake por Secure Sockets Layer (SSL)

Traduções de Artigos Traduções de Artigos
Artigo: 257591 - Ver produtos para os quais este artigo se aplica.
Este artigo foi publicado anteriormente em PT257591
A Microsoft recomenda vivamente que todos os utilizadores actualizem para os Serviços de informação Internet (IIS) versão 6.0 em execução no Microsoft Windows Server 2003. O IIS 6.0 aumenta significativamente a segurança da infra-estrutura Web. Para obter mais informações sobre tópicos de segurança relacionados com o IIS, visite o seguinte Web site da Microsoft:
http://www.microsoft.com/technet/security/prodtech/IIS.mspx
Expandir tudo | Reduzir tudo

Sumário

Este artigo poderá conter hiperligações para conteúdo em inglês (ainda não traduzido). O protocolo SSL (Secure Sockets Layer) utiliza a encriptação combinada de chave pública e de chave simétrica. A encriptação de chave simétrica é muito mais rápida do que a encriptação de chave pública; no entanto, a encriptação de chave pública fornece melhores técnicas de autenticação. Uma sessão de SSL começa sempre com uma troca de mensagens chamada handshake por SSL. Um handshake permite que o servidor se autentique perante o cliente utilizando técnicas de chave pública e, em seguida, permite que o cliente e servidor cooperem na criação de chaves simétricas utilizadas para uma rápida de encriptação, desencriptação e detecção de adulterações durante a sessão que se segue. Opcionalmente, o handshake também permite que o cliente se autentique perante o servidor.

Mais Informação

Os passos envolvidos no handshake por SSL são os seguintes (note que os passos que se seguem assumem a utilização dos conjuntos de cifras listados em Conjuntos de cifras com troca de chaves de RSA: Triple DES, RC4, RC2, DES):
  1. O cliente envia para o servidor o número da versão SSL do cliente, definições de cifra, dados específicos da sessão e outras informações de que o servidor precisa para comunicar com o cliente através do SSL.
  2. O servidor envia para o cliente o número da versão SSL do servidor, definições de cifra, dados específicos da sessão e outras informações de que o cliente precisa para comunicar com o servidor através do SSL. O servidor também envia o seu próprio certificado e, se o cliente requerer um recurso do servidor que necessite da autenticação do cliente, o servidor pedirá o certificado do cliente.
  3. O cliente utiliza as informações enviadas pelo servidor para autenticar o servidor (consulte a autenticação de servidor para obter mais detalhes). Se o servidor não puder ser autenticado, o utilizador será avisado do problema e informado de que não pode ser estabelecida uma ligação encriptada e autenticada. Se o servidor for autenticado com êxito, o cliente avança para o passo 4.
  4. Utilizando todos os dados gerados até ao momento no handshake, o cliente (com a cooperação do servidor, dependendo da cifra em utilização) cria o segredo provisório para a sessão, encripta-o com a chave pública do servidor (obtida a partir do certificado do servidor, enviado no passo 2) e, em seguida, envia o segredo provisório encriptado para o servidor.
  5. Se o servidor tiver pedido a autenticação do cliente (um passo opcional no handshake), o cliente também assinará outro conjunto de dados exclusivos deste handshake e conhecidos do cliente e do servidor. Neste caso, o cliente envia os dados assinados e o certificado do cliente para o servidor juntamente com o segredo provisório encriptado.
  6. Se o servidor tiver pedido a autenticação do cliente, o servidor tentará autenticar o cliente (consulte a autenticação de cliente para obter mais detalhes). Se o cliente não puder ser autenticado, a sessão terminará. Se o cliente puder ser autenticado com êxito, o servidor utilizará a respectiva chave privada para desencriptar o segredo provisório e, em seguida, executará uma série de passos (que o cliente também executará, partindo do mesmo segredo provisório) para gerar o segredo principal.
  7. Tanto o cliente como o servidor utilizam o segredo principal para gerar as chaves de sessão, que são chaves simétricas utilizadas para encriptar e desencriptar as informações trocadas durante a sessão SSL e para verificar a respectiva integridade (isto é, para detectar alterações ocorridas nos dados durante o período de tempo em que foram enviados e recebidos através da ligação SSL).
  8. O cliente envia uma mensagem para o servidor informando-o de que as mensagens subsequentes do cliente serão encriptadas com a chave de sessão. Em seguida, envia uma mensagem (encriptada) separada indicando que a parte do cliente do handshake terminou.
  9. O servidor envia uma mensagem para o cliente informando-o de que as mensagens subsequentes do servidor serão encriptadas com a chave de sessão. Em seguida, envia uma mensagem (encriptada) separada indicando que a parte do servidor do handshake terminou.
  10. O handshake por SSL está concluído, sendo dado início à sessão. O cliente e o servidor utilizam as chaves de sessão para encriptar e desencriptar os dados que enviam entre si e para validar a respectiva integridade.
  11. Esta é a condição do funcionamento normal do canal seguro. Em qualquer altura, devido a razões internas ou externas (automáticas ou decorrentes da intervenção do utilizador), cada lado poderá renegociar a ligação e, nesse caso, o processo repete-se.

Referências

257587 Description of the Server Authentication Process During the SSL Handshake
Microsoft Internet Information Server 4.0 Resource Kit
Microsoft Windows NT Option Pack Documentation
Microsoft Internet Information Services 5.0 Resource Guide
Documentação do Microsoft Internet Information Services 5.0

Propriedades

Artigo: 257591 - Última revisão: 4 de dezembro de 2007 - Revisão: 3.5
A informação contida neste artigo aplica-se a:
  • Microsoft Internet Information Server 4.0
  • Serviços de informação Internet 5.0 da Microsoft
  • Microsoft Internet Information Services 6.0
Palavras-chave: 
kbinfo KB257591

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com