MTI protokollok

Az MTI-protokollok kulcsfontosságú elosztási protokollok családját jelentik, amelyeket T. Matsumoto , Y. Takashita és H. Imai fejlesztett ki, és szerzőikről nevezték el. Az MTI protokollok három protokollosztályra oszthatók: MTI/A, MTI/B, MTI/C. [egy]

A kulcselosztási protokoll megoldja a titkos titkosítási kulcsok kommunikáló felek közötti elosztásának problémáját. Az ilyen protokollok készlete a következő három típusra oszlik: [2]

  1. protokollcsere a már generált kulcsokhoz;
  2. közös kulcsgenerálási protokollok (nyilvános kulcs elosztása);
  3. kulcselosztási protokollok.

Az MTI-protokollok nyilvános kulcsú elosztási protokollok közé tartoznak.

A nyilvános kulcs-elosztási protokollok a felhasználók közötti üzenetváltáson alapulnak, melynek eredményeként minden felhasználó kiszámít egy titkos munkamenet-kulcsot. Ebben az esetben a munkamenetkulcs kiszámítása az üzenetváltás előtt lehetetlen. Ezért ezeket a protokollokat [3] dinamikus kulcselosztási protokolloknak is nevezik, ellentétben a statikus protokollokkal, amelyekben a kulcsok már a kommunikációs munkamenet előtt is ismertek. Ezenkívül a nyilvános terjesztési protokollokban a munkamenetkulcsok létrehozása megköveteli, hogy a felhasználók csak a nyilvános kulcsokat ismerjék, pl. lehetővé teszi a rendszerfelhasználók számára, hogy megosztott titkos kulcsot fejlesszenek ki magánkulcsok cseréje nélkül. Ez vezetett oda, hogy az ilyen protokollok 1976-os megjelenésük után azonnal felkeltették a nemzetközi közösség figyelmét.


Történelem

A nyílt kulcsú elosztási protokollok létrehozásának ötletét először Whitfield Diffie és Martin Hellman vetette fel az Országos Számítógépes Konferencián 1976 júniusában. 1976 novemberében pedig „  Új irányok a kriptográfiában ” című munkájukban javasolták a nyilvános kulcsok elosztásának első protokollját [4] , amelyet a szerzők nevéről neveztek el (Diffie-Hellman protokoll).

A maga nemében az első, a Diffie-Hellman protokoll sebezhető volt bizonyos típusú támadásokkal szemben, különösen az ember a középső támadásokkal szemben [2] . A probléma megoldásához hitelesítési mechanizmust kellett biztosítani a felhasználók számára. Az 1977 augusztusában a Scientific American magazin "Mathematical Games" rovatában megjelent RSA aszimmetrikus titkosítási algoritmus [5] olyan mechanizmussá vált , amely lehetővé tette a nyílt csatornán keresztüli kommunikáció problémájának megoldását.

1984-ben Taher El-Gamal egy továbbfejlesztett Diffie-Hellman protokollt javasolt egyirányú hitelesítés lehetőségével, amikor is csak az egyik kommunikáló fél tudja ellenőrizni a másik hitelességét [6] . Az RSA -val ellentétben az ElGamal protokollt nem szabadalmazták, ezért olcsóbb alternatívává vált, mivel nem kellett licencdíjat fizetni. Úgy gondolják, hogy az algoritmus a Diffie-Hellman szabadalom hatálya alá tartozik.

1986 februárjában T. Matsumoto, I. Takashima és H. Imai megoldást mutatott be az RSA használata nélküli kölcsönös hitelesítés problémájára [7] . Az MTI protokolljaikban a megosztott titkos kifejezés a legális felhasználók nyilvános és privát kulcsát egyaránt tartalmazza. Ez a megoldás lehetővé teszi a hitelesítés végrehajtását a megosztott titkos kulcs kiszámításával egyidejűleg (illegális felhasználó nem tudja kiszámítani a titkos kulcs értékét).

Az MTI protokollokat jelenleg az ISO/IEC 11770-3 [1] szabvány tartalmazza .

MTI protokollok leírása [1]

Tekintsük az A és B felek közötti információcsere folyamatát . Az alábbiakban az MTI protokollok működésének leírására szolgáló jelöléseket közöljük.

nagy prímszám (legalább 1024 bit).
egy (160 bites nagyságrendű) prímszám, amely osztója .
egy csoport alcsoportja (általában sorrendben , de néha egybeesik a -val )
alcsoport generáló eleme
, az A és B felek privát kulcsai
, A és B fél nyilvános kulcsai  : , .
, véletlenszerű egész számok, amelyek általában azonos nagyságrendűek a csoport sorrendjével, amelyeket az A és B fél választ ki
, A - ból B -be , illetve B -ből A -ba küldött üzeneteket .
az A és B fél által kiszámított titkos munkamenet kulcs
a számok legnagyobb közös osztója és

A jövőben minden számítás a csoportban történik .

MTI/A(0) [8]

Munka algoritmus

  1. A fél véletlenszerű számot választ, és üzenetet küld
  2. A fél véletlenszerű számot választ, és üzenetet küld
  3. A fél kiszámítja a munkamenet kulcsát:
  4. A fél kiszámítja a munkamenet kulcsát:

Végzett számítások

MTI/B(0)

Munka algoritmus

  1. A fél véletlenszerű számot választ, és üzenetet küld
  2. A fél véletlenszerű számot választ, és üzenetet küld
  3. A fél kiszámítja a munkamenet kulcsát:
  4. A fél kiszámítja a munkamenet kulcsát:

Végzett számítások

MTI/C(0) [8]

Munka algoritmus

  1. A fél véletlenszerű számot választ, és üzenetet küld B-nek
  2. A fél kiválaszt egy véletlen számot , és elküldi az A üzenetet
  3. A fél kiszámítja a munkamenet kulcsát:
  4. A fél kiszámítja a munkamenet kulcsát:

Végzett számítások

MTI/A(k)

Munka algoritmus

  1. A fél véletlenszerű számot választ, és üzenetet küld B-nek
  2. A fél kiválaszt egy véletlen számot , és elküldi az A üzenetet
  3. A fél kiszámítja a munkamenet kulcsát:
  4. A fél kiszámítja a munkamenet kulcsát:

Végzett számítások

MTI/B(k)

Munka algoritmus

  1. A fél véletlenszerű számot választ, és üzenetet küld
  2. A fél véletlenszerű számot választ, és üzenetet küld
  3. A fél kiszámítja a munkamenet kulcsát:
  4. A fél kiszámítja a munkamenet kulcsát:

Végzett számítások

MTI/C(k)

Munka algoritmus

  1. A fél véletlenszerű számot választ, és üzenetet küld
  2. A fél véletlenszerű számot választ, és üzenetet küld
  3. A fél kiszámítja a munkamenet kulcsát:
  4. A fél kiszámítja a munkamenet kulcsát:

Végzett számítások

MTI protokollok elemzése [3]

MTI protokoll táblázat
Jegyzőkönyv
MTI/A(0)
MTI/B(0)
MTI/C(0)
MTI/A(k)
MTI/B(k)
MTI/C(k)
  1. Az MTI/A és MTI/B protokollok minden felhasználónak három kitevőt, míg az MTI/C protokollokhoz csak két kitevőt írnak elő. Az MTI/C(1) protokollnak megvan az a további előnye is, hogy nem kell és inverzét kiszámítani . Másrészt ezek az értékek nem változnak a teljes kommunikációs munkamenet során, ezért előre kiszámíthatók.
  2. Az MTI-protokollokban minden fél hasonló műveleteket végez, és a protokollok működése nem függ attól, hogy az üzenetek milyen sorrendben kerülnek egyik oldalról a másikra.
  3. Az MTI/B és MTI/C protokollok megkövetelik a többi fél nyilvános kulcsának ismeretét, ami további üzenetküldést igényelhet (ha a nyilvános kulcs információi nem férnek el a hálózaton keresztül küldött üzenetekben). Az MTI/A protokollok nem igénylik a nyilvános kulcsok ismeretét, így elkerülhető a további átvitel és időkésés.
  4. Mindhárom protokollosztály kölcsönös implicit kulcshitelesítést biztosít, de nem biztosít kulcs megerősítést vagy entitáshitelesítést.
Kulcselosztási protokollok összehasonlítása
Jegyzőkönyv Kulcs hitelesítés Forrás hitelesítés Kulcs megerősítése Üzenetek száma
Diffie-Hellman protokoll hiányzó hiányzó hiányzó 2
ElGamal protokoll egyoldalú hiányzó hiányzó egy
MTI/A kölcsönös implicit hiányzó hiányzó 2
MTI/B,C kölcsönös implicit hiányzó hiányzó 2
STS kölcsönösen kifejezett kölcsönös hiányzó 3

Támadások MTI protokollok ellen

Az MTI protokollok ellenállnak a passzív támadásoknak, de érzékenyek az aktív támadásokra [3] . Az alábbiakban példákat mutatunk be az MTI-protokollok elleni aktív támadásokra.

Kis alcsoportos támadás az MTI/C protokollok ellen [1]

Kis alcsoportos támadás kerül alkalmazásra az MTI/C protokollosztályra, ha a csoport egyezik a csoporttal , ahogy az az eredeti protokollban elvárható volt. Feltételezzük, hogy a kriptaelemző ismeri egy szám prímtényezőkké történő faktorizálását. Legyen a legkisebb prímtényező a szám bővítésében . Jelöljük . A támadás abban áll, hogy az összes üzenetet hatalomra emelik , amely a továbbított elemeket a csoport egy kis alcsoportjává alakítja .

Valóban , és üzenetváltás formájában . Ha egy elemet hatványsá emelünk, akkor a sorrend egy részcsoportjának generáló elemét kapjuk . Sőt, ez a sorrend akkor egyenlő , amikor és rendre, vagy amikor tartalmazza a számot a prímtényezőkre bontva , azaz. . Minden más esetben az alcsoport sorrendje egyenlő lesz .

Az MTI/C(0) protokoll támadásának folyamatát az alábbiakban ismertetjük. A kriptoanalitikus a felek és ( man-in-the-middle ) között van.

  1. A fél véletlenszerű számot választ, és üzenetet küld
  2. A kriptoanalitikus elfogja az üzenetet, és elküldi az üzenetet
  3. A fél véletlenszerű számot választ, és üzenetet küld
  4. A kriptoanalitikus elfogja az üzenetet, és elküldi az üzenetet
  5. A fél kiszámítja a munkamenet kulcsát:
  6. A fél kiszámítja a munkamenet kulcsát:

A fogadott titkos munkamenet kulcsa a fogadott üzenetekhez hasonlóan a csoport kis alcsoportjának eleme . Ezért a kriptoanalitikus kimerítő kereséssel tudja megtalálni a kulcsot , az alcsoport elemeit kulcsként ellenőrzi a és közötti kommunikációban . Ebben az esetben minél kisebb a szorzó , annál gyorsabban halad át a támadás.

Egy alcsoport elleni támadás megelőzhető egy csoport elsőrendű alcsoportjának kiválasztásával . Mert míg a hossza körülbelül 160 bit, addig a kimerítő keresés túl nehéz feladatnak bizonyul egy kriptoanalitikus számára . Azt is ellenőrizni kell, hogy az üzenetekben kapott elemek egy csoportban vannak-e, és nem egyenlők eggyel.

Támadás ismeretlen megosztott kulccsal [1] [3] [9]

Ismeretlen nyilvános kulcsú támadás esetén a kriptográfiai elemzőnek be kell szereznie egy hosszú távú nyilvános kulcsú tanúsítványt , amelyet egy képlet köt össze a fél nyilvános kulcsával . Ez azt jelenti, hogy nem ismeri a nyilvános kulcsnak megfelelő titkos kulcsot .

Ismeretlen megosztott kulccsal történő támadás a következő műveletsor végrehajtásával hajtható végre.

  1. A fél véletlenszerű számot választ, és üzenetet küld
  2. A kriptoanalitikus változatlanul továbbítja az üzenetet től -ig .
  3. A fél véletlenszerű számot választ, és üzenetet küld
  4. A kriptoanalitikus üzenetet kap tőle, és üzenetet küld
  5. A fél kiszámítja a munkamenet kulcsát:
  6. A fél kiszámítja a munkamenet kulcsát:

A felek által kiszámított titkos kulcsok és azonosak és egyenlők a -val . Ugyanakkor úgy ítéli meg, hogy megosztja azt a következővel , miközben úgy véli, hogy a kulcsot megosztja vele .

Bár további információ nélkül nem tudja kiszámítani a titkos munkamenet kulcsát , a fél mégis téves véleményhez vezet.

A támadás elkerülése érdekében meg kell követelni a tanúsító hatóságokat, hogy ellenőrizzék, hogy bizonyos nyilvános kulcsokhoz tanúsítványt kérő felek ismerik-e a megfelelő titkos kulcsot .

Jegyzetek

  1. 1 2 3 4 5 Boyd, Mathuria, 2003 , pp. 147-155.
  2. 1 2 Alferov, Zubov, Kuzmin et al., 2002 , p. 378, 387–396.
  3. 1 2 3 4 Menezes, Oorschot, Vanstone, 1996, 515-519 .
  4. Diffie, Hellman, 1976 .
  5. Gardner, 1977 .
  6. Elgamal, 1985 .
  7. Matsumoto, Takashima, Imai, 1986 .
  8. 1 2 Ratna Dutta, Rana Barua. A legfontosabb megállapodási jegyzőkönyvek áttekintése . - S. 9-10 .
  9. Cheremushkin A.V. Kriptográfiai protokollok: alapvető tulajdonságok és sebezhetőségek  // Alkalmazott diszkrét matematika: Függelék. - 2009. - 2. sz . - S. 115-150 . Az eredetiből archiválva: 2013. november 3.

Irodalom