Лайк, если читаешь логи!: запускаем Hotspot 2.0 на сети Wi-Fi в метро
Делимся опытом создания закрытой сети Wi-Fi в метро с использованием технологии Hotspot 2.0, первой статистикой, рекомендациями по безопасности. А также приглашаем к открытому тестированию новой сети.
С середины февраля на зеленой, а с конца апреля на всех линиях московского метро запущена новая закрытая сеть Wi-Fi — MT. Сеть работала в тестовом режиме. Все это время мы проводили внутренние тесты силами сотрудников, а также наблюдали за стабильностью работы точек доступа и контроллеров, возможным влиянием на сервис в открытом SSID MT_FREE.
Запуск этой сети не прошел незамеченным среди наших пользователей. По разным каналам мы получили несколько вопросов о том, как получить учетные данные. Но многие не оставляли попыток подключиться через придуманные учетки. За все время, пока был доступен этот SSID, зарегистрировано 14 488 уникальных запросов авторизации. Более того, некоторые абоненты даже писали нам послания, используя форму для ввода User-Name. Одно из таких посланий, — фразу «Лайк, если читаешь логи!», — было особенно приятно прочесть. Взаимный лайк!
Давайте кратко рассмотрим предпосылки к за пуску закрытой сети, возможности и ограничения, технический аспект внедрения Hotspot 2.0.
Зачем нужна закрытая сеть MT?
Запуск закрытой сети с использованием учетных данных, уникально идентифицирующих устройство или пользователя, обсуждался нами неоднократно. Драйверами запуска являются, в первую очередь, вопросы безопасности. Необходимо исключить возможность подключения к фишинговым точкам с нашим SSID и делать это прозрачно, чтобы от пользователя не требовалось никаких дополнительных действий. Хотя практически весь чувствительный трафик в интернете зашифрован с помощью TLS, абоненты считают сети Wi-Fi без шифрования менее надежными.
Другая причина запуска сети с авторизацией по учетным данным — тренд на рандомизацию MAC-адресов устройств при подключении к Wi-Fi сетям. Этот тренд все заметнее проявляется на Android-устройствах. Причем, если раньше переменные MAC-адреса были атрибутом недорогих смартфонов (главным образом, китайских) и использовались производителями просто в силу нехватки официально зарезервированных пулов MAC-адресов, то недавно Google официально сообщил о внедрении подобной технологии в ОС Android с целью предотвращения трекинга абонентов. Это создает препятствия для полноценного использования публичного Wi-Fi в России, так как при каждом входе потребуется повторная идентификация устройства (в соответствии с постановлениями Правительства 758 и 801). Таким образом, MAC-адрес постепенно перестает быть приемлемым средством идентификации устройства в сети.
Краткий обзор функций Hotspot
В поисках решения указанных проблем мы обратили внимание на технологию Hotspot 2.0, которую развивают в том числе Wi-Fi Alliance и Wireless Broadband Alliance. При первом рассмотрении технология должна закрыть все возникающие потребности — защищенное подключение к проверенному SSID и шифрованное соединение. Ниже приводим сравнение новой парадигмы организации операторских Wi-Fi-сетей и текущего состояния.
Сравнение подходов к организации Wi-Fi сетей — до и после внедрения технологии Hotspot 2.0.
Стек Hotspot 2.0 включает в себя три ключевые технологии:
- Возможность принятия решения о подключении к сети и выполнения подключения самим устройством без действий со стороны пользователя (802.11u) вне зависимости от SSID;
- Безопасное и приватное пользование сетью — шифрование трафика на радио части (802.11i, или в терминологии Wi-Fi Alliance всем известный WPA2);
- Набор методов аутентификации и авторизации по учетным данным и управление учетными данными (EAP, провиженинг).
Технология довольно молодая, первый релиз состоялся в конце 2012 года, но развивается достаточно активно. В конце февраля этого года был анонсирован уже третий релиз. Стоит заметить, что экосистему Hotspot 2.0 развивает не только Wi-Fi Alliance.
Вряд ли ошибусь, если предположу, что у многих читателей технология Hotspot 2.0 ассоциируется с Offload (выгрузкой трафика) из Wi-Fi сети в мобильную.
Действительно, наибольшее количество внедрений Hotspot 2.0 произошло у мобильных операторов, и первопроходцем здесь является AT&T. Этому есть объяснение — обязательным условием работы мобильной связи является наличие в устройстве физической или виртуальной SIM-карты. Вкупе с операторскими профилями и возможностью обновления их «по воздуху» это условие обеспечивает прозрачный для клиента провиженинг (в контексте Hotspot 2.0 — передача учетных данных, их валидация и применение в операционной системе).
При этом клиентский опыт в операторской Wi-Fi-сети становится сравним (а при некоторых условиях и лучше), чем опыт в мобильной сети. Кейс также применим и для MVNO-операторов, но все зависит от схемы работы с хост-оператором. Для остальных операторов, таких как мы, основной вызов — это вопрос провиженинга устройств и всего, что с этим связано. Попробуем разобраться.
Все дело в учетных данных
Учетные данные — это сущность, которая позволяет уникально идентифицировать пользователя. Эти данные должны быть надежно защищены, чтобы злоумышленник не мог перехватить и переиспользовать их. Наличие учетных данных решает проблему MAC-аутентификации, когда можно «прослушать» радио-эфир с помощью сниффера, узнать и подменить MAC-адрес с чужого устройства.
Наиболее распространенными типами учетных данных и методов аутентификации являются:
- SIM-карта, методы EAP-SIM, EAP-AKA
- Пара логин и пароль, EAP-PEAP, EAP-TTLS
- Сертификат, EAP-TLS
Сотовые и MVNO операторы, имеющие свои SIM карты, оказываются в привилегированном положении — подходящие для Wi-Fi-сети учетные данные уже в телефоне, надежно защищены и никаких дополнительных действий от клиента не требуется. А что делать другим?
Настройка вручную — это сложный процесс, сильно зависящий от особенностей конкретной ОС. Для абонентов это крайне неудобно. Передача учетных данных через сеть с автоматической настройкой устройства может быть хорошим решением. Этот процесс будем называть провиженингом, и здесь как раз кроется главное ограничение технологии на текущем этапе развития.
Эволюция Hotspot 2.0
На данный момент выпущено три релиза Hotspot с нетривиальными обозначениями 1, 2, 3. А технология все еще называется 2.0. На самом деле Hotspot 2.0 это набор стандартов, определяющий новый подход к организации операторских Wi-Fi-сетей, когда опыт пользования такими сетями сравним с использованием мобильной сети. А в рамках релизов (1, 2, 3) формируются сами стандарты, на соответствие которым проводится сертификация устройств.
Так, основная «фишка» первого релиза и по совместительству база технологии — это стандарт IEEE 802.11u. Поддержка 802.11u необходима как на стороне инфраструктуры Wi-Fi-сети (точек доступа и контроллеров), так и на стороне клиентских устройств. В ситуации с «железом» особых проблем не наблюдается: все больше и больше вендоров поддерживает стандарт, т.к. на более-менее современных чипах реализация протокола программная. А вот ситуацию с клиентскими устройствами исследуем чуть позже.
Второй релиз стандартизирует процесс провиженинга и новую специфическую инфраструктуру — Online Signup Server (OSU). Это сервер, который осуществляет формирование и передачу настроек сети на клиентские устройства.
Недавно опубликованный Release 3 развивает инструменты провиженинга. При беглом просмотре я не заметил новых «киллер-фич», да и под рукой нет пока устройств и инфраструктуры, чтобы пощупать его на практике. Если увидим интерес читателей, можем попробовать более подробно рассмотреть функции и отличия каждого релиза в другой статье.
Провиженинг
Исследуем вопрос проникновения стека технологий Hotspot на клиентских устройствах. Для этого воспользуемся инструментом от Wi-Fi Alliance, где представлены результаты сертификации устройств. Сертификация — процесс добровольный, поэтому результаты есть не для всех устройств. Так, например, сертификацию прошло всего несколько устройств от Apple — iPhone 3, iPhone 4, iPad. Тем не менее все актуальные iOS устройства поддерживают весь необходимый стек Hotspot 2.0, и, что важно, делают это практически единообразно от версии к версии.
Таким образом, смотрим на результаты сертификации, за исключением iOS устройств, за период с 2012 (публикация первого релиза). Визуализируем полученную статистику в виде диаграммы ниже. Вывод — только каждое пятое не-iOS устройство поддерживает первый релиз (802.11u), каждое десятое — имеет стандартизованный интерфейс провиженинга. Такая ситуация осложняет массовое применение.
Проникновение Hotspot 2.0 на клиентских устройствах (за исключением iOS)
С технической точки зрения результат провиженинга — это наличие на устройстве валидных учетных данных и других необходимых настроек для определенного SSID или Wi-Fi-сети. Второй релиз стандартизировал структуру представления настроек сети в виде XML-документов и механизмы их передачи на устройства. Набор настроек сети, содержащий, в частности, учетные данные, называется сетевым профилем (Profile). Первоначально похожее решение было предложено Apple, но в итоге было стандартизировано его развитие со значительными изменениями. Ниже на скриншоте приведен пример профиля для iOS. Более того, любой пользователь Mac OS может потренироваться в создании профилей, используя утилиту Apple Configurator и следуя официальной документации.
Пример профиля для iOS
Как выглядит процесс провиженинга для пользователя? На рынке есть несколько коммерческих решений OSU, — GlobalReach Odyssys, Ruckus CloudPath, Aruba ClearPass, — поэтому мы можем посмотреть процесс на примере одного из них. По ссылке приведены скриншоты для решения от GlobalReach Odyssys. Ссылку необходимо открывать только в браузере Safari, иначе ОС смартфона не распознает файл профиля (имеет расширение mobileconfig) и не предложит его установить.
Здесь установка профиля показана с максимальным количеством шагов со стороны пользователя, например, когда помимо смартфона есть еще и Apple Watch (да, на часы можно поставить профиль и они будут подключаться к Wi-Fi). Web-провиженинг iOS-устройств возможен только через браузер Safari, это требование ОС. Провиженинг Android-устройств, в зависимости от версии, может выполняться как через браузер, так и с использованием приложения.
В целом алгоритм настройки сети одинаков для всех устройств:
- пользователь подключается к открытой сети Wi-Fi (возможен сценарий подключения к специальной закрытой сети, где будет доступен только OSU) или использует мобильный интернет для открытия страницы OSU;
- на следующем шаге идентифицируем пользователя (подтверждение по СМС, ввод учетных данных от личного кабинета, идентификация через приложение);
- на стороне бэкенда генерируем учетные данные, сохраняем и передаем пользователю;
- учетные данные и настройки сети сохраняются на устройстве пользователя;
- устройство готово к работе в сети Hotspot 2.0, никаких дополнительных действий со стороны устройства не требуется, нужно только оказаться в зоне действия такой сети.
С нашей точки зрения, и, думаю, аудитория с этим согласится, web-провиженинг требует слишком много действий от пользователя, а сам процесс не прозрачен. Ни у кого не возникает вопрос, какой пароль необходимо ввести в форме?
Использование приложения сокращает необходимость действий до минимума, до одного-двух. Но, к сожалению, технология активно движется только в сторону развития и стандартизации web-провиженинга, протокола управления мобильными устройствами (OAM DM), тогда как возможность использования приложения никак в стандарте не отражена. Тем не менее производители мобильных ОС внедряют функционал программной настройки параметров сети Hotspot 2.0, но реализации у разных вендоров значительно отличаются, нет универсальности.
Промежуточный итог
Суммируя все вышеизложенное, подводим краткие итоги обзора и текущего состояния технологии:
- Может решить проблему рандомизации MAC-адресов;
- Может исключить возможность подключения к поддельным SSID злоумышленников для наших пользователей;
- Требует провиженинга учетных данных;
- Низкое проникновение части стека технологии (802.11u, провиженинг) на Android-устройствах;
- Стандартизован web-провиженинг;
- Cтандартизован провиженинг с использованием протокола OMA DM, сфера применения которого ограничена корпоративными сетями;
- Несмотря на стандартизацию, реализация и поддерживаемый функционал зависит от вендора (особенно актуально для Android).
Учитывая значительные преимущества технологии, а также текущий статус ее развития, мы решили внедрить Hotspot 2.0 на своей сети.
Внедрение Hotspot 2.0 на масштабной сети
В процессе запуска необходимо было решить несколько крупных задач.
1. Внесение изменений на оборудовании беспроводной сети
Наши самые большие сети, в метро Москвы и Санкт-Петербурга, построены на оборудовании Cisco, которое поддерживает технологию Hotspot 2.0. Задача настройки всех контроллеров на подвижном составе была, наверное, самой объемной. Предварительно разработанный и протестированный эталонный конфиг контроллера с помощью автоконфигуратора (о нем мы писали в отдельной статье) был применен на все составы. Применение растянулось в несколько этапов. Сначала на зеленой ветке московского метро, для оценки локальных эффектов и влияния, а затем и на всю сеть. Сейчас на всем подвижном составе метро Москвы развернут второй SSID MT.
2. Доработка на стороне внутренней инфраструктуры, в частности на RADIUS-сервере
Так как у нас RADIUS-сервер полностью собственной разработки, нам пришлось реализовывать поддержку EAP и внутреннего метода аутентификации.
3. Выбор типа учетных данных и метода аутентификации
Выбор должен не только обеспечить надежную и прозрачную для абонента аутентификацию и авторизацию в сети, но и сохранить работоспособность наших текущих и перспективных моделей монетизации. Напомню, что именно монетизация (через рекламу и дополнительные услуги) позволяет нам предоставлять доступ к сети бесплатно.
Тип учетных данных выбираем между парой логин/пароль и сертификатом X.509. На первый взгляд, использование сертификата выглядит более надежным, современным и перспективным. Например, можно организовать применение этого же сертификата для аутентификации в приложениях (даже в нашем собственном личном кабинете), причем прозрачно. Однако вопрос управления пользовательскими сертификатами в масштабе большой публичной сети (а не ограниченной корпоративной, когда есть физический доступ к устройствам) выглядит нетривиальным, особенно с учетом различия в реализациях производителями.
Поэтому делаем выбор в пользу пары логин/пароль. Метод — TTLS, так как широко используется для международного межоператорского Wi-Fi роуминга. Для аутентификации сервера и исключения возможности подключения к поддельным SSID (есть нюансы, рассмотрим их в разделе про безопасность) выпустим ключ и сертификат, закрытую часть которого разместим на AAA сервере, а открытую включим в профиль. Таким образом на этапе подключения будет происходить аутентификация сервера авторизации.
4. Провиженинг
Самый сложный вопрос, который до конца не закрыт. Нам необходимо обеспечить передачу учетных данных на устройства пользователя с минимальным количеством действий со стороны владельца, а лучше вообще прозрачно для него. Необходимо обеспечить одинаковый флоу для владельцев iOS и Android, где не только от версии к версии ОС, но и у устройств разных производителей настройка учетных данных может кардинально отличаться. Универсального решения, к сожалению, пока нет. У нас были идеи переложить функционал провиженинга и управления подключением к сети Wi-Fi на мобильное приложение, как универсальное решение, но мы столкнулись с ограничениями обеих платформ.
В данный момент мы продолжаем исследования, и, возможно, в финальной версии будут изменения в процедуре провиженинга или части функционала. Мы по-прежнему считаем идею использования приложения наиболее перспективной и удобной для пользователя и продолжаем эту идею развивать.
Но с чего-то нужно начинать, и так как на всех iOS-устройствах процесс провиженинга унифицирован, мы начали внедрение Hotspot 2.0 именно с гаджетов Apple. Нами был разработан web-сервис провиженинга. Приглашаем всех принять участие в открытом тестировании новой сети, подробные инструкции в конце статьи.
Про безопасность
Провиженинг сетей Wi-Fi и учетных данных с помощью профилей iOS — это только малая часть функционала MDM (Mobile Device Management). В руках злоумышленников функционал может привести к негативным последствиям для пользователей, вплоть до полного блокирования устройства или управления им третьими лицами. В частности, через профиль могут быть добавлены ограничения по установке/удалению приложений, злоумышленник может управлять установкой приложений, может направить трафик пользователя через свой прокси и т.д. Поэтому процесс установки профиля требует повышенного внимания пользователя — необходимо убедиться, что профиль выпустила доверенная компания.
Сейчас единственным прозрачным способом провиженинга iOS-устройств для работы в Hotspot 2.0-сетях является установка профилей. Мы хотели бы дать несколько рекомендаций по установке профилей, которые будут полезны не только в контексте настройки Wi-Fi:
- Установку профилей необходимо производить только из надежного источника. Надежность источника подтверждается валидной цифровой подписью. Валидная подпись в окне установки профиля обозначается зеленой надписью — Проверен или Verified. Можно так же обратить внимание на домен для которого выпущен сертификат. В нашем случае это hotspot.wi-fi.ru. В дальнейшем может быть произвольным в домене wi-fi.ru. Не рекомендуется устанавливать профиль с не валидной подписью.
Пример валидного и невалидного профиля
- Перед установкой сертификата вы видите, какие изменения и настройки будут сделаны. Наш профиль содержит настройки Wi-Fi-сети и Intermediate-сертификат для аутентификации RADIUS-сервера. Во вкладке «Более подробно» можно посмотреть детальную информацию о настройках Wi-Fi-сети и устанавливаемых сертификатах. Не рекомендуется устанавливать профиль, где в настройках Wi-Fi сети установлен «Прокси».
- Крайне не рекомендуется устанавливать сертификаты содержащие другие настройки, особенно SCEP — это позволит злоумышленникам получить полный контроль над устройством установив любой профиль без вашего участия.
Пример профиля с различными ограничениями функционала мобильного устройства
- Для Android-устройств основная рекомендация — в настройках Wi-Fi-сети убедиться, что используется сертификат сервера, иначе будет возможность подключения к поддельным SSID. В отличии от iOS, Android предоставляет пользователю больше свободы, но и ответственности — есть возможность отключать/использовать сертификат вручную. Поэтому лучше положиться на автоматический провиженинг и руками настройки не изменять.
Открытое тестирование
На данный момент Hotspot 2.0 еще не достигла своей зрелости и находится на этапе развития и становления, но мы хотим быть компанией, которая сделает первый шаг в популяризации и внедрении этой новой технологии в России. Для нас, как для оператора популярного городского сервиса, это способ повысить безопасность публичного Wi-Fi. По сути, разворачивая Hotspot 2.0 на сеть MT_FREE в Московском метро, мы создаем крупнейшую в Европе публичную сеть Wi-Fi с шифрованным соединением на уровне радио.
Мы запускаем открытое тестирование технологии Hotspot 2.0 на сети в метро для пользователей iOS. Для этого необходимо пройти процедуру провиженинга, перейдя по ссылке wi-fi.ru/hotspot и установив профиль. После этого подключение к сети Wi-Fi и доступ к безопасной среде будет происходить автоматически, как только ваше устройство появится в зоне действия MT_FREE (и, как следствие, MT).
Мы сообщим о результатах открытого тестирования в отдельном тексте. Поэтому огромная просьба: активно участвовать в тестировании и присылать отзывы по работе новой сети на hotspot@maximatelecom.ru.
Инструкция по установке профиля
Ссылку с сервисом генерации профилей wi-fi.ru/hotspot необходимо открывать только с iOS устройств и в браузере Safari. Это ограничение операционной системы. Такой сценарий провиженинга используем только на время открытого тестирования сети. В ближайшее время мы планируем выпустить уже целевой вариант с использованием приложения.
Флоу установки профиля для iOS до версии 11 включительно и начиная с 12 различаются. Ниже представлен флоу для версий до 11 включительно:
Отличия во флоу установки профиля для iOS с версии 12:
Инструкция по удалению профиля
Профиль генерируется со сроком действия до 30 ноября 2019 года. По истечении этого срока профиль удаляется автоматически без действий со стороны пользователя. Если возникла необходимость удаления профиля раньше, это можно сделать вручную.