Morfiade
Tiếng Việt
Dùng thử

Dấu vân tay canvas

Canvas fingerprinting là cách nhận diện một máy tính qua cách nó vẽ. Một trang web yêu cầu trình duyệt vẽ một hình ảnh vô hình gồm chữ và hình khối, lấy kết quả và tính từ đó một checksum.

Hình ảnh là như nhau, nhưng checksum lại khác nhau giữa các máy: việc vẽ do card đồ họa đảm nhiệm, và những khác biệt cực nhỏ trong nó, trong driver, trong bộ phông chữ và trong khử răng cưa tạo ra các pixel khác nhau ở đầu ra. Con người không nhìn thấy sự khác biệt — nhưng một con số thì thấy.

Cùng một thủ thuật cũng hoạt động với WebGL (đồ họa 3D, cộng thêm tên card đồ họa ở dạng văn bản thuần) và với AudioContext (xử lý âm thanh thay vì hình ảnh).

Vì sao đây là một dấu hiệu mạnh

Checksum canvas không được lưu trong bất kỳ tệp nào — nó không thể bị xóa như cookie. Nó được tính lại mới hoàn toàn mỗi lần truy cập và giữ nguyên cho đến khi bạn đổi máy tính, card đồ họa hoặc driver.

Đó là lý do hai tài khoản mở từ cùng một máy trông giống như cùng một người qua canvas, dù mọi thứ khác đều khác nhau.

Điều gì khiến một bản giả mạo cẩu thả trở nên nguy hiểm

Việc giả mạo thường được thực hiện bằng nhiễu (noise): những sai lệch gần như không nhận thấy được thêm vào kết quả để checksum thay đổi. Ở đây rất dễ làm mọi thứ tệ hơn trước, và có ba cách:

Quy tắc cũng giống như với toàn bộ dấu vân tay: tính nhất quán quan trọng hơn tính độc nhất. Một dấu vân tay ổn định và bình thường tốt hơn một dấu vân tay không thể lặp lại.

Cách kiểm tra

Kiểm tra dấu vân tay hiển thị checksum canvas của bạn và thực hiện hai lần đọc liên tiếp — để có thể thấy giá trị có giữ nguyên hay bị nhảy.