Programmer with anxiety

Life is always under maintenance

ไวรัส-ศรัทธา-เทคโนโลยี

Monday, March 23, 2020, 09:20 PM

วันนี้ได้มีโอกาสคุยกับพี่หัวหน้าและเพื่อนร่วมงาน ถึงการนำเทคโนโลยีมาช่วยบรรเทาผลกระทบจากไวรัสโควิด 19 ที่กำลังระบาดไปทั่วโลก

อย่างในฮ่องกงผมเข้าใจว่า มีการออกเป็นกฎหมายบังคับให้ประชาชนที่กักตัวต้องใส่กำไลข้อมือเพื่อติดตามตัว

เราคุยกันว่าถ้ารัฐบาลออกแอพพลิเคชันติดตามตัวให้พวกเราลงในสมาร์ทโฟน เราจะลงไหม

ผมตอบได้ทันทีว่าไม่ เพราะข้อมูลตำแหน่งที่อยู่เป็น sensitive data ซึ่งเราไม่รู้ว่าข้อมูลเหล่านี้จะถูกเก็บรักษาอย่างไร รวมถึงเอาไปใช้อะไรบ้าง

ดูเหมือนว่าปัญหานี้ถึงจะมีเทคโนโลยีที่พอจะบรรเทาได้ แต่ความเชื่อมั่นก็เป็นอุปสรรคที่ทำให้เทคโนโลยีไม่สามารถทำงานได้อย่างเต็มที่

คนในวงสนทนาก็เห็นด้วยว่าถ้าจะมีแอพพลิเคชันออกมาจริงคงต้องเป็น open source แต่จะมีคนตรวจโค้ดกันสักกี่คนกัน

การออกแบบที่เสนอกันเล่นๆในวง

ถ้าเราตั้งสมมติฐานว่าคนทั่วไปอยากจะช่วยกักกันโรคแต่ไม่รู้ว่าตัวเองเป็นกลุ่มเสี่ยงไหม

เราเสนอกันเล่นๆว่าคงออกแบบแอพพลิเคชันแบบที่ไม่ต้องเข้าถึงข้อมูล location เลย (หรือเข้าถึงแต่ไม่มีการส่งต่อ) โดยใช้วิธีนี้

  1. ทุกเครื่องที่ลงแอพฯครั้งแรก จะมีสุ่มสร้าง uuid (รหัสที่ไม่ซ้ำกัน และไม่ระบุถึงตัวตน) ขึ้นมา 1 รหัส (อาจจะอิงการสร้างจาก IMEI เพื่อให้ได้รหัสเดิมเสมอ)

  2. แอพพลิเคชันจะประกาศ uuid ของตัวเองตลอดเวลาผ่านทาง bluetooth หรือ NFC ให้ทุกเครื่องที่ลงแอพฯเหมือนกัน

  3. เมื่อได้รับข้อมูล uuid จากเครื่องอื่น แอพฯจะบันทึกไว้ว่าเคย “พบ” กับ uuid ไหนบ้าง เมื่อวันเวลาอะไร โดยที่การบันทึกจะบันทึกลงโทรศัพท์ตัวเองเท่านั้นและไม่ส่งข้อมูลไปที่เซิฟเวอร์กลาง (ตรงจุดนี้อาจจะขอเข้าถึงข้อมูล location เพื่อบันทึกเป็นหมายเหตุก็ได้ แต่ไม่จำเป็นและต้องไม่ส่งข้อมูลต่อ)

  4. หากพบผู้ติดเชื้อรายใหม่ จะให้เซิฟเวอร์กลางประกาศ uuid นั้นไปที่โทรศัพท์ทุกเครื่อง (แบบไม่ระบุตัวตน) เช่นให้เจ้าของเครื่องเปิด QR code ที่แทน uuid ตัวเองเพื่อให้เจ้าหน้าที่สแกนเป็นต้น

  5. ถ้าแอพพลิเคชันพบว่าเครื่องตัวเองเคยได้รับ uuid นั้น จะแจ้งเตือนผู้ใช้ว่าเป็นกลุ่มเสี่ยงแล้ว เนื่องจากเคยใกล้ชิดกับผู้ติดเชื้อ เมื่อวันเวลา(และอาจจะมีสถานที่) ตามที่บันทึกไว้

ซึ่งการออกแบบเบื้องต้นอันนี้ยังไม่ได้คำนึงถึงเรื่องความปลอดภัยของการเปิด bluetooth / NFC ไว้ตลอดเวลา ว่ามีความเสี่ยงอย่างไรบ้าง