Notatka
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.
Dostępnych jest wiele technik ograniczania zagrożeń, których można użyć do lepszego zabezpieczenia haseł. Te techniki są implementowane przy użyciu co najmniej jednej z następujących podstawowych technologii.
| Technologia | Opis |
|---|---|
| Kryptografia: Następna generacja (CNG) | CNG jest preferowanym interfejsem API kryptograficznym na potrzeby programowania Windows. Obsługuje nowoczesne algorytmy, izolację kluczy i elastyczność kryptograficzną. Aby uzyskać więcej informacji, zobacz Funkcje CNG. |
| Listy kontroli dostępu | Listalisty kontroli dostępu (ACL) to lista zabezpieczeń, która ma zastosowanie do obiektu. Obiekt może być plikiem, procesem, zdarzeniem lub czymkolwiek innym, który ma deskryptor zabezpieczeń. Aby uzyskać więcej informacji na temat list ACL, zobacz Access Control List. |
| Interfejs API ochrony danych (DPAPI) | Interfejs DPAPI udostępnia funkcje szyfrowania i odszyfrowywania poufnych danych powiązanych z kontem użytkownika lub maszyną: CryptProtectData, CryptUnprotectData, CryptProtectMemory i CryptUnprotectMemory. |
| menedżer poświadczeń Windows | Zapewnia bezpieczny magazyn poświadczeń użytkownika (haseł, certyfikatów i innych wpisów tajnych). Użyj elementów CredWrite i CredRead w celu uzyskania dostępu programowego. Dostępne również za pośrednictwem credUIPromptForWindowsCredentials. |
Note
Interfejs CryptoAPI (starsze Crypt* funkcje) jest nadal obsługiwany w celu zapewnienia zgodności z poprzednimi wersjami, ale nowy kod powinien używać interfejsów API CNG (Cryptography: Next Generation) do obsługi nowoczesnego algorytmu i ulepszonej architektury zabezpieczeń.
Poniższe techniki ograniczania zagrożeń używają co najmniej jednej z powyższych technologii.
Pobieranie haseł od użytkownika
Gdy zezwolisz użytkownikowi na skonfigurowanie hasła, wymuś użycie silnych haseł. Na przykład wymagaj, aby hasła mają minimalną długość, taką jak osiem znaków lub więcej. Hasła powinny być również wymagane do uwzględnienia wielkich i małych liter, cyfr i innych znaków klawiatury, takich jak znak dolara ($), wykrzyknik (!) lub większy niż (>).
Po otrzymaniu hasła użyj go szybko (jak najmniej kodu), a następnie wymazaj wszystkie elementy hasła. Minimalizuje to czas dostępny dla intruza w celu "pułapki" hasła. Kompromis z tą techniką to częstotliwość pobierania hasła od użytkownika; należy jednak stosować zasadę wszędzie tam, gdzie jest to możliwe. Aby uzyskać informacje na temat prawidłowego pobierania haseł, zobacz Monituj użytkownika o poświadczenia.
Unikaj podawania opcji interfejsu użytkownika "zapamiętaj hasło". Często użytkownicy będą domagać się posiadania tej opcji. Jeśli musisz go podać, upewnij się, że hasło zostanie zapisane w bezpieczny sposób. Aby uzyskać informacje, zobacz sekcję Przechowywanie haseł w dalszej części tego tematu.
Ogranicz próbę wprowadzania hasła. Po określonej liczbie prób bez powodzenia zablokuj użytkownika przez pewien czas. Opcjonalnie wydłuża czas odpowiedzi dla każdej próby na maksymalną wartość. Ta technika ma na celu pokonanie ataku zgadywania.
Przechowywanie haseł
Warning
Nigdy nie przechowuj haseł w postaci zwykłego tekstu (niezaszyfrowanego) — nie w plikach, rejestrze, konfiguracji ani kodzie źródłowym. Szyfrowanie haseł znacznie zwiększa ich bezpieczeństwo.
Aby uzyskać informacje na temat przechowywania zaszyfrowanych haseł, zobacz CryptProtectData. Aby uzyskać informacje na temat szyfrowania haseł w pamięci, zobacz CryptProtectMemory. Przechowywanie haseł w jak najmniejszej liczbą miejsc. Im więcej miejsc jest przechowywane hasło, tym większe prawdopodobieństwo, że intruz może go znaleźć. Nigdy nie przechowuj haseł na stronie internetowej ani w pliku internetowym. Przechowywanie haseł na stronie internetowej lub w pliku internetowym umożliwia ich łatwe naruszenie.
Po zaszyfrowaniu hasła i zapisaniu go użyj bezpiecznych list ACL, aby ograniczyć dostęp do pliku. Alternatywnie można przechowywać hasła i klucze szyfrowania na urządzeniach wymiennych. Przechowywanie haseł i kluczy szyfrowania na nośniku wymiennym, takim jak karta inteligentna, pomaga utworzyć bardziej bezpieczny system. Po pobraniu hasła dla danej sesji można usunąć kartę, co spowoduje usunięcie możliwości uzyskania dostępu do niej przez intruza.