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

Canvas fingerprinting

การระบุอุปกรณ์จากความแตกต่างเพียงเล็กน้อยในวิธีการเรนเดอร์การวาด HTML canvas

นิยาม

Canvas fingerprinting คือเทคนิคที่หน้าเว็บวาดข้อความหรือรูปทรงด้วย HTML Canvas API และอ่านค่าพิกเซลที่ได้กลับมา เนื่องจากกระบวนการเรนเดอร์ขึ้นอยู่กับ GPU, ไดรเวอร์กราฟิก, ฟอนต์ และการทำ anti-aliasing ผลลัพธ์ที่ได้จึงอาจแตกต่างกันเล็กน้อยในแต่ละอุปกรณ์ และค่า hash ของผลลัพธ์นั้นจะกลายเป็นสัญญาณลายนิ้วมือหนึ่งอย่าง

แผนภาพ: สคริปต์วาดลงบน canvas, อุปกรณ์ทำการเรนเดอร์, พิกเซลถูกนำไปทำ hash
แผนภาพเชิงบรรณาธิการ (ภาพประกอบอย่างง่าย ไม่ใช่ภาพหน้าจอผลิตภัณฑ์)

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

  • สคริปต์จะสร้างองค์ประกอบ canvas (ซึ่งมักจะมองไม่เห็น) และวาดข้อความ, emoji, ไล่เฉดสี หรือรูปทรงด้วยบริบท 2D
  • มันจะอ่านผลลัพธ์ด้วยวิธีการต่างๆ เช่น toDataURL() ซึ่งจะคืนค่ารูปภาพเป็น data URL หรือ getImageData()
  • ข้อมูลพิกเซลจะถูกนำไปทำ hash การตั้งค่าที่เหมือนกันมักจะให้ค่า hash ที่เหมือนกัน ส่วนฮาร์ดแวร์หรือชุดฟอนต์ที่ต่างกันมักจะไม่เหมือนกัน

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

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

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

  • "Canvas เพียงอย่างเดียวก็ระบุตัวตนฉันได้" มันเป็นเพียงหนึ่งสัญญาณ และมักจะถูกนำไปรวมกับสัญญาณอื่นๆ เช่น WebGL, ฟอนต์ และข้อมูลหน้าจอ
  • "การเพิ่มสัญญาณรบกวนแบบสุ่มนั้นมองไม่เห็น" สัญญาณรบกวนที่เปลี่ยนไปในทุกการอ่านสามารถถูกตรวจจับได้เองโดยการวาดรูปเดิมสองครั้งแล้วนำมาเปรียบเทียบกัน
ตัวอย่าง: การวาดประโยคเดียวกันด้วยฟอนต์เดียวกันบนแล็ปท็อปที่มีกราฟิกแบบออนบอร์ด และบนเดสก์ท็อปที่มี GPU แยก อาจทำให้เกิดความแตกต่างของพิกเซลที่มองไม่เห็นด้วยตาเปล่า แต่แตกต่างกันเมื่อนำไปทำ hash

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

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

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

ต้นฉบับ

ตรวจสอบแล้ว 2026-11-07

← คำศัพท์ทั้งหมดในอภิธานศัพท์