Bạn đã bao giờ gặp chuyện này chưa: xóa bộ nhớ cache, bật chế độ ẩn danh, thậm chí cài lại trình duyệt, mở một trang web nào đó mà nó vẫn biết là "bạn"? Hay thực tế hơn — bạn đăng nhập hai tài khoản cửa hàng trên cùng một máy tính, một cái dùng Chrome, một cái dùng Edge, mà nền tảng vẫn xác định hai tài khoản có liên kết.
Câu trả lời rất có thể nằm ở dấu vân tay Canvas.
Dấu vân tay Canvas là tham số khó ngụy trang nhất và khác biệt nhất trong dấu vân tay trình duyệt — trang web bắt trình duyệt "vẽ một bức tranh", rồi đọc dữ liệu pixel của bức vẽ để tạo ra một định danh duy nhất. Bất kỳ khác biệt nào trong GPU, driver card đồ họa, kết xuất phông chữ hay thuật toán khử răng cưa của bạn đều khiến bức vẽ sai lệch theo những chi tiết mắt thường không thấy, nhưng máy móc phát hiện chính xác.
Dấu vân tay trình duyệt là tổ hợp của hàng chục tham số như hệ điều hành, độ phân giải, phông chữ, múi giờ (phân tích đầy đủ nằm trong bàidấu vân tay trình duyệt là gì này), và Canvas là thứ khó làm giả nhất: UA có thể đổi thoải mái, ngôn ngữ múi giờ có thể đặt tùy ý, nhưng "bức vẽ trông như thế nào" do phần cứng thật và công cụ kết xuất của bạn quyết định, muốn đổi phải động vào lớp nền tảng.
Đây cũng là lý do khi nền tảng phát hiện liên kết tài khoản, Canvas gần như luôn nằm trong danh sách "chỉ số tham chiếu trọng điểm".
Toàn bộ quá trình không hề bí ẩn — bốn bước là rõ:
toDataURL() hoặc getImageData() để chuyển nội dung khung vẽ thành chuỗi dữ liệu pixel.Lần đầu tôi thấy Canvas hash của mình trên trang kiểm tra, tôi khá bất ngờ: một chuỗi ký tự không mang ý nghĩa nhìn thấy được lại có thể đại diện chính xác GPU và công cụ kết xuất của máy tôi. Quan trọng hơn, quá trình này bạn hoàn toàn không nhận biết được — không popup, không cảnh báo; trang vừa tải xong là nó đã lấy được.

Canvas không phải vân tay duy nhất — vì sao nó được dùng nhiều nhất? So với UA, phông chữ và WebGL, Canvas có vài lợi thế riêng:
So sánh thì dấu vân tay WebGL cũng đến từ kết xuất GPU (thiên về khả năng 3D), nhưng một số thiết bị cũ không hỗ trợ, độ phủ không rộng bằng Canvas; danh sách phông chữ, độ phân giải thì không đủ khác biệt. Nên hệ thống rủi ro của nền tảng thường coi Canvas là "bằng chứng chính", còn UA, múi giờ, IP là "manh mối phụ trợ" để đối chiếu chéo.
Muốn tận mắt xem Canvas hash của mình trông thế nào, mở bất kỳ công cụ kiểm tra trực tuyến nào (như Browserscan), trang sẽ tự động chạy bốn bước trên và hiển thị Canvas hash cùng hình vẽ được tạo.
Xem hash không phải mục đích — kiểm chứng "cô lập môi trường" mới là: tạo hai môi trường trong MasBrowser, khởi động rồi truy cập trang kiểm tra trong từng môi trường; Canvas hash hiển thị ở hai môi trường phải khác nhau. Nếu giống hệt, nghĩa là tham số Canvas chưa được xử lý khác biệt, cần quay lại phần cài đặt vân tay kiểm tra. Sau khi khởi động môi trường, bên phải có trạng thái xanh "Fingerprint protection: Enabled"; khi trạng thái này sáng lên nghĩa là bảo vệ vân tay của môi trường hiện tại đã kích hoạt. Cách xây dựng môi trường nhiều tài khoản cụ thể, xemhướng dẫn sử dụng trình duyệt vân tay.

Trước tiên loại bỏ vài cách "nhìn có vẻ hiệu quả nhưng thực ra không":
Cách thực sự khả thi làthêm "nhiễu" vào kết quả kết xuất Canvas: cho trình duyệt tác động nhiễu nhỏ lên dữ liệu pixel khi vẽ, để mỗi lần hash phát hiện ra đều khác kết quả phần cứng thật, nền tảng không thể coi nó là bằng chứng liên kết đáng tin.
Trình duyệt vân tay đã biến việc này thành công tắc. LấyMasBrowser làm ví dụ: khi tạo môi trường, tìm tùy chọn Canvas trong phần cài đặt vân tay và chọn chế độ "nhiễu". Sau khi bật, Canvas hash của mỗi môi trường bị nhiễu ngẫu nhiên, các tài khoản không còn chia sẻ chung một đặc điểm Canvas; kết hợp chặn WebRTC, ngôn ngữ múi giờ đồng bộ với IP proxy, chuỗi bằng chứng liên kết nhiều tài khoản gần như bị cắt đứt. Cấu hình đầy đủ môi trường độc lập và cô lập vân tay có thể xem tạitrang quản lý đa tài khoản an toàn MasBrowser.

Trong thao tác thực tế có một chi tiết đáng lưu ý:thêm nhiễu không phải càng "loạn" càng tốt. Nếu kết quả Canvas thay đổi dữ dội mỗi lần mở, ngược lại trông như "máy đang cố né tránh", dễ bị hệ thống rủi ro gắn cờ bất thường. Cách đúng là giữ nhiễu ổn định — hash cố định sau khi tạo môi trường, chỉ khác phần cứng thật mà thôi. Trong MasBrowser, tham số vân tay được cố định sau khi lưu môi trường, điều này không cần lo lắng.
Có, nhưng tần suất rất thấp. Canvas hash có thể đổi khi driver GPU cập nhật phiên bản lớn, cài lại hệ điều hành hoặc thay công cụ trình duyệt; trong dùng hàng ngày gần như ổn định. Đây cũng là lý do nền tảng dám theo dõi nó dài hạn.
Không. Cookies là file lưu cục bộ, dấu vân tay Canvas là giá trị đo lường kết xuất thời gian thực, hai cơ chế hoàn toàn khác nhau. Xóa cache không ảnh hưởng gì đến dấu vân tay Canvas.
Không ảnh hưởng chức năng trang, chỉ ảnh hưởng giá trị hash phát hiện được. Trang vẫn tải, đăng nhập, đặt hàng bình thường; chỉ là "bức tranh bạn vẽ ra" hơi khác phần cứng thật.
Canvas thiên về kết xuất đồ họa 2D (phông chữ, gradient, hình học), WebGL thiên về kết xuất GPU 3D (shader, model card đồ họa). Cả hai đều đến từ kết xuất phần cứng thật, thường dùng kết hợp để đối chiếu lẫn nhau.
Dấu vân tay Canvas là mục "thành thật" nhất trong dấu vân tay trình duyệt — nó không dựa vào điều bạn khai báo, mà đo lường phần cứng thật của bạn. Với người dùng thường, nó chỉ là nguồn lo lắng về quyền riêng tư; với người vận hành nhiều tài khoản, nó là "bằng chứng chính" để nền tảng xác định liên kết, xử lý không tốt thì một tài khoản đổ, cả loạt đổ theo.
May thay, khả năng này có thể quản lý được bằng "nhiễu kết xuất". Bản miễn phí đã có 2 hạn mức môi trường,tải MasBrowser, tạo một môi trường bật cấu hình nhiễu Canvas, sau khi khởi động thấy chữ xanh "Fingerprint protection: Enabled" bên phải — nghĩa là tất cả tham số vân tay gồm nhiễu Canvas, UA, múi giờ, WebGL đều đã sẵn sàng.