Открыть главное меню

Сотовые системы связи первого поколения, такие как NMT, TACS и AMPS, имели небольшие возможности в плане безопасности, и это привело к существенным уровням мошеннической деятельности, которая вредит и абонентам, и сетевым операторам. Множество инцидентов большого значения выдвинуло на первый план чувствительность аналоговых телефонов к подслушиванию линий радиосвязи. Система GSM имеет множество особенностей в плане безопасности, которые разработаны, чтобы предоставить абоненту и сетевому оператору больший уровень защиты от мошеннической деятельности. Механизмы аутентификации гарантируют, что только добросовестным абонентам, обладающим добросовестным оборудованием, то есть не украденным или нестандартным, будет предоставлен доступ к сети. Как только связь была установлена, информация в линии связи передается в зашифрованной форме, во избежание подслушивания. Конфиденциальность каждого абонента защищена, гарантирована тем, что его личность и местоположение защищены. Это достигнуто путём назначения для каждого пользователя временного идентификатора подвижного абонента (Temporary Mobile Subscriber Identity — TMSI), который изменяется от звонка к звонку. Таким образом нет необходимости передавать международный идентификатор мобильного абонента (International Mobile Subscriber Identity — IMSI) по радио-интерфейсу, что затрудняет задачу идентификации и определения местонахождения пользователя для подслушивающего.

Содержание

Защита PIN-кодомПравить

Первый и самый простой уровень защиты против мошеннического использования мобильного телефона — личный идентификационный номер (PIN-код), предназначенный для защиты против мошеннического использования украденных SIM-карт. В SIM-карте PIN-код имеет вид от четырёх- до восьмизначного числа. Пользователь может иметь возможность отключения этого уровня защиты. SIM-карта также может хранить второй четырёх-, восьмиразрядный десятичный код, известный как PIN2, чтобы защитить определенные возможности, которые являются доступными для абонента. Как только PIN-код, и если требуется — PIN2, введены правильно, объект технической эксплуатации (maintenance entity) будет иметь доступ к данным, хранимым в SIM-карте. Технические требования также определяют процедуры, которые должны выполняться, когда PIN-код введён неправильно. После трех последовательных неправильных попыток набора PIN кода SIM-карта блокируется и дальнейшие попытки ввести PIN-код игнорируются, даже если SIM-карта извлечена из объекта технической эксплуатации (maintenance entity). SIM-карта может быть разблокирована путём введения восьмиразрядного десятичного кода, известного как PUK (Personal Unlock Key), который также хранится в SIM-карте. После 10 неправильных попыток введения PUK кода SIM-карта блокируется окончательно.

Установление подлинностиПравить

Процедура установления подлинности или аутентификации (authentication) выполняется под управлением и по инициативе VLR. Для её проведения используется сценарий запрос-ответ, в котором VLR отправляет в MS специальное случайное число RAND, которое является одним из входных параметров алгоритма A3, используемого в SIM-карте для вычисления значение отклика SRES. Другим входным параметром алгоритма A3 является секретный ключ Ki, содержащийся в SIM-карте. Ключ Ki не доступен для считывания из SIM и это является одним из основных аспектов безопасности GSM.

VLR, в котором регистрируется абонент, отправляет запрос в AuC домашней сети абонента, в ответ на который AuC присылает набор триплетов, каждый из которых содержит RAND, SRES и ключ шифрования Kc. RAND является случайным числом, SRES вычисляется в AuC алгоритмом A3 на основе секретного ключа Ki и RAND, а Kc является ключом шифрования радиоинтерфейса и вычисляется алгоритмом A8 на основе Ki и RAND. Эти триплеты в дальнейшем будут использованы VLR для установления подлинности и шифрования. Таким образом, все вычисления с использованием ключа Ki происходят внутри AuC, на стороне сети и внутри SIM, на стороне абонента, что исключает утечку Ki и перехват злоумышленником. В современном оборудовании связи, ключи Ki прогружаются в AuC в зашифрованном виде и это исключает доступ к ключам даже со стороны технического персонала оператора. Процедура установления подлинности может выполняться при исходящих, входящих вызовах, при регистрации в сети, пакетной передаче данных, отправке или получении SMS, а также при обновлении местоположения (location update). Каждый оператор связи самостоятельно определяет, в каких случая VLR будет выполнять аутентификацию.

Процедура установления подлинности начинается после того, как между MS и MSC организован прозрачный канал для обмена служебной информацией. VLR выбирает первый триплет и отправляет в мобильную станцию его RAND вместе с номером триплета, который в дальнейшем будет обозначаться как CKSN — Ciphering Key Sequence Number, он же — номер ключа шифрования Kc. На стороне MS, по алгоритму A3 вычисляется SRES, который возвращается в VLR, где сравнивается со значением SRES из состава триплета, полученного из AUC. Идентичность двух SRES является признаком подлинности абонента. Триплет в VLR помечается как использованный и в следующий раз будет использован другой триплет. После того, как все триплеты будут израсходованы, VLR запрашивает у AuC новую порцию триплетов. Секретный алгоритм A3 предоставляет возможность относительно простой генерации SRES из RAND и Ki, но затрудняет определение Ki из SRES и RAND, или пар SRES и RAND, чем обеспечивается высокая стойкость к компрометации.

ШифрованиеПравить

Как только подлинность абонента была проверена, таким образом защищая и абонента и сетевого оператора от влияния мошеннического доступа, пользователь должен быть защищен от подслушивания. Это достигается путём шифрования данных, передаваемых по радиоинтерфейсу, с использованием второго ключа Kc и изначально секретного алгоритма A5. Kc генерируется в ходе проверки подлинности, используя Ki, RAND и секретный алгоритм A8, который также хранится в SIM-карте. Подобно алгоритму A3, A8 не уникален, и он может также быть выбран оператором. Ключи Kc для каждого пользователя вычисляются в AuC домашней сети и передаются в VLR в составе набора триплетов, где каждому триплету и, соответственно — ключу Kc, присваивается номер ключа — CKSN. В некоторых реализациях алгоритмы A3 и A8 объединены в единственный алгоритм A38, который использует RAND и Ki, чтобы сгенерировать Kc и SRES. В отличие от A3 и A8, которые, возможно, различны для каждого индивидуального оператора, A5 выбирается из списка из 7 возможных вариантов.

Перед шифрованием происходит фаза переговоров, в ходе которой определяется, какая версия A5 будет использована. Если сеть и мобильная станция не имеют общих версий A5, связь должна продолжиться в открытом режиме или соединение должно быть разорвано. Алгоритм A5 использует 64-битный ключ Kc и 22-битный номер фрейма TDMA для вычисления двух 114-битных слов шифрования — BLOCK1 и BLOCK2, использующихся при передаче и приёме соответственно. Слова шифрования — EXORed со 114 битами данных в каждой посылке. Поскольку зашифрованные данные вычислены, используя номер фрейма TDMA, то слова изменяются от посылки к посылке и не повторяются на протяжении гиперфрейма (приблизительно 3,5 часа).

Перед тем, как начать шифрование, мобильная станция (MS) отправляет в VLR номер ключа шифрования CKSN, который хранится в её памяти с момента последней процедуры аутентификации. CKSN не содержит секретных данных, а служит лишь для того, чтобы MS могла сообщить сети, какой ключ Kc она «помнит». После этого VLR отправляет в MS команду на включение шифрования и передаёт в базовую станцию (BTS) ключ Kc из того триплета, который соответствует номеру CKSN, полученному от MS. Таким образом между MS и VLR достигается договорённость о выборе ключа шифрования без передачи самого ключа по радиоинтерфейсу.

Временный идентификатор подвижного абонента (TMSI)Править

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

Атаки на GSMПравить

Несмотря на то что GSM разрабатывался как стандарт с высоким уровнем защиты от мошеннической деятельности, существуют различные типы атак на GSM.

Изначально безопасность GSM сетей основывалась на принципе «безопасность через неясность», но уже к 1994 году основные детали алгоритма A5 были известны.

Атака на основе открытых текстовПравить

 
Передача системной информации в открытом и зашифрованном виде

При передаче зашифрованного трафика по GSM в нем присутствует системная информация, заранее известная криптоаналитику. С помощью этой информации может быть применена атака на основе открытых текстов. В декабре 2010 года на всемирном конгрессе хакеров Sylvain Munaut и Karsten Nohl продемонстрировали взлом ключа Kc и последующую расшифровку голосового трафика.[1][источник не указан 1250 дней] Для ускорения атаки путём перебора ключа по известному открытому тексту они использовали метод предвычислений с созданием радужных таблиц.

См. такжеПравить

ПримечанияПравить