Çelësat WireGuard në ESP32: për çdo pajisje apo një i vetëm i integruar?
Një çelës i kompiluar në firmware-in e ESP32 është identitet homologu, jo fjalëkalim. Vendosni me tri kushte: zotërimi, mbrojtja e flash-it dhe ripërdorimi në të gjithë flotën.
Skica vendos çelësin privat të WireGuard në një varg karakteresh, dhe tuneli funksionon, prandaj pyetja kthehet vazhdimisht. Vendimi që vërtet duhet të merrni nuk është «a është e sigurt kjo», por «cila nga tri kushtet vlen për këtë vendosje». Ato janë: kush mund ta mbajë fizikisht pajisjen, çfarë jep një lexim i flash-it në pjesën tuaj, dhe nëse flota ndan një çelës ose secili mban të vetin. Përgjigjuni këtyre dhe dizajni vjen pas, sepse çdo kusht ndryshon koston e një çelësi të rrjedhur, jo faktin që mund të rrjedhë.
Çfarë autorizon çelësi
WireGuard vërteton homologët me çelës publik. Serveri lidh çelësin publik të secilit homolog me një adresë dhe një AllowedIPs listë, prandaj është çelësi privat ai që lejon një klient të dërgojë trafik nga ajo adresë.
I njëjti zë vendos se cilat destinacione mund të arrijë pajisja, prandaj një çelës i rrjedhur ekspozon rrjetin pas tunelit si dhe adresën e tunelit.
Kushti i parë: kush mund ta mbajë pajisjen
Nëse njësia rri në një kabinet të mbyllur dhe askush jashtë ekipit tuaj nuk e prek, ekspozimi është kryesisht çështje e shpërndarjes së firmware-it. Nëse dërgohet te klientët, qëndron në një automjet ose kthehet nën garanci, zotërimi fizik është kredenciali dhe fshehtësia e binarit është dytësore. Kush e mban pajisjen në dorë nuk ka nevojë ta lexojë çelësin, sepse firmware-i që punon do t'i hapë tunelin. Prandaj përgjigjja në anën e serverit duhet të përfshijë revokim dhe një jetëgjatësi të kufizuar, jo vetëm një imazh të mbrojtur.
Vendoseni këtë kusht përpara dy të tjerëve, sepse ai përcakton buxhetin për të dy.
Kushti i dytë: çfarë jep një lexim i flash-it
Kushdo që mund të lexojë imazhin e flash-it rikuperon një çelës të ruajtur si literal, qoftë përmes një lidhjeje korrigjimi, një skedari përditësimi, një kopje rezervë ose një njësie të kthyer. Kriptimi i flash-it shton koston e një nxjerrjeje të drejtpërdrejtë, dhe dokumentacioni i ESP-IDF përshkruan çfarë mbulon funksioni për një pjesë dhe konfigurim të caktuar. Nuk e bën çelësin të nxjerrshëm nën çdo model sulmi dhe nuk bën asgjë për rastin kur pajisja është në dorë. Trajtojeni si një shtresë që ndryshon koston, jo si përgjigjen.
Lexoni dokumentacionin e platformës për çipin dhe konfigurimin tuaj të saktë përpara se të pretendoni një veti në një rishikim dizajni.
Kushti i tretë: ripërdorimi në të gjithë flotën
Një çelës për një seri prodhimi do të thotë që çdo njësi ndan një identitet. Serveri nuk mund t'i dallojë ato në regjistra, nuk mund të revokojë një pa revokuar të gjitha, dhe nuk mund të dallojë një klon nga një origjinal. Çelësat për çdo pajisje zgjidhin të tria, me koston e një hapi regjistrimi dhe të një pasqyrimi nga numri serial në çelësin publik. Ai pasqyrim është aktivi që e kthen revokimin në një ndryshim një rreshti në vend të një riflash-i të të gjithë flotës.
Nëse flota është pesë njësi në një tavolinë, ndarja e një çelësi mund të jetë një shkëmbim i arsyeshëm. Nëse janë pesëqind në terren, nuk është aspak shkëmbim.
Modeli i regjistrimit që i bën çelësat për pajisje praktikë
Gjeneroni çiftin e çelësave në pajisje në nisjen e parë, mbani gjysmën private në ruajtje jo të paqëndrueshme të mbrojtur, dhe dërgoni vetëm çelësin publik te një shërbim regjistrimi që cakton një adresë dhe shkruan zërin e homologut. Vërtetoni përgjigjen e regjistrimit, përndryshe një sulmues në rrjetin lokal mund të regjistrojë çelësin e vet në llogarinë tuaj. Asnjëherë mos e printoni çelësin privat në tastierën serike gjatë provizionimit. Shkruani numrin serial të pajisjes pranë çelësit publik, që një njësi e humbur të korrespondojë saktësisht me një zë homologu.
Është një shërbim i vogël, dhe është dallimi midis një flote që mund ta auditoni dhe një flote që mund ta riflashoni vetëm.
Koha, pikat fundore dhe vendimi
Shembulli sinkronizon kohën përpara se të nisë tunelin, dhe kjo ka rëndësi përtej TLS: shtrëngimet e duarve të WireGuard mbajnë një vulë kohore për mbrojtjen nga përsëritja, prandaj një pajisje që niset me orë të gabuar mund të marrë shtrëngime të refuzuara. Pika fundore është një emër hosti, që e vendos DNS-në në rrugën e besimit, ndonëse çelësi publik i serverit vazhdon të vërtetojë homologun. Një adresë e gabuar harxhon përpjekje dhe zbulon kur pajisja është online. Zgjidhini të dyja përpara se të debatoni për çelësin.
Pastaj vendosni: një çelës i përbashkët vetëm sa kohë zotërimi është i kontrolluar dhe flota e vogël, çelësa për çdo pajisje sapo njëra prej të dyjave presta të jetë e vërtetë.