Categorias: Security

TLS Fingerprint – O que é?

Em seu nível mais básico, o Transport Layer Security (TLS) é um algoritmo que criptografa todo o tráfego da Internet e ajuda você a se manter seguro online. Para ser mais preciso, é um protocolo usado para criptografar comunicações baseadas na web entre um cliente e um servidor, usando conjuntos de algoritmos criptográficos. Antes que o TLS possa ser usado na comunicação, o cliente e o servidor passam por um processo conhecido como handshake do TLS.

A identificação de um cliente com base nos dados de sua mensagem Client Hello durante um handshake do TLS é chamada de fingerprinting do TLS.

Algumas maneiras comuns de usar o fingerprinting do TLS são:

  • Obter informações sobre um cliente na web, como sistema operacional ou versão do navegador.
  • Analisar o tráfego TLS criptografado, permitindo que seu provedor de serviços de Internet adivinhe quais sites você está usando e quais ações você realiza enquanto navega na web.
  • Obter informações sobre um servidor remoto, como sistema operacional ou software do servidor.
  • A identificação exclusiva de um cliente também pode ser útil para casos de uso de anti-fraude, pois usuários mal-intencionados muitas vezes tentam ocultar sua identidade para realizar várias atividades fraudulentas em um site. Enquanto a identificação de usuários usando cookies e fingerprinting do navegador, o fingerprinting do TLS pode ser uma camada de identificação mais confiável que a anterior para o seu sistema de anti-fraude.

Neste artigo, você aprenderá os detalhes de como funciona o fingerprinting do TLS e como isso pode ajudá-lo a compreender melhor sua rede e fontes de tráfego, além de proteger seu site contra fraudes.

O Handshake do TLS

O processo de handshake começa com o cliente solicitando que o servidor inicie uma sessão segura. Como o protocolo TLS tem várias versões e opções de criptografia, o cliente envia primeiro seus métodos de criptografia suportados (também conhecidos como conjuntos de cifras), e a versão atual do TLS em uma mensagem Client Hello para iniciar uma comunicação com o servidor.

O servidor então analisa essa solicitação e compara a lista de conjuntos de cifras no Client Hello com a lista de cifras suportadas pelo servidor. Em seguida, ele envia uma mensagem Server Hello para o cliente contendo seu protocolo TLS, o conjunto de cifras escolhido e o certificado SSL do servidor, que inclui a chave de criptografia pública do servidor.

Alguns passos adicionais no processo de handshake não são relevantes para o fingerprinting do TLS.

Quando o cliente recebe o certificado digital do servidor, ele usa a chave pública da autoridade de certificação emitente para verificar a assinatura digital do certificado. O nome do servidor no certificado deve corresponder ao nome DNS do servidor, e o certificado não deve estar expirado.

Após a verificação adequada, o cliente envia uma segunda sequência aleatória conhecida como segredo pré-mestre. Isso é criptografado usando a chave pública do servidor. Por fim, o servidor descriptografa o segredo pré-mestre com a chave privada, e tanto o cliente quanto o servidor geram uma chave de sessão usando o seguinte:

  • Sequência aleatória do cliente
  • Sequência aleatória do servidor
  • Segredo pré-mestre

Eles devem chegar ao mesmo resultado.

Por fim, o cliente envia uma mensagem finished criptografada com a chave de sessão, e o servidor responde com uma mensagem finished que também é criptografada com a chave de sessão.

Quando o cliente e o servidor estão criptografados de maneira segura e simétrica, o handshake do TLS está completo.

Carlos Eduardo

Share
Publicado por
Carlos Eduardo

Publicações recentes

Como Reduzir Custos em um Cenário de Alta do Dólar

A gestão de custos é um dos maiores desafios enfrentados pelas empresas, especialmente quando esses…

4 months atrás

Ameaças Comuns de Segurança para Startups

As startups, impulsionadas por inovação e agilidade, navegam em um cenário digital vibrante, mas também…

6 months atrás

A Importância da Segurança Cibernética em Startups

A segurança cibernética é crucial para startups, independentemente do seu tamanho ou setor de atuação.…

7 months atrás

O que é Gerenciamento de Vulnerabilidades?

O gerenciamento de vulnerabilidades é o processo de identificar, avaliar, tratar e relatar vulnerabilidades de…

8 months atrás

DNS Cache Poisoning: Entendendo a ameaça cibernética e suas consequências

O DNS Cache Poisoning, ou envenenamento de cache DNS, é uma forma de ataque cibernético…

8 months atrás

DNS Hijacking: Entendendo a Ameaça

O DNS hijacking é um ataque malicioso que envolve a alteração das configurações de DNS…

8 months atrás