Door Anoniem: Out of the box voor thuis-devices die niet gestaged worden door een 'echte' beheerder is een heel moeilijk probleem.
Absoluut, vandaar dat ik deze draad gestart ben; ik ben benieuwd wat de huidige "best practice" is en wie weet hebben lezers goede ideeën!
Door Anoniem: Als je begint met staging kun je van alles verzinnen op basis van een shared secret , waarbij de validatie dat je het juiste device enrollt is omdat dat het ding op je buro is waar je met de console kabel ingeprikt zit.
Ik vrees dat veel IoT devices geen console kabel hebben. Je ontkomt dan niet aan de trucs die jij van Sonos beschreef, maar erg gelukkig word ik daar niet van.
Door Anoniem: Je kunt bluetooth pairing (met die nummercode) ook zo beschouwen.
Ik weet niets van BlueTooth (omdat ik het te onveilig vind en daarom niet gebruik, wellicht ben ik
te paranoïde ;-)
Door Anoniem: En natuurlijk het installeren van een eigen certificaat . Maar dat is allemaal niet "out of the box voor de home-user" .
Als je moet beginnen via WiFi (zonder "console kabel" dus), dan is de veiligheid verre van maximaal als je niet weet of je met het juiste device communiceert. Netgear probeerde voor dat laatste probleem een oplossing te bieden, maar dat is natuurlijk mislukt.
Door Anoniem: Het beste dat ik kan verzinnen vergt een TPM chip waarin een door de vendor gesigned device certificaat zit met iets van het serienummer van het device .
Persoonlijk zie ik de noodzaak voor een TPM chip niet zo: je moet
het hele apparaat kunnen vertrouwen als je inlogt, niet alleen de private key.
Door Anoniem: [...] als dat dan ook op het kastje staat wat je gekocht had ben je toch wel zeker dat je verbinding maakt , zonder MITM met _dat_ kastje .
Ik ben het met je eens dat er er iets ter verificatie op een sticker o.i.d. moet staan, d.w.z. ervan uitgaande dat elk device een uniek sleutelpaar en dus uniek (self-signed) certificaat beschikt. In elk geval moet
de hash (AKA fingerprint) van het certificaat zijn afgedrukt! Dat sleutelpaar en certificaat moeten dus in de fabriek (bijv. bij eerste keer aanzetten) worden gegenegeerd.
Anders kan een MitM op het netwerk (ik denk niet alleen aan simpele thuisnetwerkjes) on-the-fly een nepcertificaat genereren waaraan de gebruiker niet kan zien of dat van het bedoelde apparaat afkomstig is. Daarmee heb je minder kans op collisions dan bij indentifiers als serienummer of MAC-adres (ik heb wel eens een HDD gehad met allemaal nullen als serienummer, en op de TU Delft had een andere vakrgoep dan waar ik werkte enorme problemen met via het netwerk ontsloten sensoren - totdat ze ontdekten dat die allemaal hetzelfde MAC-adres hadden).
Bij de eerste verbinding die je met jouw webbrowser maakt met het apparaat, kun je de hash controleren voordat je het certificaat door de browser laat opslaan. Daarnaast moet het mogelijk zijn om het apparaat zelf een nieuw sleutelpaar en certificaat te laten genereren (waarbij je de hash daarvan natuurlijk wel moet registreren, bijv. door deze op een sticker op het apparaat te schrijven en/of in je wachtwoordmanager op te slaan). Het is ook prettig als je zelf een certificaat plus private key kunt uploaden naar het device (om te voorkomen dat een slechte random number generator een voorspelbaar sleutelpaar maakt).
Helaas zijn hiermee een stel problemen nog niet opgelost.Netgear gaat/ging ervan uit dat je, door te surfen naar
https://routerloging.net/ of
https://routerlogin.com, verbinding met jouw router zou maken. Maar dat werkt alleen als die router ook jouw DNS provider is; zodra je van DoH (DNS over https) gebruik maakt, is dat niet meer het geval (iets waar de Netgear pagina, waar je op dit moment op uitlkomt als je geen Netgear router hebt of DoH gebruikt, kennelijk geen rekening mee houdt).
Maar ja, met DoH ingeschakeld zou ik ook niet meer naar
https://fritz.box/ (met self signed certificate) kunnen surfen. En op mijn Android smartphone lukt dat ook niet eens betrouwbaar, want ik ontdekte (hierdoor) dat Android 8.8.8.8 als alternatieve DNS server heeft ingesteld; als die sneller antwoordt (wat soms gebeurt) dan mijn Fritx!Box router, kom ik niet bij de gebruikersinterface van mijn router.
Overigens heeft mijn Fritz!Box al meerdere keren, om mij onduidelijke redenen, een nieuw certificaat gegenereerd - waardoor ik (na zo'n wissel) natuurlijk een foutmelding in mijn browser krijg. Opmerkelijk daarbij is dat de public key
wel steeds hetzelfde is, waardoor ik redelijk zeker weet dat ik nog met dezelfde Fritz!Box communiceer. Maar absurd vind ik dit wel (en aan de ene kant fijn dat het sleutelpaar niet vervangen wordt, aan de ander kant is dat vergelijkbaar met je wachtwoord wijzigen in ... hetzelfde wachtwoord.
Daarnaast, hartstikke link eigenlijk dit soort DNS trucs, zodra een kwaadwillende het domein fritz.box (of nadat Netgear hun domeinen laat verlopen) weet te registreren en een pagina toont die als twee druppels water op die van mijn router lijkt, zou ik mijn login-gegevens aan een vreemde kunnen prijsgeven... Vandaar dat het zo belangrijk is dat domeinnamen in certificaten wereldwijd uniek zijn (en je daar dus ook geen RFC1918 IP-adressen voor moet gebruiken).
Ik heb wat vage ideeën wat hieraan gedaan zou kunnen worden, maar die zijn nog onvoldoende concreet (en het wordt een te lang verhaal vrees ik).