Какая связь кроме gsm.  Стандарты сотовой связи: GSM

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

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

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

  • каналы трафика (TCH - Traffic Channel),
  • каналы служебной информации (CCH - Control Channel).
Каналы трафика делятся на два основных вида: TCH/F - Full rate канал с максимальной скоростью до 22,8 Кбит/с и TCH/H - Half rate канал с максимальной скоростью до 11,4 Кбит/с. Данные виды каналов могут быть использованы для передачи речи (TCH/FS, TCH/HS) и пользовательских данных (TCH/F9.6, TCH/F4.8, TCH/H4.8, TCH/F2.4, TCH/H2.4), например, SMS.

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

  • Широковещательные (BCH - Broadcast Channels).
    • FCCH - Frequency Correction Channel (канал коррекции частоты). Предоставляет информацию, необходимую мобильному телефону для коррекции частоты.
    • SCH - Synchronization Channel (канал синхронизации). Предоставляет мобильному телефону информацию, необходимую для TDMA-синхронизации с базовой станцией (BTS), а также ее идентификационные данные BSIC .
    • BCCH - Broadcast Control Channel (широковещательный канал служебной информации). Передает основную информацию о базовой станции, такую как способ организации служебных каналов, количество блоков, зарезервированных для сообщений предоставления доступа, а также количество мультифреймов (объемом по 51 TDMA-фрейму) между Paging-запросами.
  • Каналы общего назначения (CCCH - Common Control Channels)
    • PCH - Paging Channel. Забегая вперед, расскажу, что Paging - это своего рода ping мобильного телефона, позволяющий определить его доступность в определенной зоне покрытия. Данный канал предназначен именно для этого.
    • RACH - Random Access Channel (канал произвольного доступа). Используется мобильными телефонами для запроса собственного служебного канала SDCCH. Исключительно Uplink-канал.
    • AGCH - Access Grant Channel (канал уведомлений о предоставлении доступа). На этом канале базовые станции отвечают на RACH-запросы мобильных телефонов, выделяя SDCCH, либо сразу TCH.
  • Собственные каналы (DCCH - Dedicated Control Channels)
    Собственные каналы, так же как и 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) - метод передачи информации по радио, особенность которого заключается в частой смене несущей частоты. Частота меняется в соответствии с псевдослучайной последовательностью чисел, известной как отправителю, так и получателю. Метод повышает помехозащищённость канала связи.


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-сети.
Способы атаки
Как уже говорилось, имея оборудование для сниффинга и компьютер с 2 Тб памяти и программой Kraken, можно довольно быстро (несколько секунд) находить сессионные ключи шифрования A5/1, а затем расшифровывать чей-угодно трафик. Немецкий криптолог Карстен Нол (Karsten Nohl) в 2009 году способ взлома A5/1. А через несколько лет Карстен и Сильвиан Мюно продемонстрировали перехват и способ дешифровки телефонного разговора с помошью нескольких старых телефонов Motorola (проект OsmocomBB).

Заключение

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

    Прежде чем разобраться в том, как работает GSM, важно понять, что такое GSM.

    GSM – международный цифровой стандарт планетарного значения, название которого произошло от словосочетания «Groupe Spécial Mobile».

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

    Самая первая подобная система была создана в далёком 1946 году в Соединённых Штатах Америки. Глобальное внедрение мобильной связи началось только в 1979 году.

    Стандартизация

    Перед стартом GSM, в самом начале восьмидесятых годов прошлого века на европейской территории работали 24 аналоговые сети. Они не были совместимы между собой, поэтому приобрёл актуальность вопрос о создании единого стандарта. Потребность в решении этой проблемы послужила поводом создания группы GSM(Group Special Mobile). В эту группу вошли представители 24 стран Европы. Система компании Mannesmann была избрана в качестве цифрового стандарта, а внедрена эта система была в 1991 году в Германии.

    Под аббревиатурой GSM сегодня скрывается уже несколько иное словосочетание - Global System for Mobile. Сам стандарт GSM или его версии успешно работают в 80 странах мира.

    Как работает GSM

    Для того, чтобы осуществить данный вид связи на определённой территории, применяются следующие действия:

    • Установка приёмо-передающих станций стационарного типа. Каждая из станций действует на относительно небольших территориях площадью в несколько километров.
    • Станции располагаются таким образом, чтобы перекрывать друг друга. Это даёт возможность сигналу абонента перемещаться из одной зоны в другую, причём связь не нарушится.

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

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

    GSM – модули

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

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

    Преимущества и недостатки стандарта GSM

    Преимущества стандарта GSM:

    • Меньшие в сравнении с аналоговыми стандартами размеры и вес аппаратов. При этом время работы без подзарядки заметно больше.
    • Качество связи на очень высоком уровне.
    • Низкий уровень помех на заданных частотах.
    • Защита от подслушивания. Также за счёт алгоритмов шифрования связь защищена от нелегального использования.
    • Обширные территории распространения.
    • Возможность использования роуминга. Роуминг – это возможность перемещаться из одной сети в другую, не теряя при этом своего номера

    Недостатки стандарта GSM:

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

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

    Сети 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 .
    Таблица 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), свидетельствующие о невозможности установить соединение и которые пользователь может получить в ответ на попытку установления соединения.

    Таблица 4. Основные диагностические сигналы об ошибке при установлении соединения.

    Заключение

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

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

    В комментариях к постам про сеть WiMAX ( , ) и про GPRS был выражен интерес к сетям сотовой связи, поэтому решил реализовать свою давнюю задумку и описать хабрасообществу как же устроены современные сети сотовой связи.

    На приведённой картинке изображена общая структура сетей сотовой связи. Изначально сеть разделяется на 2 больших подсети - сеть радиодоступа (RAN - Radio Access Network) и сеть коммутации или опорную сеть (CN - Core Network).

    Хочу подчеркнуть, что буду описывать именно существующие сети сотовой связи для СНГ, потому что в Европе, Америке и Азии сети более развиты и их структура несколько отличается от наших сетей, про это напишу как-нибудь позже, если будет интерес.

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

    Сеть радиодоступа

    Существующие сети радиодоступа у наших операторов - продукт долгой эволюции, поэтому они состоят из сети радиодоступа к GSM (GERAN - GSM EDGE Radio Access Network) и сеть радиодоступа к UMTS (UTRAN - UMTS Terrestrial Radio Access Network). Сверху слева на картинке вы видите GERAN, внизу слева, соответственно UTRAN. Наибольшие изменения при переходе от GSM к UMTS происходят как раз в сети радиодоступа - оператору нужно построить вторую сеть и заново покрыть уже имеющиеся территории.

    Сеть радиодоступа - эта та паутина, которой охвачены огромные территории городов и открытых местностей, за счёт неё как раз и обеспечивается то огромное погрытие, которое предоставляют сети сотовой связи.

    Опорная сеть

    Опорная сеть - ядро сетей сотовой связи. Название опорная - мой вольный перевод, в GSM эту часть сети называют сетью коммутации, в UMTS - Core Network, что по сути можно перевести как ядро сети. К этому ядру, как периферийные устройства к системному блоку, могут подключаться различные сети радиодоступа. Опорная сеть мало эволюционирует в связи с эволюцией от GSM к UMTS, эта сильная эволюция происходит немного позже - её уже прошли западные и азиатские операторы, у нас же она только начинается.

    Опорная сеть на приведённой выше картинке разделена на 2 части - верхняя правая часть отвечает за голосовые соединения, или CS-соединения (Circuit Switch), нижняя правая часть отвечает за пакетные соединения, или же PS-соединения (Packet Switch).

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

    HLR - Home Location Register, Регистр положения домашних абонентов.
    По сути это большая база данных, в которой хранится всё об абоненте данной сети. В крупных сетях, таких, как у операторов большой тройки, таких узлов несколько - они разбросаны по регионам. Их количество измеряется единицами штук. Для того, чтобы понимать порядки - в Питере такой узел один, в Москве другой, на Урале ещё один, ещё на Кавказе, в Сибири - 3-4 штучки… На практике это может быть распределённая БД, потому что ёмкости одного HLR может не хватить для хранения данных обо всех абонентах. Тогда оператор докупает ещё один HLR (физическое устройство) и организует распределённую БД.

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

    MSC/VLR

    MSC - Mobile Switching Center, центр коммутации для мобильных абонентов;
    VLR - Visitor Location Register, регистр положения гостевых абонентов.
    Логически это 2 раздельных узла, но на практике, это реализовано в одном и том же устройстве.
    VLR хранит в себе копию тех данных, которые записаны в HLR с той лишь разницей, что тут уже нет информации о том MSC, в зоне действия которого находится абонент. Здесь хранится информация о том, в зоне действия какого BSC находится данный абонент. Ну и здесь, естественно, хранятся данные только о тех абонентах, которые сейчас находятся в зоне действия того MSC, к которому подключен данный VLR.

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

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

    GMSC - Gateway MSC, шлюзовой коммутатор. Этот узел сети используется только при входящих вызовах. У операторов есть определённая номерная ёмкость, этой номерной ёмкости сопоставляются шлюзовые коммутаторы сетей связи (сотовых, фиксированных). Когда вы набираете номер друга, ваш звонок доходит до коммутатора (MSC) вашей сети и он определяет куда дальше отправить этот вызов на основе имеющихся у него соответствий между номерами и шлюзами сетей. Звонок отправляется на GMSC сотового оператора, которым пользуется ваш друг. Далее GMSC делает запрос в HLR и узнаёт в зоне действия какого MSC сейчас находится вызываемый абонент. Туда дальше и перенаправляется вызов.

    SGSN - Serving GPRS Support Node, обслуживающий узел поддержки GPRS. Этот узел отвечает за то, чтобы определить каким образом предоставлять услуги на основе запрошенной APN (Access Point Name, точки доступа, например, mms.beeline.ru). Также на этом узле осуществляется посчёт трафика.

    GGSN - Gateway GPRS Support Node, шлюзовой узел поддержки GPRS. Ну это шлюз, отвечает за правильную доставку пакетов до пользователя.

    BSC - Base Station Controller, контроллер базовых станций. Узел, к которому подключаются базовые станции, дальше он осуществляет управление базовыми станциями - назначает какому абоненту где сколько ресурсов выделить, определяет каким образом осуществляются хэндоверы. Когда с MSC приходит сигнал о входящем соединении для абонента, контроллер осуществляет процедуру пейджинга - через все подчинённые ему базовые станции посылает вызов данному абоненту, который должен отозваться через одну из базовых станций.

    TRC - TRansCoder, транскодер. Устройство, отвечающее за перекодирование речи из формата GSM в стандартный формат телефонии, используемый в фиксированных сетях связи и обратно. Таким образом, получается, что речь передаётся в формате сетей фиксированной связи в сети GSM на участке от GMSC до TRC.

    BTS - Base Transceiver Station, базовая приёмопередающая станция. Это то, что непосредственно находится близко к самому пользователю. Именно базовые станции образуют ту самую паутину, которой накрывают операторы сотовой связи, именно от их количества зависит территория, на которой предоставляют услуги операторы сотовой связи. По сути - довольно глупое устройство, оно обеспечивает выделение пользователям отдельных каналов связи, преобразует сигнал в высокочастотный, который будет передаваться в эфир, ну и выдаёт этот самый высокочастотный сигнал на антенны. А вот антенны то мы и можем наблюдать каждый день.

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

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

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

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

    • каналы трафика (TCH - Traffic Channel),
    • каналы служебной информации (CCH - Control Channel).
    Каналы трафика делятся на два основных вида: TCH/F - Full rate канал с максимальной скоростью до 22,8 Кбит/с и TCH/H - Half rate канал с максимальной скоростью до 11,4 Кбит/с. Данные виды каналов могут быть использованы для передачи речи (TCH/FS, TCH/HS) и пользовательских данных (TCH/F9.6, TCH/F4.8, TCH/H4.8, TCH/F2.4, TCH/H2.4), например, SMS.

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

    • Широковещательные (BCH - Broadcast Channels).
      • FCCH - Frequency Correction Channel (канал коррекции частоты). Предоставляет информацию, необходимую мобильному телефону для коррекции частоты.
      • SCH - Synchronization Channel (канал синхронизации). Предоставляет мобильному телефону информацию, необходимую для TDMA-синхронизации с базовой станцией (BTS), а также ее идентификационные данные BSIC .
      • BCCH - Broadcast Control Channel (широковещательный канал служебной информации). Передает основную информацию о базовой станции, такую как способ организации служебных каналов, количество блоков, зарезервированных для сообщений предоставления доступа, а также количество мультифреймов (объемом по 51 TDMA-фрейму) между Paging-запросами.
    • Каналы общего назначения (CCCH - Common Control Channels)
      • PCH - Paging Channel. Забегая вперед, расскажу, что Paging - это своего рода ping мобильного телефона, позволяющий определить его доступность в определенной зоне покрытия. Данный канал предназначен именно для этого.
      • RACH - Random Access Channel (канал произвольного доступа). Используется мобильными телефонами для запроса собственного служебного канала SDCCH. Исключительно Uplink-канал.
      • AGCH - Access Grant Channel (канал уведомлений о предоставлении доступа). На этом канале базовые станции отвечают на RACH-запросы мобильных телефонов, выделяя SDCCH, либо сразу TCH.
    • Собственные каналы (DCCH - Dedicated Control Channels)
      Собственные каналы, так же как и 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) - метод передачи информации по радио, особенность которого заключается в частой смене несущей частоты. Частота меняется в соответствии с псевдослучайной последовательностью чисел, известной как отправителю, так и получателю. Метод повышает помехозащищённость канала связи.


    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-сети.
    Способы атаки
    Как уже говорилось, имея оборудование для сниффинга и компьютер с 2 Тб памяти и программой Kraken, можно довольно быстро (несколько секунд) находить сессионные ключи шифрования A5/1, а затем расшифровывать чей-угодно трафик. Немецкий криптолог Карстен Нол (Karsten Nohl) в 2009 году продемонстрировал способ взлома A5/1. А через несколько лет Карстен и Сильвиан Мюно продемонстрировали перехват и способ дешифровки телефонного разговора с помошью нескольких старых телефонов Motorola (проект OsmocomBB).

    Заключение

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

    
    Top