Device Fingerprinting Tanpa Cookie: Cara Kerjanya
Cookie sedang menuju akhir. Beginilah device fingerprinting memberikan identifikasi yang persisten tanpa penyimpanan apa pun di sisi klien.
Cookie sedang menuju akhir. Intelligent Tracking Prevention (ITP) milik Safari membatasi masa hidup cookie hingga 7 hari. Enhanced Tracking Protection milik Firefox memblokir cookie pihak ketiga sepenuhnya. Privacy Sandbox milik Chrome sedang menghapus cookie pihak ketiga. Persyaratan persetujuan GDPR membuat pengguna semakin sering menolak banner cookie.
Untuk pencegahan penipuan, ini menjadi masalah. Jika Anda tidak dapat mengidentifikasi perangkat secara persisten, Anda tidak dapat melacak pelanggar berulang, mendeteksi multi-accounting, atau menautkan sesi mencurigakan satu sama lain. Device fingerprinting memecahkan masalah ini dengan mengidentifikasi perangkat melalui karakteristik teknisnya — tanpa cookie, tanpa localStorage, tanpa penyimpanan apa pun di sisi klien.
Kategori Sinyal
Fingerprinting Pasif (Tanpa JavaScript)
Bahkan sebelum halaman Anda dimuat, browser sudah mengungkapkan informasi melalui sinyal tingkat jaringan:
Fingerprinting TLS (JA4). Pesan TLS Client Hello berisi cipher suite, ekstensi, kurva eliptik, dan algoritma tanda tangan. Kami menggunakan hashing JA4 — pengganti modern untuk JA3 dengan granularitas yang lebih baik.
Analisis stack TCP/IP. Ukuran window TCP, nilai TTL, dan pengaturan MSS bervariasi antar sistem operasi. Linux, Windows, dan macOS masing-masing memiliki konfigurasi stack TCP yang khas.
Analisis header HTTP. Urutan header, nilai Accept-Language, dan preferensi koneksi berbeda antar browser.
Fingerprinting Aktif (JavaScript di Sisi Klien)
Fingerprinting canvas. Kami menggambar sebuah adegan yang dirancang dengan cermat — teks tertentu, bentuk geometris, dan gradien. GPU yang berbeda merender ini dengan perbedaan halus di tingkat piksel karena variasi anti-aliasing, sub-pixel rendering, dan color blending. Kami melakukan hashing terhadap data piksel tersebut.
Fingerprinting WebGL. WebGL mengekspos string vendor/renderer GPU, ukuran tekstur maksimum, ekstensi yang didukung, dan kemampuan shader. Data ini mengidentifikasi model GPU dan versi driver dengan kuat.
Fingerprinting AudioContext. Kami menghasilkan sinyal uji dan menganalisis bagaimana ia diproses. Perangkat keras audio yang berbeda menghasilkan keluaran yang terukur berbeda karena perbedaan presisi floating-point.
Enumerasi font. Font sistem yang tersedia bervariasi menurut OS, paket bahasa, dan perangkat lunak yang terpasang. Kami menguji sekitar 300 font diagnostik menggunakan teknik pengukuran canvas.
Properti navigator. Jumlah inti CPU, memori perangkat, platform, bahasa, zona waktu, resolusi layar, kedalaman warna, serta kemampuan pointer dan sentuh.
Analisis Entropi
Tidak semua sinyal memiliki bobot yang sama. Kami mengukur entropi setiap sinyal:
| Kategori Sinyal | Perkiraan Entropi |
|---|---|
| Canvas + WebGL gabungan | ~18 bit |
| Daftar font | ~8 bit |
| AudioContext | ~5 bit |
| Properti navigator | ~7 bit |
| Fingerprint TLS | ~6 bit |
| Layar + tampilan | ~4 bit |
| Zona waktu + bahasa | ~3 bit |
Secara gabungan, 130+ sinyal kami memberikan kira-kira 50+ bit entropi — cukup untuk mengidentifikasi secara unik lebih dari 1 kuadriliun perangkat berbeda.
Dari Sinyal ke Hash yang Stabil
Pengumpulan sinyal mentah hanyalah separuh dari masalah. Pembaruan browser mengubah string user agent. Pembaruan driver mengubah parameter WebGL. Pemasangan font mengubah daftar font.
Fuzzy Matching
Alih-alih menuntut kecocokan yang persis, kami menggunakan algoritma fuzzy matching yang memberi bobot pada sinyal berdasarkan stabilitas dan entropi. Sinyal yang stabil (canvas, model GPU) memiliki bobot lebih besar dibanding sinyal yang volatil (user agent, resolusi layar).
Pembuatan kandidat menggunakan locality-sensitive hashing (LSH) pada sinyal-sinyal paling stabil untuk mengidentifikasi kecocokan potensial. Penilaian kemiripan menghitung skor berbobot di seluruh kategori sinyal, dikalibrasi sehingga perubahan perangkat yang normal tidak mengubah ID pengunjung sementara perubahan perangkat yang sesungguhnya mengubahnya.
Ini mencapai akurasi 99,5% — mengidentifikasi dengan benar pengunjung yang kembali di seluruh pembaruan browser, penghapusan cookie, mode incognito, dan pergantian browser.
Arsitektur yang Menjaga Privasi
Pemrosesan di sisi server. Semua komputasi fingerprint terjadi di server kami. Agen di sisi klien mengumpulkan sinyal mentah tetapi tidak menghitung atau menyimpan hash fingerprint.
Tanpa penyimpanan PII. Kami menyimpan hash fingerprint, bukan sinyal mentah. Hash adalah fungsi satu arah.
Residensi data. Data pelanggan Uni Eropa diproses dan disimpan di pusat data Uni Eropa. GDPR Pasal 6(1)(f) mencakup pencegahan penipuan sebagai kepentingan yang sah.
Identifikasi Lintas-Browser
Tantangan tersulit adalah mengidentifikasi perangkat yang sama di berbagai browser. Kami mengandalkan sinyal yang independen dari browser: perangkat keras GPU, karakteristik layar, zona waktu, pengaturan bahasa, font yang terpasang (tingkat OS), dan karakteristik stack TCP/IP.
Akurasi penautan lintas-browser sekitar 94% — lebih rendah dibanding identifikasi dalam satu browser tetapi cukup untuk mendeteksi multi-accounting lintas browser pada perangkat yang sama.
Integrasi
Menambahkan device fingerprinting hanya membutuhkan tiga baris kode. Agen dimuat secara asinkron, mengumpulkan sinyal dalam waktu di bawah 50ms, dan mengirimkannya ke API kami. Respons server mencakup ID pengunjung, skor kepercayaan, dan seluruh 24 Smart Signals.