Про функцію 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).

