Podaj swoje hasło

Lista ta jest dosyć długa. Dla pojedynczych haseł ich spełnienie jest stosukowo proste, lecz co zrobić, jeżeli trzeba wygenerować 200 lub więcej haseł miesięcznie? Rozwiązaniem jest zastosowanie specjalnego programu do generowania haseł. Dobre programy tego typu powinny spełniać następujące funkcje:

  • generować różne rodzaje haseł:

  • PIN;

  • hasła zbudowane z losowych ciągów liter, cyfr i innych znaków niealfabetycznych, trudne do zapamiętania i odgadnięcia;

  • łatwe do zapamiętania hasła zbudowane np. z sylab języka polskiego lub innego obcego, które jednocześnie są trudne do odgadnięcia;

  • wykonywać pełną kontrolę jakości haseł, co jest związane z posiadaniem przez program dużej bazy danych słów z jęz. polskiego, wulgaryzmów, słów zastrzeżonych zarówno w jęz. polskim, jak i obcym;

  • zapewnić, aby hasła nie powtarzały się w określonym przedziale czasowym;

  • ułatwiać dystrybucję haseł poprzez ich wydruk na specjalnych formularzach dystrybucyjnych;

  • umożliwić użytkownikowi łatwe rozszerzanie słownika.
Stworzenie takiego programu nie jest proste, dlatego też nie są one tanie. Jedną z trudności jest opracowanie generatora liczb pseudolosowych o odpowiedniej jakości. Standardowe generatory dostępne w niemal wszystkich językach programowania są bardzo słabe i nie można ich wykorzystać do tego celu. Inną trudność stanowi skonstruowanie takiego algorytmu generowania haseł, który zapewnia jednakowe prawdopodobieństwo wygenerowania każdego hasła. Dotyczy to zwłaszcza haseł łatwych do zapamiętania, które budowane są z sylab danego języka.

Gdzie przechowywać hasło

Kolejnym problemem, z jakim spotykają się użytkownicy, jest przechowywanie haseł. Należy rozpatrzyć dwie sytuacje: przechowywanie haseł przez użytkowników w codziennej pracy oraz przechowywanie haseł w celach kontroli i audytu. O ile to drugie nie stanowi większego problemu (można wykorzystać sejfy, kasy pancerne, chronione pomieszczenia itp.), o tyle zabezpieczenie haseł użytkowników końcowych nastręcza wielu trudności i jest częstą przyczyną utracenia szczelności systemu. Najlepszym rozwiązaniem byłoby ich zapamiętanie. Niestety, praktyka wykazuje, że jest to rozwiązanie trudne do wyegzekwowania, zwłaszcza jeżeli użytkownicy zmuszeni są do zapamiętywania np. dziesięciu haseł miesięcznie. W takim przypadku hasła zostaną zapisane na kartce i nie pomogą żadne nakazy i zakazy. W wielu przypadkach można wprowadzić urządzenia i oprogramowanie do łatwego i - co najważniejsze - bezpiecznego przechowywania haseł. Program tego typu przechowuje hasła w postaci zaszyfrowanej np. algorytmem DES i udostępnia dopiero po podaniu głównego hasła dostępu. Hasła mogą być przechowywane zarówno na dysku, jak i na sprzętowych nośnikach pamięciowych, typu: pastylki pamięciowe lub karty magnetyczne. W zależności od systemu operacyjnego różny jest sposób działania programu. Na przykład dla systemu MS Windows program umożliwia automatyczne wprowadzenie wybranego hasła do dowolnego okienka w systemie, co pozwala na łatwy dostęp do wszystkich haseł, potrzebnych podczas pracy. Programy tego rodzaju nie rozwiązują do końca problemu, są jednak znacznym krokiem naprzód, zarówno jeśli chodzi o bezpieczeństwo, jak i wygodę użytkowania.

Od wielu lat istnieje pewne rozwiązanie, które całkowicie zwalnia użytkowników od konieczności pamiętania haseł, jak też zabezpiecza przed atakiem słownikowym i podsłuchem w sieci. Chodzi o tzw. hasła jednorazowe. Przykładowe rozwiązanie stosowane w systemach haseł jednorazowych oparte jest na specjalizowanej karcie precyzyjnego zegara umieszczonej w komputerze, którego czas wykorzystywany jest do generowania hasła ważnego np. 30 sek. Po upływie tego czasu hasło traci ważność, a karta generuje nowe. Użytkownik wyposażony jest w analogiczne urządzenie (wielkości małego kalkulatora), którego zegar jest zsynchronizowany z zegarem karty w komputerze. Algorytmy generowania hasła są identyczne, a zegary są zsynchronizowane, toteż zarówno karta w komputerze, jak i "kalkulator" użytkownika generują identyczne hasła, które użytkownik odczytuje na wyświetlaczu bezpośrednio przed podaniem go w procesie logowania.

Rozwiązanie to nie jest jednak wolne od wad. Przede wszystkim system operacyjny komputera lub oprogramowanie wykorzystujące hasła musi być przystosowane do współpracy z konkretnym typem karty. Jest to również rozwiązanie dosyć drogie.

Dla systemów unixowych istnieją tanie rozwiązania wykorzystujące wyłącznie oprogramowanie. Zasada działania jest podobna. Użytkownik podczas rejestracji w systemie wprowadza przypadkowy ciąg znaków, który jest wielokrotnie przekształcany funkcją jednokierunkową, generując zbiór kolejnych haseł. Są one następnie drukowane i przechowane przez użytkownika. Każde hasło z listy może być wykorzystane jedynie raz, po czym traci ważność. Rozwiązanie to nie jest wygodne w użyciu, natomiast zabezpiecza przed przechwyceniem hasła w sieci i atakiem słownikowym. Niewątpliwie największą wadą rozwiązań z hasłami jednorazowymi jest trudność w ich wdrożeniu, zwłaszcza gdy firmy dysponują rozmaitym sprzętem komputerowym, który trudno jest poddać unifikacji, oraz kłopotliwość w użyciu (w rozwiązaniach czysto programowych).

Należy zwrócić uwagę na fakt, że system haseł jest jedną z najtańszych i najprostszych w użyciu metod kontroli dostępu. W efekcie jest on bardzo popularnym rozwiązaniem w wielu miejscach, w których istnieje potrzeba ograniczenia dostępu do danych.

Większość słabości, które przejawia system haseł, można w stosunkowo prosty sposób wyeliminować lub zneutralizować przy stosunkowo niewielkich nakładach na jego utrzymanie, tak że stanie się on problemem dla hakera,.

<hr size=1 noshade>Artur Krystosik jest pracownikiem firmy Enigma Systemy Ochrony Informacji.

E-mail: [email protected]


TOP 200