Rozdział 22 · Tworzenie stron internetowych z Python

HTTPS: zabezpieczenie połączenia ze stroną

HTTPS chroni kanał między przeglądarką a serwerem, ale nie zastępuje bezpieczeństwa samej aplikacji.

HTTPS — użycie protokołu HTTP na TLS (Transport Layer Security): te same wiadomości zapytanie-odpowiedź, ale połączenie, którym są przesyłane, jest zabezpieczone. To ważne, ponieważ zwykłe zapytanie HTTP- przechodzi przez sieć bez szyfrowania transportowego: każdy, kto technicznie potrafi przechwycić ruch między przeglądarką a serwerem (np. w sieci publicznej Wi-Fi), może go odczytać lub niezauważalnie zmienić.

HTTPHTTPS
Dane w ścieżceBez szyfrowaniaZaszyfrowane
Czy można przechwycić i odczytaćTak, technicznie jest to możliwePraktycznie żadnych – bez klucza szyfrującego treść jest nieczytelna
Czy możliwe jest podszywanie się pod dane podczas transportu, nie będąc zauważonym?TakNie – Podszywanie się narusza sprawdzenie integralności i połączenie jest uznawane za nieprawidłowe
Weryfikacja tożsamości serweraTakCertyfikat potwierdza, że serwer jest tym, za kogo się podaje

TLS rozwiązuje trzy problemy: poufność (dane w trakcie przesyłania są nieczytelne dla osób trzecich), integralność (odbiorca może wykryć, że dane zostały zmienione w trakcie przesyłania) i autentyczność serwera (certyfikat potwierdza, że Porozmawiaj z tym serwerem, nie z tym zastępczym).

HTTPS chroni kanał, a nie sama aplikacja
HTTPS nie czyni strony „bezpieczną” po drodze między przeglądarką a serwerem, ale jeśli wystąpi błąd w samej aplikacji (na przykład SQL- injection – sekcja 22.32), HTTPS go w żaden sposób nie naprawia: dane trafiają do serwera w całości i będą tam niepoprawnie przetwarzane. Są to różne warstwy ochrony, a jedna nie zastępuje drugiej.

Celowo nie analizujemy matematyki szyfrowania — na tym poziomie w tworzeniu stron internetowych Z rozdziału wystarczy wiedzieć, dlaczego HTTPS jest potrzebny i co dokładnie chroni. W rozwoju lokalnym (Rozdział 22.34) najczęściej używa zwykłego HTTP na swoim komputerze — szyfruje kanał nie jest wymagane w jednej maszynie; HTTPS staje się potrzebne, gdy aplikacja jest rzeczywista szczegółowy i dostępny przez Internet.