Безопасный транспортный протокол реального времени
Набор интернет-протоколов |
---|
Прикладной уровень |
Транспортный уровень |
Интернет-слой |
Слой связи |
Эта статья нуждается в дополнительных цитатах для проверки . ( январь 2011 г. ) |
Безопасный транспортный протокол реального времени ( SRTP ) — это профиль транспортного протокола реального времени (RTP), предназначенный для обеспечения шифрования, аутентификации и целостности сообщений , а также защиты от повторных атак на данные RTP как в одноадресных , так и в многоадресных приложениях. Он был разработан небольшой командой экспертов по интернет-протоколу и криптографии из компаний Cisco и Ericsson . Впервые он был опубликован IETF в марте 2004 года под названием РФК 3711 .
Поскольку RTP сопровождается протоколом управления RTP (RTCP), который используется для управления сеансом RTP, у SRTP есть родственный протокол, называемый Secure RTCP ( SRTCP ); он безопасно предоставляет те же функции для SRTP, что и RTCP для RTP.
Использование SRTP или SRTCP не является обязательным в приложениях RTP или RTCP; но даже если используются SRTP или SRTCP, все предоставляемые функции (например, шифрование и аутентификация) являются необязательными и могут быть включены или отключены отдельно. Единственным исключением является функция аутентификации сообщений, которая необходима и необходима при использовании SRTCP.
Шифрование потока данных
[ редактировать ]SRTP и SRTCP используют расширенный стандарт шифрования (AES) в качестве шифрования по умолчанию . Определены два режима шифрования AES блочный шифр , которые позволяют использовать в качестве потокового шифрования :
- Режим сегментированного целочисленного счетчика
- Типичный режим счетчика , позволяющий произвольный доступ к любым блокам, что важно для RTP-трафика, проходящего по ненадежной сети с возможной потерей пакетов. В общем случае в роли счетчика можно использовать практически любую функцию , при условии, что эта функция не повторяется при большом количестве итераций. Но стандартом шифрования данных RTP является обычный целочисленный инкрементальный счетчик. AES, работающий в этом режиме, является алгоритмом шифрования по умолчанию с размером ключа по умолчанию 128 бит и ключа сеанса по умолчанию 112 бит. длиной
- режим f8
- Вариант режима обратной связи по выходу , улучшенный для поиска и с измененной функцией инициализации. Значения ключа шифрования и ключа по умолчанию такие же, как для AES в режиме счетчика. (AES, работающий в этом режиме, был выбран для использования в 3G .) мобильных сетях
Помимо шифрования AES, SRTP позволяет полностью отключить шифрование, используя так называемый нулевой шифр шифрования, который можно рассматривать как альтернативный поддерживаемый шифр. Фактически, шифр с нулевым шифрованием не выполняет никакого шифрования; алгоритм шифрования действует как функция идентификации и копирует входной поток в выходной поток без каких-либо изменений. Этот режим шифрования обязательно должен быть реализован в любой SRTP-совместимой системе. Таким образом, его можно использовать, когда гарантии конфиденциальности, обеспечиваемые SRTP, не требуются, в то время как могут использоваться другие функции SRTP, такие как аутентификация и целостность сообщений.
Хотя SRTP может легко адаптироваться к новым алгоритмам шифрования, стандарт SRTP гласит, что новые алгоритмы шифрования могут быть представлены только посредством публикации новой сопутствующей стандартной версии RFC , которая должна четко определять новый алгоритм.
Аутентификация, целостность и защита от повторного воспроизведения
[ редактировать ]Перечисленные выше алгоритмы шифрования сами по себе не обеспечивают целостность сообщения: злоумышленник не сможет расшифровать данные, но может подделать или воспроизвести ранее переданные данные. Следовательно, стандарт SRTP также предоставляет средства для обеспечения целостности данных и защиты от повторного воспроизведения.
Для аутентификации сообщения и защиты его целостности используется HMAC-SHA1. алгоритм [1] используется. В результате получается 160-битный результат, который затем усекается до 80 или 32 бит, чтобы стать тегом аутентификации , добавляемым к каждому пакету. HMAC рассчитывается на основе полезной нагрузки пакета и материала из заголовка пакета, включая порядковый номер пакета. Для защиты от атак повторного воспроизведения получатель сохраняет порядковые номера ранее полученных сообщений, сравнивает их с порядковыми номерами в каждом новом полученном сообщении и допускает новое сообщение только в том случае, если оно не было получено ранее. Этот подход основан на защите целостности, которая делает невозможным изменение порядкового номера без обнаружения.
Ключевое происхождение
[ редактировать ]Функция деривации ключей используется для получения различных ключей, используемых в криптоконтексте (ключи и соли шифрования SRTP и SRTCP, ключи аутентификации SRTP и SRTCP) из одного главного ключа криптографически безопасным способом. Таким образом, протоколу управления ключами необходимо обмениваться только одним главным ключом, все необходимые сеансовые ключи генерируются путем применения функции деривации ключей.
Периодическое применение функции получения ключа не позволяет злоумышленнику собрать большие объемы зашифрованного текста, зашифрованного с помощью одного сеансового ключа. Это обеспечивает защиту от определенных атак, которые легче осуществить, когда доступен большой объем зашифрованного текста. Более того, множественные применения функции получения ключа обеспечивают прямую и обратную безопасность в том смысле, что скомпрометированный сеансовый ключ не ставит под угрозу другие сеансовые ключи, полученные из того же главного ключа. Это означает, что даже если злоумышленнику удалось восстановить сеансовый ключ, он не сможет расшифровать сообщения, защищенные предыдущими и последующими сеансовыми ключами, полученными на основе того же главного ключа. (Обратите внимание, что утечка главного ключа раскрывает все полученные на его основе сеансовые ключи.)
SRTP использует внешний протокол управления ключами для настройки исходного главного ключа. Два протокола, специально разработанные для использования с SRTP, — это ZRTP и MIKEY . Существуют и другие методы согласования ключей SRTP. Есть несколько поставщиков, предлагающих продукты, использующие метод обмена ключами SDES .
ДТЛС-СРТП
[ редактировать ]- RFC 5764 определил DTLS-SRTP . DTLS-SRTP использует протокол DTLS для доставки главного ключа и обеспечивает аутентификацию с открытым ключом.
Совместимость и приложения
[ редактировать ]См. Сравнение программного обеспечения VoIP § Программное обеспечение безопасного VoIP для телефонов, серверов и приложений, поддерживающих SRTP.
Телефония (VoIP)
[ редактировать ]Поддержка веб-браузера
[ редактировать ]
Известные браузеры с какой-либо поддержкой SRTP
- Blink (браузерного движка) Семейство
- Chromium (веб-браузер), поддерживающий (но не повсеместно) SRTP экспериментально с 2016 года.
- Опера (веб-браузер)
- Вивальди (веб-браузер)
Семейства веб-браузеров с некоторым уровнем SRTP в основных ветках обновления базовой системы рендеринга.
- Геккон (программное обеспечение)
- MSHTML (заменен, но на момент истечения срока действия существовала минимальная поддержка)
- Вебкит
На данный момент не существует известной поддержки SRTP для текстовых веб-браузеров. Хотя SRTP можно использовать для работы в VPN в сочетании с веб-браузерами, неизвестно, что ни одна сеть VPN его не использует.
Стандартные документы
[ редактировать ]- RFC 3711 , Предлагаемый стандарт, Безопасный транспортный протокол реального времени (SRTP)
- RFC 4771 , Предлагаемый стандарт, счетчик переноса переноса преобразования целостности для безопасного транспортного протокола реального времени (SRTP)
- RFC 3551 , Standard 65, профиль RTP для аудио- и видеоконференций с минимальным контролем
- RFC 3550 , Стандарт 64, RTP: транспортный протокол для приложений реального времени.
- RFC 2104 , Информационный, HMAC: хеширование ключей для аутентификации сообщений
- RFC 7714 , Предлагаемый стандарт, шифрование с проверкой подлинности AES-GCM в безопасном транспортном протоколе реального времени (SRTP).
Ссылки
[ редактировать ]- ^ РФК 2104
- ^ «Учебное пособие по безопасным вызовам — Проект Asterisk — Asterisk Project Wiki» . wiki.asterisk.org . Проверено 22 декабря 2019 г.
- ^ «Астериск SRTP» . VoIP-информация . 13 февраля 2007 г. Проверено 22 декабря 2019 г.