Aller au contenu
ecdsa.com

JA4 (empreinte de client TLS)

La méthode de FoxIO (2023) pour prendre l’empreinte des clients TLS à partir de leur ClientHello (protocole, version, SNI, nombres et condensats triés des suites de chiffrement et des extensions), conçue pour rester stable lorsque les navigateurs rendent aléatoire l’ordre des extensions.
Autres graphiesJA4JA3JA4+TLS fingerprint

Une empreinte JA4 comporte trois parties, par exemple t13d1517h2_8daaf6152771_cb7bf5808d99 pour une connexion TCP de Chrome : un préfixe lisible (t pour TCP ou q pour QUIC, version de TLS, d si le SNI est un domaine, nombre de suites de chiffrement et d’extensions, premier ALPN), un SHA-256 tronqué des suites de chiffrement triées, et un SHA-256 tronqué des extensions triées (sans SNI ni ALPN) suivies des algorithmes de signature dans leur ordre d’origine. Les valeurs GREASE sont ignorées.

JA4 a remplacé JA3 (Salesforce, 2017), qui hachait les extensions dans l’ordre de transmission et a cessé d’être stable lorsque Chrome a commencé à mélanger l’ordre des extensions début 2023. JA4 sert à la détection de bots, à la traque de logiciels malveillants et à l’analyse de trafic ; cette empreinte identifie des logiciels, pas des utilisateurs, et n’importe qui peut imiter une empreinte avec des bibliothèques comme uTLS. La méthode JA4 elle-même est sous licence BSD 3-Clause ; les autres méthodes JA4+ (JA4S, JA4H, JA4X et d’autres) relèvent de la FoxIO License 1.1, qui restreint l’usage commercial.

Normes et références

Tous les termes