← Trở về blog

Vân tay AudioContext là gì? Cách vân tay âm thanh nhận diện trình duyệt

Kết luận cốt lõi: Vân tay âm thanh không đụng đến micro, cũng không phát ra tiếng; trình duyệt tự kết xuất im lặng một đoạn âm thanh cố định trong bộ nhớ và coi những sai khác nhỏ về dấu phẩy động trong kết quả như một chữ ký của thiết bị. Nó cùng Canvas, WebGL thuộc nhóm vân tay dựa trên kết quả kết xuất: đổi IP không mất, xóa cache không mất, giá trị do thiết bị và engine trình duyệt quyết định. Với người vận hành đa tài khoản, tiêu chuẩn chỉ có hai: giá trị này phải ổn định lâu dài trong cùng một môi trường, và các môi trường phải cho giá trị khác nhau, còn cài đặt AudioContext của MostMate cung cấp hai chế độ Realistic và Random — chọn theo đúng hai tiêu chí đó là được.

“Tắt loa, từ chối quyền micro là hết cách của website ở khâu âm thanh” — đây là một trong những hiểu lầm phổ biến nhất về vân tay âm thanh. Thực tế lại ngược lại: suốt quá trình này không một tiếng động nào ra vào. Năm 2016, nhóm nghiên cứu của Đại học Princeton đưa nó vào hồ sơ chính thức trong cuộc khảo sát quy mô hàng triệu trang web; từ đó nó trở thành mục thường trực của các script phát hiện phổ thông: không cần quyền, xong trong vài mili giây và chạy bình thường cả ở chế độ ẩn danh. MostMate là một trình duyệt vân tay, chuẩn bị cho mỗi tài khoản một môi trường trình duyệt riêng, còn vân tay âm thanh là một trong những tham số mà dòng sản phẩm này phải xử lý. Bài viết làm rõ bốn câu hỏi: website nhìn thấy gì, vì sao con số này ổn định, nó căn chỉnh với các tham số khác ra sao, và cấu hình thế nào trong trình duyệt vân tay.

Website nhìn thấy gì: một đoạn âm thanh chưa từng được phát, đổi lại một con số

Kết quả cuối cùng website nhận được là một số dấu phẩy động: không có tiếng, cũng không có tên model thiết bị. Các script phát hiện phổ thông (điển hình là FingerprintJS, mà nhiều thư viện mã nguồn mở kế thừa) đi qua năm bước cố định:

  • Tạo một audio context ngoại tuyến (OfflineAudioContext, tài liệu MDN): một kênh, tần số lấy mẫu 44100 Hz, khoảng 5000 mẫu, tương đương khoảng 113 mili giây âm thanh, suốt quá trình không đi qua loa.
  • Bộ tạo dao động sinh một sóng tam giác cố định 10000 Hz làm tín hiệu đầu vào hoàn toàn giống nhau.
  • Tín hiệu đi vào bộ nén động (DynamicsCompressorNode) với thông số khá mạnh tay (ngưỡng -50 dB, knee 40, tỉ lệ nén 12), chủ ý đẩy phép tính vào vùng phi tuyến để phóng đại khác biệt tinh vi giữa các thiết bị.
  • startRendering kết xuất im lặng trong bộ nhớ; bước này không tạo ra âm thanh nghe được nào.
  • Lấy khoảng 500 mẫu cuối của bộ đệm đầu ra, cộng giá trị tuyệt đối, thu được một con số kiểu 124.0434.

Con số này chính là vân tay âm thanh. Phép tính diễn ra trước khi phát, nên tắt tiếng hệ thống hay không cắm loa đều không ảnh hưởng kết quả; nó cũng không chạm vào thiết bị ghi âm, nói gì đến việc xin quyền micro. Trong các bài tổng quan về vân tay trình duyệt, loại tham số này thường chỉ được nhắc một câu; lý do đáng có một bài riêng nằm ở nguồn gốc giá trị rất đặc biệt: giá trị đến từ sai số tính toán, mà sai số lại vừa may ổn định — đó là nội dung của mục tiếp theo.

Vân tay âm thanh trên trang kết quả kiểm tra của Iphey

Trang kiểm tra thường hiển thị chuỗi thập lục phân sau khi băm giá trị thô này, mỗi trang một độ dài; khi đối chiếu chỉ cần xem “cùng môi trường có ổn định không, khác môi trường có khác nhau không”, đừng bận tâm định dạng của chuỗi.

Vì sao một con số làm được vân tay: sai số vừa may ổn định

Cơ chế then chốt nằm ở chỗ: phép tính âm thanh không cho kết quả giống nhau từng bit trên các thiết bị khác nhau, và sự khác đó tái lập được. Đặc tả Web Audio chỉ định nghĩa quy trình xử lý, không yêu cầu mọi bản hiện thực cho ra kết quả giống nhau từng bit; độ chính xác dấu phẩy động của từng dòng CPU và cách mỗi engine trình duyệt hiện thực chồng âm thanh khiến cách làm tròn, thứ tự tính toán hơi khác nhau. Sai khác của một phép tính nhỏ đến mức bỏ qua được, nhưng tín hiệu phải qua bộ nén nhiều vòng xử lý phi tuyến rồi cộng dồn hàng trăm mẫu, và khác biệt tinh vi dần phóng đại thành những con số phân biệt được.

Nghiên cứu của Princeton từng công bố quy mô thực đo: hơn một vạn tám nghìn thiết bị hội tụ vân tay âm thanh về hơn bảy trăm giá trị khác nhau, tương đương khoảng 5.4 bits khả năng phân biệt — mẫu có hạn, đây mới chỉ là giới hạn dưới. Với việc phát hiện liên kết, cỡ này đã đủ dùng, vì giá trị thật không nằm ở “giá trị độc đáo đến đâu” mà ở “giá trị ổn định đến đâu”: cùng một thiết bị tải lại một trăm lần, kết quả không nhúc nhích; đổi máy, đổi engine trình duyệt là giá trị đổi ngay. Một tín hiệu không cần quyền, không xóa được, không đổi khi tải lại chính là nguyên liệu các nền tảng thích nhất khi dựng chân dung thiết bị.

Căn chỉnh với các tham số khác thế nào: ba nguyên tắc nhất quán

Vân tay âm thanh chẳng dính dáng gì đến IP, nó là tín hiệu thuần phía thiết bị; cùng Canvas, WebGL thuộc nhóm tham số dạng kết quả kết xuất — website giao một bài toán cố định cho trình duyệt và chờ thiết bị thật tính ra kết quả tại chỗ. Muốn đánh giá một môi trường có được cấu hình hợp lý hay không, kiểm tra theo ba điểm:

  • Ổn định trong một môi trường: kết quả kết xuất giống nhau ở mọi lần thực hiện trong cùng một môi trường là điều kiện để “đây là một thiết bị bình thường”. Giá trị bỗng đổi chỉ chứng tỏ có người động vào tham số, càng đáng ngờ hơn.
  • Khác nhau giữa các môi trường: mười môi trường báo cùng một giá trị âm thanh chẳng khác gì tự vẽ vòng lên bản đồ liên kết. Nói ngược lại, “đưa mọi tham số lên điểm tối đa” cũng là hướng sai; rủi ro của việc ngẫu nhiên hóa đã có bài vì sao ngẫu nhiên hóa vân tay không an toàn phân tích riêng.
  • Khớp với engine trình duyệt: chồng âm thanh do engine trình duyệt hiện thực, giá trị theo engine và phiên bản mà đổi. UA, hệ điều hành mà môi trường tuyên bố phải khớp với engine thực tế; trình duyệt nâng cấp phiên bản lớn là giá trị tự cập nhật, không cần can thiệp tay.

Ba nguyên tắc gộp lại thành một câu: vân tay âm thanh cần “trông như một thiết bị thật vốn thế”, chứ không phải “tốt nhất”. MostMate đóng đinh logic này thành bốn nguyên tắc thiết kế; bài bốn nguyên tắc thiết kế đã nói toàn cảnh, bài này chỉ chạm vào mục âm thanh.

Cách kiểm tra vân tay âm thanh của bạn: hai lần đối chiếu là nhìn thấu vấn đề

Phần kiểm tra không cần cài đặt gì thêm, một trang kiểm tra cộng hai lần tải lại là đủ.

Bước 1: chọn một trang kiểm tra bất kỳ, tìm mục vân tay âm thanh. Cả BrowserScan lẫn Iphey đều liệt kê riêng mục này; cách đọc điểm tin cậy của Iphey có lộ trình đầy đủ trong bài thực chiến, dùng kèm với bài thực chiến kiểm tra Iphey.

Bước 2: tải lại hai ba lần trong cùng một môi trường, dán mắt vào con số. Giá trị đứng yên là mức đạt; nếu mỗi lần tải lại nó lại đổi, môi trường đó đang để tham số âm thanh ở chế độ tính lại mỗi lần — chẳng khác nào phát thanh với nền tảng rằng “thiết bị này bị thao túng”.

Bước 3: đổi sang môi trường khác rồi đo lại, so sánh hai giá trị. Giá trị âm thanh của hai môi trường phải khác nhau; nếu trùng khít, hãy quay lại kiểm tra xem có dùng chung một mẫu vân tay hay không — tái sử dụng mẫu là nguồn gây liên kết đa tài khoản khó phát hiện nhất.

So sánh kết quả kiểm tra giữa hai môi trường

Cấu hình trong MostMate: cân nhắc giữa hai chế độ Realistic và Random

Form tạo môi trường của MostMate đặt AudioContext thành một mục riêng trong khu cài đặt vân tay, cung cấp hai chế độ Realistic và Random; bảng xem trước vân tay bên phải hiển thị giá trị hiện thời theo thời gian thực, cấu hình xong chưa cần submit đã xác nhận được. Cách chọn giữa hai chế độ rất trực tiếp: môi trường chính hằng ngày dùng Realistic — giá trị đến từ kết quả tính toán trên chính máy này, ổn định tự nhiên, khớp khít nguyên tắc “ổn định trong một môi trường”; khi tạo nguyên loạt môi trường mới, dùng Random — mỗi môi trường nhận một giá trị khác biệt và ổn định bên trong, đáp ứng “khác nhau giữa các môi trường”.

Tham số âm thanh không có chế độ tùy chỉnh, và chính thiết kế này đáng chú ý: giá trị của vân tay âm thanh nằm ở sự ổn định; ghép bằng tay một giá trị cố định chẳng khác gì đánh mất ý nghĩa của nó. Chọn Realistic hay Random, điều cần cân nhắc thật sự là cách tạo ra nhóm môi trường này, chứ không phải chỉnh từng tham số; Canvas, ảnh WebGL, ClientRects cùng họ cũng xét theo đúng lối nghĩ này, còn phân công của cả cơ chế được nói đầy đủ ở trang MostMate là gì.

Khu cài đặt vân tay của trình duyệt vân tay MostMate

Câu hỏi thường gặp

Vân tay âm thanh có cần quyền micro hay loa không?

Không cần. Cả đoạn âm thanh được kết xuất ngoại tuyến ngay trong bộ nhớ, không đi qua loa cũng không chạm vào thiết bị ghi âm; quá trình thu thập vẫn diễn ra bình thường trên máy tắt tiếng hay máy không có thiết bị âm thanh.

Xóa cookie hay bật chế độ ẩn danh có né được vân tay âm thanh không?

Không. Cookie nằm trên máy nên xóa được, còn vân tay âm thanh do thiết bị tính ra ngay lúc đó; đây là hai cơ chế hoàn toàn khác nhau, xóa cache chẳng ảnh hưởng gì đến nó.

Tắt AudioContext hay cố định một giá trị có an toàn hơn không?

Đi ngược hướng rồi. Phần lớn trình duyệt bình thường đều chạy tốt phép tính âm thanh, nên “tắt hẳn” và “giá trị cố định ai cũng giống nhau” bản thân chúng đã là đặc điểm nổi bật, dễ bị nhắm hơn cả một giá trị bình thường.

Khi nào vân tay âm thanh thay đổi?

Đổi thiết bị, đổi engine trình duyệt hay trình duyệt nâng cấp phiên bản lớn đều làm giá trị thay đổi — đó là diễn tiến tự nhiên của một thiết bị thật; trong sử dụng hằng ngày của cùng một môi trường, nó phải ổn định lâu dài, đổi liên tục mới là tín hiệu bất thường.

Lời kết

Logic của vân tay âm thanh gói lại trong một câu: website không cần phát tiếng vẫn đo được thiết bị, nhờ khác biệt tinh vi mà ổn định trong phép tính của từng cỗ máy. Hiểu được điểm này, nhiều thói quen phổ biến bỗng trở nên hợp lý — vì sao tắt tiếng chặn không được nó, vì sao tham số điểm tối đa lại nguy hiểm, vì sao giá trị của các môi trường hàng loạt bắt buộc phải khác nhau. MostMate gom loại tham số này thành hai chế độ Realistic và Random, kèm bảng xem trước vân tay, cấu hình xong là thấy kết quả tại chỗ. Nếu bạn muốn tự tay đo vân tay âm thanh của môi trường mình, hãy tải MostMate, tạo hai môi trường trên bản miễn phí để so sánh giá trị — một lần là quét sạch phần lớn điểm mù.

MOSTMATE

Quản lý nhiều tài khoản an toàn, thật đơn giản

Bắt đầu với tài khoản đầu tiên và dùng MostMate để xây dựng hoạt động đa tài khoản an toàn, thông minh và hiệu quả hơn.

  • Hồ sơ độc lập. Danh tính nhất quán.
  • Tự động hóa bằng AI · Tình trạng tài khoản · Vận hành nhóm
Tải MostMate