Szyfrowanie

Szyfrowanie jest często tematem związanym z bezpieczeństwem, ale ma też znaczenie dla prywatności. Szyfrowanie ma zapobiec odczytywaniu zaszyfrowanych informacji przez inne osoby, ale to jeden ze sposobów na zachowanie prywatności. Użytkownik jest często ograniczony w zakresie możliwości samodzielnego wykonania tych czynności, ale z Twoją pomocą jako dostawca usługi, z której korzysta, szyfrowanie może pomóc zachować jego dane.

Istnieją 3 odpowiednie sposoby stosowania szyfrowania, aby lepiej chronić prywatność użytkowników: szyfrowanie podczas przesyłania, szyfrowanie w spoczynku i pełne szyfrowanie:

  • Szyfrowanie podczas przesyłania to szyfrowanie danych między użytkownikiem a witryną, czyli HTTPS. Prawdopodobnie masz już skonfigurowany protokół HTTPS w swoich witrynach, ale czy wszystkie dane przesyłane do Twoich witryn są szyfrowane? Do tego służą przekierowania i HSTS. Opisujemy je poniżej. Powinny one być częścią konfiguracji HTTPS.
  • Szyfrowanie w spoczynku to szyfrowanie danych przechowywanych na Twoich serwerach. Jest to ochrona przed naruszeniami bezpieczeństwa danych i ważnym elementem Twojego podejścia w zakresie bezpieczeństwa.
  • Pełne szyfrowanie polega na szyfrowaniu danych na kliencie, zanim trafią na Twój serwer. Chroni to dane użytkowników nawet przed Tobą: możesz przechowywać dane użytkowników, ale nie możesz ich odczytywać. Jest trudna do wdrożenia i nie sprawdza się w przypadku wszystkich typów aplikacji. Stanowi jednak silne zabezpieczenie na poziomie prywatności użytkownika, ponieważ nikt poza nim nie widzi danych użytkownika.

HTTPS

Pierwszym krokiem jest udostępnianie usługi internetowej przez HTTPS. Jest bardzo prawdopodobne, że już to zrobisz, ale jeśli nie, jest to już ważny krok. HTTPS to protokół HTTP, czyli protokół, którego przeglądarka używa do przesyłania żądań stron internetowych z serwera, ale szyfrowany jest przy użyciu protokołu SSL. Oznacza to, że osoba przeprowadzająca atak z zewnątrz nie może odczytać ani zakłócić żądania HTTPS między nadawcą (użytkownikiem) a odbiorcą (Ty), ponieważ jest ono zaszyfrowane i nie może odczytać ani zmienić żądania. To szyfrowanie podczas przesyłania, czyli danych między Tobą a użytkownikiem. Szyfrowanie HTTPS podczas przesyłania uniemożliwia też dostawcy usług internetowych użytkownika lub dostawcy sieci Wi-Fi odczytanie danych wysyłanych w ramach korzystania z Twojej usługi. Może też wpływać na funkcje usługi: wiele zastosowań istniejących interfejsów API JavaScript wymaga, aby witryna była wyświetlana przy użyciu protokołu HTTPS. MDN ma bardziej kompleksową listę, ale interfejsy API dostępne w bezpiecznym kontekście obejmują mechanizmy Service Worker, powiadomienia push, udostępnianie internetowe i kryptowaluty, a także niektóre interfejsy API urządzeń.

Aby wyświetlać witrynę przy użyciu protokołu HTTPS, potrzebujesz certyfikatu SSL. Można je utworzyć bezpłatnie za pomocą Let's Encrypt lub często mogą być udostępniane przez Twoją usługę hostingową, jeśli z niej korzystasz. Możesz też korzystać z usługi zewnętrznej, która „serwera proxy” obsługuje Twoją usługę internetową i może udostępniać protokół HTTPS, a także usługi buforowania i usługi CDN. Jest wiele przykładów takich usług, np. Cloudflare czy Fastly. Wybór konkretnego sposobu zależy od Twojej obecnej infrastruktury. W przeszłości wdrożenie protokołu HTTPS było uciążliwe lub kosztowne, dlatego był używany wyłącznie na stronach płatności lub w szczególnie bezpiecznych źródłach. Jednak powszechnie dostępne certyfikaty, ulepszenia standardów i coraz większa liczba przeglądarek eliminują te przeszkody.

Tak

  • Włącz protokół HTTPS na swoich serwerach w przypadku wszystkich celów (niezależnie od wybranej metody).
  • Rozważ użycie serwera proxy, z którego korzystają Twoje serwery, na przykład Cloudflare (na httpsiseasy.com/ dowiesz się, jak to zrobić).
  • Let's Encrypt przeprowadzi Cię przez proces tworzenia własnego certyfikatu SSL Let's Encrypt.
  • Możesz też użyć OpenSSL bezpośrednio, aby utworzyć własny certyfikat i podpisać go przez wybrany urząd certyfikacji (szczegóły włącz HTTPS),

Wybór podejścia zależy od kompromisów biznesowych. Połączeniem SSL najłatwiej skonfigurować za pomocą usługi firmy zewnętrznej, która niesie ze sobą inne korzyści, takie jak równoważenie obciążenia, zapisywanie w pamięci podręcznej i analityka. Wiąże się to jednak również z oczywistym nałożeniem pewnej kontroli na firmę zewnętrzną i nieuniknionym uzależnieniem od jej usług (oraz możliwych płatności w zależności od wykorzystywanych usług i poziomu natężenia ruchu).

Generowanie certyfikatów i podpisywanie ich przez urząd certyfikacji to tak jak do tej pory proces SSL. Jednak korzystanie z Let's Encrypt może być łatwiejsze, jeśli obsługuje je Twój dostawca lub jeśli technicznie zespół dysponuje odpowiednimi umiejętnościami i jest bezpłatne. Jeśli używasz czegoś na wyższym poziomie niż hosting w chmurze, Twój dostawca często oferuje SSL jako usługę, więc warto to sprawdzić.

Dlaczego

Bezpieczeństwo jest częścią historii ochrony prywatności: możliwość zaprezentowania, że dane użytkowników są chronione przed zakłóceniami, pomaga budować zaufanie. Jeśli nie stosujesz protokołu HTTPS, Twoje witryny są też oznaczane jako „niezabezpieczone” przez przeglądarki (i od jakiegoś czasu). Istniejące interfejsy API JavaScript są często dostępne tylko dla stron HTTPS („bezpieczne źródła”). Chroni też użytkowników przed dostępem do internetu dla dostawców usług internetowych. Jest to z pewnością sprawdzona metoda – obecnie niemal nie ma powodu, aby używać protokołu HTTPS w witrynach.

Jak przeglądarki wyświetlają stronę HTTP (niezabezpieczoną)