STS (protokol)

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 5. října 2020; kontroly vyžadují 2 úpravy .

Protokol STS nebo Protokol Station-To-Station ( protokol Station-to-Station , STS ) je šifrovací protokol , který umožňuje dvěma stranám získat sdílený tajný klíč pomocí nechráněného komunikačního kanálu . Výsledný klíč je použit pro další výměnu pomocí symetrického šifrování . Protokol je založen na algoritmu Diffie-Hellman .  

Charakteristickým rysem protokolu STS je absence časových razítek a podpora dokonalé vlastnosti dopředného utajení . . Protokol také provádí obousměrné potvrzení klíče [1] , což umožňuje klasifikovat protokol jako „ shoda ověřeného klíče s potvrzením klíče “ (AKC).

Historie

STS byl původně představen v roce 1987 v kontextu zabezpečení telefonní sítě ISDN (O'Higgins et al. 1987) [2] , rozšířen v roce 1989 a nakonec představen Whitfieldem Diffiem , Paulem C. van Oorschotem a Michaelem Weinerem ( Michael J. Wiener) v roce 1992. Na základě protokolu STS byl vytvořen protokol IKE , který se stal průmyslovým standardem .

Popis běžného algoritmu STS

Pro podrobný popis principu fungování zvažte proces výměny informací mezi některými uživateli  - Alice a Bob. Předpokládejme, že Alice má certifikovaný veřejný klíč Boba a Bob má certifikovaný veřejný klíč Alice. Oba klíče přitom byly dříve certifikovány důvěryhodnou certifikační autoritou , která není přímo zapojena do procesu. Před spuštěním protokolu musíte provést následující kroky [3] [4] :

  1. Generujte náhodně asymetrický pár podpisů pro další autentizaci uživatele .
  2. Definujte parametry pro vytváření zpráv: modul p , na kterém je cyklická skupina vytvořena a jeho generátor g .

Protokol se skládá z následujících kol výměny informací mezi Alicí a Bobem :

1. Alice vybere náhodné číslo x takové, že 2 ≤ x ≤ p-1 a pošle Bobovi zprávu m A = g x mod p

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

2. Bob vybere náhodné číslo y takové, že 2 ≤ y ≤ p-1, vypočítá m B = g y mod p a pomocí přijaté zprávy od Alice vypočítá sdílený tajný klíč K = m A y mod p = g xy mod p. Poté pošle Alici m B a zašifrovanou zprávu EK (Sig B ( m B , m A )), podepsanou jeho elektronickým digitálním podpisem.

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

3. Alice podobně vypočítá tajný klíč a dešifruje Bobovu zprávu. Poté ověří Boba ověřením jeho elektronického podpisu a zašle mu jeho zprávu E k (Sig A ( m A , m B )), podepsanou jeho podpisem.

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

4. Bob obdrží zprávu od Alice, dešifruje ji a zkontroluje podpis od Alice.

Zde Sig A a Sig B  jsou digitální podpisy uživatelů Alice a Boba , v tomto pořadí, K = g xy mod p je požadovaný společný klíč.

Použití digitálních podpisů při přenosu zpráv mezi Alicí a Bobem zaručuje [5] pravost přijetí zprávy od uživatele, od kterého měla přijít. Šifrování hodnot uživatelských podpisů pomocí symetrického algoritmu E bylo zavedeno za účelem zajištění vzájemného potvrzení správnosti výpočtu klíče, protože s nesprávně vypočítaným klíčem nelze získat správné hodnoty digitálních podpisů. .

Útok na běžný STS

V roce 1994 profesor Oxfordské univerzity Kevin Lowe útok protokol STS [ 6 ] V tomto případě se Eva snaží zjistit korespondenci [7] .

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

Kryptanalytička Eva, uprostřed mezi Alicí a Bobem, využívá své legitimní výměny názorů s Bobem, aby Alici přesvědčila, že jedná jménem Boba. Relace s Bobem zůstává neúplná, protože Eva, která nezná sdílený tajný klíč, nebude schopna uhodnout správnou odpověď pro Boba. Proto bude jakákoli zpráva od Evy ve třetím kroku odmítnuta. Tento útok nepředstavuje skutečné nebezpečí [4] , protože tajný klíč K zůstává Evě neznámý. V tomto případě si však Alice splete Evu s Bobem. Bob si bude myslet, že vytvořil společný klíč s Evou, ale ve skutečnosti s Alicí. Proto protokol nebude fungovat správně. Následky takového útoku jsou srovnatelné se situací, kdy je Eva pasivní, dokud Alice nepošle poslední zprávu Bobovi. Bob to nemůže přijmout, protože Eva blokuje poslední zprávu. Bob oznámí Alici, že poslední zpráva nebyla přijata. Přestože jeden útok není nebezpečný, skupina útočníků po takovém útoku může drasticky snížit výkon centrálního serveru, protože server bude rezervovat zdroje pro uživatele, jejichž oznámení nepřijde. Za zmínku také stojí, že během takového útoku Eva a její spojenci nepotřebují certifikáty . Tento útok tedy vyžaduje malé množství zdrojů .

V roce 1995 Martin Abadi a Robert Needham navrhli způsob, jak zabránit takovému útoku na server. K tomu stačí předat uživatelské jméno otevřeně [8] .

Upravený protokol STS

V roce 2004 Colin Boyd a Wenbo Mao navrhli následující specifikaci protokolu STS [9] :

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

kde K 0 = f(k) je klíčový parametr hašovací funkce h K 0 ( m A , m B ), vypočtený jako hodnota nějaké funkce z výsledného klíče relace K = g xy mod p. Modul p a generátor g jsou stále otevřené.

Útok na upravený STS

Existuje možnost "bilaterálního neznámého key-share útoku" ( BUKS  útok ) [4] V tomto případě se kryptanalytici Eva a Mallory snaží zjistit korespondenci.

(1) Alice → Eva : m A = g x mod p (2) Eva → 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) Eva ← Mallory : m B , h K 0 ( m B , m A ) (6) Alice ← Eva : m B , Sig E ( m B , m A ), h K 0 ( m B , m A ) (7) Alice → Eva : Sig A ( m A , m B ), h K 0 ( m A , m B ) (8) Eva → Mallory : h K 0 ( m A , m B ) (9) Mallory → Bob : Sig M ( m A , m B ), h K 0 ( m A , m B )

Výsledkem je, že se Eve a Mallory domluví, že svedou Alici a Boba, kteří vytvořili společný klíč. Zároveň si je Alice jistá, že vytvořila sdílený klíč s Evou, a Bob si je jistý, že vytvořil sdílený klíč s Mallory. .

Zjednodušené STS

Pro čistě vzájemnou autentizaci bez generování sdíleného tajemství se používá zjednodušený algoritmus. Implementace vypadá takto [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 )

Útok na zjednodušené STS

Během útoku Eve, která je legitimním uživatelem systému a vlastní certifikát veřejného klíče , požádá Alici o inicializaci protokolu. Poté vstoupí do rozhovoru s Bobem, představí se jako Alice a použije své jednorázové náhodné číslo. Po obdržení odpovědi od Boba nahradí Eva jeho certifikát a podpis vlastními kopiemi. To vyzve Alici, aby podepsala Bobovu zprávu, což zase umožní Evě Boba oklamat. .

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

V důsledku toho si Alice myslí, že mluví s Evou, a Bob si myslí, že mluví s Alicí. Tento útok je bezchybný, protože ani Alice ani Bob nic netuší. Je třeba poznamenat, že Eva hraje v tomto útoku velmi aktivní roli: podepíše zprávu vygenerovanou Bobem a přesvědčí Alici, aby ji také podepsala, aby Boba zcela svedla. Pokud by Eva hrála roli obyčejné pasivní pozorovatelky, pak by Alice Bobovu zprávu nikdy nepodepsala a nenechala by se oklamat [7] .

STS-MAC

V případech, kdy není možné určit uživatele, od kterého byla zpráva přijata, lze K = g xy použít k vytvoření falešné vložky [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 : SA ( g x , g y ), MAC K ( Sig A ( g x , g y ))

Viz také

Poznámky

  1. Protokol Station-to-Station . Přehled Sterling Connect: Direct Secure Plus pro z/OS . IBM. - Protokol Station-to-Station (STS) je tříprůchodovou variantou základního protokolu Diffie-Hellman. Umožňuje vám vytvořit sdílený tajný klíč mezi dvěma uzly se vzájemným ověřováním entity“. Staženo: 18. listopadu 2013.
  2. Delfové, Hans, Knebl, Helmut. Úvod do kryptografie: Principy a aplikace. - 2. - Springer Publishing Company, Incorporated, 2010. - S. 88-89. — 368 s. — ISBN 978-3642080401 .
  3. Bruce Schneier. Aplikovaná kryptografie. - 2. vyd. - Triumph, 2002. - S. 378-379. — 816 s. - ISBN 5-89392-055-4 .
  4. 1 2 3 4 A. V. Čeremuškin. Kryptografické protokoly: hlavní vlastnosti a zranitelnosti // Applied Discrete Mathematics: journal. - 2009. - č. 2 . - S. 115-150 .
  5. A. V. Cheremushkin "Kryptografické protokoly: základní vlastnosti a zranitelnosti", časopis "Applied Discrete Mathematics" UDC 003.26 (075.8)
  6. G. Lowe. Některé nové útoky na bezpečnostní protokoly // IEEE Computer Society : Proceeding. - 1996. - S. 162 . — ISBN 0-8186-7522-5 .
  7. 12 Mao , 2005 , str. 415-416.
  8. Martin Abadi, Roger Needham. Obezřetná inženýrská praxe pro kryptografické protokoly // IEEE Computer Society: Proceeding. - 1994. - S. 122 .
  9. Colin Boyd, Wenbo Mao, Kenneth G. Paterson. Klíčová dohoda s použitím staticky klíčovaných autentizátorů // Aplikovaná kryptografie a síťová bezpečnost: Poznámky k přednáškám z informatiky. — 2004.
  10. Douglas R. Stinson. Recenze kryptografie: teorie a praxe // ACM SIGACT News : Newsletter. - 2003. - č. 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 .

Literatura