Przystępując do tworzenia witryny swojego e-sklepu lub zlecając to komukolwiek, sprzedawca nie może zaniedbać kwestii bezpieczeństwa. Błędy popełnione na etapie planowania bywają bardzo trudne do usunięcia w przyszłości. W wyniku niewłaściwego zabezpieczenia serwisu może dojść nie tylko do spadku zadowolenia klientów, lecz także do strat finansowych powstałych na skutek kradzieży. Przygotowaliśmy krótki przewodnik, na co trzeba zwrócić uwagę w pierwszej kolejności.

Czy stosować szyfrowanie

Dane wprowadzone przez użytkownika do formularza są przesyłane przez sieć, mijają wiele routerów i serwerów, zanim dotrą do miejsca przeznaczenia. Z reguły urządzenia te tylko monitorują zajętość pasma, jeśli jednak cyberprzestępca zdobędzie kontrolę nad jednym z nich, to będzie mógł śledzić wszystkie przesyłki. Istnieją narzędzia nazywane snifferami, które służą do przechwytywania transmisji danych. Z ich pomocą osoby postronne mogą uzyskać dostęp do informacji niekiedy tak poufnych jak hasła. Aby ograniczyć możliwość ataku, warto wykorzystywać transmisję szyfrowaną, gdyż jej przechwycenie nie grozi odczytaniem. W bankowości internetowej i handlu elektronicznym powszechnie stosuje się bezpieczne połączenia internetowe (zob. „W trosce o bezpieczeństwo, czyli do czego służy SSL” – http://di.com.pl/porady/ 28175.html).

Przesyłane dane właściciel sklepu internetowego może zaszyfrować za pomocą protokołu SSL (ang. Secure Sockets Layer) lub jego rozwinięcia TLS (ang. Transport Layer Security). Aby to zrobić, musi najpierw wygenerować klucz prywatny swojego hosta i żądanie certyfikatu (ang. Certificate Signing Request, w skrócie CSR). W celu wprowadzenia szyfrowanych połączeń można się posłużyć darmowym, multiplatformowym narzędziem OpenSSL. CSR należy wysłać do zaufanego centrum certyfikacji, które wystawi certyfikat potwierdzający autentyczność zgłoszonej witryny.

Istnieje wprawdzie możliwość samodzielnego wygenerowania certyfikatu (również przy użyciu OpenSSL), nie jest to jednak zalecane. W przeciwieństwie do certyfikatów podpisanych przez znane i przeważnie zagraniczne podmioty nie będzie on obecny w popularnych przeglądarkach. Spowoduje to wyświetlanie się komunikatu o niezaufanym połączeniu podczas odwiedzin na zabezpieczonej w ten sposób stronie. Raczej nie wzbudzi to zaufania klientów. W Polsce w 2010 r. było 5 kwalifikowanych podmiotów świadczących usługi certyfikacyjne.

Jednym z często popełnianych błędów jest przechowywanie haseł w postaci jawnej, ewentualna kradzież bazy danych może bowiem w takim przypadku przysporzyć użytkownikom wiele kłopotów. Aby zminimalizować ryzyko, należy stosować program, który korzysta z funkcji hashującej. Podany przez użytkownika ciąg znaków jednoznacznie odwzorowywany jest na klucz o stałej długości. Do najczęściej używanych algorytmów należał SHA-1 (ang. Secure Hash Algorithm). Innego algorytmu MD5 (ang. Message Digest 5) nie uznaje się obecnie za bezpieczny i nie jest on zalecany. Od 2010 r. amerykański National Institute of Standards and Technology zaleca stosowanie funkcji skrótów SHA-2.

System, aby podjąć decyzję, czy wpuścić użytkownika do środka, generuje hash hasła wpisanego w formularz logowania i porównuje z zapamiętanym w bazie. Jeśli skróty są identyczne, udziela dostępu. Ponieważ algorytm jest jednoznaczny, takie samo hasło generuje zawsze taki sam hash. To natomiast, że funkcje skrótu są jednostronne (nie istnieje funkcja odwrotna), gwarantuje, że na podstawie skrótu nie da się algorytmicznie odtworzyć hasła. Tu właśnie rodzi się nasze bezpieczeństwo – tłumaczy Michał Piszczek, kierownik działu programistów w firmie ESC S.A. (zob. „Hashowanie haseł użytkowników – czy to konieczne?” – http:// di.com.pl/news/28895.html).

Przestępcy łamią hasła

Cyberprzestępcy dążą oczywiście do opracowania metod umożliwiających złamanie zahashowanych haseł.

Proces ten można utrudnić, stosując tzw. salt – przed przekształceniem każdego hasła należy dokleić do niego np. 100-znakowy ciąg definiowany w kodzie źródłowym. Spowoduje to, że moc przechowywanych w bazie haseł wzrośnie do tego stopnia, że staną się one praktycznie niepodatne na atak.