Imitationsinsats

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 27 juli 2022; verifiering kräver 1 redigering .

Imitationsinsättning (MAC, engelsk  meddelandeautentiseringskod  - meddelandeautentiseringskod) - ett sätt att tillhandahålla imitationsskydd i meddelandeautentiseringsprotokoll med deltagare som litar på varandra - en speciell uppsättning tecken som läggs till meddelandet och är utformad för att säkerställa dess integritet och autentisering av datakälla.

Imitation används vanligtvis för att säkerställa integriteten och skyddet mot förfalskning av överförd information.

För att kontrollera integriteten (men inte äktheten) för meddelandet på den sändande sidan, läggs värdet på hashfunktionen från detta meddelande till meddelandet, och hashen från det mottagna meddelandet genereras även på den mottagande sidan. Den genererade hashen och den mottagna hashen jämförs. Vid jämlikhet anses det mottagna meddelandet ha nått utan ändringar [1] .

För att skydda mot förfalskning (imitation) av ett meddelande används en imitationsinsättning, utvecklad med hjälp av ett hemligt element (nyckel) som endast är känd för avsändaren och mottagaren.

Översikt

Ett enkelt sätt att konvertera en enkelriktad hashfunktion till imitationsinsättning (MAC) är att kryptera hashvärdet med en symmetrisk algoritm. En sådan MAC kan konverteras till en enkelriktad hashfunktion med hjälp av nyckelupptäckt.

Ett annat sätt är att generera imitationsinsättning (MAC) med hjälp av en specialiserad imitationsskyddsalgoritm baserad på en symmetrisk krypteringsalgoritm.

CBC-MAC: Det enklaste sättet att skapa en nyckelberoende personifiering är att kryptera meddelandet med en blockalgoritm i CBC- eller CFB -lägen . Insert-imitatorn är det sista krypterade blocket som krypteras i dessa lägen. Ett potentiellt säkerhetsproblem med denna metod är att mottagaren måste känna till nyckeln, och denna nyckel tillåter honom att generera meddelanden med samma imitationsvärde som det mottagna meddelandet, så en symmetrisk chifferbaserad imitation ger inte kunskap om vem (avsändare eller mottagare) genererade denna imitationsinsättning. Härav följer att en personifiering baserad på ett symmetriskt chiffer inte kan ersätta en elektronisk signatur.

Imitationsinlägg enligt GOST 28147-89

GOST 28147-89  tillhandahåller produktion av en imitationsinsats i lämpligt läge. Längden på den simulerade infogningen är från 1 till 32 bitar. Dess utveckling sker enligt följande schema.

Klartexten är uppdelad i block om 64 bitar. Det sista blocket, om nödvändigt, är vadderat med nollor.

Det första blocket krypteras i ECB-läge med samma nyckel som meddelandet, men med 16 cykler istället för 32. Resultatet läggs till bitvis modulo 2 till det andra blocket och krypteras på samma sätt. Resultatet läggs till i det tredje blocket och så vidare.

De första 32 bitarna av det resulterande blocket utgör imitationsinsättningen. Specifikationen av chifferet ger möjlighet att använda färre bitar, men inte fler, som en imitationsinsättning, om så önskas.

Emulering skickas vanligtvis i slutet av meddelandet och kan beräknas antingen separat från krypteringen/dekrypteringen eller under den.

MAA

MAA (Message Authenticator Algorithm) är en algoritm för meddelandeautentisering.

Denna algoritm är en ISO-standard. Den producerar ett 32-bitars hashvärde och designades för stordatorer med snabba 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

Dessa steg upprepas för varje meddelandeblock, Mi, och det resulterande hashvärdet erhålls genom att XORing x och y. Variablerna v och e beror på nyckeln. A, B, C och D är konstanter. Kanske är den här algoritmen mycket använd, men den är inte tillräckligt säker. Det har utvecklats under lång tid och är inte alltför komplicerat.

Juneman Methods [2]

Först delas meddelandet upp i m-bitars block. Sedan:

, var  är den hemliga nyckeln , där är ett primtal mindre än .

Juneman föreslog värden för och . Han föreslog också att den skulle användas som en extra nyckel, och att själva meddelandet skulle börja med .

På grund av de många födelsedagsattackerna har det föreslagits att beräkna QCMDC 4 gånger, använda resultatet av en iteration som 4 för nästa iteration [ clarify ] och sedan sammanfoga resultaten till ett 128-bitars hashvärde. I framtiden stärktes denna idé genom parallell exekvering av 4 iterationer med tvärlänkar mellan dem.

Detta[ vad? ] schemat knäcktes av Don Coppersmith .

Andra metoder

CBC-MAC

Det sista blocket i meddelandet krypterat med blockalgoritmen i CBC- eller CFB-lägen tas som MAC.

Nackdelen är det faktum att mottagaren måste känna till nyckeln, vilket gör att han kan generera ett meddelande med samma MAC.

RIPE-MAC

Det uppfanns av Bart Prenel som en del av RIPE-projektet. Använder DES som en blockchifferfunktion. Det finns två modifieringar av denna algoritm:

Egenskaper:

  1. Meddelandets längd utökas så att det blir en multipel av 64.
  2. Meddelandet är uppdelat i 64-bitars block.
  3. En nyckelberoende hashfunktion (DES eller trippel DES) appliceras på meddelandet.
  4. Hashvärdet som erhålls i det 3:e steget krypteras återigen med DES-algoritmen, med nyckeln som erhålls från nyckeln som användes i det 3:e steget.

IBC-MAC

Används även som en del av RIPE-projektet. Sannolikheten att öppna en IBC-MAC kan kvantifieras. Kärnan i funktionen är

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

Den hemliga nyckeln är ett par siffror p och v:

Mi - erhålls med användning av tillsatsproceduren.

Varje meddelande måste hashas [3] med en ny nyckel.

Öppningssannolikhet, enkelriktad och motstånd mot kollisioner kan kvantifieras, genom att ändra dem kan du ställa in önskad säkerhetsnivå.

Nackdelen är att den valda säkerhetsnivån begränsar storleken på det hashade meddelandet.

Dubbelriktad MAC

Denna MAC producerar ett hashvärde som är två gånger längden på algoritmblocket.

Först beräknas CBC-MAC för meddelandet. CBC-MAC för meddelandet beräknas sedan med omvänd blockordning. Den dubbelriktade MAC är helt enkelt sammanlänkningen av dessa två värden.

Detta system är inte säkert. .

MAC envägs hashfunktion

En enkelriktad hashfunktion kan också användas som en MAC.

Anta till exempel att användare A och B delar en nyckel K och A vill skicka meddelande M till MAC. A kombinerar K och M och beräknar en enkelriktad hashunionsfunktion: H(K, M). Detta hashvärde är MAC-koden. Eftersom B känner till K kan han återge A:s resultat, men en tredje användare, C, som inte kan nyckeln, kan inte göra det.

Med MD-förstärkningsmetoder[ förtydliga ] denna metod fungerar, men det finns allvarliga problem. Användare C kan alltid lägga till nya block i slutet av meddelandet och beräkna rätt MAC. Denna attack kan förhindras genom att ställa in längden på meddelandet, men det är också osäkert. Det är bättre att lägga till nyckeln i slutet av meddelandet, N(M,K), men det orsakar också problem. Om H är en enkelriktad funktion som inte är kollisionssäker[ förtydliga ] C kan förfalska meddelanden. Ännu bättre är H(K,M,K) eller H(K1,M,K2), där K1 och K2 är olika. De verkar säkra[ till vem? ] följande konstruktioner:

N(K1, N(K2, M))

N(K, N(K, M))

H(K, p, M, K)), där p slutför K för att slutföra meddelandeblocket.

Det bästa tillvägagångssättet [ klargör ] är att sammanfoga minst 64 bitar av nyckeln med varje meddelandeblock. Detta gör envägsfunktionen mindre effektiv eftersom meddelandeblocken är mindre, men det är mycket säkrare.

Eller så kan du använda en enkelriktad hashfunktion och en symmetrisk algoritm. Filen hashas först, sedan krypteras hashvärdet. Detta är säkrare än att först kryptera filen och sedan hasha den krypterade filen, men detta schema är känsligt för samma attack som H(M,K)-konstruktionen.

MAC använder ett strömchiffer

Detta MAC-schema använder strömchiffer. En kryptografiskt säker pseudoslump-bitgenerator demultiplexerar [4] meddelandeströmmen i två underströmmar. Om utsignalen från bitgeneratorn ki är ettor, så sänds den aktuella biten i meddelandet mi till den första delströmmen, om noll så sänds mi till den andra delströmmen. Varje delström skickas till sin egen LFSR. Utdata från MAC är helt enkelt sluttillståndet för båda registren.

Denna metod är inte säker för små ändringar i meddelandet. Till exempel, om du ändrar den sista biten i meddelandet, behöver bara 2 bitar av motsvarande MAC ändras för att skapa en falsk MAC; detta kan göras ganska enkelt.

Anteckningar

  1. Bruce Schneier. Tillämpad kryptografi. Protokoll, algoritmer, källtexter i C-språk. - M . : Triumph, 2002. - ISBN 5-89392-055-4 .
  2. Juneman metoder . Studiopedia.org . Hämtad: 1 januari 2021.
  3. hash - Wiktionary . en.wiktionary.org . Hämtad: 1 januari 2021.
  4. demultiplexering - Wiktionary . en.wiktionary.org . Hämtad 1 januari 2021. Arkiverad från originalet 20 juni 2017.

Litteratur

Se även