นักวิจัยชี้ โปรโตคอล MTProto ที่ Telegram ใช้ ไม่ปลอดภัยเพียงพอ

by Ford AntiTrust
26 June 2016 - 11:33

Telegram เป็นแอปส่งข้อความความปลอดภัยสูงบนอุปกรณ์พกพาที่ได้รับความนิยมสูงมากในช่วงหลายปีที่ผ่านมา แต่มีงานวิจัยฉบับหนึ่งชื่อ On the CCA (in)security of MTProto เผยแพร่ในสมาคมนานาชาติเพื่อการวิจัย Cryptologic (International Association for Cryptologic Research) ซึ่งเขียนโดย Jakob Jakobsen และ Claudio Orlandi จากภาควิชาวิทยาการคอมพิวเตอร์ มหาวิทยาลัยฮอร์ฮูส ประเทศเดนมาร์ก

เนื้อหาเริ่มต้นของงานวิจัยพูดถึงคุณสมบัติทั่วไปที่เป็นจุดตั้งข้อสังเกตุคือ

  1. กล่าวถึงรูปแบบในการรับ-ส่งข้อความ 2 แบบ คือ Cloud Chat (ทั้งแบบคุยตัวต่อตัว และแบบคุยเป็นกลุ่ม) โดยรูปแบบนี้จะเป็นค่ามาตรฐานในการสื่อสาร โดยเก็บข้อมูลต่างๆ ที่สามารถอ่านได้ไว้ที่ฝั่ง Server เพื่อให้อุปกรณ์ทุกเครื่องที่เชื่อมต่อสามารถเห็นข้อมูลล่าสุดได้เหมือนๆ กัน และแบบ Secret Chat ที่เป็นรูปแบบ end-to-end encryption ที่สามารถรับ-ส่งข้อความได้เพียงเครื่องใดเครื่องหนึ่งและถอดรหัสได้เพียงเครื่องใดเครื่องหนึ่ง และ Server ที่ให้บริการไม่สามารถอ่านข้อความที่วิ่งรับ-ส่งได้เพราะเข้ารหัสจากต้นทาง และถอดรหัสที่ปลายทาง

  2. ตัว client ของ Telegram เป็นซอฟต์แวร์แบบเปิด (open source) ที่ยอมให้มีการตรวจสอบได้ทั้งหมด แต่สำหรับซอฟต์แวร์ฝั่ง server นั้นไม่สามารถใช้วิธีการนี้ได้ ทั้งนี้งานวิจัยนี้วิเคราะห์บนพื้นฐาน client จาก source code ของ Telegram รุ่น 2.7.0 ณ เดือนเมษายน 2015

ส่วนต่อมาของงานวิจัยฉบับนี้กล่าวถึงข้อมูลจุดที่มีปัญหาในตัว Telegram คือ

รูปแบบการเข้ารหัสแบบกุญแจสมมาตร (symmetric encryption scheme) ที่ชื่อ MTProto ซึ่งถูกใช้เข้ารหัสข้อมูลเพื่อรับ-ส่งข้อมูลของแอป Telegram ไม่เป็นไปตามคุณสมบัติ IND-CCA security เพราะ MTProto ใช้ block-cipher structure และมีการใส่ padding ลงไป เพื่อกำหนดความยาวของข้อมูลเพื่อใช้เช็คในระหว่างถอดรหัส นั้นหมายความว่า มีความเป็นไปได้ที่จะสร้างข้อความเข้ารหัสที่แตกต่างกันเพื่อที่จะถอดรหัสข้อความเดียวกันได้ (it is possible to turn any ciphertext into a different ciphertext that decrypts to the same message) แต่วิธีการโจมตีข้างต้นยังเป็นการโจมตีทางทฤษฎี ซึ่งยังไม่เห็นผลของการโจมตีนี้ว่าสามารถแปลงข้อมูลเข้ารหัสกลับมาเป็นข้อความเดิมได้จริงในตอนนี้ โดยนักวิจัยได้นำเสนอรูปแบบการโจมตีจากวิธีการเข้ารหัสดังกล่าวด้วยวิธี Padding-Length Extension และ Last Block Substitution ทางสมการ เพื่อพิสูจน์การโจมตีโปรโตคอล MTProto

นักวิจัยได้ให้ความเห็นสรุปว่า ไม่มีเหตุผลที่จะใช้โปรโตคอล MTProto เลย หากพบว่าการเข้ารหัสความปลอดภัยของ MTProto นั้นมีความปลอดภัยน้อยกว่ารูปแบบอื่นๆ ที่มีความปลอดภัยและมีประสิทธิภาพมากกว่า และยังคงยืนยันว่าไม่ควรออกแบบการเข้ารหัสเอง (Don't Roll Your Own Crypto)

สำหรับสมการ และข้อมูลอย่างละเอียดอ่านต่อได้ที่ Cryptology ePrint Archive: Report 2015/1177 - On the CCA (in)security of MTProto เพื่อศึกษาข้อมูลเชิงวิชาการ

ที่มา

Blognone Jobs Premium