Interested Article - ZRTP

ZRTP — криптографический шифрования, используемый в системах передачи голоса по IP-сетям ( VoIP ). ZRTP описывает метод получения ключей по алгоритму Диффи — Хелмана для организации Secure Real-time Transport Protocol ( SRTP ). ZRTP осуществляет согласование ключей в том же потоке RTP , по которому установлена аудио/видео связь, то есть не требует отдельного канала связи. Разработан Филипом Циммерманом (Phil Zimmermann, автор Pretty Good Privacy ), Джоном Калласом (Jon Callas) и Аланом Джонстоном (Alan Johnston) в 2006 году. Описание протокола было подано в IETF 5-го марта 2006.

Описание

ZRTP предлагается как способ согласования ключей шифрования с использованием метода Диффи — Хеллмана через медиа поток, устанавливаемый протоколом RTP (Real-time Transport Protocol), который образуется после инициализации вызова, используя любой тип сигнализации, например — Session Initiation Protocol ( SIP ). Во время посыла звонка создаётся публичный ИД, используемый при создании ключей, которыми будет шифроваться медиа поток разговора. Таким образом ключ действителен только в течение одного разговора, образуя таким образом сессию Secure RTP ( SRTP ). При разрыве соединения ключ и весь криптографический контекст уничтожается, что обеспечивает совершенную прямую секретность (PFS). Таким образом существует потенциал встраивания этого механизма в уже существующие программные VoIP программные продукты, шлюзы и ИП телефоны.

Протокол не требует заранее сгенерированных ключей, или поддержки инфраструктуры обмена ключей ( PKI ), или центра сертификации (СА). Это избавляет от сложностей создания структуры авторизации, основанной на доверенной поддержке, которая, например, применяется в шифровании SSL . Главной целью организации шифроканала, будь то голосовая сессия, или https соединение с интернет-банком — избежать возможности присутствия Человека_посередине ( man in the middle ), обеспечивая единую криптозащиту между любыми двумя точками в мире ИП.

ZRTP может теоретически применяться совместно с любыми сигнальными протоколами, использующими RTP для передачи медиа потока, включая SIP , H.323 , SCCP , MGCP Unistim и Jingle , так как в теории ZRTP не зависит от сигнализации, осуществляя обмен ключей в медиа сессии RTP. Таким образом ZRTP может стать открытым стандартом де-факто в мире IP-телефонии.

Аутентификация

SAS

Сам по себе алгоритм обмена ключами Диффи — Хелмана не может обеспечить защиту от присутствия человека посередине (man in the middle) . Для аутентификации ZRTP использует Short Authentication String (SAS) "короткую строку аутентификации", являющуюся сокращённым представлением криптографического хеша полученных ключей Диффи — Хелмана. Значения SAS вычисляются на каждой стороне соединения, абоненты передают их друг другу голосом для сверки. Если значения не совпали, то с большой уверенностью можно предположить присутствие Человека_посередине . Использование алгоритма Диффи — Хелмана даёт потенциальному Человеку_посередине всего одну попытку сгенерировать правильную SAS при попытке атаки. Так как SAS получается из старших 32 битов хеша и имеет две формы представления (16-битную B256 в виде , и 20-битную в виде четырёх символов), она является очень короткой, вероятность необнаружения атаки при использовании SAS в формате B256 равна 1/65536. Применение SAS в формате B32 понижает вероятность необнаружения атаки в 16 раз (по сравнению с B256), до 1/1048576.

Непрерывность ключевого материала

Вторым уровнем защиты ZRTP от атак "человек посередине" является непрерывность ключевого материала. Хеш ключевой информации предыдущего вызова подмешивается к параметрам алгоритма Диффи - Хеллмана при следующем вызове (между этими же абонентами), что придаёт протоколу ZRTP сходство с SSH. Если "человека посередине" не было при первом вызове, он исключается из всех последующих.

Открытый стандарт

  • Софт-клиент Twinkle использует GNU ccRTP и проект GNU ZRTP для использования ZRTP в разработках. Все перечисленные пакеты поддерживают открытую лицензию GPL .
  • Jitsi в настоящее время имеет поддержку ZRTP с использованием внешней библиотеки ZRTP4J lib.
  • PJSIP — кроссплатформенный стек для open source разработок в области VoIP, ожидается его выход с полной поддержкой ZRTP в первом квартале 2009 года. Заявлена поддержка в Linux , Windows , OSX , Symbian , Windows Mobile .
  • - ZRTP библиотека собственной разработки.
  • Поддержка ZRTP может быть экспериментально добавлена в Asterisk с помощью , разработанных в рамках проекта Zfone. При этом для работы протокола используется libZRTP.
  • Поддержка ZRTP была добавлена в основной код FreeSWITCH

Коммерческое использование

  • Авторская разработка самого Филипа Циммермана — Zfone , доступный для Mac OS X, Windows , и Linux . Бесплатна в течение бета-тестирования, но планируется в дальнейшем распространение только коммерческих небесплатных копий, уже демонстрировалась в Москве Филипом Циммерманом.
  • KHAMSA SA в качестве PrivateGSM — первое внедрение ZRTP по GSM (без использования VoIP ) для платформы Symbian OS , соответственно — только для смартфонов. Дополнительные расширения ZRTP/S позволяют расширить применение ZRTP в сетях ISDN , ТФОП и спутниковой телефонии. Использует библиотеку libZRTP разработанную Циммерманом.
  • UM Labs выпустила шлюз с SIP Security Controller, который обеспечивает безопасные зашифрованные соединения между устройствами, поддерживающими ZRTP, сетями VoIP с коммерческими или бесплатными ИП-АТС, которые не поддерживают ZRTP или другую шифрозащиту.
  • M5T ZRTP SAFE — отдельная независимая разработка стека ZRTP.

См. также

Ссылки

Источник —

Same as ZRTP