IoT er i rivende udvikling og derfor gør vi alt for at holde os helt up-to-date med teknologien. Vi deltog med to mand på et tredages kursus hos Microsoft, for at blive endnu klogere på den seneste udvikling af Azure Sphere.
Der produceres mere end 9 milliarder microcontrollers (MCU) hvert år. De findes i stort set alt elektronik omkring os. Men mindre end 1% af de producerede MCU’er er forbundet til Internettet. De er således lukkede systemer, hvor det ikke er muligt at integrere og interagere med dem på en smart måde. Hvis det var muligt, kunne mange industrier transformeres på samme måde, som vi ser med den generelle digitalisering. Det ville åbne for nye forretningsmodeller og give forbrugerne helt nye muligheder og oplevelser.
Selvom det ikke er i alt elektronik, der er behov for MCU’er, som kan forbindes til internettet, var det dét, vi var ude at bliver klogere på her. -Og den løsning der, i nærmest alle tilfælde skal laves, er at forbinde internet/netværk og hardware. Det kan muligvis lyde trivielt, men det er dog ikke så lige til alligevel…
Der er nemlig en kæmpe risiko forbundet med at koble hardware til Internettet. Der har de seneste år været mange sager, hvor IoT enheder er blevet kompromitteret og misbrugt. Nu er det heldigvis blevet meget nemmere at håndtere med Azure Sphere.
Azure Sphere er en end-to-end løsning, der sikrer IoT enheder. På et konceptuelt niveau består den af tre elementer:
Azure Sphere Certified Chips
Azure Sphere OS
Azure Sphere Security Service
Tilsammen dækker elementerne over syv egenskaber, som er vigtige for at sikre enhederne. Disse egenskaber dækker både software og hardware, og er godt beskrevet i Microsofts artikel Seven Properties of Highly Secure Devices.
Azure Sphere Certified Chips er MCU’er som følger Microsofts anvisninger. Disse er tilgængelige fra en række fabrikanter. Formålet er at etablere et hardware-lag, som man har tillid til og hver chip bliver tildelt et unik ID, når den bliver produceret. Faktisk bygger hele Azure Sphere løsningen på certifikat-baseret sikkerhed. En privat nøgle er gemt i enheden og kombineret med den offentlige nøgle fungerer det som dens unikke ID.
For at sikre at der ikke kan manipuleres ved enheden, selvom man har fysisk adgang til den, skal enheden “finalizes” til slut i processen, for at sige det på godt dansk. Det indebærer at den kun kan omprogrammeres ved hjælp af opdateringer hentet fra Azure Sphere Security Service. Hver gang enheden starter op, vil den tjekke for applikationen og hente en udgave fra skyen hvis nødvendigt. Azure Sphere OS er baseret på en special-lavet Linux-kerne med en lagdelt model, hvor sikkerhed er tænkt ind i alle aspekter. Applikationer kører adskilt og der er forskellige kerner til forskellige formål: Low-level til IO og general purpose til high-level computing. Der benyttes et SDK (Software Development Kit) til at danne sikker kommunikation imellem dem. Der er indbygget opdateringsmekanismer for både selve operativsystemet og applikationer.
I tilfælde af at der findes sikkerhedshuller, er det muligt at udbedre disse via samme infrastruktur som kendes fra Windows Update. Applikationer kan signalere at de vil vente med opdatering, således at enheden ikke genstarter på et ubelejligt tidspunkt. I tilfælde af genstart, tager det dog kun få sekunder at rulle en opdatering ind. Nedetiden er således begrænset.
Bagud kompatibilitet er i højsædet. Udviklere skal derfor ikke være bange for at en ny OS-opdatering vil ødelægge applikation. Dette er en essentiel egenskab, således at kundernes produkter ikke pludselig holder op med at virke. Her kan være tale om produkter, som er end-of-life, men stadig er i brug. Derfor skal ikke spekuleres i at vedligeholde produkter, der ikke længere giver værdi.