| Termin | Definicja |
|---|---|
| brak szyfrowania po stronie klienta | Brak szyfrowania po stronie klienta to luka bezpieczeństwa, w której dane są chronione dopiero po dotarciu do serwera. Gdzie powstaje problem z ochroną danychBrak szyfrowania po stronie klienta oznacza, że dane są przesyłane z laptopa lub komputera do serwera w postaci jawnej albo w formie, którą można łatwo odczytać przed rozpoczęciem właściwego szyfrowania. Klientem może być przeglądarka internetowa, aplikacja desktopowa, program mobilny albo inny program wysyłający dane przez sieć. Jeżeli aplikacja przygotowuje zwykły tekst, dokument, zdjęcie lub hasło i dopiero serwer wykonuje szyfrowanie, ochrona zaczyna działać dopiero po odebraniu danych przez system zdalny. Nie należy utożsamiać tego problemu z brakiem szyfrowania całego połączenia. Protokół HTTPS z TLS może chronić transmisję między urządzeniem a serwerem, ale nie oznacza, że dane są szyfrowane na urządzeniu w sposób, do którego serwer nie ma dostępu. W typowym modelu TLS przeglądarka szyfruje kanał komunikacyjny, a serwer po odebraniu żądania odszyfrowuje jego zawartość. Szyfrowanie po stronie klienta odnosi się natomiast do wcześniejszego etapu, w którym aplikacja szyfruje dane przed ich wysłaniem. Różnica między TLS a szyfrowaniem wykonywanym na urządzeniuTLS zabezpiecza dane podczas przesyłania przez sieć, ograniczając możliwość ich odczytu przez osoby obserwujące połączenie. Nie rozwiązuje jednak wszystkich problemów związanych z miejscem przetwarzania danych. Serwer zazwyczaj otrzymuje dane w postaci jawnej, aby móc je sprawdzić, przeliczyć, wyszukać lub zapisać. Jeżeli aplikacja nie szyfruje informacji przed wysłaniem, operator serwera, administrator systemu albo złośliwy kod działający w środowisku serwera może potencjalnie uzyskać dostęp do treści po jej odszyfrowaniu. W szyfrowaniu po stronie klienta dane są przekształcane w urządzeniu użytkownika, często z użyciem klucza dostępnego tylko w aplikacji albo wyprowadzonego z hasła. Do serwera trafia szyfrogram, czyli wynik działania algorytmu szyfrującego, a nie pierwotna treść. Taki model może ograniczyć zakres informacji dostępnych dla serwera, ale wymaga prawidłowego zarządzania kluczami. Utrata klucza lub hasła może uniemożliwić odczyt danych, a zmiana hasła nie zawsze pozwala odzyskać wcześniej zaszyfrowane pliki bez dodatkowego mechanizmu migracji kluczy. Jak rozpoznać brak szyfrowania po stronie klientaJednym ze sposobów analizy jest sprawdzenie działania aplikacji w narzędziach deweloperskich przeglądarki lub w programie monitorującym żądania sieciowe. Sama obecność połączenia HTTPS nie jest wystarczającym dowodem szyfrowania po stronie klienta. Należy zwrócić uwagę na to, czy treść wysyłanego żądania zawiera czytelne pola formularza, nazwy plików, tekst dokumentu albo inne dane przed ich przesłaniem. W przypadku aplikacji korzystającej z szyfrowania po stronie klienta w żądaniu powinien pojawić się szyfrogram lub struktura zawierająca zaszyfrowane dane, a nie pełna treść wejściowa. Weryfikacja powinna obejmować również kod aplikacji i sposób przechowywania kluczy. Istotne jest ustalenie, czy szyfrowanie odbywa się przed wywołaniem funkcji wysyłającej dane, czy dopiero po stronie serwera. Trzeba także sprawdzić, czy klucz nie jest zapisany na stałe w kodzie JavaScript, pliku konfiguracyjnym lub pamięci lokalnej bez odpowiedniego zabezpieczenia. Nieprawidłowo zaprojektowane szyfrowanie może dawać jedynie pozorne poczucie bezpieczeństwa, jeżeli aplikacja automatycznie przesyła klucz razem z szyfrogramem albo udostępnia go każdemu zalogowanemu składnikowi systemu. Skutki dla aplikacji używanej na laptopie lub komputerzeBrak szyfrowania po stronie klienta zwiększa znaczenie bezpieczeństwa samego serwera, aplikacji internetowej i wszystkich elementów obsługujących żądanie. Dane mogą być widoczne w pamięci procesu, logach diagnostycznych, systemach kolejkowania, kopiach zapasowych lub narzędziach monitorujących, zależnie od sposobu działania konkretnego rozwiązania. Ryzyko nie oznacza automatycznie, że dane zostały ujawnione, lecz wskazuje, że ochrona zależy głównie od kontroli po stronie infrastruktury serwerowej, a nie od ograniczenia dostępu do treści. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów i komputerów PC, w tym diagnostyką problemów z oprogramowaniem, przeglądarkami oraz konfiguracją połączeń sieciowych. W ramach analizy można sprawdzić, czy aplikacja korzysta z HTTPS, czy system nie przechwytuje danych przez złośliwe rozszerzenie, czy certyfikaty są poprawnie weryfikowane oraz czy na urządzeniu nie działają programy rejestrujące wpisywaną treść. Taka diagnostyka pozwala oddzielić brak szyfrowania po stronie klienta, będący cechą projektu aplikacji, od lokalnego problemu z komputerem lub środowiskiem użytkownika. |