Sidik jari TLS
Pada paket pertama koneksi HTTPS (ClientHello), browser Anda sudah mencantumkan cipher suite, ekstensi, dan kurva eliptik yang didukungnya. Meng-hash bidang-bidang tersebut menghasilkan JA3 / JA4; frame SETTINGS yang membuka koneksi HTTP/2 dapat disidikjarikan dengan cara yang sama. Semua ini terjadi sebelum JavaScript apa pun berjalan, dan mengubah UA tidak mengubahnya.
- JA4
- Hash JA3
- String JA3
- Sidik jari HTTP/2
- Versi TLS
- Sumber
- Diamati di
- Browser menurut hasil urai server
- Berapa kali terlihat di sini
- Pertama terlihat
- Pengamatan JA4 ini
- Proporsi dari keluarga browser yang sama
- Browser yang berbagi JA4 ini
JA3 (Salesforce, 2017) menggabungkan versi TLS, cipher suite, ekstensi, kurva, dan format titik dalam urutan aslinya lalu mengambil MD5-nya — ubah urutan apa pun dan hash-nya berubah. Sejak Chrome 110, urutan ekstensi diacak pada setiap koneksi, sehingga JA3 satu Chrome hampir selalu berbeda. JA4 (FoxIO, 2023) mengurutkan sebelum meng-hash (SHA-256 terpotong) dan menempatkan versi TLS, SNI, ALPN, dan jumlah ke dalam awalan yang mudah dibaca seperti t13d1516h2, sehingga sangat stabil per keluarga browser: setiap browser Chromium (Chrome, Edge, Brave…) berbagi satu JA4, Firefox dan Safari memiliki JA4 masing-masing. Situs web membandingkan JA4 dengan UA — UA yang mengaku Firefox pada handshake yang tampak seperti Chrome adalah alat otomatisasi atau browser anti-deteksi dengan UA yang ditukar; situs ini melakukan perbandingan yang sama terhadap statistik JA4 ↔ keluarga browser miliknya sendiri. Untuk bisa melihat sidik jari sama sekali, server harus mengakhiri TLS sendiri: pada hostname yang di-proxy Cloudflare (awan oranye), handshake terjadi di edge Cloudflare dan origin hanya melihat sidik jari milik Cloudflare (Cloudflare hanya mengekspos JA4 untuk pelanggan Enterprise). Itulah sebabnya fingerproxy berjalan di hostname DNS-only (awan abu-abu) terpisah yang dipanggil browser secara lintas-origin satu kali; bila endpoint tersebut tidak dapat dijangkau, kami beralih ke pihak ketiga check.ja3.zone, yang hanya memberikan JA3.