8.5 Bezpieczne uwierzytelnianie
Rodzaj kontroli: Informacja
Właściwości bezpieczeństwa: Prewencyjne, Poufność, Integralność
Koncepcje cyberbezpieczeństwa: Ochrona, Zarządzanie tożsamością i dostępem
Obszary operacyjne: Kontrola
Kontrola
Bezpieczne technologie i procedury uwierzytelniania powinny być wdrożone zgodnie z ograniczeniami dostępu do informacji oraz polityką kontroli dostępu.
Cel
Zapewnienie bezpiecznej autoryzacji użytkownika lub podmiotu przed udzieleniem dostępu do systemów, aplikacji i usług.
Wytyczne
Należy dobrać odpowiednią technikę uwierzytelniania w celu potwierdzenia tożsamości użytkownika, oprogramowania, wiadomości oraz innych podmiotów.
Siła uwierzytelniania powinna być dostosowana do klasyfikacji informacji, do której uzyskiwany jest dostęp. W przypadkach wymagających silnego uwierzytelniania i weryfikacji tożsamości należy stosować metody alternatywne do haseł, takie jak certyfikaty cyfrowe, karty inteligentne, tokeny lub metody biometryczne.
Informacje uwierzytelniające powinny być uzupełnione o dodatkowe czynniki uwierzytelniania w przypadku dostępu do krytycznych systemów informatycznych (tzw. uwierzytelnianie wieloskładnikowe). Kombinacja różnych czynników uwierzytelniania (np. „coś, co wiesz”, „coś, co masz”, „coś, czym jesteś”) zmniejsza ryzyko nieautoryzowanego dostępu.
Uwierzytelnianie wieloskładnikowe może być wzbogacone o dodatkowe mechanizmy weryfikacyjne w określonych sytuacjach, np. w przypadku dostępu z nietypowej lokalizacji, nietypowego urządzenia lub o nietypowej porze.
Dane biometryczne używane do uwierzytelniania powinny zostać unieważnione w przypadku ich kompromitacji. Uwierzytelnianie biometryczne może być niewystarczające w określonych warunkach (np. wilgotność, starzenie się użytkownika), dlatego powinno być zawsze wspierane co najmniej jedną alternatywną metodą.
Procedury logowania
Procedura logowania do systemu lub aplikacji powinna minimalizować ryzyko nieautoryzowanego dostępu. Wdrożone technologie i procedury logowania powinny uwzględniać:
- a) brak wyświetlania wrażliwych informacji systemowych lub aplikacyjnych przed pomyślnym zakończeniem logowania, aby nie dostarczać informacji osobom nieautoryzowanym;
- b) prezentowanie ogólnego ostrzeżenia o dostępie wyłącznie dla autoryzowanych użytkowników;
- c) unikanie podpowiedzi podczas procesu logowania, które mogłyby pomóc osobom nieautoryzowanym (np. komunikaty o błędzie nie powinny wskazywać, która część danych logowania jest błędna);
- d) walidację danych logowania dopiero po ich pełnym wprowadzeniu;
- e) ochronę przed atakami typu brute-force na hasła i nazwy użytkowników, np.:
- stosowanie testów CAPTCHA,
- wymuszanie resetu hasła po określonej liczbie nieudanych prób,
- blokowanie konta użytkownika po przekroczeniu maksymalnej liczby błędów;
- f) rejestrowanie wszystkich nieudanych i udanych prób logowania;
- g) podnoszenie alertów bezpieczeństwa w przypadku wykrycia prób naruszenia mechanizmów logowania (np. powiadomienie użytkownika i administratorów systemu po określonej liczbie błędnych prób logowania);
- h) wyświetlanie lub wysyłanie na osobnym kanale informacji po pomyślnym logowaniu, takich jak:
- data i godzina ostatniego udanego logowania,
- szczegóły nieudanych prób logowania od ostatniego pomyślnego logowania;
- i) niewyświetlanie hasła w postaci jawnej podczas jego wprowadzania (w wyjątkowych przypadkach funkcja ta może być wymagana ze względów dostępności lub unikania błędów użytkowników);
- j) unikanie przesyłania haseł w postaci jawnej przez sieć w celu zapobieżenia przechwyceniu ich przez programy sniffer;
- k) automatyczne wylogowanie użytkownika po określonym czasie bezczynności, szczególnie w miejscach o podwyższonym ryzyku (np. publiczne lub zewnętrzne lokalizacje poza kontrolą organizacji oraz na urządzeniach końcowych użytkowników);
- l) ograniczenie czasu trwania sesji w celu zwiększenia bezpieczeństwa aplikacji o podwyższonym ryzyku i zminimalizowania okna czasowego dla potencjalnego nieautoryzowanego dostępu.
Inne informacje
Dodatkowe informacje na temat uwierzytelniania podmiotów można znaleźć w normie ISO/IEC 29115.