Authentication and Key Agreement Algorithm 38
A38 je autentizační a dohodovací algoritmus pro klíče v sítích 2G/GSM, který provádí autentizaci a generuje šifrovací klíč pro šifrování rádiové komunikace.
Popis
A38 je kryptografický algoritmus specifikovaný ve standardech 3GPP, primárně pro sítě GSM (2G), který slučuje funkce samostatných algoritmů A3 a A8 do jediného výpočetního procesu. Funguje v Autentizačním centru (AuC) sítě a na modulu SIM (Subscriber Identity Module) v zařízení uživatele. Algoritmus přijímá tři vstupy: 128bitový autentizační klíč účastníka (Ki), který je bezpečně uložen jak v AuC, tak na SIM kartě; 128bitový náhodný výzvu (RAND), generovaný sítí; a 128bitový identifikátor algoritmu (ALGID), který je nastaven na pevnou hodnotu pro výběr A38. Pomocí těchto vstupů A38 vytváří dva výstupy: 32bitovou podepsanou odpověď (SRES) pro autentizaci a 64bitový šifrovací klíč (Kc) pro šifrování.
Z architektonického hlediska je A38 implementován jako proprietární algoritmus, což znamená, že jeho vnitřní návrh není veřejně standardizován 3GPP – vyvíjí se individuálně operátory sítí nebo dodavateli za účelem zajištění bezpečnosti prostřednictvím utajení, ačkoli tento přístup byl kritizován. Role algoritmu je klíčová během procedury autentizace a dohody o klíči (AKA). Když se mobilní zařízení pokusí připojit, AuC vygeneruje RAND a vypočítá očekávané SRES a Kc pomocí A38 s uloženým Ki. RAND je odeslán do mobilního zařízení, které použije svou SIM kartu k výpočtu vlastního SRES a Kc prostřednictvím stejného algoritmu A38. Mobilní zařízení vrátí SRES síti k ověření; pokud se shoduje s SRES vypočítaným v AuC, autentizace uspěje a odvozený Kc je použit k šifrování hlasového a datového provozu přes rozhraní vzduchu.
Klíčové komponenty spojené s A38 zahrnují Ki, který musí zůstat tajný a nikdy se nepřenáší, což zajišťuje dlouhodobou bezpečnost; RAND, který poskytuje náhodnost k zabránění replay útokům; a SRES a Kc, které jsou efemérními výstupy pro zabezpečení relace. Integrace funkcí A3 a A8 v A38 snižuje složitost a režii zpracování ve srovnání s použitím samostatných algoritmů, protože jak autentizace, tak generování klíče jsou vypočteny v jednom kroku. A38 je však omezen na sítě 2G a má známé zranitelnosti, jako je slabé šifrování kvůli 64bitovému Kc a absence vzájemné autentizace (síť autentizuje uživatele, ale ne naopak), což vedlo k jeho zavržení ve prospěch robustnějších algoritmů, jako je MILENAGE v sítích 3G a novějších.
V síti A38 funguje v AuC jádra sítě, rozhraní s HLR (Home Location Register) poskytuje autentizační vektory k MSC (Mobile Switching Centre) nebo SGSN (Serving GPRS Support Node). Jeho role je kritická pro počáteční přístup k síti, předávání hovorů (handover) a periodickou reautentizaci, což zajišťuje, že pouze autorizovaní účastníci mohou síť používat a že jejich komunikace je chráněna před odposlechem. Přes svůj historický význam je A38 v moderních systémech 3GPP považován za zastaralý kvůli bezpečnostním slabinám, ale zůstává základním konceptem pro pochopení vývoje bezpečnostních protokolů v mobilních sítích.
K čemu slouží
A38 byl vytvořen, aby řešil potřebu efektivního a integrovaného bezpečnostního mechanismu v sítích GSM, které byly prvními široce nasazenými digitálními mobilními systémy. Před GSM měly analogové systémy, jako AMPS, minimální zabezpečení, což je činilo zranitelnými vůči klonování a odposlechu. Samostatné algoritmy A3 a A8 v raných specifikacích GSM vyžadovaly odlišné výpočty pro autentizaci a generování klíče, což mohlo zvyšovat latenci a složitost. A38 sloučil tyto funkce do jediného algoritmu, aby zjednodušil proces autentizace a dohody o klíči, snížil čas zpracování a zjednodušil implementaci v SIM kartách a síťových prvcích.
Motivace pro A38 vycházela z rostoucí poptávky po zabezpečené mobilní komunikaci v 90. letech, kdy se GSM globálně rozšiřovalo. Řešil problém poskytování základní kryptografické ochrany – autentizace k zabránění neoprávněnému přístupu a šifrování k zabezpečení hlasu a dat – při zachování kompatibility s omezenými výpočetními zdroji raných mobilních zařízení a SIM karet. Integrací A3 a A8 umožnil A38 rychlejší autentizační procedury, což bylo klíčové pro plynulé předávání hovorů a efektivitu sítě. Jeho proprietární povaha však znamenala, že bezpečnost závisela na utajení, což byl návrhový přístup, který se později ukázal jako nedostatečný vůči pokročilým metodám útoku.
Historicky A38 řešil omezení spočívající v oddělených bezpečnostních funkcích, ale sám měl nedostatky, jako použití krátkého 64bitového šifrovacího klíče a absence vzájemné autentizace. Tato omezení se stala zřejmá s nástupem sofistikovanějších hrozeb, což vedlo 3GPP k vývoji silnějších, standardizovaných algoritmů, jako je MILENAGE pro UMTS (3G), které nabízely delší klíče, vzájemnou autentizaci a vylepšenou kryptografickou odolnost. Vytvoření A38 bylo odrazovým můstkem ve vývoji mobilní bezpečnosti, který ilustroval kompromisy mezi efektivitou a bezpečností v raných celulárních sítích.
Klíčové vlastnosti
- Slučuje autentizaci (A3) a generování klíče (A8) do jediného algoritmického procesu
- Jako vstupy používá 128bitový autentizační klíč účastníka (Ki) a 128bitovou náhodnou výzvu (RAND)
- Generuje 32bitovou podepsanou odpověď (SRES) pro autentizaci uživatele a 64bitový šifrovací klíč (Kc) pro šifrování
- Implementován jako proprietární algoritmus, umožňující operátorské přizpůsobení pro zabezpečení
- Funguje v Autentizačním centru (AuC) a na modulu SIM (Subscriber Identity Module) pro distribuovanou bezpečnost
- Podporuje základní bezpečnostní funkce GSM, jako je počáteční přístup, předávání hovorů (handover) a reautentizace
Definující specifikace
- TR 21.905 (Rel-19) — 3GPP Technical Terms and Definitions
📖 Anglický originál a plná specifikace: A38 na 3GPP Explorer