STS (protokoll)

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 5 oktober 2020; kontroller kräver 2 redigeringar .

STS-protokollet eller Station -To-Station Protocol ( Station-to-Station-protokoll , STS ) är ett kryptografiskt protokoll som tillåter två parter att erhålla en delad hemlig nyckel med hjälp av en oskyddad kommunikationskanal . Den resulterande nyckeln används för ytterligare utbyte med symmetrisk kryptering . Protokollet är baserat på Diffie-Hellman-algoritmen .  

En utmärkande egenskap hos STS-protokollet är frånvaron av tidsstämplar och stöd för den perfekta sekretessegenskapen . . Protokollet utför också en tvåvägsnyckelbekräftelse [1] , vilket gör att protokollet kan klassificeras som " autentiserat nyckelavtal med nyckelbekräftelse " (AKC).

Historik

STS introducerades ursprungligen 1987 i samband med säkerheten för ISDN -telefonnätet (O'Higgins et al. 1987) [2] , utökades 1989 och introducerades slutligen av Whitfield Diffie , Paul C. van Oorschot och Michael Weiner ( Michael Weiner J. Wiener) 1992. Baserat på STS-protokollet skapades IKE- protokollet , som har blivit en industristandard .

Beskrivning av den vanliga STS-algoritmen

För en detaljerad beskrivning av funktionsprincipen, överväg processen att utbyta information mellan vissa användare  - Alice och Bob. Anta att Alice har Bobs certifierade offentliga nyckel och Bob har Alices certifierade offentliga nyckel. Samtidigt var båda nycklarna tidigare certifierade av en betrodd certifieringsmyndighet som inte är direkt involverad i processen. Innan du startar protokollet måste du utföra följande steg [3] [4] :

  1. Generera ett slumpmässigt asymmetriskt par signaturer för ytterligare användarautentisering .
  2. Definiera parametrarna för att skapa meddelanden: modulen p där den cykliska gruppen skapas och dess generator g .

Protokollet består av följande omgångar av informationsutbyte mellan Alice och Bob :

1. Alice väljer ett slumpmässigt tal x så att 2 ≤ x ≤ p-1 och skickar Bob ett meddelande m A = g x mod p

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

2. Bob väljer ett slumpmässigt tal y så att 2 ≤ y ≤ p-1, beräknar m B = g y mod p och, med hjälp av det mottagna meddelandet från Alice, beräknar den delade hemliga nyckeln K = m A y mod p = g xy mod sid. Sedan skickar han Alice m B och ett krypterat meddelande E K (Sig B ( m B , m A )), signerat med sin elektroniska digitala signatur.

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

3. Alice beräknar på liknande sätt den hemliga nyckeln och dekrypterar Bobs meddelande. Den autentiserar sedan Bob genom att verifiera hans elektroniska signatur och skickar honom hans meddelande E k (Sig A ( m A , m B )), signerat med hans signatur.

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

4. Bob tar emot meddelandet från Alice, dekrypterar det och kontrollerar signaturen från Alice.

Här är Sig A och Sig B  digitala signaturer av användare Alice respektive Bob , K = g xy mod p är den nödvändiga gemensamma nyckeln.

Användningen av digitala signaturer vid överföring av meddelanden mellan Alice och Bob garanterar [5] äktheten av att ta emot ett meddelande från den användare som det skulle ha kommit ifrån. Kryptering av användarsignaturvärden med hjälp av en symmetrisk algoritm E introducerades för att säkerställa ömsesidig bekräftelse av nyckelberäkningens korrekthet, eftersom det är omöjligt att få korrekta värden för digitala signaturer med en felaktigt beräknad nyckel. .

Attack mot en vanlig STS

1994 genomfördes mot STS - protokollet [6] av professorn Kevin Lowe vid Oxford University I det här fallet försöker Eva ta reda på korrespondensen [7] .

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

Kryptanalytikern Eve, mitt emellan Alice och Bob, använder sitt legitima utbyte med Bob för att övertyga Alice om att hon agerar på Bobs vägnar. Sessionen med Bob förblir ofullständig eftersom Eve, som inte känner till den delade hemliga nyckeln, inte kommer att kunna gissa det rätta svaret för Bob. Därför kommer alla meddelanden från Eva i det tredje steget att avvisas. Denna attack utgör ingen verklig fara [4] , eftersom den hemliga nyckeln K förblir okänd för Eva. Men i det här fallet kommer Alice att missta Eve för Bob. Bob kommer att tro att han har bildat en delad nyckel med Eve, men faktiskt med Alice. Således kommer protokollet inte att fungera korrekt. Konsekvenserna av en sådan attack är jämförbara med situationen när Eve är passiv tills Alice skickar det sista meddelandet till Bob. Bob kan inte ta emot det eftersom Eve blockerar det sista meddelandet. Bob meddelar Alice att det senaste meddelandet inte har tagits emot. Även om en enda attack inte är farlig, kan en grupp angripare, som har gjort en sådan attack, drastiskt minska kraften hos den centrala servern, eftersom servern reserverar resurser för användare vars meddelanden inte kommer. Det är också värt att notera att under en sådan attack behöver Eva och hennes allierade inte certifikat . Så denna attack kräver en liten mängd resurser .

1995 föreslog Martin Abadi och Robert Needham ett sätt att förhindra en sådan attack på servern. För att göra detta räcker det att skicka användarnamnet öppet [8] .

Modifierat STS-protokoll

2004 föreslog Colin Boyd och Wenbo Mao följande specifikation för STS [9] -protokollet :

(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 )

där K 0 = f(k) är nyckelparametern för hashfunktionen h K 0 ( m A , m B ), beräknad som värdet av någon funktion från den resulterande sessionsnyckeln K = g xy mod p. P-modulen och g-generatorn är fortfarande öppna.

Attack mot modifierad STS

Det finns en möjlighet till en "bilateral okänd nyckeldelningsattack" ( BUKS-  attack ) [4] I det här fallet försöker kryptoanalytikerna Eva och Mallory ta reda på korrespondensen.

(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) Eve ← 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 )

Som ett resultat vilseleder Eve och Mallory, i samverkan, Alice och Bob, som bildade en gemensam nyckel. Samtidigt är Alice säker på att hon har bildat en delad nyckel med Eve, och Bob är säker på att han har bildat en delad nyckel med Mallory .

Förenklad STS

En förenklad algoritm används för ren ömsesidig autentisering utan att generera en delad hemlighet. Implementeringen ser ut så här [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 )

Attack mot förenklad STS

Under attacken ber Eve, som är en legitim användare av systemet och äger ett offentligt nyckelcertifikat , Alice att initiera protokollet. Efter det inleder hon ett samtal med Bob, presenterar sig som Alice och använder sitt engångsslumptal. Efter att ha fått ett svar från Bob ersätter Eve hans certifikat och underskrift med sina egna kopior. Detta uppmanar Alice att skriva under Bobs meddelande, vilket i sin tur låter Eve lura Bob. .

(1) Alice → Eve : m A = g x mod p (2) Eve → Bob : m A (3) Eve ← 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 )

Som ett resultat tror Alice att hon pratar med Eve, och Bob tror att han pratar med Alice. Denna attack är felfri eftersom varken Alice eller Bob misstänker något. Det bör noteras att Eve spelar en mycket aktiv roll i denna attack: hon undertecknar meddelandet som genererats av Bob och övertygar Alice att också skriva under det för att helt vilseleda Bob. Om Eve hade spelat rollen som en vanlig passiv observatör, då skulle Alice aldrig ha skrivit under Bobs meddelande och skulle inte ha låtit sig luras [7] .

STS-MAC

I fall där det är omöjligt att avgöra från vilken användare meddelandet togs emot, kan K = g xy användas för att skapa en falsk infogning [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 ))

Se även

Anteckningar

  1. Station-till-station-protokoll . Sterling Connect:Direct Secure Plus för z/OS Översikt . IBM. - Station-to-Station (STS)-protokollet är en trestegsvariation av det grundläggande Diffie-Hellman-protokollet. Det gör det möjligt för dig att upprätta en delad hemlig nyckel mellan två noder med ömsesidig enhetsautentisering". Hämtad: 18 november 2013.
  2. Delfs, Hans, Knebl, Helmut. Introduktion till kryptografi: principer och tillämpningar. - 2. - Springer Publishing Company, Incorporated, 2010. - S. 88-89. — 368 sid. — ISBN 978-3642080401 .
  3. Bruce Schneier. Tillämpad kryptografi. - 2:a uppl. - Triumph, 2002. - S. 378-379. — 816 sid. - ISBN 5-89392-055-4 .
  4. 1 2 3 4 A. V. Cheremushkin. Kryptografiska protokoll: huvudegenskaper och sårbarheter // Applied Discrete Mathematics: journal. - 2009. - Nr 2 . - S. 115-150 .
  5. A. V. Cheremushkin "Kryptografiska protokoll: grundläggande egenskaper och sårbarheter", tidskrift "Applied Discrete Mathematics" UDC 003.26 (075.8)
  6. G. Lowe. Några nya attacker mot säkerhetsprotokoll // IEEE Computer Society : Fortsätter. - 1996. - S. 162 . — ISBN 0-8186-7522-5 .
  7. 1 2 Mao, 2005 , sid. 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. Nyckelavtal med statiskt nyckelade autentiseringsinstrument // Tillämpad kryptografi och nätverkssäkerhet: föreläsningsanteckningar i datavetenskap. – 2004.
  10. Douglas R. Stinson. Granskning av kryptografi: teori och praktik // ACM SIGACT News : Nyhetsbrev. - 2003. - Nr 34 . - 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 : Proceeding. - 1999. - S. 154-170 . — ISBN 3-540-65644-8 .

Litteratur