Ochrana osobních údajů a zabezpečení dat
Sejf ochrana a správa citlivých informací v aplikaci ADO.NET závisí na základních produktech a technologiích používaných k jeho vytvoření. ADO.NET neposkytuje přímo služby pro zabezpečení ani šifrování dat.
Kryptografické kódy a kódy hash
Třídy v oboru názvů rozhraní .NET Framework System.Security.Cryptography lze použít z vašich ADO.NET aplikací, aby se zabránilo čtení nebo úpravě dat neoprávněnými třetími stranami. Některé třídy jsou obálky pro nespravované rozhraní Microsoft CryptoAPI, zatímco jiné jsou spravované implementace. Téma Kryptografické služby poskytuje přehled kryptografie v rozhraní .NET Framework, popisuje způsob implementace kryptografie a způsob provádění konkrétních kryptografických úloh.
Na rozdíl od kryptografie, která umožňuje šifrování a dešifrování dat, je hashování dat jednosměrným procesem. Data hash jsou užitečná, když chcete zabránit manipulaci tím, že zkontrolujete, že data nebyla změněna: vzhledem ke identickým vstupním řetězcům jsou algoritmy hash vždy identické krátké výstupní hodnoty, které lze snadno porovnat. Zajištění integrity dat pomocí kódů hash popisuje, jak můžete vygenerovat a ověřit hodnoty hash.
Šifrování konfiguračních souborů
Ochrana přístupu ke zdroji dat je jedním z nejdůležitějších cílů při zabezpečení aplikace. Připojovací řetězec představuje potenciální ohrožení zabezpečení, pokud není zabezpečené. Připojení ionové řetězce uložené v konfiguračních souborech jsou uloženy ve standardních souborech XML, pro které rozhraní .NET Framework definovala společnou sadu prvků. Chráněná konfigurace umožňuje šifrovat citlivé informace v konfiguračním souboru. I když jsou primárně určené pro ASP.NET aplikace, lze chráněnou konfiguraci použít také k šifrování oddílů konfiguračních souborů v aplikacích systému Windows. Další informace naleznete v tématu Ochrana Připojení ion informace.
Zabezpečení hodnot řetězců v paměti
String Pokud objekt obsahuje citlivé informace, například heslo, číslo platební karty nebo osobní údaje, hrozí riziko, že by se tyto informace mohly odhalit po použití, protože aplikace nemůže odstranit data z paměti počítače.
Hodnota String je neměnná. Její hodnotu nelze po vytvoření změnit. Změny, které se jeví jako změna řetězcové hodnoty, ve skutečnosti vytvoří novou instanci objektu String v paměti a uloží data jako prostý text. Kromě toho není možné předpovědět, kdy se instance řetězců odstraní z paměti. Relamace paměti s řetězci není deterministická s uvolňováním paměti .NET. Pokud jsou vaše data skutečně citlivá, měli byste se těmto třídám vyhnout String StringBuilder .
Třída SecureString poskytuje metody pro šifrování textu pomocí rozhraní DATA Protection API (DPAPI) v paměti. Řetězec se pak odstraní z paměti, když už ho nepotřebujete. Neexistuje žádná ToString
metoda pro rychlé čtení obsahu SecureString. Můžete inicializovat novou instanci SecureString
bez hodnoty nebo předáním ukazatele na pole Char objektů. Pak můžete použít různé metody třídy pro práci s řetězcem.