Nie zapisuj hasła i loginu na kartce. Nie zapamiętuj haseł w przeglądarce. Nie trzymaj ich w „czystym tekście” w plikach lub w notatkach. Nie twórz haseł na podstawie pojęć, które są Ci bliskie, np. ważnych dat lub imion członków rodziny. Używaj długich i trudnych haseł jak: „qt8432FEdK7kcVT”. I najlepiej bądź w stanie podać je z pamięci.

To są najczęstsze nakazy specjalistów do spraw bezpieczeństwa w IT. Dobra informacja: są one słuszne i poprawne. Zła informacja: bardzo często idą przegrywają z rozwiązaniami, które nie są dla użytkowników aż tak problematyczne.W tym artykule zamierzam skupić się na dwóch aspektach zarządzania loginami i hasłami – przechowywaniu oraz, co jeszcze ważniejsze, przesyłaniu tych wrażliwych danych. 

Sposoby przechowywania loginów i haseł

Jeśli nie możemy zapisać loginu i hasła w „czystej postaci”, potrzebujemy systemu, który będzie te dane szyfrował i rozszyfrowywał na żądanie. System taki musi spełniać kilka podstawowych wymagań:

  • Musi przechowywać dane w zabezpieczonej formie, której nie da się w prosty sposób załamać. Przez proste złamanie rozumiemy atak, który pozwala na złamanie zabezpieczeń w ciągu kilku dni lub miesięcy.
  • Dostęp do loginów i haseł musi być prosty od strony uprawnionego użytkownika. Jeśli nie będzie, użytkownik bardzo szybko wróci do „starych sprawdzonych rozwiązań”, czyli do trzymania wszystkich loginów i haseł w jednym miejscu, w „czystym tekście”.

Jest kilka rozwiązań, które spełniają te warunki.

Jeśli ufasz rozwiązaniom w chmurze…

LastPass, dashlane i 1Password są rozwiązaniami opartymi na przechowywania loginów i haseł w chmurze i pozwalają na dostęp do zapisanych haseł z wielu miejsc i z wielu urządzeń. Wszystkie można wykorzystać komercyjnie oraz ustalać, który użytkownik ma dostęp do danego loginu i hasła.

Jeśli nie ufasz rozwiązaniom w chmurze

KeePass i Password Safe umożliwiają przechowywanie loginów i haseł w zaszyfrowanym pliku oraz na dostęp do zapisanych haseł z komputera, na którym się znajdują. Są to bardzo bezpieczne rozwiązania oparte na Open Source, co pozwala na pełne poznanie ich mechanizmu działania. Porównanie wszystkich wymienionych wyżej rozwiązań znajduje się tutaj.

Jeśli zdecydujesz się korzystać z któregokolwiek z nich, Twoje loginy i hasła będą stosunkowo bezpiecznie przechowywane. Oczywiście każde rozwiązanie może zostać prędzej czy później złamane, ale i tak są to one bezpieczniejsze o kilka rzędów wielkości niż pliki tekstowe czy kartki z zapisanymi loginami i hasłami. Jeśli sami wygenerowałeś bezpieczne hasło i jesteś jedynym użytkownikiem loginu, możesz uznać sprawę bezpieczeństwa tych danych za zamkniętą. Jeśli jednak login i hasło mają być przesłane do finalnego użytkownika, jesteś dopiero w połowie drogi do jego zabezpieczenia.

Sposoby przesyłania loginów i haseł

Bardzo często myśląc o bezpieczeństwie loginów i haseł bierzemy pod uwagę wyłącznie sposób ich przechowywania. Jednak w wielu wypadkach, a szczególnie w świecie IT loginy i hasła są przesyłane między administratorami a użytkownikami lub pomiędzy developerami a klientem. 

Podam prosty przykład. Mam dostęp do konta FTP i wysyłam go za pomocą e-maila do klienta, który potrzebuje dostępu do tego konta. W tej sytuacji login i hasło będą zapisane w 4 niezależnych miejscach: w moim systemie do przechowywania haseł, w systemie klienta, w mojej skrzynce e-mail i w skrzynce klienta.Oczywiście w idealnym świecie wysłałbym takie informacje w zaszyfrowanym pliku za pomocą jednego medium, np. e-maila, a hasło do niego – za pomocą drugiego, np. komunikatora lub SMSa. Niosłoby to jednak za sobą kilka problemów:

  • Osoby mniej technicznie zaawansowane, mające szyfrować i rozszyfrowywać pliki z wykorzystaniem napisanego pod to oprogramowania, mogą łatwo popełnić błąd i zniechęcić się do szyfrowania danych. Wrócą wówczas do „starych sprawdzonych rozwiązań”, czyli do wysyłania wszystkiego w „czystym tekście”.
  • Mimo że dane są zaszyfrowane, są nadal przetrzymywane nie tylko w docelowym punkcie, ale także w medium, którym zostały wysłane.

I tutaj pojawia się pytanie: w jaki sposób przesyłać loginy, hasła i inne wrażliwe dane w sposób, który będzie równocześnie bezpieczny, prosty i nie będzie tworzył dodatkowych kopii? Odpowiedź jest prosta: wykorzystać system, który pozwala wysyłać jednorazowe wiadomości, które są automatycznie niszczone natychmiast po przeczytaniu.

Jest wiele systemów online, które dają tę możliwość, m.in. One Time Secret, One time czy PrivNote. Wszystkie one działają na podobnej zasadzie:

  •  Jest generowany jednorazowy adres URL zawierający klucz wiadomości.
  • Wiadomość jest szyfrowana za pomocą klucza wiadomości i w tej formie przechowywana na serwerze.
  • Po otwarciu jednorazowego linku wiadomość jest rozszyfrowana i odsyłana klientowi, a równocześnie usuwana z serwera.

Dzięki temu rozwiązaniu schemat wysyłania loginów i haseł może wyglądać następująco:

  1. Do formularza na jednej z wymienionych stron wklejamy wrażliwe informacje, które chcemy komuś bezpiecznie przekazać.
  2. Otrzymujemy w odpowiedzi adres URL.
  3. Wysyłamy ten adres za pomocą typowych kanałów komunikacji (e-mail, chat) do docelowego odbiorcy.
  4. Odbiorca po wejściu na wysłany przez nas adres URL otrzymuje odszyfrowaną wiadomość, którą może przechować w swoim systemie do zapamiętywania haseł.
  5. Wiadomość jest usuwana ze strony po jej przeczytaniu.Wysłane informacje nie są więc przechowywane, jak w poprzednim scenariuszu, w czterech miejscach, a jedynie w dwóch – w moim systemie do przechowywania haseł i w systemie odbiorcy. Jest tak, ponieważ w medium transportowym (e-mail, chat) podany będzie tylko adres URL, a dane, które się pod nim znajdowały, zostały fizycznie usunięte.

Oczywiście jeśli ktoś nie ma zaufania do wymienionych serwisów, może uruchomić taki serwis na własnej infrastrukturze. Można stworzyć podobne rozwiązanie samemu – nie wymaga ono dużego nakładu pracy – lub wykorzystać gotowe rozwiązanie Open Source na GitHub.

Przechowywanie i wysyłanie loginów, haseł oraz innych danych wrażliwych nie jest tematem, który można potraktować lekko. Z jednej strony zbyt luźna polityka w tym zakresie może spowodować naruszenie bezpieczeństwa całej firmy. Z drugiej zaś zbyt sztywne wymagania mogą skutkować tym, że użytkownicy się do nich nie zastosują.A jakie są Twoje doświadczenia z zarządzaniem przechowywaniem loginów i hasłem? Jakie techniki stosujesz, żeby zapewnić ich bezpieczeństwo? Napisz w komentarzu i podziel się swoimi doświadczeniami.

Coach, mentor and Team Leader. Certified .NET developer, Agile enthusiast and Machine Learning specialist. In his free time ̶ avid scuba diver and fantasy books reader.
  • Łukasz Kuczyński

    Super! Bardzo praktyczne, będę rozsyłał hasła online. Dzięki!