Příklad zabezpečené komunikace Kryptografické služby nové generace (CNG)
Příklad zabezpečené komunikace Kryptografické služby nové generace (CNG) modeluje kryptografické řešení pro útok prostředníkem. Simuluje komunikaci mezi třemi osobami - Alicí, Bobem a Mallory ve fiktivní reklamní společnosti. Příklad používá CNG třídy, přepravu pojmenovaných kanálů a interaktivní konzolová okna, aby demonstroval zabezpečená řešení pro útok prostředníkem.
Toto je zdokonalený příklad a předpokládá znalost kryptografie, meziprocesové komunikace a zabezpečení sítě.
Poznámka
Třídy Kryptografické služby nové generace (CNG) jsou k dispozici pouze v systému Windows Vista a následných operačních systémech Windows.
Toto téma obsahuje přehled příkladu Kryptografické služby nové generace (CNG). Popisuje následující:
Scénář příkladu
Chyby zabezpečení nástroje pro rychlé zasílání zpráv (IM)
Verze 1: Pojmenované kanály
Verze 2-5: Přírůstkové vylepšení zabezpečení
Výsledky testů
Příklad kódu
Zásady vytváření názvů
Podrobné informace
Scénář příkladu
Reklamní společnost vyvíjí nástroj pro rychlé zasílání zpráv (IM), který běží na stolním počítači. Všichni zaměstnanci mohou vidět zprávy zadané do tohoto nástroje.
Alice a Bob pracují v oddělení prodeje. Používají IM nástroj pro vzájemné posílání obchodních kontaktů. Mallory je síťový inženýr, který pracuje v systémových operacích. Tajně monitoroval zprávy od Alice a Boba. Jednou za měsíc kopíruje cenné obchodní kontakty a prodává je konkurenci pro osobní zisk.
Po několika měsících si společnost uvědomí, že někdo krade obchodní kontakty a tato vnitropodniková komunikace byla prozrazena. Rozhodnou se vytvořit nový IM nástroj a začnou analyzováním zabezpečení současné verze.
Chyby zabezpečení nástroje pro rychlé zasílání zpráv (IM)
Společnost si uvědomí, že současná verze IM nástroje má následující chyby zabezpečení:
Přenáší zprávy v prostém textu (nezašifrované).
Vysílá tyto zprávy přes podnikovou síť.
Zprávy mohou být zobrazeny a dokonce zaznamenány kýmkoliv.
Společnost se rozhodne, že nový IM nástroj může adresovat tyto problémy povolením komunikace bod k bodu v podnikové síti.
Verze 1: Pojmenované kanály
Společnost vytváří nový IM nástroj, který se opírá o pojmenované kanály pro meziprocesovou komunikaci (IPC). Tato verze nepoužívá šifrování nebo digitální podpisy.
Alici a Bobovi jsou dány následující pokyny:
Vytvořte počáteční spojení prostřednictvím kanálu s názvem PublicChannel.
Vzájemně si pošlete název soukromého kanálu a poté se okamžitě odpojte od PublicChannel.
Připojte se pomocí soukromého kanálu a odešlete si navzájem obchodní kontakty.
Společnost doufá, že komunikační kanály bod k bodu poskytnou dostatek izolace od zbytku podnikové sítě. Brzy přijdou na to, že toto řešení je nedostatečné. Mallory zjistí jak přemoci nový systém. Pokračuje v kradení obchodních kontaktů a začne skrývat své zločiny pomocí pečlivého měnění adres obchodních kontaktů.
Společnost se rozhodne přidat bezpečnostní opatření do IM nástroje, aby zastavila krádeže.
Verze 2 až 5: Přírůstkové vylepšení zabezpečení
Nový software je testován a rozšiřován po několik měsíců. Do doby dokončení testů, byly vytvořeny čtyři další verze IM nástroje. Každá verze navazuje na předchozí verzi:
Verze 2 zahrnuje šifrování založené na Kryptografické službě nové generace (CNG), která používá dvojice veřejných a soukromých klíčů.
Verze 3 používá digitální podpis k podpisu kryptografických klíčů a zpráv.
Verze 4 přidává soukromý kanál pro přenos digitálního podpisu pro podepsání kryptografických klíčů a zpráv.
Verze 5 zastavuje vniknutí pomocí ukončení všech IM relací, které obdrží podepsané klíče s neplatnými podpisy.
Výsledky testů
Verze 2 používá vysoce zabezpečený šifrovací algoritmus. Prolomení šifrování by vyžadovalo rozsáhlé prostředky a čas. Proto je společnost překvapena, když zjistí, že toto řešení bylo ohroženo.
Verze 3, která používá digitální podpisy, nebrání ani krádeži. Tato verze však pomáhá společnosti udělat důležitý objev: Pokud jsou kryptografické klíče a digitální podpis zachyceny a nahrazeny, kanál který se používá k přenosu klíčů a podpisu musí být zdrojem problémů.
Tento nápad je testován přidáním soukromého kanálu pro přenos digitálního podpisu do verze 4. Verze 4 také zobrazuje upozornění v případě, že zpráva nebo klíč má neplatný podpis. Verze 4 je dána pouze dvěma osobám ve společnosti: Alici a Bobovi. Začne zobrazovat upozornění zabezpečení co nejdříve poté, co Alice a Bob odešlou jejich první zprávy. Společnosti si nakonec uvědomí, že jejich síť trpí útokem prostředníka.
Verze 5 je stejná jako verze 4, s tím rozdílem, že ukončí relaci po prvním narušení zabezpečení. Ihned poté, co je tato verze nainstalována, přestanou krádeže obchodních kontaktů.
Příklad kódu
Kód, který je součástí tohoto příkladu modeluje těchto pět verzí zabezpečení. Přehled kódu je uveden v tématu Přehled zdrojového kódu (příklad Kryptografické služby nové generace (CNG)).
Poznámka
Tento příklad neposkytuje komplexní řešení zabezpečení.Jeho účelem je pouze demonstrovat API rozhraní Kryptografické služby nové generace (CNG) ve věrohodném scénáři zabezpečení.Kompletní aplikace zabezpečení je nad rámec tohoto příkladu.
Zásady vytváření názvů
Dokumentace pro tento příklad odkazuje na pět verzí softwaru a odpovídajících úrovní zabezpečení číslem (například verze 1, verze 2 a tak dále).
V závislosti na kontextu mohou názvy "Alice", "Bob" a "Mallory" odkazovat na tři osoby zapojené do scénáře příkladu nebo na tři aplikace sady Visual Studio. Pro jednoduchost dokumentace používá stejné názvy pro obojí. Například "Alice automaticky načte Boba a Mallory" znamená, že aplikace Alice automaticky načte aplikace Bob a Mallory.
Podrobné informace
Následující témata obsahují podrobné informace týkající se scénáře příkladu a kódu:
Implementing a Man-in-the-Middle Attack popisuje, jak příklad demonstruje zosobnění, což je typický útok prostředníka.
Overview of the ECDH Algorithm stručně popisuje matematiku algoritmu Elliptic Curve Diffie-Hellman (ECDH).
Step-by-Step Key and Message Exchange obsahuje podrobný návod procedur výměny klíčů a zpráv, které se používají v pěti verzích tohoto příkladu.
Postupy: Build and Run the CNG Example popisuje architekturu příkladu a poskytuje pokyny pro sestavení, dobu běhu a využití. Tato část obsahuje také výpisy zdrojového kódu.
Source Code Overview popisuje interakci a tok komponent kódu.
Code Analysis of the Utility Classes popisuje obsah a účel souboru Utilities.cs.
Code Analysis of the ChannelManager Class popisuje obsah a účel souboru ChannelManager.cs.
Code Analysis of the Communicator Class popisuje obsah a účel souboru ChannelManager.cs.
Expected Output zobrazuje výstup z kódu příkladu.
Viz také
Koncepty
Kryptografický model rozhraní .NET framework