Защита от прослушивания разговоров — строим безопасную SIP телефонию своими руками.

30.07.2019 Разное

В современном мире информация является одним из ценнейших ресурсов, поэтому ее защита - важная задача. Немалую роль в работе организации любого уровня играют телефонные переговоры. В силу возрастающей популярности IP-телефонии, все острее встает вопрос обеспечения ее безопасности в общем и конфиденциальности разговоров в частности.

Знание основных источников опасности для сетей IP-телефонии, а также понимание методов устранения этих угроз поможет сохранить репутацию и финансовые ресурсы компании. Не смотря на то, что в статье описаны решения под бесплатную платформу Asterisk, проблематика актуальна для любых других платформ IP-телефонии.

Основные виды угроз для VoIP-сетей:

  • Перехват и манипулирование данными

Наиболее часто встречаемая уязвимость телефонных сетей, особенно опасная для IP-телефонии. В случае применения IP-телефонии злоумышленнику не нужен физический доступ к линии передачи данных. Находящееся внутри корпоративной сети устройство перехвата, скорее всего, может быть обнаружено, внешнее прослушивание отследить практически невозможно. Кроме того, перехваченные данные или голос могут быть переданы далее с изменениями. В таких условиях весь незашифрованный голосовой поток необходимо считать небезопасным.

  • Подмена и взлом пользовательских данных

Отказ от использования или упрощение механизмов аутентификации и авторизации в IP-телефонии открывает для злоумышленника возможность не санкционированно получить доступ к системе, подменив данные о пользователе своими. Возможен также взлом учетных данных пользователей посредством перебора или прослушивания незащищенных каналов связи. Подобная уязвимость может быть использована для совершения дорогостоящих звонков за счет жертвы, сводя на нет всю возможную выгоду от использования IP-телефонии. Также эта брешь в безопасности может применяться для приема звонков, предназначенных взломанной либо записи перехваченных звонков на носители злоумышленника с целью применения данной информации в корыстных целях.

  • Ограничение доступности

Одной из разновидностей атак является «отказ в обслуживании» (Denial of Service, DoS). Эта атака нацелена на превышение предельной нагрузки на систему большим количеством коротких звонков или информационного мусора. Без постоянного отслеживания признаков подобных атак и применения пассивных средств защиты, это приводит к тому, что серверы IP-телефонии не справляются с возросшей нагрузкой и не в состоянии обслуживать подключенных абонентов.

Безопасность IP-телефонии – комплексный подход!

При проектировании любой коммуникационной системы важно понимать, что ни одно из самостоятельных технических решений безопасности не в состоянии обеспечить абсолютную защиту от всех возможных угроз.

Проанализировав основные источники угроз безопасности IP-телефонии, можно выделить ключевые критерии защищенности:

  • Конфиденциальность

Необходимость обеспечения защиты траффика IP-телефонии для предотвращения перехвата или прослушивания телефонных звонков, внесения изменений в передаваемую информацию, кражи учетных данных пользователей.

  • Целостность

Обеспечение уверенности, что передаваемая информация не подвергается правке со стороны неавторизованных пользователей, что запросы на выполнение определенных задач или функций (например, совершение звонка или внесение изменений в настройки системы IP-телефонии ) инициированы авторизованными пользователями или приложениями.

  • Доступность

Бесперебойное функционирование корпоративной системы IP-телефонии в условиях DoS-атак, различных «червей», «вирусов» и т.п.

Как защитить IP-телефонию?

Рассмотрим наименее защищенный и, при этом, один из самых распространенных примеров реализации IP-телефонии.


Рисунок 1 - Реализация IP-телефонии


Сервер телефонии на базе IP-АТС Asterisk имеет прямой выход в сеть интернет для обслуживания удаленных филиалов и связи с SIP-провайдером, предоставляющим доступ к внешним линиям связи. Аутентификация пользователей происходит по IP-адресам.

Решение задач информационной безопасности должно быть комплексным, поскольку каждый способ защиты не только закрывает свою часть информационного периметра, но и дополняет другие решения.

Настройка сервера телефонии

Последним рубежом защиты является сам сервер IP-телефонии. Существует несколько классических методов защиты сервера от атак.

Метод защиты

Описание

Применение политики сложных паролей

Получение учетных данных методом перебора (bruteforce) требует значительных затрат времени и вычислительных ресурсов, усложнение паролей позволит сделать данный метод атак нецелесообразным

Отключение гостевых звонков

Разрешение на совершение исходящих звонков имеют только пользователи системы. Этой настройкой можно отсечь попытки позвонить извне без предварительной авторизации

Отключение ответа о неверном пароле

По умолчанию Asterisk выдает одну ошибку о неверном пароле для существующего аккаунта и другую для несуществующего аккаунта. Существует множество программ для подбора паролей, поэтому злоумышленнику не составит труда проверить все короткие номера и собирать пароли лишь к существующим аккаунтам, которые ответили «неверный пароль»

Использование систем блокировки доступа после неудачных попыток регистрации

Просмотр отчетов системы на предмет обнаружения попыток взлома позволят выделить и блокировать IP-адрес атакующего. Таким образом, можно сократить количество мусорного SIP трафика и защититься от множественных попыток взлома

Ограничение направлений звонков, доступных абонентам, применение схемы «запрещено все, кроме разрешенного»

В случае получения злоумышленником учетных данных пользователя системы, он сможет совершать звонки только по определенным направлениям. Это позволит избежать несанкционированного совершения дорогостоящих международных звонков

Регулярные проверки системы на предмет попыток взлома, контроль параметров

Организация системы мониторинга состояния системы позволит улучшить качество IP-телефонии и отметить типовые для данной конфигурации параметры. Отклонения этих параметров от полученных типовых значений поможет выявить проблемы с оборудованием, каналами связи и выявить попытки вторжения злоумышленников

Применение межсетевых экранов

Межсетевой экран пропускает исходящий трафик от сервера телефонии к SIP-провайдеру и фильтрует входящий по определенным правилам. Рациональным решением можно считать закрытие на межсетевом экране всех сетевых портов для IP-телефонии, кроме необходимых для ее корректной работы и администрирования. Этот же метод защиты целесообразно применять на самом сервере телефонии, чтобы защитить его от внутренних атак.

Таким образом, сервер телефонии доступен из внешних сетей только по определенным служебным портам, подключение к которым, из соображений безопасности, будет выполняться с применением шифрования.

Шифрование телефонных разговоров

Для защиты конфиденциальных переговоров и минимизации возможности попадания конфиденциальной или коммерческой информации в руки злоумышленника необходимо защитить передаваемые по открытым каналам связи данные от перехвата и прослушивания.

Поскольку для совершения звонка клиент и сервер предварительно обмениваются служебными данными для установления соединения, данную проблему можно разделить на две составляющих – защиту служебных данных IP-телефонии и защиту голосового трафика. В качестве средства защиты могут быть использованы протокол TLS (Transport Layer Security) для защиты SIP сигналов и протокол SRTP (Secure Real Time Protocol) для защиты голосового трафика.


Рисунок 2 - Шифрование IP-телефонии


TLS — криптографический протокол, обеспечивающий защищённую передачу данных между узлами в сети, является стандартным методом для шифрования SIP-протокола. TLS обеспечивает конфиденциальность и целостность передаваемой информации, осуществляет аутентификацию.

После установления защищенного соединения начинается передача голосовых данных, обезопасить которые позволяет применение протокола SRTP.

Протокол SRTP считается одним из лучших способов защиты IP телефонии на базе IP-АТС Asterisk. Основное преимущество этого протокола – отсутствие какого-либо влияния на качество связи. Схема работы протокола SRTP выглядит так: каждому совершаемому вами звонку присваивается уникальный код, который делает подслушивание разговоров неавторизированными в системе пользователями практически невозможным. Благодаря этому протокол SRTP выбирают как для обычных, так и для конфиденциальных звонков.

Не следует забывать о необходимости защиты подключения сервера телефонии к внешним каналам связи (мобильная связь, телефонные сети общего пользования).

Применение шифрованных туннелей VPN

В случае необходимости организации систем с повышенными требованиями к защите IP-телефонии, возможно подключение удаленных пользователей посредством виртуальных частных сетей (VPN). Содержание перехваченных пакетов, отправленных по шифрованным VPN туннелям понятно только владельцам ключа шифрования. Этот же метод применим для защиты подключений к поставщикам услуг IP-телефонии. На текущий момент многие VoIP провайдеры предлагают возможность VPN-подключения.


Рисунок 3 - Схема работы IP-телефонии через VPN-туннель


Однако технология VPN имеет ряд недостатков, ограничивающих ее применение:

  • снижение качества связи из-за задержек, создаваемых шифрованием;
  • повышенная нагрузка на каналы связи и оборудование, вызванная необходимостью шифрования;
  • усложнение сетевой структуры.

Применение перечисленных методов защиты сервера позволит свести к минимуму вероятность взлома, а при успешном обходе системы безопасности минимизировать ущерб.


Рисунок 4 - Комплексная защита IP-телефонии


Абсолютную гарантию безопасности, к сожалению, не сможет дать ни один комплекс мер. Рассмотренные выше аспекты лишь частично решают задачу построения защищенной коммуникационной системы . На практике следует рассматривать всю инфраструктуру корпоративной сети, проводить глубокий анализ требуемого уровня защиты. Необходимо учитывать не только необходимость обеспечения безопасности IP-телефонии , но и выходов на внешние каналы связи (мобильная связь, телефонные сети общего пользования). Только такой подход, вместе с постоянным совершенствованием систем информационной безопасности , позволит создать надежную и защищенную систему.


Для создания полноценной защиты от прослушивания необходимо "спрятать" сервер IP-телефонии, для чего отлично подходит решение «Сервер в Израиле» .

Системная интеграция. Консалтинг

Так как технология VoIP базируется на технологии IP и использует Интернет, она так же наследует все её уязвимости. Последствия этих атак, умноженные на уязвимости, которые следуют из особенностей архитектуры сетей VoIP, заставляют задуматься о способах усиления защиты и тщательном анализе существующей сети IP . Более того, добавление любого нового сервиса, например, голосовой почты в недостаточно защищенную инфраструктуру может спровоцировать появление новых уязвимостей.

Риски и уязвимости, наследованные из IP сетей.

Плохой дизайн сети

Неправильно спроектированная сеть может повлечь за собой большое количество проблем, связанных с использованием и обеспечением необходимой степени информационной безопасности в VoIP сетях. Межсетевые экраны, к примеру, являются уязвимым местом в сети, по причине того, что для правильного функционирования VoIP сети необходимо открывать дополнительные порты, и межсетевые экраны, не поддерживающие технологию VoIP, способны просто оставлять открытыми ранее используемые порты даже после завершения вызовов.

Уязвимые IP АТС и шлюзы

Если злоумышленник получает доступ к шлюзу или АТС, он так же получает доступ к захвату целых сессий (по сути – возможность прослушать вызов), узнать параметры вызова и сети. Таким образом, на безопасность АТС необходимо обратить наибольшее внимание. Убытки от таких вторжений могут достигать значительных сумм.

Атаки с повторением пакетов

Атака с повторением пакета может быть произведена в VoIP сети путем повторной передачи серии корректных пакетов, с целью того, что бы приёмное устройство произвело повторную обработку информации и передачу ответных пакетов, которые можно проанализировать для подмены пакетов (спуфинга) и получения доступа в сеть. К примеру, даже при условии зашифрованных данных, существует возможность повторения пакета с логином и паролем пользователем пользователя, и, таким образом, получения доступа в сеть.

Риски и уязвимости, характерные для VoIP сетей

Подмена и маскировка пакетов
Использование подменных пакетов с неправильным IP-адресом источника могут использоваться для следующих целей:

Перенаправление пакетов в другую сеть или систему

Перехват трафика и атака «man-in-the-middle» (рисунок ниже)

  • Маскировка под доверенное устройство - «Перенос ответственности» за атаку на другое устройство
  • Фаззинг(Fuzzing) - Нагрузка системы пакетами с не полностью корректной информацией, что вызывает ошибки в работе системы при их обработке, например такие как задержки при работе, утечки информации и полный отказ системы
  • Сканирование на предмет возможных уязвимостей - Сканирование портов может дать злоумышленнику начальные данные для проведения полноценной атаки, такие как модели операционных систем, типы используемых сервисов и приложений. При нахождении уязвимого сервиса злоумышленник может получить доступ к управлению всей сетью, и, как следствию, к возможности причинить большой ущерб.
  • Низкая надежность по сравнению с традиционными сетям - Для достижения качественной связи, пакетам, содержащим голосовую и видео нагрузку присваивается высокий приоритет в механизмах качества обслуживания QoS (качества обслуживания). Однако, надежность VoIP и сетей передачи данных стремится к 99,9%, что ниже чем степени надежности в традиционных телефонных сетях, у которых данный параметр стремится к 99,999%. Конечно, разница не столь велика, однако за год эта разница выливается в дополнительные 8.7 часа, во время которых система не работает. Но необходимо понимать, что далеко не каждому предприятию это может повредить.
  • Атаки DDoS(Distributed Denial of Service) - Атаки DoS и DDoS происходят когда злоумышленник посылает крайне большие объемы случайных сообщений на одно или несколько VoIP устройств из одного или нескольких мест (DoS и DDoS соответственно). Атака из нескольких мест используется с помощью «зомби» - скомпрометированные сервера и рабочие станции, которые автоматически посылают вредоносные запросы в соответствии с потребностями злоумышленника. Успешной такая атака считается в момент, когда количество запросов превышает вычислительную мощность объекта, в следствие чего происходит отказ в обслуживании для конечных пользователей.

VoIP системы особенно уязвимы для таких атак, т.к они имеют высокий приоритет в технологии обеспечения качества обслуживания QoS, и для нарушения их работы требуется меньшее количество трафика нежели для обычных сетей передачи данных. Примером DoS атаки против именно VoIP сети может быть атака при множественной передачи сигналов отмены или установления вызова, которая так же имеет название SIP CANCEL DoS атака.


  • CID спуфинг - Один из типов атак с подменой пакетов построен на манипуляциях с идентификатором звонящего (Caller ID или CID), который используется для идентификации звонящего до ответа. Злоумышленник может подменить этот идентификатор текстовой строкой или телефонным номером и может использоваться для осуществления различных действий, вредящих сети или владельцу предприятия. Кроме того, в VoIP сетях нет возможности скрыть этот идентификатор, т.к телефонные номера включены в заголовках пакетов в протоколе SIP. Это позволяет злоумышленнику со сниффером пакетов, например tcpdump узнать телефонные номера даже если они имеют параметр «private» у сервисного провайдера.
  • Заключение - Использование IP-телефонии приносит огромное количество пользы для любой организации – решение на базе VoIP более масштабируемы, легко интегрируемы и их стоимость ниже классических решений. Однако, любая организация, внедрив VoIP решение должна быть в курсе возможных угроз и предпринимать всевозможные усилия для увеличения степени информационной безопасности в сети. Были перечислены лишь некоторые методы атак, но необходимо понимать, что часто используются комбинации атак и практически ежедневно разрабатываются новые атаки. Но понятно уже сейчас, что за данной технологией будущее и она вряд ли уступит пальму первенства другой технологии в обозримом будущем.
IP-телефонии :
  1. Прослушивание . В момент передачи конфиденциальной информации о пользователях (идентификаторов, паролей) или конфиденциальных данных по незащищенным каналам существует возможность прослушивания и злоупотребления ими в корыстных целях злоумышленником.
  2. Манипулирование данными . Данные, которые передаются по каналам связи, в принципе можно изменить.
  3. Подмена данных о пользователе происходит в случае попытки выдачи одного пользователя сети за другого. При этом возникает вероятность несанкционированного доступа к важным функциям системы.
  4. Отказ в обслуживании (denial of service - DoS) является одной из разновидностей атак нарушителей, в результате которой происходит вывод из строя некоторых узлов или всей сети. Она осуществляется путем переполнения системы ненужным трафиком, на обработку которого уходят все системные ресурсы. Для предотвращения данной угрозы необходимо использовать средство для распознавания подобных атак и ограничения их воздействия на сеть.

Базовыми элементами в области безопасности являются:

  • аутентификация;
  • целостность;
  • активная проверка.

Применение расширенных средств аутентификации помогает сохранить в неприкосновенности вашу идентификационную информацию и данные. Такие средства могут основываться на информации, которую пользователь знает ( пароль ).

Целостность информации - это способность средств вычислительной техники или автоматизированной системы обеспечивать неизменность информации в условиях случайного и (или) преднамеренного искажения (разрушения). Под угрозой нарушения целостности понимается любое умышленное изменение информации, хранящейся в вычислительной системе или передаваемой из одной системы в другую. Когда злоумышленники преднамеренно изменяют информацию, говорится, что целостность информации нарушена. Целостность также будет нарушена, если к несанкционированному изменению приводит случайная ошибка программного или аппаратного обеспечения.

И, наконец, активная проверка означает проверку правильности реализации элементов технологии безопасности и помогает обнаруживать несанкционированное проникновение в сеть и атаки типа DоS. Активная проверка данных действует как система раннего оповещения о различных типах неполадок и, следовательно, позволяет принять упреждающие меры, пока не нанесен серьезный ущерб .

8.2. Методы криптографической защиты информации

Основой любой защищенной связи является криптография . Криптография - это набор методов защиты информационных взаимодействий, то есть отклонений от их нормального, штатного протекания, вызванных злоумышленными действиями различных субъектов, методов, базирующихся на секретных алгоритмах преобразования информации. Кроме того, криптография является важной составляющей для механизмов аутентификации, целостности и конфиденциальности. Аутентификация является средством подтверждения личности отправителя или получателя информации. Целостность означает, что данные не были изменены, а конфиденциальность создает ситуацию, при которой данные не может понять никто, кроме их отправителя и получателя. Обычно криптографические механизмы существуют в виде алгоритма (математической функции) и секретной величины (ключа ). Причем чем больше битов в таком ключе, тем менее он уязвим.

До сих пор не разработаны подходящие методики оценки эффективности кpиптогpафических систем.

Наиболее простой критерий такой эффективности - вероятность раскрытия ключа , или мощность множества ключей (М) . По сути это то же самое, что и кpиптостойкость . Для ее численной оценки можно использовать также и сложность раскрытия шифра путем перебора всех ключей.

Однако этот критерий не учитывает других важных требований к криптосистемам :

  • невозможность раскрытия или осмысленной модификации информации на основе анализа ее структуры;
  • совершенство используемых протоколов защиты;
  • минимальный объем используемой ключевой информации;
  • минимальная сложность реализации (в количестве машинных операций), ее стоимость;
  • высокая оперативность.

Желательно, конечно, использование некоторых интегральных показателей, учитывающих указанные факторы.

Три основных криптографических метода используются в системах обеспечения безопасности:

  • симметричное шифрование ;
  • асимметричное шифрование ;
  • односторонние хэш-функции .

Все существующие технологии аутентификации, целостности и конфиденциальности созданы на основе именно этих трех методов.

Технология шифрования с секретным ключом (симметричный алгоритм ) требует, чтобы оба участника зашифрованной переписки имели доступ к одному и тому же ключу. Это необходимо, так как отправитель использует ключ для зашифровки сообщения, а получатель применяет этот же ключ для расшифровки. Как следствие, возникает проблема безопасной передачи этого ключа. Алгоритмы симметричного шифрования используют ключи не очень большой длины и могут быстро шифровать большие объемы данных. Порядок использования систем с симметричными ключами выглядит следующим образом:

  1. Безопасно создается, распространяется и сохраняется симметричный секретный ключ.
  2. Отправитель использует симметричный алгоритм шифрования вместе с секретным симметричным ключом для получения зашифрованного текста.
  3. Отправитель передает зашифрованный текст. Симметричный секретный ключ никогда не передается по незащищенным каналам связи.
  4. Для восстановления исходного текста получатель применяет к зашифрованному тексту тот же самый симметричный алгоритм шифрования вместе с тем же самым симметричным ключом , который уже есть у получателя.

Наиболее широко распространенным шифром симметричного шифрования является DES ( Data Encryption Standard ), разработанный IBM в 1976 г. и рекомендованный Национальным бюро стандартов США к использованию в открытых секторах экономики.

Алгоритм DES работает следующим образом. Данные представляются в цифровом виде и разбиваются на блоки длинной 64 бита, затем поблочно шифруются. Блок разбивается на левую и правую части. На первом этапе шифрования вместо левой части блока записывается правая, а вместо правой - сумма по модулю 2 (операция XOR ) левой и правой частей. На втором этапе по определенной схеме выполняются побитовые замены и перестановки. Ключ DES имеет длину 64 бита, из которых 56 битов - случайные, а 8 - служебные, используемые для контроля ключа.


Рис. 8.1.

DES имеет два режима работы: ECB (Electronic Code Book ) и CBC ( Cipher Block Chaining ). Режим СВС отличается от обычного тем, что перед шифрованием очередного блока к нему применяется операция "исключающее ИЛИ" с предыдущем блоком. В ситуациях, когда надежность алгоритма DES кажется недостаточной, используется его модификация - Triple DES ( тройной DES ). Строго говоря, существует несколько вариантов Triple DES . Наиболее простой - перешифрование: открытый текст шифруется на первом ключе, полученный шифротекст - на втором, и, наконец, данные, полученные после второго шага, - на третьем. Все три ключа выбираются независимо друг от друга.

IDEA ( International Data Encryption Algorithm ) - еще один блочный шифр с длиной ключа 128 бит . Этот европейский стандарт (от ЕТН, Цюрих) предложен в 1990 г. Алгоритм IDEA по скорости и стойкости к анализу не уступает алгоритму DES .

CAST - это блочный шифр , использующий 128-битовый ключ в США и 40-битный - в экспортном варианте. CAST применяется компанией Northern Telecom (Nortel).

Шифр Skipjack, разработанный Агентством национальной безопасности США ( National Security Agency - NSA ), использует 80-битовые ключи. Это часть проекта Capstone , цель которого - разработка общедоступного криптографического стандарта, удовлетворяющего требованиям правительства США. Capstone включает четыре основных компонента: шифр Skipjack; алгоритм цифровой подписи на базе стандарта DSS ( Digital Signature Standard ); хэш-функцию на базе алгоритма SHA ( Secure Hash Algorithm ); микросхему, реализующую все вышеизложенное (например, Fortezza - PCMCIA -плата, основанная на этой микросхеме).

Шифры RC2 и RC4 разработаны Роном Рейвестом - одним из основателей компании RSA Data Security , и запатентованы этой компанией. Они применяют ключи разной длины, а в экспортируемых продуктах заменяют DES . Шифр RC2 - блочный, с длиной блока 64 бита; шифр RC4 - поточный. По замыслу разработчиков, производительность RC2 и RC4 должна быть не меньше, чем у алгоритма DES .

Всем системам открытого шифрования присущи следующие основные недостатки. Во-первых, принципиальной является надежность канала передачи ключа второму участнику секретных переговоров. Иначе говоря, ключ должен передаваться по секретному каналу. Во-вторых, к службе генерации ключей предъявляются повышенные требования, обусловленные тем, что для n абонентов при схеме взаимодействия "каждый с каждым" требуется n x (n-1)/2 ключей, то есть зависимость числа ключей от числа абонентов является квадратичной.

Для решения вышеперечисленных проблем симметричного шифрования предназначены системы с асимметричным шифрованием, или шифрованием с открытым ключом, которые используют свойства функций с секретом, разработанных Диффи и Хеллманом.

Эти системы характеризуются наличием у каждого абонента двух ключей: открытого и закрытого (секретного). При этом открытый ключ передается всем участникам секретных переговоров. Таким образом, решаются две проблемы: нет нужды в секретной доставке ключа (так как при помощи открытого ключа нельзя расшифровать сообщения, для этого же открытого ключа зашифрованные, и, следовательно, перехватывать открытый ключ нет смысла); отсутствует также квадратичная зависимость числа ключей от числа пользователей - для n пользователей требуется 2n ключей.

Первым шифром, разработанным на принципах асимметричного шифрования , является шифр RSA .

Шифр RSA назван так по первым буквам фамилий его изобретателей: Рона Райвеста (Ривеста), Ади Шамира и Леонарда Элдемана (Алдемана) - основателей компании RSA Data Secutity. RSA - не только самый популярный из асимметричных шифров, но, пожалуй, вообще самый известный шифр . Математическое обоснование RSA таково: поиск делителей очень большого натурального числа, являющегося произведением двух простых, - крайне трудоемкая процедура. По открытому ключу очень сложно вычислить парный ему личный ключ . Шифр RSA всесторонне изучен и признан стойким при достаточной длине ключей. Например, 512 битов для обеспечения стойкости не хватает, а 1024 битов считается приемлемым вариантом. Некоторые утверждают, что с ростом мощности процессоров RSA потеряет стойкость к атаке полным перебором. Однако же увеличение мощности процессоров позволит применить более длинные ключи, что повысит стойкость шифра.


Рис. 8.2.

Шифр действует по следующему алгоритму:

  • Первый шаг: случайно выбираются два простых очень больших числа р и q .
  • Второй шаг: вычисляются два произведения: n = pq , m = (p-1)(q-1) .
  • Третий шаг: выбирается случайное целое Е , не имеющее общих сомножителей с m .
  • Четвертый шаг: находится D , такое, что DE = 1 по модулю m .
  • Пятый шаг: исходный текст разбивается на блоки длиной Х не более n .
  • Шестой шаг: для шифрования сообщения необходимо вычислить С = ХE по модулю n .
  • Седьмой шаг: для дешифрования вычисляется Х = СD по модулю n .

Для шифрования необходимо знать пару чисел Е, n , для дешифрования - D, n . Первая пара - открытый ключ , вторая - закрытый. Зная открытый ключ , можно вычислить значение закрытого ключа . Необходимым промежуточным действием этого преобразования является нахождение сомножителей p и q , для чего нужно разложить n на сомножители; эта процедура занимает очень много времени. Именно с огромной вычислительной сложностью связана криптостойкость шифра RSA .

Другим шифром, применяющим асимметричное шифрование , является

  • Информационная безопасность ,
  • Разработка систем связи
    • Tutorial

    Привет, Хабр!
    В этот раз хочу рассказать о технологиях шифрования VoIP звонков, о том какую защиту дают разные подходы и как организовать наиболее защищенную от прослушивания голосовую связь с технологическими гарантиями безопасности.
    В статье я постараюсь доступно изложить особенности таких технологий как SIP\TLS, SRTP и ZRTP. И продемонстрирую конкретные схемы использования на примере нашего сервиса ppbbxx.com

    Немного теории

    Любой VoIP вызов состоит из 2-х основных составляющих: обмена сигнальной информацией и передачи между пользователями media потоков с голосом и/или видео.
    На первом этапе, в процессе обмена сигнальной информацией, клиенты напрямую либо посредством сервера договариваются между собой о параметрах устанавливаемого вызова. Если связь устанавливается с помощью сервера, на основе сигнальной информации сервер авторизует клиента, устанавливает кто и кому звонит, проводит маршрутизацию и коммутацию. Благодаря данным сигнального протокола клиенты и сервер согласуют метод шифрования, используемые media кодеки, обмениваются ip адресами и номерами портов, где ожидается приём media и тд. Происходит это по таким протоколам как SIP, XMPP и прочим.
    Непосредственно «разговор», то есть обмен между клиентами голосовыми данными, как правило происходит по протоколу RTP. Данные внутри передаются в том виде, о котором договорились клиенты и сервер на «сигнальном» этапе. Обмен голосом возможен как напрямую между клиентами, так и через сервер - посредник. Во втором случае сервер может помочь клиентам с прохождением NAT и в выборе кодеков.

    Итак, что же собой представляет шифрованный VoIP вызов? Дальше речь пойдёт о SIP протоколе как наиболее популярном.
    Как мы уже выяснили, звонок состоит из сигнальной и media частей, каждая из которых может быть зашифрована отдельно с применением специальных методов-протоколов. Для шифрования сигнальной информации применяется SIP\TLS, для шифрования «голоса» ZRTP и SRTP протоколы.

    SIP\TLS - грубо говоря, аналог HTTPS для обычного SIP. Протокол позволяет клиенту убедиться, что он общается с нужным сервером при условии, что клиент доверяет предоставленному сервером сертификату. Подробнее можно прочитать на википедии

    SRTP и ZRTP - это два разных способа шифровать RTP потоки. Принципиальное отличие между ними в том, что обмен ключами для SRTP происходит в сигнализации (на первой сигнальной стадии установки вызова). А для ZRTP непосредственно в начале обмена RTP пакетами (во второй, «медийной» части) по специальному протоколу , основанному на методе криптографии Диффи - Хеллмана.
    Важно то, что для SRTP обязательным условием надёжности шифрования звонка является одновременное использование SIP\TLS + SRTP, иначе злоумышленнику не составит труда получить ключи (которые будут переданы по не шифрованному SIP) и прослушать разговор. В то время как для ZRTP это не важно, RTP поток будет надёжно зашифрован не зависимо от того, шифруется сигнализация или нет. Более того протокол умеет определять наличие «man in the middle» (в том числе серверов услуг!) между непосредственно говорящими клиентами. Это позволяет быть уверенным в том, что разговор невозможно прослушать, по крайней мере с точки зрения прослушивания сети/среды передачи данных.

    Схема подключения SIP клиентов с различными настройками шифрования:

    Можно выделить следующие схемы установки шифрованного звонка:

    1. Оба пользователя используют SIP\TLS и SRTP. В этом случае обмен ключами для шифрования media происходят по защищенному сигнальному протоколу. Предполагается доверие к серверу, участвующему в установке связи. Посторонние не могут получить доступ ни к сигнальной информации, ни к голосовым данным. Недостаток в том, что пользователь не уведомлен на уровне протокола (клиента) и не убежден, что второй пользователь также использует шифрованное подключение к серверу.
    2. Оба пользователя используют ZRTP, голос при этом проходит через сервер. В этом случае сервер определяется ZRTP протоколом как Trusted MitM (man in the middle). Обмен ключами происходит по алгоритму, основанному на методе Диффи - Хеллмана (что и гарантирует невозможность прослушки) по протоколу RTP. Если при этом используется защищенный SIP\TLS - посторонние так же не могут получить доступ ни к сигнальной информации, ни к «голосу». Как и в первом варианте предполагается доверие к коммутирующему серверу, но в отличии от него для надёжного шифрования голоса не требуется обязательное использование защищенного SIP\TLS. Также, в отличии от первого варианта, каждый пользователь видит, что разговор шифруется до сервера с обоих сторон, а также то, что оба подключены к одному и тому же (доверенному) серверу.
    3. Оба пользователя используют ZRTP, но media устанавливается напрямую между клиентами. Так как обмен ключами проходит напрямую между клиентами, даже сервер, осуществивший коммутацию, не может прослушать разговор. В этом случае оба клиента отображают информацию о том, что установлен безопасный прямой сеанс связи. Убедиться в этом можно сверив SAS (короткие строки авторизации) - они будут одинаковыми. Если требуется скрыть от посторонних сигнальную информацию, следует использовать SIP\TLS. Это самый безопасный вариант, но в этом случае сервер не сможет выполнять многие функции, которые в других ситуациях выполняются на нем, к примеру запись непосредственно разговора, перекодирование голоса для клиентов с разными настройками аудиокодеков и тд.
    4. Один пользователь использует первый метод, описанный выше, а другой - второй. В этом случае так же требуется доверие к серверу. Сигнальная информация шифруется с помощью SIP\TLS. Для пользователя с ZRTP протокол сообщит, что шифрованное соединение установлено до сервера (End at MitM). Используется ли шифрование с другой стороны на уровне протокола узнать не удастся.

    На этом закончим с теорией и перейдём к практике! Настроим собственный SIP сервер, создадим SIP пользователей, установим SIP клиенты и научимся совершать шифрованные звонки c помощью бесплатного

    Настройка сервера



    Для начала нужно создать собственный сервер. Для этого нужно зайти на сайт услуги ppbbxx.com , пройти простую регистрацию и войти в интерфейс настроек.

    Первым делом пройдём в раздел "Internal network -> Domains " и создадим собственный домен, чтобы не быть ограниченным в выборе имён SIP пользователей. Можно припарковать свой домен либо создать личный субдомен в одной из зон сервиса.
    Далее необходимо в разделе "Internal network -> Sip Users " создать SIP пользователей и настроить некоторые параметры их клиентов. Имена SIP пользователей могут быть произвольными, но так как на программных и аппаратных телефонах удобнее набирать цифры, мы будем заводить идентификаторы вида [email protected] и подобные. Я завёл 1000, 1001, 1002, 1003. После создания SIP идентификатора нужно не забыть нажать кнопку «Сохранить». Если никаких недозаполненных форм в интерфейсе настроек не осталось, система не будет ругаться и покажет лог изменений со статусом «Done».

    Дальше необходимо настроить используемые кодеки и методы шифрования. Для этого нужно нажать значок с шестерёнкой слева от SIP идентификатора. Я планирую использовать SIP клиент (CSipSimple) на смартфоне и хочу использовать метод шифрования ZRTP поэтому в "basic " вкладке настроек выбираю кодеки G729 и SILK, а во вкладке "protection " ZRTP метод.


    Вы можете выбрать другие параметры. Важно только заметить, что настройки для SIP аккаунта в интерфейсе услуги должны соответствовать настройкам в SIP клиенте. Это необходимо для обеспечения корректной связи между клиентами с разными настройками кодеков и шифрования. Так же не забываем сохранять созданную конфигурацию.

    В целом, для настройки простейшей конфигурации этого достаточно. Можно настраивать SIP клиенты и звонить между ними, набирая их номера 1000, 1001, 1002, 1003. При желании к этому можно добавить общий SIP шлюз для звонков в телефонную сеть и настроить соответствующую маршрутизацию звонков. Но, в таком случае, это уже несколько иная схема использования услуги, которая требует скорее другого рода мер безопасности, нежели шифрование трафика до шлюза.

    Перейдём к настройке SIP клиентов

    Как я уже сказал, я планирую использовать CSipSimple на андроид смартфонах. Первым делом нужно установить клиент, используя стандартный Play Market, либо скачать на сайте производителя , который кстати открывает исходники своего клиента, что в отдельных случаях может иметь едва ли не сакральное значение. Установить нужно сам клиент и дополнительно кодеки. У меня установлены «CSipSimple», «Codec Pack for CSipSimple» и «G729 codec for CSipSimple». Последний платный и использовать его не обязательно, бесплатные SILK и OPUS обеспечивают достойное качество звонков по 3G сетям.

    Запускаем CSipSimple и переходим в интерфейс настройки. Выбираем мастер «Вasic» и настраиваем, используя данные из веб интерфейса. Должно получиться так:

    Далее в общих настройках CSipSimple в разделе "Медиа -> Аудиокодеки " нужно выбрать предпочитаемые кодеки. Для звонков через 3G я рекомендую использовать SILK, OPUS, iLBC, G729. Поскольку настройки в интерфейсе сервера и в интерфейсе клиента должны совпадать , а на сервере я выбрал SILK и G729, то в списке аудиокодеков CSipSimple я ставлю галочки только напротив этих кодеков, а остальные снимаю.
    В разделе клиента "Сеть -> Безопасный протокол " нужно выбрать желаемые параметры шифрования. Я включаю только ZRTP. Остальное оставляю выключенным. При желании можно использовать SIP\TLS - нужно учитывать что сервер ожидает TLS соединения на 443-м порту. Это сделано специально для слишком умных операторов мобильной связи, блокирующих стандартные для VoIP порты.
    Так же нужно учитывать, что SRTP и ZRTP не всегда совместимы и крайне желательно выбирать в клиенте только один из них.

    Совершение звонков с использованием ZRTP

    После того, как все настройки выполнены, совершим несколько звонков для того чтоб продемонстрировать работу CSipSimple в звонках между пользователями с различными настройками безопасности.

    Сразу после выполнения инструкции звонок SIP пользователя 1001 пользователю 1000 будет выглядит таким образом.
    CSipSimple показывает, что в звонке участвует MitM сервер, к которому подключены оба клиента. Параметр EC25 означает, что используется протокол Диффи-Хеллмана на эллиптических кривых с параметром 256 бит. AES-256 - алгоритм симметричного шифрования, который применяется. Статус ZRTP - Verifyed означает, что контрольная строка SAS подтверждена пользователем.

    Изменим режим передачи медиа в настройках ppbbxx для обоих клиентов. Установка direct media = yes позволит передавать голос напрямую. В этом случае стороны видят одинаковые строки SAS, используется алгоритм симметричного шифрования Twofish-256. Использование ZRTP в этом режиме требует от клиентов намного большей свместимости и менее надежно с точки зрения установки связи, поскольку сервер не участвует в передаче данных. Обязательно использование одинаковых аудиокодеков на всех клиентах и корректная работа NAT.

    Если у SIP пользователя 1001 шифрование не установлено, тогда как 1000 использует ZRTP, то второй клиент покажет, что зашифрованная передача голоса происходит только до сервера (End at MitM).

    Резюмируем

    Связь полностью защищенную от прослушивания организовать можно. Это сделать не сложно. Наиболее подходящий способ для этого - использование протокола IP-телефонии SIP и метода шифрования медиа данных ZRTP. Сервис

    Несмотря на солидный возраст технологии VoIP и ее широкое распространение в корпоративном и государственном секторе, использование данной технологии вызывает ряд серьезных проблем, связанных с безопасностью: относительно несложно установить прослушивание VoIP-звонков, относительно несложно изменить содержание VoIP-звонков, система VoIP подвержена DoS-атакам.

    Существующие решения проблемы

    Использование патентованных (закрытых) аудио кодеков

    Некоторые производители предлагают решать вопросы безопасности IP-телефонии путем использования закрытых аудио кодеков. Вся защита строится на том, что злоумышленнику неизвестен алгоритм кодирования звука, но как только алгоритм становится известным, система перестает быть безопасной. Современные тенденции таковы, что большинство производителей использует открытые аудио кодеки. Таким образом, данный способ защиты потерял свою эффективность.

    Использование VLAN

    При построении системы IP-телефонии принято выделять отдельную сеть VLAN, к которой подключаются все IP-телефоны. Данный способ обладает рядом недостатков:

    • Если злоумышленник получит доступ к VLAN системы IP-телефонии, то ему будет доступны для прослушивания все телефонные переговоры.
    • Данное решение никак не может обеспечить безопасность системы IP-телефонии, построенной между двумя и более территориально распределенными офисами.

    Шифрование и криптографическая аутентификация VoIP

    Данный способ обеспечения безопасности на сегодняшний день является наиболее надежным. Защита современных систем IP-телефонии может быть реализована с помощью различных протоколов таких как SRTP, ZRTP и IPSec. Однако, каждый из этих протоколов обладает рядом существенных недостатков:

    • SRTP, ZRTP используют «слабую» криптографию — ключи шифрования недостаточной длины или некриптостойкие алгоритмы шифрования.
    • IPSec — требует проведения предварительного обмена ключами, часто блокируется различными интернет-провайдерами, в ряде случаев в силу ограничения технологии не позволяет установить защищенное соединение.
    • Помимо частных недостатков, все упомянутые способы криптографической защиты IP-телефонии обладают общим недостатком — отсутствие сертификатов ФСБ РФ и ФСТЭК РФ. Из этого следует, что существующие способы защиты IP-телефонии нельзя использовать в государственных учреждениях.

    Решение обеспечения безопасности VoIP от ОАО «ИнфоТеКС»

    Основой защиты VoIP является VPN-решение ViPNet CUSTOM, которое обладает следующим функционалом:

    • Шифрование и фильтрация сигнального и голосового трафика всех участников сети IP-телефонии.
    • Обеспечивает беспрепятственное прохождение VoIP-трафика через устройства NAT.
    • Поддержка виртуальных адресов, в том числе в протоколах SIP, H.323 и Cisco SCCP (Skinny Client Control Protocol), является решением проблемы пересечения пространства IP-адресов удаленных офисов.

    Преимущества

    • Позволяет организовать защиту гетерогенных систем IP-телефонии.
    • Позволяет организовать защищенное взаимодействие между двумя и более локальными сетями с пересекающейся IP-адресацией без изменения топологии этих сетей.
    • Обеспечивает защиту мобильных пользователей IP-телефонии.
    • Обеспечивает прохождении VPN-трафика в случае использования NAT или противодействия со стороны провайдера.
    • Наличие сертификатов ФСБ и ФСТЭК.