ข้ามไปยังเนื้อหา
เครื่องแปลจากภาษาอังกฤษ ดูภาพต้นฉบับ
อภิธานศัพท์ · Fingerprinting

Browser fingerprint

การผสมผสานระหว่างลักษณะเฉพาะของเบราว์เซอร์และอุปกรณ์ที่สามารถระบุตัวตนของเบราว์เซอร์ได้โดยไม่ต้องใช้คุกกี้

นิยาม

Browser fingerprint คือชุดของลักษณะเฉพาะที่เว็บไซต์สามารถอ่านได้จากเบราว์เซอร์และอุปกรณ์ เช่น เวอร์ชันของเบราว์เซอร์, เขตเวลา, ภาษา, ฟอนต์ที่ติดตั้ง, codec และขนาดหน้าจอ ซึ่งรวมกันเป็นตัวระบุตัวตน MDN อธิบายว่า fingerprinting คือการระบุตัวตนของเบราว์เซอร์ และขยายความไปถึงตัวผู้ใช้ โดยการรวบรวมและผสมผสานคุณลักษณะที่แตกต่างกันเหล่านี้เข้าด้วยกัน

แผนภาพ: คุณลักษณะของเบราว์เซอร์ที่รวมกันเป็นตัวระบุลายนิ้วมือ (fingerprint identifier)
แผนภาพเชิงบรรณาธิการ (ภาพประกอบอย่างง่าย ไม่ใช่ภาพหน้าจอผลิตภัณฑ์)

วิธีการทำงาน

  • ค่าบางอย่างจะมาถึงแบบพาสซีฟ (passively) พร้อมกับทุกคำขอ เช่น ส่วนหัว User-Agent และ Accept-Language ซึ่ง W3C เรียกสิ่งนี้ว่าการทำ fingerprinting แบบพาสซีฟ
  • ส่วนค่าอื่นๆ จะถูกรวบรวมแบบแอคทีฟ (actively) โดย JavaScript หรือ CSS ที่ทำงานบนหน้าเว็บ เช่น ความละเอียดหน้าจอ, เขตเวลา, รายการฟอนต์, ผลลัพธ์การเรนเดอร์ Canvas หรือ WebGL และอื่นๆ
  • ค่าแต่ละค่าเพียงอย่างเดียวเป็นเรื่องปกติ แต่เมื่อนำมารวมกัน จะสามารถจำกัดวงเบราว์เซอร์ให้เหลือเพียงกลุ่มเล็กๆ หรืออุปกรณ์เพียงเครื่องเดียวได้ โดยไม่จำเป็นต้องมีคุณลักษณะใดคุณลักษณะหนึ่งที่โดดเด่นเพียงอย่างเดียว

ทำไมจึงสำคัญ

  • ลายนิ้วมือสามารถเชื่อมโยงการเข้าชมข้ามไซต์ได้โดยไม่ต้องใช้คุกกี้ และ W3C ระบุว่าการล้างคุกกี้หรือการใช้ VPN ไม่สามารถหยุดการเชื่อมโยงดังกล่าวได้
  • ไซต์ต่างๆ ยังใช้ลายนิ้วมือเพื่อตรวจจับการฉ้อโกงและการใช้งานในทางที่ผิด เช่น เพื่อตรวจหาบัญชีจำนวนมากที่มาจากอุปกรณ์เครื่องเดียว
  • สำหรับการทำงานแบบหลายบัญชีที่ถูกต้องตามกฎหมาย (เอเจนซี่, QA, บัญชีลูกค้าที่แยกกัน) การทำความเข้าใจเรื่องลายนิ้วมือจะช่วยอธิบายว่าทำไมจึงต้องมีโปรไฟล์เบราว์เซอร์ที่แยกจากกัน

ข้อจำกัดและความเข้าใจผิดทั่วไป

  • "โหมดไม่ระบุตัวตน (Incognito mode) ช่วยซ่อนลายนิ้วมือของฉัน" หน้าต่างส่วนตัวจะล้างข้อมูลที่จัดเก็บไว้ แต่ลักษณะเฉพาะของอุปกรณ์ที่หน้าเว็บสามารถอ่านได้นั้นยังคงเหมือนเดิมเป็นส่วนใหญ่
  • "ลายนิ้วมือแบบสุ่มปลอดภัยที่สุด" ค่าที่ไม่สอดคล้องกัน เช่น User-Agent ของมือถือแต่ใช้ความละเอียดหน้าจอแบบเดสก์ท็อป อาจมีความโดดเด่นมากกว่าการตั้งค่าที่ปกติและสอดคล้องกัน
  • "สามารถกำจัด fingerprinting ได้" คำแนะนำของ W3C ระบุว่าการกำจัด fingerprinting โดยสิ้นเชิงจากผู้ไม่หวังดีที่มีความมุ่งมั่นผ่านวิธีการทางเทคนิคที่แพร่หลายนั้นเป็นไปได้ยาก การบรรเทาผลกระทบจะช่วยลดความเสี่ยงลงเท่านั้น
ตัวอย่าง: แล็ปท็อปสองเครื่องที่มีเวอร์ชันเบราว์เซอร์เดียวกันยังคงมีความแตกต่างกันในเรื่องเขตเวลา, ฟอนต์ที่ติดตั้ง และ GPU สคริปต์ที่อ่านค่าเหล่านั้นรวมกับผลการเรนเดอร์ Canvas สามารถแยกแยะความแตกต่างได้แม้หลังจากล้างคุกกี้แล้ว

ไม่มีเบราว์เซอร์หรือพร็อกซีใดสามารถรับประกันได้ว่าบัญชีจะไม่ถูกจำกัด โปรดปฏิบัติตามกฎของแต่ละแพลตฟอร์ม

คำศัพท์ที่เกี่ยวข้อง

  • Canvas fingerprinting — การระบุอุปกรณ์จากความแตกต่างเพียงเล็กน้อยในวิธีการเรนเดอร์การวาดภาพบน HTML canvas
  • WebGL fingerprinting — การใช้ข้อมูลกราฟิก WebGL และผลลัพธ์การเรนเดอร์เพื่อระบุตัวตนอุปกรณ์
  • User agent (User-Agent string) — การระบุตัวตนเบราว์เซอร์และระบบปฏิบัติการที่เบราว์เซอร์ส่งใน User-Agent header และเปิดเผยต่อ JavaScript
  • Browser profile — ชุดข้อมูลเบราว์เซอร์ที่แยกต่างหาก — คุกกี้, ประวัติ, การตั้งค่า, ส่วนขยาย — ที่ถูกเก็บแยกจากโปรไฟล์อื่น