บลูเทรซ
BlueTraceเป็นโปรโตคอลแอปพลิ เคชันโอเพ นซอร์ส ที่อำนวยความสะดวกในการติดตามการสัมผัส ทางดิจิทัล ของผู้ใช้เพื่อยับยั้งการแพร่ระบาดของโรค โค วิด-19 [ 2 ] BlueTrace ได้รับการพัฒนาขึ้นครั้งแรกโดยรัฐบาลสิงคโปร์ และเป็นตัวขับเคลื่อน การติดตามการสัมผัสสำหรับแอปTraceTogether [ 3 ] [ 4 ]ออสเตรเลียและสหรัฐอาหรับเอมิเรตส์ได้นำโปรโตคอลนี้ไปใช้ในแอปของรัฐบาลแล้ว[ 5 ] [ 6 ] [ 7 ]และประเทศอื่นๆ กำลังพิจารณาที่จะนำ BlueTrace ไปใช้[ 8 ] [ 9 ]หลักการหนึ่งของโปรโตคอลนี้คือการรักษาความเป็นส่วนตัวและความร่วมมือของหน่วยงานด้านสุขภาพ[ 10 ]
ภาพรวม
การรักษาความเป็นส่วนตัวของผู้ใช้เป็นหนึ่งในหัวใจหลักที่ใช้ในการออกแบบ BlueTrace เพื่อให้บรรลุเป้าหมายนี้ ข้อมูลส่วนบุคคลจะถูกเก็บรวบรวมเพียงครั้งเดียว ณ จุดลงทะเบียน และจะใช้เพื่อติดต่อผู้ป่วยที่อาจติดเชื้อเท่านั้น นอกจากนี้ ผู้ใช้สามารถยกเลิกการเข้าร่วมได้ตลอดเวลา ซึ่งจะลบข้อมูลส่วนบุคคลทั้งหมดและทำให้ข้อมูลที่บันทึกไว้ไม่สามารถตรวจสอบย้อนหลังได้ การติดตามผู้สัมผัสจะดำเนินการทั้งหมดบนอุปกรณ์ของลูกค้าโดยใช้Bluetooth Low Energyโดยจะบันทึกการติดต่อทั้งหมดไว้ในบันทึกประวัติการติดต่อ ซึ่งบันทึกการติดต่อในช่วง 21 วันที่ผ่านมา ผู้ใช้ในบันทึกการติดต่อจะถูกระบุโดยใช้ "รหัสชั่วคราว" ที่ไม่ระบุตัวตนซึ่งออกโดยหน่วยงานด้านสุขภาพ ซึ่งหมายความว่าไม่มีใครสามารถระบุตัวตนของผู้ใช้ได้ ยกเว้นหน่วยงานด้านสุขภาพที่ลงทะเบียนไว้ นอกจากนี้ เนื่องจากรหัสชั่วคราวมีการเปลี่ยนแปลงเป็นประจำ บุคคลที่สามที่เป็นอันตรายจึงไม่สามารถติดตามผู้ใช้โดยการสังเกตรายการบันทึกในช่วงเวลาต่างๆ ได้
เมื่อผู้ใช้ตรวจพบว่าติดเชื้อ หน่วยงานสาธารณสุขจะขอข้อมูลประวัติการติดต่อ หากผู้ใช้เลือกที่จะแบ่งปันข้อมูลประวัติการติดต่อ ข้อมูลนั้นจะถูกส่งไปยังหน่วยงานสาธารณสุขเพื่อตรวจสอบความถูกต้องของรหัสประจำตัวชั่วคราวกับข้อมูลการติดต่อ หน่วยงานสาธารณสุขไม่สามารถเข้าถึงข้อมูลประวัติการติดต่อของผู้ใช้ชาวต่างชาติได้ ดังนั้นข้อมูลเหล่านั้นจะถูกส่งไปยังหน่วยงานสาธารณสุขต่างประเทศที่เกี่ยวข้องเพื่อดำเนินการต่อไป เมื่อดำเนินการข้อมูลประวัติการติดต่อเสร็จสิ้นแล้ว หน่วยงานสาธารณสุขจะติดต่อผู้ใช้ที่ระบุไว้ในข้อมูลนั้น
ข้อกำหนดทางเทคนิค

โปรโตคอลนี้มุ่งเน้นไปที่สองด้านหลัก ได้แก่ การบันทึกข้อมูลผู้ใช้ที่ลงทะเบียนไว้ในบริเวณใกล้เคียงกับอุปกรณ์ และการส่งบันทึกข้อมูลไปยังหน่วยงานสาธารณสุขที่รับผิดชอบ โดยคำนึงถึงความเป็นส่วนตัวเป็นสำคัญ เพื่อให้บรรลุเป้าหมายนี้ โปรโตคอลจึงสามารถแบ่งออกเป็นสองส่วน คือการสื่อสารระหว่างอุปกรณ์ (DDC) และการสื่อสารระหว่างอุปกรณ์กับเซิร์ฟเวอร์รายงาน (DRSC)
ส่วนประกอบ DDC ทำงานบน โปรโตคอล Bluetooth Low Energy ที่มีอยู่ โดยกำหนดวิธีการที่อุปกรณ์สองเครื่องรับรู้การมีอยู่ของกันและกัน[ 10 ] :หน้า 2ส่วนประกอบ DRSC ใช้HTTPSเพื่อสื่อสารไทม์ไลน์ของการเยี่ยมชมไปยังเซิร์ฟเวอร์ส่วนกลางที่เป็นของหน่วยงานด้านสุขภาพ เมื่อผู้ใช้ได้รับการทดสอบว่าติดเชื้อ หน่วยงานด้านสุขภาพสามารถใช้บันทึกดังกล่าวเพื่อแจ้งผู้ใช้ที่สัมผัสกับผู้ป่วยที่ติดเชื้อได้[ 10 ] :หน้า 2
โปรโตคอลการสื่อสารระหว่างอุปกรณ์กับเซิร์ฟเวอร์รายงาน
แอปแต่ละแอปที่ใช้โปรโตคอล BlueTrace จะมีเซิร์ฟเวอร์รายงานส่วนกลางที่ดำเนินการโดยหน่วยงานด้านสุขภาพ เซิร์ฟเวอร์รายงานมีหน้าที่รับผิดชอบในการจัดการการลงทะเบียนเริ่มต้น การจัดเตรียมตัวระบุผู้ใช้ที่ไม่ซ้ำกัน และการรวบรวมบันทึกการติดต่อที่สร้างโดยส่วน DDC ของโปรโตคอล เมื่อผู้ใช้เปิดแอป BlueTrace ครั้งแรก พวกเขาจะถูกขอให้ป้อนหมายเลขโทรศัพท์ ในรูปแบบสากล และจะได้รับ UserID แบบคงที่[ 10 ] :ส่วนที่ 4หมายเลขโทรศัพท์นี้จะถูกใช้ในภายหลังหากผู้ใช้ได้บันทึกการพบปะในบันทึกการติดต่อของผู้ป่วยที่ติดเชื้อ
เมื่อลงทะเบียนแล้ว ผู้ใช้จะได้รับรหัสชั่วคราว (TempID) ที่ระบุตัวตนเฉพาะตัวไปยังอุปกรณ์อื่น ๆ แต่ละ TempID มีอายุการใช้งาน 15 นาที เพื่อป้องกันไม่ให้ผู้ไม่ประสงค์ดีทำการโจมตีแบบเล่นซ้ำหรือติดตามผู้ใช้ตลอดเวลาด้วยตัวระบุเฉพาะแบบคงที่[ 10 ] :ส่วนที่ 4.2 TempID ถูกสร้างขึ้นจาก UserID ของผู้ใช้ เวลาเริ่มต้นของ TempID และเวลาหมดอายุของ TempID ซึ่งจะถูกเข้ารหัสและแปลงเป็น สตริงที่เข้ารหัส Base64โดยเซิร์ฟเวอร์โดยใช้คีย์การเข้ารหัสสมมาตรที่เป็น ความลับ เพื่อให้แน่ใจว่าอุปกรณ์มี TempID อย่างต่อเนื่อง แม้ในสภาพแวดล้อมเครือข่ายที่ไม่เสถียร TempID จะถูกส่งไปยังอุปกรณ์เป็นชุดตามวันที่ล่วงหน้า[ 10 ] :ส่วนที่ 4.2องค์ประกอบของ TempID แสดงไว้ด้านล่าง:

เมื่อผู้ใช้ได้รับการตรวจพบว่าติดเชื้อ หน่วยงานด้านสาธารณสุขจะสร้างรหัส PINเพื่อยืนยันตัวตนผู้ใช้ในการอัปโหลดบันทึกการติดต่อไปยังเซิร์ฟเวอร์รายงาน โดยในบันทึกนั้นจะรวมถึงข้อมูลเมตาเกี่ยวกับการติดต่อแต่ละครั้ง ซึ่งที่สำคัญที่สุดคือเวลาที่ติดต่อและรหัสประจำตัวของหน่วยงานด้านสาธารณสุข (HAI)
ระบบ HAI จะระบุว่าผู้ติดต่อที่บันทึกไว้รายงานไปยังหน่วยงานสาธารณสุขใด หาก HAI เป็นตัวแทนของหน่วยงานสาธารณสุขต่างประเทศ ข้อมูลบันทึกจะถูกส่งไปยังหน่วยงานที่ระบุไว้เพื่อดำเนินการต่อไป
เมื่อหน่วยงานสาธารณสุขคัดกรองข้อมูลบันทึกการใช้งานเหลือเฉพาะผู้ใช้บริการที่บ้านแล้ว พวกเขาจะถอดรหัส TempID เพื่อแสดง UserID เวลาเริ่มต้น และเวลาหมดอายุ จากนั้นจะนำวันที่เริ่มต้นและวันหมดอายุไปเปรียบเทียบกับเวลาที่บันทึกการพบผู้ใช้บริการ เพื่อตรวจสอบความถูกต้อง และจับคู่ UserID กับหมายเลขโทรศัพท์ หน่วยงานสาธารณสุขจึงสามารถติดต่อหมายเลขโทรศัพท์นั้นเพื่อแจ้งให้ผู้ใช้ทราบถึงความเป็นไปได้ในการสัมผัสกับผู้ป่วยติดเชื้อ
โปรโตคอลการสื่อสารระหว่างอุปกรณ์
ส่วน DDC ของโปรโตคอลกำหนดวิธีการสื่อสารและบันทึกการติดต่อระหว่างอุปกรณ์สองตัว อุปกรณ์แต่ละตัวจะอยู่ในสถานะใดสถานะหนึ่งจากสองสถานะ คือ ส่วนกลาง (Central) หรือ ส่วนต่อประสาน (Peripheral) โดยมีอัตราส่วนการทำงานประมาณ 1:4 ตามลำดับ
ในโหมดอุปกรณ์ต่อพ่วง อุปกรณ์จะประกาศการมีอยู่ของตนเอง และในโหมดอุปกรณ์กลาง อุปกรณ์จะสแกนหาอุปกรณ์ที่ประกาศ นอกจากนี้ อุปกรณ์บางชนิดไม่สามารถทำงานในโหมดอุปกรณ์กลางได้ จึงทำงานในโหมดอุปกรณ์ต่อพ่วงเท่านั้น[ 11 ]เมื่ออุปกรณ์สองเครื่องค้นพบกันและกันแล้ว พวกมันจะสื่อสารแพ็กเก็ตลักษณะเฉพาะที่มีข้อมูลเกี่ยวกับตัวมันเอง แพ็กเก็ตนี้ถูกสร้างขึ้นเป็น ไฟล์ JSONซึ่งประกอบด้วย TempID ของอุปกรณ์ รุ่นของอุปกรณ์ HAI และเวอร์ชันโปรโตคอล BlueTrace
เมื่อทำงานในโหมด Central อุปกรณ์จะส่งค่าความแรงของสัญญาณเพิ่มเติม ทำให้สามารถคำนวณระยะห่างโดยประมาณระหว่างอุปกรณ์ทั้งสองได้ในภายหลัง ตัวอย่างแพ็กเก็ตลักษณะเฉพาะของโหมด Central มีดังนี้:
{ "id" : "FmFISm9nq3PgpLdxxYpTx5tF3ML3Va1wqqgY9DGDz1utPbw+Iz8tqAdpbxR1 nSvr+ILXPG==" , // TempID "md" : "iPhone X" , // รุ่นอุปกรณ์"rc" : -60 , // ความแรงของสัญญาณ"o" : "IJ_HAI" , // ตัวระบุหน่วยงานด้านสุขภาพ"v" : 2 // เวอร์ชันโปรโตคอล}จากนั้นคุณลักษณะเหล่านี้จะถูกเพิ่มลงในฐานข้อมูลภายในเครื่อง ซึ่งจะจัดเก็บไว้เป็นเวลา 21 วัน และสามารถส่งไปยังเซิร์ฟเวอร์รายงานในภายหลังได้ นอกจากนี้ อุปกรณ์ที่ติดต่อจะถูกเพิ่มลงในบัญชีดำภายในเครื่องเป็นเวลาสองรอบการทำงาน เพื่อป้องกันไม่ให้อุปกรณ์สองเครื่องติดต่อกันซ้ำๆ ซึ่งจะช่วยประหยัดพลังงานและพื้นที่จัดเก็บข้อมูล
ความร่วมมือของหน่วยงานด้านสุขภาพ

ความร่วมมือระหว่างหน่วยงานด้านสาธารณสุขที่แตกต่างกันเป็นองค์ประกอบหลักของโปรโตคอล BlueTrace และได้รับการออกแบบมาเพื่อให้หน่วยงานหลายแห่งสามารถทำงานร่วมกันได้โดยไม่ต้องเปิดเผยข้อมูลส่วนบุคคลให้กับหน่วยงานต่างประเทศที่ผู้ใช้ไม่ได้ลงทะเบียนไว้ เนื่องจากแต่ละหน่วยงานเก็บรักษาคีย์การเข้ารหัสและบันทึกผู้ใช้แยกต่างหาก หน่วยงานด้านสาธารณสุขจึงไม่สามารถถอดรหัสและดูข้อมูลของผู้ใช้ต่างประเทศได้
เพื่อให้แน่ใจว่าข้อมูลบันทึกถูกส่งไปยังหน่วยงานที่ถูกต้อง ส่วนหนึ่งของกระบวนการเชื่อมต่อ DDC จึงประกอบด้วยตัวระบุหน่วยงานด้านสุขภาพ (HAI) ซึ่งเป็นสตริง เฉพาะ ที่กำหนดให้กับหน่วยงานด้านสุขภาพที่ลงทะเบียนไว้ เมื่อระบุข้อมูลบันทึกของหน่วยงานด้านสุขภาพต่างประเทศได้แล้ว หน่วยงานด้านสุขภาพผู้รับจะส่งข้อมูลบันทึกนั้นไปยังเซิร์ฟเวอร์รายงานของหน่วยงานต่างประเทศเพื่อตรวจสอบ และจะส่ง PseudoID แบบคงที่กลับมา
PseudoID คือ แฮชเข้ารหัสลับ แบบมีเกลือ (salted cryptographic hash)ของ UserID ซึ่งออกแบบมาเพื่อให้หน่วยงานสาธารณสุขต่างประเทศสามารถทำการวิเคราะห์ทางสถิติเกี่ยวกับบันทึกการติดต่อ และสื่อสารเกี่ยวกับผู้ใช้รายใดรายหนึ่งโดยไม่ต้องเปิดเผยข้อมูลส่วนบุคคลที่ไม่จำเป็น เมื่อประเมินแล้วว่า PseudoID มีการสัมผัสใกล้ชิดกับผู้ป่วยติดเชื้อ หน่วยงานสาธารณสุขต่างประเทศที่ออก PseudoID จะได้รับแจ้งและสามารถติดตามผลได้ตามความจำเป็น
การถอนความยินยอม
ความสามารถของผู้ใช้ในการถอนความยินยอมในการใช้และการรวบรวมข้อมูลของตนได้ตลอดเวลาถือเป็นข้อพิจารณาที่สำคัญในการออกแบบโปรโตคอล[ 10 ] :ส่วนที่ 3 จุดที่ 4เพื่อให้สามารถทำเช่นนี้ได้ ข้อมูลส่วนบุคคลที่ระบุตัวตนได้จะถูกยกเว้นจากส่วนประกอบ DDC ของโปรโตคอล ซึ่งหมายความว่าข้อมูลส่วนบุคคลจะถูกจัดเก็บไว้เฉพาะบนเซิร์ฟเวอร์รายงานเท่านั้น โดยจะเชื่อมโยงกับ UserID แบบคงที่ที่ไม่ระบุตัวตน UserID นี้ (เข้ารหัสใน TempID) จะถูกใช้สำหรับการระบุตัวตนในส่วน DDC ของโปรโตคอล หากผู้ใช้ถอนความยินยอม บันทึกของผู้ใช้จะถูกลบออกจากเซิร์ฟเวอร์รายงาน ซึ่งหมายความว่า UserID ที่ได้รับผ่านบันทึกการติดต่อจะไม่สามารถจับคู่กับหมายเลขโทรศัพท์ได้อีกต่อไป
ความขัดแย้ง
หนึ่งในข้อกังวลด้านความเป็นส่วนตัวที่ใหญ่ที่สุดเกี่ยวกับโปรโตคอลต่างๆ เช่น BlueTrace หรือPEPP-PTคือการใช้การประมวลผลรายงานแบบรวมศูนย์[ 12 ] [ 13 ] [ 14 ] [ 15 ] [ 16 ] [ 17 ]ในโปรโตคอลการประมวลผลรายงานแบบรวมศูนย์ ผู้ใช้จะต้องอัปโหลดบันทึกการติดต่อทั้งหมดไปยังเซิร์ฟเวอร์ที่หน่วยงานด้านสุขภาพบริหารจัดการ ซึ่งหน่วยงานด้านสุขภาพจะเป็นผู้รับผิดชอบในการจับคู่รายการบันทึกกับรายละเอียดการติดต่อ ตรวจสอบการติดต่อที่อาจเกิดขึ้น และสุดท้ายคือการแจ้งเตือนผู้ใช้เกี่ยวกับการติดต่อที่อาจเกิดขึ้น[ 18 ]
อีกทางเลือกหนึ่ง โปรโตคอลการประมวลผลรายงานแบบกระจายศูนย์ แม้ว่าจะยังมีเซิร์ฟเวอร์รายงานส่วนกลางอยู่ แต่ก็มอบหมายความรับผิดชอบในการประมวลผลบันทึกให้กับไคลเอนต์บนเครือข่าย โปรโตคอลที่ใช้วิธีการนี้ เช่นTCNและDP-3Tจะให้ไคลเอนต์อัปโหลดหมายเลขซึ่งอุปกรณ์แต่ละเครื่องสามารถดึงโทเค็นการพบปะได้ จากนั้นไคลเอนต์จะตรวจสอบโทเค็นเหล่านี้กับบันทึกการติดต่อในพื้นที่ของตนเพื่อพิจารณาว่าพวกเขาได้ติดต่อกับผู้ป่วยที่ติดเชื้อหรือไม่[ 19 ]โดยธรรมชาติแล้ว โปรโตคอลนี้ไม่อนุญาตให้รัฐบาลเข้าถึงบันทึกการติดต่อ จึงมีข้อดีด้านความเป็นส่วนตัวอย่างมาก อย่างไรก็ตาม วิธีนี้ก็มีปัญหาอยู่บ้าง โดยหลักคือการขาดการรายงานโดยมนุษย์ ทำให้เกิดผลบวกเท็จมากขึ้น[ 18 ]และอาจมีปัญหาเรื่องขนาด เนื่องจากอุปกรณ์บางอย่างอาจรับมือไม่ไหวกับรายงานจำนวนมาก โปรโตคอลการรายงานแบบกระจายศูนย์ยังมีความสมบูรณ์น้อยกว่าโปรโตคอลแบบรวมศูนย์[ 20 ] [ 21 ] [ 22 ]
โอเพ่นเทรซ
OpenTrace เป็นการใช้งานอ้างอิงแบบโอเพนซอร์สของ BlueTrace ที่เผยแพร่ภายใต้ใบอนุญาตGPL-3.0 [ 23 ] [ 24 ] [ 25 ]ฝั่ง DRSC ของโปรโตคอลถูกใช้งานโดยใช้แพลตฟอร์มFirebase [ 26 ]โดยใช้ Firebase Functions ซึ่งเป็นเฟรมเวิร์กการประมวลผลแบบไร้เซิร์ฟเวอร์สำหรับการเรียกใช้ไคลเอ็นต์ทั้งหมด และ Firebase Secret Manager [ 27 ] :บรรทัดที่ 29–37และ Storage [ 28 ] :บรรทัดที่ 22สำหรับการจัดเก็บคีย์การเข้ารหัสและบันทึกการติดต่อตามลำดับ สำหรับฝั่งแอป/DDC ของโปรโตคอล จะมีการรวมแอป TraceTogether เวอร์ชันที่แก้ไขแล้วสำหรับอุปกรณ์ Android และ iOS [ 29 ] [ 30 ]
โควิดเซฟ
COVIDSafe [ 31 ] [ 32 ]เป็น แอป ติดตามผู้สัมผัสแบบดิจิทัล ที่รัฐบาล กลางออสเตรเลียประกาศใช้โดยอิงจาก OpenTrace/BlueTrace ซึ่งประกาศเมื่อวันที่ 14 เมษายน 2563 เพื่อช่วยต่อสู้กับการระบาดของ COVID-19 ที่กำลังดำเนินอยู่ [ 33 ]เมื่อวันที่ 26 เมษายน 2563 รัฐบาลกลางออสเตรเลียได้เปิดตัวแอปเวอร์ชันแรกสู่สาธารณะ[ 6 ] [ 5 ]ภายใน 24 ชั่วโมงแรกหลังจากการเปิดตัว มีผู้ดาวน์โหลดแอปมากกว่า 1 ล้านคน[ 34 ]และภายใน 48 ชั่วโมง มีผู้ดาวน์โหลดมากกว่า 2 ล้านคน[ 35 ]ภายในสัปดาห์ที่สอง มีผู้ลงทะเบียนมากกว่า 4 ล้านคน[ 36 ]พร้อมกับการเปิดตัวปีเตอร์ ดัตตันรัฐมนตรีว่าการกระทรวงกิจการภายในได้ประกาศกฎหมายใหม่ที่จะทำให้การบังคับให้ใครก็ตามส่งมอบข้อมูลจากแอปเป็นเรื่องผิดกฎหมาย แม้ว่าพวกเขาจะลงทะเบียนและมีผลตรวจเป็นบวกก็ตาม[ 37 ] [ 38 ]ซอร์สโค้ดของแอปยังถูกเผยแพร่เมื่อวันที่ 8 พฤษภาคม 2020 [ 39 ] [ 40 ]หลังจากล่าช้า[ 41 ]จนกว่าการตรวจสอบโดยAustralian Signals Directorateจะเสร็จสิ้น[ 42 ]
ดูเพิ่มเติม
ลิงก์ภายนอก
- เอกสารไวท์เปเปอร์ฉบับนี้ถูกเก็บถาวรไว้ในWayback Machine เมื่อวันที่ 20 เมษายน 2563
- OpenTrace GitHub
- หน้าแรกของ BlueTrace ถูกเก็บถาวรเมื่อวันที่ 11 เมษายน 2020 ที่Wayback Machine