Research and Development 1/^Archief/2009-2010/04/Fase 2/Eindpresentatie
Eindpresentatie
Doel
We willen dat het publiek na onze presentatie op zijn minst ons onderzoek en het nut ervan begrijpt.
Inhoud
- Ons onderzoek
- Toepassing onderzoek: Authenticatie the internet of things
- Doel onderzoek: Welk hashing algoritme is het beste
- Uitleg methode onderzoek
- Conclusie onderzoek: Tot welke conclusie zijn we gekomen
- Begrippen
- Hashing
- The internet of things
- Authenticatie
- Microcontroller
- throughput MD5 en SHA1 vergelijking
- Rekensom
- per hash
- Per huishouden
- Nederland
- Conclusie
Script
Tim en Manu presenteren.
Belang van een snelle hashfunctie voor the internet of things.
Wij hebben onderzoek gedaan naar de beste hashfunctie voor gebruik in authenticatie voor the internet of things. Om hier meer over te kunnen uitleggen volgen eerst een paar begrippen:
Hashfunctie: Een functie waar een input van een willekeurig lange byte-array in gaat en een byte-array van vaste lengte uit komt. Deze uitvoer wordt een hash genoemd. Eigenschappen: Niet injectief, dus exists x,y F(x) = F(y) /\ x != y. Dit betekent dat je van een uitvoer dus niet zomaar terug kunt naar de invoer. Avalanche-effect: als je één bit van de invoer verandert, verandert minstens de helft van de bits van de uitvoer. MD5 en SHA1 zijn hashfuncties.
Signing: Een handtekening aan een bericht toevoegen zodat ontvangers de authenticiteit van de verzender kunnen nagaan. Deze handtekening kan bestaan uit een hash.
Microcontroller: Een complete processor met geheugen en I/O-mogelijkheden op één chip. Vaak zijn deze chips erg klein, denk aan 5 bij 5 mm. Laat onze microcontrollers zien.
Doel onderzoek: Het doel van ons onderzoek was een hashfunctie vinden, die veilig genoeg is en zo min mogelijk processortijd kost op een microcontroller.
Om dit te kunnen onderzoeken moesten we eerst een microcontroller hebben, gelukkig heeft Tim vanalles. Daarnaast moesten we MD5 en SHA1 draaidende krijgen op deze microcontroller. We hebben in de libraries van MicroChip, de fabrikant van de microcontroller, implementaties van MD5 en SHA1 gevonden voor de architectuur van de microcontroller. Vanwege de kleine maximale stackgrootte moesten we het aantal geneste functie-aanroepen kleiner maken. Daarna hebben we een programma geschreven dat als volgt werkt:
- Het programma wordt ge?ïnitialiseerd, de LED is uit.
- Het programma staat klaar om hashing iteraties uit te voeren, de LED gaat aan.
- Het programma gaat een bepaalde string een bepaald aantal keer hashen met MD5 of SHA1.
- Het programma is klaar met hashen, de LED gaat uit.
Zo kunnen we met de LED de tijd meten die het hashen kostte.
Conclusie onderzoek: Uit ons onderzoek blijkt dat MD5 veilig genoeg is, en een stuk sneller dan SHA1.
Rekensom: Eén MD5 hash uitrekenen kost TIJD * WATT, één SHA1 hash TIJD * WATT. Dit verschil is dus slechts XXX Joule. Als je uitgaat van 1000 berichten per huishouden per dag, is dit al XXX. Met Aannames: Als je even uitgaat van 1000 berichten per huishouden per dag