เกี่ยวกับฟังก์ชัน RTMPS

ฟังก์ชัน RTMPS รองรับอัลกอริทึมการเข้ารหัสแบบต่างๆ สำหรับการสตรีม RTMPS อย่างปลอดภัย เพื่อให้แน่ใจว่ามีความเข้ากันได้กับเซิร์ฟเวอร์ปลายทางหลากหลายประเภท จึงมีการรองรับอัลกอริทึมการเข้ารหัสหลายแบบ รวมถึงอัลกอริทึมบางแบบที่อาจไม่สอดคล้องกับแนวปฏิบัติด้านความปลอดภัยที่ดีที่สุดในปัจจุบัน

อัลกอริทึมการเข้ารหัสที่รองรับโดยฟังก์ชัน RTMPS

มีการรองรับอัลกอริทึมการเข้ารหัสต่อไปนี้

  • TLS_AES_256_GCM_SHA384
  • TLS_AES_128_GCM_SHA256
  • TLS_AES_128_CCM_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_ECDSA_WITH_AES_256_CCM
  • TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
  • TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_DHE_RSA_WITH_AES_256_CCM
  • TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_128_CCM
  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
  • TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_DHE_RSA_WITH_AES_128_CCM
  • TLS_DHE_RSA_WITH_AES_128_CBC_SHA256

เกี่ยวกับอัลกอริทึมการเข้ารหัสที่แนะนำ

ตามคำแนะนำของ NIST (NIST SP 800-57 Part 1, Revision 5) และมาตรฐานความปลอดภัยที่เกี่ยวข้อง ขอแนะนำให้ใช้อัลกอริทึมการเข้ารหัสต่อไปนี้

  • TLS_AES_256_GCM_SHA384
  • TLS_AES_128_GCM_SHA256
  • TLS_AES_128_CCM_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_ECDSA_WITH_AES_256_CCM
  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_128_CCM
  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

เกี่ยวกับอัลกอริทึมที่เลิกใช้แล้ว

ฟังก์ชัน RTMPS ยังรองรับอัลกอริทึมต่อไปนี้เพื่อเหตุผลด้านความเข้ากันได้เช่นกัน แต่เป็นอัลกอริทึมที่เลิกใช้แล้วตามคำแนะนำของ NIST (NIST SP 800-57 Part 1, Revision 5) และมาตรฐานความปลอดภัยที่เกี่ยวข้อง ซึ่งอาจถูกนำออกในเวอร์ชันในอนาคต

Key exchange algorithms

  • TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
  • TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_DHE_RSA_WITH_AES_256_CCM
  • TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
  • TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_DHE_RSA_WITH_AES_128_CCM
  • TLS_DHE_RSA_WITH_AES_128_CBC_SHA256

ความเข้ากันได้ในการเชื่อมต่อ

ฟังก์ชัน RTMPS ออกแบบมาเพื่อทำให้เกิดสมดุลระหว่างความปลอดภัยกับความเข้ากันได้ ในปัจจุบัน เรารองรับอัลกอริทึมที่เลิกใช้แล้วด้วยเหตุผลต่อไปนี้ แต่เราอาจนำอัลกอริทึมเหล่านี้ออกในเวอร์ชันในอนาคตเพื่อเพิ่มความปลอดภัย

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

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

ความเสี่ยงด้านความปลอดภัย

การใช้อัลกอริทึมที่เลิกใช้แล้ว รวมถึง CBC และ DHE จะเพิ่มความเสี่ยงที่ข้อมูลที่เข้ารหัสอาจถูกผู้โจมตีถอดรหัส ส่งผลให้ข้อมูลที่อยู่ระหว่างการสตรีมถูกเปิดเผย

ข้อแนะนำเพื่อการเชื่อมต่ออย่างปลอดภัย

เมื่อใช้ฟังก์ชันการสตรีม RTMPS ให้ตรวจสอบล่วงหน้าว่าเซิร์ฟเวอร์ที่คุณกำลังเชื่อมต่อรองรับอัลกอริทึมการเข้ารหัสที่แนะนำหรือไม่ ขอแนะนำให้คุณเปิดใช้งานเฉพาะอัลกอริทึมที่แนะนำและปิดใช้งานอัลกอริทึมที่ไม่แนะนำในฝั่งเซิร์ฟเวอร์


ข้อมูลอ้างอิง

  • Recommendation for Key Management, Special Publication 800-57 Part 1 Revision 5, NIST, 2020.
  • Transitioning the Use of Cryptographic Algorithms and Key Lengths, Special Publication 800-131A Revision 2, NIST, 2019.
  • Recommendation for Block Cipher Modes of Operation: The CMAC Mode for Authentication, Special Publication 800-38B, NIST, 2005 (includes updates as of 10/06/2016).
TP1002071198