STS (protokol)

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 5. oktober 2020; checks kræver 2 redigeringer .

STS-protokollen eller Station -To-Station-protokollen ( Station-to-Station-protokollen , STS ) er en kryptografisk protokol , der gør det muligt for to parter at opnå en delt hemmelig nøgle ved hjælp af en ubeskyttet kommunikationskanal . Den resulterende nøgle bruges til yderligere udveksling ved hjælp af symmetrisk kryptering . Protokollen er baseret på Diffie-Hellman-algoritmen .  

Et karakteristisk træk ved STS-protokollen er fraværet af tidsstempler og understøttelse af den perfekte fremadrettede hemmeligholdelsesegenskab . . Protokollen udfører også en to-vejs nøglebekræftelse [1] , som gør det muligt for protokollen at blive klassificeret som " autentificeret nøgleaftale med nøglebekræftelse " (AKC).

Historie

STS blev oprindeligt introduceret i 1987 i forbindelse med sikkerhed for ISDN -telefonnettet (O'Higgins et al. 1987) [2] , udvidet i 1989 og endelig introduceret af Whitfield Diffie , Paul C. van Oorschot og Michael Weiner (Michael Weiner). J. Wiener) i 1992. Baseret på STS-protokollen blev IKE -protokollen oprettet , som er blevet en industristandard .

Beskrivelse af den almindelige STS-algoritme

For en detaljeret beskrivelse af operationsprincippet skal du overveje processen med at udveksle oplysninger mellem nogle brugere  - Alice og Bob. Antag, at Alice har Bobs certificerede offentlige nøgle, og Bob har Alices certificerede offentlige nøgle. Samtidig var begge nøgler tidligere certificeret af en betroet certificeringsmyndighed, som ikke er direkte involveret i processen. Før du starter protokollen, skal du udføre følgende trin [3] [4] :

  1. Generer et tilfældigt asymmetrisk par signaturer til yderligere brugergodkendelse .
  2. Definer parametrene for oprettelse af meddelelser: modulet p , hvorpå den cykliske gruppe oprettes , og dens generator g .

Protokollen består af følgende runder af informationsudveksling mellem Alice og Bob :

1. Alice vælger et tilfældigt tal x således at 2 ≤ x ≤ p-1 og sender Bob en besked m A = g x mod p

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

2. Bob vælger et tilfældigt tal y, således at 2 ≤ y ≤ p-1, beregner m B = g y mod p og ved hjælp af den modtagne besked fra Alice, beregner den delte hemmelige nøgle K = m A y mod p = g xy mod p. Så sender han Alice m B og en krypteret besked E K (Sig B ( m B , m A )), underskrevet med sin elektroniske digitale signatur.

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

3. Alice beregner på samme måde den hemmelige nøgle og dekrypterer Bobs besked. Den autentificerer derefter Bob ved at verificere hans elektroniske signatur og sender ham hans besked E k (Sig A ( m A , m B )), underskrevet med hans signatur.

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

4. Bob modtager beskeden fra Alice, dekrypterer den og tjekker signaturen fra Alice.

Her er Sig A og Sig B  digitale signaturer af henholdsvis brugere Alice og Bob , K = g xy mod p er den nødvendige fælles nøgle.

Brugen af ​​digitale signaturer ved transmission af beskeder mellem Alice og Bob garanterer [5] ægtheden af ​​at modtage en besked fra den bruger, som den skulle være kommet fra. Kryptering af brugersignaturværdier ved hjælp af en symmetrisk algoritme E blev indført for at sikre gensidig bekræftelse af rigtigheden af ​​nøgleberegningen, da det er umuligt at opnå de korrekte værdier af digitale signaturer med en forkert beregnet nøgle. .

Angreb på en almindelig STS

I 1994 blev et STS - protokollen [6] af professor ved Oxford University , Kevin Lowe I dette tilfælde forsøger Eva at finde ud af korrespondancen [7] .

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

Kryptanalytikeren Eve, midt mellem Alice og Bob, bruger sin lovlige udveksling med Bob til at overbevise Alice om, at hun handler på Bobs vegne. Sessionen med Bob forbliver ufuldstændig, fordi Eve, der ikke kender den delte hemmelige nøgle, ikke vil være i stand til at gætte det rigtige svar for Bob. Derfor vil enhver besked fra Eva i tredje trin blive afvist. Dette angreb udgør ikke en reel fare [4] , da den hemmelige nøgle K forbliver ukendt for Eva. Men i dette tilfælde vil Alice forveksle Eva med Bob. Bob vil tro, at han har dannet en fælles nøgle med Eve, men faktisk med Alice. Således vil protokollen ikke fungere korrekt. Konsekvenserne af et sådant angreb kan sammenlignes med situationen, hvor Eve er passiv, indtil Alice sender den sidste besked til Bob. Bob kan ikke modtage den, fordi Eva blokerer den sidste besked. Bob giver Alice besked om, at den sidste besked ikke er modtaget. Selvom et enkelt angreb ikke er farligt, kan en gruppe angribere, der har foretaget et sådant angreb, drastisk reducere kraften i den centrale server, da serveren vil reservere ressourcer til brugere, hvis meddelelser ikke kommer. Det er også værd at bemærke, at under et sådant angreb behøver Eva og hendes allierede ikke certifikater . Så dette angreb kræver en lille mængde ressourcer .

I 1995 foreslog Martin Abadi og Robert Needham en måde at forhindre et sådant angreb på serveren på. For at gøre dette er det nok at videregive brugernavnet åbent [8] .

Ændret STS-protokol

I 2004 foreslog Colin Boyd og Wenbo Mao følgende specifikation for STS [9] protokollen :

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

hvor K 0 = f(k) er nøgleparameteren for hashfunktionen h K 0 ( m A , m B ), beregnet som værdien af ​​en funktion fra den resulterende sessionsnøgle K = g xy mod p. p-modulet og g-generatoren er stadig åbne.

Angreb på modificeret STS

Der er en mulighed for et "bilateralt ukendt nøgledelingsangreb" ( BUKS-  angreb ) [4] I dette tilfælde forsøger kryptoanalytikerne Eva og Mallory at finde ud af korrespondancen.

(1) Alice → Eva : 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 et resultat vildleder Eve og Mallory, i samspil, Alice og Bob, som dannede en fælles nøgle. Samtidig er Alice sikker på, at hun har dannet en delt nøgle med Eve, og Bob er sikker på, at han har dannet en delt nøgle med Mallory .

Forenklet STS

En forenklet algoritme bruges til ren gensidig godkendelse uden at generere en fælles hemmelighed. Implementeringen ser således ud [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 )

Angreb på forenklet STS

Under angrebet beder Eve, som er en legitim bruger af systemet og ejer et offentligt nøglecertifikat , Alice om at initialisere protokollen. Derefter indleder hun en samtale med Bob, præsenterer sig selv som Alice og bruger sit tilfældige engangsnummer. Efter at have modtaget et svar fra Bob, erstatter Eve hans certifikat og underskrift med sine egne kopier. Dette får Alice til at underskrive Bobs besked, hvilket igen giver Eve mulighed for at narre Bob. .

(1) Alice → Eva : 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 et resultat tror Alice, at hun taler med Eve, og Bob tror, ​​han taler med Alice. Dette angreb er fejlfrit, fordi hverken Alice eller Bob har mistanke om noget. Det skal bemærkes, at Eve spiller en meget aktiv rolle i dette angreb: hun underskriver beskeden genereret af Bob og overbeviser Alice om også at underskrive den for fuldstændigt at vildlede Bob. Hvis Eva havde spillet rollen som en almindelig passiv observatør, så ville Alice aldrig have underskrevet Bobs besked og ville ikke have ladet sig bedrage [7] .

STS-MAC

I tilfælde, hvor det er umuligt at afgøre, fra hvilken bruger beskeden blev modtaget, kan K = g xy bruges til at oprette en falsk indsættelse [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 også

Noter

  1. Station-til-Station-protokol . Sterling Connect:Direct Secure Plus til z/OS Oversigt . IBM. - Station-to-Station (STS) protokol er en tre-pass variation af den grundlæggende Diffie-Hellman protokol. Det giver dig mulighed for at etablere en delt hemmelig nøgle mellem to noder med gensidig enhedsgodkendelse". Hentet: 18. november 2013.
  2. Delfs, Hans, Knebl, Helmut. Introduktion til kryptografi: principper og anvendelser. - 2. - Springer Publishing Company, Incorporated, 2010. - S. 88-89. — 368 s. — ISBN 978-3642080401 .
  3. Bruce Schneier. Anvendt kryptografi. - 2. udg. - Triumph, 2002. - S. 378-379. — 816 s. - ISBN 5-89392-055-4 .
  4. 1 2 3 4 A. V. Cheremushkin. Kryptografiske protokoller: hovedegenskaber og sårbarheder // Applied Discrete Mathematics: journal. - 2009. - Nr. 2 . - S. 115-150 .
  5. A. V. Cheremushkin "Kryptografiske protokoller: grundlæggende egenskaber og sårbarheder", tidsskrift "Applied Discrete Mathematics" UDC 003.26 (075.8)
  6. G. Lowe. Nogle nye angreb på sikkerhedsprotokoller // IEEE Computer Society : Proceeding. - 1996. - S. 162 . — ISBN 0-8186-7522-5 .
  7. 1 2 Mao, 2005 , s. 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. Nøgleaftale ved hjælp af statisk nøglegodkendelse // Anvendt kryptografi og netværkssikkerhed: Forelæsningsnoter i datalogi. – 2004.
  10. Douglas R. Stinson. Gennemgang af kryptografi: teori og praksis // ACM SIGACT News : Nyhedsbrev. - 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