User Tools

Site Tools


mac

This is an old revision of the document!


MAC

MAC (Message Authentication Code) je kratak dodatak poruci koji služi za potvrdu identiteta pošiljatelja i da zaprimljena poruka nije izmijenjena. Pošiljatelj i primatelj unaprijed dogovore algoritam kojim će generirati MAC za svoje poruke i tajni ključ koji će samo njih dvoje koristiti. Slično funkciji sažetka, MAC vraća rezultat fiksne duljine neovisno s o duljini poruke. Razlika je u tome što algoritam kojim se generira MAC može biti poznat i nekome tko nije namijenjen da primi poruku jer se pri generiranju koristi tajni ključ.
Pošiljatelj pri slanju poruke generira MAC i šalje ga uz poruku. Primatelj izračuna MAC koji očekuje koristeći tajni ključ i usporedi ga s dobivenim. Ako su isti, znači da je poruka legitimna. Ako nisu, primatelj ne može znati je li sama poruka promijenjena tijekom slanja ili je pošiljatelj netko drugi. U svakom slučaju, zna da poruka nije ispravna. Proces se može prikazati ovako:

 Primjer korištenja MAC-a [3]

MAC se sastoji od 3 algoritma:

  1. Generator ključa G - nasumično i uniformno bira ključ iz prostora
  2. Algoritam potpisa S - vraća oznaku t za dani ulaz ključa K i poruke M
  3. Algoritam verifikacije V - vraća „prihvaćeno“ ili „odbačeno“ za danu oznaku t, ključ K i poruku M

MAC sam po sebi ne kriptira poruku, već samo daje informaciju o legitimitetu poruke. Ako šaljemo neku osjetljivu informaciju, treba ju zasebno kriptirati. To možemo postići trima načinima primjene kriptiranja: Encrypt-then-MAC (EtM), Encrypt-and-MAC (E&M) i MAC-then-Encrypt (MtE). Generalno, Encrypt-then-MAC (EtM) se smatra najsigurnijom od triju metoda. Druga dva načina ne pružaju integritet jasnog teksta te otvaraju vrata napadima izmjene teksta (malleability) ili napadima pogađanja (oracle attack). Primatelj tad treba prvo izračunati očekivani MAC, dekriptirati poruku i usporediti dekriptirani MAC sa svojim. Nekad se prije dekriptiranja poruke dekriptira samo MAC i ta se vrijednost uspoređuje s očekivanim. Taj je način vremenski efikasniji ako poruka nije autentična jer se ne troši vrijeme za dekripciju cijele poruke koja se na kraju ne koristi.

 Načini korištenja kriptiranja uz MAC [3]

Budući da MAC ne koristi asimetričnu kriptografiju, ne može osigurati svojstvo neporecivosti, odnosno pošiljatelj nakon slanja poruke može poreći da ju je poslao jer ne postoji dokaz o slanju poruke. Drugo ograničenje je što se ključ mora unaprijed definirati, odnosno moramo unaprijed znati kome sve poruka treba stići i s tim osobama definirati svoj tajni ključ. Dodatno, u rijetkim slučajevima napadač može reverznim inženjerstvom doći do ključa i kompromitirati komunikaciju.

Da bismo MAC smatrali sigurnim, mora biti otporan na egzistencijalne krivotvorine kod napada odabranim tekstom. Odnosno, ne smije se dogoditi da netko može uspješno dohvatiti MAC za odabrani jasni tekst bez posjedovanja odgovarajućeg ključa.

Izvori

[1] Christof Paar, Jan Pelzl, Understanding Cryptography, Springer-Verlag Berlin Heidelberg, 2009.
[2] Henk C. A. Tilborg, Encyclopedia of Cryptography and Security, Springer-Verlag US, 2005.
[3] Kriptografija i kriptoanaliza, predavanja, FER
[4] https://www.tutorialspoint.com/cryptography/message_authentication.htm [5] https://www.geeksforgeeks.org/how-message-authentication-code-works/

mac.1700644331.txt.gz · Last modified: 2025/12/01 11:40 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki