Skip to content

Latest commit

 

History

History
83 lines (61 loc) · 7.71 KB

wymienialnosc-metod-uwierzytelniania.rst

File metadata and controls

83 lines (61 loc) · 7.71 KB

Wymienialność metod uwierzytelniania

Wstęp

Dokument przedstawia kwestie związane z bezpieczeństwem i wygodą różnych metod uwierzytelniania, krytykując uwierzytelnianie za pomocą hasła i postulując zaprojektowanie systemu EZD w sposób na tyle elastyczny, aby pozwalał on na zastosowanie innych metod.

Identyfikacja za pomocą hasła

We współczesnych systemach informatycznych nadal najbardziej popularną metodą uwierzytelniania jest zastosowanie hasła. W dobrze zabezpieczonych systemach hasło jest zapisywane w bazie serwisu w postaci praktycznie uniemożliwiającej jego odszyfrowanie. Często stosuje się również dodatkową warstwę zabezpieczeń w postaci weryfikacji dwuetapowej. Tym samym zabezpieczenie procesu uwierzytelniania opiera się na dwóch filarach: tym, co użytkownik wie (hasło) i tym, co posiada (klucz TOTP). Taki sposób uwierzytelniania posiada szereg wad:

  1. Choć hasło w dobrze zabezpieczonym serwisie jest przesyłane przez sieć w postaci zaszyfrowanej, a także trafia do bazy danych po jednostronnym zaszyfrowaniu, to pomiędzy tymi dwoma czynnościami znajduje się ono w pamięci serwera w postaci odszyfrowanej.
  2. Użytkownikowi nie można udowodnić, że jego hasło jest faktycznie przechowywane w bazie danych w sposób niemożliwy do odszyfrowania.
  3. Użytkownik wpisujący hasło w miejscu publicznym jest podatny na kradzież hasła przez osoby podglądające przez ramię oraz za pomocą kamer monitoringu.
  4. Nawet jeśli hasło jest przechowywane na serwerze w postaci zaszyfrowanej, to użytkownik może mieć w innym, niewłaściwie zabezpieczonym serwisie, ustawione to samo hasło (choć jest to odradzaną praktyką). W przypadku włamania do bazy danych tamtego serwisu wystawione na ryzyko stają się oba konta.
  5. Jeśli użytkownik stosuje politykę ustawiania różnych haseł w każdym serwisie, z którego korzysta, to stwarza to trudności w zapamiętaniu ich wszystkich.
  6. Rozporządzenie Ministra Spraw Wewnętrznych i Administracji w sprawie dokumentacji przetwarzania danych osobowych oraz warunków technicznych i organizacyjnych,jakim powinny odpowiadać urządzenia i systemy informatyczne służące do przetwarzania danych osobowych nakłada obostrzenia na politykę zarządzania hasłami w niektórych systemach, co stanowi dodatkowe niedogodności.
  7. Jeśli użytkownik, rezygnując z zapamiętywania wszystkich haseł, zaczyna korzystać z menedżera haseł, to wystawia się na inne zagrożenia w przypadku, gdy menedżer haseł nie jest zabezpieczony właściwie [1].
  8. Poszczególne serwisy internetowe mogą wyłączać autouzupełnianie haseł [2] (takie rozwiązanie stosuje m.in. ePUAP), co w przypadku poszczególnych przeglądarek niekiedy utrudnia wygodne stosowanie menedżerów haseł [3].
  9. Menedżery haseł wbudowane w przeglądarki częstokroć nie aktywują domyślnie szyfrowania haseł za pomocą hasła głównego, co sprowadza zabezpieczenie uwierzytelniania do jednego filaru (to, co użytkownik posiada).
  10. Identyfikacja za pomocą hasła wymaga zazwyczaj, aby przed wysłaniem do serwera znajdowało się ono na komputerze użytkownika w postaci niezaszyfrowanej, co ułatwia jego wykradzenie (np. za pomocą programów typu keylogger).
  11. Jeżeli użytkownik nieopatrznie zaloguje się po HTTP na oszukańczą stronę udającą prawdziwy serwis, to oznacza to złamanie części zabezpieczenia oferowanej w tym przypadku przez hasło.

Identyfikacja za pomocą kryptografii asymetrycznej

Metody uwierzytelniania wykorzystujące kryptografię asymetryczną pozwalają na uniknięcie wielu problemów związanych z hasłami:

  1. Informacja wrażliwa (prywatny klucz kryptograficzny) nigdy nie jest przesyłana przez sieć, a zatem jedyną możliwością dla atakującego jest włamanie na urządzenie użytkownika. Biorąc pod uwagę to, że w skrajnych przypadkach może on wykorzystywać oddzielne urządzenie wyłącznie na potrzeby uwierzytelniania, czyni to potencjalne ataki dużo trudniejszymi.
  2. Prywatne klucze kryptograficzne można dodatkowo zaszyfrować za pomocą hasła, osiągając w ten sposób poziom zabezpieczeń oparty o dwa wymienione wcześniej filary.
  3. Identyfikacja za pomocą kryptografii asymetrycznej jest wygodniejsza (nie wymaga ręcznego przepisywania kodów TOTP).

Wśród tych metod można wymienić.

  • Bitid.
  • BitAuth. Identyfikacja następuje bez wykorzystania mechanizmu sesji, dla każdego zapytania oddzielnie. Jest to zatem rozwiązanie bezstanowe.
  • SQRL.
  • Certyfikaty klienckie SSL (wykorzystywane m.in. w estońskiej e-rezydencji).
  • Polski podpis kwalifikowany.

Identyfikacja w systemach EZD

W kontekście systemów EZD można w naturalny sposób wskazać następujące potencjalne metody uwierzytelniania jako zastępniki uwierzytelniania za pomocą hasła:

  1. Podpis kwalifikowany.
  2. Cyfrowa tożsamość — w przypadku, gdyby taka usługa, oferująca funkcjonalność podpisu, została wprowadzona przez rząd.
  3. Profil zaufany ePUAP — w przypadku, gdyby zyskał on adekwatny poziom zabezpieczeń [4].
  4. Certyfikaty klienckie SSL.

Z powyższych metod wyróżnić należy podpis kwalifikowany, jako że i tak prawdopodobnie będzie on wykorzystywany w systemie.

Wnioski

Identyfikacja za pomocą hasła jest metodą dość prymitywną i problematyczną. W projektowaniu systemów EZD warto uwzględniać możliwość uwierzytelniania za pomocą bardziej zaawansowanych technicznie i prostych w użyciu metod, m.in. tych, które wykorzystują kryptografię asymetryczną. Architektura systemu EZD powinna umożliwiać łatwe dodawanie nowych metod uwierzytelniania.

[1]

Na ten temat zob. m.in.:

  1. “Password Managers: Attacks and Defenses”. Dokument zdaje się przypisywać menedżerom haseł wiele win źle zabezpieczonych (głównie poprzez brak szyfrowania) stron internetowych, ale podaje też faktyczne luki (autouzupełnianie przy korzystaniu z HTTP haseł zapisanych podczas korzystania z HTTPS).
  2. Przechowywanie haseł niezaszyfrowanych (1 filar).
[2]Atrybut “autocomplete” znacznika <input> w HTML 5.
[3]Na ten temat zob. m. in.:“<form autocomplete="off"> no longer prevents passwords from being saved”. Historia zmian w przeglądarce Firefox wskazuje na trend ignorowania atrybutu autocomplete w przypadku pól haseł.
[4]W temacie bezpieczeństwa ePUAP zobacz „Nie używam profilu zaufanego na ePUAP”.