O Hyper Text Transfer Protocol Secure (HTTPS) é a versão segura do HTTP. O HTTPS é utilizado para comunicações confidenciais na Internet, por exemplo, para transações online e troca de mensagens nas redes sociais.
HTTPS é um protocolo da Internet estabelecido através de uma sessão de handshake SSL/TLS. Os web browsers como Internet Explorer, Firefox e Chrome apresentam o ícone de cadeado na barra de endereço para indicarem que a ligação HTTPS está ativa.
SSL (Secure Sockets Layer) / TLS (Transport Layer Security) é a tecnologia padrão para manter a ligação HTTP segura. Utiliza algoritmos de encriptação para prevenir que a informação seja lida e modificada por pessoas ou sistemas não autorizados. Os algoritmos de autenticação de SSL/TLS facultam uma identidade garantida do ponto final em causa. TLS é uma versão atualizada e mais segura de SSL. Atualmente, TLS é a principal forma de proteção do tráfego na Internet. No entanto, o termo SSL ainda é utilizado para descrever a tecnologia de segurança de sessões HTTPS.
Neste manual, utilizamos os termos SSL/TLS para designar a tecnologia SSL.
Para estabelecer uma ligação HTTPS entre um cliente e um servidor, é necessário pelo menos o certificado de identidade do servidor para autenticação.
A sessão de handshake SSL/TLS é o primeiro passo para iniciar uma ligação HTTPS. Durante o handshake SSL/TLS, o servidor e o cliente executem procedimentos de autenticação e negociação. O servidor e o cliente negoceiam a versão de TLS, o algoritmo de troca de chaves e o algoritmo de encriptração de troca de informações. O conjunto de algoritmos de encriptação também se denomina conjunto de códigos.
Exemplo:
Abaixo encontra um esquema que explica os passos principais do handshake SSL/TLS entre um servidor web e um navegador.
Os browser requer uma ligação HTTPS.
O servidor web envia uma cópia do respetivo certificado de identidade incorporado com a sua chave pública.
O navegador verifica o certificado de identidade e a chave pública.
O navegador e o servidor de web chegam a um acordo sobre a chave de encriptação partilhada.
O browser e o servidor web utilizam a mesma chave partilhada para encriptar texto normal e desencriptar texto encriptado.
Para garantir a segurança da ligação, cada nova sessão de uma chave partilhada é negociada e criada.