Шифрация в GSM/GPRS сетях

В классической GSM шифруют сообщение одного логического канала между BTS и MS. В GPRS шифрацию производят между MS и SGSN на LLC уровне. BTS в процессе шифрования не участвует.

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

В классической GSM шифрованию подвергают блок информации из 114 бит. При GPRS шифруют данные объемом до 1600 октетов, что связано с размером LLC-фрейма.

В алгоритме шифрации использована симметричная схема (рис. 4.20). Входными параметрами алгоритма являются:

Kc - ключ шифрации (64 бита). Как и в классической GSM, MS генерирует Kc в процессе аутентификации. Он совпадает с значением Kc, полученным SGSN от HLR в составе триплетов.

INPUT - параметр, зависящий от типа LLC-фрейма (32 бита). В случае I- фреймов, переносящих абонентские данные, значение INPUT устанавливают случайным при LLC соединении и увеличивают на 1 в каждом новом фрейме. В случае UI-фреймов, переносящих абонентские данные и сигнальные сообщения, параметр INPUT представляет собой неповторяющееся 32-битовое число, которое определяют из LLC заголовка.

DIRECTION - направление передачи (1 бит).

На выходе получают строку OUTPUT. Ее максимальная длина составляет 1600 октетов, что соответствует максимальной длине полезной части LLC-фрейма, включая 3 октета FCS. Минимальная длина выходной строки - 5 октетов. Заголовок LLC-фрейма не шифруют.

 

Рис. 4.20. Принцип шифрации при GPRS

На передающей стороне биты строки OUTPUT складывают по mod 2 с битами незашифрованного сообщения (PLAIN TEXT) и таким образом получают зашифрованное сообщение (CIPHERED TEXT). На приемной стороне биты зашифрованного сообщения складывают по mod 2 с битами строки OUTPUT (эта строка одинакова на передающей и приемной сторонах) и получают восстановленное незашифрованное сообщение.

Для оптимизации процесса шифрации предусмотрена возможность генерирования на выходе алгоритма требуемого числа октетов. Обычно используют или короткие (от 25 до 50 октетов), или длинные (от 500 до 1000 октетов) пакеты.

В случае, если MS использует работу в одном TS при максимальной скорости передачи в одном направлении 21,4 кбит/с (общая скорость в двух направлениях 42,8 кбит/с), то алгоритм шифрования позволяет осуществить 12 инициализаций за 1 с, считая, что длина пакета 500 октетов. При многослотовой работе (8 слотов в каждом направлении с общей скоростью 342,4 кбит/с) можно выполнить 100 инициализаций.

 

4.8. Основные процедуры в GPRS.

 

ATTACH– подключение MS к GPRS подсети.

DETACH– отключение MS от GPRS подсети.

Процедуры Attach и Detach используют для изменения состояния MS и соответствующего программного обеспечения MM-контекста (MM – Mobile Management) в SGSN.

Как было указано ранее MS при работе в пакетном режиме может находиться в одном из трех состояний: Idle, Ready и Standby (рис. 4.21). В состоянии Ready MS выделен канальный ресурс и идет обмен пакетами, Если в течение определенного времени (READY timer) пользовательские пакеты не приходят, MS переводят в состояние Standby.

 

Рис. 4.21. Состояния MM-контекста в MS и SGSN

В состоянии Standby ММ-контекст активизирован, но канальный ресурс с MS снят. Если SGSN имеет данные или сигнальную информацию для MS, находящейся в состоянии Standby, то он посылает пейджинг (Paging Request) в ту RA, где MS находится. При ответе MS на пейджинг MM cостояние в MS изменяется на Ready, а в SGSN - после получения этого ответа. При отсутствии данных о местоположении MS пейджинг не посылают. С другой стороны, MM состояние в MS изменяется на Ready и в случае, когда MS посылает данные или сигнальную информацию. Соответственно состояние в SGSN изменяется на Ready, когда эти данные будут приняты SGSN.

Если MS в течение длительного времени находится в состоянии Standby,а обмена пакетами не происходит, то срабатывает таймер пребывания в состоянии Standby и MS переводят в состояние Idle.