Nhận diện qua âm thanh
- Kỹ thuật nhận diện âm thanh sử dụng audio API của trình duyệt để tạo tín hiệu âm thanh, sau đó cộng tất cả các mẫu tín hiệu âm thanh được tạo ra để chuyển thành một con số duy nhất.
- Con số này được dùng làm dấu vân tay (định danh), và có tính ổn định ngay cả khi xóa cookie hoặc chuyển sang chế độ ẩn danh.
- Tuy nhiên, định danh này không quá độc nhất nên nhiều người dùng có thể có cùng một định danh.
Cách Safari 17 gây nhiễu nhận diện vân tay âm thanh
- Safari 17 giới thiệu tính năng bảo vệ chống nhận diện vân tay nâng cao, được bật mặc định trong chế độ duyệt riêng tư và tắt trong chế độ thông thường.
- Cơ chế bảo vệ này thêm nhiễu ngẫu nhiên vào từng mẫu âm thanh để làm giảm độ chính xác của dấu vân tay.
- Kết quả là vân tay âm thanh sẽ khác đi mỗi lần tính toán, nên không còn dùng được cho mục đích nhận diện.
Cách vượt qua cơ chế bảo vệ chống nhận diện vân tay nâng cao của Safari 17
- Ba bước để cải tiến thuật toán nhận diện vân tay nhằm loại bỏ nhiễu do Safari thêm vào: giảm phương sai nhiễu, mở rộng khoảng cách giữa các số nhận diện trình duyệt, và làm tròn dấu vân tay để loại bỏ phần nhiễu còn lại.
- Để giảm nhiễu, kết hợp nhiều vân tay âm thanh và thay đổi tín hiệu cơ sở để tăng khác biệt mẫu âm thanh giữa các trình duyệt.
- Để ổn định kết quả, làm tròn các mẫu âm thanh trong khi vẫn giữ lại những chữ số quan trọng.
Hiệu năng
- Thuật toán nhận diện vân tay mới có hiệu năng thấp hơn khoảng 1,5-2 lần so với thuật toán cũ, nhưng thời gian tính toán vẫn ngắn ngay cả trên thiết bị cấu hình thấp.
- Một phần công việc được xử lý trên luồng OfflineAudioRender để trang vẫn giữ được độ phản hồi.
Cách hoạt động trên các trình duyệt chú trọng quyền riêng tư
- Các trình duyệt tập trung vào quyền riêng tư như Tor và Brave cũng cố gắng hạn chế nhận diện vân tay âm thanh.
- Trên Tor, Web Audio API bị vô hiệu hóa hoàn toàn nên không thể nhận diện vân tay âm thanh.
- Brave dùng cách tiếp cận tương tự Safari 17 bằng cách thêm nhiễu vào tín hiệu âm thanh.
Cách dùng trong FingerprintJS
- Thuật toán nhận diện vân tay âm thanh mới thay thế thuật toán cũ trong FingerprintJS.
- Nhận diện vân tay âm thanh là một trong nhiều tín hiệu được dùng để tạo dấu vân tay trình duyệt, và độ ổn định cũng như tính độc nhất của từng tín hiệu được phân tích riêng để xác định ảnh hưởng của chúng đến độ chính xác của dấu vân tay.
Ý kiến của GN⁺
- Tính năng gây nhiễu nhận diện vân tay âm thanh của Safari 17 cho thấy nỗ lực của Apple trong việc tăng cường bảo vệ quyền riêng tư cho người dùng. Điều này có thể mang lại mức độ riêng tư cao hơn cho người dùng.
- Tuy nhiên, các dịch vụ như FingerprintJS vẫn có thể vượt qua lớp bảo vệ này để tiếp tục nhận diện, qua đó cho thấy sự căng thẳng kéo dài giữa bảo vệ quyền riêng tư và bảo mật.
- Cần có thêm thảo luận về cách công nghệ này có thể được sử dụng trong an ninh mạng. Ví dụ, nó có thể được dùng để ngăn gian lận và bảo vệ tài khoản người dùng.
- Những dự án mã nguồn mở khác cung cấp tính năng tương tự gồm Privacy Badger và uBlock Origin, có thể giúp chặn theo dõi người dùng.
- Khi triển khai công nghệ này, điều quan trọng là phải tìm được sự cân bằng giữa quyền riêng tư của người dùng và nhu cầu bảo mật của website. Lợi ích của công nghệ này là cải thiện độ chính xác trong nhận diện người dùng, nhưng cũng cần cân nhắc rủi ro xâm phạm quyền riêng tư.
1 bình luận
Ý kiến trên Hacker News
Kỹ thuật nhận dạng vân tay GPU
Khả năng nhận dạng vân tay âm thanh
Tính kém hiệu quả của việc thêm nhiễu để ngăn rò rỉ dữ liệu
Đặc tả Web Audio API và cách xử lý anti-aliasing của oscillator
Chỉ trích cách triển khai Audio API trong trình duyệt
Đề xuất cải tiến cách thêm nhiễu vào mẫu
Ý kiến của người dùng thích vô hiệu hóa JavaScript
Gây nhiễu nhận dạng vân tay bằng cách sửa prototype của Audio API
Cơ sở của nhận dạng vân tay xử lý âm thanh
<canvas>để làm lộ ra khác biệt giữa các thiết bị đồ họa.