การค้นหาเพื่อนในแอปส่งข้อความกับการเก็บสมุดรายชื่อให้เป็นส่วนตัวไม่ใช่ปัญหาเดียวกัน แอปต้องรู้ว่าตัวระบุใดเป็นของสมาชิกบริการ แต่วิธีจับคู่จะเป็นตัวกำหนดว่าบริการได้รับข้อมูลอะไรบ้าง การแฮชหมายเลขโทรศัพท์เพียงอย่างเดียวไม่ได้รับประกันว่าจะระบุหมายเลขนั้นไม่ได้
เหตุใดหมายเลขที่แฮชแล้วจึงอาจถูกระบุได้?
ฟังก์ชันแฮชแปลงข้อมูลนำเข้าเป็นค่าที่มีความยาวคงที่ อย่างไรก็ตาม ช่วงของหมายเลขโทรศัพท์ที่เป็นไปได้มีขอบเขตจำกัดและมีโครงสร้าง ผู้โจมตีสามารถสร้างหมายเลขที่น่าจะเป็นไปได้ คำนวณค่าแฮช แล้วหาค่าที่ตรงกัน นี่ไม่ใช่ “การถอดรหัสแฮช” แต่เป็นการทดสอบข้อมูลนำเข้าที่เดาได้
Signal อธิบายข้อจำกัดนี้ของตัวระบุที่มีความหลากหลายต่ำไว้อย่างชัดเจนในคำอธิบายปัญหาการค้นหาผู้ติดต่อแบบเป็นส่วนตัว บทความเดียวกันยังเสนอการออกแบบบนสภาพแวดล้อมการทำงานที่เชื่อถือได้ ไม่ควรนำตัวอย่างในอดีตนี้ไปเหมารวมกับทุกแอปส่งข้อความโดยไม่ตรวจสอบเวอร์ชันและเอกสารใหม่กว่า
ดังนั้น “เซิร์ฟเวอร์เห็นแค่แฮช” จึงไม่ใช่คำตอบที่ครบถ้วนต่อคำถามเรื่องความเป็นส่วนตัว ต้องชัดเจนว่าใครคำนวณการจับคู่ได้ คำขอใดถูกบันทึก และข้อมูลถูกเก็บไว้นานเท่าใด
สิทธิ์เข้าถึงผู้ติดต่ออนุญาตอะไร?
สิทธิ์อ่านผู้ติดต่อทำให้แอปเข้าถึงข้อมูลสมุดรายชื่อ แต่ตัวสิทธิ์เองไม่ได้บอกว่าแอปอัปโหลดข้อมูลนั้นหรือไม่ ชื่อ หมายเลข อีเมล และบันทึกของผู้ติดต่ออาจเป็นข้อมูลละเอียดอ่อน โดยเฉพาะเมื่อมีข้อมูลของคนที่ไม่ได้เป็นสมาชิกบริการเลยด้วยซ้ำ
เอกสาร Contacts Provider ของ Android แยกการอ่านสมุดรายชื่อในวงกว้างออกจากการเลือกผู้ติดต่อหนึ่งรายผ่านหน้าจอของระบบ ขอบเขตการเข้าถึงขึ้นอยู่กับวิธีนำไปใช้และเวอร์ชันระบบปฏิบัติการ
| วิธีค้นหาผู้ติดต่อ | ประโยชน์ที่อาจได้รับ | สิ่งที่ต้องตรวจสอบ |
|---|---|---|
| แชร์ชื่อผู้ใช้หรือลิงก์เชิญ | อาจไม่ต้องอ่านสมุดรายชื่อทั้งหมด | ตัวระบุค้นหาได้หรือไม่ และคนอื่นสามารถค้นพบบัญชีได้หรือไม่ |
| เลือกผู้ติดต่อไม่กี่ราย | แอปได้รับข้อมูลน้อยลง | แอปได้รับเฉพาะรายการที่เลือกหรือไม่? |
| อัปโหลดรายการหมายเลขหรือค่าแฮช | จับคู่กับผู้ใช้ที่ลงทะเบียนได้ง่ายขึ้น | ความเป็นไปได้ในการเดาหมายเลข บันทึกคำขอ และเก็บรายการไว้ |
| โปรโตคอลเฉพาะสำหรับการค้นหาแบบเป็นส่วนตัว | อาจลดการเปิดเผยภายในแบบจำลองภัยคุกคามหนึ่ง | สมมติฐานความเชื่อถือ ข้อจำกัด และหลักฐานการตรวจสอบอิสระ |
การเข้ารหัสข้อความไม่ได้พิสูจน์อะไรเกี่ยวกับสมุดรายชื่อ?
การเข้ารหัสจากต้นทางถึงปลายทางอาจซ่อนเนื้อหาการสนทนาจากเซิร์ฟเวอร์ แต่โดยลำพังแล้วไม่ได้บอกอะไรเกี่ยวกับสิทธิ์ผู้ติดต่อ คำขอค้นหาผู้ใช้ หรือการบันทึกความสัมพันธ์ในการติดต่อ แม้ไม่มีสมุดรายชื่อ ข้อมูลการกำหนดเส้นทางก็อาจเผยให้เห็นความสัมพันธ์ในการสื่อสารบางส่วนได้
หน้าความปลอดภัย ของ Livara อธิบายการจัดเก็บและประมวลผลข้อมูลการดำเนินงาน เช่น สมาชิกกลุ่ม เวลา และการกำหนดเส้นทาง เอกสารนี้ไม่ได้ทำให้สรุปได้ว่าสมุดรายชื่อถูกแฮชด้วยวิธีเฉพาะ ไม่มีการเก็บประวัติใดเลย หรือกราฟความสัมพันธ์ถูกซ่อนอย่างสมบูรณ์ ข้อกล่าวอ้างเหล่านี้ต้องมีคำอธิบายเรื่องการค้นหาผู้ติดต่อแยกต่างหาก
ถามห้าข้อนี้ก่อนให้สิทธิ์
- หากไม่ให้สิทธิ์ผู้ติดต่อ ฉันยังสนทนาผ่านชื่อผู้ใช้หรือคำเชิญโดยตรงได้หรือไม่?
- ฟิลด์ใดออกจากอุปกรณ์บ้างแน่: เฉพาะหมายเลข หรือมีชื่อและรายละเอียดอื่นด้วย?
- ข้อมูลของผู้ที่ไม่ได้เข้าร่วมบริการถูกใช้และลบอย่างไร?
- การเพิกถอนสิทธิ์หยุดเพียงการเข้าถึงในอนาคต หรือมีวิธีลบข้อมูลที่ส่งไปแล้วด้วย?
- คำอธิบายทางเทคนิคและนโยบายเก็บรักษาข้อมูลสอดคล้องกับแอปเวอร์ชันปัจจุบันหรือไม่?
ตรวจสอบสิทธิ์ของแอปในการตั้งค่าระบบ และจำกัดการเข้าถึงที่ไม่จำเป็นหากไม่ต้องการค้นหาเพื่อนอัตโนมัติ ชื่อตัวเลือกต่างกันตามโทรศัพท์ อย่าถือว่าการเพิกถอนสิทธิ์เท่ากับการลบข้อมูลที่เคยอัปโหลดแล้ว
ความเป็นส่วนตัวของผู้ติดต่อวัดจากการใช้ข้อมูลให้น้อยที่สุดและความชัดเจนของเส้นทางข้อมูล ไม่ใช่เพียงการมีคำว่า “แฮช” อยู่ข้างหมายเลขโทรศัพท์



