1 คะแนน โดย GN⁺ 2025-10-03 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • Signal นำ Sparse Post Quantum Ratchet (SPQR, แร็ตเช็ตโพสต์ควอนตัมแบบเบาบาง) มาใช้เพื่อยกระดับความปลอดภัยของโปรโตคอล Signal อย่างมาก เสริมความทนทานต่อภัยคุกคามจากคอมพิวเตอร์ควอนตัมในอนาคต ขณะเดียวกันก็ยังคงการรับประกัน Forward Secrecy (FS) และ Post-Compromise Security (PCS) เดิมไว้
  • โปรโตคอล Signal คือ ชุดข้อกำหนดเชิงเข้ารหัสที่มอบการเข้ารหัสแบบต้นทางถึงปลายทาง ให้กับการสื่อสารส่วนตัวที่มีผู้คนนับพันล้านทั่วโลกใช้งานทุกวัน และนับตั้งแต่เปิดตัวในปี 2013 ก็ถูกนำไปใช้ไม่เพียงในแอป Signal แต่รวมถึงผลิตภัณฑ์รับส่งข้อความรายใหญ่อื่นๆ
  • PQXDH ที่ประกาศก่อนหน้านี้ได้ผสานความลับการเข้ารหัสที่ต้านทานควอนตัมระหว่างการตั้งค่าเซสชันแชต เพื่อป้องกันการโจมตีแบบ harvest-now-decrypt-later แต่ SPQR ทำให้สามารถ ลดความเสียหายและกู้คืนได้เมื่อการสนทนาดำเนินต่อไป พร้อมบรรลุการรับประกัน FS และ PCS ในแบบที่ปลอดภัยต่อควอนตัม
  • SPQR ถูกผสานเข้ากับ Double Ratchet เดิมของ Signal จนเกิดเป็นชุดผสมที่เรียกว่า Triple Ratchet โดยไม่เปลี่ยนประสบการณ์ใช้งานของผู้ใช้ การสนทนาทั้งหมดจะสลับไปใช้โปรโตคอลใหม่โดยอัตโนมัติ และปกป้องทั้งการสื่อสารปัจจุบันและในอนาคต
  • ผ่านงานวิจัยทางวิชาการ (บทความ Eurocrypt 25, USENIX 25), การแบ่งข้อมูลแบบอิง erasure code และการตรวจพิสูจน์อย่างเป็นทางการ (ProVerif, hax/F*) โปรโตคอลนี้ได้รับการตรวจสอบความถูกต้องและคุณสมบัติด้านความปลอดภัยด้วยเครื่องจักร และมีการตรวจซ้ำทุกครั้งที่มีการเปลี่ยนแปลงใน CI pipeline เพื่อให้เป็นส่วนที่เคลื่อนไหวร่วมกับกระบวนการพัฒนา

ภาพรวม

  • Signal ยกระดับความปลอดภัยของ Signal Protocol ขึ้นอีกขั้นด้วยการนำ Sparse Post Quantum Ratchet (SPQR) มาใช้
  • SPQR ต่อยอดจากความแข็งแกร่งด้านความปลอดภัยเดิม เพื่อรับมือกับภัยคุกคามจากคอมพิวเตอร์ควอนตัมในอนาคต และเสริมโครงสร้างการรับประกัน Forward Secrecy (FS) และ Post-Compromise Security (PCS) ให้แน่นแฟ้นยิ่งขึ้น
  • ระบบถูกนำไปใช้ทั่วทั้งแพลตฟอร์มอย่างแนบเนียนจนผู้ใช้แทบไม่รู้สึกถึงความเปลี่ยนแปลง พร้อมทำให้มั่นใจได้ว่าบทสนทนาจะยังได้รับการปกป้องอย่างปลอดภัยแม้คอมพิวเตอร์ควอนตัมจะเกิดขึ้นจริง

สถานะของ Signal Protocol เดิม

  • Signal Protocol เป็นมาตรฐานการส่งข้อความแบบ เข้ารหัสต้นทางถึงปลายทาง ที่ถูกใช้งานในชีวิตประจำวัน
  • โครงสร้าง Double Ratchet ในโปรโตคอลเดิมใช้ ฟังก์ชันแฮช (ปลอดภัยต่อควอนตัม) เพื่อให้ได้ Forward Secrecy และใช้ Elliptic Curve Diffie-Hellman (ECDH) เพื่อให้ได้ Post-Compromise Security
  • แม้ ECDH จะยังมีความปลอดภัยสูงในปัจจุบัน แต่ก็มีความเสี่ยงที่จะอ่อนแอลงเมื่อคอมพิวเตอร์ควอนตัมพัฒนาในอนาคต
  • Ratchet คือเทคนิคที่สร้างกุญแจลับใหม่ระหว่างการสนทนาอย่างต่อเนื่อง เพื่อป้องกันไม่ให้เนื้อหาของข้อความก่อนหน้าหรือหลังจากนั้นรั่วไหล
  • Alice และ Bob จะตกลงข้อมูลลับ ECDH ชุดใหม่เป็นระยะเพื่อรีเฟรชเซสชัน

ความจำเป็นในการผสานองค์ประกอบด้านความปลอดภัยต่อควอนตัม

  • คอมพิวเตอร์ควอนตัมอาจทำให้วิธีเข้ารหัสแบบอสมมาตรดั้งเดิมอย่าง ECDH ใช้งานไม่ได้ผล
  • เพื่อเตรียมรับมือ จึงมีการใช้แนวทางเริ่มต้นอย่าง PQXDH ที่ผสานข้อมูลลับที่ปลอดภัยต่อควอนตัมตั้งแต่เริ่มเซสชัน
  • ระหว่างการสนทนา ความจำเป็นของการแลกเปลี่ยนกุญแจอย่างต่อเนื่องด้วย Key Encapsulation Mechanism (KEM) ที่ใช้อัลกอริทึมปลอดภัยต่อควอนตัมจึงเด่นชัดขึ้น
  • KEM สามารถสร้าง shared secret ได้คล้าย Diffie-Hellman แต่ต้องอาศัยการแลกเปลี่ยน ข้อความอสมมาตรที่มีลำดับกำกับ
  • มีการใช้ KEM มาตรฐานอย่าง ML-KEM เพื่อสร้างความลับที่ต่อเนื่องและปลอดภัยต่อควอนตัมระหว่างเซสชัน

State machine และการเพิ่มประสิทธิภาพแบนด์วิดท์

  • เนื่องจากวิธีแบบ KEM มีข้อมูลสำหรับการแลกเปลี่ยนกุญแจขนาดใหญ่ (ราว 1000 ไบต์) การ เพิ่มประสิทธิภาพแบนด์วิดท์การสื่อสาร จึงเป็นประเด็นสำคัญ
  • ใช้ตรรกะของ state machine เพื่อจัดการว่า Alice และ Bob จะส่งข้อมูลประเภทใดให้กันและกันเมื่อใด (เช่น Encapsulation Key, Ciphertext)
  • ใช้ การแบ่งข้อมูลเป็นชิ้น และ erasure codes เพื่อแบ่งข้อมูลขนาดใหญ่เป็นส่วนย่อย ทำให้กู้คืนได้ง่ายเมื่อเกิดการสูญหายของข้อความหรือข้อมูล
  • ยังถูกออกแบบให้ผู้โจมตีไม่สามารถเลือกดรอปเฉพาะชิ้นส่วนของการแลกเปลี่ยนกุญแจเพื่อทำให้โปรโตคอลล้มเหลวได้ง่าย
  • ส่งผลให้ระบบรองรับสภาพแวดล้อมมือถือจริงได้อย่างมีประสิทธิภาพ ทั้งกรณีข้อความสูญหาย เรียงลำดับใหม่ หรือเกิดความล่าช้า

จุดแลกเปลี่ยนระหว่างประสิทธิภาพกับความปลอดภัยและการปรับแต่ง

  • หากเร่งความเร็วการสร้าง shared secret มากเกินไป อาจกลับทำให้ข้อมูลลับทั้งหมดในช่วงเวลาหนึ่งมีความเสี่ยงถูกเปิดเผยหากถูกโจมตี
  • Signal ทำการจำลอง state machine จำนวนมากเพื่อหาจุดสมดุลระหว่างความปลอดภัยและประสิทธิภาพระหว่างการส่งแบบขนานและแบบลำดับ
  • มีการวิเคราะห์ขั้นตอนย่อยของ ML-KEM และใช้วิธีอย่าง การแบ่งชิ้นแล้วส่งพร้อมกัน เพื่อใช้แบนด์วิดท์ให้คุ้มค่าสูงสุด
  • กระบวนการนี้ถูกตั้งชื่อว่า ML-KEM Braid และนำมาใช้เป็นโมดูลหนึ่งในโปรโตคอลของตนเอง

โครงสร้าง Triple Ratchet

  • ให้ Double Ratchet (เดิม) และ SPQR (ใหม่, ปลอดภัยต่อควอนตัม) ทำงานร่วมกัน แล้วนำกุญแจมารวมเพื่อสร้างกุญแจเข้ารหัสแบบไฮบริด
  • แนวทาง Triple Ratchet ทำให้ข้อความจะมีความเสี่ยงถูกเปิดเผยก็ต่อเมื่ออัลกอริทึมทั้งสองถูกเจาะได้พร้อมกัน จึงยกระดับความปลอดภัยอย่างมาก
  • ในการใช้งานจริง จะรับกุญแจเข้ารหัสจากทั้ง Double Ratchet และ SPQR แล้วรวมอีกครั้งผ่านฟังก์ชันสืบทอดกุญแจ
  • โครงสร้าง Triple Ratchet รับประกันความปลอดภัยทั้งแบบดั้งเดิมและแบบต้านทานควอนตัมสำหรับข้อความในอดีตและอนาคต

การนำไปใช้แบบไม่พร้อมกันและการจัดการความเข้ากันได้

  • เนื่องจากการอัปเกรดจะค่อยๆ ทยอยใช้งาน จึงอาจเกิดปัญหาความเข้ากันได้กับผู้ใช้ที่ยังไม่รองรับ SPQR
  • ระบบจึงออกแบบให้ยอมรับการดาวน์เกรดชั่วคราวในช่วงการเจรจาข้อความเริ่มต้น เพื่อให้ผู้ใช้ทั้งสองฝ่ายสื่อสารกันด้วยวิธีที่เข้ากันได้
  • เมื่อมีการแนบข้อมูล SPQR ไปกับข้อความ ข้อมูลนั้นจะได้รับการปกป้องด้วยรหัสยืนยันตัวตน เพื่อป้องกันผู้โจมตีบังคับให้เกิดการดาวน์เกรด
  • เมื่อทั้งสองฝ่ายเจรจาความเข้ากันได้เสร็จสิ้นแล้ว การตัดสินใจใช้ SPQR จะถูกตรึงไว้ตลอดทั้งเซสชัน
  • เมื่อผู้ใช้ทั้งหมดอัปเกรดเป็นเวอร์ชันที่รองรับ SPQR แล้ว เซสชันเก่าจะถูกเก็บถาวรหรือยุติ และเซสชันใหม่จะใช้ SPQR อย่างสมบูรณ์

การตรวจสอบความปลอดภัยของโปรโตคอลและเครื่องมือที่ใช้

  • ตั้งแต่ขั้นตอนออกแบบโปรโตคอล มีการร่วมมืออย่างใกล้ชิดกับนักวิจัยในแวดวงวิชาการ รวมถึง PQShield, AIST และ NYU
  • บทความวิชาการในงานอย่าง Eurocrypt 25 และ USENIX 25 พิสูจน์ในเชิงทฤษฎีว่าโปรโตคอลนี้ตอบโจทย์ทั้งความปลอดภัยต่อควอนตัมและข้อกำหนดการรับประกันแบบเดิม
  • จากโปรโตคอล post-quantum ratchet ที่เสนอมา 6 แบบ เหลือรอด SPQR และ Katana (โปรโตคอลใหม่ที่ใช้ KEM)
  • การตรวจพิสูจน์อย่างเป็นทางการ (Formal Verification) ถูกดูแลแบบอัตโนมัติอย่างต่อเนื่องผ่านเครื่องมืออย่าง Cryspen, ProVerif, hax, F* และใน CI pipeline
  • การซิงก์ระหว่างการติดตั้งใช้งานด้วย Rust และโมเดลสำหรับการตรวจพิสูจน์ ช่วยรับประกันความสอดคล้องกันระหว่างแบบออกแบบกับโค้ดจริง
  • ระหว่างการพัฒนา ยังมีการใส่เงื่อนไขคงที่ (assertion) ลงในโค้ดอย่างจริงจัง เพื่อให้แอปหยุดทำงานทันทีเมื่อเกิดข้อผิดพลาดและป้องกันช่องโหว่ที่อาจเกิดขึ้นล่วงหน้า

การตรวจพิสูจน์ควบคู่ไปกับการพัฒนาอย่างต่อเนื่อง

  • กระบวนการตรวจพิสูจน์อย่างเป็นทางการไม่ใช่งานที่ทำครั้งเดียว แต่จะรันซ้ำโดยอัตโนมัติทุกครั้งที่มีการเปลี่ยนแปลงใน codebase
  • หากการตรวจพิสูจน์ล้มเหลวเมื่อมีการรวมโค้ดใหม่ ก็จะไม่สามารถ build ได้
  • จากประสบการณ์จริง เพียงจัดการข้อผิดพลาดบริเวณค่าขอบเขตและเงื่อนไขก่อน/หลังให้ชัดเจน ก็ทำให้ดูแลรักษาได้ง่ายและยกระดับความสมบูรณ์ของโปรโตคอลได้มาก

สรุป

  • Signal มุ่งนำโครงสร้าง Triple Ratchet ที่เชื่อถือได้ (Double Ratchet + SPQR) มาใช้ เพื่อมอบ ความปลอดภัยแบบต้านทานควอนตัมให้กับทุกข้อความ
  • การเปลี่ยนผ่านโปรโตคอลจะเกิดขึ้นแบบค่อยเป็นค่อยไป โดยไม่มีการหยุดให้บริการหรือสร้างความไม่สะดวกแก่ผู้ใช้
  • ปริมาณข้อมูลเพิ่มเติมที่ต้องส่งมีน้อยมาก จึงแทบไม่เพิ่มภาระด้านต้นทุนในสภาพแวดล้อมมือถือ
  • โปรโตคอลนี้ยังแข็งแกร่งต่อการโจมตีแบบคนกลาง (MITM) เพราะหากผู้โจมตีพยายามบิดเบือน ก็จำเป็นต้องทำให้เกิดภาวะปฏิเสธการให้บริการแทน
  • โค้ดและแบบออกแบบได้รับการตรวจพิสูจน์อย่างเป็นระบบ และจะยังคงรักษาความปลอดภัยต่อไปในอนาคต
  • สำหรับผู้ใช้ Signal นั้น ระบบจะมอบสภาพแวดล้อมที่ได้รับการปกป้องโดยที่แทบไม่สังเกตเห็นทั้งการเปลี่ยนแปลงของโปรโตคอลและภัยคุกคามจากคอมพิวเตอร์ควอนตัม

1 ความคิดเห็น

 
GN⁺ 2025-10-03
ความคิดเห็นจาก Hacker News
  • แม้ Signal จะออกงานวิจัยด้านคริปโตที่ยอดเยี่ยมอย่างต่อเนื่อง แต่ในมุมของตัวผลิตภัณฑ์กลับให้ความรู้สึกเหมือนกำลังลองโน่นลองนี่เพราะไม่รู้ว่าอะไรจะสำเร็จ ทั้ง post-quantum handshake, สตอรี่, การโอนเงิน และความพยายามใหม่ ๆ อื่น ๆ แต่ก็ยังไม่มี SDK, API หรือการรองรับบอต อีกทั้งไลบรารีทางการก็ยังไม่สมบูรณ์และไม่มีเอกสาร ฟีเจอร์จำนวนมากก็ยังซ่อนอยู่ในฝั่งไคลเอนต์ แม้จะเปิดเผยสเปกของโปรโตคอลไว้ แต่การบอกให้นักพัฒนาไปสร้างไลบรารีเองจากสิ่งนั้น เป็นท่าทีที่ไร้ความรับผิดชอบและห่างไกลจากการทำผลิตภัณฑ์จริงอย่างสิ้นเชิง แพลตฟอร์มที่มีผู้ใช้หลายล้านคนไม่ควรขาดพื้นฐานระดับนี้ แอปอย่าง WhatsApp และ iMessage ยังเปิดอะไรบางอย่างให้นักพัฒนา แต่ Signal เหมือนตั้งใจกันเรื่องนักพัฒนาออกไปทั้งหมด จนชวนให้สงสัยว่าอาจไม่มีคนดูแลผลิตภัณฑ์เลยด้วยซ้ำ เพราะมองไม่เห็นกลยุทธ์ที่ชัดเจน ในฐานะคนที่ใช้ Signal มานานและคอยเชียร์มันมาตลอด ทุกวันนี้ Signal ให้ความรู้สึกเหมือนเมสเซนเจอร์ที่แปะเทคโนโลยีคริปโตสุดล้ำเพิ่มเข้าไปเรื่อย ๆ แต่กลับปิดกว่านิเวศของ Apple เสียอีกสำหรับนักพัฒนา ถึงอย่างนั้นก็ยังขอบคุณคนที่สร้างผลิตภัณฑ์นี้

    • เห็นด้วย โดยเฉพาะฟีเจอร์ "สตอรี่" ที่ให้ความรู้สึกชัดมากว่าแค่โยนออกมาดูว่าจะเวิร์กไหม ฉันคิดว่าเพราะ Signal มาจากองค์กรไม่แสวงกำไรที่มีแนวคิดแบบอนาธิปไตย เป้าหมายเลยต่างจากบริษัททั่วไป ตัวแอปก็ยังทำหน้าที่หลักของมันได้ดีจึงโอเค แต่ถ้ามี SDK ก็คงดีมาก

    • สงสัยเหมือนกันว่าฟีเจอร์อย่าง API หรือบอตธุรกิจสำคัญจริงหรือเปล่า WhatsApp กับ iMessage มี API สำหรับธุรกิจ แต่ในฐานะผู้ใช้ทั่วไป ฉันแทบไม่เคยใช้สิ่งนั้นเพื่อโต้ตอบกับธุรกิจจริง ๆ เลย ที่เจอบ่อยกว่าคือบอตมารบกวนแทน ปัญหาจริงของ Signal คือถ้าแอปเงียบ ๆ กลายเป็นเวอร์ชันเก่าหรือหยุดอัปเดต มันไม่แจ้งเตือนและคุณอาจพลาดข้อความไปทั้งหมด ซึ่งนี่คือภารกิจหลักของเมสเซนเจอร์แท้ ๆ แต่กลับทำไม่ได้

    • ตรงกันข้ามเลย สำหรับฉันการไม่มี API กับบอตกลับเป็นข้อดี

    • ฉันอยากให้พวกเขาโฟกัสกับการทำเมสเซนเจอร์ที่ปลอดภัยและใช้งานได้ดีแบบตอนนี้ต่อไปมากกว่า โดยไม่ต้องมีฟีเจอร์พวกนั้น

    • สิ่งที่ทำให้ฉันหงุดหงิดมากกับ Signal คือเสียงเรียกเข้าที่ฝั่งผู้โทรได้ยินดังขึ้น แม้โทรศัพท์ของผู้รับจริง ๆ จะไม่ได้ดังเลยก็ตาม นี่เป็นนโยบายทางการที่พวกเขาปกป้องมาตั้งแต่ก่อนแล้วว่าเจตนาให้เป็นแบบนี้ หลังจากเอาเสียงซาวด์ใต้น้ำแบบเก่าออกไปก็ยังเป็นอย่างนี้ต่อมา

  • พอเห็นว่าโปรโตคอลของ Signal ชื่อ SPQR ก็สะดุ้งเลย SPQR เป็นตัวย่อภาษาละตินของ "Senatus Populusque Romanus" ดูในวิกิพีเดีย เท่มาก

    • การใช้ชื่อ SPQR กับโปรโตคอลแนวอนาคตแบบนี้ให้อารมณ์คล้าย Ozymandias อยู่เหมือนกัน

    • ตั้งชื่อได้ฉลาดมาก ฉันคุ้นกับชื่อนี้เพราะมันโผล่บ่อยในรอยสักของทหารโรมันในมินิซีรีส์ของ BBC เรื่อง "Rome" Rome ในวิกิพีเดีย

    • Strength and Honor(ความเข้มแข็งและเกียรติยศ)

    • ฉันว่ามุกแบบนี้มีให้เห็นได้เฉพาะใน Hacker News นึกถึงการ์ตูนเก่าที่พูดถึง "นักคณิตศาสตร์จำหมายเลขล็อกเกอร์ของตัวเองยังไง" ("1975? นั่นคือรากที่สองของ 3,900,625 ไง!")

    • หรือจริง ๆ อาจแค่ตั้งชื่อว่า "SPQR" เพราะมันฟังคล้าย "Speaker" เลยเข้ากับแอปแชตก็ได้ ไม่จำเป็นต้องโยงทุกอย่างเข้ากับโรมันเสมอไป

  • จุดอ่อนที่สุดของ Signal คือการใช้หมายเลขโทรศัพท์เพื่อระบุตัวตน ไม่ใช่แค่แฮ็กเกอร์ แม้แต่รัฐบาลอำนาจนิยมก็สามารถยึดหมายเลขโทรศัพท์ได้ทุกเมื่อ การคิดถึงภัยคุกคามในอนาคตก็สำคัญ แต่ลำดับความสำคัญควรถูกจัดใหม่

    • เผื่อยังมีคนไม่รู้: Signal เปิดตัวฟีเจอร์ซ่อนหมายเลขโทรศัพท์ด้วยชื่อผู้ใช้ (กุมภาพันธ์ 2024)

    • เมสเซนเจอร์สายความปลอดภัยหลายตัวทำงานได้โดยไม่ต้องใช้หมายเลขโทรศัพท์ และยังให้บริการแบบลบเมทาดาทาได้ด้วย ในประเทศที่หมายเลขโทรศัพท์กับ SIM ผูกกับตัวบุคคล วิธีของ Signal จึงเป็นกำแพงในการเริ่มใช้งาน

    • การบังคับใช้หมายเลขโทรศัพท์ก็มีข้อดีด้านการกันสแปม เป็นวิธีที่ง่ายแต่เชื่อถือได้

    • ฉันไม่ได้รู้สึกว่าการยืนยันตัวตนด้วยหมายเลขโทรศัพท์เป็นปัญหาร้ายแรงถึงขั้นนั้น ต่อให้รัฐบาลอำนาจนิยมยึดหมายเลขไปได้ ก็ไม่ได้แปลว่าจะได้ประวัติข้อความไปด้วย ผู้ใช้ที่ได้รับสัญญาณเตือนก็จะรู้ตัวอยู่แล้ว Signal ไม่ได้ไร้ปัญหา และการวิจารณ์พร้อมตั้งมาตรฐานก็จำเป็นมาก แต่ถึงอย่างนั้นมันก็ยังเป็นเมสเซนเจอร์เพียงตัวเดียวที่คนทั่วไปใช้งานได้และให้ทั้งการเข้ารหัสแบบ end-to-end อย่างสมบูรณ์พร้อมการปกป้องเมทาดาทา มีบริการที่ปลอดภัยและเป็นส่วนตัวกว่านี้ก็จริง แต่ประเด็นสำคัญคือคุณยายของฉันก็ยังใช้มันได้ เมื่อ Signal วางรากฐานด้านความปลอดภัยได้แน่นพอแล้ว ฉันก็อยากให้ต่อไปโฟกัสด้านความเป็นส่วนตัวมากขึ้น แม้จะวิจารณ์ ฉันก็ยังแนะนำมันอย่างหนักแน่นและชวนเพื่อน ๆ ให้ใช้เป็นประจำ ฉันยังเคยบริจาคหลายครั้งด้วย ดูรายงานความโปร่งใสของ Signal

    • Signal มีฟีเจอร์ชื่อ "Registration Lock" ซึ่งถ้าตั้งรหัสผ่านไว้ จะช่วยป้องกันไม่ให้บัญชีถูกยึดไปจากการขโมย SIM

  • อยากรู้ว่าหลังจาก Signal ใช้ SPQR(แรตเช็ตต้านควอนตัม) ครั้งนี้ ถ้าเทียบกับ PQ3 ของ iMessage แล้วอยู่ตรงไหน และก็อยากฟังมุมมองต่อความพยายามด้านการส่งข้อความแบบต้านควอนตัมก่อนหน้าของ Cyph กับ Simplex ด้วย แนะนำ iMessage PQ3 / Cyph - Post-Quantum Castle / Simplex - ฟีเจอร์ต้านควอนตัม

    • SPQR ของ Signal คล้ายกับ PQ3 ตรงที่เป็นโครงสร้างแรตเช็ตบน ML-KEM แต่ต่างกันที่วิธีส่งกุญแจ เพราะกุญแจ ML-KEM มีขนาดใหญ่ PQ3 เลยเลือกส่งเป็นระยะ ๆ ไม่บ่อยนัก ส่วน Signal ใช้วิธีแบ่งส่งไปพร้อมกับข้อความ การทำ chunking แบบนี้ถูกมองว่าปลอดภัยและมีประสิทธิภาพกว่าในด้านแบนด์วิดท์ที่ซ่อนอยู่ แม้แบนด์วิดท์รวมอาจเพิ่มขึ้นเพราะ error correction coding แต่ขนาดของแต่ละข้อความจะคงที่ ฝั่ง Apple คงป้องกันการสลับกุญแจแบบโจมตีได้ง่ายกว่าเพราะควบคุมเครือข่ายได้มากกว่า

    • ฉันยังไม่แน่ใจว่า iMessage มีความหมายมากนักในสภาพแวดล้อมจริงหรือเปล่า เพราะผู้ใช้ iPhone ส่วนใหญ่ใช้ iCloud Backup แบบไม่เป็น E2E และการสำรองข้อมูลแบบเข้ารหัสเต็มรูปแบบเป็นตัวเลือกเสริม นั่นแปลว่าเมื่อมีคำขอจากหน่วยงานบังคับใช้กฎหมาย Apple ก็ยังถอดรหัสให้ได้อยู่ดี ต่อให้ไม่มีคอมพิวเตอร์ควอนตัม มันก็เปราะบางพออยู่แล้ว

  • เห็นชื่อ SPQR(Sparse Post-Quantum Ratchet) แล้วรู้สึกเลยว่าในทีม Signal น่าจะมีคนคลั่งประวัติศาสตร์โรมันอยู่แน่ ๆ

    • ทุกคนคิดถึงจักรวรรดิโรมันกันบ่อยแค่ไหน?

    • หรืออาจเป็นการดัดแปลงจากคำที่เหมาะกับแอปแชตที่สุดอย่าง "Speaker" ก็ได้

  • จุดอ่อนที่สุดของ Signal คือการยืนยันตัวตนโดยอิงหมายเลขโทรศัพท์ ไม่ใช่แค่แฮ็กเกอร์ แต่รัฐบาลอำนาจนิยมก็มีความเสี่ยงจะยึดความเป็นเจ้าของหมายเลขได้ทุกเมื่อ จะสนใจภัยคุกคามแห่งอนาคตก็ดี แต่ควรจัดลำดับความสำคัญใหม่

    • มีเมสเซนเจอร์สายความปลอดภัยจำนวนมากที่ทำงานได้ดีโดยไม่ต้องใช้หมายเลขโทรศัพท์ บริการเหล่านี้ยังปกป้องเมทาดาทาได้ดีมากด้วย ในหลายประเทศที่มีการลงทะเบียน SIM ด้วยชื่อจริง วิธีของ Signal จึงเป็นอุปสรรคในการเข้าถึงอย่างมากในทางปฏิบัติ
  • ฉันอยากให้ Signal กลายเป็นชั้นส่งข้อความ หรือก็คือ 'transport bus' เช่น ถ้าฉันสามารถขอและส่งข้อมูลตำแหน่งของตัวเองอย่างปลอดภัยให้ผู้ติดต่อบางคนได้ (เช่น ภรรยา) ก็จะไม่ต้องผ่าน Google เพราะเรื่องการยืนยันตัวตนแก้ไปแล้ว ฉันคิดว่าถึงเวลาแล้วที่ Signal ควรสนับสนุนให้มีการสร้างแอปบน Signal และฉันยังคิดว่าถ้าใช้ Signal สำหรับ 2FA ก็จะปลอดภัยกว่า SMS มาก

    • ฉันสงสัยว่าเหตุผลที่แทบไม่มีแอป third-party บน Signal เป็นเพราะไลเซนส์ AGPL 3 หรือเปล่า
  • อยากเห็นการเปรียบเทียบระหว่าง Signal Protocol ยุคปัจจุบันกับ Matrix, MLS และอย่างอื่นด้วย มันพัฒนาเร็วมากจนตามแทบไม่ทัน เลยอยากรู้ภาพความสัมพันธ์ของทั้งหมด ณ ตอนนี้

    • สรุปสั้น ๆ คือ Signal Protocol เป็นชื่อเรียกรวมของตระกูลโปรโตคอลเข้ารหัสที่ Signal พัฒนาต่อเนื่องมาตลอด เริ่มจาก double ratchet แล้วเสริม PQXDH(ใช้ Kyber512 กับการแลกเปลี่ยนกุญแจเริ่มต้น) และตอนนี้ก็เพิ่ม SPQR ratchet(ทำให้การเข้ารหัสสำหรับการต่ออายุเซสชันเป็นแบบ PQ ด้วย) จุดเด่นของ Signal คือการปกป้องเมทาดาทา(ไม่เปิดเผยโครงสร้างกลุ่ม, sealed sender ฯลฯ) การดำเนินงานแบบรวมศูนย์เต็มตัว และการห้ามมี implementation ของบุคคลที่สามนอกจากต้นฉบับ(AGPL+CLA)
      Matrix เป็น open standard ใช้ชุด Olm+Megolm(ผสม double ratchet กับ group-key ratchet) และมีโครงสร้างที่เซิร์ฟเวอร์มองเห็นเมทาดาทาได้(เช่น โครงสร้างกลุ่มถูกเปิดให้เซิร์ฟเวอร์เห็น, ค่าแอตทริบิวต์บางอย่างเก็บเป็นข้อความล้วน โดยกำลังมีงานปรับปรุงอยู่: บล็อก Element - แผนเข้ารหัสเมทาดาทาของห้อง) โครงสร้างแบบกระจายศูนย์ทำให้ใครก็สร้างเซิร์ฟเวอร์ได้
      ส่วน MLS(RFC 9420) เป็นโปรโตคอลสำหรับสมาชิกกลุ่มและการแลกเปลี่ยนกุญแจ สามารถใช้แทน double ratchet ได้ และช่วงหลังมีข้อเสนอให้รองรับ PQ ด้วย ประสิทธิภาพอยู่ที่ O(log N) ต่อกลุ่มจึงมีประสิทธิผลดี มันยังไม่สุกงอมและซับซ้อนกว่า double ratchet การนำไปใช้จึงยังค่อนข้างช้า แต่ในฐานะมาตรฐาน IETF ก็มีการใช้งานแล้วใน Google, RCS, Discord/Webex VoIP เป็นต้น อย่างไรก็ตาม มันไม่ได้ให้การซ่อนเมทาดาทาหรือคุณสมบัติ deniability ทางคริปโต
  • บทความนี้เป็นงานเขียนด้านคริปโตที่ดีที่สุดระดับแนวหน้าที่ฉันเคยอ่านมา ฉันคิดว่าตัวเองพอเข้าใจเรื่องพวกนี้อยู่บ้าง แต่บทความอื่นในหัวข้อคล้ายกันมักทำให้ตาล้าไปกลางทางจริง ๆ ขณะที่บทความนี้ ต่อให้พูดถึงเรื่องที่ไม่คุ้นเลย ฉันก็ยังตามกระแสเนื้อหาได้ทั้งหมด

  • มีใครที่เข้าใจภัยคุกคามจากคริปโตยุคควอนตัมช่วยอธิบายแบบง่าย ๆ ได้ไหมว่าโปรโตคอลล่าสุดของ Signal ปลอดภัยขึ้นอย่างไร อ่านแล้วก็ยังไม่ค่อยเข้าใจว่ามันดีขึ้นตรงไหนแน่ แล้วในทางปฏิบัติผู้ใช้จะรู้สึกว่าแอปช้าลงไหม?

    • อธิบายสั้น ๆ คือศัตรูของเราอาจ "ยังถอดรหัสตอนนี้ไม่ได้ แต่วันหนึ่งถ้าคอมพิวเตอร์ควอนตัมทำได้จริง ก็จะเอาข้อความเข้ารหัสที่เก็บสะสมไว้มาแกะทีเดียวในอนาคต" นี่คือโมเดลภัยคุกคามมาตรฐานที่เรียกว่า "Harvest and decrypt" ถ้าคุณใช้ Signal เพื่อเก็บความลับที่ต้องคงอยู่ยาวนานหรือปกป้องไปถึงอนาคต คุณก็ต้องมีการตกลงกุญแจแบบ PQ ตั้งแต่วันนี้ นี่จึงเป็นเหตุผลที่ต้องมีโปรโตคอลใหม่อย่าง PQXDH
      สิ่งที่ทำให้ PQ ratchet สำคัญคือ ภัยที่เป็นจริงมากอีกแบบคือ ผู้โจมตีอาจไม่เพียงเก็บข้อความเข้ารหัสระยะยาว แต่วันหนึ่งอาจแฮ็กอุปกรณ์หรืออาศัยช่องโหว่ในการ implementation เพื่อให้กุญแจรั่วได้ คุณจึงต้องการการป้องกันสองชั้นคือ forward secrecy และ post-compromise security ถ้ามีการหมุนเวียนกุญแจอยู่ตลอด ทุกครั้งที่กุญแจเปลี่ยน แม้จะมีช่วงหนึ่งที่ถูกเจาะ ก็จะไม่ทำให้ทั้งข้อความในอดีตหรืออนาคตตกอยู่ในความเสี่ยงทั้งหมด และถ้าจะให้กลไกป้องกันนี้ยังทำงานได้ในโลกของคริปโตยุคควอนตัม โครงสร้างแรตเช็ตทั้งหมดก็ต้องเป็นแบบ PQ ด้วย ไม่เช่นนั้นผู้โจมตีก็จะเล็งโจมตีเฉพาะช่วงแรตเช็ต และคุณสมบัติความปลอดภัยทั้งหมดก็จะพังลง

    • การทำคริปโตต้านควอนตัมแบบเดิมของ Signal ยังไม่มี PCS(post-compromise security) แต่ครั้งนี้มีแล้ว ดีใจที่ในที่สุดก็เข้าใจว่า PCS หมายถึงอะไร แม้จะเป็นแนวคิดใหม่ที่น่าตื่นเต้น แต่ก็แอบเสียดายนิดหน่อยที่จริง ๆ แล้ว OTR(Off-the-Record) ก็เคยใช้วิธีลักษณะนี้มาก่อนอยู่แล้ว การแลกเปลี่ยนกุญแจนี้ไม่ได้เกิดขึ้นบ่อยนัก จึงแทบไม่มีผลกับประสิทธิภาพจริง

    • สรุปจากบล็อกทางการ:

      1. จากมุมผู้ใช้ ประสบการณ์ใช้งานแอปไม่เปลี่ยน
      2. การเปลี่ยนโปรโตคอลครั้งนี้เป็นแบบอัตโนมัติ จึงไม่ต้องทำอะไรเพิ่ม
      3. ผลคือเตรียมพร้อมต่อภัยจากคอมพิวเตอร์ควอนตัมในอนาคต พร้อมรักษาหลักความปลอดภัยเดิมไว้(ทั้ง forward secrecy และความปลอดภัยหลังการถูกเจาะ)
  • Sono pazzi, questi Romani(ชาวโรมันนี่บ้าจริง)

    • Die spinnen, die Römer!(ชาวโรมันนี่เพี้ยนจริง!)