User Tools

Site Tools


mac

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
mac [2023/11/22 09:12] zrinkamac [2025/12/01 11:40] (current) – external edit 127.0.0.1
Line 1: Line 1:
 ====MAC==== ====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č. \\+**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.  
 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: 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:
  
Line 12: Line 13:
    - **Algoritam verifikacije V** - vraća „prihvaćeno“ ili „odbačeno“ za danu oznaku t, ključ K i poruku M     - **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ćtrima načinima primjene kriptiranja: **Encrypt-then-MAC (EtM)**, **Encrypt-and-MAC (E&M)** i **MAC-then-Encrypt (MtE)**. +MAC sam po sebi ne kriptira poruku, već samo daje informaciju o legitimitetu poruke. Ako šaljemo neku osjetljivu informaciju, treba ju zasebno kriptirati. Primatelj tad treba prvo izračunati očekivani MAC, dekriptirati poruku usporediti dobiveni MAC sa svojim. Nekad se prije dekriptiranja poruke dekriptira samo MAC  i ta se vrijednost uspoređuje s očekivanom. 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. Tri su metode  kriptiranja: **Encrypt-then-MAC (EtM)**, **Encrypt-and-MAC (E&M)** i **MAC-then-Encrypt (MtE)**, a 
-Generalno, **Encrypt-then-MAC (EtM)** se smatra najsigurnijom od triju metodaDruga 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.+najsigurnijom se smatra **EtM**. Druge dvije ne pružaju integritet jasnog teksta te otvaraju vrata napadima izmjene teksta (//malleability//) ili napadima pogađanja (//oracle attack//). 
  
 {{ ::mac_modes.png?nolink&600 | Načini korištenja kriptiranja uz MAC [3]}} {{ ::mac_modes.png?nolink&600 | 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.+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 sa svakom osobom zasebno definirati tajni ključ.
    
 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.  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. 
Line 25: Line 26:
 [2] Henk C. A. Tilborg, Encyclopedia of Cryptography and Security, Springer-Verlag US, 2005.\\ [2] Henk C. A. Tilborg, Encyclopedia of Cryptography and Security, Springer-Verlag US, 2005.\\
 [3] Kriptografija i kriptoanaliza, predavanja, FER\\ [3] Kriptografija i kriptoanaliza, predavanja, FER\\
-[4] https://www.tutorialspoint.com/cryptography/message_authentication.htm +[4] https://www.tutorialspoint.com/cryptography/message_authentication.htm\\ 
-[5] https://www.geeksforgeeks.org/how-message-authentication-code-works/+[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