A8 er en krypteringsnøglegenereringsalgoritme , som efterfølgende bruges til at sikre fortroligheden af information transmitteret over en radiokanal i GSM - mobilcellestandarden . A8 er en af GSM -opkalds privatlivsalgoritmerne sammen med A5 og A3 . Dens opgave er at generere en sessionsnøgle Kc til streaming af kryptering af information i kommunikationskanalen mellem en mobiltelefon (MS - Mobile Station) og en basestation (BTS - Basic Transmitter Station) efter autentificering. Af sikkerhedsmæssige årsager foregår dannelsen af Kc i Sim-kortet .
Med "sikkerhed" i GSM mener vi umuligheden af uautoriseret brug af systemet og hemmeligholdelsen af abonnenternes samtaler. Denne artikel diskuterer nogle af sikkerhedsmekanismerne:
Autentificeringsmekanismer er indført for at udelukke uautoriseret brug af kommunikationssystemressourcer. Hver mobilabonnent har et standard abonnentidentitetsmodul ( SIM-kort ), som indeholder:
Brugergodkendelsesnøglen Ki er unik og utvetydigt forbundet med IMSI, teleoperatøren "kan" bestemme Ki ved IMSI-værdien og beregner det forventede resultat. SIM-kortet er beskyttet mod uautoriseret brug ved at indtaste et individuelt identifikationsnummer ( PIN-kode - Personal Identification Number), som tildeles brugeren sammen med selve kortet.
Overvej abonnentgodkendelsesproceduren. Netværket genererer en mulighed - et tilfældigt tal (RAND) og sender det til en mobilenhed. I SIM-kortet beregnes svarværdien (SRES - Signed Response) og sessionsnøglen ved hjælp af RAND, Ki og algoritmerne A3, A8. Den mobile enhed beregner SRES og sender den til netværket, som kontrollerer den i forhold til, hvad den selv har beregnet. Hvis begge værdier matcher, er godkendelsen vellykket, og den mobile enhed modtager en kommando fra netværket om at gå ind i den krypterede driftstilstand. På grund af hemmeligholdelsen foregår alle beregninger inde i SIM-kortet. Hemmelig information (såsom Ki ) kommer ikke uden for SIM-kortet. Nøglen Kc transmitteres heller ikke over luften. Mobilstationen (MS) og basestationen (BS) beregner dem adskilt fra hinanden.
Input- og outputdataformatet for A8-algoritmen er strengt defineret af 3GPP -konsortiet . Men A8 er ikke standardiseret, men er defineret af operatøren. Algoritmerne A3 og A8 er implementeret som en enkelt beregning, hvis output (96 bit) behandles som følger: 32 bit til dannelse af SRES og 64 bit til dannelse af Kc . [1] Længden af den signifikante del af nøglen Kc produceret af A8-algoritmen kan være mindre end 64 bit. Derefter polstres de signifikante bits med nuller op til antallet af 64 specificeret i algoritmespecifikationen. Følgende standardimplementeringer af A3/A8-algoritmen er i øjeblikket kendt:
Selvom der er alternativer til COMP128, understøttes denne protokol stadig af langt de fleste GSM-netværk [1] . Ifølge SDA (Smarcard Developer Association) tjekker de fleste teleoperatører ikke for samtidig medtagelse af "identiske" abonnenter, de er så sikre på, at Sim-kort ikke kan klones.
COMP128 er en nøglehash- funktion , der genererer SRES og Kc i én omgang . A3, A5, A8 er udviklet i Storbritannien, og mobiltelefonproducenter, der ønsker at implementere denne krypteringsteknologi i deres produkter, skal acceptere, at hemmeligheder ikke afsløres og indhente særlige licenser fra den britiske regering. Uenigheder mellem mobiltelefonproducenter og den britiske regering om eksport af GSM-krypteringsteknologi blev afgjort i 1993. Men i 1998 blev nogle beskrivende dokumenter offentliggjort på internettet. På trods af den ufuldstændige beskrivelse blev det fastslået, hvilke kryptografiske metoder der anvendes i GSM. David Wagner og Ian Goldberg knækkede COMP128-algoritmen på bare en dag, fordi dens nøgle var for kort. COMP128 kryptografiske algoritme er stadig i brug, men i en forbedret form kaldet COMP 128-2. Kryptografiske algoritmer A3 og A8 er specificeret for netværksoperatører, selvom nogle parametre er standardiserede for at sikre interoperabilitet mellem netværk.
Indgangen til algoritmen er 128-bit (16 bytes ) RAND, modtaget fra basestationen og 128-bit Ki , firmware i SIM-kortet. Outputtet er en 96-bit (12 bytes) sekvens. Specifikationen af standarden [2] angiver, at de første 4 bytes er SRES, som den mobile enhed sender til godkendelse, og bytes 5 til 12 er sessionsnøglen Kc . Bemærk, at nøglebittene er 42 til 95 efterfulgt af 10 nuller. Det vil sige, at entropien af en 64-bit nøgle Kc ikke overstiger 54 bit. Dette repræsenterer en væsentlig svækkelse af den kryptografiske styrke af A5 -chifferet med mere end 1000 gange.
En af grundene til, at udviklerne af GSM holdt algoritmerne hemmelige, er sandsynligvis deres samarbejde med kontroltjenesterne.
"Den eneste part, der har en interesse i at svække beskyttelsen, er de nationale tilsynstjenester,
- sagde direktøren for SDA (Smartcard Developer Association [3] ) Mark Briseno, -
købere har brug for privatlivets fred ved forhandlinger, og operatører pådrager sig ikke yderligere omkostninger ved at bruge en nøgle i fuld størrelse."
.
I 3GPP-arkitekturen (som i GSM) er alle operatører ikke forpligtet til at bruge de samme godkendelses- og nøglegenereringsalgoritmer. Selvfølgelig er der anbefalinger, og en algoritme er givet som eksempel. Men som praksis viser, er det ham, der bliver meget brugt. I 3GPP er MILENAGE blevet sådan et eksempel. MILENAGE er baseret på Rijndael -chifferet (vinderen af AES -konkurrencen om den bedste amerikanske kryptostandard, som erstattede DES ). Hvad angår A5-kryptering af forhandlinger og sikring af meddelelsers integritet, skal det bestemt være det samme for alle operatører, så de kan levere roamingtjenester . Denne algoritme i 3GPP er baseret på KASUMI -blokchifferet .
Symmetriske kryptosystemer | |
---|---|
Stream-cifre | |
Feistel netværk | |
SP netværk | |
Andet |