Изобретение относится к персональным жетонам (токенам), используемым для аутентификации в телекоммуникационной сети, например в сети мобильной телефонной связи.
Изобретение, в частности, относится к SIM-картам или другим персональным жетонам, которые вставляются в мобильный телефон.
Система предотвращения мошенничества в GSM опирается на особые криптографические коды для аутентификации абонентов и правильной их тарификации.
В персонифицированной смарт-карте (именуемой SIM) в сотовом телефоне хранится секретный ключ, обычно обозначаемый "Ki", который используется для аутентификации абонентов. Знания ключа достаточно для выставления этому абоненту счета за вызов.
Предполагается, что смарт-карта, устойчивая к подделке, защищает ключ от раскрытия (даже против нарушителей, которые могут иметь физический доступ к SIM). Аутентификация производится посредством криптографического протокола в карте, что позволяет SIM "удостоверять" знание ключа поставщику услуг и, таким образом, авторизовать вызов.
Алгоритм аутентификации COMP128, хранящийся и выполняющийся на карте, является функцией секретного ключа Ki и случайного числа Rand, которое поступает от удаленного сервера в процессе аутентификации. Алгоритм COMP128 используется для генерации результата (SRES) согласно следующему уравнению:
SRES = COMP128(Ki,Rand)
Согласно фиг.1, результат SRES, вычисленный на SIM, затем передается телефоном в центр аутентификации AuC (удаленный сервер оператора) в сети GSM, и аналогичное вычисление аутентификации осуществляется в центре аутентификации AuC.
Центр аутентификации способен осуществлять такое же вычисление благодаря тому, что в нем хранится секретный ключ Ki SIM-карты, а также алгоритм аутентификации, который используется в карте. Результат, сгенерированный на AuC, сравнивается с результатом, сгенерированным SIM-картой, и, если они совпадают, SIM аутентифицируется сети.
Вследствие этого хакер, узнав Ki, сможет клонировать карту.
Чтобы определить Ki, хакер много раз пытается сгенерировать SRES с использованием различных вышеупомянутых Rand.
Чтобы получить Ki, хакеру нужно неоднократно взаимодействовать с SIM. После достаточного количества запросов с различными псевдослучайными числами, атакующий может использовать тот или иной математический метод для изучения секретного ключа, который использовался для выработки соответствующих результатов.
Используется уравнение Func, которое опирается на математические методы корреляции и регрессии, причем функция Func позволяет вывести Ki:
Ki = Func(SRES,Rand)
При выводе Ki хакер может подготовить клонированную SIM-карту и попытаться войти и подключиться к сети. Таким образом, после определения ключа SIM-карта взламывается, что позволяет делать мошеннические вызовы, счета за которые будут выставлены настоящему держателю карты.
Оператор не может обнаружить, что карта клонирована, пока настоящий держатель не сообщит оператору. Это может позволить продолжать мошенничество, пока аутентичный держатель не узнает, что произошло мошенничество. Если оператор сети GSM знает, что мошенничество действительно произошло в отношении конкретной SIM, он может совершить соответствующее противодействие.
Задачей изобретения является определение, когда SIM подвергается попытке клонирования. Это определение может производить оператор сети GSM.
Эта задача решается согласно изобретению благодаря признакам, указанным в прилагаемой формуле изобретения.
Другие аспекты и преимущества изобретения явствуют из нижеследующего подробного описания, приведенного со ссылкой на чертежи, на которых:
фиг.1 - схема, которая частично представляет сеть мобильной связи согласно изобретению,
фиг.2 - схема, представляющая процесс аутентификации SIM-карты в сети мобильной связи, где реализован процесс обнаружения клонирования согласно изобретению.
Телекоммуникационная сеть частично изображена на фиг.2, где представлены SIM-карта 10 и сервер аутентификации 20, которые взаимодействуют друг с другом для подключения SIM-карты 20 к телекоммуникационной сети.
SIM-карта 10 включает в себя микропроцессор 11 и память 12, причем память 12 содержит, по меньшей мере, элемент энергонезависимого типа. Память обычно содержит также элемент постоянной памяти и элемент оперативной памяти.
Микропроцессор 11 выполняет алгоритмы, которые хранятся либо в элементе ПЗУ, либо в элементе энергонезависимой памяти. Эти алгоритмы содержат алгоритм аутентификации, который осуществляет вычисление аутентификации ожидаемого результата SRES на основании секретного ключа Ki и на основании случайного значения RAND, полученного от удаленного сервера 20.
Элемент энергонезависимой памяти карты 10 включает в себя особую ячейку для хранения численного значения. Алгоритм аутентификации взаимодействует с особой ячейкой для увеличения значения, хранящегося в этой ячейке всякий раз при осуществлении аутентификации.
Например, если численное значение, хранящееся в такой ячейке, равно n в данный момент (этап A) и телефон включен (этап B), то аутентификация осуществляется и алгоритм аутентификации меняет значение n на значение n+1 в особой ячейке (этап C).
Поэтому значение в такой особой ячейке памяти 12 SIM-карты 10 равно значению счетчика, которое отражает количество вычислений аутентификации, осуществленных SIM.
Удаленный сервер 20 включает в себя алгоритм аутентификации, который осуществляет такое же вычисление аутентификации, как вычисление аутентификации в SIM-карте, причем тот же алгоритм аутентификации опирается на тот же секретный ключ, который связан с рассматриваемой SIM-картой, и опирается на то же случайное значение RAND, которое сервер одновременно передает на SIM-карту.
Сервер 20 также содержит память 22 и особый участок памяти для лицевого счета держателя рассматриваемой SIM-карты, и этот особый участок памяти содержит особую ячейку памяти для хранения изменяемого численного значения, которое является значением счетчика, отражающим количество успешно произведенных аутентификаций с рассматриваемой картой.
В начале жизни SIM-карты, т.е. когда SIM-карта выдается держателю, особые ячейки памяти на сервере 20 и в SIM-карте 10 устанавливаются на одно и то же значение счетчика, которое может быть равно нулю (этап A').
Всякий раз при осуществлении аутентификации сервер 20 и карта 10 осуществляют вычисление на основании случайного значения RAND, которое специально генерируется на сервере 20 для такой аутентификации.
Затем сервер аутентификации 20 получает значение SRESSIM из SIM-карты 10 и сравнивает это значение SRESSIM с вычисленным им самим SRESAUC.
Если алгоритм сравнения результатов SRESSIM и SRESAUC на сервере 20 указывает, что эти два значения совпадают друг с другом (этап B'), то алгоритм сравнения увеличивает значение, хранящееся в его счетчике 2, на значение единицы (этап C).
Поэтому при нормальном использовании SIM-карты 10 особая ячейка памяти на сервере 20 и в карте 10 используется для хранения одинаковых значений счетчика n, которые становятся (n+1) почти одновременно, поскольку такие значения счетчика используются для увеличения в одно и то же время.
Сервер 20 включает в себя инструкции для периодического осуществления (этапы D', D") задачи сравнения значений, хранящихся в особых ячейках памяти SIM-карты 10 и самого сервера 20.
После заранее определенного периодического интервала (например, раз в день или в месяц и т.д.) сервер аутентификации 20 передает SMS с особым кодовым словом на SIM-карту 10.
SIM-карта 10 имеет резидентное приложение, которое по получении SMS проверяет пароль и, если пароль верен, считывает значение счетчика аутентификации из своего ЭСППЗУ и передает его в виде SMS на сервер аутентификации 20. Сервер 20, получив это значение, сравнивает его со своим собственным значением счетчика.
Если они совпадают, то сервер 20 принимает решение, SIM-карта 10 не подвергается клонированию. В противном случае, когда значения счетчика на SIM 10 и сервере 20 не совпадают, алгоритм сравнения на сервере 20 определяет, что алгоритм аутентификации SIM-карты 10 активировался чаще, чем фактически было произведено аутентификаций на сервере 20, и, следовательно, что были предприняты попытки взлома SIM-карты 10. В таком случае сервер 20 блокирует лицевой счет держателя рассматриваемой карты, после чего с помощью этого лицевого счета уже невозможно осуществлять связь, тем самым не позволяя хакеру использовать лицевой счет держателя рассматриваемой карты.
В альтернативном варианте осуществления сервер 20 выполняет алгоритм, который периодически передает текущее значение счетчика сервера 20 на SIM-карту 10. SIM-карта выполняет приложение, которое сравнивает такое принятое значение счетчика со своим собственным значением и принимает решение, совпадают ли оба значения счетчика.
Если значения счетчика не совпадают, то приложение карты 10 определяет, что алгоритм аутентификации SIM-карты активировался чаще, чем фактически было произведено аутентификаций на сервере, и, следовательно, что были предприняты попытки взлома SIM-карты. Тогда приложение выдает сигнал тревоги держателю карты. Затем держатель карты может сообщить оператору о том, что его карта, возможно, подверглась атаке хакера.
Следует понимать, что удаленный/ая сервер или серверная сборка, согласно предпочтительному варианту осуществления, образован группой серверов. Каждый сервер группы охватывает заранее определенную географическую область, причем эти серверы связаны друг с другом таким образом, чтобы содержать соответствующие счетчики, которые синхронизированы друг с другом на одно и то же текущее обновленное значение. Упомянутые несколько серверов могут представлять собой серверы, которые связаны друг с другом, но принадлежат разным национальным сетям. В таком случае домашний оператор все же может передавать и принимать SMS на и с SIM-карту/ы, что позволяет домашнему оператору знать, атакуется ли SIM-карта.
Математически такие сравнения можно выразить следующим образом:
Назовем SIM-карту 0, подлежащую клонированию, SIM.
Для SIM положим значение счетчика аутентификации равным 'SACV' (Значение счетчика аутентификации на SIM).
Для SIM положим значение счетчика аутентификации на сервере аутентификации равным 'ACACV' (Значение счетчика аутентификации в центре аутентификации).
Поскольку это оригинальная SIM, которая еще не клонирована, SACV = ACACV.
После одной аутентификации сетью SIM имеет значение счетчика SACV+1.
И сервер аутентификации имеет значение счетчика ACACV+1.
Таким образом: SACV+1 = ACACV+1, т.е. SIM A не пытались взломать.
Теперь предположим, что SIM пытались клонировать и что хакер взломал SIM за 'N' попыток. Тогда значение счетчика аутентификации на SIM равно:
SACV+1+N
Но, поскольку сеть не произвела никакой аутентификации, значение счетчика аутентификации на сервере по-прежнему равно ACACV+1.
По запросу сервера 20 или любой другой уполномоченной сущности в сети GSM SIM A передает значение 'SACV+1+N' в качестве своего значения счетчика.
Поскольку SACV+1+N не равно ACACV+1, это значит, что SIM A пытались клонировать или взломать.
В еще одном варианте осуществления на сервере 20 хранится число, указывающее, сколько раз осуществлялся алгоритм аутентификации сервера, независимо от успешности его завершения. Алгоритм аутентификации сервера 20 увеличивает значение счетчика, связанного с данной картой, на сервере всякий раз, когда такой алгоритм сервера вычисляет значение SRES. Алгоритм аутентификации сервера 20 осуществляет такое увеличение независимо от того, получено ли от карты значение SRES, равное ожидаемому результату.
Таким же образом, как описано выше, алгоритм сравнения периодически или при каждом вычислении для аутентификации, на сервере или на карте, сравнивает значения счетчика карты и сервера, тем самым проверяя, был ли активирован алгоритм аутентификации столько же раз, сколько алгоритм аутентификации сервера.
Оба значения счетчика должны совпадать. Если значения совпадают, значит, SIM-карту 10 не пытались взломать, в противном случае SIM-карта 10 может оказаться взломанной.
Хотя в описанных примерах предполагается, что значения счетчика в точности совпадают, некоторый уровень несовпадения можно считать допустимым.
Например, карту не следует рассматривать как взломанную, если сравниваемые значения счетчика не совпадают менее чем на заранее определенное значение. Такое заранее определенное значение следует выбирать меньшим, чем количество активаций, необходимое для получения секретного ключа карты.
Хотя было описано, что значения счетчика увеличиваются всякий раз при осуществлении соответствующего вычисления, их также можно уменьшать начиная с одного и того же высокого исходного значения.
Преимущественно жетон содержит инструкции, предписывающие блокировать жетон аутентификации в сети связи путем отправки сообщения на серверную сборку, указывающего несовпадение.
Жетон может также содержать инструкции, предписывающие блокировать жетон аутентификации в сети связи путем блокировки функций жетона.
Когда серверу, при необходимости, предписано блокировать жетон, жетон аутентификации, преимущественно, периодически передает свое значение счетчика на удаленный сервер.
В альтернативном варианте осуществления сервер периодически передает значение счетчика на удаленный жетон аутентификации.
название | год | авторы | номер документа |
---|---|---|---|
СПОСОБ АУТЕНТИФИКАЦИИ ОБЪЕКТА | 2002 |
|
RU2225676C1 |
ЗАЩИЩЕННАЯ САМОНАСТРОЙКА ДЛЯ БЕСПРОВОДНОЙ СВЯЗИ | 2006 |
|
RU2374778C2 |
СПОСОБ И СИСТЕМА ДЛЯ GSM-АУТЕНТИФИКАЦИИ ПРИ РОУМИНГЕ В БЕСПРОВОДНЫХ ЛОКАЛЬНЫХ СЕТЯХ | 2002 |
|
RU2295200C2 |
СПОСОБ ОБНАРУЖЕНИЯ СКОПИРОВАННОГО МЕЖДУНАРОДНОГО КОДА ИДЕНТИФИКАЦИИ МОБИЛЬНОГО АБОНЕНТА (IMSI) В СЕТИ МОБИЛЬНОЙ СВЯЗИ И ЭЛЕМЕНТ СЕТИ МОБИЛЬНОЙ СВЯЗИ | 1998 |
|
RU2204219C2 |
Система защищённой передачи данных | 2018 |
|
RU2684488C1 |
РАСШИРЕНИЕ ПРОТОКОЛА СООБЩЕНИЯ СИГНАЛИЗАЦИИ | 2005 |
|
RU2384018C2 |
АУТЕНТИФИКАЦИЯ ТРАНЗАКЦИИ НА ОСНОВЕ ЖЕТОНА | 2011 |
|
RU2565368C2 |
СПОСОБ АУТЕНТИФИКАЦИИ В СЕТЯХ СОТОВОЙ СВЯЗИ, СИСТЕМА ДЛЯ ЕГО ОСУЩЕСТВЛЕНИЯ И ЕЕ УЗЛЫ | 2006 |
|
RU2316117C1 |
ТЕЛЕКОММУНИКАЦИОННАЯ ЧИП-КАРТА | 2013 |
|
RU2628492C2 |
ШИФРОВАНИЕ МЕЖДУ СЕТЬЮ CDMA И СЕТЬЮ GSM | 2004 |
|
RU2366094C2 |
Изобретение относится к сетям связи, а именно к жетону аутентификации (10) для сети связи. Техническим результатом является обнаружение попытки клонирования жетона аутентификации. Технический результат достигается тем, что жетон аутентификации содержит микропроцессор (11), память (12), сохраненный секретный ключ (Ki) и набор инструкций, предписывающих микропроцессору (11) осуществлять вычисление аутентификации на основании принятого случайного числа (RAND) и на основании сохраненного секретного ключа, причем упомянутый жетон включает в себя ячейку памяти, предназначенную для хранения значения счетчика, при этом ячейка памяти включает в себя инструкции, причем при использовании при каждом осуществлении вычисления аутентификации упомянутые инструкции изменяют значение счетчика. 3 н. и 10 з.п. ф-лы, 2 ил.
1. Удаленный жетон аутентификации (10) для сети связи, содержащий микропроцессор (11), память (12), сохраненный секретный ключ (Ki) и набор инструкций, предписывающих микропроцессору (11) осуществлять вычисление аутентификации на основании принятого случайного числа (RAND) и на основании сохраненного секретного ключа, причем упомянутый жетон включает в себя ячейку памяти, предназначенную для хранения значения счетчика, отличающийся тем, что он включает в себя инструкции, причем при использовании при каждом осуществлении вычисления аутентификации упомянутые инструкции изменяют значение счетчика.
2. Удаленный жетон аутентификации по п.1, отличающийся тем, что он включает в себя набор инструкций, предписывающих микропроцессору (11) удаленного жетона аутентификации (10) сравнивать значение счетчика, хранящееся в удаленном жетоне аутентификации (10), и значение счетчика, принятое от серверной сборки (20), и инициировать блокировку удаленного жетона аутентификации (10) в сети связи в случае несовпадения двух значений счетчика.
3. Удаленный жетон аутентификации по п.2, отличающийся тем, что при использовании жетон содержит инструкции, выполненные с возможностью блокировать удаленный жетон аутентификации в сети связи путем отправки сообщения, указывающего несовпадение, на удаленную серверную сборку (20).
4. Удаленный жетон аутентификации по п.2, отличающийся тем, что при использовании удаленный жетон аутентификации (10) содержит инструкции, выполненные с возможностью блокирования удаленного жетона аутентификации (10) в сети связи путем блокировки функций удаленного жетона аутентификации.
5. Удаленный жетон аутентификации (10) по п.1, отличающийся тем, что он содержит инструкции, предписывающие процессору (11) периодически передавать значение счетчика на удаленную серверную сборку (20).
6. Серверная сборка (20) для сети связи, содержащая микропроцессор, память (22), сохраненный секретный ключ (Ki), связанный с удаленным жетоном аутентификации (10), и набор инструкций, предписывающих микропроцессору генерировать случайное значение (RAND) и дополнительно осуществлять вычисление аутентификации на основании случайного значения (RAND) и сохраненного секретного ключа (Ki), причем упомянутый жетон включает в себя ячейку памяти, предназначенную для хранения значения счетчика, отличающаяся тем, что она включает в себя инструкции, причем при использовании при каждом осуществлении вычисления аутентификации, упомянутые инструкции изменяют значение счетчика.
7. Серверная сборка по п.6, отличающаяся тем, что в ней хранится набор инструкций, предписывающих микропроцессору серверной сборки (20) сравнивать значение счетчика со значением счетчика, принятым от удаленного жетона аутентификации (10).
8. Серверная сборка по п.6, отличающаяся тем, что она включает в себя лицевой счет держателя удаленного жетона аутентификации, и она включает в себя набор инструкций, предписывающих микропроцессору блокировать лицевой счет держателя в случае, если значение счетчика, сохраненное в серверной сборке (20), и значение счетчика, принятое от удаленного жетона аутентификации, не совпадают.
9. Способ определения попытки взлома удаленного жетона аутентификации, причем упомянутый удаленный жетон аутентификации способен осуществлять связь с сетью связи, и при этом упомянутый удаленный жетон аутентификации содержит микропроцессор, память (22), сохраненный секретный ключ (Ki) и набор инструкций, предписывающих микропроцессору (11) осуществлять вычисление аутентификации на основании принятого случайного числа (RAND) и на основании сохраненного секретного ключа, причем упомянутый жетон включает в себя ячейку памяти, предназначенную для хранения значения счетчика, отличающийся тем, что он содержит изменение упомянутого значения счетчика всякий раз, когда осуществляется вычисление аутентификации.
10. Способ по п.9, отличающийся тем, что вычисление аутентификации осуществляется, когда аутентификация успешно произведена.
11. Способ по п.10, отличающийся тем, что он содержит выполнение алгоритма аутентификации в сервере и алгоритма аутентификации в жетоне, сравнение результатов вычисления аутентификации, сделанных в сервере, с результатами вычисления аутентификации, сделанными в жетоне, и определение успешности аутентификации, когда упомянутые результаты совпадут.
12. Способ по п.11, отличающийся тем, что он содержит блокировку лицевого счета держателя в случае, если значение счетчика, сохраненное в сервере (20), и значение счетчика, принятое из удаленного жетона аутентификации (10), не совпадают.
13. Способ по п.11, отличающийся тем, что он содержит предписывание микропроцессору периодически передавать значение счетчика на удаленный жетон аутентификации (10).
WO 2005025178 A1, 17.03.2005 | |||
WO 2005065132 A2, 21.07.2005 | |||
СПОСОБ АУТЕНТИФИКАЦИИ ОБЪЕКТА | 2002 |
|
RU2225676C1 |
RU 2004133759 A, 27.08.2005 | |||
ГИДРАВЛИЧЕСКИЙ ФРОНТАЛЬНЫЙ ПОГРУЗЧИК | 0 |
|
SU178306A1 |
WO 9927499 A2, 03.06.1999 | |||
US 2005182925 A1, 18.08.2005 | |||
Kaisa Nyberg: "Cryptographic Algorithms For UMTS", ECCOMAS 2004, PROCEEDINGS, VOLUME II, 28.07.2004. |
Авторы
Даты
2012-01-27—Публикация
2007-02-15—Подача