Letter Sealing มาเข้ารหัสข้อความใน LINE กัน

October 19, 2015 3:47 pm Hack

ปกติแล้ว เวลาส่งข้อความจากคนนึงไปอีกคนนึงผ่านแอบพลิเคชัน LINE ข้อความจะถูกส่งจากผู้ส่ง ผ่านการเชื่อมต่อที่ถูกเข้ารหัสไปยังเซิร์ฟเวอร์ของ LINE หลังจากนั้น เซิร์ฟเวอร์ของ LINE ก็จะเข้ารหัสข้อความแล้วส่งไปยังผู้รับอีกที ดังรูป

02-Current-implementation-of-LINE-message-delivery

http://developers.linecorp.com/blog/wp-content/uploads/2015/10/02-Current-implementation-of-LINE-message-delivery.png

จะเห็นว่ากระบวนการนี้ จะถูกเซิร์ฟเวอร์ของทาง LINE นั้นมองเห็นข้อความของเราได้ แม้มันจะมีการเข้ารหัสการเชื่อมต่อมาแล้วก็ตาม ทาง LINE เลยออกฟิวเจอร์เพิ่มเติมขึ้นมา ชื่อว่า “Letter Sealing”

Letter Sealing เป็นฟิวเจอร์ใหม่ของทาง LINE ที่เพิ่มขึ้นมาใน LINE เวอร์ชัน 5.3.0 โดยฟิวเจอร์นี้ จะทำให้ผู้ที่ส่งและผู้ที่รับข้อความเท่านั้น ที่สามารถอ่านข้อความได้ หรือเราเรียกว่า End-to-End Encryption ดังรูป

07-Message-delivery-in-Letter-Sealing

http://developers.linecorp.com/blog/wp-content/uploads/2015/09/07-Message-delivery-in-Letter-Sealing.png

จะเห็นได้ว่า ถ้าเปิดใช้งาน Letter Sealing แม้แต่เซิร์ฟเวอร์ของ LINE เอง ก็ไม่สามารถอ่านข้อความได้ โดยข้อความดิบ ที่ผ่านการถอดรหัสมาแล้ว จะถูกเก็บไว้ในเครื่องผู้ส่งและผู้รับเท่านั้น ทำให้เพิ่มความปลอดภัยในการดักฟังข้อความมากขึ้น

ข้อมูลการทำงานด้านเทคนิค

การทำงานของฟิวเจอร์​ Letter Sealing เมื่อผู้ใช้งานเปิดใช้งาน จะมีการสร้าง Public Key และ Private Key ของเราขึ้นมา (แต่ละคนมีไม่เหมือนกัน) เพื่อใช้ในกระบวนการเข้ารหัสข้อความ โดยกระบวนการเข้ารหัสข้อความ จะเกิดขึ้น ตามรูปด้านล่างครับ

06-Process-of-Letter-Sealing

http://developers.linecorp.com/blog/wp-content/uploads/2015/09/06-Process-of-Letter-Sealing.png

จะเห็นว่า กระบวนการเข้ารหัส จะเกิดขึ้น เมื่อผู้ใช้งานกดปุ่มส่ง โดยจะมีการเอา Public Key ของผู้รับข้อความ และ Private Key ของผู้ส่ง มาทำเข้ากระบวนการ ECDH-256 เมื่อกระบวนการเสร็จสิ้น ก็จะได้ Shared Key สำหรับเข้ารหัสข้อความแล้วครับ โดยข้อความจะถูกเข้ารหัสด้วยอัลกอริทึม AES-256 โดยหลังจากที่ได้ Cipher Text ออกมาแล้ว ก็จะนำข้อความ Cipher Text มาเข้าประกอบกับข้อความที่จะให้ผู้ใช้งานอีกฝั่งถอดรหัสได้ โดยกระบวนการถอดรหัส จะใช้ Public Key ของผู้รับและ Private Key มาเข้ากระบวนการทำ Shared Key แล้วถอดรหัสข้อความ

จะเห็นได้ว่า กระบวนการนี้มีโอกาสน้อยมากที่จะถอดรหัสข้อความได้ แม้แต่เซิร์ฟเวอร์ของ LINE เองก็ไม่สามารถอ่านข้อความนั้นได้ ยกเว้นแต่ว่า คุณพลาดให้คนเล่นมือถือของคุณเอง หรือ Key หลุด

วิธีการเปิดนั้น ไปที่ More -> Setting -> Chats & Voice Calls -> Letter Sealing โดยการจะใช้งาน Letter Sealing คู่สนทนาของเราจะต้องเปิด Letter Sealing เอาไว้ด้วย ไม่ฉะนั้น กระบวนการนี้จะไม่มีผล และจะทำให้ข้อความที่ส่งมา ไม่ถูกแสดงบน Notification

IMG_1038

สำหรับ LINE For MAC และ LINE For PC ไม่ต้องน้อยใจนะครับ ตอนนี้ LINE อัพเดตให้รองรับ Letter Sealing เรียบร้อยครับ เพียงเปิด Letter Sealing บนมือถือของคุณ การใช้งานบน LINE For MAC และ LINE For PC จะมีการขอยืนยันตัวตนในเครื่องแรกที่ใช้งาน

Ref : http://developers.linecorp.com/blog/?p=3679