A3 — алгоритм, який використовується в процесі автентифікації в глобальному цифровому стандарті для мобільного стільникового зв'язку GSM. A3 є, таким чином, елементом системи забезпечення конфіденційності розмови в GSM поряд з алгоритмами A5 і . Завдання алгоритму — генерація відкликання (SRES — Signed Response) на випадковий пароль (RAND — Random), одержуваний стільниковим телефоном (MS — Mobile Station) від центру комутації MSC (MSC — Mobile Switching Centre) в процедурі аутентифікації. А3 реалізується в SIM-картці абонента.
Процес автентифікації
Суть автентифікації в GSM — уникнути клонування мобільного телефону користувача. Секретним ключем є 128-бітний ключ Ki, яким володіє як абонент, так і Центр Автентифікації (AuC — Authentication Centre). Ki зберігається на SIM-карті, також як і алгоритм A3. Також у аутентифікації беруть участь Домашній реєстр місцеположення (HLR — Home Location Registry) і Центр комутації (MSC — Mobile Switching Centre)
Коли MS запитує доступ до мережі GSM (наприклад при включенні), MSC повинен перевірити справжність MS. Для цього MSC відправляє в HLR унікальний міжнародний ідентифікатор абонента (IMSI (International Mobile Subscriber Identity) і запит на отримання набору спеціальних триплетів. Коли HLR отримує IMSI запит на триплети, він спочатку перевіряє свою базу даних, щоб упевнитися, що MS з таким IMSI дійсно належить мережі. Якщо перевірка пройшла успішно, то HLR відправляє IMSI і запит встановлення автентичності в Аіс.
AuC використовує IMSI, щоб знайти Ki відповідний цьому IMSI. Також AuC генерує випадкове 128-бітне число RAND. Після цього AuC обчислює 32-бітний відгук SRES (SRES — Signed Response) за допомогою алгоритму A3: SRES = A3(RAND, Ki). Крім того, AUC обчислює 64-бітний сеансовий ключ Kc за допомогою алгоритму A8: Kc = A8(RAND, Ki). Kc в подальшому використовується в алгоритмі A5 для шифрування і розшифрування даних.
RAND, SRES, і Kc як раз утворюють триплети, які MSC запросив у HLR. AuC генерує п'ять таких триплетів і посилає їх в HLR, потім HLR пересилає цей набір в MSC. Генерується саме набір триплетів, щоб зменшити передачу сигналів в GSM core network, яка відбувалася б кожен раз, коли MS відправляла б доступ до мережі, а MSC мав би перевірити справжність MS. Слід зазначити, що набір триплетів унікальний для одного IMSI і не може бути використаний для будь-якого іншого IMSI.
MSC зберігає Kc і SRES і посилає запит RAND мобільної станції MS абонента. Отримавши запит RAND, MS обчислює відповідь на запит SRES за допомогою алгоритму A3 і секретного ключа Ki: SRES = A3(RAND, Ki), і посилає його в MSC. Якщо прийнятий SRES збігається з SRES, що зберігаються в MSC, то автентифікація вважається успішно пройденою.
Після п'яти сесій аутентифікації MSC запитує в HLR новий набір триплетів (RAND, SRES, Kc)
Опис алгоритму
Загальні положення
Формат вхідних та вихідних даних для алгоритму A3, а також весь процес аутентифікації строго визначені консорціумом 3GPP. Варто зазначити, що кожен окремий оператор вибирає принцип дії алгоритму A3. Таким чином, A3 не є стандартизованим, а визначається оператором. Однак якщо оператор не хоче вигадувати свій алгоритм A3, він може скористатися стандартною реалізацією алгоритму.
Наразі прийнятий такий формат вхідних та вихідних даних RAND, Ki, SRES алгоритму A3:
- довжина Ki — 128 біт
- довжина RAND — 128 біт
- довжина SRES — 32 біта
Час виконання алгоритму A3 повинно бути менше 500 мілісекунд.
Наразі відомі такі стандартні реалізації алгоритму A3:
- COMP128
- COMP128-2
- COMP128-3
- MILENAGE
COMP128 є найпершою версією алгоритму A3. Спочатку алгоритм COMP128 тримався в секреті. Розробники першої версії A3 покладалися на безпеку за рахунок невідомості, тобто алгоритми важче зламати, якщо вони не доступні публічно. Однак COMP-128 був скомпрометований криптоаналітиками Marc Briceno, David Wagner і Ian Goldberg дослідної групи ISAAC security research group Після публікації вразливостей COMP128 були розроблені виправлені версії COMP128-2 і COMP128-3.
COMP128
У 1998 році стався витік опису алгоритму COMP128 в Інтернет. Хоча опис був не повним, за допомогою зворотної розробки код був повністю відновлений і тепер він .
По суті, COMP128 є хеш-функцією розрядності 128 біт. Розрядність аргументу 256 біт або 32 байта (128 біт Ki + 128 біт RAND). 32 старших біта обчисленого значення беруться в якості SRES, а 64 молодших біта в якості сесійного ключа Kc. Нехай X [0..32] — 32байтный вхід алгоритму, де X [0..15] = Ki, а X [16..31] = RAND. T0 [0..511], T1 [0..255],T2 [0..127],T3 [0..63] і T4 [0..31] — секретні таблиці підстановки байт. Алгоритм складається з 8 раундів, у кожному раунді 5 ітерацій. Кожна ітерація полягає в пошуку по відповідній таблиці (T0 для першої ітерації, T1 — для другої тощо) і підставивши байт. В кінці кожного раунду, за винятком останнього, відбувається перестановка отриманих 128 біт результату, і після перестановки ці 128 біт використовується в наступному раунді. Опис одного раунду на псевдокоді:
(підстановки) for i = 0 to 4 do: for j = 0 to 2^i - 1 do: for k = 0 to 2^(4-i) - 1 do: { s = k + j*2^(5 - i) t = s + 2^(4-i) x = (X[s] + 2X[t]) mod (2^(9 - i)) y = (2X[s] + X[t]) mod (2^(9 - i)) X[s]=Ti[x] X[t]=Ti[y] } (освіта біт з байт) for j = 0 to 31 do: for k = 0 to 7 do: { bit [4*j+k] = the (8-k)th bit of byte j } (перестановка) if (i < 8) then for j = 0 to 15 do: for k = 0 to 7 do: { next bit = (8 x j + k) x 17 mod 128 Bit k of X[j + 16] = bit[next_bit] }
На кожній ітерації вихідний байт залежить від двох вхідних байт. Два вхідних байта використовуються для визначення елемента в таблиці підстановки. Цей елемент оновить вихідний байт. Таблиця підстановки для i-ї ітерації містить 2^(9 – i) елементів розміром (8 – i) біт. Тобто
таблиця число елементів розмір одного елемента T0 512 8 біт T1 256 7 біт T2 128 6 біт T3 64 5 біт T4 32 4 біта
По суті, кожен з 32 вихідних байт останньої ітерації раунду має лише 4 значущих біта. Тому в кінці ітерації відбувається перетворення цих 32 байт перестановкою в 16 байт, всі біти яких значущі. Ці 16 байт записуються в X [16 .. 31], і запускається наступний раунд алгоритму (X [0 .. 15] значення Ki ніяк не змінюється).
Таку структуру алгоритму David Wagner назвав butterfly structure, що означає «у формі метелика»
COMP128-2 і COMP128-3
Хоча зараз ясно, що принцип «безпека за рахунок невідомості» не працює, версії COMP128-2 і COMP128-3 тримаються в секреті
Milenage
Алгоритми автентифікації і генерації сеансового ключа Milenage були розроблені консорціумом 3GPP об'єднаними зусиллями входять в 3GPP організацій. Немає ніяких додаткових вимог або дозволів, необхідних для використання цих алгоритмів. Приклад використання Milenage як A3 показаний в документі 3GPP TS 55.205 «Specification of the GSM-MILENAGE Algorithms: An example algorithm set for the GSM Authentication and Key Generation functions A3 and A8» [ 19 листопада 2018 у Wayback Machine.]. Повна специфікація Milenage представлена на сайті консорціуму 3GPP
Milenage є невразливим до якихось відомих атак.
Можливі атаки
Атаки на COMP128
Атака BGW
13 квітня 1998 року Marc Briceno, Ian Goldberg і David Wagner опублікували статтю [ 22 квітня 2018 у Wayback Machine.], в якій описали спосіб отримання секретного ключа Ki шляхом надіслання SIM карті близько 150000 запитів. Атака використовує вузьке місце алгоритму.
Після другої ітерації першого раунду байти X[i], X[i+8], X[i+16], X[i+24] залежать тільки від вхідних байт з такими ж індексами. Байти X[i] та X[i+8] є байтами ключа, тобто X[i] = Ki[i] та X[i+8] = Ki[i+8] (для кожного i від 0 до 7), а байти X[i+16] та X[i+24] є байтами запиту RAND від базової станції, т.е X[i+16] = RAND[i+16] та X[i+24] = RAND[i+24] (для кожного i від 0 до 7).
Тепер ми змінюємо байти i + 16, i + 24 входу алгоритму COMP128 (тобто байти i, i + 8 запиту RAND), залишаючи решту вхідні байти постійними. Оскільки одна ітерація не є взаємно-однозначної, можна очікувати колізію байтах виходу з номерами i, i + 8, i + 16, i + 24 після другої ітерації. «Парадокс днів народжень» гарантує, що колізія відбудеться досить швидко (так як вузьке місце обмежене 4 байтами). Колізії у вузькому місці може бути виявлені, бо вони викличуть колізію виходів алгоритму COMP128 (тобто ми отримаємо два однакових відкликання SRES), причому кожна колізія може бути використана для отримання двох байт ключа i, i + 8 (з урахуванням невеликої обробки перших двох ітерацій — тобто застосовуючи 2R атаку в термінах диференціального криптоаналізу).
На це буде потрібно певних вхідних запитів COMP128 для знаходження двох байтів ключа (так як кожен з чотирьох байт виходу після другої ітерації по суті має 7 значущих біт). Тепер проводимо 2R атаку для кожної пари байт ключа (для кожного i від 0 до 7). Таким чином, для отримання всього 128 бітного ключа Ki потрібно запитів.
Варто зазначити, що для проведення атаки потрібно фізичний доступ до SIM карті, кардрідер і комп'ютер. Для проведення атаки потрібно послати близько 150000 запитів до SIM карті. Кардрідер, який був використаний групою вчених з ISAAC, виконував 6,25 запитів в секунду, а вся атака зайняла, таким чином, 8 годин. Для аналізу відповідей від SIM карти потрібно значно менше часу, ніж для відправки запитів.
Атака BGW over-the-air
Marc Briceno, Ian Goldberg і David Wagner також упевнені в тому, що атаку BGW можна провести дистанційно, не маючи фізичного доступу до SIM-карті. На жаль, вони не стали проводити експеримент, так як це було б порушенням законів США. Однак експерти в області GSM, до яких звернулися дослідники з ISAAC, підтвердили можливість практичної реалізації атаки. Властивості протоколів GSM дозволяють виконувати атаку BGW, якщо вдасться створити фейковую базову станцію BS. Фейкової BS не потрібно підтримувати весь протокол GSM, а лише частину його функцій. Атака BGW over-the-air заснована на тому, що мобільної станції MS потрібно відповісти на кожен запит, зроблений мережею GSM. Якщо сигнал від фейкової BS перекриє сигнал від легальної BS, атакуючий зможе посилати запити цільової MS і відтворити Ki з відповідей, отриманих від MS. Варто відзначити, що MS повинна бути доступна атакуючому на весь час, протягом якого буде проводитися атака. Невідомо, як багато часу займає атака BGW over-the-air. За оцінками, від восьми до тринадцяти годин.
Атаку можна провести в метро, коли сигнал легальної BS не доступний, а телефон увімкнено. Користувач навіть не буде знати про походить атаці, лише факт того, що батарея телефону розряджається швидше ніж зазвичай, може його насторожити. Атака може бути проведена по частинах: замість восьмигодинний атаки зловмисник може посилати запити протягом менших періодів часу кожен день, наприклад, коли користувач йде на роботу.
Marc Briceno, Ian Goldberg і David Wagner підкреслюють той факт, що незважаючи на складність і витратність такого виду атак, не слід ігнорувати можливість їх реалізації.
Розподілена атака (Partitioning Attack)
У травні 2002 група дослідників з IBM Watson Research Center спільно з дослідниками з Swiss Federal Institute of Technology Zurich опублікували . Вона заснована на простому аналізі споживаного струму (Simple Power Analysis (SPA)) і дозволяє отримати ключ за кілька хвилин. Атака використовує малу продуктивність процесора SIM карти. Так, перша підстановка з допомогою таблиці T0 вибирає одне з 512 значень, для вибору одного значення потрібно 9 біт. Однак процесор SIM може звернутися тільки по 8-бітному адресою. Для цього таблиця повинна бути розбита на дві частини. Дослідники IBM Watson Research Center припустили, що таблиця розбита на дві рівні частини. Аналізуючи енергоспоживання SIM карти при різних запитах (а також електромагнітне випромінювання), дослідники визначали, до якої частини таблиці T0 був адресований запит. Аналізуючи адресацію і енергоспоживання запитів при зміні першого байта RAND[0] їм вдалося знайти K[0]. Проводячи подібний аналіз для інших байт RAND, ключ Ki відновлюється повністю.
У підсумку, атака може бути проведена шляхом посилки 1000 випадкових або 255 визначених запитів. Зрештою атаку звели до 8 самоприспосабливающихся запитів, що дозволяє отримати Ki за 2 секунди. Проте атака можлива лише при фізичному доступі до SIM карті.
Отримання Ki з AuC
Точно така ж атака з метою отримання Ki з SIM може бути проведена по відношенню до AuC. AuC повинен відповідати на всі запити мережі GSM і видавати триплети, використовувані для аутентифікації MS. По суті процедура аналогічна атаці BGW на SIM. Відмінність лише в тому, що AuC набагато швидше SIM обробляє запити, тому що йому потрібно обробляти в рази більшу кількість запитів. Безпека AuC відіграє велику роль, незалежно від того, чи можливий цей тип атак.
Фейковая базова станція
Важливо відмітити, що аутентифікація в GSM — одностороння: телефон (MS) автентифікований базовою станцією (BS), але базова станція (BS) телефоном (MS) не автентифікована. Цей факт робить можливими атаки, коли третя сторона прикидається легальною BS для однієї або декількох MS. Одне з припущень при розробці GSM полягало в тому, що такого роду атаки будуть дуже дорогими у порівнянні з іншими типами атак. Однак вартість BS швидко впала і в даний час неважко знайти емулятори BS. Більш того, використання шифрування для поточного виклику відбувається не автоматично — сеанс зв'язку встановлюється незашифрованим і лише потім MS надсилається команда, шифрувати сеанс чи ні. Команда початку шифрування надсилається нешифрованою і ніяк не перевіряється всередині мережі GSM. Таким чином, використовуючи фейковую BS, можна створити ситуацію, коли сеанс зв'язку з MS фейкової BS не є шифрованим, і легко прослуховується; а зв'язок між фейкової BS (видає себе за легальну MS) і легальною BS може бути шифрованим. В такому випадку, відстежити такого роду атаку майже не можливо.
Дивись також
- A5 (алгоритм шифрування)
- GSM
- Шифр
- Безпека GSM
- Клонування SIM-карти
Посилання
- (англ.)
- Результати дослідницької групи ISAAC security research group [ 3 травня 2018 у Wayback Machine.](англ.)
- Marc Briceno, Ian Goldberg and David Wagner GSM cloning [ 22 квітня 2018 у Wayback Machine.](англ.)
- (англ.)
- H. Haverinen, J. Salowey Extensible Authentication Protocol Method for Global System for Mobile Communications (GSM) and Subscriber Identity Modules (EAP-SIM) [Архівовано 10 квітня 2012 у WebCite](англ.)
- 3GPP — Поточний рівень стандартизації GSM, вільні стандарти(англ.)
- (англ.)
- Handschuh, Pascal Paillier Reducing the Collision Probability of Alleged Comp128[недоступне посилання з листопадаа 2019] (англ.)
- S. Paulo Pagliusi A Contemporary Foreword on GSM Security [ 4 березня 2016 у Wayback Machine.] (англ.)
Примітки
- 3GPP (2009). 3rd Generation Partnership Project; Technical Specification Group Services and system Aspects; Security related network functions (Release 9). с. стр. 50. Архів оригіналу за 10 квітня 2012.
- H. Haverinen, J. Salowey (2006). Extensible Authentication Protocol Method for Global System for Mobile Communications (GSM) and Subscriber Identity Modules (EAP-SIM). с. стр. 65. Архів оригіналу за 10 квітня 2012.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
A3 algoritm yakij vikoristovuyetsya v procesi avtentifikaciyi v globalnomu cifrovomu standarti dlya mobilnogo stilnikovogo zv yazku GSM A3 ye takim chinom elementom sistemi zabezpechennya konfidencijnosti rozmovi v GSM poryad z algoritmami A5 i Zavdannya algoritmu generaciya vidklikannya SRES Signed Response na vipadkovij parol RAND Random oderzhuvanij stilnikovim telefonom MS Mobile Station vid centru komutaciyi MSC MSC Mobile Switching Centre v proceduri autentifikaciyi A3 realizuyetsya v SIM kartci abonenta Proces avtentifikaciyiSut avtentifikaciyi v GSM uniknuti klonuvannya mobilnogo telefonu koristuvacha Sekretnim klyuchem ye 128 bitnij klyuch Ki yakim volodiye yak abonent tak i Centr Avtentifikaciyi AuC Authentication Centre Ki zberigayetsya na SIM karti takozh yak i algoritm A3 Takozh u autentifikaciyi berut uchast Domashnij reyestr miscepolozhennya HLR Home Location Registry i Centr komutaciyi MSC Mobile Switching Centre Koli MS zapituye dostup do merezhi GSM napriklad pri vklyuchenni MSC povinen pereviriti spravzhnist MS Dlya cogo MSC vidpravlyaye v HLR unikalnij mizhnarodnij identifikator abonenta IMSI International Mobile Subscriber Identity i zapit na otrimannya naboru specialnih tripletiv Koli HLR otrimuye IMSI zapit na tripleti vin spochatku pereviryaye svoyu bazu danih shob upevnitisya sho MS z takim IMSI dijsno nalezhit merezhi Yaksho perevirka projshla uspishno to HLR vidpravlyaye IMSI i zapit vstanovlennya avtentichnosti v Ais AuC vikoristovuye IMSI shob znajti Ki vidpovidnij comu IMSI Takozh AuC generuye vipadkove 128 bitne chislo RAND Pislya cogo AuC obchislyuye 32 bitnij vidguk SRES SRES Signed Response za dopomogoyu algoritmu A3 SRES A3 RAND Ki Krim togo AUC obchislyuye 64 bitnij seansovij klyuch Kc za dopomogoyu algoritmu A8 Kc A8 RAND Ki Kc v podalshomu vikoristovuyetsya v algoritmi A5 dlya shifruvannya i rozshifruvannya danih RAND SRES i Kc yak raz utvoryuyut tripleti yaki MSC zaprosiv u HLR AuC generuye p yat takih tripletiv i posilaye yih v HLR potim HLR peresilaye cej nabir v MSC Generuyetsya same nabir tripletiv shob zmenshiti peredachu signaliv v GSM core network yaka vidbuvalasya b kozhen raz koli MS vidpravlyala b dostup do merezhi a MSC mav bi pereviriti spravzhnist MS Slid zaznachiti sho nabir tripletiv unikalnij dlya odnogo IMSI i ne mozhe buti vikoristanij dlya bud yakogo inshogo IMSI MSC zberigaye Kc i SRES i posilaye zapit RAND mobilnoyi stanciyi MS abonenta Otrimavshi zapit RAND MS obchislyuye vidpovid na zapit SRES za dopomogoyu algoritmu A3 i sekretnogo klyucha Ki SRES A3 RAND Ki i posilaye jogo v MSC Yaksho prijnyatij SRES zbigayetsya z SRES sho zberigayutsya v MSC to avtentifikaciya vvazhayetsya uspishno projdenoyu Pislya p yati sesij autentifikaciyi MSC zapituye v HLR novij nabir tripletiv RAND SRES Kc Opis algoritmuZagalni polozhennya Format vhidnih ta vihidnih danih dlya algoritmu A3 a takozh ves proces autentifikaciyi strogo viznacheni konsorciumom 3GPP Varto zaznachiti sho kozhen okremij operator vibiraye princip diyi algoritmu A3 Takim chinom A3 ne ye standartizovanim a viznachayetsya operatorom Odnak yaksho operator ne hoche vigaduvati svij algoritm A3 vin mozhe skoristatisya standartnoyu realizaciyeyu algoritmu Narazi prijnyatij takij format vhidnih ta vihidnih danih RAND Ki SRES algoritmu A3 dovzhina Ki 128 bit dovzhina RAND 128 bit dovzhina SRES 32 bita Chas vikonannya algoritmu A3 povinno buti menshe 500 milisekund Narazi vidomi taki standartni realizaciyi algoritmu A3 COMP128 COMP128 2 COMP128 3 MILENAGE COMP128 ye najpershoyu versiyeyu algoritmu A3 Spochatku algoritm COMP128 trimavsya v sekreti Rozrobniki pershoyi versiyi A3 pokladalisya na bezpeku za rahunok nevidomosti tobto algoritmi vazhche zlamati yaksho voni ne dostupni publichno Odnak COMP 128 buv skomprometovanij kriptoanalitikami Marc Briceno David Wagner i Ian Goldberg doslidnoyi grupi ISAAC security research group Pislya publikaciyi vrazlivostej COMP128 buli rozrobleni vipravleni versiyi COMP128 2 i COMP128 3 COMP128 U 1998 roci stavsya vitik opisu algoritmu COMP128 v Internet Hocha opis buv ne povnim za dopomogoyu zvorotnoyi rozrobki kod buv povnistyu vidnovlenij i teper vin Po suti COMP128 ye hesh funkciyeyu rozryadnosti 128 bit Rozryadnist argumentu 256 bit abo 32 bajta 128 bit Ki 128 bit RAND 32 starshih bita obchislenogo znachennya berutsya v yakosti SRES a 64 molodshih bita v yakosti sesijnogo klyucha Kc Nehaj X 0 32 32bajtnyj vhid algoritmu de X 0 15 Ki a X 16 31 RAND T0 0 511 T1 0 255 T2 0 127 T3 0 63 i T4 0 31 sekretni tablici pidstanovki bajt Algoritm skladayetsya z 8 raundiv u kozhnomu raundi 5 iteracij Kozhna iteraciya polyagaye v poshuku po vidpovidnij tablici T0 dlya pershoyi iteraciyi T1 dlya drugoyi tosho i pidstavivshi bajt V kinci kozhnogo raundu za vinyatkom ostannogo vidbuvayetsya perestanovka otrimanih 128 bit rezultatu i pislya perestanovki ci 128 bit vikoristovuyetsya v nastupnomu raundi Opis odnogo raundu na psevdokodi pidstanovki for i 0 to 4 do for j 0 to 2 i 1 do for k 0 to 2 4 i 1 do s k j 2 5 i t s 2 4 i x X s 2X t mod 2 9 i y 2X s X t mod 2 9 i X s Ti x X t Ti y osvita bit z bajt for j 0 to 31 do for k 0 to 7 do bit 4 j k the 8 k th bit of byte j perestanovka if i lt 8 then for j 0 to 15 do for k 0 to 7 do next bit 8 x j k x 17 mod 128 Bit k of X j 16 bit next bit Na kozhnij iteraciyi vihidnij bajt zalezhit vid dvoh vhidnih bajt Dva vhidnih bajta vikoristovuyutsya dlya viznachennya elementa v tablici pidstanovki Cej element onovit vihidnij bajt Tablicya pidstanovki dlya i yi iteraciyi mistit 2 9 i elementiv rozmirom 8 i bit Tobto tablicya chislo elementiv rozmir odnogo elementa T0 512 8 bit T1 256 7 bit T2 128 6 bit T3 64 5 bit T4 32 4 bita Po suti kozhen z 32 vihidnih bajt ostannoyi iteraciyi raundu maye lishe 4 znachushih bita Tomu v kinci iteraciyi vidbuvayetsya peretvorennya cih 32 bajt perestanovkoyu v 16 bajt vsi biti yakih znachushi Ci 16 bajt zapisuyutsya v X 16 31 i zapuskayetsya nastupnij raund algoritmu X 0 15 znachennya Ki niyak ne zminyuyetsya Taku strukturu algoritmu David Wagner nazvav butterfly structure sho oznachaye u formi metelika COMP128 2 i COMP128 3 Hocha zaraz yasno sho princip bezpeka za rahunok nevidomosti ne pracyuye versiyi COMP128 2 i COMP128 3 trimayutsya v sekreti Milenage Algoritmi avtentifikaciyi i generaciyi seansovogo klyucha Milenage buli rozrobleni konsorciumom 3GPP ob yednanimi zusillyami vhodyat v 3GPP organizacij Nemaye niyakih dodatkovih vimog abo dozvoliv neobhidnih dlya vikoristannya cih algoritmiv Priklad vikoristannya Milenage yak A3 pokazanij v dokumenti 3GPP TS 55 205 Specification of the GSM MILENAGE Algorithms An example algorithm set for the GSM Authentication and Key Generation functions A3 and A8 19 listopada 2018 u Wayback Machine Povna specifikaciya Milenage predstavlena na sajti konsorciumu 3GPP Milenage ye nevrazlivim do yakihos vidomih atak Mozhlivi atakiAtaki na COMP128 Ataka BGW 13 kvitnya 1998 roku Marc Briceno Ian Goldberg i David Wagner opublikuvali stattyu 22 kvitnya 2018 u Wayback Machine v yakij opisali sposib otrimannya sekretnogo klyucha Ki shlyahom nadislannya SIM karti blizko 150000 zapitiv Ataka vikoristovuye vuzke misce algoritmu Pislya drugoyi iteraciyi pershogo raundu bajti X i X i 8 X i 16 X i 24 zalezhat tilki vid vhidnih bajt z takimi zh indeksami Bajti X i ta X i 8 ye bajtami klyucha tobto X i Ki i ta X i 8 Ki i 8 dlya kozhnogo i vid 0 do 7 a bajti X i 16 ta X i 24 ye bajtami zapitu RAND vid bazovoyi stanciyi t e X i 16 RAND i 16 ta X i 24 RAND i 24 dlya kozhnogo i vid 0 do 7 Teper mi zminyuyemo bajti i 16 i 24 vhodu algoritmu COMP128 tobto bajti i i 8 zapitu RAND zalishayuchi reshtu vhidni bajti postijnimi Oskilki odna iteraciya ne ye vzayemno odnoznachnoyi mozhna ochikuvati koliziyu bajtah vihodu z nomerami i i 8 i 16 i 24 pislya drugoyi iteraciyi Paradoks dniv narodzhen garantuye sho koliziya vidbudetsya dosit shvidko tak yak vuzke misce obmezhene 4 bajtami Koliziyi u vuzkomu misci mozhe buti viyavleni bo voni viklichut koliziyu vihodiv algoritmu COMP128 tobto mi otrimayemo dva odnakovih vidklikannya SRES prichomu kozhna koliziya mozhe buti vikoristana dlya otrimannya dvoh bajt klyucha i i 8 z urahuvannyam nevelikoyi obrobki pershih dvoh iteracij tobto zastosovuyuchi 2R ataku v terminah diferencialnogo kriptoanalizu Na ce bude potribno 24 7 2 0 5 214 5 displaystyle 2 4 7 2 0 5 2 14 5 pevnih vhidnih zapitiv COMP128 dlya znahodzhennya dvoh bajtiv klyucha tak yak kozhen z chotiroh bajt vihodu pislya drugoyi iteraciyi po suti maye 7 znachushih bit Teper provodimo 2R ataku dlya kozhnoyi pari bajt klyucha dlya kozhnogo i vid 0 do 7 Takim chinom dlya otrimannya vsogo 128 bitnogo klyucha Ki potribno 8 214 5 217 5 displaystyle 8 2 14 5 2 17 5 zapitiv Varto zaznachiti sho dlya provedennya ataki potribno fizichnij dostup do SIM karti kardrider i komp yuter Dlya provedennya ataki potribno poslati blizko 150000 zapitiv do SIM karti Kardrider yakij buv vikoristanij grupoyu vchenih z ISAAC vikonuvav 6 25 zapitiv v sekundu a vsya ataka zajnyala takim chinom 8 godin Dlya analizu vidpovidej vid SIM karti potribno znachno menshe chasu nizh dlya vidpravki zapitiv Ataka BGW over the air Marc Briceno Ian Goldberg i David Wagner takozh upevneni v tomu sho ataku BGW mozhna provesti distancijno ne mayuchi fizichnogo dostupu do SIM karti Na zhal voni ne stali provoditi eksperiment tak yak ce bulo b porushennyam zakoniv SShA Odnak eksperti v oblasti GSM do yakih zvernulisya doslidniki z ISAAC pidtverdili mozhlivist praktichnoyi realizaciyi ataki Vlastivosti protokoliv GSM dozvolyayut vikonuvati ataku BGW yaksho vdastsya stvoriti fejkovuyu bazovu stanciyu BS Fejkovoyi BS ne potribno pidtrimuvati ves protokol GSM a lishe chastinu jogo funkcij Ataka BGW over the air zasnovana na tomu sho mobilnoyi stanciyi MS potribno vidpovisti na kozhen zapit zroblenij merezheyu GSM Yaksho signal vid fejkovoyi BS perekriye signal vid legalnoyi BS atakuyuchij zmozhe posilati zapiti cilovoyi MS i vidtvoriti Ki z vidpovidej otrimanih vid MS Varto vidznachiti sho MS povinna buti dostupna atakuyuchomu na ves chas protyagom yakogo bude provoditisya ataka Nevidomo yak bagato chasu zajmaye ataka BGW over the air Za ocinkami vid vosmi do trinadcyati godin Ataku mozhna provesti v metro koli signal legalnoyi BS ne dostupnij a telefon uvimkneno Koristuvach navit ne bude znati pro pohodit ataci lishe fakt togo sho batareya telefonu rozryadzhayetsya shvidshe nizh zazvichaj mozhe jogo nastorozhiti Ataka mozhe buti provedena po chastinah zamist vosmigodinnij ataki zlovmisnik mozhe posilati zapiti protyagom menshih periodiv chasu kozhen den napriklad koli koristuvach jde na robotu Marc Briceno Ian Goldberg i David Wagner pidkreslyuyut toj fakt sho nezvazhayuchi na skladnist i vitratnist takogo vidu atak ne slid ignoruvati mozhlivist yih realizaciyi Rozpodilena ataka Partitioning Attack U travni 2002 grupa doslidnikiv z IBM Watson Research Center spilno z doslidnikami z Swiss Federal Institute of Technology Zurich opublikuvali Vona zasnovana na prostomu analizi spozhivanogo strumu Simple Power Analysis SPA i dozvolyaye otrimati klyuch za kilka hvilin Ataka vikoristovuye malu produktivnist procesora SIM karti Tak persha pidstanovka z dopomogoyu tablici T0 vibiraye odne z 512 znachen dlya viboru odnogo znachennya potribno 9 bit Odnak procesor SIM mozhe zvernutisya tilki po 8 bitnomu adresoyu Dlya cogo tablicya povinna buti rozbita na dvi chastini Doslidniki IBM Watson Research Center pripustili sho tablicya rozbita na dvi rivni chastini Analizuyuchi energospozhivannya SIM karti pri riznih zapitah a takozh elektromagnitne viprominyuvannya doslidniki viznachali do yakoyi chastini tablici T0 buv adresovanij zapit Analizuyuchi adresaciyu i energospozhivannya zapitiv pri zmini pershogo bajta RAND 0 yim vdalosya znajti K 0 Provodyachi podibnij analiz dlya inshih bajt RAND klyuch Ki vidnovlyuyetsya povnistyu U pidsumku ataka mozhe buti provedena shlyahom posilki 1000 vipadkovih abo 255 viznachenih zapitiv Zreshtoyu ataku zveli do 8 samoprisposablivayushihsya zapitiv sho dozvolyaye otrimati Ki za 2 sekundi Prote ataka mozhliva lishe pri fizichnomu dostupi do SIM karti Otrimannya Ki z AuC Tochno taka zh ataka z metoyu otrimannya Ki z SIM mozhe buti provedena po vidnoshennyu do AuC AuC povinen vidpovidati na vsi zapiti merezhi GSM i vidavati tripleti vikoristovuvani dlya autentifikaciyi MS Po suti procedura analogichna ataci BGW na SIM Vidminnist lishe v tomu sho AuC nabagato shvidshe SIM obroblyaye zapiti tomu sho jomu potribno obroblyati v razi bilshu kilkist zapitiv Bezpeka AuC vidigraye veliku rol nezalezhno vid togo chi mozhlivij cej tip atak Fejkovaya bazova stanciya Vazhlivo vidmititi sho autentifikaciya v GSM odnostoronnya telefon MS avtentifikovanij bazovoyu stanciyeyu BS ale bazova stanciya BS telefonom MS ne avtentifikovana Cej fakt robit mozhlivimi ataki koli tretya storona prikidayetsya legalnoyu BS dlya odniyeyi abo dekilkoh MS Odne z pripushen pri rozrobci GSM polyagalo v tomu sho takogo rodu ataki budut duzhe dorogimi u porivnyanni z inshimi tipami atak Odnak vartist BS shvidko vpala i v danij chas nevazhko znajti emulyatori BS Bilsh togo vikoristannya shifruvannya dlya potochnogo vikliku vidbuvayetsya ne avtomatichno seans zv yazku vstanovlyuyetsya nezashifrovanim i lishe potim MS nadsilayetsya komanda shifruvati seans chi ni Komanda pochatku shifruvannya nadsilayetsya neshifrovanoyu i niyak ne pereviryayetsya vseredini merezhi GSM Takim chinom vikoristovuyuchi fejkovuyu BS mozhna stvoriti situaciyu koli seans zv yazku z MS fejkovoyi BS ne ye shifrovanim i legko prosluhovuyetsya a zv yazok mizh fejkovoyi BS vidaye sebe za legalnu MS i legalnoyu BS mozhe buti shifrovanim V takomu vipadku vidstezhiti takogo rodu ataku majzhe ne mozhlivo Divis takozhA5 algoritm shifruvannya GSM Shifr Bezpeka GSM Klonuvannya SIM kartiPosilannya angl Rezultati doslidnickoyi grupi ISAAC security research group 3 travnya 2018 u Wayback Machine angl Marc Briceno Ian Goldberg and David Wagner GSM cloning 22 kvitnya 2018 u Wayback Machine angl angl H Haverinen J Salowey Extensible Authentication Protocol Method for Global System for Mobile Communications GSM and Subscriber Identity Modules EAP SIM Arhivovano 10 kvitnya 2012 u WebCite angl 3GPP Potochnij riven standartizaciyi GSM vilni standarti angl angl Handschuh Pascal Paillier Reducing the Collision Probability of Alleged Comp128 nedostupne posilannya z listopadaa 2019 angl S Paulo Pagliusi A Contemporary Foreword on GSM Security 4 bereznya 2016 u Wayback Machine angl Primitki3GPP 2009 3rd Generation Partnership Project Technical Specification Group Services and system Aspects Security related network functions Release 9 s str 50 Arhiv originalu za 10 kvitnya 2012 H Haverinen J Salowey 2006 Extensible Authentication Protocol Method for Global System for Mobile Communications GSM and Subscriber Identity Modules EAP SIM s str 65 Arhiv originalu za 10 kvitnya 2012