LINE Authenticate Reverse Engineering
เมื่อวานเกิดความคิดอยากทำของเล่นใหม่จาก Product ของ LINE แต่ปัญหาคือ บริการนี้จะต้องมีการ Login หรือ Authenticate ก่อนใช้บริการ เลยจำเป็นที่จะต้องไล่ Reverse ระบบเข้ารหัสของ LINE ที่ใช้ในการ Authenticate โดยมีประเด็นหลักๆ ดังนี้ LINE ใช้งาน OAuth ในการเข้าสู่ระบบบริการของตัวเอง LINE ป้องกันการ Strip SSL Connection ระดับนึง ด้วยการเข้ารหัสก่อนส่งข้อมูลไปยัง Server ด้วย Public Key ที่ไม่ซ้ำกัน LINE ใช้กระบวนการเข้ารหัส Public Key ด้วย RSA รูปแบบ PKCS1 หลังจากเข้าสู่ระบบเรียบร้อยแล้ว Line จะใช้วิธีการส่ง Token ไปหา Web Service API Callback เพื่อยืนยันการเข้าสู่ระบบ ผมจะพูดถึงการทำงานจุดนึง ที่น่าสนใจมากๆ ในการรักษาความปลอดภัยของข้อมูลผู้ใช้ […]