การระบุตัวตนผ่านเสียง
- เทคนิคการระบุตัวตนด้วยเสียงใช้ Audio API ของเบราว์เซอร์เพื่อสร้างสัญญาณเสียง แล้วนำตัวอย่างสัญญาณเสียงที่สร้างขึ้นมาบวกทั้งหมดเข้าด้วยกันเพื่อแปลงเป็นตัวเลขเดี่ยว
- ตัวเลขนี้ถูกใช้เป็นลายนิ้วมือดิจิทัล (ตัวระบุ) และมีความคงที่จนไม่เปลี่ยนแม้จะลบคุกกี้หรือสลับไปใช้โหมดไม่ระบุตัวตน
- อย่างไรก็ตาม ตัวระบุนั้นไม่ได้มีความเป็นเอกลักษณ์สูงมากนัก จึงอาจมีผู้ใช้จำนวนมากที่มีตัวระบุเดียวกันได้
วิธีที่ Safari 17 รบกวนการทำ Audio Fingerprinting
- Safari 17 ได้นำฟีเจอร์ป้องกันการทำ Fingerprinting ขั้นสูงมาใช้ โดยเปิดใช้งานเป็นค่าเริ่มต้นในโหมดการท่องเว็บแบบส่วนตัว และปิดไว้ในโหมดปกติ
- ฟีเจอร์ป้องกันนี้จะเพิ่มสัญญาณรบกวนแบบสุ่มให้กับแต่ละตัวอย่างเสียง ทำให้ความแม่นยำของลายนิ้วมือลดลง
- ผลลัพธ์คือ Audio Fingerprint จะเปลี่ยนไปทุกครั้งที่คำนวณ จึงไม่สามารถนำมาใช้เพื่อระบุตัวตนได้
วิธีข้ามการป้องกัน Fingerprinting ขั้นสูงของ Safari 17
- มี 3 ขั้นตอนในการปรับปรุงอัลกอริทึมการทำ Fingerprinting เพื่อลบสัญญาณรบกวนที่ Safari เพิ่มเข้ามา ได้แก่ ลดการกระจายของสัญญาณรบกวน, ขยายระยะห่างระหว่างหมายเลขระบุของเบราว์เซอร์, และปัดเศษลายนิ้วมือเพื่อลบสัญญาณรบกวนที่เหลืออยู่
- เพื่อลดสัญญาณรบกวน จึงนำ Audio Fingerprint หลายค่าเข้ามารวมกัน และเปลี่ยนสัญญาณพื้นฐานเพื่อเพิ่มความแตกต่างของตัวอย่างเสียงระหว่างเบราว์เซอร์
- เพื่อทำให้ผลลัพธ์มีความเสถียร จึงปัดเศษตัวอย่างเสียงโดยคงตัวเลขสำคัญไว้
ประสิทธิภาพ
- อัลกอริทึม Fingerprinting แบบใหม่มีประสิทธิภาพลดลงราว 1.5-2 เท่าเมื่อเทียบกับอัลกอริทึมเดิม แต่ยังคงใช้เวลาในการคำนวณไม่มากแม้บนอุปกรณ์ประสิทธิภาพต่ำ
- มีการย้ายงานบางส่วนไปประมวลผลบนเธรด
OfflineAudioRender เพื่อให้หน้าเพจยังคงตอบสนองได้ดี
การทำงานในเบราว์เซอร์ที่เน้นความเป็นส่วนตัว
- เบราว์เซอร์ที่เน้นความเป็นส่วนตัวอย่าง Tor และ Brave ก็พยายามจำกัดการทำ Audio Fingerprinting เช่นกัน
- ใน Tor นั้น Web Audio API ถูกปิดใช้งานทั้งหมด ทำให้ไม่สามารถทำ Audio Fingerprinting ได้
- Brave ใช้วิธีคล้ายกับ Safari 17 โดยเพิ่มสัญญาณรบกวนเข้าไปในสัญญาณเสียง
การใช้งานใน FingerprintJS
- อัลกอริทึม Audio Fingerprinting แบบใหม่นี้เข้ามาแทนที่อัลกอริทึมเดิมใน FingerprintJS
- Audio Fingerprinting เป็นหนึ่งในหลายสัญญาณที่ใช้สร้าง Browser Fingerprint โดยมีการวิเคราะห์ความเสถียรและความเป็นเอกลักษณ์ของแต่ละสัญญาณแยกกัน เพื่อพิจารณาว่าส่งผลต่อความแม่นยำของลายนิ้วมือมากเพียงใด
ความเห็นของ GN⁺
- ฟีเจอร์รบกวนการทำ Audio Fingerprinting ของ Safari 17 แสดงให้เห็นถึงความพยายามของ Apple ในการเสริมความเป็นส่วนตัวให้ผู้ใช้ ซึ่งอาจช่วยมอบความเป็นส่วนตัวที่มากขึ้นแก่ผู้ใช้
- อย่างไรก็ตาม บริการอย่าง FingerprintJS ยังสามารถข้ามการป้องกันนี้และทำให้การระบุตัวตนยังคงเป็นไปได้ ซึ่งสะท้อนให้เห็นถึงความตึงเครียดที่ดำเนินอยู่ระหว่างการคุ้มครองความเป็นส่วนตัวกับความปลอดภัย
- ยังจำเป็นต้องมีการถกเถียงเพิ่มเติมว่าเทคโนโลยีนี้สามารถถูกนำไปใช้ในด้านความมั่นคงปลอดภัยไซเบอร์ได้อย่างไร เช่น ใช้เพื่อป้องกันการทุจริตและปกป้องบัญชีผู้ใช้
- โครงการโอเพนซอร์สอื่นที่มีฟีเจอร์คล้ายกัน ได้แก่ Privacy Badger และ uBlock Origin ซึ่งสามารถช่วยบล็อกการติดตามผู้ใช้ได้
- เมื่อนำเทคโนโลยีนี้มาใช้ สิ่งสำคัญคือการหาสมดุลระหว่างความเป็นส่วนตัวของผู้ใช้กับความต้องการด้านความปลอดภัยของเว็บไซต์ ประโยชน์ที่ได้จากการใช้เทคโนโลยีนี้คือความแม่นยำในการระบุตัวตนผู้ใช้ที่ดีขึ้น แต่ก็ควรคำนึงถึงความเสี่ยงของการละเมิดความเป็นส่วนตัวด้วย
1 ความคิดเห็น
ความคิดเห็นบน Hacker News
เทคนิคการทำลายนิ้วมือของ GPU
ความเป็นไปได้ของการทำลายนิ้วมือด้วยเสียง
ความไม่มีประสิทธิภาพของการเพิ่ม noise เพื่อป้องกันการรั่วไหลของข้อมูล
สเปก Web Audio API และการจัดการ anti-aliasing ของ oscillator
คำวิจารณ์ต่อการนำ Audio API ไปใช้งานภายในเบราว์เซอร์
ข้อเสนอให้ปรับปรุงวิธีเพิ่ม noise ในการสุ่มตัวอย่าง
ความเห็นของผู้ใช้ที่ชอบปิดการใช้งาน JavaScript
การรบกวนการทำลายนิ้วมือผ่านการแก้ไข prototype ของ Audio API
พื้นฐานของการทำลายนิ้วมือจากการประมวลผลเสียง
<canvas>เพื่อเผยให้เห็นความแตกต่างระหว่างอุปกรณ์กราฟิก