«Хочу что бы мои телефонные разговоры не подслушивали«.»Хочу правительственную связь, как у президента«. Нет ничего проще. Нужно стать Президентом или хотя бы Губернатором. 🙂 Если серьезно то для этого необходим Asterisk, защита протокола SIP (TLS) при установлении соединения, защита медиа потока — SRTP и поддержка данных протоколов оконечными устройствами.
По определению «Википедии» — Вертушка — закрытая система партийной и правительственной телефонной связи в СССР.
Первоначально была создана по указанию Владимира Ленина как внутренняя АТС Кремля. Получила название «Вертушка», так как в отличие от обычной телефонной сети, где в то время соединение происходило через оператора, абоненты соединялись друг с другом с помощью АТС и дискового номеронабирателя («вертушки»). В дальнейшем система интенсивно расширялась, а также была снабжена выходом на другие системы правительственной и военной связи (т. н. «ВЧ» ВЧ связь — правительственная и военная связь в СССР и России. ), которые зачастую также назывались в народе «вертушкой». Более точными являются названия:
- АТС-1 (наиболее престижная система связи для абонентов высшей категории — первые лица государства, министры и т. п.)
- АТС-2 (более широкая сеть городской правительственной связи)
«Вертушка» была важным статусным символом для советской номенклатуры. Регулярно модернизируемая система правительственных АТС продолжает действовать по настоящее время. Как таковая, «вертушка» не является защищенной (предназначенной для ведения секретных переговоров), однако увязана с другими правительственными системами защищенной связи долговременной криптостойкости, в том числе подвижной радиотелефонной («Кавказ») и др. Кадры для обслуживания ВЧ связи с 1966 года готовились в Военно-техническом училище КГБ при Совете Министров СССР (в настоящее время Академия ФСО России).
1922 год Телефонный номер «вертушки» Ф. Э. Дзержинского — 007.
О чем это я? Ах да — об Asterisk. Мы уже рассматривали как обеспечить защищенную аутентификацию по протоколу TLS (Transport Layer Security) с использованием сертификатов. С выходом Asterisk 1.8 — настроить такое подключение стало еще проще. Для этого появилась утилита «ast_tls_cert» из директории «contrib/scripts«.
И так создадим директорию для ключей и сертификатов.
- mkdir /etc/asterisk/keys
выполним скрипт для создания само подписанного сертификата.
- ./ast_tls_cert -C pbx.sipring.ru -O «Sipring» -d /etc/asterisk/keys
C — DNS имя или IP адрес сервера.О — Ваша компания.d — директория для файлов.
Cгенерируем клиентские сертификаты.
- ./ast_tls_cert -m client -c /etc/asterisk/keys/ca.crt -k /etc/asterisk/keys/ca.key -C phone.sipring.ru -O «Sipring» -d /etc/asterisk/keys -o igor
m client — опция сообщающая, что формируется клиентский сертификат.С — DNS имя или IP адрес телефона.с,к — используемый сертификат и ключ.О — Ваша компания.d — директория для файлов.
В результате в папке keys буду находится следующие файлы.
- asterisk.crt
- asterisk.csr
- asterisk.key
- asterisk.pem
- ca.cfg
- ca.crt
- ca.key
- igor.crt
- igor.csr
- igor.key
- igor.pem
В файл sip.conf добавляем следующие строки (их назначение мы уже рассматривали).
tlsenable=yes tlsbindaddr=0.0.0.0 tlscertfile=/etc/asterisk/keys/asterisk.pem tlscafile=/etc/asterisk/keys/ca.crt tlscipher=ALL tlsclientmethod=tlsv1
А также добавляем поддержку TLS в описание peer.
transport=tls
Копируем ca.crt и igor.pem на машину где запущен клиент (На этот раз sipphone — Blink). Не забываем в настройках прокси сервера указать порт — 5061 и протокол — TLS.
Загружаем в приложение полученные сертификаты, на вкладке Accounts ->advanced -> TLS settings файл — .pem.
и на вкладке Advanced -> TLS settings файл ca.crt.
Проверяем соединение — sip show peer.
Первая задача выполнена, нашу сигнализацию по протоколу SIP никто не сканирует. Точнее если данные пакеты будут перехвачены в сети, то злоумышленнику потребуются специальные знания, специальное программное обеспечение, оборудование и главное время на расшифровку. Как вы понимаете речь идет о «системах защищенной связи долговременной криптостойкости». Поэтому определяющим фактором является тот, как много времени потребуется на «взлом» системы.
Следующим этапом будет защита голосового потока. Описание SRTP в RFC-3711
«.. describes the Secure Real-time Transport Protocol (SRTP), a profile of the Real-time Transport Protocol (RTP), which can provide confidentiality, message authentication, and replay protection to the RTP traffic and to the control traffic for RTP, the Real-time Transport Control Protocol (RTCP).«
Secure Real-time Transport Protocol — Безопасный Протокол Передачи Данных реального времени (SRTP) определяет профиль RTP и предназначен для;
- шифрования;
- установления подлинности сообщения;
- целостности;
- защиты от замены данных;
в медиа-потоках. Он был разработан небольшой командой криптоэкспертов компаний Cisco и Ericsson.
Необходимую реализацию, Open Source Secure RTP library, написал David McGrew из Cisco Systems, Inc. Скачиваем и устанавливаем библиотеку libsrtp.
tar -xzf srtp-XXX ./configure --prefix=/usr make make runtest make install
Собираем Asterisk с поддержкой srtp.
Добавляем поддержку шифрования в описании peer.
encryption=yes
И в настройке sipphone.
Проверяем медиа пакеты при помощи tcpdump. Так они выглядят не зашифрованные (даже визуально видна пауза когда, не ведется разговор.)
Таким образом выглядят зашифрованные пакеты аудио потока.
Таким образом при помощи IP АТС Asterisk мы получили услуги, доступные только Президентам! Ну а о такой криптозащищенности — Ленин и Дзержинский даже и не мечтали.