Impressão digital TLS

A Impressão digital TLS lê a forma de um TLS ClientHello. O servidor vê esta mensagem antes da primeira solicitação HTTP, para que possa inspecionar a pilha de conexões sem esperar pelo JavaScript da página.

JA3 e JA4 transformam campos ClientHello selecionados em valores que são mais fáceis de comparar. Conjuntos de criptografia, extensões TLS, grupos suportados e detalhes de protocolo podem ajudar a distinguir um navegador de um aplicativo móvel, amostra de malware ou biblioteca HTTP básica.

A parte útil é a consistência. Um cliente pode alegar ser o Chrome em seu agente de usuário. Seu handshake TLS ainda deve se adequar ao navegador e à versão por trás dessa afirmação. Se as duas camadas discordarem, o pedido merece uma inspeção mais detalhada.

Essa incompatibilidade é apenas um sinal. Uma impressão digital TLS descreve uma pilha de clientes, não uma pessoa. Bons sistemas de risco comparam-no com o histórico de IP, comportamento HTTP e a impressão digital mais ampla do navegador.

O que é Impressão digital TLS?

O TLS protege os dados enviados entre um cliente e um servidor. Antes que a criptografia esteja pronta, ambos os lados devem concordar com as configurações de conexão. O cliente inicia essa negociação com um ClientHello.

Diferentes softwares constroem essa mensagem de maneiras reconhecíveis. O Chrome usa BoringSSL. Firefox usa NSS. Muitos scripts chegam ao OpenSSL através de outra biblioteca. Suas opções suportadas e padrões de extensão raramente se alinham por acidente.

Um CDN, um firewall de aplicativo da web ou um servidor de origem podem registrar campos selecionados e agrupar conexões com resultados semelhantes. Não é necessário descriptografar a página ou identificar o usuário. A evidência já existe na configuração da conexão.

Como funciona a Impressão digital TLS?

Uma verificação típica segue cinco etapas.

  1. O cliente abre uma conexão HTTPS.
  2. Ele envia um ClientHello com suas opções de conexão suportadas.
  3. O servidor ou CDN lê os campos selecionados dessa mensagem.
  4. Um método de impressão digital normaliza e resume esses campos.
  5. Um sistema de segurança compara o resultado com padrões conhecidos e outros sinais de solicitação.

A alteração de um agente de usuário HTTP não reconstrói a pilha TLS subjacente. Uma solicitação pode, portanto, reivindicar uma família de navegadores enquanto se conecta como outro aplicativo.

Esse é um motivo para inspecionar o pedido, não um motivo para bloqueá-lo à vista. Gateways corporativos, software de segurança, construções incomuns de navegadores e intermediários TLS podem mudar o que o servidor observa.

Quais informações são usadas em uma impressão digital TLS?

Os formatos de impressão digital escolhem diferentes campos e regras de normalização. A maioria utiliza as mesmas partes do ClientHello.

SinalO que descreveLimite importante
Versão TLSVersões de protocolo oferecidas pelo clienteA mesma versão é compartilhada por muitos clientes
Conjuntos de criptografiaOpções criptográficas suportadas pelo clienteUma lista descreve capacidades, não uma pessoa
Extensões TLSRecursos extras incluídos no ClientHelloNavegadores modernos podem alterar a ordem das extensões
Grupos suportadosCurva elíptica e grupos de troca de chavesOs resultados podem mudar com atualizações da biblioteca
Algoritmos de assinaturaMétodos de assinatura aceitos pelo clienteVários aplicativos podem usar a mesma lista
ALPNProtocolos de aplicação como HTTP/2Não descreve o comportamento HTTP completo
Presença do SNISe um nome de servidor está incluídoUma impressão digital compacta pode não incluir o próprio nome
Ordem e contagem de camposComo o cliente estrutura a mensagemAlguns formatos classificam os campos e descartam a ordem

Os valores GREASE também necessitam de tratamento especial. Os navegadores adicionam valores reservados para testar se os servidores podem tolerar futuras alterações de protocolo. Tanto o JA3 quanto o JA4 ignoram esses valores durante o cálculo normal da impressão digital.

Esses campos descrevem as opções de implementação. Dois computadores executando a mesma versão do navegador podem produzir o mesmo resultado normalizado.

O que é uma impressão digital JA3?

JA3 é um método introduzido por pesquisadores da Salesforce em 2017. São necessários cinco grupos ordenados do ClientHello.

  1. Versão TLS ou SSL
  2. Conjuntos de criptografia aceitos
  3. Extensões TLS
  4. Curvas elípticas suportadas
  5. Formatos de pontos de curva elíptica

JA3 une os valores decimais desses grupos em uma string. Em seguida, produz um hash MD5 de 32 caracteres. O hash é uma chave de pesquisa compacta. O MD5 não está sendo usado aqui para proteger uma senha ou provar a integridade dos dados.

O projeto JA3 original agora está arquivado. O JA3 ainda é importante porque anos de ferramentas de rede e inteligência sobre ameaças dependem de seus valores.

Seu ponto fraco é a ordem de extensão. O JA3 o preserva, enquanto o Chrome começou a alterar essa ordem nas conexões em 2023. Um navegador poderia então produzir muitos hashes JA3 sem alterar suas capacidades principais. Documentou rapidamente o efeito em sua rede.

O que é uma impressão digital JA4?

JA4 é um formato de impressão digital de cliente TLS mais recente da FoxIO. Ele reduz o ruído criado pela alteração da cifra e da ordem de extensão.

Um valor JA4 possui três seções.

SeçãoConteúdo principal
aTransporte, versão TLS, presença SNI, contagem de cifras, contagem de extensões e ALPN
bUm pequeno hash de códigos cifrados classificados
cUm pequeno hash de códigos de extensão classificados e algoritmos de assinatura

A classificação torna o JA4 estável quando a única diferença é a cifra ou a ordem de extensão. Também remove essa ordem como prova. Uma equipe de segurança que precisa da sequência original deve manter o pacote ou os dados brutos do handshake.

JA4 pertence ao projeto de impressão digital de rede JA4 mais amplo. JA4 cobre o cliente olá. JA4S cobre uma resposta do servidor. JA4H cobre o comportamento do cliente HTTP. São impressões digitais separadas dentro da mesma família.

Para um novo pipeline de coleta, o JA4 costuma ser o ponto de partida mais limpo. O JA3 ainda merece seu lugar quando as correspondências históricas e os dados de ameaças existentes são importantes. Muitas equipes mantêm ambos durante a transição.

JA3 vs JA4

ÁreaJA3JA4
EntradaCliente TLSOláCliente TLS, QUIC ou DTLS, olá
SaídaUm hash MD5Três seções estruturadas
Ordem de cifraPreservadoClassificado
Pedido de extensãoPreservadoClassificado
Valores de GRAXAIgnoradoIgnorado
ALPNA presença da extensão contribuiA representação curta do ALPN está visível
Melhor ajusteCorrespondência histórica e dados de ameaças existentesAgrupamento moderno e comparação parcial

Uma correspondência significa que os campos de handshake selecionados produziram a mesma representação. Trate isso como uma classificação de cliente, não como uma correspondência de identidade.

Impressão digital TLS versus HTTP e Impressão digital do navegador

Os sistemas reais de detecção não dependem de uma impressão digital. Eles comparam sinais de diversas camadas e cada camada responde a uma pergunta diferente.

Sinais TLS

Os sinais TLS descrevem como o cliente inicia uma conexão criptografada. JA3 e JA4 pertencem aqui. O servidor pode inspecioná-los antes da execução do código da página.

Sinais HTTP

Os sinais HTTP incluem nomes de cabeçalho, ordem de cabeçalho, escolha de protocolo e estrutura de solicitação. HTTP/2 adiciona quadros SETTINGS, tamanhos de janela e ordem de pseudo-cabeçalho. Esses detalhes podem dar suporte a uma descoberta de TLS, mas vêm de um estágio diferente da solicitação.

Sinais do navegador

Os sinais do navegador vêm de cabeçalhos e APIs do navegador. Fontes, detalhes da tela, saída do Canvas, uma Impressão digital WebGL e Impressão digital de áudio podem revelar se o ambiente da página se ajusta à pilha de rede. A maioria dessas verificações precisa do código da página para ser executada.

Sinais de comportamento

Os sinais de comportamento descrevem o que o cliente faz ao longo do tempo. Taxa de solicitação, ordem de navegação, histórico de sessão, entrada do mouse e ações repetidas são fundamentais para Detecção de bots. Um aperto de mão correto não pode tornar legítimo um comportamento suspeito.

A decisão útil vem do acordo entre as camadas. Um agente de usuário do Chrome, handshake TLS estilo Chrome, configurações HTTP/2 esperadas e APIs de navegador funcionais contam uma história consistente. A intenção humana ainda precisa ser julgada a partir da sessão e de seu comportamento.

O que uma impressão digital TLS pode revelar?

Uma impressão digital TLS é útil para estimar:

  • Se um cliente se assemelha a um navegador, aplicativo, bot ou biblioteca HTTP geral
  • Qual implementação TLS ou família de aplicativos pode ter criado a conexão
  • Se o handshake se ajusta ao agente do usuário relatado
  • Se um padrão de conexão apareceu antes
  • Se o tráfego pertence a um grupo conhecido em um banco de dados de ameaças

É uma base pobre para afirmar:

  • O nome ou identidade do usuário
  • Propriedade de uma conta
  • Um dispositivo físico único
  • O sistema operacional exato em cada caso
  • Se a solicitação é prejudicial
  • Se duas solicitações correspondentes compartilham um operador

A Cloudflare usa JA3 e JA4 dentro do Bot Management como parte de um conjunto maior de sinais. Sua documentação JA3 e JA4 também observa que uma impressão digital pode estar faltando em uma solicitação não criptografada ou quando a retomada da sessão evita um novo handshake. Os dados perdidos não devem ser tratados como suspeitos por padrão.

Onde a Impressão digital TLS é usada?

As impressões digitais TLS ganham valor no trabalho de segurança repetível.

  • A caça a ameaças pode agrupar conexões criptografadas de famílias de malware conhecidas.
  • O gerenciamento de bots pode comparar as declarações do navegador com a pilha de conexões.
  • Os sistemas de fraude podem adicionar o resultado a um modelo de risco de conta ou transação.
  • As equipes de API podem separar clientes esperados de bibliotecas incomuns.
  • Os firewalls de aplicativos da Web podem monitorar ou limitar a taxa de grupos de impressões digitais conhecidos.
  • As equipes de operações podem encontrar implementações TLS antigas ou inesperadas.

A preocupação com a privacidade é igualmente prática. Os dados TLS não dependem de cookies ou armazenamento local. Quando combinado com uma impressão digital mais ampla do navegador, pode suportar o reconhecimento entre visitas.

Uma VPN ou proxy altera uma impressão digital TLS?

Uma VPN normalmente altera a rota e o IP público. Ele não reconstrói o navegador ClientHello. O destino ainda vê o handshake criado pelo navegador.

Um túnel HTTP CONNECT ou SOCKS padrão geralmente se comporta da mesma maneira. Ele carrega a conexão sem encerrar o TLS, portanto o cliente ainda negocia diretamente com o destino.

O resultado muda quando um intermediário encerra o TLS e cria uma nova conexão upstream. Nesse caso, o destino vê o ClientHello produzido pelo intermediário. Gateways de inspeção corporativa e alguns serviços de rede gerenciados podem funcionar dessa maneira.

É por isso que um proxy, VPN e Navegador antidetecção afeta diferentes partes do ambiente. O destino vê a impressão digital de qualquer software que estabeleça a sessão TLS que recebe.

O Modo de navegação anônima também tem um efeito limitado. Ele altera o armazenamento local e o histórico de navegação. Normalmente não substitui a implementação TLS do navegador.

Como ler um teste de impressão digital TLS

Uma página de teste relata o que seu próprio servidor observou. É uma ferramenta de comparação, não um certificado de aprovação.

Use uma comparação controlada.

  1. Execute o mesmo teste duas vezes no mesmo perfil de navegador.
  2. Registre a versão do navegador, protocolo, valores JA3 e JA4.
  3. Reinicie o perfil e repita o teste.
  4. Teste novamente após uma atualização do navegador ou sistema operacional.
  5. Observe se uma VPN, proxy ou gateway de inspeção alterou o caminho de conexão.

O resultado só se torna útil quando as condições de teste são conhecidas.

ResultadoSignificado provávelO que isso não prova
O mesmo JA4 em todos os perfisOs campos TLS normalizados corresponderamOs perfis são o mesmo dispositivo
Novo JA3 em cada conexãoA ordem de extensão pode estar mudandoO cliente mudou completamente
JA3 ou JA4 está faltandoNenhum novo handshake TLS adequado estava disponívelO site não pode avaliar a solicitação
O agente do usuário e a família TLS são diferentesA conexão precisa de mais contextoA solicitação é maliciosa

Diferentes locais de teste podem calcular ou exibir valores de maneiras diferentes. Comece com resultados repetidos de um serviço antes de comparar hashes de outro lugar.

Impressão digital TLS e perfis de navegador

Um perfil de navegador mantém juntos o ambiente do navegador, os cookies, as configurações de proxy e as configurações relacionadas. Os usuários do MoreLogin podem escolher um kernel do navegador e gerenciar sinais expostos por meio de APIs do navegador nas configurações do perfil. Isso inclui Canvas, WebGL, AudioContext, WebRTC, idioma, fuso horário e dispositivos de mídia.

O TLS fica abaixo das configurações da API do navegador. Alterar a saída do Canvas não altera o JA3. A edição do texto do agente do usuário não reconstrói o ClientHello.

MoreLogin não lista publicamente um controle JA3 ou JA4 separado em suas configurações de perfil atuais. Afirmar que cada perfil recebe um hash TLS exclusivo iria, portanto, além das informações disponíveis sobre o produto. A versão do navegador, o tempo de execução, o protocolo, o design do proxy e o caminho da conexão afetam o que o servidor observa.

Para trabalho em equipe autorizado, um navegador de múltiplas contas mantém cookies, atribuições de proxy e ambientes de navegador separados. Isto reduz a sobreposição acidental entre perfis. Ele não pode controlar como cada sistema de segurança de terceiros classifica o tráfego.

O mesmo limite se aplica à Automação do navegador. Um fluxo de trabalho executado em um navegador real usa uma pilha de rede diferente de uma biblioteca de scripts básica. Ele ainda precisa de permissão, taxas de solicitação razoáveis ​​e tratamento confiável de erros.

Perguntas frequentes sobre Impressão digital TLS

A impressão digital TLS é exclusiva de um dispositivo?

Não. Geralmente descreve um aplicativo cliente ou grupo de implementação TLS. Muitos dispositivos que executam a mesma versão do navegador podem compartilhar um resultado. Uma atualização também pode alterar a impressão digital no mesmo dispositivo.

Um site pode ver minha impressão digital TLS?

Sim. O servidor ou CDN que recebe a conexão pode inspecionar o ClientHello. Uma página de teste pode exibir o valor retornado por esse servidor.

A alteração do agente do usuário altera o JA3 ou o JA4?

Não por si só. O agente do usuário é um valor HTTP, enquanto JA3 e JA4 vêm do handshake TLS. A edição de um cabeçalho não reconstrói a pilha de rede.

Por que dois navegadores podem ter o mesmo JA4?

JA4 classifica listas selecionadas e agrupa handshakes semelhantes. Navegadores com o mesmo mecanismo e recursos TLS podem compartilhar um resultado. Isso não significa que os navegadores estejam vinculados.

A limpeza de cookies altera uma impressão digital TLS?

Não. Os cookies são dados de sessão armazenados, enquanto as impressões digitais TLS vêm da configuração da conexão. Um site pode usar ambos, mas limpar um não redefine o outro.

O cliente criptografado Hello interrompe a Impressão digital TLS?

O Client Hello criptografado protege partes confidenciais do handshake, incluindo o nome do servidor solicitado. A rede ainda pode ver um ClientHello externo e o destino ainda lida com a conexão completa. ECH melhora a privacidade sem remover todos os sinais TLS.

Principal vantagem

Impressão digital TLS mostra como um cliente inicia uma conexão criptografada. JA3 continua valioso para correspondência histórica. O JA4 geralmente é mais fácil de trabalhar quando os navegadores modernos alteram a ordem da lista.

A impressão digital torna-se significativa quando concorda com sinais de HTTP, navegador, rede, sessão e comportamento. Um hash pode orientar uma decisão de risco. Não deveria tomar essa decisão sozinho.

Comece a criar com MoreLogin

Explore a referência da API, automatize pela linha de comando, conecte ferramentas compatíveis com MCP ou crie fluxos RPA reutilizáveis.