TLS e seu predecessor, SSL são protocolos criptográficos para fornecer segurança na comunicação (confidencialidade e integridade em alguns casos e não repúdio em outros) através de uma rede.

Em TLS unidirecional, ou TLS regular, o certificado do servidor X.509 é criado por uma CA em que o cliente pode confiar quando quiser se conectar. A Public Key Infrastructure (PKI) é responsável pela gestão da confiança e distribuição do(s) certificado(s). As Autoridades Certificadoras (ACs) desempenham um papel muito importante na PKI. Um certificado X.509 nada mais é do que alguma informação sobre o servidor e a chave pública do servidor que é assinada digitalmente por uma CA.

Um servidor pode ser configurado para permitir conexões de qualquer cliente (como em TLS unidirecional) ou pode ser configurado para pedir a qualquer cliente que tente se conectar a ele para ser autenticado. Assim, para que um cliente se autentique, envolve um certificado de cliente. Na autenticação TLS bidirecional, também conhecida como TLS com autenticação de certificado de cliente, o certificado de cliente também está envolvido além do certificado de servidor para endurecer o processo de autenticação. Assim como um certificado de servidor, um certificado de cliente contém informações básicas sobre a identidade do cliente, sua chave pública e a assinatura digital de uma CA neste certificado verifica que esta informação é autêntica. O certificado do cliente deve ser assinado por uma CA em que o servidor confia e é óbvio que ambos os certificados X.509 devem existir antes da conexão!

Um modo TLS é suficientemente seguro quando você o usa com Autenticação, algo que você enfrenta quando você quer fazer login no Gmail. Quando você usa a interface web do Gmail, você usa o TLS unidirecional através de um recurso https do navegador, além da sua senha. Se você não usar sua senha, somente você pode verificar se você foi conectado a um servidor legítimo, mas o servidor do Gmail não pode verificar sua identidade, então não podemos dizer que a conexão é segura. Se o Gmail oferece um TLS bidirecional, você pode facilmente se conectar a ele sem digitar sua senha e a conexão é considerada segura.

A principal intenção de usar uma conexão TLS bidirecional seria quando um servidor só deveria aceitar conexões TLS de um grupo limitado de clientes permitidos. Um exemplo pode ser um cenário em que uma organização quer limitar as conexões TLS a um servidor para que venham apenas dos parceiros ou clientes legítimos da organização. Definitivamente a lista branca de IP para os clientes não é uma boa prática de segurança porque o IP pode ser falsificado.

Para simplificar o processo de aperto de mão 2way TLS, podemos dizer

  1. Um cliente envia um pedido de acesso à informação protegida no servidor.

2. O servidor apresenta o seu X.509 certificado para o cliente.

3. O cliente verifica o certificado do servidor validando a assinatura digital da chave pública do servidor usando a chave pública da CA.

4. Se o último passo for bem sucedido, o cliente envia seu certificado para o servidor.

5. O servidor verifica o certificado do cliente usando a mesma abordagem no passo 3.

6. Se for bem sucedido, o servidor dá acesso às informações protegidas ao cliente.

Se precisar configurar um servidor web Apache para lidar com TLS bidirecional, consulte este documento: http://www.robinhowlett.com/blog/2016/01/05/everything-you-ever-wanted-to-know-about-ssl-but-were-afraid-to-ask/

Articles

Deixe uma resposta

O seu endereço de email não será publicado.