Dấu vân tay trình duyệt trôi dần theo bản cập nhật phần mềm, driver và phông chữ. Cái gì đổi, cái gì giữ nguyên, và tracker nối lại dấu vân tay cũ ra sao.
Dấu vân tay trình duyệt không phải hình xăm. Nó giống một bức ảnh chụp trình duyệt và thiết bị của bạn ở thời điểm hiện tại, và cả hai đều thay đổi: trình duyệt cập nhật vài tuần một lần, driver và hệ điều hành cũng cập nhật, bạn cắm thêm màn hình. Vậy dấu vân tay còn dùng được cho tracker trong bao lâu? Ngắn gọn: từng giá trị riêng lẻ hết hạn nhanh, nhưng bức tranh tổng thể thường thay đổi đủ chậm để bạn vẫn bị theo dõi.
Bài này nói về những thay đổi bạn không chủ ý gây ra. Về những gì còn sót lại khi bạn cố tình xóa cookie, dùng ẩn danh hay bật VPN, xem ID khách truy cập bền vững.
Điểm chính
- Dấu vân tay là tập hợp nhiều thuộc tính, mỗi thuộc tính có tuổi thọ riêng: có cái đổi theo mỗi bản phát hành trình duyệt, có cái gần như không đổi.
- Cập nhật trình duyệt, driver card đồ họa, hệ điều hành và phông chữ là nguyên nhân trôi thường gặp; đổi màn hình, đổi mức zoom hay đi qua múi giờ khác cũng vậy.
- Tracker không cần khớp tuyệt đối. Nếu phần lớn thuộc tính trùng và khác biệt giải thích được, dấu vân tay mới có thể được nối với cái cũ.
- Không có "ngày hết hạn" chung: khả năng bị nối trong bao lâu phụ thuộc vào cấu hình của bạn khác thường đến đâu và bạn thay đổi thường xuyên ra sao.
- Bạn có thể tự quan sát độ trôi bằng thẻ "So với lần truy cập trước" trong kiểm tra dấu vân tay của BrowserInsight.
Cái gì trôi, cái gì gần như không
Hãy hình dung dấu vân tay như nhiều lớp có hạn dùng khác nhau. Bảng dưới đây chỉ mang tính định tính; chúng tôi không tìm thấy nguồn công khai nào đủ tin cậy để trích dẫn số liệu cho toàn bộ web.
| Thuộc tính | Nguyên nhân thay đổi thường gặp | Độ ổn định |
|---|---|---|
| Phiên bản trình duyệt, User-Agent, Client Hints | Mỗi bản phát hành | Ngắn hạn, nhưng đổi theo hướng dự đoán được (xem rút gọn User-Agent) |
| Tập tính năng và hỗ trợ API | Phiên bản trình duyệt mới (xem phát hiện phiên bản engine) | Ngắn hạn, tăng đơn điệu |
| Kết quả Canvas và WebGL | Cập nhật driver GPU hoặc hệ điều hành | Trung bình: ổn định giữa các lần cập nhật |
| Phông chữ đã cài | Ứng dụng mới, cập nhật hệ điều hành, gói ngôn ngữ | Trung bình |
| Kích thước màn hình, pixel ratio, zoom | Màn hình ngoài, bố cục cửa sổ, zoom hỗ trợ tiếp cận | Tùy thói quen |
| Múi giờ | Đi công tác, du lịch | Đổi trong chuyến đi rồi trở lại |
| Nền tảng, loại CPU, ngôn ngữ ưu tiên | Thay phần cứng, đổi cài đặt | Dài hạn |
Quy luật quan trọng hơn từng dòng riêng lẻ. Phiên bản trình duyệt chỉ tăng thì không đáng ngờ; hash canvas đổi ở mỗi lần tải trang thì có.
Tracker xử lý độ trôi thế nào
Tracker đơn giản băm toàn bộ rồi coi hash khác đi là một khách mới. Tracker tốt hơn so sánh từng thuộc tính. Nếu phông chữ, nền tảng, ngôn ngữ, màn hình và GPU đều khớp, chỉ phiên bản trình duyệt tăng từ N lên N+1, thì gần như chắc chắn có thể nối hai lượt truy cập với nhau.
Ý tưởng này có bản triển khai học thuật: FP-Stalker, mã nguồn đi kèm bài báo của Vastel và cộng sự tại IEEE S&P 2018. Nó theo dõi dấu vân tay theo thời gian bằng cách ghép những dấu vân tay có khác biệt giống một quá trình tiến hóa bình thường. Chúng tôi không nhắc lại các số liệu về độ chính xác hay thời gian ổn định ở đây; hãy xem trực tiếp trong bài báo.
ID khách truy cập thương mại thêm một lớp nữa: kết hợp dấu vân tay với định danh được lưu, nên dấu vân tay đã trôi vẫn có thể được nối lại qua cookie hoặc giá trị localStorage còn sót. Xem FingerprintJS giải thích.
Vì sao ngẫu nhiên hóa không giải quyết triệt để
Nếu độ trôi làm đứt liên kết, sao không ngẫu nhiên hóa dấu vân tay mỗi lần truy cập? Vì chính việc ngẫu nhiên hóa cũng lộ ra. Ví dụ, nhiễu chèn vào kết quả canvas thường không khớp với phần cứng được khai báo; xem nhiễu dấu vân tay canvas. Hướng dẫn về fingerprinting của W3C nêu đúng mối lo cốt lõi: các bề mặt ổn định, entropy cao là thứ khiến fingerprinting hoạt động, nên việc giảm bớt và chuẩn hóa những gì trình duyệt để lộ sẽ hiệu quả bền vững hơn là ngụy trang.
Cách đo độ trôi của chính bạn
- Chạy kiểm tra dấu vân tay và ghi lại kết quả.
- Quay lại sau khi cập nhật trình duyệt, cập nhật driver hoặc đổi màn hình.
- Xem thẻ "So với lần truy cập trước": thẻ liệt kê những giá trị đã thay đổi.
Cách hoạt động: trang lưu một bản chụp cục bộ (hash canvas, WebGL, âm thanh và danh sách phông chữ, User-Agent, engine và phiên bản, múi giờ, ngôn ngữ, kích thước màn hình) trong localStorage của chính trình duyệt này. Không có gì được tải lên, và máy chủ của trang không giữ gì. Tính năng này chỉ so với lần truy cập trước trong cùng trình duyệt, nên không thể theo dõi bạn qua các trình duyệt khác nhau, và bạn có thể xóa hoặc tắt bản chụp bất cứ lúc nào.
Để biết cấu hình của bạn khác thường đến đâu tại một thời điểm, hãy thử Cover Your Tracks (trang giải thích của EFF mô tả phương pháp) hoặc AmIUnique. Mức độ hiếm của bạn hôm nay phần lớn quyết định việc nối còn hiệu quả trong bao lâu; phần toán nằm ở entropy dấu vân tay và tập ẩn danh.
Câu hỏi thường gặp
Dấu vân tay có đổi sau khi cập nhật trình duyệt không? Có, ít nhất là các phần liên quan đến phiên bản. Hầu hết thuộc tính khác giữ nguyên, nên dấu vân tay mới thường vẫn nối được với cái cũ.
Dấu vân tay tồn tại được bao lâu? Không có tuổi thọ cố định. Cấu hình phổ biến, không chỉnh sửa hòa vào đám đông và khó theo dõi dù ổn định; cấu hình khác thường thì vẫn bị nhận ra dù trải qua nhiều thay đổi nhỏ.
Xóa cookie có đặt lại dấu vân tay không? Không. Cookie và dấu vân tay là hai thứ riêng; xem ID khách truy cập bền vững.
Tôi có ngăn được việc nối theo độ trôi không? Không hoàn toàn. Giảm bớt những điểm khác thường trong cấu hình hiệu quả hơn thêm nhiễu. Hãy bắt đầu với hướng dẫn dấu vân tay trình duyệt.
Kết luận
Từng giá trị của dấu vân tay lỗi thời sau vài ngày hay vài tuần, nhưng tracker quan tâm đến toàn bộ mẫu hình, và mẫu hình đó đổi chậm. Việc dấu vân tay "đổi sau khi cập nhật" là chuyện bình thường, không có nghĩa là bạn được bảo vệ. Đo độ trôi của chính bạn, và tập trung vào việc bớt nổi bật thay vì chỉ khác đi.

