- Förklara konfidentialitet, integritet och tillgänglighet.
- Verifiera brokeridentitet med certifikat.
- Skilja autentisering från auktorisation och skydda nycklar.
Från hot till kontroll
Segmentering begränsar vilka nätverksvägar som finns, men tjänsten behöver också kontrollera sin motpart. TLS motverkar avlyssning och ändring av transportdata. Certifikatkontroll hjälper klienten att upptäcka en falsk broker. Topic-behörigheter begränsar vad varje klient får göra.
- Konfidentialitet: endast rätt mottagare kan läsa.
- Integritet: otillåtna förändringar upptäcks eller stoppas.
- Tillgänglighet: tjänsten fungerar och kan återhämta sig.
Så etableras MQTTS
Först upprättas TCP-anslutningen. Sedan görs en TLS-handshake där klienten kontrollerar servercertifikatet innan den skyddade MQTT-sessionen används. Kontrollen omfattar namn, giltighetstid och certifikatkedja till en betrodd CA.
En krypterad kanal till fel server löser inte identitetsproblemet. Stäng därför inte av certifikatkontrollen för att få en anslutning att fungera.
TCP → TLS-handshake → verifiera certifikat
→ MQTT-session → publish / subscribeVem är du, och vad får du göra?
Autentisering verifierar en identitet. Auktorisation avgör vilka operationer identiteten får utföra. En autentiserad sensor ska inte automatiskt få publicera på alla topics.
Följ minsta behörighet: sensorn publicerar på sitt eget telemetritopic, konsumenten prenumererar på avsedda topics och drift får de separata rättigheter som krävs för administration.
Hemligheter har en livscykel
CA-certifikat och klientcertifikat är offentliga. Den privata klientnyckeln är en hemlighet och brokerns privata nyckel ska stanna på brokern. Använd unik enhetsnyckel, skyddad provisionering och en plan för rotation och återkallelse.
Vid CA-byte kan gammalt och nytt förtroende behöva överlappa tills MQTTS och uppdateringar verifierats. Ta sedan bort gammalt förtroende. Logga tid, klient, operation och utfall, men aldrig privata nycklar, tokens eller lösenord.
Prova själv
Ta med ämnet in i ditt eget IoT-case. Dokumentera vad du upptäcker.
- Konfigurera en lokal testbroker med TLS och ett certifikat för rätt värdnamn.
- Verifiera att fel CA stoppar anslutningen och att rätt CA fungerar.
- Testa tillåten publicering och nekad publicering på ett annat topic.
- Dokumentera var certifikat och privata nycklar lagras och hur de ska roteras.
Testa dina kunskaper
Stanna upp en stund. Vad har fastnat?
Fortsätt vara nyfiken
Originalmaterial och utvalda källor för dig som vill gå djupare.
Föreläsningsbilder · Ämne 7Joakim Englund · Systementor AB · PDF på svenskaTransport Layer Security (TLS)MDN Web Docs · EngelskaEtt steg närmare helheten.
Markera ämnet när du känner dig redo.