Säkra mjukvaruuppdateringar för den smarta staden
- Diarienummer
- RIT17-0035
- Projektledare
- Hedin, Görel
- Start- och slutdatum
- 180301-241231
- Beviljat belopp
- 22 000 000 kr
- Förvaltande organisation
- Lunds tekniska högskola
- Forskningsområde
- Informations-, kommunikations- och systemteknik
Summary
Nya sårbarheter i mjukvara upptäcks varje dag, vilket resulterar i att våra enheter blir osäkra och exponerade för attacker. Eftersom antalet uppkopplade enheter snabbt ökar och attacker både blir enklare att utföra och samtidigt mer sofistikerade, så måste enheter och system ha stöd för robusta och säkra metoder för att uppdatera programvaran. I detta projekt kommer vi att utveckla metoder och tekniker för att distribuera mjukvaruuppdateringar i storskaliga heterogena miljöer, såsom den smarta staden. Den smarta staden består av ett flertal system, ägda och drivna av olika organisationer, men kan fortfarande bero på varandra eftersom data aggregeras för analys. En demonstratormiljö för att distribuera enheter kommer att utvecklas som enkelt kan konfigureras om och anpassas med avseende på nya enheter och nätverkskonfigurationer. Den här demonstratorn kommer att stödja initiering, konfiguration, övervakning och underhåll av enheter och baseras på en befintlig plattform som har stöd för att kombinera olika typer av enheter och tjänster. Forskning relaterad till mjukvarusäkerhet, PKI baserade på blockchain-teknik, trusted computing och DoS-skydd kommer att bedrivas och integreras i demonstratorn. Vi förväntar oss att bidra med forskningsresultat som ökar säkerheten i alla typer av IoT-miljöer och ha en demonstrator som kan användas för att testa system och enheter samt att bedöma deras säkerhet.
Populärvetenskaplig beskrivning
Den smarta staden kommer bestå av många olika delsystem, som i sig består av uppkopplade enheter i form av olika typer av sensorer. Dessa sensorer ska förbättra våra transporter, energianvändning, vattenanvändning, sophantering, reningssystem, sjukvård etc. Resultatet kommer bli effektivare resursanvändning, miljövänligare tjänster och en mer hållbar stad. I takt med att antalet enheter ökar så kommer vi också vara mer utsatta för attacker som utnyttjar sårbarheter i dessa enheter. Faktum är att det varje år upptäcks och registreras tusentals nya sårbarheter i mjukvara. En del av denna mjukvara används i uppkopplade enheter för att kommunicera, lagra data, eller som stöd för annan funktionalitet. När sårbarheter upptäcks så måste enheterna uppdateras med ny mjukvara så att attacker inte är möjliga. Detta projekt syftar till att ta fram metoder och tekniker för att stödja uppdatering av mjukvara i enheter. Problem som måste lösas är t.ex. att vi måste kunna garantera att den nya mjukvaran är betrodd och att enheten själv är betrodd att ta emot mjukvara. För att göra detta så måste vi hantera kryptografiska nycklar och digitala certifikat, både i enheterna och i systemet. Detta möjliggör t.ex. signering av mjukvara, vilket är ett viktigt steg i att garantera att endast betrodd mjukvara installeras på enheterna. Kostnaden och komplexiteten det innebär att leverera uppdaterad mjukvara ställer också krav på att man kan garantera att uppdatering faktiskt krävs. Vissa sårbarheter kanske inte utnyttjas och systemet behöver därför också stöd för att analysera sårbarheter. Vi måste också hantera attacker där någon försöker göra enheten oanvändbar då det annars inte går att kommunicera med den. För att få ut maximalt av projektet så kommer vi skapa en miljö för uppkopplade enheter i vilken man kan testa både enheter och system. Den kommer ha stöd för hela handhavandekedjan för säkra uppkopplade enheter, dvs initiering, konfigurering, övervakning och underhåll. Miljön kommer vara adaptiv och enkelt konfigurerbar för att täcka in en stor mängd olika typer av system. Målet är att denna miljön ska kunna användas av alla som vill använda sig av uppkopplade produkter i ett system, för att testa och verifiera säkerheten i enheterna och systemet. Denna miljö kommer bygga på tidigare forskning där det redan finns en befintlig plattform för att hantera olika typer av enheter.