MeldID: จากบัญชีเดียวสู่ระบบการจัดการการเข้าถึงดิจิทัล
เมื่อผมได้รู้จักกับ MeldID ครั้งแรก ผมมองว่านี่คือบริการระบุตัวตนดิจิทัลแบบรวมศูนย์ ตอนนี้โปรเจกต์มีแอปพลิเคชันสำหรับ iPhone และ Android ซึ่งรวม TOTP ออฟไลน์ การกู้คืนข้อมูลอัตโนมัติระหว่างอุปกรณ์ และการยืนยันการเข้าสู่ระบบในบริการที่เชื่อมต่อไว้แล้ว
เมื่อผมได้รู้จักกับ MeldID ครั้งแรก ผมมองว่านี่คือบริการระบุตัวตนดิจิทัลแบบรวมศูนย์ ตอนนี้โปรเจกต์มีแอปพลิเคชันสำหรับ iPhone และ Android ซึ่งรวม TOTP ออฟไลน์ การกู้คืนข้อมูลอัตโนมัติระหว่างอุปกรณ์ และการยืนยันการเข้าสู่ระบบในบริการที่เชื่อมต่อไว้แล้ว
ผมคาดว่าการพัฒนาต่อไปจะมุ่งเน้นไปที่โปรไฟล์และบริการเชื่อมต่อ แต่โปรเจกต์กลับพัฒนารวดเร็วจากโครงสร้างเซิร์ฟเวอร์ที่แทบมองไม่เห็น ไปสู่เครื่องมือจัดการการเข้าถึงในชีวิตประจำวัน
ก้าวถัดมา คือแอปพลิเคชันสำหรับ iPhone และ Android ซึ่งที่น่าสนใจเป็นพิเศษไม่ใช่การเปิดตัวแอปสำหรับมือถือเอง แต่เป็นภารกิจที่สามารถรวมอยู่ในแอปได้
TOTP ปกติ—แต่เป้าหมายต่างออกไป
ในแอปพลิเคชันมีเครื่องสร้างรหัสแบบใช้ครั้งเดียว TOTP ซึ่งเป็นตัวเลขที่เปลี่ยนแปลงอยู่ตลอดเวลา ที่ใช้สำหรับการยืนยันตัวตนแบบสองปัจจัย
มาตรฐานนี้ไม่ได้อ้างเป็นสิ่งประดิษฐ์ของตัวเอง ผู้ใช้สามารถเพิ่มบัญชีและรับรหัสที่ใช้งานในบริการภายนอกหรือเว็บไซต์อื่นได้
ส่วนใหญ่ของตัวสร้างรหัสตอบคำถามว่า: “จะแสดงรหัสหกหลักอย่างไร?” แต่ที่นี่คือการจัดการกับภารกิจที่กว้างกว่านั้น: วิธีจัดการวงจรชีวิตของ TOTP secrets อย่างปลอดภัย ตั้งแต่การเพิ่มและเก็บรักษา ไปจนถึงการกู้คืนบนอุปกรณ์อื่น และการลบบัญชี
โหมดออฟไลน์ทำงานอย่างเต็มที่
ในมุมมองแรก ค่าที่เห็นได้ชัด คือการสร้างรหัสในเครื่องเท่านั้น แต่ใน MeldID โหมดออฟไลน์นั้นรวมมากกว่านั้น
ข้อมูลที่บันทึกไว้แล้วยังคงใช้งานได้โดยไม่มีอินเทอร์เน็ต รหัสถูกสร้างขึ้นบนโทรศัพท์โดยตรง ดังนั้นความล่าช้าของการเชื่อมต่อชั่วคราวไม่ได้ขัดขวางการผ่านการตรวจสอบสองปัจจัย
นอกจากนี้ยังสามารถเพิ่มบันทึก TOTP ใหม่ได้ในโหมดออฟไลน์ ซึ่งจะเก็บไว้ในเครื่องและใช้ทันทีเพื่อสร้างรหัส เมื่อเชื่อมต่ออินเทอร์เน็ต ข้อมูลนี้จะถูกส่งไปยังพื้นที่เก็บข้อมูลที่มีการป้องกันและซิงค์กับอุปกรณ์อื่นโดยอัตโนมัติ
การแก้ไขและลบบันทึกที่ซิงค์แล้วจำเป็นต้องเชื่อมต่อกับเซิร์ฟเวอร์ ซึ่งช่วยป้องกันการมีเวอร์ชันของข้อมูลที่แตกต่างกันในแต่ละอุปกรณ์
ผลลัพธ์คือความสมดุล: การดำเนินการหลักสามารถทำได้โดยไม่เชื่อมต่อเน็ต และการเปลี่ยนแปลงที่ต้องใช้ความสอดคล้องกัน จะดำเนินการเมื่อเชื่อมต่ออีกครั้ง
โทรศัพท์เครื่องใหม่ไม่ได้หมายความว่ามีชุดรหัสใหม่
ปัญหาที่แรงที่สุดของตัวสร้างรหัส คือ การสูญเสีย เครื่องพัง หรือการเปลี่ยนโทรศัพท์ ในสถานการณ์ปกติ ต้องค้นหารหัสสำรอง โอนข้อมูลด้วยมือ หรือเชื่อมแอปใหม่กับแต่ละบริการ
แต่ที่นี่ ข้อมูลจะเชื่อมโยงกับบัญชี MeldID ไม่ใช่อุปกรณ์ใดอุปกรณ์หนึ่ง หลังเข้าสู่ระบบบนโทรศัพท์ใหม่และเริ่มต้นที่จัดเก็บข้อมูลแล้ว ข้อมูลจะถูกกู้คืนโดยอัตโนมัติ
ไม่ว่ามือถือเดิมจะบน Android หรือ iPhone หรือใหม่เป็น iPhone หรือ Android ก็ตาม สามารถเชื่อมต่อโทรศัพท์เครื่องที่สอง สาม หรือมากกว่านี้ โดยไม่ต้องดำเนินการถ่ายโอนแยกแต่ละแพลตฟอร์ม
สมมุติว่าโทรศัพท์พังระหว่างเดินทาง แทนที่จะกู้คืนการเข้าถึงทีละบริการ ผู้ใช้เข้าสู่ระบบ MeldID บนเครื่องใหม่และเสร็จสิ้นการตั้งค่าพื้นที่เก็บข้อมูล หลังจากนั้นบันทึก TOTP จะกลับเข้าสู่แอป
สามารถใช้งานหลายกลุ่มของบัญชี MeldID ในเครื่องเดียวได้อย่างอิสระ โดยข้อมูลของแต่ละบัญชีจะยังคงแยกจากกัน: ข้อมูลของบัญชีหนึ่งจะไม่ปนเปในข้อมูลของอีกบัญชี และจะไม่ปรากฏในอุปกรณ์โดยไม่มีการยืนยันสิทธิ์
ข้อมูลอะไรที่เก็บบนเซิร์ฟเวอร์
การกู้คืนอัตโนมัติหมายความว่าข้อมูลต้องถูกเก็บไว้ที่ใดที่หนึ่ง ถึงอย่างนั้น TOTP secrets จะไม่ถูกบันทึกในฐานข้อมูลในรูปแบบเปิด
เนื้อหาของบันทึกจะถูกใส่ไว้ในคอนเทนเนอร์ที่เข้ารหัส ในโครงสร้างปัจจุบันใช้การเข้ารหัส AES-256-GCM ที่ได้รับการยืนยันพร้อมกุญแจของพื้นที่เก็บข้อมูลที่แยกออกจากฐานข้อมูล
ดังนั้น การรั่วไหลของฐานข้อมูลหนึ่งไม่สามารถกลายเป็นรายการลับสำหรับสร้างโค้ดได้ ผู้โจมตีจะได้รับข้อมูลที่เข้ารหัส ไม่ใช่ข้อมูล TOTP ที่เปิดเผย
สำคัญคือ อย่าให้สัญญาแบบสมบูรณ์ ควรพูดว่า: TOTP secrets ที่เปิดเผยในฐานข้อมูลไม่ได้ถูกบันทึกไว้แบบเปิดเผย และการมีสำเนาของฐานข้อมูลครั้งเดียวก็ยังไม่เพียงพอสำหรับใช้งาน
การยืนยันการเข้าสู่ระบบผ่าน MeldID
ฟังก์ชันสำคัญอีกอย่างของแอปคือ Login Approval หรือการยืนยันการเข้าสู่ระบบแบบแยกต่างหาก
ถ้าเว็บไซต์หรือแอปสนับสนุน MeldID ผู้ใช้สามารถเริ่มเข้าสู่ระบบด้วยบัญชีของตนเองได้ด้วยการคลิกเดียว ในกรณีที่เปิดระบบป้องกัน การรับรองความถูกต้องสำเร็จไม่เพียงพอ: การเข้าสู่ระบบจะสมบูรณ์เฉพาะเมื่อได้รับการยืนยันจากอุปกรณ์มือถือที่เชื่อถือได้
คำขอสามารถอนุมัติได้ หากเป็นการเข้าสู่ระบบโดยผู้ใช้จริง หรือปฏิเสธถ้าเป็นการดำเนินการที่ดูเหมือนไม่คาดคิด
ต่างจากการยืนยันแบบ Push ทั่วไป, Login Approval ถูกฝังอยู่ในโครงสร้างของ MeldID และสามารถใช้ได้กับทุกบริการที่เชื่อมต่อกับระบบระบุนี้
Push ทำหน้าที่เป็นเพียงการแจ้งเตือนเกี่ยวกับคำขอใหม่เท่านั้น ไม่มีรหัสผ่าน รหัส TOTP หรือโทเค็นใดๆ ที่สามารถใช้เพื่อรับรองตัวตนได้
TOTP และ Login Approval ทำงานร่วมกัน
TOTP ยังคงเป็นมาตรฐานสากล และทำงานได้แม้ในบริการที่ไม่รู้จัก MeldID หลังจากโหลดข้อมูลแล้ว โค้ดจะถูกสร้างบนเครื่อง
Login Approval คือต้องในกรณีที่การเข้าสู่ระบบต้องผ่าน MeldID มันเป็นการเพิ่มขั้นตอนความตั้งใจของผู้ใช้และสามารถหยุดการดำเนินการก่อนสร้างเซสชัน
ดังนั้นแอปสามารถเป็นตัวสร้างรหัสอัตโนมัติสำหรับเว็บไซต์อื่นทั่วไปและเป็นเครื่องมือสำหรับยืนยันการเข้าสู่ระบบในระบบที่เชื่อมต่อได้พร้อมกัน
สิ่งที่เปลี่ยนแปลงในตัว MeldID เอง
ตอนแรกที่ผมรู้จักโปรเจกต์ ความคิดหลักคือการจัดการบัญชีเดียวและโปรไฟล์พกพา แต่ตอนนี้เป็นที่ชัดเจนว่า MeldID ค่อยๆ กลายเป็นศูนย์กลางการจัดการการเข้าถึงดิจิทัลส่วนตัว
เราสามารถ:
รับรหัส TOTP โดยไม่ต้องเชื่อมต่ออินเทอร์เน็ต;
เพิ่มบันทึกใหม่แบบออฟไลน์;
กู้คืนแบบอัตโนมัติบนอุปกรณ์ใหม่;
ใช้งานหลายโทรศัพท์;
แยกบัญชีหลายรายการในอุปกรณ์เดียว;
ยืนยันหรือปฏิเสธการเข้าสู่ระบบใหม่ๆ
ซึ่งคุณค่าไม่ได้อยู่ที่การสร้างรหัสหกหลักอีกต่อไป แต่เป็นการรักษาการเข้าถึงเมื่อเปลี่ยนอุปกรณ์ ไม่สูญเสียข้อมูลในกรณีไม่มีเครือข่าย และให้เจ้าของมีทางเลือกสุดท้ายที่รู้ตัวก่อนสร้างเซสชันใหม่
ความปลอดภัยไม่ขึ้นอยู่กับกลไกเดียว แต่เป็นการรวมกันของหลายแนวทาง: รหัส TOTP ไม่ถูกเก็บในรูปเปิด สถานะการเข้าถึงไม่ผูกมัดกับโทรศัพท์เครื่องเดียว ข้อมูลบัญชีแยกกันและไม่ปะปนกัน และการเข้าสู่ระบบบริการต่างๆ จะสำเร็จได้ก็ต่อเมื่อได้รับการยืนยันจากอุปกรณ์ที่เชื่อถือได้