Canvas API ได้รับการออกแบบมาเพื่อการวาดภาพกราฟิกในเว็บเบราว์เซอร์ สามารถใช้สำหรับแอนิเมชั่น กราฟิกเกม การแสดงข้อมูล การแก้ไขภาพ การประมวลผลวิดีโอแบบเรียลไทม์ ฯลฯ นอกจากนี้ยังสามารถใช้สำหรับการติดตามออนไลน์ผ่านลายนิ้วมือของเบราว์เซอร์ เทคโนโลยีนี้อาศัยการเปลี่ยนแปลงวิธีการแสดงภาพแคนวาสบนเว็บเบราว์เซอร์และแพลตฟอร์มต่างๆ เพื่อสร้างลายนิ้วมือดิจิทัลส่วนบุคคลของเบราว์เซอร์ของผู้ใช้ แต่สามารถทำซ้ำได้ภายใต้สภาพแวดล้อมอุปกรณ์เดียวกัน
การตรวจจับฟังก์ชั่นผ้าใบ
- Canvas 2D API
- Text API for Canvas
- Canvas toDataURL(นิยมใช้สำหรับการจดจำลายนิ้วมือ)
- OffscreenCanvas API
- Canvas native
ฟังก์ชัน Canvas toDataURL สามารถแก้ไขได้โดยใช้ปลั๊กอินของเบราว์เซอร์ แต่สามารถระบุได้ง่าย
- ความมั่นคง
Canvas มีความเสถียรบนอุปกรณ์และสภาพแวดล้อมเบราว์เซอร์เดียวกัน
- เสียงที่ไม่ใช่ของมนุษย์
เบราว์เซอร์ลายนิ้วมือหรือปลั๊กอินลายนิ้วมือบางตัวสามารถเพิ่มพารามิเตอร์ให้กับสัญญาณรบกวนของ Canvas ได้ แต่อาจยังรับรู้ได้
รายละเอียดรูปภาพ
ภาพตัวอย่าง | |||
ขนาดไฟล์ | 0 bytes | ||
ปริมาณสี | 0 | ||
บล็อกข้อมูลคีย์ PNG | |||
ชื่อบล็อกข้อมูล | ความยาว | CRC | อธิบาย |
สาเหตุของการพิมพ์ลายนิ้วมือแคนวาส
วิธีแสดงภาพ Canvas บนผืนผ้าใบอาจแตกต่างกันไปขึ้นอยู่กับเว็บเบราว์เซอร์ ระบบปฏิบัติการ การ์ดกราฟิก และปัจจัยอื่น ๆ ส่งผลให้ได้ภาพที่ไม่ซ้ำใครที่สามารถใช้สร้างลายนิ้วมือได้
1. การต่อต้านนามแฝง
การลบรอยหยักเป็นฟิลเตอร์ความงามชนิดหนึ่ง และใช้กันอย่างแพร่หลาย หากไม่ได้เปิดใช้งานการปรับแบบอักษรให้เรียบในระบบปฏิบัติการ แบบอักษรบางตัวอาจดูแย่มากบนหน้าจอคอมพิวเตอร์ของคุณ โดยทั่วไปแล้ว ระบบปฏิบัติการ Windows จะเปิดการปรับแบบอักษรและรูปภาพให้เรียบตามค่าเริ่มต้น ใน Mac OS X การลดรอยหยักดูเหมือนจะใช้ได้กับแบบอักษรที่มีขนาดต่ำกว่าที่กำหนดเท่านั้น ไม่เพียงแต่ในระดับระบบปฏิบัติการเท่านั้น เบราว์เซอร์บางตัวยังมีเทคโนโลยีป้องกันนามแฝงในตัวอีกด้วย ตัวอย่างเช่น Safari ใช้เครื่องมือเรนเดอร์แบบอักษรในตัวของตัวเอง และเหนือสิ่งอื่นใด เทคโนโลยีต่อต้านนามแฝงยังใช้งานได้เมื่อวาดแบบอักษรและรูปภาพบน Canvas
ดังแสดงในรูปด้านล่าง ด้านซ้ายแสดงสถานะที่ไม่ได้เปิดใช้งานการปรับแบบอักษรให้เรียบ ในขณะที่ด้านขวาแสดงว่าเปิดใช้งานอยู่:
เทคโนโลยีต่อต้านนามแฝงจะสร้างพิกเซลที่ไม่ใช่สีบริสุทธิ์ และค่าพิกเซลในสถานะกลางเหล่านี้จะได้รับผลกระทบจากโปรไฟล์สีของกราฟิกการ์ด ส่งผลให้มีสีที่ต่างกัน ด้วยการวาดแบบอักษรและรูปภาพเดียวกันบนผืนผ้าใบที่มีขนาดใหญ่เพียงพอ จากนั้นคำนวณข้อมูลพิกเซลทั้งหมด ทำให้สามารถรับข้อมูลลายนิ้วมือที่ค่อนข้างพิเศษได้
2. คำแนะนำแบบอักษร
คุณสมบัติหนึ่งของการปรับแต่งอย่างละเอียดคือการปรับตารางให้พอดี ซึ่งหมายถึงการปรับเปลี่ยนความสูงและความกว้างของอักขระแบบอักษรเพื่อจัดแนวให้ตรงกับตารางพิกเซลที่ตั้งไว้ที่แสดงบนหน้าจอ รูปภาพจะปรากฏบนหน้าจอเป็นตารางสี่เหลี่ยมเล็กๆ แบบอักษรอาจถูกย้ายไปทางซ้ายและขวาเพื่อให้แน่ใจว่าจะแสดงอย่างถูกต้องบนตารางที่แตกต่างกัน หน้าจอ
ด้วยภาพ GIF ต่อไปนี้ ซึ่งเป็นคอลเลกชันภาพแคนวาสจากผู้ใช้หลายสิบราย เราสามารถเห็นความแตกต่างในการนำเสนอโค้ดเดียวกันในสภาพแวดล้อมของอุปกรณ์ที่แตกต่างกันได้โดยสังหรณ์ใจ:
ดังที่แสดงในรายละเอียดรูปภาพด้านบน โดยทั่วไป เราสามารถเรียกใช้ฟังก์ชัน toDataURL เพื่อรับข้อมูล base64 ของรูปภาพ Canvas หรือเราจะรับผลรวมตรวจสอบ CRC ของบล็อก IDAT จากบล็อกข้อมูลของรูปภาพ PNG ที่สร้างโดย Canvas จากนั้นเราสามารถคำนวณแฮชของสตริงนั้น (การตรวจสอบ base64 หรือ CRC) (อัลกอริธึมที่แน่นอนแตกต่างกันไปในแต่ละไซต์) เป็นลายนิ้วมือของ Canvas
หมายเหตุ: มีสาเหตุหลายประการที่ทำให้ Canvasลายนิ้วมือแตกต่างกันไปในแต่ละเว็บไซต์ สตริงที่แตกต่างกันที่ใช้ (การตรวจสอบ base64 หรือ CRC) อัลกอริธึมการแฮชที่แตกต่างกัน (MD5, SHA, MUMUHASH ฯลฯ ) จะทำให้ลายนิ้วมือของ Canvas แตกต่างไปจากเดิมอย่างสิ้นเชิง ลายนิ้วมือ Canvas มีความเสถียร ดังนั้นภายใต้เบราว์เซอร์และอุปกรณ์เดียวกัน ลายนิ้วมือ Canvas ภายใต้เว็บไซต์เดียวกันจึงได้รับการแก้ไข นี่เป็นพื้นฐานทางทฤษฎีสำหรับลายนิ้วมือ Canvas ที่จะใช้ในการระบุตัวตนโดยผู้ใช้ ซึ่งมีคุณสมบัติที่เสถียร