Kryptografický model rozhraní .NET framework

Rozhraní .NET Framework poskytuje implementaci mnoha standardních kryptografických algoritmů. Tyto algoritmy se snadno používají a mají nejbezpečnější možné výchozí vlastnosti. Kromě toho.NET Framework modelu kryptografie dědičnost objektů, návrh datového proudu a konfigurace je mimořádně rozšiřitelný.

Dědičnost objektů

Systém zabezpečení pro rozhraní .NET Framework implementuje rozšiřitelné vzory dědičnosti odvozených tříd. Hierarchie je následující:

Pomocí tohoto vzoru odvozených tříd, je snadné přidat nový algoritmus nebo novou implementaci existujícího algoritmu. Například pro vytvoření algoritmu veřejného klíče, byste měli podědit z třídy AsymmetricAlgorithm. Chcete-li vytvořit nové implementace konkrétní algoritmus by vytvořit-abstraktní třídy odvozené algoritmu.

Způsob implementace algoritmů v.NET Framework

Jako příklad pro algoritmus různými implementacemi zvažte symetrické algoritmy. Základ pro všechny symetrické algoritmy je SymmetricAlgorithm, který přechází na následující algoritmy:

  1. Aes

  2. DES

  3. RC2

  4. Rijndael

  5. TripleDES

Aespřechází dvě třídy: AesCryptoServiceProviderand AesManaged. AesCryptoServiceProvider Třída je obal kolem kryptografie Windows API (CAPI) provádění Aes, že AesManaged třídy je napsána zcela spravovaný kód. Je také třetí typ implementace, Kryptografie CNG (Next Generation), navíc spravované a implementace CAPI. Je například algoritmus CNG ECDiffieHellmanCng. CNG algoritmy jsou k dispozici v systému Windows Vista a novější.

Můžete zvolit provedení, které je pro vás nejvhodnější. Jsou k dispozici na všech platformách, které podporují implementace spravovaných.NET Framework. Implementace CAPI jsou k dispozici ve starších operačních systémech a jsou nadále rozvíjet. CNG je nejnovější implementace kde nový vývoj bude probíhat. Implementace spravovaných však jsou certifikovány podle zpracování norem FIPS (Federal Information) a může být pomalejší než wrapper třídu.

Návrh datového proudu

Modul CLR (Common Language Runtime) používá pro implementaci symetrických algoritmů a hash algoritmů návrh orientovaný na proudy. Jádrem tohoto návrhu je třída CryptoStream, která je odvozena z třídy Stream. Proudového kryptografických objekty podporují jediný standardní rozhraní (CryptoStream) pro zpracování datové části převodu objektu. Vzhledem k tomu, že všechny objekty jsou postaveny na standardním rozhraní, můžete společně zřetězit více objektů (například hash objekt následovaný objektem šifrování) a můžete provést více operací na datech bez nutnosti jejich jakéhokoliv meziskladování. Streaming modelu také umožňuje vytvářet objekty z menších objektů. Kombinované algoritmu hash a šifrovací můžete například zobrazit jako objekt jeden datový proud, přestože tento objekt může být sestaven z sadu objektů datového proudu.

Konfigurace kryptografie

Konfigurace šifrování umožňuje vyřešit konkrétní implementaci algoritmu název algoritmu, umožňující rozšiřitelnost.NET Framework kryptografie tříd. Můžete přidat vlastní hardwarovou nebo softwarou implementaci algoritmu a mapovat implementaci na název algoritmu, který jste zvolili. Pokud není algoritmus specifikován v konfiguračním souboru, je použito výchozí nastavení. Další informace o konfiguraci kryptografických viz Třídy konfigurace kryptografie.

Výběr algoritmu

Vyberte algoritmus různých důvodů: například pro integritu dat, osobních dat nebo ke generování klíče. Algoritmy hash a Symmetric jsou určeny pro ochranu dat pro integritu důvody (Ochrana před změnou) nebo z důvodů ochrany osobních údajů (zabránit zobrazení). Algoritmy hash se používají především pro integritu.

Zde je seznam doporučených algoritmů aplikací:

Viz také

Koncepty

Služby šifrování

Služby šifrování

Další zdroje

Kryptografické úlohy

Historie změn

Datum

Poslední dokumenty

Důvod

Červenec 2010

Rozšířené téma.

Rozšíření informace