MTProto: โปรโตคอลมือถือของ Telegram
ภาพรวมโปรโตคอล
MTProto คือโปรโตคอลการส่งข้อมูลแบบเข้ารหัสของ Telegram ออกแบบมาให้ทำงานได้ดีบนเครือข่ายมือถือที่ไม่เสถียร.
โปรโตคอลนี้ให้ความเป็นส่วนตัว ความถูกต้องของข้อมูล และการยืนยันตัวตนระหว่างไคลเอนต์กับเซิร์ฟเวอร์.
MTProto 2.0
MTProto 2.0 ใช้ SHA-256 ปรับปรุงการสร้างคีย์ และเพิ่ม padding แบบสุ่ม.
คำศัพท์
| คำศัพท์ | คำอธิบาย |
|---|---|
auth_key | คีย์ยืนยันตัวตนระยะยาวที่สร้างระหว่างการ handshake ระหว่างไคลเอนต์กับเซิร์ฟเวอร์ |
msg_key | คีย์ข้อความที่คำนวณจาก hash ของ payload และส่วนหนึ่งของ auth_key |
server_salt | salt ชั่วคราว 64 บิตสำหรับป้องกัน replay attack |
session_id | ตัวระบุเซสชันที่ผูกข้อความกับเซสชันไคลเอนต์ |
การเข้ารหัส
ข้อความถูกเข้ารหัสด้วย AES-256-IGE โดยคีย์และ IV ได้จาก auth_key และ msg_key.
คีย์ยืนยันตัวตน
การแลกคีย์ใช้ Diffie-Hellman พร้อมการตรวจสอบ RSA fingerprint เพื่อป้องกัน MITM.
เปรียบเทียบกับ VPN
| คุณสมบัติ | MTProxy | VPN | SOCKS5 |
|---|---|---|---|
| ขอบเขต | เฉพาะ Telegram | ทราฟฟิกทั้งหมด | แอปที่ตั้งค่าไว้ |
| การตั้งค่า | 1 คลิก | ติดตั้ง + ตั้งค่า | ทำเอง |
| การพรางทราฟฟิก | FakeTLS/HTTPS | ขึ้นกับโปรโตคอล | ไม่มี |
การใช้งาน
แอป Telegram ทางการรองรับ MTProxy ในตัว เพียงเปิดลิงก์ tg://proxy และยืนยันการเชื่อมต่อ.
การใช้ secret แบบ FakeTLS ช่วยให้ทราฟฟิกดูเหมือน HTTPS ปกติและทนต่อการบล็อกแบบ DPI ได้ดีขึ้น.