Az A8 egy titkosítási kulcsgeneráló algoritmus , amelyet a későbbiekben a rádiócsatornán továbbított információk titkosságának biztosítására használnak a GSM mobil cellás szabványban . Az A8 az A5 és az A3 mellett a GSM hívásvédelmi algoritmusok egyike . Feladata egy Kc munkamenetkulcs generálása a mobiltelefon (MS - Mobile Station) és egy bázisállomás (BTS - Basic Transmitter Station) közötti kommunikációs csatornában a hitelesítés utáni információ titkosítására . Biztonsági okokból a Kc képződése a SIM-kártyán történik .
A "biztonság" alatt a GSM - ben a rendszer jogosulatlan használatának lehetetlenségét és az előfizetői beszélgetések titkosságát értjük. Ez a cikk néhány biztonsági mechanizmust tárgyal:
Hitelesítési mechanizmusokat vezetnek be a kommunikációs rendszer erőforrásainak jogosulatlan használatának kizárására. Minden mobil-előfizető rendelkezik egy szabványos előfizetői azonosító modullal ( SIM-kártya ), amely a következőket tartalmazza:
A Ki felhasználói hitelesítési kulcs egyedi és egyértelműen az IMSI-hez kapcsolódik, a távközlési szolgáltató "meg tudja" határozni a Ki -t az IMSI-érték alapján , és kiszámítja a várt eredményt. A SIM-kártyát a jogosulatlan használat ellen egy egyedi azonosító szám ( PIN kód - Személyi azonosítószám) megadásával védjük, amely a kártyával együtt a felhasználóhoz kerül.
Fontolja meg az előfizetői hitelesítési eljárást. A hálózat létrehoz egy lehetőséget - egy véletlen számot (RAND), és továbbítja azt egy mobileszközre. A SIM-kártyán a válaszérték (SRES - Signed Response) és a munkamenet kulcsa RAND, Ki és A3, A8 algoritmusok segítségével kerül kiszámításra. A mobileszköz kiszámítja az SRES-t, és elküldi a hálózatnak, amely összeveti azzal, amit saját maga számított ki. Ha mindkét érték egyezik, akkor a hitelesítés sikeres, és a mobileszköz parancsot kap a hálózattól, hogy lépjen be a titkosított üzemmódba. A titkosság miatt minden számítás a SIM-kártyán belül történik. A titkos információk (például Ki ) nem a SIM-kártyán kívülről származnak. A Kc kulcs szintén nem kerül továbbításra a levegőben. A mobil állomás (MS) és a bázisállomás (BS) külön számítja ki ezeket egymástól.
Az A8 algoritmus bemeneti és kimeneti adatformátumát szigorúan a 3GPP konzorcium határozza meg . De az A8 nem szabványosított, hanem az operátor határozza meg. Az A3 és A8 algoritmusok egyetlen számításként valósulnak meg, melynek kimenetét (96 bit) a következőképpen kezeljük: 32 bit az SRES és 64 bit a Kc képzésére . [1] Az A8 algoritmus által előállított Kc kulcs jelentős részének hossza 64 bitnél is rövidebb lehet. Ezután a szignifikáns biteket nullákkal töltik fel az algoritmus specifikációjában megadott 64-ig. Jelenleg az A3/A8 algoritmus következő szabványos implementációi ismertek:
Bár a COMP128-nak vannak alternatívái, a GSM-hálózatok túlnyomó többsége továbbra is ezt a protokollt támogatja [1] . Az SDA (Smarcard Developer Association) szerint a legtöbb távközlési szolgáltató nem ellenőrzi az "azonos" előfizetők egyidejű felvételét, annyira biztosak abban, hogy a Sim-kártyákat nem lehet klónozni.
A COMP128 egy kulcsfontosságú hash függvény , amely egy menetben generálja az SRES-t és a Kc -t . Az A3, A5, A8-at az Egyesült Királyságban fejlesztették ki, és azoknak a mobiltelefon-gyártóknak, akik ezt a titkosítási technológiát termékeikbe kívánják alkalmazni, bele kell egyezniük a titkok felfedésének tilalmába, és speciális engedélyeket kell beszerezniük a brit kormánytól. A mobiltelefon-gyártók és a brit kormány között a GSM titkosítási technológia exportjával kapcsolatos nézeteltéréseket 1993-ban rendezték. 1998-ban azonban néhány leíró dokumentum megjelent az interneten. A hiányos leírás ellenére kiderült, hogy mely kriptográfiai módszereket alkalmazzák a GSM-ben. David Wagner és Ian Goldberg egy nap alatt feltörte a COMP128 algoritmust, mert a kulcsa túl rövid volt. A COMP128 kriptográfiai algoritmus továbbra is használatban van, de továbbfejlesztett formában, a COMP 128-2 néven. Az A3 és A8 kriptográfiai algoritmusokat a hálózatüzemeltetők számára határozták meg, bár néhány paraméter szabványosított a hálózatok közötti együttműködés biztosítása érdekében.
Az algoritmus bemenete a bázisállomástól kapott 128 bites (16 bájt ) RAND és a SIM-kártyán lévő 128 bites Ki firmware. A kimenet egy 96 bites (12 bájt) sorozat. A [2] szabvány specifikációja kimondja, hogy az első 4 bájt az SRES, amelyet a mobileszköz hitelesítésre küld, az 5-től 12-ig terjedő bájt pedig a Kc munkamenet kulcsa . Vegye figyelembe, hogy a kulcsbitek 42 és 95 között vannak, amit 10 nulla követ. Vagyis egy 64 bites Kc kulcs entrópiája nem haladja meg az 54 bitet. Ez az A5 -ös titkosítás kriptográfiai erősségének jelentős , több mint 1000-szeres gyengülését jelenti .
Az egyik ok, amiért a GSM fejlesztői titokban tartották az algoritmusokat, valószínűleg az irányítószolgálatokkal való együttműködésük.
„Az egyetlen fél, akinek érdeke a védelem gyengítése, az a nemzeti felügyeleti szolgálatok,
- mondta az SDA (Smartcard Developer Association [3] ) igazgatója, Mark Briseno.
a vásárlóknak szükségük van a tárgyalások titkosságára, és az üzemeltetőknek nem merülnek fel többletköltségei a teljes méretű kulcs használatából.
.
A 3GPP architektúrában (mint a GSM-ben) nem kell minden operátornak ugyanazt a hitelesítési és kulcsgeneráló algoritmust használnia. Természetesen vannak ajánlások, és példaként egy algoritmust adunk meg. A gyakorlat azonban azt mutatja, hogy ő az, akit széles körben használnak. A 3GPP-ben a MILENAGE ilyen példa lett. A MILENAGE a Rijndael titkosításon alapul ( a legjobb amerikai titkosítási szabványért folyó AES verseny győztese , amely felváltotta a DES -t ). Ami az A5-ös tárgyalások titkosítását és az üzenetek integritásának biztosítását illeti, annak minden szolgáltatónál egyformának kell lennie, hogy roaming szolgáltatást tudjanak nyújtani . Ez az algoritmus a 3GPP-ben a KASUMI blokk titkosításán alapul .
Szimmetrikus titkosítási rendszerek | |
---|---|
Rejtjelfolyam adatfolyam | |
Feistel hálózat | |
SP hálózat | |
Egyéb |