Gsm связь что это
Перейти к содержимому

Gsm связь что это

  • автор:

GSM System

Doç. Dr. Serkan Savaş

Global System for Mobile Communication (GSM) is a communication system developed by a working group affiliated to the European Telecommunications Standards Institute (ETSI). GSM was first used in Finland in the world. Finland’s geographical structure, weather conditions, distribution of residential areas have prepared a suitable ground for the development of a wireless communication system [1].

GSM, which can be created in about 10 years and with billions of dollars of expenditure, was accepted as a standard by 30 European countries in 1987. The first GSM standards were published in 1990. Although it started as a European standard, GSM has become a world standard by adopting it worldwide in a short time. ANSI (American National Standards Institute — American National Standards Institute) stepped in to use these standards in the USA and GSM standards were published in the USA and linked to their applications [2].

The primary goal of mobile phone networks such as GSM is to allow subscribers with mobile stations to make phone calls from anywhere. In order to achieve this, main functions such as call management, call processing, radio management, mobility management, pricing and security must be fulfilled [1].

The GSM network consists of the network switching subsystem (NSS; Network Switching Subsytem) and the base station subsystem (BSS; Base Station Subsystem). NSS handles call handling, mobility management, security and pricing. BSS manages functions related to the radio system for mobile stations [1].

Although GSM is digital and brings many innovations in terms of radio access techniques it uses, it is not the last point reached, but it is accepted as a study that will provide transition to more advanced and global systems [3].

Transactions related to subscribers are divided into many sections. Permanent location register (HLR; Home Location Register), visitor location register (VLR; Visitor Location Register), authentication center (AUC; Authentication Center), device identity register (EIR; Equipment Identity Register). EIR, HLR and VLR are databases that contain information of subscribers.

H LR is a database that holds all kinds of data for a particular operator, such as where the cell phone is, subscriber identity information.
VLR temporarily keeps a copy of the HLR information of the subscribers served within a certain MSC. Copying subscriber information from HLR to VLR is a part of mobility management in the network.
AUC manages all security operations.
EIR is the database where the list of mobile stations in the network is kept. Here, all mobile stations have an international mobile device ID (IMEI; International Mobile Equipment Identity) [1].

One of the most useful features of GSM is that users can make calls (roaming) from different countries with the same line. All GSM standards use cellular networks, and GSM technology has the ability to switch between cells.

Сети GSM. Взгляд изнутри.

На заре развития мобильной связи (а было это не так давно — в начале восьмидесятых) Европа покрывалась аналоговыми сетями самых разных стандартов — Скандинавия развивала свои системы, Великобритания свои… Сейчас уже сложно сказать, кто был инициатором последовавшей очень скоро революции — "верхи" в виде производителей оборудования, вынужденные разрабатывать для каждой сети собственные устройства, или "низы" в качестве пользователей, недовольные ограниченной зоной действия своего телефона. Так или иначе, в 1982 году Европейской Комиссией по Телекоммуникациям (CEPT) была создана специальная группа для разработки принципиально новой, общеевропейской системы мобильной связи. Основными требованиями, предъявляемыми к новому стандарту, были: эффективное использование частотного спектра, возможность автоматического роуминга, повышенное качество речи и защиты от несанкционированного доступа по сравнению с предшествующими технологиями, а также, очевидно, совместимость с другими существующими системами связи (в том числе проводными) и тому подобное.

Плодом упорного труда многих людей из разных стран (честно говоря, мне даже страшно представить себе объем проделанной ими работы!) стала представленная в 1990 году спецификация общеевропейской сети мобильной связи, названная Global System for Mobile Communications или просто GSM. А дальше все замелькало, как в калейдоскопе — первый оператор GSM принял абонентов в 1991 году, к началу 1994 года сети, основанные на рассматриваемом стандарте, имели уже 1.3 миллиона подписчиков, а к концу 1995 их число увеличилось до 10 миллионов! Воистину, "GSM шагает по планете" — в настоящее время телефоны этого стандарта имеют около 200 миллионов человек, а GSM-сети можно найти по всему миру.

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

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

Основные части системы GSM, их назначение и взаимодействие друг с другом.

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

Взгляните на рис. 1:

Рис.1 Упрощенная архитектура сети GSM.

Самая простая часть структурной схемы — переносной телефон, состоит из двух частей: собственно "трубки" — МЕ (Mobile Equipment — мобильное устройство) и смарт-карты SIM (Subscriber Identity Module — модуль идентификации абонента), получаемой при заключении контракта с оператором. Как любой автомобиль снабжен уникальным номером кузова, так и сотовый телефон имеет собственный номер — IMEI (International Mobile Equipment Identity — международный идентификатор мобильного устройства), который может передаваться сети по ее запросу (более подробно про IMEI можно узнать здесь ). SIM, в свою очередь, содержит так называемый IMSI (International Mobile Subscriber Identity — международный идентификационный номер подписчика). Думаю, разница между IMEI и IMSI ясна — IMEI соответствует конкретному телефону, а IMSI — определенному абоненту.

"Центральной нервной системой" сети является NSS (Network and Switching Subsystem — подсистема сети и коммутации), а компонент, выполняющей функции "мозга" называется MSC (Mobile services Switching Center — центр коммутации). Именно последний всуе называют (иногда с придыханием) "коммутатор", а также, при проблемах со связью, винят во всех смертных грехах. MSC в сети может быть и не один (в данном случае очень уместна аналогия с многопроцессорными компьютерными системами) — например, на момент написания статьи московский оператор Билайн внедрял второй коммутатор (производства Alcatel). MSC занимается маршрутизацией вызовов, формированием данных для биллинговой системы, управляет многими процедурами — проще сказать, что НЕ входит в обязанности коммутатора, чем перечислять все его функции.

Следующими по важности компонентами сети, также входящими в NSS, я бы назвал HLR (Home Location Register — реестр собственных абонентов) и VLR (Visitor Location Register — реестр перемещений). Обратите внимание на эти части, в дальнейшем мы будем часто упоминать их. HLR, грубо говоря, представляет собой базу данных обо всех абонентах, заключивших с рассматриваемой сетью контракт. В ней хранится информация о номерах пользователей (под номерами подразумеваются, во-первых, упоминавшийся выше IMSI, а во-вторых, так называемый MSISDN-Mobile Subscriber ISDN, т.е. телефонный номер в его обычном понимании), перечень доступных услуг и многое другое — далее по тексту часто будут описываться параметры, находящиеся в HLR.

В отличие от HLR, который в системе один, VLR`ов может быть и несколько — каждый из них контролирует свою часть сети. В VLR содержатся данные об абонентах, которые находятся на его (и только его!) территории (причем обслуживаются не только свои подписчики, но и зарегистрированные в сети роумеры). Как только пользователь покидает зону действия какого-то VLR, информация о нем копируется в новый VLR, а из старого удаляется. Фактически, между тем, что есть об абоненте в VLR и в HLR, очень много общего — посмотрите таблицы, где приведен перечень долгосрочных (табл.1) и временных (табл.2 и 3) данных об абонентах, хранящихся в этих реестрах. Еще раз обращаю внимание читателя на принципиальное отличие HLR от VLR: в первом расположена информация обо всех подписчиках сети, независимо от их местоположения, а во втором — данные только о тех, кто находится на подведомственной этому VLR территории. В HLR для каждого абонента постоянно присутствует ссылка на тот VLR, который с ним (абонентом) сейчас работает (при этом сам VLR может принадлежать чужой сети, расположенной, например, на другом конце Земли).

1. Международный идентификационный номер подписчика (IMSI)
2. Телефонный номер абонента в обычном смысле (MSISDN)
3. Категория подвижной станции
4. Ключ идентификации абонента (Ki)
5. Виды обеспечения дополнительными услугами
6. Индекс закрытой группы пользователей
7. Код блокировки закрытой группы пользователей
8. Состав основных вызовов, которые могут быть переданы
9. Оповещение вызывающего абонента
10. Идентификация номера вызываемого абонента
11. График работы
12. Оповещение вызываемого абонента
13. Контроль сигнализации при соединении абонентов
14. Характеристики закрытой группы пользователей
15. Льготы закрытой группы пользователей
16. Запрещенные исходящие вызовы в закрытой группе пользователей
17. Максимальное количество абонентов
18. Используемые пароли
19. Класс приоритетного доступа
Таблица 1. Полный состав долгосрочных данных, хранимых в HLR и VLR.
1. Параметры идентификации и шифрования
2. Временный номер мобильного абонента (TMSI)
3. Адрес реестра перемещения, в котором находится абонент (VLR)
4. Зоны перемещения подвижной станции
5. Номер соты при эстафетной передаче
6. Регистрационный статус
7. Таймер отсутствия ответа
8. Состав используемых в данный момент паролей
9. Активность связи
Таблица 2. Полный состав временных данных, хранимых в HLR.
1. Временный номер мобильного абонента (TMSI)
2. Идентификаторы области расположения абонента (LAI)
3. Указания по использованию основных служб
4. Номер соты при эстафетной передаче
5. Параметры идентификации и шифрования
Таблица 3. Полный состав временных данных, хранимых в VLR.

NSS содержит еще два компонента — AuC (Authentication Center — центр авторизации) и EIR (Equipment Identity Register — реестр идентификации оборудования). Первый блок используется для процедур установления подлинности абонента, а второй, как следует из названия, отвечает за допуск к эксплуатации в сети только разрешенных сотовых телефонов. Подробно работа этих систем будет рассмотрена в следующем разделе, посвященном регистрации абонента в сети.

Исполнительной, если так можно выразиться, частью сотовой сети, является BSS (Base Station Subsystem — подсистема базовых станций). Если продолжать аналогию с человеческим организмом, то эту подсистему можно назвать конечностями тела. BSS состоит из нескольких "рук" и "ног" — BSC (Base Station Controller — контроллер базовых станций), а также множества "пальцев" — BTS (Base Transceiver Station — базовая станция). Базовые станции можно наблюдать повсюду — в городах, полях (чуть не сказал "и реках") — фактически это просто приемно-передающие устройства, содержащие от одного до шестнадцати излучателей. Каждый BSC контролирует целую группу BTS и отвечает за управление и распределение каналов, уровень мощности базовых станций и тому подобное. Обычно BSC в сети не один, а целое множество (базовых станций же вообще сотни).

Управляется и координируется работа сети с помощью OSS (Operating and Support Subsystem — подсистема управления и поддержки). OSS состоит из всякого рода служб и систем, контролирующих работу и трафик — дабы не перегружать читателя информацией, работа OSS ниже рассматриваться не будет.

Регистрация в сети.

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

Пусть сеть найдена. По запросу сети телефон передает IMSI абонента. IMSI начинается с кода страны "приписки" его владельца, далее следуют цифры, определяющие домашнюю сеть, а уже потом — уникальный номер конкретного подписчика. Например, начало IMSI 25099… соответствует российскому оператору Билайн. (250-Россия, 99 — Билайн). По номеру IMSI VLR гостевой сети определяет домашнюю сеть и связывается с ее HLR. Последний передает всю необходимую информацию об абоненте в VLR, который сделал запрос, а у себя размещает ссылку на этот VLR, чтобы в случае необходимости знать, "где искать" абонента.

Очень интересен процесс определения подлинности абонента. При регистрации AuC домашней сети генерирует 128-битовое случайное число — RAND, пересылаемое телефону. Внутри SIM с помощью ключа Ki (ключ идентификации — так же как и IMSI, он содержится в SIM) и алгоритма идентификации А3 вычисляется 32-битовый ответ — SRES (Signed RESult) по формуле SRES = Ki * RAND. Точно такие же вычисления проделываются одновременно и в AuC (по выбранному из HLR Ki пользователя). Если SRES, вычисленный в телефоне, совпадет со SRES, рассчитанным AuC, то процесс авторизации считается успешным и абоненту присваивается TMSI (Temporary Mobile Subscriber Identity-временный номер мобильного абонента). TMSI служит исключительно для повышения безопасности взаимодействия подписчика с сетью и может периодически меняться (в том числе при смене VLR).

Теоретически, при регистрации должен передаваться и номер IMEI, но у меня есть большие сомнения насчет того, что московские операторы отслеживают IMEI используемых абонентами телефонов. Давайте будем рассматривать некую "идеальную" сеть, функционирующую так, как было задумано создателями GSM. Так вот, при получении IMEI сетью, он направляется в EIR, где сравнивается с так называемыми "списками" номеров. Белый список содержит номера санкционированных к использованию телефонов, черный список состоит из IMEI, украденных или по какой-либо иной причине не допущенных к эксплуатации телефонов, и, наконец, серый список — "трубки" с проблемами, работа которых разрешается системой, но за которыми ведется постоянное наблюдение.

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

Все пользователи случайным образом разбиваются на 10 равноправных классов доступа (с номерами от 0 до 9). Кроме того, существует несколько специальных классов с номерами с 11 по 15 (разного рода аварийные и экстренные службы, служебный персонал сети). Информация о классе доступа хранится в SIM. Особый, 10 класс доступа, позволяет совершать экстренные звонки (по номеру 112), если пользователь не принадлежит к какому-либо разрешенному классу, или вообще не имеет IMSI (SIM). В случае чрезвычайных ситуаций или перегрузки сети некоторым классам может быть на время закрыт доступ в сеть.

Территориальное деление сети и handover.

Как уже было сказано, сеть состоит из множества BTS — базовых станций (одна BTS — одна "сота", ячейка). Для упрощения функционирования системы и снижения служебного трафика, BTS объединяют в группы — домены, получившие название LA (Location Area — области расположения). Каждой LA соответствует свой код LAI(Location Area Identity). Один VLR может контролировать несколько LA. И именно LAIпомещается в VLR для задания местоположения мобильного абонента. В случае необходимости именно в соответствующей LA (а не в отдельной соте, заметьте) будет произведен поиск абонента. При перемещении абонента из одной соты в другую в пределах одной LA перерегистрация и изменение записей в VLR/HLR не производится, но стоит ему (абоненту) попасть на территорию другой LA, как начнется взаимодействие телефона с сетью. Каждому пользователю, наверное, не раз приходилось слышать периодические помехи (типа хрюк-хрюк—хрюк-хрюк—хрюк-хрюк 🙂 ) в музыкальной системе своего автомобиля от находящегося в режиме ожидания телефона — зачастую это является следствием проводимой перерегистрации при пересечении границ LA. При смене LA код старой области стирается из VLR и заменяется новым LAI, если же следующий LA контролируется другим VLR, то произойдет смена VLR и обновление записи в HLR.

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

Теперь рассмотрим очень красивый алгоритм так называемого handover`ра (такое название получила смена используемого канала в процессе соединения). Во время разговора по мобильному телефону вследствие ряда причин (удаление "трубки" от базовой станции, многолучевая интерференция, перемещение абонента в зону так называемой тени и т.п.) мощность (и качество) сигнала может ухудшиться. В этом случае произойдет переключение на канал (может быть, другой BTS) с лучшим качеством сигнала без прерывания текущего соединения (добавлю — ни сам абонент, ни его собеседник, как правило, не замечают произошедшего handover`а). Handover`ы принято разделять на четыре типа:

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

В общем случае, проведение handover`а — задача MSC. Но в двух первых случаях, называемых внутренними handover`ами, чтобы снизить нагрузку на коммутатор и служебные линии связи, процесс смены каналов управляется BSC, а MSC лишь информируется о происшедшем.

Во время разговора мобильный телефон постоянно контролирует уровень сигнала от соседних BTS (список каналов (до 16), за которыми необходимо вести наблюдение, задается базовой станцией). На основании этих измерений выбираются шесть лучших кандидатов, данные о которых постоянно (не реже раза в секунду) передаются BSC и MSC для организации возможного переключения. Существуют две основные схемы handover`а:

  • "Режим наименьших переключений" (Minimum acceptable performance). В этом случае, при ухудшении качества связи мобильный телефон повышает мощность своего передатчика до тех пор, пока это возможно. Если же, несмотря на повышение уровня сигнала, связь не улучшается (или мощность достигла максимума), то происходит handover.
  • "Энергосберегающий режим" (Power budget). При этом мощность передатчика мобильного телефона остается неизменной, а в случае ухудшения качества меняется канал связи (handover).

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

Маршрутизация вызовов.

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

При поступлении запроса (рис.2) на соединение от проводной телефонной (или другой сотовой) системы на MSC домашней сети (вызов "находит" нужный коммутатор по набранному номеру мобильного абонента MSISDN, который содержит код страны и сети).

Рис.2 Взаимодействие основных блоков сети при поступлении входящего вызова.

MSC пересылает в HLR номер (MSISDN) абонента. HLR, в свою очередь, обращается с запросом к VLR гостевой сети, в которой находится абонент. VLR выделяет один из имеющихся в ее распоряжении MSRN (Mobile Station Roaming Number — номер "блуждающей" мобильной станции). Идеология назначения MSRN очень напоминает динамическое присвоение адресов IP при коммутируемом доступе в Интернет через модем. HLR домашней сети получает от VLR присвоенный абоненту MSRN и, сопроводив его IMSI пользователя, передает коммутатору домашней сети. Заключительной стадией установления соединения является направление вызова, сопровождаемого IMSI и MSRN, коммутатору гостевой сети, который формирует специальный сигнал, передаваемый по PAGCH (PAGer CHannel — канал вызова) по всей LA, где находится абонент.

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

Тип ошибки Частота Тип сигнала
Номер абонента занят 425±15 Гц 500мс гудок, 500 мс пауза
Перегрузка сети 425±15 Гц 200мс гудок, 200 мс пауза
Общая ошибка 950±50Гц 1400±50Гц 1800±50Гц Тройной гудок (длительность каждой части 330 мс), 1 с пауза
Таблица 4. Основные диагностические сигналы об ошибке при установлении соединения.

Заключение

Конечно, в мире нет ничего идеального. Рассмотренные выше сотовые системы GSM не исключение. Ограниченное число каналов создает проблемы в деловых центрах мегаполисов (а в последнее время, ознаменованное бурным ростом абонентской базы, и на их окраинах) — чтобы позвонить, часто приходится ждать уменьшения нагрузки системы. Малая, по современным меркам, скорость передачи данных (9600 бит/с) не позволяет пересылать объемные файлы, не говоря о видеоматериалах. Да и роуминговые возможности не так уж безграничны — Америка и Япония развивают свои, несовместимые с GSM, цифровые системы беспроводной связи.

Конечно, рано говорить, что дни GSM сочтены, но нельзя и не замечать появления на горизонте так называемых 3G-систем, олицетворяющих начало новой эры в развитии сотовой телефонии и лишенных перечисленных недостатков. Как хочется заглянуть на несколько лет вперед и посмотреть, какие возможности получим все мы от новых технологий! Впрочем, ждать осталось не так долго — начало коммерческой эксплуатации первой сети третьего поколения намечается на начало 2001 года… А вот какая судьба уготована новым системам — взрывообразный рост, как GSM, или разорение и уничтожение, как Iridium, покажет время…

Автор благодарит компанию Адмирал+ за помощь в подготовке материала.

Как работает радиоинтерфейс в GSM-сетях

Думаю, многие когда-либо задумывались над тем, как работают сотовые сети. Ведь мы пользуемся мобильными телефонами почти каждый день. Количество абонентов увеличивается с каждым днем, так же как и площади сетевого покрытия… На смену старым стандартам приходят новые, растут и «аппетиты» пользователей мобильного интернета. Если Вас интересует, как все это работает, добро пожаловать под кат! Поскольку инфраструктура сотовых сетей довольно велика, а ее описание может занять целую книгу, в данной статье мы остановимся на Um-интерфейсе, с помощью которого наши телефоны взаимодействуют с оборудованием оператора, а также другими абонентами.

Осторожно, злая собака много картинок!

Предисловие

Сотовая связь появилась довольно давно. Еще в 40-х годах двадцатого века начались исследования с целью создания сети подвижной связи. В 1956 году в нескольких городах Швеции запускают автомобильную телефонную сеть Mobile System A (MTA). В 1957 году наш соотечественник Л.И. Куприянович публично демонстрирует разработанный им мобильный телефон и базовую станцию для него. Затем в СССР начнется разработка гражданской системы сотовой связи «Алтай», которая через несколько лет покроет более 30, а затем и вовсе 114 советских городов. Кстати, в некоторых городах постсоветского пространства «Алтай» работает и по сей день, например, в Новосибирске (нумерация +7 (383) 349-8XXX)! В 80-х компания Motorola выпускает свой знаменитый DynaTAC 8000X стоимостью $3995. И только в 1992 году следом за NMT-450, AMPS, ETACS, D-AMPS и NMT-900 в Германии запускается сотовая связь на базе стандарта GSM.

Сегодня, спустя двадцать с лишним лет, мы пользуемся сетями нового поколения, вроде 3G и 4G, однако сети GSM никуда не исчезли — они все-еще используются банкоматами, терминалами, сигнализациями и даже современными телефонами для экономии электроэнергии и сохранения обратной совместимости. К тому же новинки, вроде UMTS (или W-CDMA) и LTE, имеют много общего с GSM. В отличие, например, от TCP/IP, сотовые сети менее доступны для изучения и исследований. Причин много: начиная от довольно высоких цен на оборудование, заканчивая запретом законодательств большинства стран на использования частот GSM-диапазонов без лицензии. На мой взгляд, понимание принципов работы сотовых сетей очень важно для специалистов в области информационной безопасности, да и не только. Именно поэтому я решил написать данную публикацию.

  1. Введение в сотовые сети
    1.1 Провайдеры услуг сотовой связи
    1.2 Принципы обеспечения сетевого покрытия
    1.3 Инфраструктура сотовых сетей
    1.4 Межоператорное взаимодействие
  2. Um-интерфейс (GSM Air Interface)
    2.1 Частотные диапазоны
    2.2 Физические каналы, разделение множественного доступа
    2.3 Логические каналы
    2.4 Что такое burst?
    2.5 Виды burst
    2.6 Frequency Hopping
    2.7 Основные принципы взаимодействия MS и BTS
    2.8 Handover
    2.9 Кодирование речи
  3. Безопасность и конфиденциальность
    3.1 Основные векторы атак
    3.2 Идентификация абонентов
    3.3 Аутентификация
    3.4 Шифрование трафика

1. Введение в сотовые сети

1.1 Провайдеры услуг сотовой связи

По аналогии с интернет-провайдерами, услуги сотовой связи предоставляют определенные компании, чаще всего называемые «операторами». Каждый из них предлагает свой спектр услуг, а также устанавливает свои тарифные планы. Чаще всего операторы используют собственное оборудование для построения основной инфраструктуры сети; некоторые же используют уже имеющуюся, например, в России оператор Yota работает на базе оборудования оператора Megafon.

С точки зрения рядового абонента мобильных сетей, индивидуальность оператора заключается в качестве предоставляемых услуг связи, определенном диапазоне номеров, собственных брендовых SIM-картах, а также тарифных планах. Со стороны самих операторов, а также других телекоммуникационных областей, идентификация каждого из них осуществляется по коду страны (MCC — Mobile Country Code) и уникальному коду сети внутри страны (MNC — Mobile Network Code). Кроме этого, идентификация абонентов осуществляется не по привычному для нас телефонному номеру, а по международному идентификатору абонента — IMSI (International Mobile Subscriber Identity), который записан в SIM-карте абонента, а также в базе данных оператора. Телефонные номера просто-напросто «привязываются» к определенному IMSI, благодаря чему абонент может сменить оператора, сохранив свой номер телефона.

1.2 Принципы обеспечения сетевого покрытия

Покрытие определенной местности сотовой связью обеспечивается за счет распределения приемопередающих устройств по ее площади. Уверен, многие видели их на рекламных шитах, различных зданиях, и даже на отдельных мачтах. Чаще всего они представляют из себя несколько направленных антенн белого цвета, а также небольшое здание, куда тянутся провода. Так вот, в терминологии GSM такие комплексы называются базовыми станциями (BTS) и могут состоять из нескольких приемопередающих устройств — трансиверов (TRX — Transmitter/Receiver).

Ключевая особенность сотовой связи заключается в том, что общая зона покрытия делится на ячейки (соты), определяющиеся зонами покрытия отдельных базовых станций (БС). Кстати, отсюда как раз и возникло название «сотовая связь». Каждая базовая станция покрывает один или несколько секторов, а также имеет один или несколько приемопередатчиков в каждом секторе, каждый из которых излучает сигнал на своей частоте. Проще говоря, сота — это одна из ячеек покрытия, имеющая свой уникальный идентификатор, называемый CI (Cell ID). Соты можно классифицировать по масштабу покрываемой территории: макросота (до 35 км, иногда до 70 км), обычная сота (до 5 км), микросота (до 1 км), пикосота (до 300 метров) и фемтосота (чаще встречаются внутри помещений, покрывают десятки метров).

Базовые станции, расположенные поблизости, работают в различных частотных диапазонах, благодаря чему соты различных операторов могут частично или почти полностью накладываться друг на друга. Совокупность базовых станций, работающих совместно, называется зоной местоположения — LAC (Location Area Code). Все базовые станции обязательно передают в эфир свои идентификационные данные, такие как MCC, MNC, Cell ID, а также LAC, благодаря чему, мобильные телефоны подключается только к BTS своего оператора. Кроме этого, мобильные телефоны с определенным интервалом уведомляют сеть о своем текущем местоположении, т.е. LAC. Данная процедура называется Location Update, но об этом позже.

1.3 Инфраструктура сотовых сетей

Базовые станции не могут существовать сами по себе, поэтому, находясь в определенном LAC, они подключаются к контроллеру базовых станций — BSC (Base Station Controller). Контроллеры, в свою очередь, выполняют балансировку нагрузки, а также активно участвуют в процессе обмена трафика между сетью и своими «подчиненными». Взаимодействие BTS и BSC осуществляется посредством интерфейса A-bis. В пределах сети у большинства операторов, чаще всего, несколько контроллеров базовых станций, которые посредством A-интерфейса и Gb-интерфейса к коммутационным узлам сети (MSC — Mobile Switching Center, SGSN — Serving GPRS Support Node).

MSC образует ядро сетевой инфраструктуры (Core Network), в которое входят следующие основные элементы:

  • HLR (Home Location Register) — база данных, содержащая персональные данные каждого абонента, включая телефонный номер, тарифный план, список подключенных услуг, а также информацию об используемой абонентом SIM-карте.
  • VLR (Visitor Location Register) — временная база данных абонентов, которые находятся в зоне действия определённого центра мобильной коммутации. Каждая базовая станция в сети приписана к определённому VLR, так что абонент не может присутствовать в нескольких VLR одновременно.
  • AuC (Authentication Center) — центр аутентификации абонентов, выполняющий проверку подлинности каждой SIM-карты, подключающейся к сети.
  • SMSC (SMS Center) — центр обмена короткими текстовыми сообщениями, занимающийся их хранением и маршрутизацией.
  • GMSC (Gateway MSC) — шлюз, предоставляющий доступ к сетям проводных городских телефонов. Именно благодаря данному элементу возможны звонки между абонентами сотовых и городских телефонных сетей.
  • SGSN (Serving GPRS Support Node) — узел обслуживания абонентов GPRS, выступающий точкой соединения между системой базовых станций (BSS) и базовой сетью (Core Network). SGSN можно назвать аналогом коммутатора MSC сети GSM. SGSN выполняет контроль доставки пакетов данных, мониторинг находящихся в режиме online пользователей, преобразование кадров GSM в форматы, используемые протоколами TCP/IP глобальной компьютерной сети Internet, регистрацию или «прикрепление» (attachment) абонентов, вновь «появившихся» в зоне действия сети, шифрование данных, обработку поступающей биллинговой информации, а также обеспечивает взаимодействие с реестром собственных абонентов сети HLR. В отличии от вышеперечисленных элементов, SGSN соединяется напрямую с BSC.

1.4 Межоператорное взаимодействие

Сети различных операторов взаимодействуют между собой, благодаря чему, например, Алиса, являясь абонентом оператора A, может позвонить Бобу, который является абонентом оператора B. Называется эта сеть ОКС-7 или SS7, работает либо на базе специальных проводных/беспроводных коммуникационных сетей, либо поверх Интернета (да, да, сеть поверх сети). SS7 предоставляет набор протоколов для взаимодействия различных операторов. Роуминг тоже работает благодаря данной сети.

2. Um-интерфейс (GSM Air Interface)

2.1 Частотные диапазоны

Любое оборудование в сотовых сетях взаимодействует посредством определенных интерфейсов. Как уже говорилось, обмен данными между базовой станцией и абонентом осуществляется через Um-интерфейс, который в первую очередь является радиоинтерфейсом, следовательно обмен данными происходит в процессе приема/передачи радиоволн. Радиоволны являются таким же электромагнитным излучением, как тепло или свет. Ультрафиолетовое, рентгеновское и ионизирующее излучения так же являются видами электромагнитного излучения с определенными диапазонами частот и определенными длинами волн. Помните такую картинку?

Так вот, диапазон радиоволн тоже разделен на дочерние диапазоны частот, например, диапазоны LF (30—300 кГц), MF (300—3000 кГц) и HF (3—30 МГц) чаще всего используются для радиосвязи и радиовещания; телевещание ведется в диапазонах VHF (30—300 МГц), UHF (300—3000 МГц) и SHF (3—30 ГГц); беспроводные сети, типа WiFi, а также спутниковое телевидение работают в том-же SHF. Больше всего нас интересует диапазон UHF, в котором работают сети GSM. Согласно стандарту 3GPP TS 45.005, в эфире им выделено целых 14 дочерних для UHF диапазонов, причем в различных странах используются различные диапазоны. Рассмотрим наиболее распространенные:

Характеристики GSM-850 P-GSM-900 E-GSM-900 DCS-1800 PCS-1900
Uplink, МГц 824.2 — 849.2 890.0 — 915.0 880.0 — 915.0 1710.2 — 1784.8 1850.2 — 1909.8
Downlink, МГц 869.2 — 893.8 935.0 — 960.0 925.0 — 960.0 1805.2 — 1879.8 1930.2 — 1989.8
ARFCN 128 — 251 1 — 124 975 — 1023, 0 — 124 512 — 885 512 — 810

P-GSM-900, E-GSM-900 и DCS-1800 используются преимущественно в странах Европы и Азии. Диапазоны GSM-850 и PCS-1900 используется в США, Канаде, отдельных странах Латинской Америки и Африки.

Любой выделенный под сотовую сеть диапазон делится на множество отрезков (обычно по 200 КГц), часть из которых называется Downlink — здесь данные в эфир передают только базовые станции (BTS), часть — Uplink, где вещают только телефоны (MS). Пары таких отрезков, где один принадлежит Downlink, а другой Uplink, образуют радиочастотные каналы, называемые ARFCN (Absolute radio-frequency channel number). Другими словами, телефон не может принимать и передавать данные на одной и той же частоте, вместо этого при передаче он переключается на частоты Uplink, а при приеме на Downlink, причем процесс переключения происходит очень быстро.

2.2 Физические каналы, разделение множественного доступа

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

Потребность в разделении множественного доступа возникла давно и применяется как в проводных коммуникациях (I2C, USB, Ethernet), так и в беспроводных. В сотовых сетях чаще всего используются технологии FDMA (Frequency Division Multiple Access), TDMA (Time Division Multiple Access) и CDMA (Code Division Multiple Access). Первые две в совокупности используются в сетях второго поколения — GSM. CDMA является основой современных сотовых сетей, которые превосходят GSM как в плане безопасности, так и максимальной скорости передачи данных. Что же это за магия?

Для радиосистем существует два основных ресурса — частота и время. Разделение множественного доступа по частотам, когда каждому приемнику и передатчику выделяется определенная частота, называется FDMA. Разделение по времени, когда каждой паре приёмник-передатчик выделяется весь спектр или большая его часть на выделенный отрезок времени, называют TDMA. В CDMA нет ограничений на частоту и время. Вместо этого каждый передатчик модулирует сигнал с применением присвоенного в данный момент каждому пользователю отдельного числового кода, а приемник вычисляет нужную часть сигнала, используя аналогичный код. Кроме того, существует еще несколько технологий: PAMA (Pulse-Address Multiple Access), PDMA (Polarization Division Multiple Access), SDMA (Space Division Multiple Access), однако, их описание выходит за рамки данной статьи.

FDMA
Принцип данного метода заключается в том, что доступный частотный спектр разделяется между приемниками и передатчиками на равные или неравные частотные полосы, часть из которых выделяется под Downlink (трафик от BTS к MS), часть под Uplink (трафик от MS к BTS). Об этом мы уже говорили.

TDMA
Вместе с разделением по частоте (FDMA), в GSM применяется метод разделения по времени — TDMA. Согласно TDMA, весь поток данных делится на фреймы, а фреймы в свою очередь делятся на несколько таймслотов, которые распределяются между приемопередающими устройствами. Следовательно, телефон может выполнять обмен информацией с сетью только в определенные, выделенные ему промежутки времени.

Фреймы объединяются в мультифреймы, которые бывают двух видов:

Control Multiframe (содержит 51 фрейм)

Traffic Multiframe (содержит 26 фреймов)

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

В результате, физический канал между приемником и передатчиком определяется частотой, выделенными фреймами и номерами таймслотов в них. Обычно базовые станции используют один или несколько каналов ARFCN, один из которых используется для идентификации присутствия BTS в эфире. Первый таймслот (индекс 0) фреймов этого канала используется в качестве базового служебного канала (base-control channel или beacon-канал). Оставшаяся часть ARFCN распределяется оператором для CCH и TCH каналов на свое усмотрение.

2.3 Логические каналы

На основе физических каналов формируются логические. Um-интерфейс подразумевает обмен как пользовательской информацией, так и служебной. Согласно спецификации GSM, каждому виду информации соответствует специальный вид логических каналов, реализуемых посредством физических:

  • каналы трафика (TCH — Traffic Channel),
  • каналы служебной информации (CCH — Control Channel).

Каналы служебной информации делятся на:

  • Широковещательные (BCH — Broadcast Channels).
    • FCCH — Frequency Correction Channel (канал коррекции частоты). Предоставляет информацию, необходимую мобильному телефону для коррекции частоты.
    • SCH — Synchronization Channel (канал синхронизации). Предоставляет мобильному телефону информацию, необходимую для TDMA-синхронизации с базовой станцией (BTS), а также ее идентификационные данные BSIC.
    • BCCH — Broadcast Control Channel (широковещательный канал служебной информации). Передает основную информацию о базовой станции, такую как способ организации служебных каналов, количество блоков, зарезервированных для сообщений предоставления доступа, а также количество мультифреймов (объемом по 51 TDMA-фрейму) между Paging-запросами.
    • PCH — Paging Channel. Забегая вперед, расскажу, что Paging — это своего рода ping мобильного телефона, позволяющий определить его доступность в определенной зоне покрытия. Данный канал предназначен именно для этого.
    • RACH — Random Access Channel (канал произвольного доступа). Используется мобильными телефонами для запроса собственного служебного канала SDCCH. Исключительно Uplink-канал.
    • AGCH — Access Grant Channel (канал уведомлений о предоставлении доступа). На этом канале базовые станции отвечают на RACH-запросы мобильных телефонов, выделяя SDCCH, либо сразу TCH.
    • SDCCH — Stand-alone Dedicated Control Channel. Данный канал используется для аутентификации мобильного телефона, обмена ключами шифрования, процедуры обновления местоположения (location update), а также для осуществления голосовых вызовов и обмена SMS-сообщениями.
    • SACCH — Slow Associated Control Channel. Используется во время разговора, либо когда уже задействован канал SDCCH. С его помощью BTS передает телефону периодические инструкции об изменении таймингов и мощности сигнала. В обратную сторону идут данные об уровне принимаемого сигнала (RSSI), качестве TCH, а также уровень сигнала ближайших базовый станций (BTS Measurements).
    • FACCH — Fast Associated Control Channel. Данный канал предоставляется вместе с TCH и позволяет передавать срочные сообщения, например, во время перехода от одной базовой станции к другой (Handover).

    2.4 Что такое burst?

    Данные в эфире передаются в виде последовательностей битов, чаще всего называемых «burst», внутри таймслотов. Термин «burst», наиболее подходящим аналогом которому является слово «всплеск», должен быть знаком многим радиолюбителям, и появился, скорее всего, при составлении графических моделей для анализа радиоэфира, где любая активность похожа на водопады и всплески воды. Подробнее о них можно почитать в этой замечательной статье (источник изображений), мы остановимся на самом главном. Схематичное представление burst может выглядеть так:

    Guard Period
    Во избежание возникновения интерференции (т.е. наложения двух busrt друг на друга), продолжительность burst всегда меньше продолжительности таймслота на определенное значение (0,577 — 0,546 = 0,031 мс), называемое «Guard Period». Данный период представляет собой своего рода запас времени для компенсации возможных задержек по времени при передаче сигнала.

    Tail Bits
    Данные маркеры определяют начало и конец burst.

    Info
    Полезная нагрузка burst, например, данные абонентов, либо служебный трафик. Состоит из двух частей.

    Stealing Flags
    Эти два бита устанавливаются когда обе части данных burst канала TCH переданы по каналу FACCH. Один переданный бит вместо двух означает, что только одна часть burst передана по FACCH.

    Training Sequence
    Эта часть burst используется приемником для определения физических характеристик канала между телефоном и базовой станцией.

    2.5 Виды burst

    Каждому логическому каналу соответствуют определенные виды burst:

    Normal Burst
    Последовательности этого типа реализуют каналы трафика (TCH) между сетью и абонентами, а также все виды каналов управления (CCH): CCCH, BCCH и DCCH.

    Frequency Correction Burst
    Название говорит само за себя. Реализует односторонний downlink-канал FCCH, позволяющий мобильным телефонам более точно настраиваться на частоту BTS.

    Synchronization Burst
    Burst данного типа, так же как и Frequency Correction Burst, реализует downlink-канал, только уже SCH, который предназначен для идентификации присутствия базовых станций в эфире. По аналогии с beacon-пакетами в WiFi-сетях, каждый такой burst передается на полной мощности, а также содержит информацию о BTS, необходимую для синхронизации с ней: частота кадров, идентификационные данные (BSIC), и прочие.

    Dummy Burst
    Фиктивный burst, передаваемый базовой станцией для заполнения неиспользуемых таймслотов. Дело в том, что если на канале нет никакой активности, мощность сигнала текущего ARFCN будет значительно меньше. В этом случае мобильному телефону может показаться, что он далеко от базовой станции. Чтобы этого избежать, BTS заполняет неиспользуемые таймслоты бессмысленным трафиком.

    Access Burst
    При установлении соединения с BTS мобильный телефон посылает запрос выделенного канала SDCCH на канале RACH. Базовая станция, получив такой burst, назначает абоненту его тайминги системы FDMA и отвечает на канале AGCH, после чего мобильный телефон может получать и отправлять Normal Bursts. Стоит отметить увеличенную продолжительность Guard time, так как изначально ни телефону, ни базовой станции не известна информация о временных задержках. В случае, если RACH-запрос не попал в таймслот, мобильный телефон спустя псевдослучайный промежуток времени посылает его снова.

    2.6 Frequency Hopping

    Псевдослучайная перестройка рабочей частоты (FHSS — англ. frequency-hopping spread spectrum) — метод передачи информации по радио, особенность которого заключается в частой смене несущей частоты. Частота меняется в соответствии с псевдослучайной последовательностью чисел, известной как отправителю, так и получателю. Метод повышает помехозащищённость канала связи.

    Frequency Hopping (FHSS) является одним из методов расширения спектра. Кроме сетей GSM, разновидность данного метода применяется в Bluetooth. Зачем?

    • Уменьшение влияния интерференции. Благодаря частой смене частоты, интерференция может влиять на сигнал лишь в течение короткого промежутка времени.
    • Защита данных от несанкционированного доступа. Не зная алгоритма, по которому изменяется частота сигнала, невозможно выделить нужные данные из шумоподобного потока.
    • Усложнение глушения сигнала. Frequency Hopping затрудняет «нацеленное» (т.е. глушение определенного устройства, либо совокупности устройств) глушение сигнала. В этом случае приходится глушить весь занимаемый диапазон частот, что требует использования более дорого и мощного оборудования.

    2.7 Основные принципы взаимодействия MS и BTS

    Начнем с того, что происходит при включении мобильного телефона. Чаще всего, даже если телефон выключен со вставленной батареей, он продолжает работать. В это время работает небольшая программа, называемая «загрузчиком». Загрузчик ожидает нажатия клавиши включения, запускает процесс зарядки при подключении зарядного устройства, а иногда и будильник. Все зависит от конкретной модели телефона. Как только нажимается клавиша включения, начинается процесс загрузки операционной системы, которая сначала проверяет наличие SIM-карты, а затем запускает сканирование эфира в поисках сети оператора. Даже если SIM-карты нет, телефон все-равно подключается к ближайшей базовой станции, предоставляя возможность экстренного вызова. Если SIM-карта на месте, выполняется запрос Location Update, уведомляющий сеть о текущем LAС абонента. Затем, базовая станция запрашивает IMEI телефона и IMSI SIM-карты, чтобы идентифицировать абонента (Identity Request). Если предоставленный IMEI отличается от того, с которым абонент подключался раньше, оператор может выслать настройки интернета. Кстати, так можно даже найти украденный телефон. Затем выполняется авторизация, после чего телефон может находиться в одном из двух состояний:

    • IDLE — «режим простоя». Телефон не передает никаких данных сети, прослушивая CCCH.
    • DEDICATED — между сетью и телефоном установлено активное соединение, в течение которого телефон периодически передает сети информацию о качестве сигнала, а также обменивается данными пользователя.

    Как только телефон находит разрешенный BCCH, посылается RACH-запрос, базовая станция выделяет определенный физический канал, выполняет аутентификацию абонента, а также регистрирует его прибывание в VLR и HLR. После этого телефон находится в режиме IDLE. При входящем звонке или SMS-сообщении, все базовые станции текущего LAC начинают рассылать Paging Requests, чтобы уведомить абонента о каком-либо событии. Если телефон его «услышал», он отвечает, сеть высылает пакет Immediate Assignment, описывающий выделенные абоненту ресурсы (частота, номер таймслота и т.д.). Очень похоже на Ping в Интернете. С этого момента телефон находится в режиме DEDICATED до момента разрыва соединения.

    В случае, если абонент сам выступает в роли инициатора соединения, ему необходимо сначала выслать запрос CM Service Request, а затем дождаться Immediate Assignment от сети.

    2.8 Handover

    Handover (американский вариант — handoff) — в сотовой связи процесс передачи абонента от одной базовой станции к другой во время телефонного разговора или сессии передачи данных. Данный процесс происходит, когда абонент покидает зону действия одной базовой станции и входит в зону действия другой. Также handover может выполняться в случае, если текущая базовая станция перегружена, либо ее физические каналы слишком зашумлены.

    Handover бывает двух типов:

    • Жесткий handover («break-before-make»). В этом случае соединение с текущей BTS прерывается, после чего создается соединение с новой. Из недостатков можно выделить вероятность кратковременного разрыва сессии данных, либо непредвиденного завершения вызова. В устаревших на сегодня аналоговых системах связи при жестком handover можно было услышать короткий щелчок или гудок. 🙂
    • Мягкий handover («make-before-break»). В этом случае телефон, не разрывая соединения с текущей BTS, устанавливает соединение с одной или несколькими другими, после чего передает сессию новой BTS и разрывает соединение с предыдущей. Недостатком данного метода являются более высокая цена компонентов телефона, позволяющих поддерживать соединение сразу с несколькими базовыми станциями.

    2.9 Кодирование речи

    Как уже говорилось, речь абонентов передается на канале TCH, который бывает двух видов: Full Rate (FR) и Half Rate (HR). Для кодирования аудиопотока в сетях мобильной связи GSM (и не только) применяются следующие стандарты:

    • GSM-FR (Full Rate, 13 Кбит/с) — первый цифровой стандарт кодирования речи, обеспечивающий довольно низкое качество звука по сравнению с современными стандартами. Не смотря на существование более современных кодеков, GSM-FR до сих пор имеет очень широкое применение.
    • GSM-HR (Half Rate, 5,6 Кбит/с) — кодек, используемый телефонами в режиме энергосбережения. Занимает половину пропускной способности Full Rate канала. Экономия заряда аккумулятора может составлять до 30%.
    • GSM-EFR (Enhanced Full Rate, 12,2 Кбит/с) — алгоритм сжатия, разработанный компанией Nokia и университетом Шербрук, являющийся продолжением развития алгоритма GSM-FR. Обеспечивает хорошее качество связи, однако потребление электроэнергии при его использовании увеличивается примерно на 5% относительно GSM-FR.
    • AMR (Adaptive multi rate) — является алгоритмом адаптивного кодирования с переменной скоростью. Имеет широкое применение в сетях GSM и UMTS, обеспечивая высокую емкость сети одновременно с высоким качеством звука. Скорость кодирования/декодирования выбирается в зависимости от окружающих условий и загрузки сети.

    3. Безопасность и конфиденциальность

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

    3.1 Основные векторы атак

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

    Выделяют два вида атаки: пассивная и активная. В первом случае атакующий никак не взаимодействует ни с сетью, ни с атакуемым абонентом — исключительно прием и обработка информации. Не трудно догадаться, что обнаружить такую атаку почти не возможно, но и перспектив у нее не так много, как у активной. Активная атака подразумевает взаимодействие атакующего с атакуемым абонентом и/или сотовой сетью.

    Можно выделить наиболее опасные виды атак, которым подвержены абоненты сотовых сетей:

    • Сниффинг
    • Утечка персональных данных, СМС и голосовых звонков
    • Утечка данных о местоположении
    • Спуфинг (FakeBTS или IMSI Catcher)
    • Удаленный захват SIM-карты, исполнение произвольного кода (RCE)
    • Отказ в обслуживании (DoS)

    3.2 Идентификация абонентов

    Как уже упоминалось в начале статьи, идентификация абонентов выполняется по IMSI, который записан в SIM-карте абонента и HLR оператора. Идентификация мобильных телефонов выполняется по серийному номеру — IMEI. Однако, после аутентификации ни IMSI, ни IMEI в открытом виде по эфиру не летают. После процедуры Location Update абоненту присваивается временный идентификатор — TMSI (Temporary Mobile Subscriber Identity), и дальнейшее взаимодействие осуществляется именно с его помощью.

    Способы атаки
    В идеале, TMSI абонента известен только мобильному телефону и сотовой сети. Однако, существуют и способы обхода данной защиты. Если циклически звонить абоненту или отправлять SMS-сообщения (а лучше Silent SMS), наблюдая за каналом PCH и выполняя корреляцию, можно с определенной точностью выделить TMSI атакуемого абонента.

    Кроме того, имея доступ к сети межоператорного взаимодействия SS7, по номеру телефона можно узнать IMSI и LAC его владельца. Проблема в том, что в сети SS7 все операторы «доверяют» друг другу, тем самым снижая уровень конфиденциальности данных своих абонентов.

    3.3 Аутентификация

    Для защиты от спуфинга, сеть выполняет аутентификацию абонента перед тем, как начать его обслуживание. Кроме IMSI, в SIM-карте хранится случайно сгенерированная последовательность, называемая Ki, которую она возвращает только в хэшированном виде. Также Ki хранится в HLR оператора и никогда не передается в открытом виде. Вцелом, процесс аутентификации основан на принципе четырехстороннего рукопожатия:

    1. Абонент выполняет Location Update Request, затем предоставляет IMSI.
    2. Сеть присылает псевдослучайное значение RAND.
    3. SIM-карта телефона хэширует Ki и RAND по алгоритму A3. A3(RAND, Ki) = SRAND.
    4. Сеть тоже хэширует Ki и RAND по алгоритму A3.
    5. Если значение SRAND со стороны абонента совпало с вычисленным на стороне сети, значит абонент прошел аутентификацию.

    Способы атаки
    Перебор Ki, имея значения RAND и SRAND, может занять довольно много времени. Кроме того, операторы могут использовать свои алгоритмы хэширования. В сети довольно мало информации о попытках перебора. Однако, не все SIM-карты идеально защищены. Некоторым исследователям удавалось получить прямой доступ к файловой системе SIM-карты, а затем извлечь Ki.

    3.4 Шифрование трафика

    Согласно спецификации, существует три алгоритма шифрования пользовательского трафика:

    • A5/0 — формальное обозначение отсутствия шифрования, так же как OPEN в WiFi-сетях. Сам я ни разу не встречал сетей без шифрования, однако, согласно gsmmap.org, в Сирии и Южной Корее используется A5/0.
    • A5/1 — самый распространенный алгоритм шифрования. Не смотря на то, что его взлом уже неоднократно демонстрировался на различных конференциях, используется везде и повсюду. Для расшифровки трафика достаточно иметь 2 Тб свободного места на диске, обычный персональный компьютер с Linux и программой Kraken на борту.
    • A5/2 — алгоритм шифрования с умышленно ослабленной защитой. Если где и используется, то только для красоты.
    • A5/3 — на данный момент самый стойкий алгоритм шифрования, разработанный еще в 2002 году. В интернете можно найти сведения о некоторых теоретически возможных уязвимостях, однако на практике его взлом еще никто не демонстрировал. Не знаю, почему наши операторы не хотят использовать его в своих 2G-сетях. Ведь для СОРМ это далеко не помеха, т.к. ключи шифрования известны оператору и трафик можно довольно легко расшифровывать на его стороне. Да и все современные телефоны прекрасно его поддерживают. К счастью, его используют современные 3GPP-сети.

    Заключение

    Мой длинный рассказ подошел к концу. Более подробно и с практической стороны с принципами работы сотовых сетей можно будет познакомиться в цикле статей Знакомство с OsmocomBB, как только я допишу оставшиеся части. Надеюсь, у меня получилось рассказать Вам что-нибудь новое и интересное. Жду Ваших отзывов и замечаний!

    Как работают GSM-сети или краткие основы связи

    Сотовым телефоном пользовались практически все, но мало кто задумывался – как же все это работает? В данном литературном опусе мы попытаемся рассмотреть, как же происходит связь с точки зрения Вашего оператора связи.

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

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

    От антенны сигнал по кабелю передается непосредственно в управляющий блок базовой станции. Совокупность секторов и управляющего блока обычно и называется – BS, Base Station, базовая станция. Несколько базовых станций, чьи антенны обслуживают какую-либо определенную территорию или район города, подсоединены к специальному блоку – так называемому LAC, Local Area Controller, «контроллер локальной зоны», часто называемому просто контроллером. К одному контроллеру обычно подключается до 15 базовых станций.

    В свою очередь, контроллеры, которых также может быть несколько, подключены к самому центральному «мозговому» блоку – MSC, Mobile services Switching Center, Центр Управления Мобильными услугами, в простонародье более известный как коммутатор. Коммутатор обеспечивает выход (и вход) на городские телефонные линии, на других операторов сотовой связи и так далее.

    То есть в итоге вся схема выглядит примерно так:

    В небольших GSM-сетях используется только один коммутатор, в более крупных, обслуживающих более миллиона абонентов, могут использоваться два, три и более MSC, объединенных между собой.

    Зачем же такая сложность? Казалось бы, можно антенны просто подключить к коммутатору – и все, никаких проблем бы не было. Но не все так просто. Дело тут в одном простом английском слове – handover. Этим термином обозначается эстафетная передача обслуживания в сотовых сетях. То есть, когда вы идете по улице или едите на машине (электричке, велосипеде, роликовых коньках, асфальтоукладчике. ) и при этом разговариваете по телефону, то, для того чтобы связь не прерывалась (а она не прерывается), необходимо вовремя переключать Ваш телефон из одного сектора в другой, из одной BS в другую, из одной Local Area в другую и так далее. Соответственно, если бы сектора были напрямую подключены к коммутатору, то всеми этими переключениями пришлось бы управлять коммутатору, которому и без того есть, чем заняться. Многоуровневая схема сети дает возможность равномерно распределить нагрузку, что снижает вероятность отказа оборудования и, как следствие, потери связи.

    Пример – если вы с телефоном переходите из зоны действия одного сектора в зону действия другого, то переводом телефона занимается управляющий блок BS, не затрагивая при этом «вышестоящие» устройства – LAC и MSC. Соответственно, если переход происходит между разными BS, то им управляет LAC и так далее.

    Работу коммутатора следует рассмотреть чуть подробнее. Коммутатор в сотовой сети осуществляет практически те же функции, что и АТС в проводных телефонных сетях. Именно он определяет, куда Вы звоните, кто Вам звонит, отвечает за работу дополнительных услуг, и, в конце концов – вообще, определяет, можно ли звонить или нет.

    На последнем пункте остановимся – а что происходит, когда Вы включаете свой телефон?

    Вот, включаете Вы свой телефон. На Вашей SIM-карте есть специальный номер, так называемый IMSI – International Subscriber Identification Number, Международный Опознавательный Номер Абонента. Это номер уникален для каждой SIM-карты в мире, и как раз по нему операторы отличают одного абонента от другого. При включении телефона он посылает этот код, базовая станция передает его на LAC, LAC – на коммутатор, в свою очередь. Тут в действие вступают два дополнительных модуля, связанных с коммутатором – HLR, Home Location Register и VLR, Visitor Location Register. Соответственно, Регистр Домашних Абонентов и Регистр Гостевых Абонентов. В HLR хранятся IMSI всех абонентов, которые подключены к данному оператору. В VLR в свою очередь содержатся данные обо всех абонентах, которые в данный момент пользуются сетью данного оператора. IMSI передается в HLR (разумеется, в сильно зашифрованном виде; вдаваться подробно в особенности шифрования мы не будет, скажем только, что за этот процесс отвечает еще один блок – AuC, Центр Аутентификации), HLR, в свою очередь, проверяет – есть ли у него такой абонент, и, если есть, то не заблокирован ли он, например, за неуплату. Если все в порядке, то этот абонент прописывается в VLR и с этого момента может совершать звонки. У крупных операторов может быть не один, а несколько параллельно работающих HLR и VLR. А теперь попробуем все вышесказанное отобразить на рисунке:

    Вот мы вкратце рассмотрели, как работает сотовая сеть. На самом деле там все куда сложнее, но если описывать все как есть досконально, то данное изложение по объему вполне может превысить «Войну и мир».

    Далее мы рассмотрим, а как (и главное – за что!) оператор списывает у нас деньги со счета. Как Вы уже наверное слышали, тарифные планы бывают трех разных типов – так называемые «кредитные», «авансовые» и «припейд», от английского Pre-Paid, то есть предоплаченный. В чем же различие? Рассмотрим, как может происходить списание денег при разговоре:

    Допустим, Вы куда-либо позвонили. На коммутаторе зафиксировалось – абонент такой-то звонил туда-то, поговорил, допустим, сорок пять секунд.

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

    Скорость передачи информации из MSC в Биллинг зависит от того, какова вычислительная мощность биллинга, или, другими словами, с какой скоростью он успевает переводить технические данные о совершенных звонках в непосредственные деньги. Соответственно, чем больше абоненты разговаривают, или чем более «тормозной» биллинг, тем медленнее будет двигаться очередь, соответственно, тем больше будет задержка между самим разговором и фактическим списанием денег за этот разговор. С этим фактом связано часто высказываемое некоторыми абонентами недовольство – «Мол, деньги воруют! Два дня не разговаривал – энную сумму списали. ». Но при этом совсем не учитывается, что за разговоры, которые происходили, например, три дня назад, деньги-то сразу и не списали. Хорошее люди стараются не замечать. А в эти дни, например, биллинг мог просто не работать – из-за аварии, или из-за того, что его как-нибудь модернизировали.

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

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

    Припейды устроены совсем по-другому:

    В припейде биллинг как таковой обычно называют «Припейд платформой».

    Непосредственно в момент начала телефонного соединения устанавливается прямая связь между коммутатором и припейд платформой. Никаких очередей, данные передаются в обе стороны непосредственно в процессе разговора, в режиме реального времени. В связи с этим припейдам присущи следующие характерные черты – это отсутствие абонентской платы (так как нет такого понятия, как биллинговый период), ограниченный набор дополнительных услуг (их технически трудно тарифицировать в режиме «реального времени»), невозможность «уйти в минус» — разговор просто прервется, как только кончатся деньги на счету. Явным достоинством припейдов является возможность точно контролировать количество денег на счету, и, как следствие, свои расходы.

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

    А как же рассчитываются наши деньги, когда мы разговариваем, находясь в роуминге? Да и как вообще телефон работает в роуминге? Что же, попробуем ответить и на эти вопросы:

    Номер IMSI состоит из 15-ти цифр, и первые 5 цифр, так называемые СС – Country Code (3 цифры) и NC – Network Code (5 цифр) – четко характеризуют оператора, к которому подключен данный абонент. По этим пяти цифрам VLR гостевого оператора находит HLR домашнего оператора и смотрит в нем – а, собственно, можно ли этому абоненту пользоваться роумингом у данного оператора? Если да, то IMSI прописывается у VLR гостевого оператора, а в HLR домашнего – ссылка на тот самый гостевой VLR, чтобы знать, где искать абонента.

    Со списанием денег в биллинге ситуация тоже не очень простая. Из-за того, что звонки обрабатывает гостевой коммутатор, но деньги подсчитывает свой, «домашний» биллинг, вполне возможны большие задержки в списании средств – до месяца. Хотя существуют и системы, например, «Camel2», которые и в роуминге работают по принципу припейда, то есть списывают деньги в реальном времени.

    Тут возникает очередной вопрос – а за что списываются деньги в роуминге? Если «дома» все понятно – есть четко прописанные тарифные планы, то с роумингом ситуация другая – денег списывают много и непонятно, за что. Ну что же, попробуем разобраться:

    Все телефонные звонки в роуминге делятся на 3 основных категории:

    Входящие звонки – в таком случае стоимость звонка складывается из:

    Стоимости международного звонка из дома в гостевой регион
    +
    Стоимость входящего звонка у гостевого оператора
    +
    Некая надбавка, зависящая от конкретного гостевого оператора

    Исходящий звонок домой:

    Стоимость международного звонка из гостевого региона домой
    +
    Стоимость исходящего звонка у гостевого оператора

    Исходящий звонок по гостевому региону:

    Стоимость исходящего звонка у гостевого оператора
    +
    Некая надбавка, зависящая от конкретного оператора

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

    Хотелось бы добавить еще одно замечание – если два телефона одного оператора вместе находятся в роуминге у другого оператора (ну, например, двое друзей поехали отдыхать), то разговаривать им друг с другом выйдет весьма накладно – звонящий платит, как за исходящий домой, а принимающий звонок – как за входящий из дома. Это один из недостатков стандарта GSM – то, что связь в этом случае идет через дом. Хотя технически вполне реально устроить связь «напрямую», но кто из операторов на это пойдет, если можно оставить все как есть и зарабатывать деньги?

    Еще один вопрос, в последнее время часто интересующий владельцев более чем одного мобильного телефона – а сколько будет стоить переадресованный звонок с одного телефона на другой? И на этот вопрос ответить вполне реально:

    Допустим, с телефона B установлена переадресация на телефон С. С телефона А звонят на телефон B – соответственно, звонок переадресовывается на аппарат С. В этом случае платят:

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

    В завершении тем хотелось бы упомянуть еще один тонкий момент – а сколько будет стоить переадресация в роуминге? А вот тут начинается самое интересное:

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

    Отсюда следует практический совет – при поездках желательно отключать все виды переадресации (можно оставить только безусловную – в этом случае «роуминговой петли» не получается), особенно переадресации на голосовую почту – иначе впоследствии можно долго удивляться – «Куда ж это деньги делись-то, а?»

    Список терминов, использовавшихся в тексте:

    AuC – Autentification Center, Центр Аутентификации, отвечает за кодирование информации при передаче в сети и приеме из сети
    Billing – Биллинг, система учета денежных средств у оператора
    BS – Base Station, базовая станция, несколько приемо-передающих антенн, принадлежащих одному управляющему устройству.
    Camel2 – одна из систем Prepaid, в которой реализовано мгновенное списывание средств в роуминге
    CC – Country Code, код страны в стандарте GSM (для России – 250)
    GSM – Global System for Mobile Communications, самый распрострастраненный в мире стандарт сотовой связи
    Handover – передача управления трубкой от одной антенны/базовой станции/LAC к другой
    HLR – Home Location Register, реестр домашних абонентов, содержит подробную информацию о всех абонентах, подключенных к данному оператору.
    IMEI – International Mobile Equipment Identification, международный серийный номер оборудования в стандарте GSM, уникален у каждого аппарата
    IMSI – International Mobile Subscriber Identification, международный серийный номер подписчика на услуги стандарта GSM, уникален у каждого абонента
    LAC – Local Area Controller, Контроллер Локальной Зоны, устройство, управляющее работой некоторого количества базовых станций, чьи антенны обслуживают опеределенную территорию.
    Local Area – Локальная зона, территория, обслуживаемая BS, входящими в состав одного LAC
    MSC — Mobile services Switching Center, Центр Управления Мобильными услугами, коммутатор – центральное звено сети GSM.
    NC – Network Code, Сетевой Код, код конкретного оператора в данной стране в стандарте GSM (для MTS – 01, BeeLine – 99).
    Prepaid – Припейд, предоплата – система биллинга, основанная на мгновенном списании средств.
    Roaming – Роуминг, пользование сетью другого, «гостевого» оператора.
    SIM – Subscriber Identification Module, Модуль Опознавания Абонента, СИМ-карта – электронный блок, вставляемые в телефон, на котором записан IMSI абонента.
    VLR – Visitor Location Register, реестр активных абонентов – содержит информацию об всех абонентах, кто в данный момент пользуется услугами данного оператора.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *