Jäljitelmä lisäosa

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 27. heinäkuuta 2022 tarkistetusta versiosta . vahvistus vaatii 1 muokkauksen .

Jäljitelmälisäys (MAC, englanninkielinen  viestin todennuskoodi  - viestin todennuskoodi) - keino tarjota jäljitelmäsuojaus viestien todennusprotokollassa , kun osallistujat luottavat toisiinsa - erityinen merkkijoukko , joka lisätään viestiin ja on suunniteltu varmistamaan sen eheys ja tietolähteen todennus.

Jäljitelmällä varmistetaan yleensä siirrettyjen tietojen eheys ja suojaus väärentämiseltä.

Lähettävän viestin eheyden (mutta ei aitouden) tarkistamiseksi viestiin lisätään tämän viestin hash-funktion arvo, ja vastaanotetun viestin tiiviste generoidaan myös vastaanottavalle puolelle. Luotua tiivistettä ja vastaanotettua tiivistettä verrataan. Tasa-arvossa katsotaan, että vastaanotettu viesti on saapunut ilman muutoksia [1] .

Viestin väärentämiseltä (jäljitelmältä) suojaamiseksi käytetään jäljitelmää, joka on kehitetty käyttämällä vain lähettäjän ja vastaanottajan tuntemaa salaista elementtiä (avainta).

Yleiskatsaus

Helppo tapa muuntaa yksisuuntainen hash-funktio jäljitelmäksi (MAC) on salata hash-arvo symmetrisellä algoritmilla. Tällainen MAC voidaan muuntaa yksisuuntaiseksi hajautusfunktioksi avainten etsinnällä.

Toinen tapa on luoda jäljitelmälisäys (MAC) käyttämällä erikoistunutta jäljitelmäsuojausalgoritmia, joka perustuu symmetriseen salausalgoritmiin.

CBC-MAC: Yksinkertaisin tapa luoda avaimesta riippuvainen esiintyminen on salata viesti lohkoalgoritmilla CBC- tai CFB -moodissa . Insert imitaattori on viimeinen näissä tiloissa salattu salattu lohko. Tämän menetelmän mahdollinen turvallisuusongelma on, että vastaanottajan on tiedettävä avain, ja tämän avaimen avulla hän voi luoda viestejä, joilla on sama jäljitelmäarvo kuin vastaanotetulla viestillä, joten symmetrinen salauspohjainen jäljitelmä ei anna tietoa kenestä (lähettäjästä tai vastaanottaja) loi tämän jäljitelmän lisäyksen. Tästä seuraa, että symmetriseen salaukseen perustuva toisena henkilönä esiintyminen ei voi korvata sähköistä allekirjoitusta.

Jäljitelmäsisäke GOST 28147-89 mukaisesti

GOST 28147-89  säätää jäljitelmän liitteen valmistamisesta sopivassa tilassa. Simuloidun lisäyksen pituus on 1 - 32 bittiä. Sen kehitys tapahtuu seuraavan kaavion mukaisesti.

Selvä teksti on jaettu 64 bitin lohkoihin. Viimeinen lohko on tarvittaessa pehmustettu nolilla.

Ensimmäinen lohko salataan ECB-moodissa samalla avaimella kuin viesti, mutta käyttämällä 16 jaksoa 32:n sijasta. Tulos lisätään bittikohtaisesti modulo 2 toiseen lohkoon ja salataan samalla tavalla. Tulos lisätään kolmanteen lohkoon ja niin edelleen.

Tuloksena olevan lohkon ensimmäiset 32 ​​bittiä muodostavat jäljitelmälisäyksen. Salauksen spesifikaatiossa määrätään, että haluttaessa käytetään vähemmän bittejä, mutta ei enempää, jäljitelmälisäyksenä.

Emulointi lähetetään yleensä viestin lopussa ja se voidaan laskea joko salauksesta/salauksenpurkusta erikseen tai sen aikana.

MAA

MAA (Message Authenticator Algorithm) on viestien todennusalgoritmi.

Tämä algoritmi on ISO-standardi. Se tuottaa 32-bittisen hash-arvon ja on suunniteltu keskuskoneille , joissa on nopeat kertolaskuohjeet.

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

Nämä vaiheet toistetaan jokaiselle viestilohkolle, Mi, ja tuloksena oleva hash-arvo saadaan XOR-korjaamalla x ja y. Muuttujat v ja e riippuvat avaimesta. A, B, C ja D ovat vakioita. Ehkä tämä algoritmi on laajalti käytetty, mutta se ei ole tarpeeksi turvallinen. Sitä on kehitetty pitkään, eikä se ole liian monimutkaista.

Juneman Methods [2]

Ensin viesti jaetaan m-bittisiin lohkoihin. Sitten:

, missä  on salainen avain , missä on alkuluku pienempi kuin .

Juneman ehdotti arvoja ja . Hän ehdotti myös, että sitä tulisi käyttää lisäavaimena ja että varsinainen viesti alkaisi kirjaimella .

Monien syntymäpäivähyökkäysten vuoksi on ehdotettu, että QCMDC lasketaan 4 kertaa käyttämällä yhden iteroinnin tulosta 4 :nä seuraavalle iteraatiolle [ selventää ] ja sitten ketjuttaa tulokset 128-bittiseksi hajautusarvoksi. Jatkossa tätä ajatusta vahvistettiin suorittamalla rinnakkain 4 iteraatiota, joiden välillä oli ristilinkkejä.

Tämä[ mitä? ] suunnitelman mursi Don Coppersmith .

Muut menetelmät

CBC-MAC

Viestin viimeinen lohko, joka on salattu lohkoalgoritmilla CBC- tai CFB-moodissa, otetaan MAC:ksi.

Haittapuolena on se, että vastaanottajan on tiedettävä avain, jonka avulla hän voi luoda viestin samalla MAC:lla.

RIPE-MAC

Sen keksi Bart Prenel osana RIPE-projektia. Käyttää DES:ää lohkosalauksena. Tästä algoritmista on kaksi muunnelmaa:

Ominaisuudet:

  1. Viestin pituutta kasvatetaan niin, että se on 64:n kerrannainen.
  2. Viesti on jaettu 64-bittisiin lohkoihin.
  3. Avaimesta riippuvainen hash-funktio (DES tai kolminkertainen DES) käytetään sanomaan.
  4. Kolmannessa vaiheessa saatu hash-arvo salataan jälleen DES-algoritmilla avaimella, joka saadaan avaimesta, jota käytettiin 3. vaiheessa.

IBC-MAC

Käytetään myös osana RIPE-projektia. IBC-MAC:n avaamisen todennäköisyys voidaan kvantifioida. Toiminnan ydin on

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

Salainen avain on numeropari p ja v:

Mi- saadaan käyttämällä lisäysmenettelyä.

Jokainen viesti on hajautettava [3] uudella avaimella.

Avautumistodennäköisyys, yksisuuntaisuus ja törmäyskestävyys voidaan kvantifioida, ja niitä muuttamalla voidaan asettaa haluttu turvallisuustaso.

Haittapuolena on, että valittu suojaustaso rajoittaa tiivistetyn viestin kokoa.

Kaksisuuntainen MAC

Tämä MAC tuottaa hajautusarvon, joka on kaksi kertaa algoritmilohkon pituus.

Ensin sanomalle lasketaan CBC-MAC. Viestin CBC-MAC lasketaan sitten käänteisessä lohkojärjestyksessä. Kaksisuuntainen MAC on yksinkertaisesti näiden kahden arvon ketjutus.

Tämä järjestelmä ei ole turvallinen. .

MAC yksisuuntainen hash-funktio

Yksisuuntaista hajautustoimintoa voidaan käyttää myös MAC:na.

Oletetaan esimerkiksi, että käyttäjillä A ja B on yhteinen avain K ja A haluaa lähettää MAC:lle viestin M. A yhdistää K:n ja M:n ja laskee yksisuuntaisen hajautusfunktion: H(K, M). Tämä hash-arvo on MAC-koodi. Koska B tuntee K:n, hän voi toistaa A:n tuloksen, mutta kolmas käyttäjä C, joka ei tunne avainta, ei voi tehdä niin.

MD-vahvistusmenetelmillä[ Selventää ] Tämä menetelmä toimii, mutta siinä on vakavia ongelmia. Käyttäjä C voi aina lisätä uusia lohkoja viestin loppuun ja laskea oikean MAC:n. Tämä hyökkäys voidaan estää lisäämällä viestin pituus, mutta tämä ei ole myöskään turvallista. On parempi lisätä avain viestin loppuun, N(M,K), mutta sekin aiheuttaa ongelmia. Jos H on yksisuuntainen funktio, joka ei ole törmäyssuojattu[ selventää ] C osaa väärentää viestejä. Vielä parempi on H(K,M,K) tai H(K1,M,K2), joissa K1 ja K2 ovat erilaisia. Ne näyttävät turvallisilta[ kenelle? ] seuraavat rakenteet:

N(K1, N(K2, M))

N(K, N(K, M))

H(K, p, M, K)), jossa p täydentää K:n viestilohkon loppuunsaattamiseksi.

Paras [ selventää ] tapa on ketjuttaa vähintään 64 bittiä avaimesta jokaiseen viestilohkoon. Tämä tekee yksisuuntaisesta toiminnosta vähemmän tehokkaan, koska viestilohkot ovat pienempiä, mutta se on paljon turvallisempi.

Tai voit käyttää yksisuuntaista hajautusfunktiota ja symmetristä algoritmia. Tiedosto tiivistetään ensin, sitten hajautusarvo salataan. Tämä on turvallisempaa kuin ensin tiedoston salaaminen ja sitten salatun tiedoston hajautus, mutta tämä menetelmä on alttiina samalle hyökkäykselle kuin H(M,K)-rakenne.

MAC stream-salauksen avulla

Tämä MAC-järjestelmä käyttää virtasalauksia. Salausturvallinen näennäissatunnainen bittigeneraattori demultipleksoi [4] viestivirran kahteen alivirtaan. Jos bittigeneraattorin ki lähtö on ykkösiä, niin sanoman mi nykyinen bitti lähetetään ensimmäiseen alivirtaan, jos nolla, niin mi lähetetään toiseen alivirtaan. Jokainen alivirta lähetetään omaan LFSR:ään. MAC:n lähtö on yksinkertaisesti molempien rekisterien lopullinen tila.

Tämä menetelmä ei ole turvallinen pienille viestin muutoksille. Jos esimerkiksi muutat viestin viimeistä bittiä, vain 2 bittiä vastaavasta MAC:sta on muutettava väärennetyn MAC:n luomiseksi; tämä voidaan tehdä melko helposti.

Muistiinpanot

  1. Bruce Schneier. Sovellettu kryptografia. Protokollat, algoritmit, lähdetekstit C-kielellä. - M . : Triumph, 2002. - ISBN 5-89392-055-4 .
  2. Junemanin menetelmät . Studiopedia.org . Haettu: 1. tammikuuta 2021.
  3. hash - Wikisanakirja . fi.wiktionary.org . Haettu: 1. tammikuuta 2021.
  4. demultipleksointi - Wikisanakirja . fi.wiktionary.org . Haettu 1. tammikuuta 2021. Arkistoitu alkuperäisestä 20. kesäkuuta 2017.

Kirjallisuus

Katso myös