Quay lại blog

Sau khi User-Agent bị đóng băng, vì sao Client Hints trở thành tín hiệu vân tay mới? Giải thích quá trình từ UA đến CH

Các hãng trình duyệt đang siết chặt quyền riêng tư, User-Agent dần bị rút gọn và đóng băng, còn Client Hints trở thành nguồn tín hiệu vân tay có entropy cao mới. Bài viết giải thích UA Reduction, cách Client Hints hoạt động, vì sao tính nhất quán của vân tay quan trọng và cách giữ UA, CH cùng các tham số hệ thống đồng bộ trong môi trường nhiều tài khoản.

Trong vài năm gần đây, các trình duyệt lớn liên tục thắt chặt chính sách quyền riêng tư: Safari triển khai ITP, Firefox giới thiệu Total Cookie Protection, còn Chrome chính thức thúc đẩy đóng băng User-Agent (UA Reduction). Nhiều người đến nay vẫn nghĩ rằng chỉ cần “đổi UA” là có thể làm thiết bị trông khác đi, trong khi UA đã được đơn giản hóa đáng kể và ngày càng mất đi thông tin chi tiết. Tín hiệu đang dần tiếp quản vai trò nhận diện thiết bị chính là Client Hints (CH).

Bài viết này không hướng dẫn bất kỳ cách nào để “vượt qua phát hiện”. Nội dung chỉ giải thích ba vấn đề từ góc độ kỹ thuật: vì sao UA bị đóng băng? Client Hints chính xác là gì và vì sao nó được xem là tín hiệu vân tay entropy cao? Vì sao “tính nhất quán của vân tay” mới là yếu tố cốt lõi? Hiểu được các điểm này sẽ giúp bạn thấy vì sao quản lý môi trường trình duyệt hiện đại, đặc biệt khi cô lập nhiều tài khoản, phải xem các tham số như một hệ thống thống nhất thay vì vài trường rời rạc.

1. Vì sao chuỗi UA không còn đủ?

Trong thời gian dài, User-Agent là căn cứ chính để website nhận diện trình duyệt và thiết bị. Nó có thể tiết lộ thương hiệu và phiên bản trình duyệt, hệ điều hành, kiến trúc thiết bị cùng nhiều thông tin khác. Nhưng chuỗi UA quá dài và ổn định nên dễ được dùng để fingerprint người dùng. Vì vậy Chrome công bố rõ ràng việc giảm dần thông tin UA: chỉ giữ lại dữ liệu cơ bản như phiên bản lớn, còn các khả năng chi tiết hơn được chuyển sang cơ chế mới là Client Hints.

Hệ quả trực tiếp của việc đóng băng UA là: chỉ giả lập UA không còn thuyết phục. Hệ thống không chỉ tin vào UA mà còn kiểm tra các trường khác có khớp với UA hay không. Những dấu hiệu “lộ” rõ nhất là các tham số mâu thuẫn, ví dụ:

  • UA ghi macOS 14 nhưng trường phiên bản nền tảng lại là macOS 13;
  • UA khai báo thiết bị di động nhưng cờ mobile vẫn là ?0;
  • Kiến trúc phần cứng hiển thị arm64 nhưng các giá trị như navigator.hardwareConcurrency lại trông giống x86.

Trong hệ thống nhận diện thiết bị, những mâu thuẫn kiểu này có thể nhanh chóng cho thấy hồ sơ không giống một thiết bị thật. Vì vậy, trong thời đại UA bị đóng băng, “chỉ đổi UA” đã không còn đủ.

2. Client Hints là gì? Vì sao nó là vân tay entropy cao?

Sơ đồ cho thấy trình duyệt cung cấp thông tin Client Hints entropy thấp, phản hồi yêu cầu của máy chủ về thông tin entropy cao và sau đó được kiểm tra tính nhất quán

Client Hints (CH) là một tập hợp thông tin về khả năng của thiết bị mà trình duyệt có thể cung cấp cho máy chủ theo nhu cầu thông qua yêu cầu HTTP hoặc môi trường JavaScript. So với UA, CH có hai điểm khác biệt lớn:

  1. Có các trường entropy cao (High Entropy Values). “Entropy cao” nghĩa là tổ hợp thông tin có độ phân biệt cao và khó đoán, chẳng hạn phiên bản nền tảng cụ thể, danh sách đầy đủ thương hiệu và phiên bản, hoặc kiến trúc thiết bị. Trình duyệt thật trả các trường này theo nhu cầu chứ không cung cấp tất cả cùng lúc.

  2. CH không được đánh giá riêng lẻ mà được đối chiếu với các vân tay khác. Hệ thống nhận diện thiết bị thực tế thường kiểm tra CH có khớp UA hay không, CH và vân tay tầng truyền tải như TLS JA3/JA4 có cùng kiểu trình duyệt không, CH có nhất quán với các thuộc tính JavaScript như navigator.platform, số luồng đồng thời và device pixel ratio (DPR) hay không, đồng thời có phù hợp với đặc trưng nền tảng hệ điều hành không.

Điều này dẫn đến một khái niệm rất quan trọng: khó không phải ở việc thay đổi một trường, mà là làm cho mọi trường đều có vẻ đến từ cùng một thiết bị thật. Gần như bất kỳ trường riêng lẻ nào cũng có thể thay đổi. Thách thức thực sự là khiến thương hiệu, phiên bản nền tảng, UA, DPR, bộ nhớ, kiến trúc, vân tay TLS và các tín hiệu khác hợp thành một hồ sơ thiết bị tự nhất quán. Đây cũng là lý do nhiều cấu hình dù “điền rất đầy đủ” vẫn dễ lộ ra do các trường không khớp nhau.

3. Những lỗi vân tay “lộ” phổ biến là gì?

Khi hiểu rằng tính nhất quán mới là yếu tố cốt lõi, bạn sẽ dễ thấy vì sao nhiều cấu hình tham số bị sai. Các lỗi thường gặp gồm:

  • CH không khớp UA (phổ biến nhất): UA ghi macOS 14.1 nhưng CH lại trả về một phiên bản nền tảng không tồn tại trong thực tế;
  • UA di động nhưng cờ mobile là ?0: trên thiết bị di động thật, thông thường phải là ?1;
  • Suy ra danh sách phiên bản đầy đủ sai: ví dụ phiên bản lớn của trình duyệt là 120 nhưng đặc điểm phiên bản đầy đủ lại giống bản 115 cũ;
  • DPR, bộ nhớ và các giá trị khác mâu thuẫn với loại thiết bị thực tế: chẳng hạn thiết bị Apple có tỉ lệ pixel thấp bất thường hoặc một máy Windows thông thường chỉ báo 1 GB RAM;
  • Bỏ qua khác biệt giữa các trình duyệt: ví dụ ép một trường vào trình duyệt không hỗ trợ trường đó, hoặc trả về một trường mà engine tương ứng thực tế không bao giờ có.

Những mâu thuẫn này rất dễ thấy trong hệ thống nhận diện thiết bị. Về bản chất, chúng đều bắt nguồn từ việc không xem môi trường như một tổng thể tự nhất quán.

4. Vậy “cấu hình đúng” thực sự nghĩa là gì?

Thay vì nói là “điền các trường”, chính xác hơn nên coi đó là duy trì một hồ sơ môi trường tự nhất quán. Thông thường cần đáp ứng các điểm sau:

  • Gắn CH với UA: suy ra bộ CH tương ứng — thương hiệu, nền tảng, phiên bản — theo quy tắc thực tế của engine và phiên bản trình duyệt, thay vì ghép các giá trị tùy ý;
  • Tuân theo chiến lược trả về trường entropy cao: mặc định trả thông tin entropy thấp, chỉ trả giá trị entropy cao theo nhu cầu giống hành vi trình duyệt thật và không trả các trường mà trình duyệt hiện tại không hỗ trợ;
  • Giữ thuộc tính JS, header HTTP và đặc điểm hệ thống nhất quán với nhau: DPR phù hợp với độ phân giải màn hình, dung lượng bộ nhớ phù hợp loại nền tảng, cờ mobile khớp UA, kiến trúc phù hợp logic tổng thể của hệ thống;
  • Đồng bộ với vân tay tầng truyền tải: các đặc trưng như TLS/JA3/JA4 cũng nên phù hợp với phiên bản trình duyệt được khai báo.

Tóm lại: điểm khó thực sự là khiến CH, UA, môi trường JavaScript và đặc điểm hệ thống cùng tạo thành một hồ sơ hành vi trình duyệt tự nhất quán, chứ không phải số lượng trường được điền.

5. Điều này liên quan gì đến quản lý môi trường nhiều tài khoản?

Những người làm thương mại điện tử xuyên biên giới, quảng cáo mạng xã hội hoặc vận hành website độc lập có thể hỏi: các nguyên lý này liên quan gì đến việc “tạo môi trường trình duyệt riêng cho từng tài khoản kinh doanh”? Mối liên hệ nằm ở chỗ: tiền đề của quản lý môi trường là mỗi môi trường phải tự nhất quán.

  • Khi có nhiều tài khoản và khu vực, thay vì tự ghép UA, hệ điều hành, độ phân giải và các tham số khác cho từng môi trường, tốt hơn nên để công cụ tự động tạo một bộ tham số đồng bộ với nhau dựa trên hệ thống và phiên bản engine đã chọn, giảm công sửa lại do thay đổi từng trường riêng lẻ rồi sinh mâu thuẫn.
  • Các tài khoản kinh doanh ở những khu vực và nền tảng khác nhau nên có môi trường độc lập với bộ tham số tự nhất quán riêng, tránh việc mọi tài khoản dùng chung một bộ “tham số mẫu” khiến chúng giống nhau bất thường ở cấp thiết bị.
  • Khi chuyển proxy sang khu vực khác, việc phiên bản hệ thống, model thiết bị và các đặc điểm khác vẫn giữ một cấu hình nội bộ logic của chính môi trường sẽ giống hành vi của thiết bị thật hơn so với “chỉ đổi IP còn mọi tham số khác giữ nguyên hoàn toàn”.

Đó chính là vấn đề “tính nhất quán” mà các công cụ quản lý môi trường trình duyệt nhiều tài khoản cần giải quyết. Khi tạo môi trường, PurpleMark cung cấp một nơi cấu hình thống nhất cho hệ điều hành, phiên bản engine Chromium, User-Agent, độ phân giải, múi giờ, ngôn ngữ, CPU/bộ nhớ, Canvas, WebGL, TLS và các tham số thiết bị/vân tay khác. Sau khi chọn khu vực và mục đích tài khoản, bạn có thể tạo môi trường theo một phương án thống nhất thay vì ghép tham số tạm thời mỗi lần đăng nhập. Điều công cụ thực sự quản lý là tính nhất quán tổng thể và khả năng tái sử dụng của “tài khoản, môi trường trình duyệt và cấu hình mạng” trong cùng một workspace, không phải cách đánh lừa một cơ chế phát hiện cụ thể.

6. Tổng kết

Việc đóng băng UA đánh dấu một giai đoạn mới của browser fingerprinting: yếu tố quyết định không còn là “có những trường nào”, mà là các trường có nhất quán với nhau hay không. Khi Client Hints tiếp quản vai trò tín hiệu entropy cao từ UA, hiểu mối liên hệ giữa CH, UA, đặc điểm hệ thống và vân tay truyền tải quan trọng hơn nhiều so với việc ghi nhớ một danh sách dài tên trường.

Nếu bạn chỉ quản lý vài tài khoản kinh doanh thật và hợp lệ, không cần dành công sức vào việc đối đầu hệ thống phát hiện. Cách thực tế hơn là dùng công cụ quản lý môi trường như PurpleMark để cấu hình khu vực, hệ thống và tham số trình duyệt của từng tài khoản rõ ràng, nhất quán và có thể tái sử dụng, từ đó giảm các rắc rối do tham số môi trường mâu thuẫn ngay từ đầu.

(Lưu ý: Bài viết này chỉ nhằm phổ biến nguyên lý kỹ thuật của browser fingerprinting. Hãy luôn vận hành theo điều khoản dịch vụ của từng nền tảng và sử dụng tài khoản hợp lệ.)