realfp.com

ลายนิ้วมือฟอนต์คืออะไร?

ลายนิ้วมือฟอนต์เป็นอีกมิติสำคัญหนึ่งของลายนิ้วมือเบราว์เซอร์ เมื่ออุปกรณ์ของคุณติดตั้งฟอนต์เฉพาะบางตัวไว้ หรือขาดฟอนต์บางตัว ข้อมูลเหล่านี้สามารถถูกนำไปใช้สร้างตัวระบุที่มีเอกลักษณ์ได้



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



หลักการทำงานของลายนิ้วมือฟอนต์

ลายนิ้วมือฟอนต์ส่วนใหญ่ทำงานผ่าน JavaScript API ของเบราว์เซอร์ หลักการสำคัญคือ: เบราว์เซอร์สามารถดึงและรายงานรายการฟอนต์ที่ใช้งานได้บนอุปกรณ์ของผู้ใช้ ข้อมูลฟอนต์เหล่านี้เมื่อรวมกับคุณลักษณะอื่น ๆ ของเบราว์เซอร์และอุปกรณ์ จะก่อให้เกิดลายนิ้วมือที่มีเอกลักษณ์เฉพาะตัว



วิธีการเก็บรวบรวมลายนิ้วมือฟอนต์ที่พบบ่อยมีสามวิธีดังนี้:



วิธีที่หนึ่ง: การแจกแจงฟอนต์ (Font Enumeration)



นี่เป็นวิธีที่ตรงไปตรงมาที่สุด เว็บไซต์จะใช้ API ที่เบราว์เซอร์จัดเตรียมไว้เพื่อดึงรายการฟอนต์ที่ติดตั้งทั้งหมดโดยตรง ง่ายเหมือนการตรวจดูว่าอุปกรณ์ติดตั้งแอปพลิเคชันอะไรไว้บ้าง



วิธีที่สอง: การตรวจจับฟอนต์ (Font Detection)



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



วิธีที่สาม: การตรวจจับฟอนต์ในลายนิ้วมือแคนวาส (Canvas Fingerprinting)



นี่เป็นวิธีที่ซับซ้อนกว่า เว็บไซต์จะวาดข้อความช่วงหนึ่งบนแคนวาสเสมือนที่มองไม่เห็น จากนั้นวิเคราะห์รูปแบบการเรียงตัวของพิกเซลของข้อความนั้น ฟอนต์ที่แตกต่างกันจะทำให้การเรียงตัวของพิกเซลแตกต่างกัน เว็บไซต์จึงเปรียบเทียบรูปแบบพิกเซลเหล่านี้เพื่อตัดสินว่าอุปกรณ์ของคุณติดตั้งฟอนต์เฉพาะไว้หรือไม่