Secure Sockets Layer
Sessões
O SSL fornece um serviço de segurança sem que seja necessária a manipulação de chaves criptográficas por parte do usuário. Como já foi mencionado, seu uso mais comum é em servidores web e web browsers, que são geralmente utilizados por leigos. Quando uma URL (Uniform Resource Locator) iniciada por "https://" e indicando uma porta diferente de 80 (o default é 443) é fornecida ao browser, este automaticamente aciona o SSL. A utilização de uma sessão segura é indicada ao usuário geralmente por meio de um aviso e de um indicador específico na janela do browser (em geral o desenho de uma chave, que se ilumina).
Estabelecimento de uma sessão
Uma sessão SSL é estabelecida por uma seqüência de handshake entre o cliente e o servidor. Esta sequência utiliza três protocolos:
Estes protocolos, assim como os dados da aplicação, são encapsulados em um SSL Record Protocol. A seqüência de handshake pode variar, dependendo de se o servidor está configurado para fornecer um certificado ao cliente, ou exigir um certificado deste. Há também casos onde etapas adicionais são necessárias para o gerenciamento de informações criptográficas. Em situações gerais, os procedimentos para estabelecimento de uma conexão SSL são:
Ambas as mensagens de fim de estabelecimento de conexão são protegidas pelos parâmetros de criptografia adotados. Deste modo, cliente e servidor podem garantir que estão aptos a se comunicar de forma segura. Estabelecida a conexão, cliente e servidor podem trocar dados de forma segura. Cada registro de dados é individualmente encapsulado em um SSL Record Protocol e um valor hash é calculado, de modo a garantir a integridade dos dados. Caso os dados sejam alterados por terceiros, um valor hash inválido será gerado, possibilitando a identificação do fato. Não há a preocupação com erros de transmissão, pois o TCP fornece um serviço confiável de entrega de dados. Para encerrar a conexão, uma das partes envia uma mensagem comunicando este fato (Close Notify).
Reestabelecimento de uma sessão
Caso o cliente queira estabelecer outra sessão com o servidor, ele pode dar continuidade a uma sessão estabelecida anteriormente fornecendo seu identificador de sessão em sua mensagem Hello. Isto aciona uma versão resumida do protocolo de handshake, de modo que os parâmetros de segurança e a chave de sessão pré-estebelecidos sejam utilizados. Este método evita overhead com o estabelecimento de sessões, visto que o tráfego de dados via web browser é tipicamente caracterizado por várias sessões, simultâneas ou consecutivas, entre um cliente e um servidor.
[ Índice |
Introdução |
História ]
|