STS (protokoll)

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2020. október 5-én felülvizsgált verziótól ; az ellenőrzések 2 szerkesztést igényelnek .

Az STS protokoll vagy az Station-to-Station Protocol ( Station-to-Station Protocol , STS ) egy kriptográfiai protokoll , amely lehetővé teszi két fél számára, hogy megosztott titkos kulcsot szerezzenek egy nem védett kommunikációs csatorna használatával . Az így kapott kulcsot a további cseréhez használják szimmetrikus titkosítással . A protokoll a Diffie-Hellman algoritmuson alapul .  

Az STS protokoll megkülönböztető jellemzője az időbélyegek hiánya és a tökéletes továbbítási titkosság támogatása. . A protokoll kétirányú kulcsmegerősítést is végez [1] , amely lehetővé teszi a protokoll besorolását „ hitelesített kulcsszerződés kulcs megerősítéssel ” (AKC) kategóriába.

Történelem

Az STS-t eredetileg 1987-ben vezették be az ISDN telefonhálózat biztonságának kontextusában (O'Higgins et al. 1987) [2] , 1989-ben bővítették ki, végül Whitfield Diffie , Paul C. van Oorschot és Michael Weiner (Michael ) vezette be. J. Wiener) 1992-ben. Az STS protokoll alapján létrejött az IKE protokoll , amely iparági szabvánnyá vált .

A szokásos STS-algoritmus leírása

A működési elv részletes leírásához vegye figyelembe az egyes felhasználók  – Alice és Bob – közötti információcsere folyamatát . Tegyük fel, hogy Alice rendelkezik Bob hitelesített nyilvános kulcsával, Bob pedig Alice hitelesített nyilvános kulcsával. Ugyanakkor mindkét kulcsot korábban egy megbízható tanúsító hatóság hitelesítette , amely nem vesz részt közvetlenül a folyamatban. A protokoll elindítása előtt a következő lépéseket kell végrehajtania [3] [4] :

  1. Hozzon létre egy véletlenszerűen aszimmetrikus aláíráspárt a további felhasználói hitelesítéshez .
  2. Határozza meg az üzenetek létrehozásának paramétereit: a p modult , amelyen a ciklikus csoport létrejön , és annak g generátorát .

A protokoll a következő információcsere fordulóiból áll Alice és Bob között :

1. Alice kiválaszt egy véletlenszerű x számot, amelyre 2 ≤ x ≤ p-1, és küld Bobnak egy üzenetet m A = g x mod p

(1) Alice → Bob : m A = g x mod p,

2. Bob választ egy véletlenszerű y számot úgy, hogy 2 ≤ y ≤ p-1, kiszámítja m B = g y mod p értéket, és az Alice-től kapott üzenet alapján kiszámítja a megosztott titkos kulcsot K = m A y mod p = g xy mod p. Ezután elküldi Alice m B -t és egy E K titkosított üzenetet (Sig B ( m B , m A )), amelyet elektronikus digitális aláírásával írnak alá.

(2) Alice ← Bob : m B = g y mod p, E K (Sig B ( m B , m A )),

3. Alice hasonló módon kiszámítja a titkos kulcsot, és visszafejti Bob üzenetét. Ezután hitelesíti Bobot az elektronikus aláírásának ellenőrzésével, és elküldi neki az aláírásával aláírt E k üzenetét (Sig A ( m A , m B )).

(3) Alice → Bob : E k (Sig A ( m A , m B )),

4. Bob megkapja az üzenetet Alice-től, dekódolja és ellenőrzi Alice aláírását.

Itt Sig A és Sig B az Alice és Bob  felhasználók digitális aláírása , K = g xy mod p a szükséges közös kulcs.

A digitális aláírások használata az Alice és Bob közötti üzenetek továbbításakor garantálja [5] az üzenet hitelességét attól a felhasználótól, akitől annak érkeznie kellett volna. A felhasználói aláírások értékeinek titkosítását egy szimmetrikus E algoritmussal vezették be annak érdekében, hogy biztosítsák a kulcsszámítás helyességének kölcsönös megerősítését, mivel lehetetlen a digitális aláírások helyes értékeit megszerezni egy helytelenül kiszámított kulccsal. .

Támadás egy szokásos STS ellen

1994- ben az Egyetem professzora, Kevin Lowe hajtott végre az STS protokoll ellen [6] Ebben az esetben Éva megpróbálja kideríteni a levelezést [7] .

(1) Alice → Éva (Bob) : m A = g x mod p, (2) Éva → Bob : m A , (3) Éva ← Bob : m B = g y mod p, E K (Sig B ( m B , m A )), (4) Alice ← Éva (Bob) : m B , E K (Sig B ( m B , m A )), (5) Alice → Eve(Bob) : E K (Sig A ( m A , m B )).

A kriptoanalitikus Eve, aki Alice és Bob között áll, a Bobbal folytatott jogos eszmecserét használja fel, hogy meggyőzze Alice-t arról, hogy Bob nevében cselekszik. A Bobbal folytatott munkamenet továbbra is hiányos, mert Eve, mivel nem ismeri a megosztott titkos kulcsot, nem fogja tudni kitalálni a helyes választ Bob számára. Ezért a harmadik lépésben Éva minden üzenete elutasításra kerül. Ez a támadás nem jelent valós veszélyt [4] , mivel a K titkos kulcs ismeretlen marad Éva számára. Azonban ebben az esetben Alice összetéveszti Eve-t Bobbal. Bob azt fogja hinni, hogy Eve-vel közös kulcsot alakított ki, de valójában Alice-szel. Így a protokoll nem fog megfelelően működni. Egy ilyen támadás következményei hasonlóak ahhoz a helyzethez, amikor Eve passzív, amíg Alice el nem küldi az utolsó üzenetet Bobnak. Bob nem tudja fogadni, mert Eve blokkolja az utolsó üzenetet. Bob értesíti Alice-t, hogy az utolsó üzenet nem érkezett meg. Bár egyetlen támadás nem veszélyes, a támadók egy csoportja azonban egy ilyen támadást végrehajtva drasztikusan csökkentheti a központi szerver teljesítményét, mivel a szerver lefoglalja az erőforrásokat azon felhasználók számára, akiknek nem érkezik meg az értesítése. Azt is érdemes megjegyezni, hogy egy ilyen támadás során Évának és szövetségeseinek nincs szüksége igazolásra . Tehát ez a támadás kis mennyiségű erőforrást igényel .

1995-ben Martin Abadi és Robert Needham javasolta a szervert ért ilyen támadások megakadályozásának módját. Ehhez elég nyíltan átadni a felhasználónevet [8] .

Módosított STS protokoll

2004-ben Colin Boyd és Wenbo Mao a következő specifikációt javasolta az STS [9] protokollhoz :

(1) Alice → Bob : m A = g x mod p (2) Alice ← Bob : m B = g y mod p, Sig B ( m B , m A ), h K 0 ( m B , m A ) (3) Alice → Bob : Sig A ( m A , m B ), h K 0 ( m A , m B )

ahol K 0 = f(k) a h K 0 ( m A , m B ) hash függvény kulcsparamétere , amelyet valamilyen függvény értékeként számítunk ki a kapott K = g xy mod p munkamenetkulcsból. A p modul és a g generátor még nyitva van.

Támadás a módosított STS ellen

Lehetőség van egy "kétoldalú ismeretlen kulcsmegosztási támadásra" ( BUKS  támadás ) [4] Ebben az esetben Eva és Mallory kriptoanalitikusok próbálják kideríteni a levelezést.

(1) Alice → Eve : m A = g x mod p (2) Eve → Mallory : m A (3) Mallory → Bob : m A (4) Mallory ← Bob : m B = g y mod p, Sig B ( m B , m A ), h K 0 ( m B , m A ) (5) Éva ← Mallory : m B , h K 0 ( m B , m A ) (6) Alice ← Eve : m B , Sig E ( m B , m A ), h K 0 ( m B , m A ) (7) Alice → Eve : Sig A ( m A , m B ), h K 0 ( m A , m B ) (8) Eve → Mallory : h K 0 ( m A , m B ) (9) Mallory → Bob : Sig M ( m A , m B ), h K 0 ( m A , m B )

Ennek eredményeként Eve és Mallory összejátszva félrevezetik Alice-t és Bobot, akik közös kulcsot alkottak. Ugyanakkor Alice biztos abban, hogy Eve-vel közös kulcsot alakított ki, Bob pedig abban, hogy Malloryval közös kulcsot alakított ki. .

Egyszerűsített STS

Egy egyszerűsített algoritmust használnak a tisztán kölcsönös hitelesítéshez, megosztott titok generálása nélkül. A megvalósítás így néz ki [10] :

(1) Alice → Bob : m A = g x mod p (2) Alice ← Bob : m B = g y mod p, Sig B ( m B , m A ) (3) Alice → Bob : Sig A ( m A , m B )

Támadás az egyszerűsített STS ellen

A támadás során Eve, aki a rendszer jogos felhasználója, és nyilvános kulcsú tanúsítvánnyal rendelkezik , megkéri Alice-t, hogy inicializálja a protokollt. Ezt követően beszélgetésbe kezd Bobbal, Alice néven mutatkozik be, és az egyszeri véletlenszámát használja. Miután megkapta a választ Bobtól, Eve a tanúsítványát és az aláírását saját másolataival helyettesíti. Ez arra készteti Alice-t, hogy írja alá Bob üzenetét, ami viszont lehetővé teszi Eve-nek, hogy becsapja Bobot. .

(1) Alice → Eve : m A = g x mod p (2) Éva → Bob : m A (3) Éva ← Bob : m B = g y mod p, Sig B ( m B , m A ) (4) Alice ← Eve : m B = g y mod p, Sig E ( m B , m A ) (5) Alice → Eve : Sig A ( m A , m B ) (6) Eve → Bob : Sig A ( m A , m B )

Ennek eredményeként Alice azt hiszi, hogy Évával beszél, Bob pedig azt hiszi, hogy Alice-szel beszél. Ez a támadás hibátlan, mert sem Alice, sem Bob nem sejt semmit. Meg kell jegyezni, hogy Eve nagyon aktív szerepet játszik ebben a támadásban: aláírja a Bob által generált üzenetet, és meggyőzi Alice-t, hogy írja alá, hogy teljesen félrevezesse Bobot. Ha Eve egy közönséges passzív megfigyelő szerepét játszotta volna, akkor Alice soha nem írta volna alá Bob üzenetét, és nem hagyta volna magát megtéveszteni [7] .

STS-MAC

Azokban az esetekben, amikor nem lehet meghatározni, hogy kitől kapta az üzenetet, a K = g xy használható hamis betét létrehozására [11] :

(1) Alice → Bob : m A = g x mod p (2) Alice ← Bob : m B = g y mod , Sig B ( m B , m A ), MAC K ( Sig B ( g y , g x )) (3) Alice → Bob : S A ( g x , g y ), MAC K ( Sig A ( g x , g y ))

Lásd még

Jegyzetek

  1. Állomás-állomás protokoll . Sterling Connect: Direct Secure Plus for z/OS Áttekintés . IBM. - Station-to-Station (STS) protokoll az alap Diffie-Hellman protokoll három menetes változata. Lehetővé teszi egy megosztott titkos kulcs létrehozását két csomópont között kölcsönös entitáshitelesítéssel." Letöltve: 2013. november 18.
  2. Delfs, Hans, Knebl, Helmut. Bevezetés a kriptográfiába: alapelvek és alkalmazások. - 2. - Springer Publishing Company, Incorporated, 2010. - S. 88-89. — 368 p. — ISBN 978-3642080401 .
  3. Bruce Schneier. Alkalmazott kriptográfia. - 2. kiadás - Triumph, 2002. - S. 378-379. — 816 p. - ISBN 5-89392-055-4 .
  4. 1 2 3 4 A. V. Cseremuskin. Kriptográfiai protokollok: főbb tulajdonságok és sebezhetőségek // Applied Discrete Mathematics: Journal. - 2009. - 2. sz . - S. 115-150 .
  5. A. V. Cheremushkin "Rejtjelezési protokollok: alapvető tulajdonságok és sebezhetőségek", "Applied Discrete Mathematics" folyóirat UDC 003.26 (075.8)
  6. G. Lowe. Néhány új támadás a biztonsági protokollok ellen // IEEE Computer Society : Proceeding. - 1996. - S. 162 . — ISBN 0-8186-7522-5 .
  7. 1 2 Mao, 2005 , p. 415-416.
  8. Martin Abadi, Roger Needham. Prudent Engineering Practice for Cryptographic Protocols // IEEE Computer Society: Proceeding. - 1994. - S. 122 .
  9. Colin Boyd, Wenbo Mao, Kenneth G. Paterson. Kulcsszerződés statikus kulcsú hitelesítők használatával // Alkalmazott kriptográfia és hálózati biztonság: Előadásjegyzetek a számítástechnikából. – 2004.
  10. Douglas R. Stinson. Kriptográfia áttekintése: elmélet és gyakorlat // ACM SIGACT News : Hírlevél. - 2003. - 34. sz . - S. 22-25 . — ISSN 0163-5700 . - doi : 10.1145/954092.954097 .
  11. Simon Blake-Wilson, Alfred Menezes. PKC '99 Proceedings of the Second International Workshop on Practice and Theory in Public Key Cryptography // Proceedings of the Second International Workshop on Practice and Theory in Public Key Cryptography : Proceedings. - 1999. - S. 154-170 . — ISBN 3-540-65644-8 .

Irodalom