Problemet: Blind tillid
Når du installerer en babyalarm-app, giver du den adgang til et meget privat sted: dit barns værelse. Appen lytter – og nogle gange kigger den også med. Samtidig kan forældre ofte ikke se, hvad der sker i baggrunden: Går strømme gennem tredjepartsservere, indsamles der brugsdata, og hvem kan rent teknisk få adgang til noget?
Det ærlige svar er: Med mange apps ved du det ikke. Koden er lukket, og arkitekturen er blot en påstand. I sidste ende bliver du bedt om at stole på udbyderen.
Lukket kode, åbne sårbarheder
Der har været rigeligt med rapporter om hackede babyalarmer de seneste år. Fremmede kunne lytte med, styre kameraer eller tale gennem højttalere. Oftest var der ikke tale om avancerede angreb, men alvorlige fejl: ukrypterede forbindelser, standardadgangskoder og manglende godkendelse.
Med proprietær software opdager folk udenfor ofte først de svagheder, når noget er gået galt. Sikkerhedsforskere, uafhængige udviklere og forældre ser på et færdigt produkt udefra. For en enhed på børneværelset er det en svag model.
Gennemsigtighed som sikkerhedsprincip
Informationssikkerhed har en gammel, nyttig regel: Kerckhoffs' princip. Sikkerheden må ikke afhænge af, at designet holdes hemmeligt. Et system bør forblive sikkert, også når nogen ved, hvordan det er bygget.
Åbent dokumenteret kode gør ikke software sikker i sig selv. Men det gør påstande mulige at efterprøve. Folk med faglig viden kan undersøge dataflows, nøgleafledning og regler i stedet for at læse markedsføringstekster.
Timmys tilgang: En adskilt sikkerhedskerne
I Timmy adskiller jeg nu helt tydeligt de dele, der reelt er sikkerhedskritiske. Ikke hver linje i brugerfladen afgør, om produktet fortjener tillid. Det afgørende er backend-logikken, signaleringsaftalerne, kryptografien ved parring og spørgsmålet om, hvilke data der når en server.
Derfor ligger sikkerhedskernen nu i det offentlige baby-monitor-timmy-core-repositorium. Hele appkoden er ikke offentlig lige nu. De sikkerhedskritiske byggesten er trukket ud af brugerfladen og produktlogikken, så de kan dokumenteres og gennemgås hver for sig.
Hvad betyder det helt konkret?
- Tydelige grænser: Sikkerhedsbyggesten er adskilt fra brugerflade og produktlogik.
- Dataflows, der kan gennemgås: Parring, signalering og backend-grænseflader kan dokumenteres separat.
- Ingen skjulte trackere: De kritiske dele indeholder kun det, der teknisk hører hjemme der.
- Langsigtet vedligeholdelse: En separat kerne er lettere at gennemgå end en ustruktureret monolit.
Konklusion: Forældre fortjener gennemsigtighed
Når en app har adgang til børneværelset, bør den være konkret om de afgørende spørgsmål: Hvilke data oprettes? Hvor sendes de hen? Hvem kan læse dem? Forældre fortjener mere end et privatlivsmærke i sidefoden.
Baby Monitor Timmy skal vise, at et godt produkt og sikkerhed, der kan gennemgås, kan gå hånd i hånd. For mig betyder det ikke, at hvert hjørne af appen skal være offentligt. Det betyder, at de dele, som afgør parring, signalering, backend-adgang og dataflows, skal åbnes.