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

Блокчейн позволяет построить ведомственную телефонную сеть для таких распределенных организаций, как медицинские учреждения, банки, полиция и т. п., обеспечивая защиту от проникновения в сеть неавторизованных абонентов, а также исключая производимый с помощью атак MIM, DNS Spoofing и им подобных перехват речевого трафика и метаинформации, передаваемых по открытым интернет-каналам. Благодаря децентрализации выход из строя любых узлов или сегментов сети не приводит к нарушению ее работоспособности. Иными словами, когда у сети нет единой точки отказа, а есть децентрализованное администрирование, причем без главного администратора — человека, отвечающего за работоспособность всей сети, то невозможны и потери вследствие его ошибок или злоумышленных действий. Централизация, однако, остается — при регистрации новых подразделений. Это необходимо, чтобы злоумышленники не могли создать фиктивное подразделение и из него присоединиться к ведомственной сети.

Объяснить особенности этой архитектуры можно на примере ведомственной сети медицинских учреждений. Каждому такому учреждению (подразделению) присвоен уникальный номер, а внутри учреждения имеется внутреннее номерное пространство, структурированное согласно определенным правилам: например, регистратура будет иметь номер 0001, главврач — номер 0100, бухгалтерия — 0002 и т. п. Если набран короткий номер, то он рассматривается как локальный и звонок идет внутри подразделения; а если длинный, то префикс рассматривается как номер внешнего подразделения. Например, чтобы позвонить в регистратуру подразделения 1512, абонент должен набрать 15120001.

Система телефонии строится на базе распространенного промышленного протокола SIP. Каждое подразделение имеет собственный VоIP-коммутатор (обычный компьютер с Unix-подобной операционной системой — Linux, FreeBSD или т. п.) и программный коммутатор (softswitch), в качестве которого можно использовать системы с открытым кодом FreeSWITCH или Asterisk либо любые другие, поддерживающие протокол SIP. Оконечное оборудование можно применять самое простое и дешевое, без встроенных функций шифрования — локальные звонки внутри подразделения не шифруются, а их безопасность обеспечивается физическим контролем доверенной локальной сети.

Система безопасности включается, когда звонок между подразделениями идет по протоколу SIPS через Интернет по следующему пути: вызывающий абонент использует незащищенный SIP для соединения с коммутатором своего подразделения 1; коммутатор использует уже защищенный SIPS для соединения через Интернет с коммутатором вызываемого абонента в подразделении 2, в процессе звонка зашифровывая трафик SIP → SIPS; коммутатор 2 принимает защищенный вызов, расшифровывает трафик SIPS → SIPS; коммутатор 2 принимает защищенный вызов, расшифровывает трафик SIPS → SIP и отправляет его вызываемому абоненту.

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

Однако в такой сети появляются проблемы, отсутствующие в централизованных сетях:

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

Казалось бы, для решения первой проблемы можно использовать классический DNS, однако в случае множества территориально распределенных подразделений возникает ряд вопросов, касающихся администрирования и поддержки актуальности DNS-зоны. Кто будет вести единую базу доменной зоны? Что будет, если этот сервер выйдет из строя или администратор DNS-зоны случайно или злонамерено разрушит целостность данных? И как этот администратор будет получать обновления от подразделений?

Можно, конечно, использовать динамический DNS, но тогда возникает опасность атаки на канал динамических адресов DynDNS, при которой злоумышленник с помощью атаки повтором (reply attack, когда производится несанкционированный повтор санкционированного действия — например, перехват информации и ее многократное повторение для получения доступа от имени другого лица) или чего-то подобного забрасывает в систему ложный IP-адрес подразделения и перехватывает входящие звонки либо создает «черную дыру», то есть направляет трафик на несуществующий IP-адрес. Кроме того, в силу централизации самого сервиса DynDNS такая сеть становится уязвимой для атаки на ее ключевой узел, и выход его из строя приведет к остановке всей сети. Также не следует забывать о возможности MIM-атаки (через посредника) на DNS, например DNS Spoofing. Ну и даже простой выход из строя центрального DNS-сервера по любой причине приведет к краху всей сети.

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

Применение технологий блокчейна, например платформы Blockchain Engine поддержки криптовалюты EmerCoin, позволяет решить обе проблемы. В EmerCoin имеется встроенная система неблокируемого распределенного DNS — записи DNS уже находятся на серверах подразделений и не могут быть подменены или заблокированы. Кроме того, благодаря децентрализации в EmerCoin нет точки, из которой можно остановить всю ведомственную телефонную сеть, а при выходе из строя каких-то серверов подразделений остальная часть сети продолжает работать. Иначе говоря, администратор подразделения 1512 поддерживает актуальность только DNS-записи dns:1512.hospital.emc, а в блокчейне хранится «белый список» из разрешенных серверов подразделений.

 

Платформа Blockchain Engine

Платформа представляет собой набор сервисов, развертываемых на виртуальном сервере Blockchain Engine, доступном в облаке Microsoft Azure либо созданном на базе ОС Ubuntu. Данные сервисы позволяют решать задачи электронного бизнеса и обеспечения сетевой безопасности. Совокупность представленных в платформе базовых решений позволяет создавать ориентированные на блокчейн приложения.

EmcSSH — расширение стандартного протокола администрирования сетей SSH. Хранение публичных ключей и списков контроля доступа в блокчейне обеспечивает удобное и безопасное администрирование сетей и исключает возможность распространенной хакерской атаки типа «человек посредине» (MIM) и появления проблемы «единого администратора».

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

Emc InfoCard — электронные визитные карточки, хранящиеся в блокчейне и связанные с клиентскими сертификатами EmcSSL. Сервис позволяет в структурированном виде хранить любую информацию о пользователе.

EmcTTS — цифровой «отпечаток» времени, позволяющий фиксировать в блокчейне время размещения любых документов.

EmcDPO — сервис цифрового доказательства права владения активом, позволяющий подтверждать права на любые виды собственности, имеющие уникальные номера: VIN-номера автомобилей, кадастровые номера, лицензионные номера ПО и др. При продаже актива владелец автоматически лишается права владения, которое присваивается новому собственнику.

EmcUDS — неоспариваемая цифровая подпись (Unquestionable Digital Signature), доказывающая правомерность подписи лица под документом.

EmcDNS — сервис создания надежных сетей и защиты от атак типа подмены DNS благодаря снятию зависимости сети от DNS общего пользования. DNS на базе блокчейна позволяет избегать блокировок интернет-ресурсов, а также различного рода DDoS-атак.

 

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

Так как DNS-запись в EmerСoin связана с неким адресом, находящимся в управлении администраторa подразделения, то имеется возможность доказать правообладание этой записью, что позволяет построить протокол безопасной автоматической подписи и распространения SSL-сертификатов для SIPS. В этом случае сервер подразделения генерирует приватный ключ и CSR-файл (шаблон сертификата для подписи центром авторизации — текстовый файл, содержащий в закодированном виде информацию об администраторе домена и открытый ключ), причем дата начала действия — это текущая дата. Затем сервер подразделения подписывает CSR-файл EmerСoin-адресом своего домена, который он внес в поле Common Name (CN), и отправляет в центр авторизации запрос, содержащий CSR-файл и подпись. Центр извлекает CSR-файл и убеждается по дате в том, что он только что сгенерирован (это защищает от атак повтором), затем извлекает CN из CSR-файла и по нему делает запрос в блокчейн EmerCoin, извлекая EMC-адрес, связанный с данным CN. Далее центр проверяет подпись CSR на этом извлеченном адресе путем еще одного запроса в блокчейн, и если проверка прошла успешно, то центр убеждается, что запрос пришел именно от владельца записи EMCDNS и его CSR можно подписывать. Таким образом осуществляется защита от спуфинга, когда злоумышленник, захватив канал до центра авторизации, может захватить трафик на IP-адресе подразделения-жертвы и получить верный сертификат, выдав себя за ее сервер подразделения.

Стоимость развертывания надежной ведомственной сети на базе блокчейн-платформы минимальна и образуется из стоимости SIP-телефонов или адаптеров, затрат на компьютер для станции, зарплаты системного администратора, платежей интернет-провайдеру и взносов на обновление DNS-записи в EMCDNS (примерно 0,01 долл. за обновление), а если использовать статический IP, то нет и этих расходов. Обычно провайдер меняет IP примерно раз в две недели. Программное обеспечение, звонки внутри сети, шифрование и расширенные функции достаются бесплатно.

---

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

Олег Ховайко (oleg@emercoin.com) — технический директор, компания EmerCoin.