Autenticação do Servidor SSL
A autenticação do servidor SSL verifica se os sites com os quais você se comunica são quem dizem ser. A autenticação confirma a identidade de um servidor por meio de técnicas padrão de criptografia de chave pública, para garantir que o certificado de um servidor e uma ID pública sejam válidos e tenham sido emitidos por uma autoridade de certificados listados na lista do cliente de CA's confiáveis.
A comunicação com servidores "confiáveis" que possuem certificados de autenticação emitidos por uma autoridade de certificação é fundamental para estabelecer um ambiente seguro. Certificados de autenticação são documentos assinados digitalmente que ligam a chave pública à identidade do proprietário da chave privada. A autenticação ocorre no momento da conexão e é independente do aplicativo ou do protocolo de aplicativo. Com o SSL, a autenticação é executada por uma troca de certificados, que são blocos de dados em um formato descrito no padrão ITU-T X.509. Certificados X.509 são emitidos e assinados digitalmente por uma autoridade de certificação.
- O cliente envia uma solicitação para uma sessão SSL para o Servidor1. Ao invés disso, a solicitação (e todo o tráfego subsequente) passa pelo Servidor2. Em vez de encaminhar a solicitação do Cliente para o Servidor1, o Servidor2 responderá diretamente à solicitação enviando seu próprio certificado para o Cliente.
- O Cliente recebe o certificado do Servidor2 e verifica sua lista de CA's confiáveis. Uma vez que o certificado do Servidor2 seja assinado pelo mesmo CA que o certificado do Servidor1, o Cliente aceitará o certificado e criará uma sessão segura com o Servidor2.
- Tendo completado a sessão segura com o Cliente, o Servidor2 solicitará e criará sua própria sessão SSL com o Servidor1. A partir deste ponto, o Cliente enviará informações criptografadas para o Servidor2. O Servidor2 decriptografa as informações, criptografa novamente, depois as envia para o Servidor1. Ele faz o mesmo para as informações que seguem a direção oposta. O resultado é que o Servidor2 consegue ler e até mesmo alterá-las, ainda que todos os dados sejam critografados à medida que elas seguirem pela internet.
A autenticação do servidor SSL é projetada para evitar esse resultado. Quando a autenticação do servidor está ativada, o cliente, depois de assegurar que o certificado do servidor é confiável, verifica se o nome na Internet no certificado corresponde ao nome do servidor de Internet. Se eles corresponderem, a negociação SSL continuará. Se não, a conexão será finalizada.
- O cliente envia uma solicitação para uma sessão SSL para o Servidor1. A solicitação (e todo o tráfego subsequente) na verdade passa pelo Servidor2. Em vez de encaminhar a solicitação do Cliente para o Servidor1, o Servidor2 responderá diretamente à solicitação do Cliente enviando seu próprio certificado para o Cliente.
- O Cliente recebe o certificado do Servidor2 e verifica sua lista de CA's confiáveis. Uma vez que o certificado do Servidor2 seja assinado pelo mesmo CA que o certificado do Servidor1, o Cliente aceitará o certificado e criará uma sessão segura com o Servidor2.
- Após a sessão segura ter sido concluída, mas antes de qualquer dado real ter sido enviado ou recebido, o Cliente compara o nome de Internet no certificado recebido com o nome do servidor com quem deseja conversar. Uma vez que eles não correspondam, o Cliente saberá que a conexão não deve continuar e a desconectará.