Szyfrowanie TLS i weryfikacja certyfikatów
Chronić dane podczas przesyłania i weryfikować serwer.
Szyfrowanie TLS i weryfikacja certyfikatów to bezpłatna lekcja Arduino & IoT Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Arduino & IoT Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Arduino & IoT Academy zawiera 4 lekcji w sumie.
Po co w ogóle szyfrować
Dane przesyłane przez Wi-Fi i internet przechodzą przez wiele rąk. Szyfrowanie je zaciemnia, dzięki czemu tylko docelowy serwer może odczytać Twoje pomiary. 🔒
Poznaj TLS
TLS to warstwa, która przekształca HTTP w HTTPS. Szyfruje kanał między urządzeniem a serwerem, dzięki czemu podsłuchujący widzą tylko niezrozumiałe dane.
Uzdrawianie połączenia
Zanim przepłyną jakiekolwiek dane, obie strony uzgadniają klucze podczas uzgadniania. Ta konfiguracja potwierdza tożsamość serwera i ustanawia wspólny sekret.
Co potwierdza certyfikat
Serwer przedstawia certyfikat podpisany przez zaufany urząd. Potwierdza on, że serwer naprawdę jest tym, za kogo się podaje, a nie oszustem.
Szyfrowanie bez weryfikacji
Szyfrowanie bez sprawdzania jest niebezpieczne. Bez weryfikacji atakujący może znaleźć się pośrodku, przejąć klucze i odczytać wszystko.
Atak typu man-in-the-middle
Atakujący typu man-in-the-middle podszywa się pod serwer i przekazuje dalej Twój ruch. Weryfikacja certyfikatu dokładnie powstrzymuje ten atak.
Użyj WiFiClientSecure
Na ESP32 klasa WiFiClientSecure obsługuje połączenia TLS. Jest bezpiecznym odpowiednikiem zwykłego klienta używanego wcześniej do HTTP.
#include <WiFiClientSecure.h>
WiFiClientSecure client;Przypnij główny urząd certyfikacji
Przekaż urządzeniu certyfikat główny serwera, aby mogło zweryfikować zaufanie. Przypięty urząd certyfikacji pozwala płytce rozpoznać, że serwer jest autentyczny.
client.setCACert(root_ca); // verify the server against this trusted CANigdy nie pomijaj sprawdzania
Wywołanie setInsecure wyłącza całą weryfikację. setInsecure nadaje się do szybkiego testu, ale nigdy nie powinno trafić do wdrażanego produktu.
client.setInsecure(); // DANGER: trusts any server, use only for testingCertyfikaty wygasają
Każdy certyfikat ma datę ważności, dlatego weryfikacja wymaga poprawnego czasu. Urządzenie z nieprawidłowym zegarem może błędnie odrzucić prawidłowy serwer.
Szyfruj także MQTT
TLS służy nie tylko do HTTPS. Skieruj klienta MQTT na port brokera TLS, taki jak 8883, aby w ten sam sposób chronić komunikaty publikowania i subskrypcji.
Szybki sprawdzian
Samo szyfrowanie nie wystarczy. Co jeszcze ma znaczenie?
Podsumowanie
TLS szyfruje ruch, a certyfikaty potwierdzają tożsamość. Używaj WiFiClientSecure, przypnij zaufany urząd certyfikacji, ustaw poprawny czas i nigdy nie wdrażaj setInsecure. 🛡️
Ucz się C++ dzięki korepetycjom AI — za darmo
Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.
- Kursy
- 30
- Lekcje
- 120
Często zadawane pytania
Czy lekcja „Szyfrowanie TLS i weryfikacja certyfikatów” jest bezpłatna?
Tak — pełny tekst „Szyfrowanie TLS i weryfikacja certyfikatów” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Arduino & IoT Academy, przejdź na CoddyKit PRO. Kurs Arduino & IoT Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Szyfrowanie TLS i weryfikacja certyfikatów”?
Chronić dane podczas przesyłania i weryfikować serwer. Ćwiczysz Arduino & IoT Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Arduino & IoT Academy?
Nie wymagamy żadnego doświadczenia. Arduino & IoT Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.
Ile czasu zajmuje lekcja „Szyfrowanie TLS i weryfikacja certyfikatów”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Arduino & IoT Academy?
Tak. Każda lekcja Arduino & IoT Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Typowe powierzchnie ataku IoT
- Usuwanie sekretów z kodu
- Szyfrowanie TLS i weryfikacja certyfikatów
- Podpisywanie i zabezpieczanie firmware'u