|
Technologie zapewniające bezpieczeństwo w systemach operacyjnych.
|
Uwierzytelnianie
Uwierzytelnianie = Autentykacja
Co to jest
Sprawdzanie tożsamości i wiarygodności użytkowników, zapewnianie, że nikomu nie uda się uzyskać dostępu do systemu bez wykazania, że rzeczywiście ma do tego prawo.
Jak to działa
Zazwyczaj użytkownik przedstawia się sam, rolą mechanizmu uwierzytelniania jest
potwierdzenie jego tożsamości. W tym celu można wykorzystać:
- stan posiadania użytkownika (klucz, karta);
- wiedzę użytkownika (hasło i nazwa użytkownika);
- atrybut użytkownika (podpis, odcisk palca, obraz siatkówki oka itp.)
Metoda najpopularniejsza - hasła
Mechanizm bazujący na hasłach jest najpopularniejszą i prostą w formie metodą autentykacji. Użytkownik najpierw się przedstawia - wpisuje login, który jednoznacznie go identyfikuje, a następnie jest proszony o podanie hasła. Hasła użytkowników zapisane są w systemie, w trakcie logowania podane hasło jest porównywane z tym zapamiętanym.
Wady haseł. Możliwe jest ich złamanie, co może się odbyć przez zgadnięcie,
przypadkowe ujawnienie, działanie celowe itp.
- Niektóre hasła są zbyt oczywiste (na przykład własne imię)
i łatwe do odgadnięcia.
- Metody siłowe (brute force), czyli wypróbowanie wszystkich możliwych
kombinacji znaków aż do znalezienia hasła.
- Podglądanie, dosłowne (przez ramię wpisującego hasło użytkownika)
lub elektronicznego. Użytkownik mający dostęp do sieci może zamontować
monitor sieci i śledzić wszystkie dane przekazywane przez sieć.
Hasła w Linuxie i UNIX'ie
System kont użytkowników
Realizuje dostęp użytkowników tylko do ich prywatnych zasobów i żadnych innych.
Konta identyfikowane przez nazwę (login) i UID
Dostęp do kont chroniony hasłami
W UNIX'ie mechanizm haseł jest jedyną techologią służącą do ochrony kont.
Dobre hasła
- hasła dłuższe niż 5 znaków,
- nie mogą zawierać nazwy systemu lub komputera (UNIX, LINUX, IBM),
- nie zawiera nazwy użytkownika
- nie bazuje na starym haśle użytkownika
W przeciwnym razie byłyby wyjątkowo łatwe do zgadnięcia. Program passwd,
a przynajmniej jego nowe wersje, dba, by hasła były pod tym względem poprawne.
Przechowywanie haseł
-
Hasła są zapisywane w pliku
/etc/passwd w postaci kodowanej, albo w pliku /etc/shadow z prawem odczytu tylko dla roota (Red Hat, Debian).
-
Autoryzacja polega na zaszyfrowaniu podanego przez użytkownika hasła i porównaniu go z tym zapisanym.
Dodatkowe zabezpieczenia i informacje
- Hasła mają od 4 do 11 znaków.
- Hasła kodowane za pomocą jednokierunkowej funkcji transformacji
crypt() z użyciem 56 bitowego klucza.
- Funkcja jest na haśle wywoływana 25 razy w celu zwiększenia stopnia kodowania.
- Sól - 12 bitowa liczba (0 - 4095) zależna od czasu, dopisywana na pierwszych 2 bajtach kodowanego hasła.
- Nie istnieje algorytm dekodujący hasła unixowe.
- Metody zapobiegające atakom siłowym: blokowanie kont, zwiększanie czasu pomiędzy kolejnymi próbami (Linux);
Większość systemów unixowych używa do kodowania jednostronnego
algorytmu DES (Data Encryption Standard).
DES, który stał się standardowym rozwiązaniem, daje możliwość zastosowania 56 bitowego
klucza.