Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ochrona poufnych informacji w aplikacji ADO.NET i zarządzanie nimi zależy od podstawowych produktów i technologii używanych do ich tworzenia. ADO.NET nie zapewnia bezpośrednio usług zabezpieczania ani szyfrowania danych.
Kryptografia i kody skrótów
Klasy w przestrzeni nazw programu .NET Framework System.Security.Cryptography mogą być używane z aplikacji ADO.NET, aby zapobiec odczytywaniu lub modyfikowaniu danych przez nieautoryzowane osoby trzecie. Niektóre klasy są opakowaniami niezarządzanych interfejsów Microsoft CryptoAPI, podczas gdy inne są implementacjami zarządzanymi. Temat Usług kryptograficznych zawiera omówienie kryptografii w programie .NET Framework, opis sposobu implementowania kryptografii oraz sposobu wykonywania określonych zadań kryptograficznych.
W przeciwieństwie do kryptografii, która umożliwia szyfrowanie danych, a następnie odszyfrowywanie, skrótowanie danych jest procesem jednokierunkowym. Tworzenie skrótów danych jest przydatne, gdy chcesz zapobiec manipulacji, sprawdzając, czy dane nie zostały zmienione: biorąc pod uwagę identyczne ciągi wejściowe, algorytmy tworzenia skrótów zawsze generują identyczne krótkie wartości wyjściowe, które można łatwo porównać. Zapewnianie integralności danych przy użyciu kodów skrótu opisuje, jak można generować i weryfikować wartości skrótu.
Szyfrowanie plików konfiguracji
Ochrona dostępu do źródła danych jest jednym z najważniejszych celów podczas zabezpieczania aplikacji. Parametry połączenia stanowią potencjalną lukę w zabezpieczeniach, jeśli nie są zabezpieczone. Parametry połączenia zapisane w plikach konfiguracji są przechowywane w standardowych plikach XML, dla których program .NET Framework zdefiniował wspólny zestaw elementów. Konfiguracja chroniona umożliwia szyfrowanie poufnych informacji w pliku konfiguracji. Mimo że przeznaczona głównie dla aplikacji ASP.NET, chroniona konfiguracja może być również używana do szyfrowania sekcji plików konfiguracji w aplikacjach systemu Windows. Aby uzyskać więcej informacji, zobacz Ochrona informacji o połączeniu.
Zabezpieczanie wartości ciągów w pamięci
String Jeśli obiekt zawiera poufne informacje, takie jak hasło, numer karty kredytowej lub dane osobowe, istnieje ryzyko ujawnienia informacji po jego użyciu, ponieważ aplikacja nie może usunąć danych z pamięci komputera.
Element String jest niezmienny; nie można modyfikować jego wartości po jej utworzeniu. Zmiany, które wydają się modyfikować wartość ciągu, faktycznie tworzą nowe wystąpienie String obiektu w pamięci, przechowując dane jako zwykły tekst. Ponadto nie można przewidzieć, kiedy wystąpienia ciągu zostaną usunięte z pamięci. Odzyskiwanie pamięci z ciągami nie jest deterministyczne w przypadku mechanizmu garbage collection platformy .NET. Należy unikać używania String klas i StringBuilder , jeśli dane są naprawdę poufne.
Klasa SecureString udostępnia metody szyfrowania tekstu przy użyciu interfejsu API ochrony danych (DPAPI) w pamięci. Ciąg jest następnie usuwany z pamięci, gdy nie jest już potrzebny. Nie ma metody szybkiego odczytywania zawartości ToString
. Możesz zainicjować nowe wystąpienie SecureString
bez wartości lub przekazując wskaźnik do tablicy obiektów Char. Następnie możesz użyć różnych metod klasy do pracy z ciągiem.