Ciphering Key Generating Algorithm A8
A8 je šifrovací algoritmus pro generování klíčů používaný v GSM a raných systémech 3GPP k vytvoření šifrovacího klíče (Kc) z autentizačního klíče účastníka (Ki) a náhodné výzvy (RAND).
Popis
Algoritmus A8 je kryptografická funkce specifikovaná v 3GPP TS 21.905 a starších specifikacích GSM, která funguje jako součást sady algoritmů COMP128. Algoritmus přijímá dva hlavní vstupy: tajný autentizační klíč účastníka (Ki), který je bezpečně uložen jak v modulu SIM (Subscriber Identity Module), tak v autentizačním centru (AuC) v síti, a 128bitové náhodné číslo (RAND) generované sítí. Prostřednictvím série kompresních a transformačních operací A8 vytvoří 64bitový šifrovací klíč (Kc), který se používá k šifrování komunikace mezi mobilní stanicí a základnovou stanicí přes rozhraní vzduchem.
Vnitřní struktura algoritmu je založena na implementaci COMP128-1, která využívá kombinaci vyhledávání v tabulkách, permutací bitů a míchacích funkcí. Když síť zahájí autentizaci, odešle RAND mobilní stanici. SIM karta (pomocí svého uloženého Ki) i AuC nezávisle vypočítají Kc pomocí stejného algoritmu A8 se stejnými vstupy. Toto symetrické generování klíče zajišťuje, že oba konce komunikace sdílejí stejný šifrovací klíč, aniž by byl samotný klíč přenášen vzduchem, čímž se zachovává jeho důvěrnost.
V síťové architektuře se A8 nachází v AuC v rámci subsystému HLR (Home Location Register) a v SIM kartě uvnitř uživatelského zařízení (UE). Algoritmus se provádí během autentizační procedury spouštěné aktualizací polohy, zřízením hovoru nebo periodickými obnovami zabezpečení. Jakmile je Kc vygenerován, je přenesen do VLR (Visitor Location Register) nebo SGSN (Serving GPRS Support Node) a následně do BSC (Base Station Controller) pro použití v proudovém šifrovacím algoritmu A5, který provádí skutečné šifrování hlasového a datového provozu.
Bezpečnost A8 závisí na utajení Ki a náhodnosti RAND. Algoritmus byl navržen tak, aby byl výpočetně efektivní pro implementaci v prostředí SIM karet s omezenými prostředky, a zároveň poskytoval dostatečnou ochranu proti tehdejším kryptografickým útokům. Nicméně zranitelnosti objevené v COMP128-1 ovlivnily sílu klíčů generovaných A8, což vedlo k vývoji silnějších variant COMP128-2 a COMP128-3 a nakonec k přechodu na robustnější bezpečnostní mechanismy 3G a 4G.
Role A8 přesahuje pouhé generování klíče; vytváří vztah důvěry mezi účastníkem a sítí tím, že zajišťuje, že pouze legitimní uživatelé s platným Ki mohou odvodit správný Kc. Tím se předchází neoprávněnému přístupu a chrání se před útoky typu impersonation. Algoritmus spolupracuje s A3 při autentizaci a vytváří tak integrované bezpečnostní řešení, kde k autentizaci a generování klíče dochází v jediném výpočetním kroku, což optimalizovalo výkon v raných digitálních celulárních systémech.
K čemu slouží
Algoritmus A8 byl vytvořen, aby řešil kritickou potřebu šifrování přes rozhraní vzduchem v sítích GSM, prvního široce nasazeného digitálního celulárního systému. Před GSM analogové celulární systémy, jako byl AMPS, nenabízely žádnou kryptografickou ochranu, což činilo odposlech konverzací pomocí základních rádiových skenerů triviálním. Návrháři GSM rozpoznali, že digitální technologie umožňuje šifrování, ale vyžaduje praktický systém správy klíčů, který by mohl fungovat v rámci omezení technologie SIM karet a síťové infrastruktury počátku 90. let.
Primární problém, který A8 řešil, bylo zabezpečené rozdělování klíčů pro šifrování rozhraní vzduchem bez nutnosti předem sdílených sezení klíčů nebo složitých protokolů pro výměnu klíčů. Kombinací autentizace (pomocí A3) a generování klíče (pomocí A8) v jediném provedení algoritmu dosáhlo GSM efektivního navázání zabezpečení během počáteční procedury připojení k síti. Tento přístup minimalizoval signalizační režii a zároveň poskytoval to, co bylo v prvních letech nasazení systému považováno za dostatečnou ochranu před běžným odposlechem a základními útoky.
Historický kontext ukazuje, že A8/COMP128-1 byl navržen v době, kdy byly vývozní kontroly kryptografie přísné a výpočetní prostředky v SIM kartách byly extrémně omezené. Algoritmus vyvažoval tato omezení s potřebou přiměřené bezpečnosti. Nicméně s rostoucím výpočetním výkonem a pokrokem v kryptografické analýze se projevily slabiny COMP128-1, což motivovalo vývoj vylepšených verzí a nakonec zcela nové bezpečnostní architektury v 3G UMTS se sadou algoritmů Milenage. A8 představuje důležitý evoluční krok v mobilní bezpečnosti, demonstrující přechod od nešifrované k šifrované celulární komunikaci.
Klíčové vlastnosti
- Generuje 64bitový šifrovací klíč (Kc) ze 128bitového účastnického klíče (Ki) a 128bitové náhodné výzvy (RAND)
- Integrován s autentizací A3 v algoritmu COMP128 pro kombinovanou autentizaci a generování klíče
- Symetrické generování klíče zajišťující identický výpočet Kc v SIM a síťovém autentizačním centru (AuC)
- Optimalizován pro implementaci v omezeném hardwaru SIM karet s limitovanými výpočetními prostředky
- Umožňuje šifrování proudovou šifrou A5 pro ochranu hlasu a dat přes rozhraní vzduchem
- Podporuje periodickou obnovu klíče prostřednictvím procedur reautentizace během událostí mobility
Definující specifikace
- TR 21.905 (Rel-19) — 3GPP Technical Terms and Definitions
📖 Anglický originál a plná specifikace: A8 na 3GPP Explorer