Imiteret indsats

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 27. juli 2022; verifikation kræver 1 redigering .

Imitationsindsættelse (MAC, engelsk  meddelelsesgodkendelseskode  - meddelelsesgodkendelseskode) - et middel til at give efterligningsbeskyttelse i meddelelsesgodkendelsesprotokoller med deltagere, der stoler på hinanden - et særligt sæt tegn , der føjes til meddelelsen og er designet til at sikre dens integritet og datakildegodkendelse.

Efterligning bruges normalt til at sikre integriteten og beskyttelsen mod forfalskning af overførte oplysninger.

For at kontrollere integriteten (men ikke ægtheden) af meddelelsen på afsendersiden, tilføjes værdien af ​​hash-funktionen fra denne meddelelse til meddelelsen, og hashen fra den modtagne meddelelse genereres også på den modtagende side. Den genererede hash og den modtagne hash sammenlignes. I tilfælde af ligestilling anses det for, at den modtagne meddelelse er nået frem uden ændringer [1] .

For at beskytte mod forfalskning (efterligning) af en meddelelse, anvendes en efterligningsindsættelse, udviklet ved hjælp af et hemmeligt element (nøgle), som kun er kendt af afsender og modtager.

Oversigt

En nem måde at konvertere en envejs-hash-funktion til imitationsindsættelse (MAC) er at kryptere hashværdien med en symmetrisk algoritme. Sådan en MAC kan konverteres til en envejs hashfunktion ved hjælp af nøgleopdagelse.

En anden måde er at generere imitationsindsættelse (MAC) ved hjælp af en specialiseret imitationsbeskyttelsesalgoritme baseret på en symmetrisk krypteringsalgoritme.

CBC-MAC: Den enkleste måde at oprette en nøgleafhængig efterligning på er at kryptere beskeden med en blokalgoritme i CBC- eller CFB -tilstande . Indsæt-imitatoren er den sidste krypterede blok, der er krypteret i disse tilstande. Et potentielt sikkerhedsproblem med denne metode er, at modtageren skal kende nøglen, og denne nøgle giver ham mulighed for at generere beskeder med samme efterligningsværdi som den modtagne besked, så en symmetrisk chiffer-baseret efterligning giver ikke viden om hvem (afsender eller modtager) genererede denne imitationsindsættelse. Det følger heraf, at en efterligning baseret på en symmetrisk chiffer ikke kan erstatte en elektronisk signatur.

Imiteret indsats i henhold til GOST 28147-89

GOST 28147-89  sørger for produktion af en imiteret indsats i den passende tilstand. Længden af ​​den simulerede indsættelse er fra 1 til 32 bit. Dens udvikling foregår i henhold til følgende skema.

Klarteksten er opdelt i blokke på 64 bit. Den sidste blok er om nødvendigt polstret med nuller.

Den første blok krypteres i ECB-tilstand med den samme nøgle som meddelelsen, men med 16 cyklusser i stedet for 32. Resultatet tilføjes bitvis modulo 2 til den anden blok og krypteres på samme måde. Resultatet føjes til den tredje blok, og så videre.

De første 32 bit af den resulterende blok udgør imitationsindsættelsen. Specifikationen af ​​chifferen giver mulighed for brug af færre bits, men ikke flere, som en efterligningsindsættelse, hvis det ønskes.

Emulering sendes normalt i slutningen af ​​beskeden og kan beregnes enten separat fra krypteringen/dekrypteringen eller under den.

MAA

MAA (Message Authenticator Algorithm) er en meddelelsesgodkendelsesalgoritme.

Denne algoritme er en ISO-standard. Den producerer en 32-bit hashværdi og er designet til mainframes med hurtige multiplikationsinstruktioner.

v=v<<<1

e=v xor w

x=((((e+y) mod 2^32)۷A۸C)*(x xor Mi))mod 2^32-1

y=((((e+x) mod 2^32)۷B۸D)*(y xor Mi))mod 2^32-1

Disse trin gentages for hver beskedblok, Mi, og den resulterende hashværdi opnås ved at XORinge x og y. Variablerne v og e afhænger af nøglen. A, B, C og D er konstanter. Måske er denne algoritme meget brugt, men den er ikke sikker nok. Det er blevet udviklet i lang tid og er ikke for kompliceret.

Juneman Methods [2]

Først opdeles meddelelsen i m-bit blokke. Derefter:

, hvor  er den hemmelige nøgle , hvor er et primtal mindre end .

Juneman foreslog værdier for og . Han foreslog også, at den skulle bruges som en ekstra nøgle, og at selve beskeden ville begynde med .

På grund af de mange fødselsdagsangreb er det blevet foreslået at beregne QCMDC 4 gange, ved at bruge resultatet af en iteration som 4 for den næste iteration [ klar ] og derefter sammenkæde resultaterne til en 128-bit hashværdi. I fremtiden blev denne idé styrket ved parallel udførelse af 4 iterationer med krydsforbindelser mellem dem.

Dette[ hvad? ] ordningen blev knækket af Don Coppersmith .

Andre metoder

CBC-MAC

Den sidste blok af meddelelsen, der er krypteret med blokalgoritmen i CBC- eller CFB-tilstande, tages som MAC.

Ulempen er det faktum, at modtageren skal kende nøglen, hvilket vil give ham mulighed for at generere en besked med den samme MAC.

RIPE-MAC

Det blev opfundet af Bart Prenel som en del af RIPE-projektet. Bruger DES som blokchifferfunktion. Der er to modifikationer af denne algoritme:

Ejendomme:

  1. Meddelelsens længde øges, så den er et multiplum af 64.
  2. Beskeden er opdelt i 64-bit blokke.
  3. En nøgleafhængig hash-funktion (DES eller triple DES) anvendes på beskeden.
  4. Hashværdien opnået i 3. trin krypteres igen med DES-algoritmen, med nøglen opnået fra nøglen, der blev brugt i 3. trin.

IBC-MAC

Bruges også som en del af RIPE-projektet. Sandsynligheden for at åbne en IBC-MAC kan kvantificeres. Kernen i funktionen er

Hej = ((Mi mod p) + v) mod 2n

Den hemmelige nøgle er et par tal p og v:

Mi - opnås ved anvendelse af tilsætningsproceduren.

Hver besked skal hash [3] med en ny nøgle.

Åbningssandsynlighed, ensrettethed og modstand mod kollisioner kan kvantificeres, ved at ændre dem kan du indstille det ønskede sikkerhedsniveau.

Ulempen er, at det valgte sikkerhedsniveau begrænser størrelsen af ​​den hashbehandlede besked.

Tovejs MAC

Denne MAC producerer en hashværdi, der er to gange længden af ​​algoritmeblokken.

Først beregnes CBC-MAC for meddelelsen. Meddelelsens CBC-MAC beregnes derefter med omvendt blokrækkefølge. Den tovejs MAC er simpelthen sammenkædningen af ​​disse to værdier.

Denne ordning er ikke sikker. .

MAC envejs hash-funktion

En envejs hash-funktion kan også bruges som en MAC.

Antag for eksempel, at brugerne A og B deler en nøgle K, og A ønsker at sende besked M til MAC. A kombinerer K og M og beregner en envejs-hash-unionsfunktion: H(K, M). Denne hashværdi er MAC-koden. Da B kender K, kan han gengive A's resultat, men en tredje bruger, C, som ikke kender nøglen, kan ikke gøre det.

Med MD-forstærkningsmetoder[ klargør ] denne metode virker, men der er alvorlige problemer. Bruger C kan altid tilføje nye blokke til slutningen af ​​meddelelsen og beregne den korrekte MAC. Dette angreb kan forhindres ved at forudsætte længden af ​​beskeden, men det er også usikkert. Det er bedre at tilføje nøglen til slutningen af ​​beskeden, N(M,K), men det giver også problemer. Hvis H er en envejsfunktion, der ikke er kollisionssikker[ afklar ] C kan forfalske beskeder. Endnu bedre er H(K,M,K) eller H(K1,M,K2), hvor K1 og K2 er forskellige. De virker sikre[ til hvem? ] følgende konstruktioner:

N(K1, N(K2, M))

N(K, N(K, M))

H(K, p, M, K)), hvor p fuldfører K for at fuldføre beskedblokken.

Den bedste [ klargør ] tilgang er at sammenkæde mindst 64 bit af nøglen med hver beskedblok. Dette gør envejsfunktionen mindre effektiv, da beskedblokkene er mindre, men det er meget mere sikkert.

Eller du kan bruge en envejs hash-funktion og en symmetrisk algoritme. Filen hash først, derefter krypteres hashværdien. Dette er mere sikkert end først at kryptere filen og derefter hashe den krypterede fil, men denne ordning er modtagelig for det samme angreb som H(M,K)-konstruktionen.

MAC ved hjælp af en stream cipher

Dette MAC-skema bruger stream-cifre. En kryptografisk sikker pseudorandom bitgenerator demultiplekser [4] meddelelsesstrømmen i to understrømme. Hvis outputtet fra bitgeneratoren ki er etaller, så sendes den aktuelle bit af meddelelsen mi til den første understrøm, hvis nul, så sendes mi til den anden understrøm. Hver understrøm sendes til sin egen LFSR. Outputtet fra MAC'en er simpelthen den endelige tilstand af begge registre.

Denne metode er ikke sikker for små ændringer i meddelelsen. For eksempel, hvis du ændrer den sidste bit af meddelelsen, så skal kun 2 bits af den tilsvarende MAC ændres for at skabe en falsk MAC; dette kan gøres ret nemt.

Noter

  1. Bruce Schneier. Anvendt kryptografi. Protokoller, algoritmer, kildetekster i C-sprog. - M . : Triumph, 2002. - ISBN 5-89392-055-4 .
  2. Junemans metoder . Studiopedia.org . Hentet: 1. januar 2021.
  3. hash - Wiktionary . en.wiktionary.org . Hentet: 1. januar 2021.
  4. demultiplexing - Wiktionary . en.wiktionary.org . Hentet 1. januar 2021. Arkiveret fra originalen 20. juni 2017.

Litteratur

Se også