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í:
Algoritmus typ třídy, například SymmetricAlgorithm, AsymmetricAlgorithm nebo HashAlgorithm. Tato úroveň je abstraktní.
Algoritmus třídy, která dědí z třídy typu algoritmus; for example, Aes, RC2, or ECDiffieHellman. Tato úroveň je abstraktní.
Implementace třídy algoritmus, který dědí z třídy algoritmus; for example, AesManaged, RC2CryptoServiceProvider, or ECDiffieHellmanCng. Tato úroveň je plně implementovaná.
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:
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í:
Utajení dat:
Integrita dat:
Digitální podpis:
Výměna klíčů:
Generování náhodných čísel:
Generování klíčů z hesla:
Viz také
Koncepty
Další zdroje
Historie změn
Datum |
Poslední dokumenty |
Důvod |
---|---|---|
Červenec 2010 |
Rozšířené téma. |
Rozšíření informace |