Çerezsiz Cihaz Parmak İzi: Nasıl Çalışır
Çerezler ölüyor. İşte cihaz parmak izinin herhangi bir istemci tarafı depolama olmadan kalıcı tanımlamayı nasıl sağladığı.
Çerez ölüyor. Safari'nin Akıllı İzleme Önleme (ITP) özelliği çerez ömrünü 7 günle sınırlıyor. Firefox'un Gelişmiş İzleme Koruması üçüncü taraf çerezlerini tamamen engelliyor. Chrome'un Privacy Sandbox'ı üçüncü taraf çerezlerini kullanımdan kaldırıyor. GDPR onay gereksinimleri, kullanıcıların çerez banner'larını giderek daha fazla reddetmesi anlamına geliyor.
Dolandırıcılık önleme açısından bu bir sorun. Cihazları kalıcı olarak tanımlayamazsanız, tekrar eden suçluları takip edemez, çoklu hesap açmayı tespit edemez veya şüpheli oturumları birbirine bağlayamazsınız. Cihaz parmak izi bunu, cihazları teknik özellikleri aracılığıyla tanımlayarak çözer — çerez yok, localStorage yok, hiçbir türde istemci tarafı depolama yok.
Sinyal Kategorileri
Pasif Parmak İzi (JavaScript Gerektirmez)
Sayfanız daha yüklenmeden önce, tarayıcı ağ düzeyindeki sinyaller aracılığıyla bilgi açığa çıkarır:
TLS parmak izi (JA4). TLS Client Hello mesajı şifreleme paketleri, uzantılar, eliptik eğriler ve imza algoritmaları içerir. Daha iyi ayrım gücüne sahip, JA3'ün modern bir yerine geçen JA4 karmasını kullanıyoruz.
TCP/IP yığın analizi. TCP pencere boyutu, TTL değerleri ve MSS ayarları işletim sistemleri arasında değişir. Linux, Windows ve macOS'un her birinin karakteristik TCP yığını yapılandırmaları vardır.
HTTP başlık analizi. Başlık sıralaması, Accept-Language değerleri ve bağlantı tercihleri tarayıcılar arasında farklılık gösterir.
Aktif Parmak İzi (İstemci Tarafı JavaScript)
Canvas parmak izi. Dikkatle tasarlanmış bir sahne çiziyoruz — belirli metin, geometrik şekiller ve gradyanlar. Farklı GPU'lar bunu, kenar yumuşatma, alt piksel işleme ve renk harmanlama farklılıkları nedeniyle ince piksel düzeyi farklarla işler. Piksel verisini karmalıyoruz.
WebGL parmak izi. WebGL, GPU üretici/işleyici dizelerini, maksimum doku boyutlarını, desteklenen uzantıları ve gölgelendirici (shader) yeteneklerini açığa çıkarır. Bu veri, GPU modelini ve sürücü sürümünü güçlü şekilde tanımlar.
AudioContext parmak izi. Bir test sinyali üretir ve nasıl işlendiğini analiz ederiz. Farklı ses donanımı, kayan nokta hassasiyeti farklılıkları nedeniyle ölçülebilir şekilde farklı çıktı üretir.
Yazı tipi sayımı. Mevcut sistem yazı tipleri işletim sistemine, dil paketine ve yüklü yazılımlara göre değişir. Canvas ölçüm teknikleri kullanarak yaklaşık 300 tanısal yazı tipini test ederiz.
Navigator özellikleri. CPU çekirdekleri, cihaz belleği, platform, dil, saat dilimi, ekran çözünürlüğü, renk derinliği, işaretçi ve dokunma yetenekleri.
Entropi Analizi
Tüm sinyaller eşit ağırlık taşımaz. Her sinyalin entropisini ölçeriz:
| Sinyal Kategorisi | Yaklaşık Entropi |
|---|---|
| Canvas + WebGL birleşik | ~18 bit |
| Yazı tipi listesi | ~8 bit |
| AudioContext | ~5 bit |
| Navigator özellikleri | ~7 bit |
| TLS parmak izi | ~6 bit |
| Ekran + görüntü | ~4 bit |
| Saat dilimi + dil | ~3 bit |
Birleştirildiğinde, 130'dan fazla sinyalimiz yaklaşık 50'den fazla bit entropi sağlar — 1 katrilyondan fazla farklı cihazı benzersiz şekilde tanımlamaya yeter.
Sinyallerden Kararlı Karmaya
Ham sinyal toplama sorunun yalnızca yarısıdır. Tarayıcı güncellemeleri user agent dizelerini değiştirir. Sürücü güncellemeleri WebGL parametrelerini değiştirir. Yazı tipi kurulumları yazı tipi listesini değiştirir.
Bulanık Eşleştirme
Tam eşleşme gerektirmek yerine, sinyalleri kararlılık ve entropiye göre tartan bir bulanık eşleştirme algoritması kullanırız. Kararlı sinyaller (canvas, GPU modeli), değişken sinyallerden (user agent, ekran çözünürlüğü) daha fazla ağırlık taşır.
Aday üretimi, potansiyel eşleşmeleri belirlemek için en kararlı sinyaller üzerinde yerellik duyarlı karma (LSH) kullanır. Benzerlik puanlaması, tüm sinyal kategorileri boyunca ağırlıklı bir puan hesaplar; normal cihaz değişikliklerinin ziyaretçi kimliğini değiştirmemesi, gerçek cihaz değişikliklerinin ise değiştirmesi için kalibre edilir.
Bu, %99,5 doğruluk sağlar — dönen ziyaretçileri tarayıcı güncellemeleri, çerez temizlikleri, gizli mod ve tarayıcı değişiklikleri boyunca doğru şekilde tanımlar.
Gizliliği Koruyan Mimari
Sunucu tarafı işleme. Tüm parmak izi hesaplaması sunucularımızda gerçekleşir. İstemci tarafı ajan ham sinyalleri toplar ancak parmak izi karmasını hesaplamaz veya depolamaz.
PII depolaması yok. Ham sinyalleri değil, parmak izi karmalarını depolarız. Karma, tek yönlü bir fonksiyondur.
Veri yerleşimi. AB müşteri verileri AB veri merkezlerinde işlenir ve depolanır. GDPR Madde 6(1)(f), dolandırıcılık önlemeyi meşru menfaat olarak kapsar.
Tarayıcılar Arası Tanımlama
En zor zorluk, aynı cihazı farklı tarayıcılar arasında tanımlamaktır. Tarayıcıdan bağımsız sinyallere güveniriz: GPU donanımı, ekran özellikleri, saat dilimi, dil ayarları, yüklü yazı tipleri (işletim sistemi düzeyinde) ve TCP/IP yığın özellikleri.
Tarayıcılar arası bağlama doğruluğu yaklaşık %94'tür — aynı tarayıcı içindeki tanımlamadan daha düşük, ancak aynı cihazda tarayıcılar arası çoklu hesap açmayı tespit etmeye yeterlidir.
Entegrasyon
Cihaz parmak izi eklemek üç satır kod alır. Ajan eşzamansız olarak yüklenir, sinyalleri 50 ms'nin altında toplar ve bunları API'mize gönderir. Sunucu yanıtı ziyaretçi kimliğini, güven puanını ve tüm 24 Akıllı Sinyali içerir.