ZRTP: различия между версиями
[непроверенная версия] | [непроверенная версия] |
IgorG (обсуждение | вклад) Нет описания правки |
IgorG (обсуждение | вклад) Добавление ссылки на астериск |
||
Строка 20: | Строка 20: | ||
* [[SIP Communicator]] в настоящее время имеет поддержку [[ZRTP]] с использованием внешней библиотеки ZRTP4J lib. Разработчики обещают полностью встроить [[ZRTP]] уже в релизе 1.0-rc1. |
* [[SIP Communicator]] в настоящее время имеет поддержку [[ZRTP]] с использованием внешней библиотеки ZRTP4J lib. Разработчики обещают полностью встроить [[ZRTP]] уже в релизе 1.0-rc1. |
||
* PJSIP - кроссплатформенный стек для open source разработок в области VoIP, ожидается его выход с полной поддержкой [[ZRTP]] в первом квартале 2009 года. Заявлена поддержка в [[Linux]], [[Windows]], [[OSX]], [[Symbian]], [[Windows Mobile]]. |
* PJSIP - кроссплатформенный стек для open source разработок в области VoIP, ожидается его выход с полной поддержкой [[ZRTP]] в первом квартале 2009 года. Заявлена поддержка в [[Linux]], [[Windows]], [[OSX]], [[Symbian]], [[Windows Mobile]]. |
||
* Поддержка ZRTP может быть экспериментально добавлена в [[Asterisk]] с помощью [http://zfoneproject.com/prod_asterisk.html набора патчей], разработанных в рамках проекта Zfone. При этом для работы протокола используется libZRTP. |
|||
==Коммерческое использование== |
==Коммерческое использование== |
Версия от 04:37, 20 декабря 2008
ZRTP - это протокол шифрования передачи голоса по сетям VoIP с использованием обмена ключей. ZRTP описывает метод обмена ключей по алгоритму Диффи - Хелмана для организации Secure Real-time Transport Protocol (SRTP). Авторы-разработчики Филип Циммерман (Phil Zimmermann), который также является автором Pretty Good Privacy (PGP), Джон Каллас (Jon Callas) и Алан Джонстон (Alan Johnston) подали заявку в IETF 5-го марта 2006.
Описание
ZRTP предлагается как способ шифрования используя метод обмена ключами Диффи — Хеллмана во время инициализации звонка при сигнализации протокола Session Initiation Protocol (SIP). Во время посыла звонка создаётся публичный ИД, который затем используется для создания ключей, которыми будет зашифровываться медиа поток разговора, используя функции хэширования. Таким образом пара ключей действительна только в течение одного разговора, образовывая таким образом сессию Secure RTP (SRTP). Таким образом существует потенциал встраивания этого механизма в уже существующие програмные VoIP программные продукты, шлюзы и ИП телефоны.
Протокол не требует заранее сгенерированых ключей, или поддержки инфраструктуры обмена ключей (PKI), или центра сертификации (СА). Это избавляет от сложностей создания структуры авторизации, основанной на доверенной поддержке, которая, например, применяется в шифровании SSL. Главной целью организации шифроканала, будь то голосовая сессия, или https соединение с интернет-банком - избежать возможности присутствия Человека_посередине (man in the middle), обеспечивая единую криптозащиту между любыми двумя точками в мире ИП.
ZRTP может теоретически применяться совместно с любыми сигнальными протоколами, использующими RTP для передачи медиа потока, включая SIP, H.323, SCCP, MGCP Unistim и Jingle, так как в теории ZRTP не зависит от сигнализации, осуществляя обмен ключей в медиа сессии RTP. Таким образом ZRTP может стать открытым стандартом де-факто в мире ИП телефонии.
Аутентификация
Сам по себе алгоритм обмена ключами Диффи - Хелмана не может обеспечить полноценную защиту от присутствия Человека_посередине (man in the middle). Для аутентификации ZRTP использует Short Authentication String (SAS), который, обычно, является криптографическим хэшем двух значений Диффи - Хелмана. Оба значения SAS вычисляются, передаются в голосовой сессии и сверяются на обоих концах соединения. Если значения не совпали, то с большой уверенностью можно предположить присутствие Человека_посередине. Использование алгоритма Диффи - Хелмана даёт потенциальному Человеку_посередине всего одну попытку сгенерировать правильный SAS при попытке атаки. Так как SAS является очень коротким сообщением, вероятность того, что при передаче, например, 16-ти битного SAS, он будет угадан равна 1/65536. Что говорить о 24- или о 32-битных SAS?
Открытый стандарт
- Софт-клиент Twinkle использует GNU ccRTP и проект GNU ZRTP для использования ZRTP в разработках. Все перечисленные пакеты поддерживают открытую лицензию GPL.
- SIP Communicator в настоящее время имеет поддержку ZRTP с использованием внешней библиотеки ZRTP4J lib. Разработчики обещают полностью встроить ZRTP уже в релизе 1.0-rc1.
- PJSIP - кроссплатформенный стек для open source разработок в области VoIP, ожидается его выход с полной поддержкой ZRTP в первом квартале 2009 года. Заявлена поддержка в Linux, Windows, OSX, Symbian, Windows Mobile.
- Поддержка ZRTP может быть экспериментально добавлена в Asterisk с помощью набора патчей, разработанных в рамках проекта Zfone. При этом для работы протокола используется libZRTP.
Коммерческое использование
- Авторская разработка самого Филипа Циммермана - 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.