?

Log in

dump -0f - /dev/mind
Я знаю Haskell, OCaml, GSM, эндофункторы и много других страшных слов
Аутентификация в сети GSM 
9th-Nov-2006 02:50 pm
Заказной пост для netch, aefimov и andrew_dashin: "Я так понимаю, что у каждой sim-карты есть свой ID, по котрому определяют что это именно та самая карта. Волнует меня вот что: могу ли я подменить программно этот ID?" и "Каналы сетей действительно шифрованы или это сказки?"

Короткий ответ: у каждой SIM-карты действительно есть уникальный ID, называемый IMSI (International Mobile Subscriber Identity). Теоретически (при использовании программируемых или инженерных SIM-карт) его можно изменять. Однако, IMSI не является authentication token-ом - для того, чтобы определить "что это та самая карта", используется challenge-response протокол. В качестве секретного ключа используется длинное секретное число, которое хранится в SIM-карте так, что его невозможно считать и/или изменить. При определенной доле удачи его можно попытаться вычислить и сделать дубликат SIM-карты, но если не повезет - можно лишиться SIM-карты.

Длинный ответ:

В процессе производства SIM-карт производитель заносит в ROM каждой карты случайное число, называемое "Ki" (Key for identification). Это число будет служить секретным ключем для данной SIM-карты. Когда SIM-карты доставляются мобильному оператору, с ними передаются данные о Ki каждой новый SIM-карты. Эти данные (в виде пар (IMSI, Ki)) заносят в "центр аутентификации" мобильной сети (AuC).

Когда мобильный телефон пытается зарегистрироваться в сети, его IMSI передается в AuC, который передает обратно случайное число (RAND). Дальше SIM-карта и AuC параллельно выполняют одно и то же вычисление: (SRES, Kc) = A3/A8(RAND, Ki), где "A3/A8" - название стандартных алгоритмов вычисления SRES (Signed RESponse) и Kc (Key for ciphering) соответственно.

Телефон передает вычисленное SIM-картой значение SRES обратно в AuC, который сравнивает его со своим SRES. Если результаты совпали, то SIM-карта - подлинная.



Вычисленное значение Kc сохраняется в AuC/HLR/VLR и энергонезависимой памяти SIM-карты до следующей регистрации карты в сети и используется для шифрования голосового траффика, идущего по радиоинтерфейсу. Насколько я помню, расшифровкой занимается BSC и дальше (по наземным каналам) голос идет оцифрованным, но нешифрованным (кажется, кодек называется gsm 06.10).

Почему так тяжело клонировать SIM-карту?
Во-первых, у SIM-карты нет интерфейса, по которому можно непосредственно считать или изменить "Ki". Есть интерфейс, позволяющий выполнить алгоритм A3 или A8, но он защищен от попыток собрать достаточно данных для вычисления Ki путем перебора (brute forceing-а) - если слишком часто вызывать эти функции в течении короткого интервала времени, то SIM-карта заблокируется (приведет сама себя в негодность), после чего ее останется только выкинуть. Для успешного брут-форсинга нужно около 20000-40000 вызовов, и то - при условии, что в SIM-картах используется стандартный алгоритм A3 или несущественно отличающиеся его разновидности.

Кроме того, большинство операторов используют свои собственные алгоритмы вместо стандартного A3, не публикуя принципы их работы.

В сумме это приводит к тому, что клонировать SIM-карту возможно, но очень-очень тяжело.

Литература:
Comments 
(Deleted comment)
9th-Nov-2006 03:24 pm (UTC)
+1, почему 160, а не, скажем, 254 или 255?
(Deleted comment)
9th-Nov-2006 01:44 pm (UTC)
Есть глупый вопрос. (Подозреваю, что Гугль всё знает, но не скажет, пока я ему не сформулирую правильный* поисковой запрос). От 20К до 40К запросов - это интересно. А можно детальнее про порядки цифр? Размерность SRES, Ki и Kc какова?

* Пример неудобного поискового запроса. Для решения уравнений 3-й степени используется формула Кардано (и это многие знают), а уравнения 4-й степени решаются при помощи формул, которые названы в честь вывевших их итальянского математика Луиджи Феррари. Пришлось мне как-то искать в сети формулу Феррари, но Гугль упорно настаивал на том, что мне нужны автогонки :)
9th-Nov-2006 02:10 pm (UTC)
Ki - 32 знака. Подозреваю, что SRES и Kc - аналогично.

Детальные обо все можно прочитать тут: http://vb.kievsat.com/forumdisplay.php?f=46 (добавил в литературу)
9th-Nov-2006 01:46 pm (UTC)
Однако клоны карт я наблюдал неоднократно, а преложения услуг по их клонированию еще чаще.
9th-Nov-2006 02:04 pm (UTC)
Я ж и говорю - клонировать возможно. Я знаю (но называть, пожалуй, не буду) операторов, карты которых клонируются "на ура", и операторов, клоны карт которых в дикой природе не встречались. Кто сильнее заморочился - того и меньше клонируют.

По поводу предложения услуг - тут вообще вопрос тонкий. Я не раз встречал в сети предложения услуг по генерации (за мелкую WMZ-мзду) кодов карт пополнений или схем девайсов или волшебных вкладок из фольги, которые приводят к тому, что "все ваши разговоры становятся БЕСПЛАТНЫМИ!". То, что подобные девайсы в принципе не могут работать, не означает, что на них нельзя поднять немножко денежек :)
9th-Nov-2006 02:06 pm (UTC)
Я вот неоднократно встречал предложения по лечению "от всего", снятию порчи и прочим интересным вещам :)
9th-Nov-2006 02:17 pm (UTC)
Ага, то есть теоретически можно у оператора украсть базу с Ki и сдублировать любую карту.

Интересно, почему не использовалось асимметричное шифрование. Чтобы private key, залитый в сим карту, не знал вообще никто, а у оператора был бы только public key.
9th-Nov-2006 02:27 pm (UTC)
1. Именно.

2. А можно развить тему? Что-то я не вижу, как это будет работать?
(Deleted comment)
(Deleted comment)
(Deleted comment)
(Deleted comment)
(Deleted comment)
10th-Nov-2006 08:18 am (UTC)
Громкие слова я не слышал, но думаю, что бред :)

1. Смотря, что мы называем словом "канал". Между чем и чем?

2. Именно.
(Deleted comment)
11th-Nov-2006 12:21 pm (UTC)
Насколько я помню, слух был о том, что МТС передал базу абонентов спецслужбам, а оттуда она утекла наружу. Со снятием шифрования это никак связано не было.
(Deleted comment)
9th-Nov-2006 03:57 pm (UTC)
по запросу клиента оператор никак не может такие действия производить. Если может технически, то только по запросу соответсвующих служб/etc. Почему не делает такие запросы наша доблестная милиция, вопрос выходящий за рамки топика :)
Теоретически такая возможность должна быть. На практике - надо еще и реализовать эффективную систему запросов такого рода (и иметь ее технически: база данных всех сот с точным географическим положением, etc.)
Понятно, что определение будет в любом случае неточным, от нескольких километров в городе до десятков в поле.
9th-Nov-2006 06:09 pm (UTC)
IMEI телефона можно поменять. По крайней мере для большей части Siemens'ов (может и для всех, но не уверен). Вот только заморачиваются ли этим на рынках продавцы - не знаю.
10th-Nov-2006 08:21 am (UTC)
wish recorded :)
10th-Nov-2006 06:39 am (UTC)
Несколько карт (в качестве эксперимента) таки удалось клонировать и залить в supersim, но при прочих равных условиях те, которые действительно надо было - не вышло :-/
10th-Nov-2006 07:47 am (UTC)
В нашем регионе без проблем клонируются карты Билайна, МТС и Мегафона. Не поддается только Теле2.
11th-Nov-2006 07:52 pm (UTC)
Дмитрий, спасибо за ликбезы!
Смежный вопрос (хотя не совсем по GSM): а как во всем этом празднике жизни участвует PIN-код SIM-карты? Почему имея SIM-карту (но не зная PIN-кода), нельзя выполнять все эти A3/A8 алгоритмы? И как шифруется информация на SIM-карте (адресная книга, например)?
12th-Nov-2006 03:39 pm (UTC)
wish recorded :)
(Deleted comment)
27th-Nov-2006 11:48 pm (UTC)
А Kc не передается, и на картинке это показано. Обе стороны независимо вычисляют пары (SRES, Kc), но пересылают только SRES, его же и сравнивают.

Если SRES совпал, то считается. что Kc - тоже одинаковый у обоих сторон. Вот и все :)
9th-Apr-2008 12:32 am (UTC)
Есть вопрос такой по этому поводу - слышал от знакомых, что в Киевском НИИ микроэлектроники читали Ki напрямую из ROM, подключаясь прямо к кристаллу. Это похоже на правду или все-таки вымысел.
24th-Aug-2009 04:07 pm (UTC)
Anonymous
Статья интересная, но умышленно(?) не правдивая. Карты операторов клонируются и достаточно легко. Среднее время перебора ~20-30 минут. Клонировал около 20 симок мтс и билайна - все отлично.

ЗЫ: Клонировал исключительно для легального использования, на мультисимы :)
24th-Aug-2009 06:56 pm (UTC)
В каком году это было, и что за МТС/Билайн? (россия, украина, ...)

Я склонен предполагать, что это было N лет тому назад, когда и МТС, и Билайн использовали COPM128 v1, и то, что ни одна симка не была в процесса запорота - это просто повезло.
This page was loaded Mar 27th 2017, 12:49 am GMT.