Poniżej publikuję roboczą wersję artykułu mającego być próbą usystematyzowania stosowanych obecnie w praktyce metod uwierzytelnienia użytkownika. Wydzielone zostały mechanizmy potwierdzania tożsamości na etapie rejestraci, pozwalające na przypisanie do podmiotu tożsamości elektroniczne oraz metody uwierzytelnienia na etapie dostępu do usługi przez daną tożsamość elektroniczną. Zachęcam do dyskusji.
Metody weryfikacji tożsamości na etapie rejestracji
- Wnioskodawca wykonuje przelew na konto podmiotu rejestrującego (PR). Dowód tożsamości stanowi sprawowanie kontroli kontem bankowym, założonym przez bank po weryfikacji tożsamości (mechanizm stosowany np. przez Swistak.pl i Kokos.pl). Zagrożenie stanowi możliwość użycia cudzego konta lub konta założonego na „słupa".
- Podpis elektroniczny. Dowód tożsamości stanowi sprawowanie kontroli nad kluczem prywatnym przypisanym do certyfikatu elektronicznego, wystawionego przez podmiot po weryfikacji tożsamości. Zagrożenie stanowi możliwość użycia certyfikatu wystawionego według polityki nie zapewniającej wystarczającego poziomu weryfikacji tożsamości (np. Certum Level 1). Zabezpieczenie - ograniczenie dopuszczalnych polityk certyfikacji wystawcy.
- Wysłanie listu poleconego z kodem jednorazowym pod wskazany przez Wnioskodawcę adres. Dowód tożsamości stanowi wpisanie kodu w serwisie Podmiotu Rejestrującego. Zagrożenie stanowi możliwość odebrania listu przez inne osoby, uprawnione do odbioru listów poleconych. Zabezpieczenie - zwrotne poświadczenie odbioru z weryfikacją tożsamości przez listonosza. Zagrożenie - niedostateczna weryfikacja tożsamości.
- Weryfikacja tożsamości przez kuriera podczas dostarczenia przesyłki z kodem jednorazowym. J.w.
- Osobista weryfikacja na podstawie dokumentu tożsamości.
- Weryfikacja notarialna.
- Przesłanie kopii dokumentu tożsamości pocztą z podpisem odręcznym (jak w Certum Level III)
Mechanizmy uwierzytelnienia:
- Hasło stałe
- Przechowywane w postaci otwartej
- Przechowywane w postaci prostego skrótu (np. LMHASH lub proste MD5, SHA1 bez salta - podatne na ataki przy pomocy „rainbow tables")
- Przechowywane w postaci skrótu odpornego na łamanie (schematy oparte o PKCS#5 i podobne)
- Hasło jednorazowe
- Generowane w tokenie sprzętowym (np. RSA SecurID, Safe Word)
- Generowane przez aplikację w telefonie komórkowym (np. polska aplikacja CERB)
- Wydrukowane na karcie haseł (np. karty haseł w Multibanku, zdrapki w Inteligo)
- Wysyłane SMSem (np. Multibank, PlayMobile)
- Klucz prywatny w protokołach wykorzystujących operację podpisu cyfrowego
- Klucz przechowywany w pliku
- niezabezpieczony
- wymaganie odblokowanie hasłem
- Klucz przechowywany w magazynie systemu operacyjnego
- wg pochodzenia
- wygenerowany w systemie operacyjnym
- wygenerowany na zewnątrz i zaimportowany
- wg dostępności
- niezabezpieczony
- wymagana zgoda na użycie (wyskakuące okno z prośbą o potwierdzenie)
- wymagane odblokowanie hasłem
- wg eksportowalności
- eksportowalny
- nieeksportowalny
- wg pochodzenia
- Klucz przechowywany w pliku
- Klucz przechowywany w karcie kryptograficznej
- wg eksportowalności
- eksportowalny
- nieeksportowalny
- wg dostępności
- niechroniony
- chroniony kodem PIN
- wg eksportowalności
- Metody biometryczne
Parametry dodatkowe
- czas ważności danych uwierzytelniających - czas, po którym proces potwierdzenia tożsamości i kontroli nad tymi danymi musi być powtórzony (np. wygaśnięcie certyfikatu)
Ataki
- Na mechanizmy rejestracji i weryfikacji
- użycie fałszywego dokumentu tożsamości przy osobistej weryfikacji przez rejestratora,
- rejestracja na podstawioną osobę (tzw. „słup"),
- sfałszowanie kopii dokumentu tożsamości przy rejestracji pocztowej lub faksem,
- Na mechanizmy uwierzytelnienia
- Użycie cudzych danych uwierzytelniających przez osobę nieuprawnioną
- podsłuchanie podczas transmisji w sieci (np. przy pomocy sniffera w sieci osiedlowej lub niezabezpieczonej sieci WLAN),
- przejęcie na komputerze ofiary (np. ataki Cross-Site Scripting, key logger, skopiowanie klucza prywatnego),
- przejęcie po stronie serwera (np. kradzież skrótu z bazy aplikacji i złamanie przy pomocy słownika lub „rainbow tables"),
- zgadnięcie przy próbach zalogowania (np. oprogramowanie do testowania haseł z użyciem słownika typu Brutus czy Hydra),
- fizyczna kradzież (np. kradzież tokenu-generatora haseł jednorazowych)
- Skuteczne użycie nieautentycznych danych uwierzytelniających
- użycie ciągu znaków dającego taki sam skrót hasła (np. „abc" i „ABC" w przypadku LMHASH)
Parametry metod uwierzytelnienia
- Uwierzytelnienie przez wiedzę („something you know") - np. hasło, kod PIN
- Uwierzytelnienie przez posiadanie („something you have") - np. token sprzętowy
- Uwierzytelnienie przez charakterystykę („something you are") - metody biometryczne
Siła mechanizmu
- Wysoka - zapewnia ochronę przed atakującym o znacznych środkach i ukierunkowanym na daną osobę. Obejmuje ataki ze strony instytucji, firm bądź grup przestępczych dysponujących znacznym budżetem, będących w stanie wykonywać zaawansowane technicznie ataki i zdeterminowane na dokonanie ataku przeciwko starannie wybranej osobie lub podmiotowi. Przykłady działań to szpiegostwo przemysłowe, cyberterroryzm czy działania operacyjne służb specjalnych. Przykłady środków technicznych to zaawansowana kryptoanaliza, analiza ulotu elektromagnetycznego, ataki na karty kryptograficzne itp.
- Średnia - zapewnia ochronę przed atakującym o przeciętnych środkach i ukierunkowanym na określoną grupę osób. Obejmuje ataki ze strony grup dysponujących pewnym zapleczem finansowym i technicznym i ukierunkowanych na określone grupy ofiar. Przykłady działań to nowe formy phishingu ukierunkowane na określone grupy zawodowe, phishing z użyciem dodatkowego, złośliwego oprogramowania, wyłudzenia i fałszerstwa na znaczne sumy (np. na rynku nieruchomości czy papierów wartościowych). Przykłady środków technicznych to pisane pod konkretną grupę ofiar konie trojańskiej i reverse-engineering systemów operacyjnych.
- Niska - zapewnia ochronę przed atakującym o stosunkowo niewielkich środkach działającego, raczej wykorzystującego okazję niż aktywnie poszukującego ofiar według starannie wybranego profilu. Przykłady działań to tradycyjny phishing na masową skalę czy próby zgadywania haseł do serwisów internetowych.
Funkcje bezpieczeństwa
W przypadku mechanizmów uwierzytelniających można mówić o różnej przydatności danego mechanizmu dla pożądanej funkcji bezpieczeństwa:
- autentyczność pochodzenia
- niezaprzeczalność
Np. przechowywany w systemie, nieeksportowalny klucz bez hasła zapewni średni poziom autentyczności ale niski poziom niezaprzeczalności, ponieważ jego nieautoryzowane użycie jest możliwe.