Abstract UHasselt Master in de informatica Wachtwoordconfiguratie en tracering van gebruikers in Wi-Fi netwerken door Roy Vandeven
ii In deze thesis hebben we onderzocht welke impact draadloze netwerken hebben op onze privacy en hoe draadloze signalen gebruikt kunnen worden om anoniem gegevens te verzamelen over hoe personen zich bewegen op grote evenementen. In deel 1 hebben we de verschillende manieren van draadloze verbinding en authenticatie onderzocht. Specifiek hebben we de vergelijking gemaakt tussen de verschillende authenticatiemethodes om de snelste en veiligste manier te vinden voor bepaalde apparaten in thuisscenario’s. We onderzochten verschillende apparaten die zowel mobiel als stationair kunnen zijn zoals laptops en tablets, en rookmelders en thermostaten. We onderzochten voor deze apparaten de voor- en nadelen van de authenticatiemethodes en bespreken ook enkele zelfbedachte manieren om eventueel apparaten met weinig inputmogelijkheden te verbinden met een netwerk. Hierna hebben we, met de gegevens van het onderzoek naar het Wi-Fi protocol, gezocht naar eventuele mogelijkheden om personen te volgen op een anonieme manier. Dit gebeurt aan de hand van specifieke Wi-Fi pakketten, genaamd Probe requests. Apparaten die zoeken op Wi-Fi verbindingen, sturen deze Probe requests op regelmatige basis uit om te zoeken naar andere apparaten. We hebben deze pakketten opgevangen door middel van een detector, specifiek gemaakt op het Expertisecentrum voor Digitale Media (EDM). We hebben met deze detectors de reistijden berekend, de tijd die een persoon nodig heeft om een afstand af te leggen tussen twee punten, met als input de anonieme locatiegegevens van mobiele apparaten. De locatie die we via de detectors verkrijgen is geen exacte locatie, maar een indicatie van een gebied waar het apparaat zich bevindt. Wanneer dit apparaat op een andere locatie tevoorschijn komt, verkrijgen we de reistijd van dit specifiek apparaat. Als we dit toepassen op een grote groep mensen en hun bijhorende apparaten, bijvoorbeeld op een groot evenement, kunnen we op basis van deze tijden een algemene reistijd bepalen. We hebben deze toepassing gebruikt op Pukkelpop, een groot festival in Limburg. De berekende tijden gaven de duur om van locatie naar locatie te wandelen goed weer en toonden wanneer er verhogingen in de reistijd waren, bijvoorbeeld bij het optreden van bekende artiesten.
Dankbetuiging Veel mensen hebben bijgedragen aan de totstandkoming van deze thesis. Ik wil graag van de gelegenheid gebruik maken om hen te bedanken. Eerst en vooral wil ik mijn promotor, Professor Dr. Peter Quax, co-promotor, Professor Dr. Wim Lamotte en mijn begeleiders, Bram Bonn´e en Arno Barzan bedanken voor alle steun en advies die ze mij gegeven hebben. Zij hebben mij perfect begeleid van het begin tot het einde. Hun inzicht en deskundige kennis hebben een duidelijke meerwaarde betekend. Daarnaast had ik ook graag de organisatie van Pukkelpop bedankt, om ons de mogelijkheid te bieden om het algoritme te testen op het festival. Zonder hen hadden we nooit een test op zulke grote schaal kunnen uitvoeren. Ten slotte wil ik ook mijn familie bedanken voor de steun en het vertrouwen die ze mij gegeven hebben.
iii
Inhoudsopgave Abstract
i
Dankbetuiging
iii
Inhoudsopgave
iv
Lijst van figuren
vii
1 Inleiding en context 1.1 Inleiding tot het onderwerp . . . . . . . . 1.2 Vergelijking maken tussen de verschillende den met een netwerk . . . . . . . . . . . . 1.3 Tijdsbepaling tussen verschillende locaties 1.4 IEEE 802.11 . . . . . . . . . . . . . . . . .
I
. . . . . . . . . . . manieren om veilig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . te verbin. . . . . . . . . . . . . . . . . .
.
1 1
. . .
2 3 4
Deel 1: Impact van draadloze netwerken op authenticatie
2 Authenticatiemethodes 2.1 Draadloze verbinding zonder beveiliging . . 2.2 Wi-Fi Protected Access (WPA/WPA2) . . 2.3 Wi-Fi Protected Setup (WPS) . . . . . . . 2.3.1 Geschiedenis en voorlopers van WPS 2.3.2 Wi-Fi Simple configuration (WSC) . 2.3.3 Wi-Fi Protected Setup (WPS) . . . 2.3.4 Werking WPS . . . . . . . . . . . . 2.3.5 Wi-Fi Direct (Wi-Fi P2P) . . . . . . 2.3.6 Beveiligingsaspecten van WPS . . . 2.4 Methodes met LED’s . . . . . . . . . . . . . 2.5 Alternatieve methodes . . . . . . . . . . . . 2.5.1 Netwerk setup met QR-code . . . . . 2.5.2 Chromecast . . . . . . . . . . . . . . 2.5.3 Communicatie met geluidsgolven . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
7
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
11 12 13 14 14 15 18 19 24 26 31 36 36 38 41
3 Vergelijkingen tussen de verschillende methodes 43 3.1 Onderzochte categori¨en . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3.2 Verbindingen voor een computer/laptop . . . . . . . . . . . . . . . . . . . 44 v
Inhoud
vi
3.3 3.4 3.5
Verbindingen voor handheld apparaten . . . . . . . . . . . . . . . . . . . . 47 Verbindingen voor apparaten met een beperkte interface . . . . . . . . . . 49 Verbindingen voor ”Internet of Things” apparaten . . . . . . . . . . . . . 52
4 Conclusie van deel 1
57
II
59
Deel 2: Impact van draadloze netwerken op privacy
5 Inleiding 5.1 Manier van werken . . . . . . . . . . . . . . . . . . . . . 5.1.1 Probe request pakket . . . . . . . . . . . . . . . . 5.1.2 Hoeveel Probe requests een smartphone uitzendt 5.2 Gerelateerd werk . . . . . . . . . . . . . . . . . . . . . . 5.3 Toepassingen . . . . . . . . . . . . . . . . . . . . . . . . 5.4 Ongezien detecteren . . . . . . . . . . . . . . . . . . . . 5.5 Gebruikte detector . . . . . . . . . . . . . . . . . . . . . 5.5.1 Raspberry Pi . . . . . . . . . . . . . . . . . . . . 5.5.2 Wi-Fi Dongle . . . . . . . . . . . . . . . . . . . . 5.5.3 Software . . . . . . . . . . . . . . . . . . . . . . . 6 Algoritme voor het berekenen van de tijden 6.1 Selectie van de tijden . . . . . . . . . . . . . . 6.2 Algoritme: Mediaan . . . . . . . . . . . . . . 6.3 Algoritme: Verwijder outliers . . . . . . . . . 6.4 Algoritme: K-means . . . . . . . . . . . . . . 6.5 Visualisatie van de tijden . . . . . . . . . . . 6.6 Testen op Rimpelrock en Pukkelpop . . . . . 6.7 Bespreking van accuraatheid algoritme . . . . 6.8 Verdere uitbreidingen . . . . . . . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . . . .
. . . . . . . .
. . . . . . . . . .
. . . . . . . .
. . . . . . . . . .
. . . . . . . .
. . . . . . . . . .
. . . . . . . .
. . . . . . . . . .
. . . . . . . .
. . . . . . . . . .
. . . . . . . .
. . . . . . . . . .
. . . . . . . .
. . . . . . . . . .
. . . . . . . .
. . . . . . . . . .
. . . . . . . .
. . . . . . . . . .
61 62 62 63 64 66 67 68 68 69 70
. . . . . . . .
73 74 75 76 78 79 80 81 88
7 Conclusie deel 2
91
Bibliografie
93
Lijst van figuren 1.1
Familie van IEEE 802.11 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Een voorbeeld van een netwerk Dongle voor draadloos netwerk met een WSC- (of opvolger WPS-) knop. . . . . . . . . . . . . . . . . . . . . . . 2.2 Een voorbeeld van de config file op een USB-stick. . . . . . . . . . . . . 2.3 Settings file van de USB-methode. . . . . . . . . . . . . . . . . . . . . . 2.4 Componenten van een WPS opstelling . . . . . . . . . . . . . . . . . . . 2.5 De berichtenuitwisseling voor paswoordcontrole van WPS. . . . . . . . . 2.6 De berichten die uitgewisseld worden bij een PIN-code gebaseerde authenticatie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.7 De druk op de knop berichten uitwisseling wanneer de Enrollee als eerste op de knop drukt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.8 De druk op de knop berichten uitwisseling wanneer de Enrollee als tweede op de knop drukt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.9 De diffie-hellman sleuteluitwisseling visueel uitgelegd in de vorm van het mixen van verf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.10 Een QR-code waarmee op een Android apparaat een netwerkverbinding kan gemaakt worden. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.11 De Chromecast Dongle. . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
2.1
Samsung koelkast met netwerkmogelijkheden. . . . tv-toestel met netwerkmogelijkheden. . . . . . . . . thermostaat met een draadloze netwerkverbinding. NAS met draadloze netwerkverbinding. . . . . . . .
. . . .
. . . .
. . . .
. . . .
. 29 . 36 . 38
5.1 5.2
63
5.3 5.4 5.5 5.6 5.7 5.8
Voorbeeld van een Probe request aanvraag naar een access point. . . . . . Een voorbeeld van een toepassing voor de reistijden tussen twee locaties in het verkeer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . De gebruikte detector, gemaakt van een Raspberry Pi en een Wi-Fi Dongle Raspberry Pi type B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Specificaties TP-link Wi-Fi Dongle [1] . . . . . . . . . . . . . . . . . . . . Pseudocode van de detector. . . . . . . . . . . . . . . . . . . . . . . . . . . Detecties gemeten per seconde . . . . . . . . . . . . . . . . . . . . . . . . Apparaten op Pukkelpop . . . . . . . . . . . . . . . . . . . . . . . . . . .
67 68 69 69 70 71 71
6.1 6.2 6.3 6.4
Pseudocode voor het berekenen van tijden tussen twee locaties Scenario 1: De mediaan van een lijst tijden berekenen . . . . . Een figuurlijke representatie van de mediaan en de kwartielen. . Scenario 2: Outliers uit een lijst verwijderen . . . . . . . . . . .
74 75 76 77
. . . .
. . . .
. 25
51 52 53 55
. . . .
. . . .
. 24
. . . .
. . . .
. . . .
. 23
Een Een Een Een
. . . .
. . . .
17 17 18 20 22
3.1 3.2 3.3 3.4
vii
. . . .
. . . . .
. . . .
. . . .
Lijst van figuren 6.5 6.6 6.7 6.8 6.9 6.10 6.11 6.12 6.13
6.14 6.15 6.16
6.17 6.18 6.19
Scenario 3: K-means algoritme . . . . . . . . . . . . . . . . . . . . . . . Een figuurlijke representatie van het k-means algoritme. . . . . . . . . . De gebruikte visualisatiemethode voor het berekenen van de reistijden. . De locatie van de geplaatste detectors op Pukkelpop. . . . . . . . . . . . Grafiek die de tijden voorstelt van de ingang naar de Main Stage, gegenereerd met het mediaan algoritme. . . . . . . . . . . . . . . . . . . . . Grafiek die de tijden voorstelt van de ingang naar de Main Stage, gegenereerd met het ”verwijder outliers”-algoritme. . . . . . . . . . . . . . . Grafiek die de tijden voorstelt van de ingang naar de Main Stage, gegenereerd met het k-means algoritme. . . . . . . . . . . . . . . . . . . . . . Grafiek die de tijden voorstelt van de ingang naar de Main Stage, op vrijdag tussen 13:00 en 16:00, gegenereerd met het mediaan-algoritme. . Grafiek die de tijden voorstelt van de ingang naar de Main Stage, op vrijdag tussen 13:00 en 16:00, gegenereerd met het ”verwijder outliers”algoritme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Grafiek die de tijden voorstelt van de ingang naar de Main Stage, op vrijdag tussen 13:00 en 16:00, gegenereerd met het k-means algoritme. . Grafiek die de tijden voorstelt van de ingang naar de Main Stage, op zaterdag tussen 19:30 en 22:30, gegenereerd met het mediaan-algoritme. Grafiek die de tijden voorstelt van de ingang naar de Main Stage, op zaterdag tussen 19:30 en 22:30, gegenereerd met het ”verwijder outlier”algoritme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Grafiek die de tijden voorstelt van de ingang naar de Main Stage, op zaterdag tussen 19:30 en 22:30, gegenereerd met het k-means algoritme. Grafiek die de tijden voorstelt van de Main Stage naar de ingang, wanneer de festivaldag op vrijdag op een einde loopt. . . . . . . . . . . . . . . . . Grafiek die de tijden voorstelt van de Main Stage naar de ingang, wanneer de laatste festivaldag op een einde loopt. . . . . . . . . . . . . . . . . . .
viii . . . .
78 79 80 82
. 83 . 83 . 84 . 85
. 86 . 86 . 87
. 88 . 88 . 89 . 89
Hoofdstuk 1
Inleiding en context We leven in een moderne wereld waarin veel data die vroeger via een kabel werd doorgestuurd, nu via radiogolven wordt verstuurd. We zijn het ondertussen gewoon dat onze smartphone of tablet automatisch connecteert met de router van het werk of thuis, maar weten misschien niet dat er verschillende manieren zijn om de connectie op te zetten en wat er eventueel al kan gedaan worden met de signalen die constant worden uitgestuurd, zelfs voor men verbonden is met een netwerk.
1.1
Inleiding tot het onderwerp
We verbinden meer en meer apparaten met een netwerk. Waar we vroeger enkel een PC of laptop aansloten om te kunnen surfen op een netwerk, gebruiken we ondertussen veel meer apparaten die aangesloten zijn op het netwerk. Voorbeelden hiervan zijn nieuwe slimme apparaten zoals smartphones, smartwatches, smart TV’s maar ook domotica, zodat we vanop afstand onze lichten thuis aan en uit kunnen doen. We verbinden ze met het netwerk omdat meer en meer apparaten voordelen kunnen halen uit het internet, zoals een rookmelder die een melding kan doorsturen naar de eigenaar of de brandweer via mail of via een bericht naar een server. Daarnaast kunnen we ook de status van de apparaten veel uitgebreider bekijken via een website die we dan kunnen bereiken via het intern netwerk. Deze nieuwe vormen van hardware hebben vaak verschillende interfaces en wanneer deze de mogelijkheid willen hebben om te verbinden met een draadloos netwerk, moeten ze voor elk apparaat worden aangepast. Deze aanpassingen hangen af van de gebruikte methode om de data te transporteren en de gebruikte authenticatie om te verbinden met een netwerk. Daarom zoeken we uit welke manieren er zijn om nieuwe apparaten 1
Inleiding en context
2
op een makkelijke en veilige manier te verbinden met het thuisnetwerk. Deze manieren gaan we dan per apparaat bekijken en vergelijken met elkaar, om zo tot een lijst van voor- en nadelen te komen per techniek en per apparaat. Tijdens het onderzoek naar draadloze technieken hebben we ontdekt dat er in het huidige Wi-fi protocol technieken zijn om apparaten van op afstand anoniem te volgen. We doen dit door een speciaal pakket, een Probe request, op te vangen met detectors, welke ons vertellen welke apparaten er zich bevinden bij elke detector. Aan de hand van deze data hebben we een toepassing gecre¨eerd die ons toestaat om apparaten, zoals een smartphone of een tablet, te volgen wanneer deze zich over een terrein bewegen waar we onze detectors verspreid hebben ge¨ınstalleerd. Aangezien een detector berichtjes kan opvangen binnen een bepaalde radius, beschouwen we alle personen die zich in deze radius bevinden op dezelfde locatie. De grootte van de radius kan wel van locatie tot locatie vari¨eren, vooral door externe factoren.
1.2
Vergelijking maken tussen de verschillende manieren om veilig te verbinden met een netwerk
Er zijn veel verschillende vormen van electronica in de omloop, met elk hun eigen vorm van interface of inputmogelijkheden. Een gebruiker moet namelijk met elk apparaat andere acties uitvoeren en die apparaten zijn naar die acties gebouwd. Een thermostaat is bijvoorbeeld hoofdzakelijk gebouwd om de temperatuurregeling te kunnen uitvoeren en heeft dus minimaal een beperkte interface om de temperatuur hoger of lager te zetten. Daarnaast heeft een rookmelder veel minder inputmogelijkheden, zoals een knop om te testen of de rookmelder nog steeds werkt. Het zijn twee verschillende apparaten met twee verschillende interfaces, die beiden voordeel zouden kunnen halen door met het internet verbonden te worden. Om te verbinden met een netwerk moeten we maar enkele eigenschappen van het netwerk kennen, namelijk de Service Set Identifier(SSID), wat neerkomt op de naam van het netwerk, de encryptiemethode en het paswoord. De eerste twee, de SSID en de encryptiemethode, worden meestal uitgestuurd door het netwerk zelf. Een apparaat dat deze data wil verkrijgen, stuurt een Probe request uit en zal als antwoord een pakket krijgen waarin deze data te vinden is. Het paswoord om toegang te krijgen tot dat netwerk is een key die afgesproken is wanneer men het netwerk opzet. Een gebruiker moet het paswoord dus kennen en ingeven bij het connecteren met het netwerk. Dit is een manier om het Access Point (AP) te laten weten
Inleiding en context
3
dat men toestemming heeft om verbinding te maken met het netwerk. Het paswoord kan bestaan uit een simpel wachtwoord, maar ook uit een gebruikersnaam/paswoord combinatie. In deze thesis omschrijven we authenticatie als het ingeven van het correcte paswoord om te verbinden met het netwerk. We zoeken daarom ook verbindingsmethodes die een apparaat toestaan om te verbinden met een netwerk zonder enige input op het apparaat zelf, maar alle communicatie via een ander apparaat over het draadloos netwerk laat verlopen. We gaan bijvoorbeeld uitzoeken hoe de chromecast manier in zijn werk gaat. Deze werkt namelijk via een tijdelijk ad-hocnetwerk waar we een extern apparaat, zoals tablet of smartphone, tijdelijk mee verbinden en waarnaar we de benodigde data voor het verbinden met een netwerk doorsturen. Wanneer het apparaat dan de data heeft, kan het verder zelf de verbinding maken. Uiteindelijk hebben we deze vorm van connecteren gebruikt in een project, in opdracht van het bedrijf Androme. Daarnaast zoeken we ook naar manieren om apparaten te verbinden met een beperkte interface. Apparaten met bijvoorbeeld enkel een numeriek toetsenbord hebben voordelen aan authenticatiemethodes die enkel met cijfers werken. Op deze manier proberen we de beste authenticatiemethode voor zoveel mogelijk apparaten te vinden of de verschillende methodes te vergelijken met elkaar voor specifieke scenario’s. De onderzoeksvraag voor dit onderdeel is: ”Welke manieren van verbinden en authenticeren met een netwerk werken het best voor verschillende vormen van interfaces?”. Dit onderdeel beschouwen we als een vergelijkende studie waarin we verschillende manieren gaan vergelijken hoe men met een netwerk kan verbinden. Specifiek gaan we de authenticatieprotocollen nagaan om te associ¨eren met een AP. Dit kan gedaan worden om met het internet te verbinden, maar kan ook dienen voor het verbinden met een lokaal netwerk waar data naar andere apparaten moet gestuurd worden in dat netwerk. Daarnaast is het de bedoeling dat we deze vergelijkingen gaan uitvoeren om een lijst met voor- en nadelen van elke techniek te vinden, voor verschillende categorie¨en van apparaten.
1.3
Tijdsbepaling tussen verschillende locaties
Bij het onderzoek naar Wi-Fi hebben we ook naar toepassingen gezocht die we kunnen cre¨eren aan de hand van het Wi-Fi protocol. Op basis van [2], hebben we een manier uitgewerkt om apparaten met Wi-Fi op een anonieme manier te volgen. Dit hebben we gedaan aan de hand van Probe requests, een speciaal pakket uit het Wi-Fi protocol,
Inleiding en context
4
dat op regelmatige tijden wordt uitgezonden door apparaten zoals laptops en smartphones. Deze pakketten worden uitgestuurd wanneer Wi-Fi wordt ingeschakeld, zonder dat de gebruiker dit weet of kan uitschakelen. Op Android is het ondertussen zelfs mogelijk om deze pakketten te laten uitsturen, zonder dat de gebruiker Wi-Fi ingeschakeld heeft. Android staat dit toe vanwege locatietoepassingen. Uit Probe requests kunnen we het MAC-adres aflezen, waaraan we een apparaat kunnen identificeren. We bedachten hiervoor een toepassing waarmee we anoniem en ongezien personen konden volgen. Door grote groepen mensen te volgen die zich willekeurig bewegen, kunnen we berekenen hoelang het duurt voor een gemiddeld persoon om zich te bewegen tussen twee locaties. De toepassing is bedoeld voor het gebruik bij grote groepen mensen, zoals op evenementen of op festivals, maar kan ook werken op een kleiner aantal, hoewel de accuraatheid hierdoor vermindert vanwege een kleiner aantal inputwaardes. De bedoeling van deze toepassing is om op abnormale waarden te controleren en deze vroegtijdig op te merken. Deze tijden kunnen dan omgezet worden in gepaste handelingen om een normale doorstroom te garanderen. Een voorbeeld hiervan is dat, wanneer een artiest op een evenement optreedt, men de bewegingstijden zal zien stijgen wanneer veel mensen deze artiest willen zien, aangezien het langer duurt om naar een locatie te wandelen waar meer mensen staan. Ook wanneer er tussen twee locaties opeens een veel hogere bewegingstijd te zien is, kan de organisatie eventueel controleren of er iets mis is met het pad tussen die twee locaties, waardoor eventuele problemen snel kunnen worden opgemerkt. De onderzoeksvraag voor dit probleem is: ”Hoe accuraat kunnen we reistijden inschatten aan de hand van Probe requests?”. Dit probleem gaan we omschrijven als een gevalsanalyse, waarin we nagaan of we een accurate schatting van reistijden tussen verschillende locaties kunnen berekenen. Het onderzoeksgebied is niet nieuw, aangezien we [2] als referentie genomen hebben.
1.4
IEEE 802.11
IEEE 802.11 is een verzameling van standaarden voor draadloze netwerken die ons toestaat om te communiceren tussen verschillende apparaten. Het wordt voornamelijk gebruikt om mobiele en vaste apparaten te connecteren met het World Wide Web. De 802.11-familie bestaat uit verschillende protocollen, zoals 802.11a, 802.11b, 802.11g, . . . . Dit zijn verschillende protocollen die de evolutie van Wi-Fi voorstellen over de jaren. Elke nieuwe versie is een revisie van de vorige versie. Zo worden er verbeteringen en nieuwe mogelijkheden aangebracht in de vorige versie, welke dan een nieuwe versie
Inleiding en context
5
wordt. Zo zien we bijvoorbeeld dat vanaf 802.11n het mogelijk was om multiple-input and multiple-output (MIMO) toe te passen. 802.11 werkt op de media access control (MAC) laag en de fysieke laag (PHY). Deze lagen betekenen dat 802.11 rechtstreeks de signalen verstuurt via een draadloos signaal, de fysieke laag, en communiceert met andere apparaten via de MAC-laag. De MAClaag zorgt voor de identificatie van de apparaten. Elk apparaat heeft immers een uniek identificatienummer, MAC-adres genaamd, dat bestaat uit zes groepen van twee hexadecimale cijfers, gescheiden door een ’:’, bijvoorbeeld 48:2C:6A:1E:59:3D. Elke fabrikant van mobiele apparaten krijgt een lijst van MAC-adressen dat het mag toewijzen aan nieuwe apparaten. Daarom kunnen we voor elk MAC-adres zeggen dat het uniek is en achterhalen van welke fabrikant het komt.
Figuur 1.1: Familie van IEEE 802.11
In figuur 1.1 zien we de bekendste vormen van het protocol, namelijk 802.11a, 802.11b, 802.11g, 802.11n en 802.11ac. Dit zijn de verschillende protocollen die over de jaren heen ontwikkeld en ge¨evolueerd zijn. Op dit moment worden vooral 802.11g, 802.11n en 802.11ac gebruikt, met 802.11u als opkomende technologie [3]. Het grote verschil tussen deze technologie¨en is de snelheid waarmee ze data kunnen versturen en ontvangen, en de frequentie waarop ze data uitwisselen. In dit onderdeel werken we enkel met de 2.4GHz frequentie, waaronder 802.11b, 802.11g en 802.11n vallen. Wi-Fi heeft twee verschillende soorten configuraties, namelijk ad hoc en infrastructuur. In de ad-hoc modus is er een rechtstreekse communicatie tussen twee verschillende clients. Bij de infrastructuur configuratie verkrijgen we AP, waar verschillende clients
Inleiding en context
6
mee kunnen verbinden. Op deze manier kunnen clients met elkaar communiceren, waarbij berichten via het AP worden uitgewisseld. In het basisprotocol zit een manier voor het detecteren van andere apparaten, namelijk via een Probe request. Dit pakket gaan we gebruiken om de apparaten zelf te detecteren, aangezien we van dit pakket verschillende vormen van informatie kunnen verkrijgen. Wanneer een apparaat dit pakket uitzendt, doet het dit in broadcast modus. Dit betekent dat het pakket uitgezonden wordt naar iedereen die dit kan ontvangen, ook apparaten die bijvoorbeeld geen connecties willen maken. Deze laatsten negeren dit pakket en laten het vallen. Daarnaast hebben we ook Beacon frames, pakketten die regelmatig worden uitgezonden vanuit een AP naar apparaten om te melden dat ze er zijn. De bedoeling van deze frames is dat AP’s die net opgestart zijn meteen uitzenden dat ze aanwezig zijn, zodat apparaten die hierop willen verbinden niet moeten wachten op een antwoord van het volgende verzonden Probe request.
Deel I
Deel 1: Impact van draadloze netwerken op authenticatie
7
Deel 1: Impact van draadloze netwerken op authenticatie
9
Verschillende apparaten hebben verschillende vormen van interfaces. Sommige hebben een groot aantal inputmogelijkheden, zoals apparaten met een toetsenbord, maar veel apparaten hebben maar beperkte mogelijkheden. We zien dit bijvoorbeeld bij een rookmelder of Google’s Chromecast. Beide hebben weinig of geen inputmogelijkheden, maar toch is er de mogelijkheid om apparaten zoals deze met het netwerk te verbinden. We gaan daarom onderzoeken welke methodes voor welke apparaten de betere zijn om een verbinding te maken met een draadloos netwerk, aan de hand van de interface die we tot onze beschikking hebben. We houden in dit deel rekening met verschillende aspecten, zoals de benodigde tijd om de connectie op te zetten, de veiligheid bij het opzetten en welke technieken het best geschikt zijn voor specifieke apparaten. We doen dit zowel op een theoretische als een praktische manier. Het doel is om de authenticatiemethodes voor draadloze netwerken te vergelijken voor verschillende specifieke gevallen. We gaan namelijk kijken welke methodes op gebied van veiligheid, snelheid van verbinding en het bereik waar men kan verbinden met een AP, de meeste voordelen geven. We testen de bekendste technieken om zich te authenticeren op een draadloos netwerk, zoals WPA/WPA2 en WPS, en alternatieve manieren, zoals QR-codes en LED gebaseerde methodes, die zowel al bestaan als zelf ontwikkeld zijn. We gaan de technieken, die we in dit deel onderzoeken, met elkaar vergelijken voor de verschillende soorten van apparaten. We gaan in deze thesis specifieke categorie¨en van apparaten onderzoeken om uit te zoeken welke authenticatiemanieren de meeste voordelen met zich meebrengen in specifieke scenario’s. We doen dit voor de volgende categorie¨en: 1. Computer en laptop 2. Handheld apparaten (Tablet, camera, smartphone, . . . ) 3. Apparaten met een beperkte interface (Printer, koelkast, . . . ) 4. ”Internet of things” apparaten (Apparaten welke meer met andere apparaten communiceren dan met gebruikers, zoals een rookmelder, Chromecast, . . . ) We hebben deze categorie¨en gekozen vanwege de diversiteit in de inputmogelijkheden van elk apparaat. We zien bijvoorbeeld dat een rookmelder niet dezelfde inputmogelijkheden heeft als een laptop en we zullen dit dan ook gebruiken om andere methodes te vinden om te authenticeren met het netwerk.
Deel 1: Impact van draadloze netwerken op authenticatie
10
We hebben de verschillende categorie¨en gekozen om aan te tonen welke methodes er nog kunnen werken voor specifieke apparaten. Er zijn namelijk veel apparaten die verbonden kunnen worden met het internet, zie ”The internet of things”. Toch zijn er voor deze apparaten weinig studies gebeurd over het connecteren en authenticeren van deze apparaten. We leggen als eerste de verschillende technieken uit, met de voor- en nadelen hiervan, samen met de beveiligingsaspecten van elke techniek. We splitsen deze technieken op in verschillende categorie¨en, die een verzameling van apparaten en inputmogelijkheden moet voorstellen. Later gaan we de methodes vergelijken door voor elke categorie de verschillende aspecten van elke methode onder de loep te nemen. Voor elke categorie gaan we dan de voor- en nadelen bespreken aan de hand van de specifieke eigenschappen van het apparaat dat we willen verbinden.
Hoofdstuk 2
Authenticatiemethodes Wanneer we een apparaat willen verbinden met een access point (AP) om te connecteren met het internet, moeten we meestal eerst authenticeren dat we hiervoor toegestaan zijn. Dit wordt vooral gedaan om misbruik te vermijden op een netwerk, maar ook om veiligheidsmaatregelen. Immers, eens iemand op een netwerk verbonden is, kan deze op dat netwerk blijven tot het paswoord van het AP verandert of deze er handmatig van wordt verwijderd. Dit komt doordat eens met een AP verbonden, het OS meestal de gegevens bijhoudt om de volgende keer hier terug mee te verbinden. In deze thesis gaan we enkele manieren van verbinden en authenticeren nader bekijken en uitmaken of er specifieke voor- en nadelen zijn voor elke techniek in specifieke situaties. Die manieren kunnen gaan van het verbinden van een laptop met een netwerk voor de verbinding met het internet via een authenticatieprotocol, tot de verbinding van een rookmelder met een lokaal netwerk via een eenvoudige druk op een knop.
In- en out-of-band communiceren Wanneer een apparaat wilt verbinden met een access point (AP), kan het twee manieren gebruiken om de data tussen de twee te transporteren. Het kan gebruik maken van in-band communicatie, wat betekent dat het connecteren met het AP op dezelfde frequentie van radiogolven wordt gedaan als de uiteindelijke communicatie tussen de twee. Een voorbeeld is het verbinden via WPA met een netwerk, waar we op de 2.4 of 5 GHz frequentie communiceren, zowel voor de initi¨ele connectie als voor de uiteindelijke communicatie. Als alternatief hierop hebben we out-of-band communicatie waar we bij de initi¨ele connectie met een andere frequentie of met een andere tussenliggende vorm van data uitwisselen communiceren. Wanneer de connectie is opgezet, veranderen we van communicatietechniek en gebeurt de communicatie terug op de manier van het AP. 11
Deel 1: Impact van draadloze netwerken op authenticatie
12
Er zijn zowel voor- en nadelen aan beide verbonden. Doordat in-band communicatie op dezelfde frequentie communiceert bijvoorbeeld, gebeuren veel aanvallen op het inloggen en op het communiceren met de router. Er moet maar op ´e´en frequentie gescand worden en men kan ook hierop terug communiceren met de router of het aan te vallen apparaat. Out-of-band laat het apparaat en het AP op twee manieren met elkaar communiceren, wat als nadeel heeft dat er twee verschillende soorten hardware zijn vereist. De reden dat deze manier toch gebruikt kan worden, is dat die tweede manier voordelen kan bieden. Bijvoorbeeld een veiligere, snellere of uitgebreidere connectiesetup, waardoor de gebruiker meerdere mogelijkheden heeft om te verbinden met een netwerk. Daarnaast kunnen ook bijvoorbeeld betere parameters gecre¨eerd worden, zoals de afstand tussen de beide apparaten die men opzettelijk kleiner maakt, zoals bij Near-field-communication (NFC).
2.1
Draadloze verbinding zonder beveiliging
De eenvoudigste manier om een draadloze connectie op te zetten is door er geen beveiliging op te plaatsen. Door een AP in te stellen zodat er geen beveiliging is, kan iedereen connecteren op jouw netwerk. Dit heeft enkele voordelen, namelijk dat er geen authenticatie moet gebeuren en veel apparaten enkel moeten zoeken naar zulk netwerk en er hierdoor meteen mee kunnen verbinden. Daarnaast heeft het ook een heel groot nadeel, namelijk dat iedereen die wil ook op het netwerk kan verbinden. Aanvallers moeten geen enkele moeite doen om binnen te dringen, aangezien iedereen die dit wenst met het netwerk kan verbinden. En aangezien er geen encryptie wordt uitgevoerd op de communicatie tussen apparaat en AP, is ook alle communicatie tussen beide te onderscheppen door derden. Hierdoor kunnen gevoelige gegevens gestolen worden door personen die enkel de pakketten moeten onderscheppen. In theorie is dit dus niet aangeraden, aangezien het niet veilig is. Toch zijn er enkele gevallen waarin het toch praktisch is, maar dit moet goed gecontroleerd worden zodat er geen misbruik van gemaakt kan worden. Een geval waar dit eventueel wel interessant is, is wanneer men een gastennetwerk aanmaakt. Dit kan een netwerk zijn waarin er maar een beperkte toegang is tot het internet of het netwerk en het komt neer op een gecontroleerde omgeving die opgezet is voor andere personen die sporadisch verbinden met het internet. Moderne routers kunnen zulk netwerk opzetten en geven dan de administrator de mogelijkheid om te beslissen wat kan en wat niet kan.
Deel 1: Impact van draadloze netwerken op authenticatie
13
Een tweede geval waarbij men met een netwerk onbeveiligd kan verbinden is door pas te authenticeren wanneer de gebruiker de eerste keer een website opvraagt. Een goed voorbeeld hiervan is de Wi-Free zone van Telenet, welk een onbeveiligd netwerk is. De gebruiker moet zichzelf pas authenticeren van zodra hij een website opvraagt. Het AP stopt immers deze aanvraag en leidt de gebruiker eerst om naar een inlogsite. Inloggen doet men met een Telenet account, waarna de gebruiker wordt doorgestuurd naar de eerst aangevraagde website.
2.2
Wi-Fi Protected Access (WPA/WPA2)
De meest veilige manier om draadloos te verbinden met het internet is via WPA/WPA2 [4]. Deze manier is een standaard geworden, waarbij we een paswoord manueel moeten invullen dat we ingesteld hebben in het AP en waarna we meteen zijn verbonden. Het is een veilige en snelle manier van opzetten. Het protocol werkt door middel van een Pre-Shared Key(PSK), een gedeelde sleutel. Dit betekent dat zowel het AP als het apparaat dat wil verbinden dezelfde afgesproken sleutel moeten kennen. Bij het eerst opstarten van het AP is er vaak een default key ingesteld, maar men raadt aan om deze zo snel mogelijk te veranderen naar een eigen keuze. WPA was een tijdelijke oplossing om Wired Equivalent privacy (WEP) op te volgen. WEP was een authenticatiemethode die niet veilig bleek te zijn en daarom moest vervangen worden. WPA heeft deze tijdelijk vervangen, tot WPA2 uitkwam. WPA werkte via het Temporal Key Integrity Protocol (TKIP), waarmee unieke encryptie sleutels werden gemaakt. Deze sleutel werd gebruikt om communicatie tussen de twee apparaten te versleutelen zodat deze veilig is. Als opvolger van WPA is in 2006 WPA2 uitgekomen, wat een veel veiliger protocol is dan zijn voorgangers. Het gebruikt Advanced Encryption Standard (AES) algoritmes en CCMP (Counter Cipher Mode with Block Chaining Message Authentication Code Protocol) als vervanging van het TKIP protocol. Deze methode is veilig gebleken en er zijn op dit moment geen goede aanvallen om de WPA2 encryptie te omzeilen. Natuurlijk is de gedeelde sleutel een zwak punt in deze opzet, aangezien de gebruiker die het netwerk opzet deze sleutel moet kiezen. We raden daarom ook aan om een veilige sleutel te kiezen die zeker niet te kort is. De maximum lengte van de sleutel is 63 karakters en men raadt aan om minstens 20 karakters te gebruiken. Er bestaan ook websites die random keys genereren [5], maar deze zijn vrij
Deel 1: Impact van draadloze netwerken op authenticatie
14
moeilijk te onthouden waardoor men zelf de afweging moet maken tussen de lengte en willekeurigheid van het wachtwoord en de mogelijkheid om het te kunnen onthouden. Het grootste nadeel is dan ook het manueel invullen van het paswoord. Dit moet door een gebruiker gebeuren op een toetsenbord, aangezien het ook veel speciale tekens toestaat, zoals [$@ˆ\‘,—%;.˜():?[]=-+ #!]. Wachtwoorden zoals zS,Dn˜e6E%xT( zijn veiliger, maar moeilijker te onthouden. Hierdoor hebben we een volledig toetsenbord nodig, maar maakt het bereik van mogelijke paswoorden wel groter.
2.3
Wi-Fi Protected Setup (WPS)
Wi-Fi protected setup is een technologie die ontwikkeld is om op een eenvoudigere manier een paswoord uit te wisselen. Waar WPA/WPA2 een authenticatieprotocol is, is WPS een protocol om op een niet-manuele manier een paswoord uit te wisselen. Deze kunnen dus perfect samenwerken.
2.3.1
Geschiedenis en voorlopers van WPS
Voor het opzetten van een draadloze verbinding tussen een apparaat en een access point is er in augustus 2004 een Simple Config Task Group opgestart door de Wi-Fi Alliance [6]. Hierin konden bedrijven voorstellen inbrengen voor een protocol dat toestond om een apparaat op een eenvoudige manier te verbinden met een access point. Negen bedrijven hebben zes voorstellen binnengebracht en hiervan hebben zeven bedrijven (Microsoft, Intel, Philips, Sony, Atheros, Marvell en Buffalo) voor een specifieke oplossing gekozen, namelijk het Wi-Fi Simple Configuration (WSC) protocol. Dit protocol is gebaseerd op het voorstel van Microsoft, namelijk Windows Connect Now (WCN).
Windows Connect Now (WCN) WCN is een protocol dat voorgesteld is op de Windows Hardware Engineering Conference (WINHEC) in 2004 [7]. Het laat gebruikers van Windows XP (SP2) en Windows Vista een apparaat verbinden met het netwerk via de volgende manieren:
• USB-configuratie: Deze manier van netwerk configureren was de meest gebruikte manier om een apparaat een netwerkverbinding te geven via Windows Connect Now. De configuratie van het draadloze netwerk wordt op een USB-stick geplaatst, samen met de logingegevens die eventueel nodig zijn om op het netwerk verbinding te maken. Al deze gegevens worden in een TXT-bestand gestoken met de naam
Deel 1: Impact van draadloze netwerken op authenticatie
15
WSETTINGS.TXT. Wanneer nu de USB-stick met een ander apparaat wordt geconnecteerd via Windows Connect Now, kan deze dit bestand inlezen en met de gegevens een verbinding met het netwerk maken. • Wireless verbinding met een netwerk: Indien de router al geconfigureerd is voor het accepteren van uw draadloze verbinding, kan er in Windows via een Wizard verbinding gemaakt worden met het access point.
Daarnaast geeft Windows Connect Now ook nog enkele mogelijkheden voor registrerende apparaten. Dit zijn apparaten waaraan gevraagd wordt of een nieuw apparaat toegang krijgt of niet tot het access point. Windows Connect Now laat deze verbinden met het access point via ce volgende manieren: • Wired (Ethernet) Configuratie: Via deze manier gaat de registrar verbinding maken met het access point door beide te verbinden met een ethernetkabel. Via UPnP gaat men een connectie opzetten tussen beide. Daarna geeft het access point een PIN-code door die op het access point staat. Wanneer deze correct is, worden de nieuwe access point instellingen ge¨encrypteerd doorgestuurd naar het access point • Wireless Configuratie: Wanneer het access point al geconfigureerd is voor draadloze connectie met de registreerder, kan op dezelfde manier als via de wired manier de nieuwe access point instellingen aangepast worden
De registreerder kan op deze manieren apparaten toevoegen om een draadloze verbinding op te zetten via de configuratiebestanden. Wanneer een gebruiker dus wordt toegevoegd via de registreerder, moet deze enkel nog verbinding maken met het access point en dan verkrijgt deze een draadloze verbinding. Windows Connect Now kan nog steeds toegepast worden op modernere besturingssystemen, zoals Windows 8.1, maar is nu gedeeltelijk aangepast naar een implementatie van WPS [8]. De USB-methode kan men nog steeds toepassen, maar is onveilig indien de bestanden die hiervoor worden gebruikt in andere handen belanden. Er zijn zelfs websites die de bestanden van de USB-stick kunnen genereren zoals [9].
2.3.2
Wi-Fi Simple configuration (WSC)
In 2006 heeft de Wi-Fi Alliance een nieuw protocol voorgesteld, namelijk Wi-Fi Simple Configuration [10]. In samenwerking met de 7 bedrijven is er een akkoord gekomen over hoe apparaten op een eenvoudige en veilige manier kunnen geconfigureerd worden om toegang tot het netwerk te verkrijgen.
Deel 1: Impact van draadloze netwerken op authenticatie
16
In 2006 heeft Windows gesteld dat: ”Windows Connect Now has recently been adopted as a configuration standard by the Wi-Fi Alliance, which makes it an easy choice when you are building solutions.”[11]. De Wi-Fi Alliance heeft hiermee het idee van Windows Connect Now gebruikt om een eenvoudigere manier van netwerkopzetting te cre¨eren. WSC stelde drie verschillende manieren voor om een verbinding te maken tussen een access point en een apparaat. Deze drie manieren zijn: • PIN-code • Druk op de knop • USB-koppeling
PIN-code Een gebruiker kan na het selecteren van het te verbinden netwerk ervoor kiezen om te verbinden via de PIN-code, welke statisch op een sticker op het access point af te lezen is, of door het access point dynamisch aangemaakt is. Wanneer de PIN-code correct is doorgegeven, geeft het AP de netwerkgegevens terug die nodig zijn om de authenticatie te vervolledigen.
Druk op de knop Op een access point met WSC staat vaak een knop, met daarop de initialen van het protocol, namelijk WSC (ondertussen is dit de opvolger WPS). Deze knop dient voor de “Push Button” of “Druk op de knop”-manier. Dit werkt doordat het access point tijdelijk de mogelijkheid biedt aan een apparaat om te verbinden met het access point zonder gebruik te maken van een wachtwoord of PIN-code. Het access point gaat tijdelijk, vaak 2 minuten, in toestand waarin andere apparaten met het access point kunnen verbinden door ook op een knop te drukken, wat zowel een fysieke knop als een virtuele knop kan zijn. Om via deze manier een netwerkverbinding te verkrijgen, zijn er verschillende scenario’s mogelijk, afhankelijk van de netwerkadapter op het te verbinden apparaat. Indien de netwerkadapter ook een WSC-knop heeft, zoals te zien is op [figuur 2.1], kunnen we een verbinding tussen beide apparaten maken door eerst op de knop te drukken van het access point, en hierna op de knop van de netwerkadapter. Op deze manier gaan de twee apparaten berichten uitwisselen die het apparaat toegang verlenen tot het netwerk op het access point, dit bespreken we in [onderdeel 2.3.4].
Deel 1: Impact van draadloze netwerken op authenticatie
17
Figuur 2.1: Een voorbeeld van een netwerk Dongle voor draadloos netwerk met een WSC- (of opvolger WPS-) knop. Wanneer er op beide knoppen gedrukt wordt binnen een bepaalde tijd, wordt er automatisch een connectie opgezet (Bron: [12]).
USB-koppeling Deze manier komt oorspronkelijk van WCN, waarin de configuratie van het netwerk op een USB-stick wordt geplaatst. Op de stick plaatsen we de configuratie die nodig is om te communiceren en authenticeren met een access point. Door deze informatie te gebruiken op een ander apparaat, kunnen we dit apparaat verbinden met het netwerk. Op het apparaat worden verschillende elementen opgeslagen, zoals het SSID van het netwerk en het paswoord, en alle informatie die nodig is om de verbinding te leggen met het access point zonder nog input te krijgen van een gebruiker. Deze data staat onversleuteld op de USB-stick.
Wireless Network Settings Print this document and store it in a safe place for future reference. You may need these settings to add additional computers and devices to your network. Wireless Settings Network Name (SSID): WPS Network Network Key (WEP/WPA Key): testtest Key Provided Automatically (802.1x): 0 Network Authentication Type: WPAPSK Data Encryption Type: TKIP Connection Type: ESS Key Index: To enable File and Printer Sharing on this computer, run the Network Setup Wizard. To set up your Internet connection, follow the instructions from your Internet Service Provider (ISP).
Figuur 2.2: Een voorbeeld van de config file op een USB stick. Alle data staat onversleuteld in een TXT-file, inclusief de WPA key.
Deel 1: Impact van draadloze netwerken op authenticatie
18
<wirelessProfile xmlns= "http://www.microsoft.com/provisioning/WirelessProfile/2004">
7F441CA9-B0E6-4849-ADF8-34D6772F313F 0B4E59B8-8317-46B2-B8C2-C46850162E6C Microsoft Wireless Network Setup Wizard <ssid xml:space="preserve">WPS Network
ESS 0 0 <primaryProfile>
WPAPSK <encryption>TKIP
testtest 0 0
Figuur 2.3: Settings file van de USB-methode. De settings staan in XML en worden onversleuteld opgeslagen.
2.3.3
Wi-Fi Protected Setup (WPS)
Na een naamsverandering is er Wi-Fi Protected Setup (WPS) [13] gekomen. Dit protocol had origineel drie manieren, en heeft er in april 2014 nog een bijgekregen, om een geauthenticeerde verbinding op te zetten met een access point. Deze technologie is ondertussen goed ingeburgerd bij hardware fabrikanten van routers en bij operating systemen. Op veel routers kan men inmiddels verbinden met WPS en de grote besturingssystemen, zoals Windows, Linux en Mac, ondersteunen de laatste mogelijkheden van WPS.
Deel 1: Impact van draadloze netwerken op authenticatie
19
De vier methodes van WPS zijn: • PIN-code • Druk op de knop • USB-koppeling • Near-Field-Communication (NFC), vanaf april 2014 In april 2014 is er een nieuwe manier bijgekomen die gebruik maakt van Near-FieldCommunication (NFC), een datatransfer techniek die het mogelijk maakt om data tussen twee apparaten uit te wisselen die op een zeer korte afstand van elkaar geplaatst zijn. De techniek is in theorie een ge¨ upgradede manier van de ”Druk op de knop”-methode, waarbij er verbinding met het access point wordt gemaakt via een out-of-band techniek, namelijk NFC. Met NFC is het de bedoeling om een apparaat met NFC-capaciteiten dicht genoeg bij het access point te verplaatsen, 10 tot 30 cm tussen beide apparaten, waardoor het informatie over het netwerk kan uitwisselen. Volgens WPS is deze manier van verbinden sneller en veiliger, aangezien de data over een zeer korte afstand moet verstuurd worden en daarnaast over een andere frequentie wordt verstuurd dan de 2,4 of 5 GHz van het draadloze netwerk. Deze voordelen komen beide uit het feit dat NFC communiceert via elektromagnetische inductie. Deze inductie treedt op wanneer we een magnetisch veld maken, door stroom over een spoel te zetten. Een ontvanger kan de magnetische inductie omzetten in elektrische signalen. Er zijn twee verschillende soorten NFC-apparaten, passieve en actieve apparaten. Passieve apparaten hebben geen eigen magnetisch veld nodig, maar kunnen data ontvangen van een actief NFC-apparaat. Voor WPS is de NFC in het AP een actief apparaat.
2.3.4
Werking WPS
Bij het cre¨eren van een netwerkverbinding via WPS zijn er drie componenten, zie [onderdeel 2.4], waar rekening mee moet gehouden worden : 1. Enrollee: Het apparaat dat een netwerkverbinding wil aangaan. 2. Registrar: De registreerder die de toestemming moet geven of er een netwerkverbinding mag gemaakt worden.
Deel 1: Impact van draadloze netwerken op authenticatie
20
3. Access Point (AP): Het access point waarmee men een verbinding wil maken. In deze opstelling gaat een enrollee zich registreren bij de registrar. Indien de registrar hiermee akkoord gaat, stuurt deze een bericht naar het access point dat het de enrollee toegestaan is om verbinding te maken met het netwerk van het access point. Hierna stuurt de registrar naar de enrollee dat deze een verbinding kan maken met het access point.
Figuur 2.4: Componenten van een WPS-opstelling (Bron: [14]).
Bij het begin van het opzetten van een netwerkverbinding, moet er gekeken worden of het access point een alleenstaand access point is, met registreerder ingebouwd, of dat er een of meerdere extern registreerders zijn voor de registratie van het te verbinden apparaat. Bij een particuliere router is de registreerder meestal ingebouwd. Een externe registreerder daarentegen heeft wel enkele voordelen:
1. De externe registreerder heeft een grotere hoeveelheid opslaggeheugen voor een log van netwerk setup activiteiten en kan deze eventueel ook beter en/of makkelijker weergeven 2. Het registreren bij een externe registreerder kan een voordeel bieden indien er op een betere manier fouten worden afgehandeld of wanneer de registreerder kan uitleggen wat de fouten inhouden en hoe men deze kan oplossen 3. De externe registreerder kan eventueel aanvragen behandelen die via een ander medium worden verstuurd, bijvoorbeeld via infrarood of via een seri¨ele poort 4. Er kan voor gezorgd worden dat enkel specifieke apparaten bij de registreerder aanvragen kunnen doen, wat een extra laag van beveiliging met zich meebrengt
Dit komt niet vaak voor in een thuissituatie waardoor we vanaf nu enkel zullen spreken over access points met een ingebouwde registreerder.
Deel 1: Impact van draadloze netwerken op authenticatie
21
Data-uitwisseling Om beter te begrijpen hoe WPS omgaat met data-uitwisseling leggen we kort uit hoe WPS dit doet voor de ”PIN-code”- en ”Druk op de knop”-manier. We leggen dit uit aan de hand van een externe registrar, zodat het duidelijker is hoe alle communicatie werkt. Indien immers de registrar niet extern is, kunnen we de communicatie tussen de registrar en access point negeren.
Standaard WPS setup Wanneer een gebruiker via WPS een verbinding wil opzetten, gebeurt de registratie met alle vier de methodes op ongeveer dezelfde manier. De gebruiker geeft een paswoord in, dit kan de PIN-code zijn, een druk op de knop, een NFC-bericht of de data van de USB setup bestanden. Deze data wordt gecontroleerd door de registrar, welke gaat uitmaken of de data correct is of niet en wat deze al dan niet gaat toestaan aan de gebruiker. WPS voert authenticatie uit door op een beveiligde manier het paswoord uit te wisselen tussen gebruiker en access point. De communicatie tussen de gebruiker en het access point gebeurt via het Extensible Authentication Protocol (EAP) en via Universal Plug and Play (UPnP) tussen het AP en de registrar. De uiteindelijke authenticatie gebeurt via 8 berichten. We leggen deze aan de hand van [figuur 2.5] uit: 1-2 In stap 1 en 2 worden Diffie Helman Key uitwisselingen gedaan. Hierna worden alle gegevensuitwisselingen met deze key versleuteld naar elkaar gestuurd 3 De enrollee doet een aanvraag om een authenticatie request uit te voeren 4 De registrar vraagt het eerste deel van de PIN-code op 5 De enrollee stuurt het eerste deel van de PIN-code op 6 Indien het eerste deel correct was, vraagt de registrar het tweede deel van de PINcode op. Indien het eerste deel niet correct was, stuurt de registrar een foutmelding 7 De enrollee stuurt het tweede deel van de PIN-code 8 Indien het tweede deel van de PIN-code correct was, stuurt de registrar de AP configuratie door waarmee de enrollee kan verbinden met het netwerk Deze acht berichten komen terug in elke opstelling en gaan telkens met de benodigde informatie na of het apparaat de correcte authenticatie heeft om met het netwerk te verbinden. We gaan dit verder bekijken bij de ”PIN-code”-manier en de ”Druk op de knop”-manier.
Deel 1: Impact van draadloze netwerken op authenticatie
22
Figuur 2.5: De berichtenuitwisseling voor paswoordcontrole van WPS. De acht M berichten worden gebruikt om een veilige communicatie op te zetten en om via deze communicatie het paswoord door te sturen en een bevestiging terug te krijgen met de melding of het paswoord correct is of niet. (Bron: [15].
Setup via de Pin-methode In [figuur 2.6] zien we welke berichten er worden uitgewisseld om de connectie op te zetten. Als eerste wordt er een Beacon uitgestuurd vanuit de AP, welke het apparaat meldt dat deze beschikbaar is. De registrar geeft aan de AP aan dat er een connectie kan opgezet worden met PIN-code, waarna de AP gaat broadcasten dat het een authenticatie via PIN toestaat. Er wordt een nieuwe Beacon uitgestuurd welke ook vermeldt dat er via de PIN-code geconnecteerd moet worden. Daarna vraagt het apparaat of kan verbinden met de AP, via een Authentication Request. Wanneer dit gelukt is, vraagt het opnieuw een Authentication Request aan maar
Deel 1: Impact van draadloze netwerken op authenticatie
23
Figuur 2.6: De berichten die uitgewisseld worden bij een PIN-code gebaseerde authenticatie. De 8 berichten uit [figuur 2.5] komen hierin ook terug(Bron: [16]).
nu met een Information Element toegevoegd, welke aanduidt dat het met de PIN-code wil verbinden. Via Extensible Authentication Protocol (EAP) en Extensible Authentication Protocol Over Lan (EAPOL) worden nu de berichten uitgewisseld om te verifi¨eren dat de PINcode correct is. De enrollee start de authenticatie, waarop het AP de identiteit van het apparaat opvraagt. Deze stap is apparaat specifiek want in theorie mag er een leeg bericht worden teruggestuurd. Onder Windows wordt de apparaatnaam teruggestuurd. Daarna gaan we de authenticatie uitvoeren van de enrollee. Dit gebeurt via de acht stappen die we in [figuur 2.5] hebben uitgelegd. Achterliggend gaat de registrar nagaan of alles correct verloopt. Na de authenticatie stuurt de enrollee dat hij klaar is met authenticeren via een EAP Response(Done), waarop de AP een deauthenticatie-bericht terugstuurd. De AP krijgt als laatste dan nog eventueel het bericht dat de PIN-code registratie uitgeschakeld kan worden.
Setup via de ”Druk op de knop”-methode Bij de ”Druk op de knop”-methode kunnen er twee gevallen optreden. Ofwel drukt de
Deel 1: Impact van draadloze netwerken op authenticatie
24
gebruiker als eerste op de knop bij de enrollee, ofwel wordt er op de knop gedrukt van de registrar, wat zowel fysieke als virtuele knoppen kunnen zijn.
Figuur 2.7: De druk op de knop berichten uitwisseling wanneer de Enrollee als eerste op de knop drukt. We zien dat de probe request eerst naar de registrar doorgestuurd wordt, en wanneer er bij de registrar dan op de knop gedrukt wordt, wordt via een beacon het hele proces meteen gestart(Bron: [16]).
Zoals in figuren 2.7 en 2.8 zien we dat de berichten van de ”Druk op de knop”-manier sterk lijken op de ”PIN-code”-manier, enkel het begin is verschillend. We zien bijvoorbeeld dat wanneer de enrollee als eerste op de knop duwt, deze een Probe request zal sturen naar het AP om aan te vragen via de ”Druk op de knop”-manier te connecteren. Wanneer er hier op de knop wordt gedrukt, zal een beacon worden uitgezonden zodat de authenticatie kan beginnnen. Wanneer de enrollee als tweede op de knop heeft gedrukt, moet het niet wachten op de Probe response als er ondertussen al een beacon is uitgezonden van de druk op de knop van het AP. Deze zal dus niet wachten op de Probe response maar kan meteen met de authenticatie beginnen doordat hij weet dat beide apparaten op de knop hebben gedrukt.
2.3.5
Wi-Fi Direct (Wi-Fi P2P)
Via Wi-Fi Direct is het mogelijk om twee apparaten draadloos met elkaar te verbinden. Normaal moeten signalen via een switch of router naar andere apparaten verstuurd
Deel 1: Impact van draadloze netwerken op authenticatie
25
Figuur 2.8: De druk op de knop berichten uitwisseling wanneer de Enrollee als tweede op de knop drukt. Het verschil met [figuur 2.7] is dat de authentication request al verstuurd kan worden voor de Probe response moet teruggestuurd zijn, aangezien de enrollee en het AP weten dat beiden op de knop hebben geduwd(Bron: [16]).
worden, maar via Wi-Fi Direct kunnen signalen zonder deze omweg rechtstreeks naar het andere apparaat worden verstuurd. Dit heeft als voordelen dat bepaalde apparaten niet aan het netwerk gehangen moeten worden, bijvoorbeeld apparaten die niet voor iedereen zichtbaar mogen zijn maar enkel voor ´e´en apparaat. Een voorbeeld is een printer, die niet aan een netwerk moet gehangen worden zodat iedereen op het netwerk er van mag printen, maar via Wi-Fi Direct signalen van een specifiek apparaat kan ontvangen en deze omzetten in print jobs. Een ander voorbeeld is een afstandsbediening die enkel signalen moet doorsturen naar uw TV, in plaats van via het netwerk naar alle apparaten. Wi-Fi Direct is in dit opzicht een opvolger van bluetooth, waarbij ook een ad-hoc verbinding wordt gelegd tussen twee apparaten. De verbinding kan zolang als gewenst in stand blijven en data kan op deze manier heen en weer gestuurd worden. Een voordeel van Wi-Fi Direct is dat de snelheid waarmee data over en weer kan gestuurd worden op dezelfde snelheid als Wi-Fi werkt. Voor het opzetten van zulke verbinding wordt WPS gebruikt. Wi-Fi Direct is dan ook een technologie van de Wi-Fi Alliance, de makers van WPS. Eens de opstelling is afgerond en de twee apparaten data naar elkaar kunnen sturen, wordt de data ge¨encrypteerd via WPA2.
Deel 1: Impact van draadloze netwerken op authenticatie
2.3.6
26
Beveiligingsaspecten van WPS
Er zijn verschillende problemen gevonden bij het gebruik van WPS. Onderzoekers hebben bijvoorbeeld bij de ‘PIN-code’-manier een manier gevonden om de implementatie te misbruiken. Stefan Viehb¨ ock heeft in 2011 gevonden dat de PIN-code kan gekraakt worden in 11000 pogingen [10]. Doordat het laatste cijfer een checksum getal is, moeten er maar 7 cijfers geraden worden. De checksum wordt berekend door de 4 cijfers op de oneven plaatsen van de PINcode te vermenigvuldigen met 3 en de som van deze cijfers op te tellen bij de som van de cijfers op de even plaatsen. We geven deze waarde in bij de formule: (10 − berekendewaarde%10)%10. Dit cijfer is de checksum van de PIN-code en moet dus op de 8ste plaats staan in de PIN-code. Indien we brute force alle mogelijke PIN-codes zouden controleren, zonder rekening te houden met het zwakke systeem van WPS om de PIN-code in twee stappen na te gaan, zouden er dus 10.000.000 mogelijkheden zijn. Indien men wel met de WPS manier rekening houdt, moet moet men maar maximaal 11000 pogingen wagen, namelijk 10000 voor de eerste 4 cijfers en 1000 voor de laatste 4, aangezien het laatste getal een checksum is. Deze aanval is beschreven in [10], waarin uitgelegd wordt hoe de aanval moet opgezet worden en welke voorzorgsmaatregelen kunnen genomen worden om deze aanval te omzeilen. De eenvoudigste manier om als gebruiker te vermijden dat men op deze manier wordt aangevallen, is door WPS uit te zetten. Indien er de keuze is tussen de verschillende manieren van WPS aan of uit te zetten, wordt vaak aangeraden om de ”PIN-code”manier uit te zetten, en dit omwille van de aanval uit [10]. Er bestaan programma’s die deze aanval uitproberen op access points, zoals reaverwps. Dit programma is open source, wat betekent dat iedereen de code kan bekijken en hieraan aanpassingen kan maken. Door het programma uit te voeren met een aanval op de WPS PIN-code, kan de PIN-code gekraakt worden door het programma maximaal vijf uur te laten lopen. Het gaat brute force de eerste vier cijfers proberen te kraken en wanneer dit gelukt is de laatste drie. Wanneer de PIN-code gekraakt is, wordt de access point configuratie gedumpt met het WPA/WPA2 paswoord. Naast het probleem met de PIN-code is er nog een ander probleem dat op kan treden wanneer het access point fysiek toegankelijk is voor aanvallers. Met de ”Druk op de knop”-manier kan een apparaat verbinding maken met het access point zonder enige vorm van beveiliging, buiten het feit dat de aanvaller fysiek op de knop moet duwen van die access point. Vanaf het moment dat er op de knop van het access point wordt gedrukt, kan eender welk apparaat hiermee verbinding maken, wat kan leiden tot misbruik.
Deel 1: Impact van draadloze netwerken op authenticatie
27
Om deze reden is het verstandig om oftewel het access point op een locatie te plaatsen waar personen die niet aan het access point moeten komen, hier ook niet aan geraken. Oftewel kan men de fysieke knop op het access point afzetten wanneer men deze niet meer gaat gebruiken. Dit betekent wel extra werk indien men de volgende keer een extra apparaat wil koppelen, namelijk via een ander apparaat de knop terug aanzetten. Als laatste optie kan men ook de virtuele knop gebruiken, wat het gevaar bij fysieke toegang wegneemt. Hierdoor moet er een ander apparaat gebruikt worden dat de virtuele knop indrukt via de verbinding met het access point. Ook de USB-methode is niet veilig. Aangezien de data op de USB-stick onbeveiligd staat opgeslagen, kan iedereen alle data van de USB-stick afgelezen. Daarnaast kan de USB-stick ook aan elk ander apparaat worden gekoppeld, waarna met deze data de verbinding kan gemaakt worden met het access point. Hierdoor moet men oppassen dat de USB-stick niet in de verkeerde handen valt, aangezien alle data en functionaliteit onbeschermd beschikbaar is. Men raadt daarom ook aan om de gegevens van de USBstick te verwijderen nadat de opstelling geslaagd is.
Reaver aanval op WPS Om een beeld te krijgen van een aanval op een router met reaver, hebben we dit getest op verschillende routers en onderzocht wat de effecten hiervan zijn. Reaver is een aanval op WPS dat de PIN-code van een router gaat proberen te achterhalen door alle mogelijke PIN-codes uit te proberen. De aanval is uit te voeren van een apparaat dat draadloze pakketten kan monitoren. Als parameters moet reaver het MAC-adres en de interface, waarop het de aanval kan uitvoeren, krijgen. Er zijn nog verschillende parameters die de aanval kunnen verbeteren, zoals de tijd tussen twee authenticaties, de mogelijkheid om kleinere diffie-hellman waardes te gebruiken om zo minder zware berekeningen te moeten uitvoeren, . . . Reaver cre¨eert door deze parameters een grote hoeveelheid van veranderingen die de aanval kunnen versnellen. Aangezien de aanval al van 2011 is, zijn er ondertussen manieren gevonden om de aanval te stoppen of te vertragen. Een voorbeeld hiervan is wat de Wi-Fi Alliance aanraadt, namelijk het blokkeren van de mogelijkheid tot inloggen voor een bepaalde tijd. Gedurende deze tijd wordt elke aanvraag van WPS-authenticatie niet beantwoord en kan dus ook de PIN-code niet gekraakt worden. Aangezien dit de manier is die in de technische specificaties van WPS staat, is dit de meest gebruikte manier om de aanval te stoppen. Toch verschillen ook hier veel routers van aanpak, namelijk in het aantal toegelaten foute authenticaties en in de tijd dat de router niet meer antwoordt op authenticaties.
Deel 1: Impact van draadloze netwerken op authenticatie Router Belkin N450 Linksys E1700 Archer C7
Aantal pogingen tot blokkering 3 3 3
Aantal seconden blokkering 10 20 oneindig
Linksys E3000 Telenet router
20 5
oneindig oneindig
28 Firmware F9K1105 1.0.01 3.13.33 Build 130729 Rel.56122n 1.0.04 modem HGW 3.0
Tabel 2.1: Een overzicht van de routers die getest zijn op de reaver aanval. We zien dat sommige routers de authenticatie methode tijdelijk blokkeren en sommigen dit blijvend doen, totdat de router een hard reset heeft gekregen.
Daarnaast hebben we nog op andere routers getest maar deze hadden een andere manier van oplossen, namelijk na enkele pogingen in een volledige lockdown gaan van al het verkeer. Alle apparaten die op dat moment aan het netwerk hangen worden gedeconnecteerd en de router werkt pas opnieuw als er een hard reset gebeurt. We hebben op de Archer c7 ook een aanval geprobeerd waar we ons MAC-adres na elke poging gingen spoofen, om te kijken of de router meer pogingen zou toestaan vooraleer er een lockdown zou ontstaan. Dit blijkt niet het geval te zijn, aangezien er opnieuw maar drie pogingen nodig waren om de router in lockdown te plaatsen. We hebben de reaver aanval bij verschillende routers getest. De resultaten van deze test zijn weergegeven in [figuur 2.1]. We zien hierin dat er verschillende routers zijn die, na een aantal mislukte pogingen, de router in lockdown mode zetten. Op deze manier heeft de aanval nog steeds zijn nut. Indien we een router willen aanvallen dat op deze manier een WPS-aanval oplost, kunnen we nog steeds het volledige netwerk platleggen, tot er een hard reset gebeurd is. En daarna kunnen we de aanval gewoon opnieuw uitvoeren. Op deze manier kunnen we dus voor een onbepaalde duur het netwerk volledig platleggen. Een oplossing voor deze aanval zou kunnen zijn dat elke router opstart met de WPS mogelijkheden uit. Hierdoor zijn op dezelfde manier alle problemen van WPS opgelost, namelijk de mogelijkheid om WPS aan te vallen aangezien voor de aanval zelf WPS moet aanstaan. Om een volledig beeld hiervan te krijgen, staat er op [17] een lijst met apparaten die getest zijn of ze aan te vallen zijn door middel van reaver of WPSCrack, het programma geschreven door Stefan Viehb¨ ock, de man die de mogelijkheid tot de WPS-aanval gevonden heeft.
Deel 1: Impact van draadloze netwerken op authenticatie
29
LogJam We gebruiken voor WPS-authenticatie het Diffie-Hellman algoritme waarmee we veronderstellen dat we op een veilige manier berichten kunnen uitwisselen tussen twee apparaten, in dit geval een apparaat en een AP. Ondertussen zijn er artikels verschenen dat er problemen zijn bij het algoritme en dat het kraken van de communicatie tussen de apparaten sneller kan gaan dan gedacht. Dit zou een ramp zijn voor vele protocollen, zoals HTTPS, SSH, VPN, WPS en anderen.
Figuur 2.9: De diffie-hellman sleuteluitwisseling visueel uitgelegd in de vorm van het mixen van verf. Via een combinatie van gezamelijke en geheime kleuren, kunnen we data naar elkaar doorsturen, zonder dat anderen dit kunnen ontcijferen, tenzij ook zij deze waardes kennen (Bron: [18].
Het algoritme werkt als volgt ([figuur 2.9]): 1. Beide apparaten worden het eens over een basisnummer (b) en een priemgetal (p) 2. Apparaat 1 (A1) kiest een geheim getal (a1) en stuurt Apparaat 2 (A2) het volgende door: M 1 = ba1 modulo p 3. A2 kiest zijn geheim getal(a2) en stuurt het volgende door naar A1: M 2 = ba2 modulo p 4. A1 berekent S1 via: S1 = M 2a1 modulo p
Deel 1: Impact van draadloze netwerken op authenticatie
30
5. A2 berekent S2 via: S2 = M 1a2 modulo p S1 en S2 zijn beide gelijk. Hierdoor hebben nu beide apparaten eenzelfde encryptiecijfer waarmee ze vanaf nu berichten naar elkaar kunnen sturen, zonder dat iemand anders hen kan afluisteren, want dan zouden ze immers een van beide geheime getallen moeten weten. Wat blijkt nu via de recent ontdekte Logjam [19]: veel apparaten gebruiken allemaal dezelfde priemgetallen voor de uitwisseling. Dit lijkt geen probleem te zijn, de ontwikkelaars dachten immers dat dit veilig was zolang er een nieuwe sleutel werd uitgewisseld bij elke nieuwe connectie. Dit lijkt niet het geval te zijn, vanwege het sieve algoritme. Dit algoritme is momenteel het beste algoritme voor het kraken van diffie-hellman en heeft enkel dat priemgetal nodig als input. Het algoritme werkt door alle priemgetallen binnen een 512-bit bereik te verwerken in een precomputatie. Deze precomputatie zorgt ervoor dat men verbanden kan leggen tussen het gekozen priemgetal een het resultaat na [bericht 1]. De precomputatie bestaat uit drie stappen. Ze leggen deze verbanden door gebruik te maken van polynome selectie, een methode om een polynoom te vinden die de basis is voor de berekeningen. Daarna wordt er gezift, waar men een grote hoeveelheid integers gaat nagaan als waarde in de polynoom en de relaties gaat zoeken tussen deze waardes. Deze berekening is de zwaarste van de drie, doordat er grote hoeveelheden van berekeningen moeten worden uitgevoerd zodat alle mogelijkheden later kunnen worden getest. Als laatste gaan we de relaties met lineaire algebra in een matrix steken, waardoor we relaties gaan opslaan in een ”IJle matrix”, een matrix met een overgrote meerderheid aan nullen. Wanneer een oplossing voor een matrix vergelijking niet gelijk is aan nul, geeft deze vergelijking de logs van vele kleine elementen. Deze matrix wordt in een database geplaatst en hiermee eindigt de precomputatie. Deze waardes gaan we gebruiken in de laatste stage, de aanval. We gaan het geheim getal zoeken door gebruik te maken van discrete logs. We doen dit door de gedeelde getallen samen met de matrix van stap 3 te herleiden naar het geheime getal. In de paper noemen ze dit ’descent’ en het komt er op neer om het geheime getal te herleiden uit de formule: M 1 = ba1 modulo p met de discrete logs. Wanneer dit gebeurd is, kunnen we de communicatie van andere berichten ontcijferen. We moeten immers maar een van beide geheime getallen vinden, doordat het andere
Deel 1: Impact van draadloze netwerken op authenticatie
31
geheime getal hiervan afgeleid kan worden. Op deze manier kan ook communicatie worden vervalst, aangezien de communicatie kan worden nagemaakt met de geheime cijfers. Ook berichten die zijn opgeslagen kunnen later worden ontcijferd, wanneer de code is gekraakt. Volgens de testen uit [19] zijn bijvoorbeeld 17.9% van de top 1 miljoen van meest bezochte websites aan te vallen via een reaver aanval op HTTPS. Aangezien beide de Diffie-Hellman manier gebruiken, mogen we er dus vanuit gaan dat ook veel WPS apparaten aan te vallen is. Om dit te vermijden moeten we eisen dat beide apparaten minstens een 1024-bit priemgetal gebruiken. Hierdoor zou de aanvaller een veel grotere precomputatie moeten maken die veel langer zou duren. In plaats van een week precomputatie te moeten uitvoeren, zou dit herleid worden naar jaren, iets wat een aanval onhaalbaar maakt.
2.4
Methodes met LED’s
Een Light Emitting Diode (LED) is een klein lichtje dat in een immens breed aanbod van apparaten wordt gebruikt. Van auto- tot fietslampen, van videowalls die op grote schaal afbeeldingen en video’s kunnen tonen tot de lichtjes die de status aangeven op een router. En met dat laatste kunnen we op nieuwe manieren communiceren met andere apparaten. LED’s worden op routers gebruikt voor het aangeven van de status van bepaalde aspecten, zoals of er een netwerkkabel op poort 2 is aangesloten en of deze een verbinding heeft, of dat er een algemene verbinding met het internet kan gemaakt worden of zelfs de Wi-Fi opstaat. Fabrikanten gebruiken deze LEDjes omdat ze spotgoedkoop zijn en perfect dienen om die statussen aan te geven. Toch zijn er nog meerdere mogelijkheden met deze LED’s om een router van dienst te zijn, namelijk om te communiceren met andere apparaten die nog niet verbonden zijn met het netwerk. We kunnen deze communicatie dan ook gebruiken om de authenticatie van een apparaat met een AP op te zetten. Dit kan gebeuren door de benodigde data om te connecteren met het netwerk out-of-band door te sturen naar het apparaat, waardoor de connectie opgezet kan worden (Eenzijdige communicatie van de router naar het apparaat), of men kan de transportlaag vervangen via LED’s waardoor tweezijdige communicatie onstaat. Met dit laatste kunnen dan andere lagen voor de authenticatieuitwisseling zorgen, zoals WPS of WPA.
Deel 1: Impact van draadloze netwerken op authenticatie
32
Draadloze communicatie met zichtbaar licht Communiceren met licht is een manier die al heel lang bestaat en op een eenvoudige en snelle manier over grote afstanden communicatie mogelijk maakt. Door licht te gebruiken als binair signaal (licht aan: 1, licht uit: 0), kunnen we met de LED’s op bijvoorbeeld een router of modem communiceren. De voordelen van communiceren met licht van LED’s is dat de berichten, die van de router komen, enkel kunnen opgevangen worden door apparaten in korte nabijheid. Licht kan namelijk niet door muren zoals geluidsgolven dit doen en heeft dus een grotere veiligheidsfactor op het gebied van man in the middle attacks, doordat de communicatie van de router naar het apparaat enkel kan worden opgevangen in dichte nabijheid. We bespreken hieronder enkele methodes die gebruik maken van communicatie met zichtbaar licht waarbij methodes gebruikt kunnen worden als eenzijdige communicatie van de router naar het apparaat met in-band antwoorden en/of tweezijdige communicatie tussen beide apparaten.
Zichtbaar licht opvangen met een camera Als eerste stellen we een zelfbedachte manier voor, namelijk het opvangen van licht met een camera. Op vele mobiele apparaten, zoals een smartphone of cameratoestel, staat een camera waarmee foto’s en video’s gemaakt kunnen worden. Deze worden doorheen de jaren almaar beter en we zouden deze kunnen gebruiken om de communicatie tussen apparaat en AP eenvoudiger te maken. Door met de camera naar een LED te kijken en de veranderingen in het beeld op te vangen, kunnen we nagaan wanneer een LED aan of uit staat, en deze signalen als binaire dataoverdracht gebruiken. Op deze manier kunnen deze apparaten vragen binnenkrijgen van het AP, zonder dat er man-in-themiddle aanvallen kunnen gebeuren doordat er iemand de communicatie kan opvangen. Een camera zou op deze manier de data van een AP kunnen binnenkrijgen: Er wordt in-band een signaal doorgestuurd naar het AP waarmee een commando wordt opgeroepen dat de LED data kan beginnen door te sturen. Vanaf dan kan het AP via een out-of-band signaal met het apparaat communiceren via zijn lichtbron(nen). Door de camera op de LED te richten en te meten wanneer een LED aan of uit is, kan er data worden uitgewisseld van het AP naar het apparaat. Wanneer het apparaat de volledige data binnengekregen heeft, kan het in-band antwoorden aan het AP. De uiteindelijke netwerkinformatie die nodig is voor het opzetten van een connectie kan eventueel ook via de LED worden doorgestuurd. Deze manier is dan ook zeer interessant voor apparaten met een camera die video kan opnemen en met een beperkte inputmogelijkheid. Een videocamera is hier een voorbeeld van, aangezien het op deze manier geen extra input vereist van de gebruiker en het het
Deel 1: Impact van draadloze netwerken op authenticatie
33
sterkste punt van het apparaat, de camera, gebruikt om de verbinding op te zetten. Natuurlijk moet hier wel nog de hardware voor voorzien zijn in het apparaat, maar deze is klein genoeg gemaakt over de laatste jaren dat dit geen probleem mag zijn. Dit kan ook gedaan worden met een lichtsensor, met de beperking dat er niet te veel ambient licht aanwezig mag zijn op het moment van gebruik. Dit komt doordat de sensor anders ’licht aan’ blijft meten, zonder invloed van de LED die we willen meten. Een nadeel is dat de camera een vaste framerate heeft, welke de dataoverdracht limiteert naar deze framerate. Door deze limitatie heeft de toepassing een langere tijd nodig om data over te sturen naar het apparaat dan in-band communicatie op 2.4 of 5 GHz. In [20] hebben ze getest hoeveel data ze kunnen overbrengen van de lichtsignalen van een LED naar een CMOS camera sensor, een techniek die veel gelijkt op ons voorstel. In deze paper duurde het gemiddeld 3.9 seconden voor een overdracht van 72 karakters. Daarnaast moet de gebruiker ook fysieke toegang hebben tot het AP, om de communicatie via LED’s aan te zetten, maar dit zou geen probleem mogen zijn, aangezien de ontvanger toch voldoende dichtbij moet zijn om de communicatie op te kunnen vangen.
Tweezijdige communicatie met LED’s Een LED is standaard een outputapparaat, namelijk de indicatie van een toestand. Een toestand kan bijvoorbeeld zijn of de Wi-Fi al dan niet ingeschakeld is. Maar een LED kan ook op een andere manier gebruikt worden, namelijk als inputmogelijkheid. Via Visible Light Communication (VLC) is het mogelijk om een tweezijdige manier van communicatie met enkel LED’s op te zetten [21–23]. VLC gebruikt licht tussen 400 en 800 THz, wat neerkomt op het zichtbaar licht dat het menselijk oog ziet. Door middel van een verandering in de basisschakeling van een LED, kunnen we de hoeveelheid licht gebruiken als input. We doen dit door een LED op de volgende manier te schakelen:
1. Connecteer de anode met de grondleiding 2. Connecteer de kathode met een I/O pin die hoog geschakeld is, dus waar een voltage wordt doorgestuurd 3. Plaats daarna dezelfde I/O pin als input en kijk hoelang het duurt voordat er nog voltage kan uitgelezen worden op die pin
Dit effect komt doordat een LED die op deze manier geschakeld is als een condensator werkt en een bepaalde spanning opslaat wanneer er licht opvalt. Dit komt door het
Deel 1: Impact van draadloze netwerken op authenticatie
34
omgekeerde effect van een LED, dat normaalspanning omzet in licht. Door de opstelling daarna te veranderen, waardoor de LED op een normale manier wordt aangesloten, kan dezelfde LED ook licht uitsturen om andere apparaten signalen door te sturen. Door te meten hoelang het duurt voor een LED ”condensator”niet meer onder spanning staat, kunnen we afleiden of en hoeveel licht er op schijnt. Dit is handig voor tweezijdige communicatie met LED’s. Men kan op deze manier bijvoorbeeld een LED op de router hangen die op deze manier kan communiceren en hierdoor kunnen andere apparaten, die ook over deze functionaliteit beschikken, via lichtgolven met elkaar communiceren. De nadelen van deze opstelling is de throughput, die lager ligt dan bij andere apparaten. We moeten namelijk wachten op de ontlading van de LED en dit timen. Hierdoor krijgen we een asynchrone manier van data versturen, waarmee we op een goede manier moeten afspreken om de hoeveel tijd er data doorgestuurd mag worden. Dit is geen groot probleem, aangezien de netwerkgegevens maar eenmalig hoeven uitgewisseld te worden. Eenmalig lijkt het ons dan ook niet erg dat de gebruiker enkele seconden langer moet wachten eer de authenticatie voltooid is.
Kleurenled Een driekleuren LED is een lichtje dat een combinatie van drie verschillende kleuren kan maken. Door gebruik te maken van een driekleuren LED op een AP, zouden we een apparaat kunnen connecteren met een AP door de weergegeven kleur op de LED te selecteren. De kleur die geselecteerd is wordt teruggestuurd naar het AP en wordt nagekeken. Indien de kleur correct is, wordt het proces herhaald tot het AP authenticatie kan toestaan. Wanneer er een foute kleur wordt ingegeven, moet de gebruiker hiervan op de hoogte gebracht worden en moet het hele proces opnieuw beginnen. Ook moet bijgehouden worden hoe vaak er al fouten zijn ingegeven, om eventuele brute-fore aanvallen te vermijden. Een voorbeeld van een apparaat dat hiervan gebruik zou kunnen maken is afstandsbediening van een TV, die over het netwerk data naar een TV of een set top box moet sturen. In Belgi¨e worden de meeste afstandsbedieningen met kleurenknoppen geleverd, waardoor er geen extra knoppen moeten worden bijgeplaatst. Een nadeel van deze vier kleuren te gebruiken is dat we maar een beperkt bereik inputwaardes. Daarom zouden we een groter aantal kleuren na elkaar moeten ingeven om tot een veilig paswoord te komen. We hebben een manier bedacht van hoe de communicatie zou kunnen verlopen, namelijk: 1. De initi¨ele setup zou dezelfde kunnen blijven van de WPS PIN-code manier (diffie hellman setup)
Deel 1: Impact van draadloze netwerken op authenticatie
35
2. Het AP laat een willekeurige kleur zien, de code moet op deze manier niet statisch blijven, maar kan telkens veranderen 3. De gebruiker geeft de kleuren in die getoond worden 4. De data wordt doorgestuurd naar de AP. Indien de kleur correct was, wordt de volgende kleur getoond. Indien de kleur incorrect was, toont de LED een kleur die fout aangeeft 5. Na een ingesteld aantal kleuren ingegeven te hebben, verstuurt het AP de benodigde netwerkinformatie naar het apparaat. Deze manier heeft wel veel minder mogelijkheden dan een paswoord. Om dit te verduidelijken, hebben we een kleine proef opgesteld: Wanneer een paswoord bestaat uit tien willekeurige letters (enkel kleine letters), zijn er 2610 aantal mogelijkheden, wat neerkomt op 141.167.095.653.376 mogelijkheden. Wanneer we dit doen met tien verschillende kleuren, en er kan telkens een keuze gemaakt worden tussen negen kleuren, zijn er maar 910 verschillende mogelijkheden, wat neerkomt op 3.486.784.401. Een veel kleiner getal dus. Wanneer we nu met die kleuren evenveel verschillende mogelijkheden zouden willen als we voor een wachtwoord van tien letters krijgen, zouden we vijftien kleuren na elkaar moeten ingeven. We doen dezelfde vergelijking voor een wachtwoord bestaande uit acht cijfers, een wachtwoord van bijvoorbeeld de WPS PIN-code. Acht cijfers geven ons 108 verschillende mogelijkheden oftewel 100 miljoen. Om 100 miljoen mogelijkheden te maken met negen verschillende kleuren, zouden we maar negen kleuren na elkaar moeten ingeven. Om evenveel mogelijkheden te maken met vier verschillende kleuren, zouden we 57 kleuren na elkaar moeten ingeven. Daarnaast moet er bepaalde afspraken gemaakt worden, zoals bijvoorbeeld het maximum aantal keren dat men een verkeerd paswoord in mag geven en wat er hierna gebeurt. Dit kunnen bijvoorbeeld de regels zijn die WPS hiervoor gebruikt, namelijk na driemaal een foute ingave van de kleur een time-out en na een totaal van 10 keer een volledige shutout, waardoor er niemand meer kan inloggen op het netwerk tot het AP zichzelf software- of hardwarematig gereset heeft, wat enkel kan indien iemand al geconnecteerd is met het AP of er toegang toe heeft, zodat men de stekker kan uittrekken en terug insteken.
Deel 1: Impact van draadloze netwerken op authenticatie
2.5
36
Alternatieve methodes
Er zijn nog veel andere manieren om met een netwerk te verbinden dan degene die hiervoor vermeld zijn. Vele hiervan zijn methodes die niet bekend zijn of niet veel gebruikt worden. We hebben de hieropvolgende technieken dan ook onder alternatieve methodes geplaatst.
2.5.1
Netwerk setup met QR-code
We vinden ondertussen op veel advertenties en producten een QR-code terug. Dit is een tweedimensionale streepjescode die data voorstelt ([figuur 2.10]). De data in de streepjescode wordt vaak door een smartphone of camera gescand en deze kan de data omzetten naar handelingen. Men kan bijvoorbeeld met QR-codes een contactpersoon importeren, als de persoon de gewenste data omzet in de QR-code data. Ook netwerkverbindingen kunnen worden opgezet voor Android apparaten (andere OS’en tonen enkel de data en verwerken deze niet).
Figuur 2.10: netwerkverbinding
Een QR-code waarmee op een Android kan gemaakt worden. De data in ”WIFI:T:WPA;S:SSIDNetwerk;O:Paswoord;;”
apparaat een de QR-code:
Vooral smartphones werken hier graag mee, omdat er op smartphones automatisch een verwerking kan gebeuren van de gelezen data. Bijvoorbeeld een netwerkverbinding kan automatisch opgezet worden met de data die van een QR-code ingelezen wordt. Hier is wel een groot veiligheidsrisico mee gemoeid. Immers, wanneer we de data van zulke QR-code met netwerkgegevens lezen, valt ons op dat alle data onge¨encrypteerd
Deel 1: Impact van draadloze netwerken op authenticatie
37
kan gelezen worden, inclusief het paswoord van het netwerk. De data van de QR-code is immers ASCII-code die vertaald wordt naar een figuur, de QR-code. De data van de QR-code in [figuur 2.10] kan door een QR-code lezer vertaald worden in:
WIFI:T:WPA;S:SSIDNetwerk;O:Paswoord;;
De verschillende elementen in de data betekenen: • WIFI - De QR-code stelt een manier voor om een Wi-Fi netwerk op te zetten • T:WPA - De encryptiemethode is WPA/WPA2 • S:SSIDNetwerk - Het SSID van het netwerk is SSIDNetwerk • O:Paswoord - Het paswoord van het netwerk is ”Paswoord” We zien dat het paswoord zonder meer kan ingelezen worden en raden daarom deze manier van authenticatie niet aan vanwege de onveilige aspecten. Indien men dit toch zou willen gebruiken raden we aan om de QR-code enkel voor zichzelf of vertrouwde personen te gebruiken en deze niet voor anderen toegankelijk maken, aangezien de data door iedereen te lezen is. We raden daarom ook aan om minstens een encryptie-algoritme te gebruiken zodat de data niet zomaar door iedereen te lezen is. Hierdoor moeten gebruikers data uitwisselen met elkaar indien de QR-code wordt doorgegeven, zoals bijvoorbeeld een paswoord dat de QR-code omzet naar de echte data, dat deze niet door iedereen te lezen valt. Apparaten die hier gebruik van kunnen maken zijn bijvoorbeeld smartphones of camera’s, of zelfs elk apparaat dat een foto kan interpreteren. Het is immers niet nodig om zelf de foto van een QR-code genomen te hebben, zolang de foto kan verwerkt worden en de data er van kan worden afgelezen. Op deze manier kunnen we zelfs met apparaten zonder een camera verbinden, zolang we de foto kunnen doorgeven aan dat apparaat. Dit heeft als voordeel dat apparaten zoals een vaste PC of een laptop zonder webcam ook aangesloten kunnen worden wanneer ze de foto van de QR-code verwerken.
Deel 1: Impact van draadloze netwerken op authenticatie
2.5.2
38
Chromecast
De Chromecast [figuur 2.11], gebruikt een eigen manier om zich te verbinden met een netwerk. Google heeft een eigen manier ontwikkeld voor het doorsturen van netwerkgegevens naar een HDMI Dongle, die geen inputmogelijkheden heeft behalve via het draadloze netwerk.
Figuur 2.11: De Chromecast Dongle (Bron: [24]).
Op het moment van schrijven is deze manier van authenticatie niet gedocumenteerd. Daarom hebben we proefondervindelijk de gebruikte manier van authenticatie gevonden. Dit gebeurt in verschillende stappen: 1. De Chromecast Dongle zet zichzelf in access point modus. Op deze manier kunnen andere apparaten zich met het lokale netwerk van de Chromecast verbinden. Op het scherm, waar de Dongle op is aangesloten, toont hij het netwerk waar men zich mee moet verbinden. We noemen de Chromecast Dongle vanaf nu Dongle. 2. Een apparaat, zoals een tablet, smartphone, laptop of PC, verbindt zich met het Chromecast netwerk via een draadloze connectie. We noemen het apparaat vanaf nu client. 3. De client cre¨eert via sockets een connectie met de Dongle waarbij het zich aanmeldt voor het doorgeven van gegevens. 4. De Dongle merkt dit en toont de volgende stap in het proces op het aangesloten scherm, namelijk een nummer die zowel op de Dongle als op de client hetzelfde moet zijn om te verduidelijken dat er een verbinding wordt opgezet tussen deze twee apparaten. De gebruiker moet bevestigen dat deze op beide apparaten dezelfde zijn. 5. Als volgende stap scant de Dongle alle netwerken in de buurt waarmee verbonden kan worden. Deze data wordt doorgestuurd naar de client en de client toont deze
Deel 1: Impact van draadloze netwerken op authenticatie
39
op zijn scherm. De gebruiker heeft dan de mogelijkheid om een van deze netwerken te kiezen of de Dongle opnieuw te laten scannen. Indien er opnieuw gescand wordt, wordt deze stap herstart. 6. Wanneer de gebruiker het te verbinden netwerk tussen de lijst heeft gekozen, wordt er gevraagd om het paswoord van het netwerk in te geven indien dit netwerk beveiligd is. Hierna kan alle benodigde data, dus het gekozen netwerk en het paswoord indien het netwerk beveiligd is, verzonden worden naar de Dongle. 7. De Dongle gaat uit het access point modus en zet zijn Wi-Fi module aan. Op deze manier kan nagekeken worden of de ingevoerde gegevens correct waren. Wanneer de gegevens gecontroleerd zijn, zet de Dongle de Wi-Fi module af en herstart zijn access point modus. Op deze manier kan de client zich terug verbinden met de Dongle. 8. De client vraagt op of de gegevens van het netwerk correct waren. Indien dit het geval was, kan de client zich loskoppelen van de Dongle. De setup voor de client is geslaagd. Indien de gegevens incorrect waren, moet de client opnieuw de gegevens ingeven over het gekozen netwerk. 9. Wanneer de gegevens correct waren en de client is losgekoppeld, kan de Dongle zich uit access point modus zetten en kan het de Wi-Fi module opnieuw aanzetten. Op deze manier kan het met de correct ingegeven gegevens zich connecteren met het draadloze netwerk.
Eigen implementatie van de Chromecast opzet Vanwege een project bij Androme NV, hebben we de ”Chromecast”-manier nagemaakt, maar met een Android apparaat als server en een Android/iOS apparaat als client. In deze opstelling hebben we een client en server apparaat, vanaf nu zo ook genoemd. Voor deze opstelling was het doel om de server een netwerkverbinding te geven zonder rechtstreekse input in de server. Door middel van de ”Chromecast”-manier hebben we dit dus nagemaakt voor generieke Android apparaten, maar zijn we tijdens het implementeren op een grote obstructie gestoten. Een generiek Android apparaat kan niet tegelijk in access point modus werken en scannen naar netwerken. Dit komt doordat beide technieken enkel exclusief van elkaar werken. Dit komt dan weer doordat, wanneer een Android apparaat zich in access point modus plaatst, het de Wi-Fi module in de status “WIFI UNKNOWN” zet, waardoor functies van Wi-Fi, zoals het scannen naar netwerken, nog wel werken maar niets meer teruggeven. Daarom hebben we besloten om met de server te scannen voor we ons in access
Deel 1: Impact van draadloze netwerken op authenticatie
40
point modus plaatsen en deze netwerken door te sturen naar de client wanneer we in de gegeven stap belanden. Op deze manier kunnen we niet herscannen, tenzij we doorgeven aan de server dat deze moet scannen. Dit doet hij door eerst uit access point modus te gaan, vervolgens Wi-Fi in te schakelen en te scannen en bovendien terug te keren in dezelfde staat als voorheen, om ten slotte de scangegevens door te sturen. Dit is nog niet ge¨ımplementeerd in onze opstelling, maar staat op de planning voor een toekomstige versie.
Voordelen van deze aanpak Deze methode heeft als voordeel dat er geen enkele fysieke input nodig is op het apparaat dat met het netwerk moet worden verbonden. Door met een tweede apparaat alle informatie uit te wisselen, kunnen we op een veilige manier een apparaat een verbinding met het netwerk geven. Dit kan van pas komen bij apparaten die weinig of geen inputmogelijkheden hebben, zoals thermostaten of rookmelders. Deze apparaten zouden op deze manier enkel een draadloze netwerkkaart nodig hebben, waardoor de netwerkverbinding via een tweede apparaat zou kunnen worden geregeld. Wanneer het dan verbonden is met het netwerk, kunnen er daarna ook commando’s doorgegeven worden via het netwerk, waardoor ook hier de fysieke input mogelijkheden niet meer nodig zijn.
Verdere verloop van streaming Nadat het netwerk is opgezet bij de Chromecast, kan een gebruiker commando’s sturen naar de Chromecast om bepaalde zaken te streamen. Men kan bijvoorbeeld het scherm streamen of een YouTube-filmpje van het internet rechtstreeks laten streamen op de Chromecast, zonder tussenkomst van andere apparaten. Dit gebeurt via het DIAL2ndscreen protocol, een protocol gebaseerd op uPnP. Dit protocol zorgt voor verschillende handelingen in het uitvoeren van commando’s op externe apparaten. Bijvoorbeeld de discovery tussen twee apparaten zodat deze met elkaar kunnen communiceren en de mogelijkheid om specifieke commando’s met parameters tussen elkaar uit te wisselen, waarbij de commando’s worden doorgegeven aan de bijhorende applicaties waar ze voor bedoeld zijn. Een voorbeeld hiervan is de YouTube-applicatie. Wanneer bijvoorbeeld een tablet een YouTube-filmpje wil doorsturen naar een Chromecast, gaat de tablet een DIAL request uitsturen, met de vraag of er apparaten in de buurt zijn welke de YouTube-applicatie hebben ge¨ınstalleerd. Wanneer het een response terugkrijgt, bijvoorbeeld van een TV, kan de tablet het commando doorsturen naar die TV, via DIAL, welke het commando doorgeeft aan de YouTube-applicatie. De TV moet zelf afhandelen wat het met het
Deel 1: Impact van draadloze netwerken op authenticatie
41
YouTube-commando doet, zoals bijvoorbeeld beginnen met het filmpje te streamen op de TV. Dit laatste hoort niet meer bij het DIAL protocol. Ook andere applicaties kunnen via DIAL commando’s uitwisselen, zoals bijvoorbeeld een screensharing applicatie, welke het scherm op de tablet op een TV kan laten zien. Voor het specifieke geval van een Chromecast, moeten de zender en de Chromecast zich in hetzelfde netwerk bevinden, aangezien de Chromecast geen Wi-Fi Direct ondersteunt.
2.5.3
Communicatie met geluidsgolven
Als laatste willen we nog een concept met geluidsgolven voorstellen. In deze setup willen we het AP uitrusten met een luidspreker en microfoon, wat opnieuw zeer goedkope materialen zijn. Door beide te kalibreren naar een bepaalde toonhoogte kunnen we geluiden gaan isoleren die we kunnen gebruiken als signalen. Deze kunnen we dan gebruiken om een tweezijdige communicatie op te zetten. We kunnen deze methode ook uitbreiden tot het verwerken van alle toonhoogtes, waardoor we dus letterlijk gaan communiceren met geluid en we voor elke toonhoogte die we tegenkomen een omzetting kunnen doen naar een voor ons bekend signaal. Dit brengt wel een grotere nood aan processorkracht met zich mee, aangezien de toonhoogtes ge¨ısoleerd moeten worden om de omzetting te kunnen maken naar het gewenste signaal. Dit kunnen veel AP’s dan ook waarschijnlijk niet aan, aangezien deze een processor bevatten die enkel de verwerking moet uitvoeren van het netwerkverkeer en dus niet uitgerust zijn om zware berekeningen uit te voeren.
Hoofdstuk 3
Vergelijkingen tussen de verschillende methodes Nu we weten hoe de verschillende manieren om te verbinden met een netwerk werken, gaan we op een objectieve manier vergelijken hoe de methodes ten opzichte van elkaar staan in verschillende categori¨en. Voor elke groep van apparaten proberen we uit te maken welke verbindingen aan te raden zijn voor specifieke scenario’s. We doen dit om aan te geven dat er, in speciale gevallen, andere manieren zijn dan WPA om apparaten te verbinden, zoals apparaten die zeer beperkte inputmogelijkheden hebben en dus niet de mogelijkheid hebben om een wachtwoord of zelfs een PIN-code in te geven.
3.1
Onderzochte categori¨ en
We hebben de categori¨en opgesplitst in drie, namelijk in:
1. Verbinden met een computer/laptop: We onderzoeken of er betere manieren zijn om de meest voorkomende apparaten die met het internet moeten verbonden worden, te kunnen verbinden. 2. Verbinden met handheld apparaten: We bedoelen hiermee apparaten zoals tablets, camera’s, smartphones, smartwatches, . . . waar wel een scherm opstaat, maar niet overal de volledige aanbieding van input is. In bepaalde gevallen moeten er dus alternatieven gebruikt worden.
43
Deel 1: Impact van draadloze netwerken op authenticatie
44
3. Apparaten met een beperkte interface: Apparaten die bijvoorbeeld enkel een klein touchscreen of numpad hebben, of maar een beperkt aantal knoppen heeft, zoals een koelkast of een printer. 4. ”Internet of things” apparaten: Apparaten die meer communiceren met andere apparaten dan met gebruikers en die geen of slechts een beperkte interface hebben.
Om de data te vergelijken, plaatsen we de plus- en minpunten in een tabel waar gebruikers zelf kunnen nagaan welke methodes de meeste voordelen bieden voor hun. Men kan op deze manier bijvoorbeeld de beste manier nagaan voor het verbinden van meerdere apparaten na elkaar of nagaan welke methodes er goed toepasbaar zijn voor welke apparaten.
3.2
Verbindingen voor een computer/laptop
We beginnen de vergelijkingen met de meest voorkomende apparaten om te verbinden met een netwerk. Als we enkel naar het webverkeer bij statcounter kijken, een website die webverkeer van websites opvolgt, zien we dat desktop browsing, PC en laptop dus, nog steeds 71.89% telt op januari 2014 [25]. Deze apparaten gebruiken voor het overgrote deel twee methodes om met het netwerk te verbinden, namelijk een netwerkkabel, vooral voor PC, en WPA/WPA2, vooral voor laptops. Beide technieken zijn hier zeer geschikt voor. De netwerkkabel voor de PC is duidelijk, het is de snelste en veiligste manier, een harde fysieke verbinding en vooral handig omdat de PC in normale omstandigheden op een vaste plaats staat en vaak geen draadloze netwerkkaart heeft. Een laptop daarentegen heeft een volledig toetsenbord ter beschikking en kan daarom gemakkelijk een paswoord ingeven voor het WPA/WPA2 protocol. Het is een veilige manier en het wordt het vaakst gebruikt voor draadloze verbindingen. Ook een netwerkkabel is geschikt voor laptops, aangezien aan een bureau vaak ook met een laptop gewerkt wordt, zolang deze dus stationair is. Wanneer de laptop dan mobiel gemaakt moet worden, schakelt deze over naar het draadloze netwerk. We gaan de volgende methodes nagaan: 1. WPA/WPA2 (Manuele ingave) 2. WPS 3. QR-Code
Deel 1: Impact van draadloze netwerken op authenticatie
45
De andere technieken zijn hier in mindere mate van toepassing aangezien we een volledig toetsenbord ter beschikking hebben, waardoor we wachtwoorden kunnen ingeven indien nodig.
WPA/WPA2 (Manuele ingave) WPA/WPA2 is momenteel de meest gebruikte manier om met een netwerk te verbinden. Het is een veilige, snelle en betrouwbare manier. Er zijn momenteel geen aanvallen die op een snelle manier het netwerk kunnen kraken en bovendien wordt het door alle grote OS’en ondersteund. Indien men het wachtwoord ingeeft, kan men na enkele seconden al verbonden zijn indien de connectie tussen beide apparaten goed genoeg is.
WPS Voor PC’s zijn sommige van de WPS methodes nuttig en anderen onpraktisch. We hebben immers vaak geen knop op de netwerkkaart of NFC capaciteiten op een PC. We overlopen de vier methodes en bekijken welke praktisch zijn en welke niet. We kunnen gebruik maken van de PIN-methode, aangezien we in een thuissituatie gemakkelijk bij de router zelf kunnen komen waardoor we de PIN-code kunnen aflezen op het apparaat. Met moet wel bekijken of de PIN-code niet dynamisch wordt aangemaakt, aangezien men deze dan niet kan gebruiken. Deze code kan dan enkel worden afgelezen op een al verbonden apparaat, wat in dit geval niet mogelijk is. Met de ”Druk op de knop”-manier kunnen we de PC wel altijd verbinden indien het access point deze manier ondersteund. We komen hier dan in de twee methodes uit [onderdeel 2.3.2]. Indien de PC een draadloze netwerkadapter heeft, kan hier een knop voor WPS op staan. Hierdoor kunnen beide apparaten verbinding maken door op beide knoppen te drukken. Indien er geen fysieke knop is, kan men gebruik maken van een virtuele knop. Door de software te installeren die meegegeven is op een access point, verkrijgt men via de software een virtuele knop die hetzelfde doet als een fysieke knop, namelijk een verbinding opstellen met het access point. De USB-methode is een methode die interessant is wanneer er verschillende PC’s op hetzelfde moment moeten worden aangesloten op het netwerk. Aangezien alle data klaar staat moet men enkel doorheen de wizard lopen om de verbinding op te zetten. Om ´e´en computer op te zetten is deze verbinding minder interessant dan de andere, aangezien de USB-stick aanmaken op een andere PC en vervolgens de verbinding opzetten op de te verbinden PC veel langer duurt dan andere methodes. De NFC-manier is voor een vaste computer vaak niet van toepassing, aangezien een vaste computer hier vaak niet over beschikt. Indien dit niet het geval is, zal NFC alleen
Deel 1: Impact van draadloze netwerken op authenticatie
46
praktisch zijn wanneer men kan communiceren via een NFC Tag plaatje, wat de data kan transporteren tussen de computer en het AP. Men gaat immers niet vaak de PC voldoende dicht bij het AP brengen om de connectie op te zetten, tenzij dit juist uitkomt.
Een laptop heeft ongeveer dezelfde eigenschappen als een vaste computer, maar heeft daarnaast bijna altijd een netwerkkaart met draadloos netwerkcapaciteit ingebouwd. Een fysieke knop is mogelijk, voor de ”Druk op de knop”-manier, maar bij de huidige generatie laptops is dit vaak niet van toepassing. Een virtuele knop is een mogelijkheid, indien er software bij het access point geleverd wordt die dit voorziet. Een PIN-code is voor een laptop een betere manier en ook de meest gebruikte manier. Wanneer de gebruiker een verbinding wil maken met zijn access point, kan hij de PINcode aflezen van de sticker op het access point of kan via een andere computer, die al verbonden is met het access point, de dynamische nummer opvragen. De USB-stick methode is ook een mogelijkheid voor een verbinding op te zetten, maar cre¨eert meer werk dan de connectie op te zetten via de andere methodes, hetzelfde als bij de opzetting voor de vaste computer. Als laatste is er ook nog de mogelijkheid van NFC, maar aangezien er amper laptops worden uitgerust met deze technologie, zal deze methode niet vaak gebruikt worden, tenzij er een identificatieplaatje wordt bijgeleverd bij het access point of bij de laptop, waarmee de nodige informatie van het access point kan worden uitgewisseld. Anders zou men de laptop kort bij het access point moeten brengen, wat niet in elk geval interessant is, aangezien deze soms op een niet goed toegangelijke plaats staat of ergens bovenop wordt gezet.
QR-code Een QR-code is een interessante manier om te verbinden met een apparaat dat een camera heeft, zoals de webcam op een laptop. Door de netwerkgegevens te vertalen naar een QR-code, kunnen we alle apparaten die beschikken over een camera, dus ook handheld apparaten (zie [onderdeel 3.3]). Het is dus een veelzijdige methode die op veel apparaten snel een verbinding kan opzetten. Maar zoals we ook in [onderdeel 2.5.1]) hebben vermeld, worden de netwerkgegevens onge¨encrypteerd in de QR-code geplaatst waardoor de methode niet veilig is, tenzij men er zeker van is dat de QR-code enkel voor eigen gebruik is. Ofwel moet men de data zelf encrypteren, maar dan moet men de encryptiemethode en eventueel de gebruikte key/paswoord ook met elkaar delen.
Deel 1: Impact van draadloze netwerken op authenticatie
47
Ook een PC kan de QR-code gebruiken door deze code via een ander medium in te lezen en te verwerken. De foto kan via een medium op de PC geplaatst worden, waarna de QR-code verwerkt kan worden. Dit heeft enkel als voordeel dat meerdere PC’s snel na elkaar kunnen connecteren met een netwerk zonder telkens het paswoord in te geven. Het zal dus enkel voordelen bieden wanneer het paswoord lang en ingewikkeld is, en het lang zou duren om telkens het paswoord in te geven. Met de QR-code zou het maar eenmalig moeten ingegeven worden en dan zou een programma de data kunnen uitlezen. De QR-code moet wel eerst gegenereerd worden, en dit moet ook meegeteld worden voor de tijd die nodig is om de verschillende PC’s te connecteren. Daarom is de tijd van de QR-code en WPS USB-stick methode qua tijdsduur ongeveer evenlang maar voor de USB-stick methode is er geen extra software nodig, aangezien Windows dit voorziet. Voor andere OS’en is dit dan weer wel nodig.
3.3
Verbindingen voor handheld apparaten
Handheld apparaten zijn apparaten die we meenemen wanneer we weg van huis zijn. Dit zijn bijvoorbeeld smartphones, camera’s, smartwatches, . . . . Deze apparaten beschikken niet altijd over een volledig toetsenbord en hebben in bepaalde gevallen andere manieren nodig om een netwerkverbinding te maken. We gaan de volgende methodes nagaan: 1. WPA/WPA2 (Manuele ingave) 2. WPS 3. LED-methodes 4. QR-code De andere technieken zijn hier in mindere mate van toepassing aangezien we een volledig toetsenbord ter beschikking hebben, waardoor we wachtwoorden kunnen ingeven indien nodig.
WPA/WPA2 (Manuele ingave) WPA/WPA2 heeft voor apparaten met een volledig toetsenbord ter beschikking, zoals een tablet, dezelfde voor- en nadelen dan de PC/laptop sectie. Voor andere apparaten is deze techniek niet zo geschikt. Voor een smartwatch bijvoorbeeld is deze techniek niet van toepassing, aangezien we moeilijk of zelfs niet een pre-shared key kunnen ingeven.
Deel 1: Impact van draadloze netwerken op authenticatie
48
Er zijn natuurlijk mogelijkheden om een paswoord op een smartwatch in te vullen, maar dan zijn er andere manieren interessanter. De veiligheid van deze authenticatie is wel heel sterk en de snelheid om de verbinding met het netwerk op zetten is ook zeer snel. Op een Nexus 9 tablet hebben we verschillende keren de test gedaan om een verbinding met een netwerk op te zetten en de tijd om met een netwerk te verbinden van een clean install ligt altijd onder een minuut, zelfs met de tijd ingerekend om het wachtwoord in te geven.
WPS De verschillende methodes van WPS hebben elk weer voor- en nadelen voor mobiele apparaten. De PIN-code is een zeer praktische manier die voor alle handheld apparaten wel haalbaar is wanneer ze minstens een numberpad hebben of kunnen tonen. Voor de meeste apparaten is dit haalbaar, zoals voor een tablet of smartphone, maar voor een smartwatch of een camera is dit niet altijd van toepassing. Voor mobiele apparaten is het lezen van de sticker zelfs nog gemakkelijker dan voor PC’s en laptops, aangezien men met het apparaat tot aan de router kan wandelen en de code meteen kan ingeven. De USB-methode kan voor deze apparaten genegeerd worden, aangezien normaliter deze apparaten niet verbonden worden met een USB-stick. De ”Druk op de knop”-manier is in bepaalde gevallen een interessante manier. De meeste apparaten gaan geen knop bijplaatsen voor dit maar kunnen wel een bestaande knop extra functionaliteit geven, indien dit nog mogelijk is. Anders is er de mogelijkheid om een virtuele knop te gebruiken via aangepaste software. Op deze manier kunnen zelfs apparaten zoals een smartwatch op een snelle manier verbinden zonder extra hardware te moeten toevoegen. NFC is voor handheld apparaten ook een zeer geschikte oplossing om te connecteren met een netwerk, aangezien de apparaten zelf gemakkelijk te verplaatsen zijn om bij het AP te brengen en nieuwe apparaten hier al over kunnen beschikken. NFC is daarnaast ook veiliger voor man-in-the-middle aanvallen, aangezien de communicatie tussen beide apparaten enkel verloopt indien ze kort bij elkaar zijn. Daarnaast is het opnieuw een out-of-band authenticatiemethode.
LED-methodes De LED-methodes zijn een interessante optie voor handheld apparaten, doordat de hardware zo klein is. Door met LED’s te communiceren, zijn we veilig in thuissituaties, waar aanvallers de lichtsignalen niet kunnen opvangen.
Deel 1: Impact van draadloze netwerken op authenticatie
49
Het is een techniek die zeker interessant is voor thuisgebruik, omdat zoveel apparaten minstens een LED gebruiken. Als fabrikanten zich achter deze methode zouden opstellen, zouden veel apparaten met elkaar kunnen communiceren. Dit is echter een grote als, aangezien de techniek op zich ook nadelen heeft. De communicatiesnelheid is een stuk lager dan via 2.4 of 5 Ghz via een draadloos netwerk te communiceren.
QR-code In [onderdeel 2.5.1] zijn we nagegaan of het mogelijk is om met een QR-code een apparaat een netwerk verbinding te geven. Dit lukt voor een smartphone zeer gemakkelijk aangezien er ondertussen gratis apps in de App Store te vinden zijn die deze QR-codes kunnen inlezen. Op Android kan een apparaat zelfs meteen verbinden met een netwerk met de data die het uit de QR-code kan lezen. Bij andere mobiele besturingssystemen krijgt men de informatie te zien en kan de gebruiker hierna met deze informatie de netwerksetup zelf instellen. Deze techniek lijkt ons dan vooral geschikt voor apparaten met een camera, zoals een fototoestel, videocamera of smartphone. Vooral voor apparaten met beperkte inputmogelijkheden, zoals een fototoestel of een videocamera, is deze methode een zeer goede setup. De fabrikanten moeten namelijk geen extra toetsen voorzien, de gebruiker zou enkel moeten aangeven dat er een foto met een QR-code getrokken zal worden en de camera zou de rest kunnen afhandelen.
3.4
Verbindingen voor apparaten met een beperkte interface
Naast de vorige categorie¨en hebben we nog veel apparaten welke een beperkte interface hebben. Wat we met een beperkte interface bedoelen is bijvoorbeeld enkel een numpad of enkele knoppen die het apparaat bedienen. Er kan eventueel ook een scherm aanwezig zijn voor de weergave van de status, maar dit scherm is geen touchscreen en kan dus niet gebruikt worden als input.
Printer Printers worden ondertussen vaker en vaker geleverd met netwerkmogelijkheden. Een printer kan op deze manier ergens geplaatst worden, zonder dat kostbare plaats op een bureau moet worden opgeofferd of een lelijke printer het zicht verstoort. Ook kan via een laptop op deze manier gemakkelijker geprint worden, zodat er geen USB-kabel meer gebruikt moet worden, maar u bestanden kunt afprinten vanuit de luie zetel.
Deel 1: Impact van draadloze netwerken op authenticatie
50
Printers kunnen op verschillende manieren worden aangesloten. Via de ”Druk op de knop”-manier zou er een connectie aangemaakt kunnen worden, indien de printer hiervoor een extra knop installeert of deze samenvoegt met bijvoorbeeld een power knop, welke men langer zou moeten indrukken voor de ”Druk op de knop”-manier aan te roepen. Daarnaast kan ook via een PIN-code een verbinding worden opgezet, indien er een scherm en invoermogelijkheden zijn ingewerkt in de printer. Aangezien de nieuwste printers zeer vaak met deze extra’s worden geleverd, is dit dan ook de meest gebruikte manier. Bij sommige printers worden NFC kaarten meegeleverd, bijvoorbeeld de ”Samsung SLC460W Xpress18”. Deze kaarten kunnen via NFC een verbinding aanvragen bij het access point, doordat de eigenschappen van de printer op deze kaart kunnen worden afgelezen. Dit is momenteel geen veelgebruikte manier, doordat veel van de ontwikkelaars van access points nog afwachten naar de evolutie rond NFC. De USB-methode zou ook kunnen gebruikt worden, maar dan moet er gekeken worden of er geen extra mogelijkheden geschapen kunnen worden wanneer er een USB-poort aan een printer wordt gehangen. Aangezien deze met het netwerk verbonden kan worden, is het misschien interessant om de USB-poort als een uitbreiding te behandelen waardoor externe harde schijven op deze manier in het netwerk geplaatst kunnen worden. Wanneer een printer inputmogelijkheden heeft zoals een touchscreen of numeriek toetsenbord met scherm, kan het ook via WPA/WPA2 verbinden. Het netwerk kan ingegeven worden door het te selecteren in een lijst door bepaalde cijfers, zoals 2 en 8, te gebruiken om door de lijst te gaan. Het paswoord kan ingegeven worden via de cijfers, waarbij de cijfers meerdere letters voorstellen en het aantal keren dat er op de toets achter elkaar wordt gedrukt aangeeft welke van deze letters het is. Wi-Fi Direct is ook een interessante optie om documenten door te sturen naar een printer. Door een rechtstreekse connectie met je printer te maken, moet er geen verbinding gemaakt worden tussen de printer en het AP, waardoor ook geen extra vorm van interface moet bijgeplaatst worden. Op deze manier kan zelfs de status van de printer via een website nagegaan kunnen worden die enkel kan bekeken worden wanneer er een verbinding met de printer is gemaakt. En aangezien er op deze manier ook gebruik kan gemaakt worden van de ”Druk op de knop”-manier van WPS of WPA/WPA2 als authenticatiemanier, is dit ook een veilige manier om een verbinding met een printer te maken.
Deel 1: Impact van draadloze netwerken op authenticatie
51
Koelkast Ook koelkasten worden meer en meer met het internet verbonden en dit voor verschillende redenen. Verschillende applicaties kunnen een gezin helpen bij het dagelijkse verloop. Door producten te scannen wanneer ze leeg zijn of bijgevuld worden, kan er op afstand bekeken worden welke producten nog in huis zijn. Daarnaast kunnen ook berichten op sociale media zoals twitter en facebook worden geplaatst ([figuur 3.1]). Aangezien koelkasten met netwerkmogelijkheden vaak een aanraakscherm hebben, kunnen we gebruik maken van de ”PIN-code”-manier of van WPA/WPA2. De PIN-code of het wachtwoordd kan ingegeven worden op het scherm en een connectie is op deze manier snel gemaakt. Ook wanneer er geen aanraakscherm is maar een beperkt toetsenbord, zoals alleen pijltjes en een ok/cancel knop, zouden de gegevens van het netwerk kunnen geselecteerd en ingegeven worden. Dit laatste is niet zo vanzelfsprekend, aangezien een wachtwoord voor WPA/WPA2 lang kan zijn en met pijltjes is deze manier van ingeven niet meteen de snelste. Daarom is ook hier de ”Chromecast”-manier een interessante optie om de koelkast een netwerk te geven. Door via een ander apparaat de netwerkgegevens door te geven aan de koelkast, heeft deze geen extra interface nodig om de connectie op te zetten en kan de UI zich focussen op het gebruiksgemak van de applicaties die de koelkast aanbiedt. Indien er bijvoorbeeld geen volledig toetsenbord is, zal er geen connectie gemaakt worden met sociale media, maar kunnen er nog steeds applicaties op staan die bijvoorbeeld de inhoud van de koelkast bijhouden en die handmatig kunnen worden aangepast.
Figuur 3.1: Een Samsung koelkast met netwerkmogelijkheden (Bron: [26]).
Deel 1: Impact van draadloze netwerken op authenticatie
52
Smart TV/Tv-toestel We krijgen een nieuwe generatie tv’s die verbonden worden met het internet, applicaties kunnen uitvoeren en nog veel meer ([figuur 3.2]). Daarnaast kunnen ook normale tv-toestellen uitgebreid worden zodat ze verbinding krijgen met het internet door middel van Wi-Fi Dongles of mini-PC’s, die men aan een HDMI-poort kan aansluiten en waarmee de tv bijvoorbeeld een versie van Android aanstuurt. Deze apparaten beschikken allemaal over een afstandsbediening waarop een numpad staat. Met deze cijfers kunnen we ook letters ingeven, de letters staan vaak al geprint op de knoppen zelf en dit geeft de mogelijkheid om paswoorden in te geven. Daarom zijn de ”WPA/WPA2”-manier of de WPS ”PIN-code”-manier de meest logische methodes. Via het tv-scherm kunnen de instructies getoond worden en via de afstandsbediening kan zowel het netwerk gekozen worden als de netwerkgegevens ingevoerd worden.
Figuur 3.2: Een tv-toestel met netwerkmogelijkheden. Op de tv kan nu naar YouTube gekeken worden en kan er gesurft worden op het internet (Bron: [27]).
3.5
Verbindingen voor ”Internet of Things” apparaten
Het ”Internet of Things” is een verzamelnaam voor apparaten die meer met andere apparaten communiceren dan met een gebruiker via een interface. Ze worden verbonden en communiceren met elkaar via het internet. Menselijke interactie wordt op deze manier geminimaliseerd doordat apparaten meer autonome acties kunnen ondernemen. Bijvoorbeeld bij Domotica, waar een computer via een API kan aanvragen op welk tijdstip de zon ondergaat en op dit tijdstip de rolluiken laat dichtgaan. Er is voor deze actie geen enkele menselijke interactie nodig geweest, buiten het programmeren van de actie zelf.
Deel 1: Impact van draadloze netwerken op authenticatie
53
Doordat zulke apparaten niet gemaakt zijn om met gebruikers te communiceren, hebben ze ook een beperkte interface om bijvoorbeeld een draadloos netwerk in te stellen. Daarom zullen we meer gericht zijn op externe interfaces voor de setup van het draadloze netwerk.
Thermostaat Slimme thermostaten komen meer en meer op in onze maatschappij. Een slimme thermostaat is een thermostaat die kan voorspellen welke temperatuur op een gegeven tijdstip gewenst is, of via het internet kan bestuurd worden. Deze moet gekoppeld worden aan de verwarming en aan het internet. De koppeling naar de verwarming gebeurt vaak nog via stroomkabels die signalen doorsturen of deze moet opstaan of niet, maar de verbinding met het internet gebeurt vaak via draadloos internet. Doordat een thermostaat vaak een beperkte interface heeft en enkel de gevraagde temperatuur kan tonen en aanpassen, is het principe van de “Druk op de knop”-manier de aangewezen manier om de interface zo beperkt mogelijk te houden. Indien er wel een uitgebreidere interface aanwezig is, met bijvoorbeeld een touchscreen of meerdere toetsen voor het ingegeven van gegevens, kunnen we de ”PIN-code”-manier of WPA/WPA2 gebruiken. De ”Chromecast”-manier is ook voor een thermostaat een interessante optie doordat er enkel via software een verbinding moet worden opgezet met een extern apparaat, dat zo de netwerkgegevens kan doorsturen, moeten er geen extra knoppen voorzien worden.
Figuur 3.3: Een thermostaat met een draadloze netwerkverbinding. Linksonder ziet men het icoontje van de netwerkverbinding (Bron: [28]).
Rookmelder Een rookmelder wil zich kunnen verbinden met een netwerk om bij rookontwikkeling dit te melden aan een externe factor. Dit kan een SMS/mail zijn naar de eigenaar of meteen een oproep naar de brandweer. Daarnaast kunnen rookmelders ook met
Deel 1: Impact van draadloze netwerken op authenticatie
54
elkaar verbonden worden. Op deze manier kunnen alle rookmelders de bewoners van het gebouw alarmeren wanneer er bij ´e´en van de rookmelders rook wordt gedetecteerd. Dit kan op een eenvoudige manier worden bereikt wanneer allen in hetzelfe netwerk verbonden zijn. Rookmelders werken vaak op batterijen en moeten dus zo zuinig mogelijk zijn. Om een rookmelder toch een netwerkverbinding te geven, kunnen we geen gebruik maken van een scherm of inputmogelijkheden. Daarom behoort een PIN-code ingeven of een USBkoppeling niet tot de mogelijkheden om een verbinding op te zetten bij een rookmelder. Ook extra interne interfaces, zoals NFC, zouden te veel stroom verbruiken om praktisch te zijn bij een rookmelder. Rookmelders hangen praktisch altijd op moeilijk bereikbare plaatsen, zodat deze niet in de weg hangen, maar toch rook kunnen detecteren waar dit nodig is. Ze hebben praktisch geen fysieke knoppen met uitzondering van een aan/uit knop en beschikken al zeker niet over een toetsenbord of monitor. Daarom kunnen deze apparaten verbonden worden met de “Druk op de knop”-manier, zodat er maar ´e´en extra toets op het apparaat moet geplaatst worden. Dit is ook qua stroomverbruik de beste optie. Daarnaast kunnen we een setup maken met de ”Chromecast”-manier, dus door een extern apparaat tijdelijk te koppelen met de rookmelder, de netwerkgegevens door te sturen en vervolgens de rookmelder zichzelf te laten verbinden met de verkregen gegevens. Dit heeft als voordeel dat er geen enkele fysieke interface moet bijkomen, aangezien alles via het draadloze netwerk wordt doorgegeven. Wanneer de connectie dan toch verbroken wordt, zal de rookmelder dit zelf moeten melden en kan een gebruiker de data terug doorgeven via een ad-hoc netwerk dat de rookmelder zelf opzet. De beste manier voor een rookmelder om verbonden te blijven met een netwerk blijft wel via een netwerkkabel. Met een netwerkkabel zijn er veel minder problemen die kunnen optreden zoals een slecht bereik of een probleem bij het authenticeren.
Network Attached Storage (NAS) Harde schijven worden gebruikt om belangrijke gegevens en programma’s op te slaan. Elke computer heeft er minstens ´e´en. Door het verliezen van gegevens bij het stukgaan van zulke harde schijven zijn we gaan back-uppen op externe harde schijven, welke konden aangesloten worden via USB aan een computer of via een ethernetkabel aan het netwerk. Op deze manier konden we onze gegevens op een andere locatie bewaren, of dubbel bewaren, zodat indien er iets stukging aan de computer, we de gegevens nog steeds hadden. Een Network Attached Storage (NAS), zoals in [figuur 3.4], is zulke externe harde schijf die kan aangesloten worden op een netwerk. Via het netwerk kunnen
Deel 1: Impact van draadloze netwerken op authenticatie
55
gegevens naar de NAS gestuurd worden om bewaard of opgevraagd te worden of om lokaal te bekijken of te bewerken.
Figuur 3.4: Een Sabio storage CM104-1000 Networked Attached Storage (NAS) met een draadloze netwerkverbinding (Bron: [29]).
Een NAS heeft vaak enkel een virtuele webinterface, welke men te zien krijgt wanneer men zich met de NAS verbindt. Dus voor men aan de NAS aanpassingen wil maken via de interface, moet er al een connectie bestaan. Dit zou via een netwerkkabel of USBverbinding kunnen worden opgezet. Hierna krijgt men de webinterface te zien waarmee eventueel netwerkaanpassingen kunnen gebeuren. Op deze pagina kunnen we dan ook bijvoorbeeld een PIN-code, voor de WPS ”PIN-code”-manier, of een paswoord, voor WPA/WPA2, ingeven. Daarnaast kunnen we ook een virtuele knop installeren voor de ”Druk op de knop”-manier van WPS. Op deze manier verkrijgt de NAS een draadloze netwerkverbinding en kunnen we de bekabelde connectie verbreken. Indien we geen initi¨ele bekabelde connectie willen maken, is er ook de mogelijkheid voor de ”Druk op de knop”-manier van WPS. Hiervoor moet op de NAS een extra knop worden geplaatst of moet een al bestaande knop een tweede functionaliteit krijgen. Dit kan men bekomen door bijvoorbeeld functionaliteit te geven aan het langer inhouden van een al bestaande knop. Deze manier is omslachtig en een betere manier zou zijn om een fysieke knop te installeren op de NAS. Op deze manier kan de “Druk op de knop”-manier toegepast worden zonder eerst een ethernetverbinding op te zetten. Daarnaast zijn ook veel NAS apparaten uitgerust met USB-poorten om nog meer opslag toe te staan via externe harde schijven die verbonden worden via USB. Via deze USBpoorten zou het mogelijk zijn om een USB-koppeling van het access point te cre¨eren. Deze USB-poort heeft dus een dubbel doeleinde en zou op deze manier ten alle tijden nuttig gebruikt kunnen worden.
Deel 1: Impact van draadloze netwerken op authenticatie
Tabel 3.1: Tabel waar de voor- en nadelen opgesomd staan voor de verschillende categorie¨en. Als eerste staan in elke cel de algemene voor- of nadelen, gevolgd door eventueel specifieke voor- of nadelen voor de categorie¨en. We zien dat er geen perfecte methode bestaat voor een bepaalde categorie. Daarom is het vooral belangrijk om de afweging te maken welke eigenschappen het hardst doorwegen bij de uiteindelijke beslissing.
56
Hoofdstuk 4
Conclusie van deel 1 We hebben in de vergelijkingen gezien dat er veel voor- en nadelen afhangen van de scenario’s waarin de apparaten gebruikt worden en welke verbindingen of apparaten er voorhanden zijn. Wanneer men een extern apparaat voorhanden heeft, zoals een tablet of computer/laptop, kunnen veel apparaten verbonden worden via de ”Chromecast”manier. Ook voor de verschillende categorie¨en zijn verschillende methodes aangeraden. We zien bijvoorbeeld bij PC/laptop dat WPA/WPA2 de betere manier van aansluiten is, omdat het zowel ondersteund wordt door alle moderne besturingssystemen, alsook beide apparaten een volledig toetsenbord ter beschikking hebben. Ook de veiligheid van veel systemen spelen een grote rol. De ”PIN-code”-manier van WPS is bijvoorbeeld een zeer praktische methode om een apparaat te verbinden met een netwerk, maar heeft in oudere systemen nog grote risico’s. Daarnaast hebben we ook methodes waar de veiligheid onder controle te houden is, zoals de USB-methode van WPS. Hierin worden de netwerkgegevens onge¨encrypteerd opgeslagen op een USB, maar wanneer een gebruiker na het gebruiken van de USB de bestanden wist, zijn er geen problemen. Als laatste moet er rekening gehouden worden met de interfacemogelijkheden van apparaten. Wanneer nieuwe apparaten willen verbinden met een netwerk is het de bedoeling om de impact van draadloze netwerken op de interface zo beperkt mogelijk te houden, maar het tegelijk zo gebruiksvriendelijk maken. Op een smartwatch is het bijvoorbeeld niet interessant om een paswoord in te geven vanwege het kleine scherm, maar een extra knop plaatsen voor de ”Druk op de knop”-manier is ook geen optie vanwege de beperkte interface. Bovendien zou die knop dan maar zelden gebruikt zou worden, enkel voor het verbinden van een nieuw netwerk.
57
Deel 1: Impact van draadloze netwerken op authenticatie
58
Onze onderzoeksvraag was: ”Welke manieren van verbinden en authenticeren met een netwerk werken het best voor verschillende vormen van interfaces?”. Men zal moeten afwegen welke manieren voor hun mogelijk zijn en welke de beste manieren blijken. Om dit te bereiken raden we aan om tabel 3.1 te gebruiken om na te gaan welke elementen het hardst doorwegen. We kunnen immers geen beste methode beslissen voor elk apparaat in elke situatie, maar geven met deze tabel wel een idee welke voor- en nadelen bepaalde methodes hebben.
Deel II
Deel 2: Impact van draadloze netwerken op privacy
59
Hoofdstuk 5
Inleiding Het tweede deel van deze thesis gaat over het opvangen van Probe requests om te kunnen berekenen hoelang het duurt om van een locatie naar locatie te bewegen. Deze opstelling is gemaakt met het doel om verplaatsingstijden te berekenen op grote evenementen, tussen belangrijke locaties. Een voorbeeld hiervan is de verplaatsingstijd tussen de ingang van een festival en verkoopstand voor drankbonnetjes. We hebben dit gedaan aan de hand van de Probe requests die worden uitgezonden door elk apparaat waarvan Wi-Fi is ingeschakeld. Een Probe request heeft meerdere doeleinden, gezien in deel 1, maar kan ook misbruikt worden. Voor dit deel van de thesis hebben we detectors gebruikt die deze Probe requests opvangen op een anonieme wijze. De Probe requests worden immers op regelmatige wijze uitgestuurd door handheld apparaten, zoals smartphones of tablets. Mensen die naar een evenement gaan, hebben deze apparaten vaak bij zich, en hierdoor kunnen we de koppeling maken tussen apparaat en gebruiker. Wanneer een smartphone dus beweegt, kunnen we afleiden dat dit altijd dezelfde persoon is die deze smartphone beweegt. Nu we weten dat een persoon een apparaat bij zich heeft dat Probe requests uitstuurt, kunnen we door middel van detectors bijhouden waar een persoon zich op een gegeven tijdstip bevindt. Op deze manier kunnen we de verplaatsingen van personen volgen en berekenen hoelang het duurt dat een persoon zich van detector naar detector heeft bewogen. Als er veel personen dezelfde verplaatsing maken, kunnen we deze gaan combineren om een algemene verplaatsingstijd tussen twee locaties te vinden.
61
Deel 2: Impact van draadloze netwerken op privacy
5.1
62
Manier van werken
We cre¨eren de tijden door Probe requests op te vangen die smartphones, of andere apparaten met Wi-Fi mogelijkheden, automatisch uitzenden wanneer de Wi-Fi ingeschakeld is. Deze signalen worden opgevangen door detectors gemaakt op het EDM. Deze detectors sturen elke twee minuten een pakket door naar een centrale server waarin alle vergaarde data over de ontvangen Probe requests van de voorbije twee minuten zit. Deze data wordt dan verwerkt via een algoritme, waarna we de berekende data op een website plaatsen. Op deze manier kunnen we de data tonen wanneer een nieuw pakket van een detector verwerkt is. Zo blijft de data up-to-date en beschikbaar vanop afstand. Doordat de detectors elke twee minuten alle gedetecteerde data naar een vaste server sturen, voeren we het algoritme telkens na een vaste periode uit. Zo worden de tijden telkens op een vaste tijd berekend en zien we ook wanneer de volgende tijd berekend zal worden. Daarnaast kunnen we de server zo instellen dat, indien er andere algoritmes zijn die op een vaste periode worden uitgevoerd, deze op een regelmatig tijdstip processortijd van de server vragen.
5.1.1
Probe request pakket
Het 802.11-protocol heeft verschillende management frames die bijvoorbeeld authenticatie en detectie verzorgen. Een Probe request frame is een management frame dat het apparaat toestaat om naar andere apparaten te zoeken en, na een antwoord terug te krijgen, er eventueel mee te connecteren. Apparaten sturen meestal na een vaste tijd opnieuw een Probe request uit om te zoeken naar nieuwe apparaten waarmee ze eventueel kunnen connecteren. Het protocol specificeert niet om de hoeveel tijd een Probe request moet uitgezonden worden en daarom mogen fabrikanten dit zelf beslissen. In tabel 5.1 zien we dat de meeste fabrikanten ongeveer 5 Probe requests per minuut verzenden. De Probe requests bevatten het MAC address van het apparaat, waardoor we verschillende pakketten van dezelfde verzender identificeren. Enkel in iOS 8, het mobiele besturingssysteem van Apple, wordt dit bemoeilijkt. Het besturingssysteem gaat niet altijd het correcte MAC address doorsturen, waardoor het apparaat als meerdere apparaten gezien wordt [30]. Het doet dit vanwege veiligheidsredenen omtrent de identificatie van het apparaat.
Standaardsituatie Probe requests worden uitgestuurd wanneer er gezocht moet worden naar apparaten om
Deel 2: Impact van draadloze netwerken op privacy
63
mee te verbinden. Zolang het apparaat moet blijven zoeken naar nieuwe apparaten, worden Probe requests na een vaste tijd uitgezonden. De meeste apparaten waarvan Wi-Fi ingeschakeld is, blijven deze periodisch uitzenden om te kunnen connecteren met nieuwe apparaten. Er zijn enkele stappen die een apparaat moet uitvoeren voor het kan verbinden met een access point. De eerste stap van het protocol is een Probe request frame uitsturen. Een apparaat stuurt dit uit wanneer het informatie wil krijgen over andere apparaten in de buurt die ook via het 802.11-protocol communiceren. Meestal wordt dit gebruikt om access points te vinden, waar het apparaat zich mee kan verbinden om toegang te krijgen tot het netwerk. Een access point stuurt hierop een Probe response frame dat informatie over zichzelf geeft en over hoe het apparaat zich ermee kan verbinden.
Figuur 5.1: Voorbeeld van een Probe request aanvraag naar een access point.
Doordat de Probe requests gebroadcast worden, kan elk apparaat op de gebruikte frequentie het pakket opvangen. Wanneer een apparaat, zoals een andere smartphone, dit pakket niet wilt verwerken, reageert het hier niet op. Wanneer deze het pakket wel wil verwerken, zoals bij een router, stuurt deze een Probe response terug.
5.1.2
Hoeveel Probe requests een smartphone uitzendt
We hebben een test gedaan waarin we op een publieke locatie alle Probe requests opgevangen hebben om zo te zien hoeveel Probe requests elk merk ongeveer per minuut uitstuurt. Dit is een benadering aangezien niet elke merk of type van apparaat evenveel Probe requests uitstuurt. Het geeft echter wel een algemeen beeld van het aantal Probe requests dat wordt uitgezonden per minuut.
Deel 2: Impact van draadloze netwerken op privacy Merk Apple HTC Huawei LG Nokia Samsung Sony
Aantal Probe requests per minuut 4.6 4.6 5.2 4.86 5.2 3.8 5.6
64
Aantal apparaten gebruikt voor de test 104 9 5 2 5 46 5
Tabel 5.1: Zelf verzamelde data van verschillende merken over het aantal Probe requests per minuut.
We zien dat de meeste merken ongeveer vijf Probe requests per minuut verzenden. Door deze data op te vangen en te verwerken, kunnen we toepassingen kunnen cre¨eren omtrent personentracking. Dit zien we ook in [31], waar ze spreken over een gemiddelde van 55 Probe requests per uur. Daarnaast bespreken ze in [31] het gemiddeld aantal Probe requests in Android L(5.0.1), waar er een gemiddelde is van 1500 Probe requests per uur, en 120 Probe requests per uur in iOS 8.1.3. In [32] laat men nogmaals zien dat er een groot aantal Probe requests kunnen worden opgevangen op evenementen of op bedrijven. Men is er hier bijvoorbeeld in geslaagd om 5,349,894 Probe requests op te vangen in een universiteit. Ze gebruikten deze data om na te gaan welke sociale eigenschappen ze konden afleiden van die Probe requests. Dit konden ze doen doordat de SSID’s waar een gebruiker al eens mee verbonden was, ook mee worden uitgestuurd in een Probe request. Met de SSID’s die ze kenden, konden ze personen met elkaar verbinden en zelfs met bepaalde jobs verbinden. We zien dat er verschillende mogelijkheden zijn met Probe requests en aangezien deze automatisch worden uitgezonden, zonder dat de gebruiker hier weet van heeft of iets tegen kan doen, is dit toch een verborgen manier om anonieme informatie te verkrijgen van apparaten. Veel mensen zijn hier bovendien niet van op de hoogte, waardoor bedrijven hiervan vaak misbruik van maken om ongezien zoveel mogelijk data te verzamelen. De Belgische regering heeft dan ook nog maar pas bekendgemaakt via een parlementair antwoord dat het anoniem onderscheppen van de Wi-Fi signalen van uw smartphone niet zomaar mag gebeuren [[33]], zelfs als het vermeld staat dat winkels het doen.
5.2
Gerelateerd werk
Het tweede deel in deze thesis bouwt verder op eerder werk dat gebaseerd is op bluetooth. Als voorbeeld hebben we [2] gebruikt, welke de verplaatsingstijden van personen
Deel 2: Impact van draadloze netwerken op privacy
65
gaat berekenen aan de hand van bluetooth-signalen. Door bluetooth-detectors op te hangen tijdens de Gentse Feesten, hebben ze de drukte en verplaatsingstijden berekend tussen verschillende locaties. Dit doen ze door bluetooth-pakketten op te vangen, die als antwoord worden teruggestuurd op bluetooth discovery-pakketten. Wanneer een apparaat bluetooth ingeschakeld heeft, kan deze in twee verschillende modussen staan: Idle of Discovery. Wanneer een apparaat in Discovery-modus staat, kunnen andere apparaten met bluetooth dit zien. Het apparaat antwoordt dus op Discoverypakketten van de zender. [2] gebruikt deze methode als bron van data voor het berekenen van verplaatsingstijden. Dit doet het door de geantwoorde pakketten te vergelijken tussen de verschillende locaties aan de hand van het MAC address dat in deze pakketten zit. Wanneer er MAC-adressen zijn die op beide locaties voorkomen, kan men hiervan afleiden hoelang het duurt om van de ene naar de andere locatie te bewegen. In dit onderdeel gebruiken we geen bluetooth maar Wi-Fi signalen, waardoor we niet gebonden zijn aan de Discovery-modus. Dit is een voordeel aangezien moderne bluetoothapparaten niet meer de mogelijkheid geven om constant in Discovery-modus te staan. Apparaten plaatsen zichzelf na een tijdje terug in Idle-modus. Bij Wi-Fi is dit geen probleem, aangezien de pakketten automatisch door het besturingssysteem worden uitgestuurd wanneer het wil blijven zoeken naar nieuwe apparaten. Wanneer Wi-Fi ingeschakeld is op het apparaat, is dit bij de meeste merken constant. Hierdoor zullen we een grotere dataset binnenkrijgen dan wanneer we met bluetooth zouden werken. Om een beeld te krijgen van hoelang het duurt om op evenementen van locatie naar locatie te wandelen, hebben we verschillende algoritmes getest, met de Probe request gegevens als input, om zo een algemene tijd te berekenen tussen de locaties. Deze algoritmes zijn:
• De mediaan: De middelste waarde in een gesorteerde lijst. [Hoofdstuk 6.2] • Verwijderde ouliers: Het verwijderen van extreme waardes die weinig kans hebben om bij de rechtstreekse transporttijd te horen. [Hoofdstuk 6.3] • K-means: Een algoritme dat verschillende groepen gaat maken van data die bij elkaar hoort, in dit geval de tijden van rechtstreekse bewegers en niet rechtstreekse bewegers. [Hoofdstuk 6.4]
Deze algoritmes dienen om een verschil te maken tussen de rechtstreekse en onrechtstreekse of trage bewegers. Wanneer een persoon verschillende pauzes houdt tussen
Deel 2: Impact van draadloze netwerken op privacy
66
locaties, en dus geen rechtstreekse beweging maakt tussen de locaties, zijn de tijden van deze persoon niet meer accuraat om de tijd tussen de locaties voor te stellen, aangezien deze er veel langer over deed dan nodig was. Deze moeten verwijderd worden uit de lijst om een meer algemeen beeld te geven van de tijdsduur.
5.3
Toepassingen
Er zijn ondertussen heel veel toepassingen waarin we de tijd berekenen tussen twee verschillende locaties, doordat wij als mensen graag weten hoelang iets specifieks duurt. We gebruiken daar nu vaak technologie¨en voor zoals GPS of algoritmes, met als parameter het aantal mensen dat van locatie A naar locatie B wil gaan. Indien deze niet gebruikt kunnen worden, moet er een alternatief voorzien worden. Het algoritme uit dit onderdeel is een alternatief of zelfs een verbetering ten opzichte van de huidige technologie¨en, aangezien we enkel afhankelijk zijn van de apparaten met een 802.11-verbinding.
Festivals We hebben deze toepassing gebruikt op een groot festival, waar een grote groep mensen zich kon verplaatsen tussen verschillende locaties, waaronder podia en de hoofdingang. Op deze manier had de leiding van het festival een overzicht van hoelang het duurt om van een locatie naar een andere locatie te wandelen. Hiermee kunnen eventuele knelpunten of problemen al vroegtijdig opgespoord worden.
Verkeer De tijdsberekening tussen locaties zou perfect gebruikt kunnen worden om de tijden te berekenen tussen locaties waar veel verkeer voorkomt. Men kan bijvoorbeeld berekenen hoelang men in de file zal staan, of de gps een meer accurate tijdsbepaling geven naast de gemiddelde snelheid per uur [figuur 5.2]. Door op verschillende plaatsen een detector te hangen waar de tijd berekend moet worden, kan men de tijd tussen de detectors optellen, waarna men een volledige map verkrijgt van hoelang men in het verkeer zal staan. Door deze tijden te bestuderen, kunnen ongevallen of autopech gedetecteerd worden alvorens er een melding van de bestuurder of omstaander wordt doorgegeven.
Deel 2: Impact van draadloze netwerken op privacy
67
Figuur 5.2: Een voorbeeld van een toepassing voor de reistijden tussen twee locaties in het verkeer. Op het bord is te zien hoelang een bestuurder erover doet om naar een andere locatie te rijden.
5.4
Ongezien detecteren
Wanneer een apparaat een Probe request uitzendt, doet het dit in broadcast-modus. Dit betekent dat elk apparaat dat dit pakket ontvangt, zelf kan beslissen wat het er mee doet. Er is geen specifieke ontvanger ingesteld zoals bijvoorbeeld bij een pakket dat een website gaat opvragen. Voor dit onderdeel hebben we een detector gemaakt die al deze pakketten opvangt, maar zelf niets terugstuurt. Op deze manier kunnen we ongezien deze pakketten verwerken, terwijl het apparaat dat de pakketten uitzendt hier niets van merkt. Daarnaast is het ook niet zichtbaar dat de Probe requests opgevangen worden zolang onze detector niets terugstuurt. Deze vorm van detecteren wordt al in andere toepassingen gebruikt, vaak om anonieme data te verzamelen die nuttig kan zijn voor marketing of voor statistieken. Een voorbeeld hiervan zijn de slimme afvalbakken in London, die de MAC-adressen verzamelen om na te gaan hoelang een persoon in een winkel is binnen geweest [34]. In een ander voorbeeld gaan winkels specifiek nagaan hoe klanten zich in de winkel bewegen en aan de hand van deze data de plaatsing van de winkelrekken optimaliseren [35].
Deel 2: Impact van draadloze netwerken op privacy
5.5
68
Gebruikte detector
In figuur 5.3 zien we de detector die gebruikt is voor de detecties van Probe requests. De detector heeft een stroom- en netwerkaansluiting nodig om te kunnen werken.
Figuur 5.3: De gebruikte detector, gemaakt van een Raspberry Pi en een Wi-Fi Dongle
De detector bestaat uit 2 hoofddelen, namelijk een Raspberry Pi type B, en een Wi-Fi Dongle van TP-link, type TL-WN722N.
5.5.1
Raspberry Pi
De Raspberry Pi is een goedkope computer die de grootte heeft van een credit card. Het is gemaakt met de bedoeling om mensen van elke leeftijd te laten kennismaken met computers en om connecties te maken met andere apparaten zoals tv’s of camera’s. Alle software moet op een SD-kaartje geplaatst worden, waaronder het OS, welke een
Deel 2: Impact van draadloze netwerken op privacy
69
Figuur 5.4: Raspberry Pi type B
aangepaste versie van Linux is. Daarnaast kan de Raspberry Pi, doordat het draait op een versie van Linux, zelfgemaakte of al bestaande applicaties voor Linux draaien van verschillende programmeertalen. Hierdoor kan hij bijvoorbeeld ook dienen als webserver, mediacenter of testsysteem voor zelfgemaakte applicaties.
5.5.2
Wi-Fi Dongle
We gebruiken een TP-link Wi-Fi Dongle om Probe requests op te vangen. Dit doen we door deze op monitor-modus te zetten en pakketten te filteren zodat we enkel Probe requests overhouden. Op deze manier kan de detector alle pakketjes ontvangen, zonder pakketten te moeten terugsturen.
Figuur 5.5: Specificaties TP-link Wi-Fi Dongle [1]
Deel 2: Impact van draadloze netwerken op privacy
70
We zien in figuur 5.5 dat de Dongle 802.11b, 802.11g en 802.11n ondersteunt op de 2.4GHz frequentie. Dit is de frequentie die we gebruiken om de Probe requests op te vangen.
Voordelen van een kleine detector Doordat we hardware gebruiken die klein is, hebben we onze detectors ook klein kunnen houden. Dit geeft als voordeel dat we niet snel de aandacht zullen trekken en de detectors onopgemerkt ergens kunnen plaatsen. Daarnaast zijn ze ook draagbaar als er een mobiele batterij aangesloten wordt. Dit kan voordelen bieden wanneer de detectors moeten verplaatst worden tijdens de metingen.
5.5.3
Software
Voor onze opstelling gebruikten we de Raspbian-versie van Linux, gemaakt voor de Raspberry Pi. We voeren hier een Python script [figuur 5.6 ] op uit dat Probe requests opvangt en doorstuurt naar de centrale server. De centrale server is de computer waarop we alle algoritmes uitvoeren en alle berekende data aan opvragen om in de visualisaties te tonen.
Het algoritme werkt door alle Probe requests op te vangen die door de detector gedetecteerd worden. Haal uit zulke Probe request het MAC address voor identificatie en sla dit, samen met het tijdstip dat het pakket ontvangen is, op in een lijst. Na twee minuten wordt de hele lijst opgestuurd naar de centrale server, die verdere verwerking van de data zal uitvoeren.
Figuur 5.6: Pseudocode van de detector.
De code voor de detectors is niet heel erg ingewikkeld, aangezien alle verwerkingen op de centrale server gebeuren. Alle pakketten die in de lucht worden opgevangen worden gefilterd aan de hand van de Scapy-bibliotheek [36], welke kan nagaan welke soort pakketten worden opgevangen.
Detecties per seconde We weten nu hoeveel Probe requests een smartphone per minuut uitzendt, maar niet hoeveel Probe requests er op specifieke locaties worden uitgezonden. Door te kijken hoeveel Probe requests er op drukke locaties worden uitgezonden, krijgen we een beeld van de snelheid waarmee onze algoritmes moeten werken om alle data snel genoeg te kunnen behandelen.
Deel 2: Impact van draadloze netwerken op privacy
71
In figuur 5.7 zien we de metingen van een detector welke een uur lang heeft gedetecteerd in de bibliotheek van de Universiteit Hasselt in een drukke examenperiode. Hier zien ze dat er een piek is van minstens 1000 Probe requests per minuut. Na een uur hebben we van 533 identificeerbare apparaten Probe requests ontvangen.
Figuur 5.7: Detecties gemeten per seconde
Daarnaast hebben we ook getest hoeveel apparaten Probe requests zouden uitsturen op een festival zoals Pukkelpop [figuur 5.8]. We hebben verschillende detectors geplaatst over het terrein en zien dat de detectors meer dan 750 verschillende apparaten per minuut detecteren.
Figuur 5.8: Apparaten op Pukkelpop
Door deze metingen zien we dat de algoritmes die we op deze data uitvoeren snel genoeg moeten zijn om de grootte van de data aan te kunnen. Aangezien de detectors elke twee
Deel 2: Impact van draadloze netwerken op privacy
72
minuten nieuwe data doorsturen, is het de bedoeling om zo snel mogelijk deze data te verwerken en aan te passen indien er nieuwe data komt.
Hoofdstuk 6
Algoritme voor het berekenen van de tijden Er zijn verschillende algoritmes getest voor de berekening van de tijden, omdat er niet meteen geweten was welk algoritme het beste resultaat teruggaf. Testen moesten achteraf uitwijzen welk algoritme de tijden het meest correct weergaf en snel genoeg klaar was om op regelmatige intervallen te worden uitgevoerd. De globale structuur vindt men terug in figuur 6.1, waar men voor elk koppel van locaties de reistijd gaat berekenen.
73
Deel 2: Impact van draadloze netwerken op privacy
74
Voor elk koppel van locaties { { Haal data van bestand brondetector verwijder data waarvan het MAC address meerdere keren voorkomt, hou de laatste over } { Haal data van bestand bestemmingsdetector verwijder data waarvan het MAC address meerdere keren voorkomt, hou de eerste over } Zoek MAC addressen die in beide detectors voorkomen Plaats alle tijden hiertussen in een tabel Voer ´ e´ en van de algoritmes uit welke een tijd teruggeeft, namelijk de berekende tijd tussen de twee locaties Schrijf dit weg naar een bestand }
Figuur 6.1: Pseudocode voor het berekenen van tijden tussen twee locaties
We hebben deze code uitgevoerd in PHP. Door met PHP te werken, hadden we het voordeel dat we via het internet het algoritme van op afstand konden uitvoeren. Dit was uiteindelijk niet nodig, aangezien we gekozen hadden voor een website die zichzelf bijwerkt. PHP is bovendien ook een scriptingtaal die op vele servers standaard ge¨ınstalleerd is, waardoor deze toepassing gemakkelijk uit te voeren was.
6.1
Selectie van de tijden
Doordat alle Probe requests naar de centrale server worden gestuurd en bijgehouden worden per detector in een bestand, moeten we eerst de Probe requests filteren die we willen gebruiken. We filteren daarom eerst de laatste X aantal minuten, X is per parameter in te stellen, uit elke bestand.
Deel 2: Impact van draadloze netwerken op privacy
75
Hierna filteren we opnieuw deze data zodat MAC-adressen maar ´e´en keer voorkomen, namelijk de eerste of de laatste keer dat ze gedetecteerd zijn, respectievelijk naargelang de detector als bron of als bestemming diende. Dit doen we zodat we weten wat de tijd was tussen de laatste detectie op de bronlocatie en de eerste op de bestemmingslocatie, wat de tijd voorstelt die een persoon nodig heeft om zich te verplaatsen tussen deze twee punten. Aan de hand van deze tijden kunnen we bepalen welke personen zich van de ene locatie naar de andere hebben verplaatst. Als we deze tijden weergeven, zien we een grote variatie naargelang de gekozen tijdsspanne waarover we de reistijden gaan berekenen. Op de festivals waar we dit algoritme getest hebben, hebben we deze tijdsspanne op 30 minuten gezet, aangezien dit de meest correcte tijden teruggaf. Voor andere evenementen is dit een parameter die moet worden aangepast. Op deze lijst van tijden gaan we een algoritme uitvoeren, zodat we een tijdsindicatie verkrijgen die ons vertelt hoelang het duurt om tussen de twee locaties te bewegen. Hieronder leggen we de drie algoritmes uit die we getest hebben.
6.2
Algoritme: Mediaan
De mediaan is het middelste getal bij een gesorteerde lijst of het gemiddelde van de twee middelste getallen, indien de lijst een even aantal getallen bevat. We gebruiken deze methode met de gedachte dat, wanneer mensen van locatie naar locatie verplaatsen, ongeveer de helft snel en ongeveer de helft trager wandelt dan de gemiddelde persoon.
Tijden tussen locaties
Tijd 1
Tijd 2
Tijd 3
Tijd 4
Tijd 5
Tijd 6
Tijd 7
A-B
03:30
03:45
04:00
04:15
04:30
05:30
10:00
C-D Scenario 1:
03:30
03:45
04:00
04:30
05:30
09:00
-
We berekenen de mediaan van een reeks tijden door de tijden te sorteren, waarna de middelste tijd de mediaan is [figuur 6.3]. Tussen locatie A en B is de mediaan gelijk aan Tijd 4, aangezien deze tijd de middelste tijd voorstelt in de gesorteerde reeks. Wanneer men geen middelste waarde kan vinden, wanneer er dus een even aantal tijden zijn, neemt men het gemiddelde van de middelste twee waarden. In het geval van de tijden tussen locaties C en D, zijn de middelste waarden 04:00 en 04:30, waarvan het gemiddelde 04:15 is. De mediaan is dan 04:15.
Figuur 6.2: Scenario 1: De mediaan van een lijst tijden berekenen
Deel 2: Impact van draadloze netwerken op privacy
76
Deze methode is zeer snel en effici¨ent als we de tijden zomaar in twee mogen verdelen. In testomstandigheden kan dit een goed algoritme zijn, maar in een real life situatie gaan we ervan uit dat dit niet altijd het geval is. Daarom zijn verschillende aanpassingen nodig om het algoritme aan te passen aan real life situaties. We moeten ten eerste tijden die niet in de lijst thuishoren, extreme uitschieters, uit de lijst verwijderen.
Figuur 6.3: Een figuurlijke representatie van de mediaan en de kwartielen. De interkwartielafstand is de rode balk. De mediaan onderste helft is een andere naam voor het eerste kwartiel, de bovenste helft voor het derde kwartiel
6.3
Algoritme: Verwijder outliers
Wanneer een grote groep mensen zich verplaatst van een locatie naar een andere, zullen er altijd een aantal mensen zijn die zich sneller of trager verplaatsen dan de grootste groep mensen. Sommigen zijn zelfs zo extreem dat deze tijden verwijderd moeten worden uit ons algoritme. Daarom is er nog een extra filter ge¨ınstalleerd die deze extremen verwijderd. In dit geval gebruiken we het principe van outliers, wat getallen zijn die minstens driemaal de interkwartielafstand, de afstand tussen het eerste en het derde kwartiel, van het gemiddelde af liggen.
Deel 2: Impact van draadloze netwerken op privacy
Tijden tussen locaties A-B Scenario 2:
77
Tijd 1
Tijd 2
Tijd 3
Tijd 4
Tijd 5
Tijd 6
Tijd 7
03:30
03:45
04:00
04:15
04:30
05:30
10:00
In dit scenario volgen de tijden elkaar mooi op, met uitzondering van de laatste tijd van 10:00. Dit lijkt een uitzondering te zijn en zou dus niet meegerekend moeten worden. We berekenen de interkwartielafstand door het verschil te nemen tussen het eerste en het derde kwartiel [figuur 6.3]. Een kwartiel is de waarde die we verkrijgen als we een geordende set van getallen opsplitsen in 4 delen. Het eerste kwartiel kunnen we berekenen door van een geordende set de mediaan te nemen, en een nieuwe set te maken van alle tijden voor de mediaan, zonder de mediaan zelf. Door van deze nieuwe set opnieuw de mediaan te nemen, verkrijgen we het eerste kwartiel. Het derde kwartiel kan op dezelfde manier berekend worden, namelijk door een set te maken met de cijfers achter de mediaan. Het eerste kwartiel van ons voorbeeld is 03:45 en het derde kwartiel is 05:30. De interkwartielafstand is het verschil tussen het derde en het eerste kwartiel. Dit is een maat voor de spreiding van een verdeling, de mate waarin de waarden onderling verschillen. Wanneer de waarden meer dan drie keer de interkwartielafstand verschillen van de mediaan, kunnen we ervan uitgaan dat deze waarden uitschieters zijn en verwijderd mogen worden uit de dataset. In het voorbeeld is de interkwartielafstand 01:45 en de mediaan 04:15. Wanneer we nu alle tijden in de set afgaan, zien we dat 10:00 meer verschilt dan 04 : 15 + 3 ∗ 01 : 45 = 09 : 30. Hierdoor mogen we deze waarde verwijderen uit de set. Nadat we de gegevens verwijderd hebben uit de set, gebruiken we de mediaan voor de representatie van de set van tijden. In dit voorbeeld is deze waarde 04:08.
Figuur 6.4: Scenario 2: Outliers uit een lijst verwijderen
Dit principe voeren we uit op de tijden, waarna extremen niet meer voorkomen in de lijst. Dit geeft een beter beeld van de gemiddelde transporttijd tussen de locaties. We zitten nog steeds met het probleem dat we de tijden zomaar in twee splitsen, terwijl de snelle groep mensen op een gegeven moment veel groter kan zijn dan de trage groep mensen, of omgekeerd. Daarom gaan we het mediaan-algoritme vervangen door het k-means algoritme, welke de groepen gaat opdelen in snelle en trage verplaatsers, onafhankelijk van de grootte van elke groep.
Deel 2: Impact van draadloze netwerken op privacy
6.4
78
Algoritme: K-means
Ten slotte pakken we het verdelen van snelle en trage bewegers aan. In plaats van de groep in twee te verdelen, gaan we het k-means algoritme gebruiken dat tijden in meerdere groepen splitst, zodat elke groep een groep van mensen voorstelt. Dit kan bijvoorbeeld een snelle en een trage groep zijn, indien men er twee groepen van maakt. Hierdoor krijgen we geen hardcoded opsplitsing van groepen meer, maar gaat een algoritme groepen maken aan de hand van de reistijden.
Tijden tussen locaties A-B Scenario 3:
Tijd 1
Tijd 2
Tijd 3
Tijd 4
Tijd 5
Tijd 6
Tijd 7
03:30
03:45
04:00
04:15
04:30
05:30
10:00
Door op een adaptieve manier de groepen te verdelen in snelle en trage verplaatsers, krijgen we een beter beeld van hoelang het duurt om van locatie naar locatie te verplaatsen. We gebruiken hiervoor het k-means algoritme, dat de tijden in k aantal groepen verdeeld. Voor onze tests op Pukkelpop hebben we gekozen om de tijden op te splitsen in twee groepen, waarvan de snelste verplaatsers de grotere groep moeten vertegenwoordigen. Zij zouden degenen moeten zijn die zich rechtstreeks tussen de locaties bewegen, zonder omwegen te maken. Het algoritme werkt als volgt: Het k-means algoritme begint door k verschillende tijden uit de lijst te nemen en deze allemaal een groep te geven. Dit noemen we de richttijden. Daarna doorlopen we de hele lijst en plaatsen elke tijd in een groep waarvan de tijd het dichtst de richttijd ligt. Wanneer dit gedaan is, nemen we voor elke groep het gemiddelde van alle tijden die in deze groep zijn gekomen. Die tijd wordt voor de groep het nieuwe richttijd. We doorlopen hierna de lijst opnieuw en berekenen opnieuw het gemiddelde voor elke groep, tot de groepen stabiel zijn [figuur 6.6]. Door het minimum te nemen van de uiteindelijke richttijden, krijgen we een tijd die de gemiddelde tijd van de snelle verplaatsers voorstelt, terwijl we de trage verplaatsers weggefilterd hebben. Hierdoor krijgen we een beter beeld van de tijd die nodig is om van locatie naar locatie te verplaatsen.
Figuur 6.5: Scenario 3: K-means algoritme
Deel 2: Impact van draadloze netwerken op privacy
79
Figuur 6.6: Een figuurlijke representatie van het k-means algoritme. We zien twee groepen, de rode groep en de blauwe groep, waar voor elke groep het gemiddelde wordt aangeduid met het kruisje.
6.5
Visualisatie van de tijden
De tijden die we berekenden tussen verschillende locaties, moesten op een manier gevisualiseerd worden zodat er verschillende tijden tegelijk bekeken konden worden. Daarnaast moest het mogelijk zijn om grote verschillen op te merken in de opeenvolgende tijden. Indien de tijd opeens veel hoger of lager zou zijn, moest dit meteen opgemerkt kunnen worden. Voor de voorstelling hebben we grafieken gebruikt, namelijk combocharts, waarin we de tijden voorgesteld hebben met een lijn- of kaarsgrafiek. Met een controller onder de grafiek kan de gevisualiseerde periode aangepast worden, zodat men bijvoorbeeld een breder beeld kan krijgen van de ganse dag, of een specifiek beeld van een bepaald tijdstip. Zoals in figuur 6.7 te zien is, hebben we zes grafieken op een webpagina geplaatst die elke twee minuten automatisch nieuwe data inlaadt en toont. Deze data bestaat uit de berekende tijden, de blauwe puntjes die verbonden worden via de oranje lijn, en de baseline. De baseline is een gemiddelde genomen over de voorbije acht uur van alle tijden. Dit geeft ons een beeld hoe de tijden zouden moeten evolueren en of er abnormale waarden bij zitten.
Deel 2: Impact van draadloze netwerken op privacy
80
Figuur 6.7: De gebruikte visualisatiemethode voor het berekenen van de reistijden. Zes grafieken die de tijden voorstellen tussen telkens twee locaties.
De tijd zelf wordt weergegeven naast de grafiek. Deze krijgt een bepaalde kleur naargelang het verschil met de baseline voor de huidige tijd: 1. Groen: De tijd ligt onder de baseline 2. Oranje: De tijd ligt tussen de waarde van de baseline en 1.5 keer de baselinewaarde 3. Rood: De tijd is groter dan 1.5 keer de baselinewaarde We hebben deze waardes ingesteld zodat er bij grote verschillen, 1.5 keer de baselinewaarde, opgemerkt kan worden dat de tijden abnormaal zijn en er iets niet correct is. We controleren ook hoe accuraat onze metingen zijn. We berekenen daarom de waardes waar we voor 95% kans zeker zijn dat zij het minimum en maximum voorstellen. Dit zien we in de blauwe balkjes op de berekende tijden in figuur 6.7.
6.6
Testen op Rimpelrock en Pukkelpop
We hebben de opstelling en het algoritme op twee grote evenementen getest, namelijk Rimpelrock en Pukkelpop. Beide zijn grote festivals waar een grote hoeveelheid mensen samenkomen om naar artiesten te komen luisteren.
Deel 2: Impact van draadloze netwerken op privacy
81
Beide festivals spelen zich af op een vlak terrein in Kiewit. Rimpelrock duurt slechts ´e´en dag en Pukkelpop duurt drie dagen. De festivals worden achtereenvolgens gehouden, waardoor een deel van de opstelling van Rimpelrock opnieuw gebruikt wordt voor Pukkelpop. Hierdoor was de plaatsing van de detectors gemakkelijker, aangezien we de plaatsing van Rimpelrock opnieuw konden gebruiken op Pukkelpop. Doordat deze festivals jaarlijks een grote hoeveelheid mensen mogen verwelkomen, was dit een goede testsituatie voor de detectors en de algoritmes. De detectors moesten namelijk het grote aantal personen kunnen verwerken, en het algoritme moest snel genoeg werken zodat veranderingen in tijd tussen locaties snel opgemerkt kunnen worden.
Rimpelrock Omdat er maar twee podia open zijn voor Rimpelrock, namelijk Main Stage en Club, hebben we onze focus rond deze podia en de ingang gehouden. Deze opstelling was een testsituatie, omdat er maar ´e´en grote weide was waar de mensen konden rondlopen. Daarnaast mocht het publiek van Rimpelrock een strandstoel meebrengen om te blijven zitten op ´e´en plaats en werden er dus weinig mensen gedetecteerd die rondwandelden. Aangezien we ook een netwerkconnectie moesten verkrijgen voor elk van onze detectors van de organisators van Pukkelpop, hebben we deze dag gebruikt om te kijken of er problemen met de detectors zijn, en of het algoritme correct wordt uitgevoerd.
Pukkelpop Naast de zeven detectors van Rimpelrock hebben we op Pukkelpop nog tien extra detectors gehangen over de rest van de festivalweide en een detector op de drie campings. We hebben verschillende detectors ook samengevoegd tot ´e´en locatie, namelijk de Main Stage, bestaande uit detector 1, 2 en 3, de ingang, detectors 6 en 7, en de Dance en Boiler tenten, detectors 11 en 12. Dit hebben we gedaan zodat we een beter beeld krijgen van hoe mensen zich verplaatsen, aangezien ze allemaal dezelfde locatie voorstellen. Of mensen nu naar de linkerkant van de Main Stage gaan, of naar de rechterkant, hun uiteindelijk doel is om naar de artiest op de Main Stage te gaan kijken.
6.7
Bespreking van accuraatheid algoritme
Na afloop hebben we de tijden, die we op Pukkelpop gemeten hebben, nagekeken en vergeleken met de verwachte tijden en met de start- en stoptijden van artiesten. We hebben telkens dezelfde dataset gebruikt voor de drie algoritmes, namelijk van 22:30 tot 01:30 AM. Tussen deze tijden was er een optreden van de artiest Eminem, een
Deel 2: Impact van draadloze netwerken op privacy
82
Figuur 6.8: De locatie van de geplaatste detectors op Pukkelpop. 17 detectors staan over het ganse terrein verspreid.
headliner voor het festival, die gepland stond om op te treden om 22:45, maar pas begon op te treden rond 23:15. Op dit moment werd het plotseling veel drukker aan de Main Stage, waardoor de tijden logischerwijze ook zullen moeten stijgen. Voor de visualisatie gebruiken we een candlestick chart, die ons verschillende elementen toont: 1. De oranje lijn: Deze geeft de berekende tijden weer 2. De blauwe lijnen per berekende tijd: Deze geeft de variatie op de tijden weer 3. De rode lijn: De baseline. Deze hebben we berekend door het gemiddelde te nemen van de voorbije acht uur. Ten eerste tonen we het gemiddelde-algoritme in figuur 6.9. We zien dat de transporttijd begint te stijgen vanaf 23:10, net voor de echte start van het optreden, en niet wanneer hij gepland stond om op te treden. Dit kan misschien zijn doordat de meeste mensen nog bij andere artiesten bleven totdat men de stroom van mensen zag toenemen. We zien immers dat de tijd ook ineens vijf minuten stijgt bij de eerste stijging. Daarna blijft de transporttijd stijgen tot ongeveer 23:40, waar deze terug daalt richting de baseline. Daarna blijft de transporttijd boven de baseline, maar beginnen de tijden meer variatie te tonen. Dit komt doordat er op deze tijdstippen minder mensen gevonden werden die van de ingang naar de Main Stage wandelden, wat kan kloppen aangezien de artiest op dat moment al bezig is en de meeste fans er dan al zijn.
Deel 2: Impact van draadloze netwerken op privacy
83
Figuur 6.9: Grafiek die de tijden voorstelt van de ingang naar de Mainstage, waar Eminem om 22:45 gepland stond om te optreden, gegenereerd met het mediaanalgoritme. De stijgingen zijn groot en plots, zoals we zien in de eerste stijging rond 23:10 en de dalingen rond 23:45.
Figuur 6.10 toont het tweede algoritme, dat de outliers verwijdert uit de lijst van tijden. De baseline van dit algoritme ligt al veel hoger dan bij de andere twee, namelijk op 22 minuten. Hierdoor zien we dat het algoritme sneller hogere tijden gaat berekenen dan de andere twee. We zien dat de grafiek ook verschillende keren onder de baseline gaat, iets wat we niet zouden verwachten bij het optreden van een headliner. Daarnaast is ook hier een sprong van vijf minuten die de eerste tijdsverhoging kenmerkt in de grafiek. Daarna blijven de tijden wel op ongeveer dezelfde hoogte en treedt ook de variatie meer en meer op naargelang de tijd vordert.
Figuur 6.10: Grafiek die de tijden voorstelt van de ingang naar de Main Stage, waar Eminem om 22:45 gepland stond om te optreden, gegenereerd met het ”verwijder outliers”-algoritme. De maxima zijn afgevlakt, maar de plotse stijging zien we nog steeds rond 23:10.
Ten slotte hebben we het k-means algoritme in figuur 6.11 getest. Als eerste valt op dat de baseline hier de laagste waarde heeft, namelijk ongeveer 8 minuten. Dit kan komen omdat we veel hoge waardes weggooien, aangezien deze in de hoge-tijden groep terechtkomen en volgens dit algoritme niet bijdragen aan de reistijden.
Deel 2: Impact van draadloze netwerken op privacy
84
Daarnaast gaat de tijd al vroeger stijgen, we zien de eerste sprong al om 22:40, waarna deze wel terug even daalt. Opnieuw krijgen we een kleine sprong om 23:10, en we zien hier al dat de variatie aan het groeien is. Dit kan komen omdat er minder personen naar de Main Stage wandelen als de artiest al bezig is, maar dit kan ook komen doordat het algoritme de tijden in twee groepen opsplitst en enkel de lage-tijden groep in rekening brengt. Wanneer de transporttijd dus in werkelijkheid hoog is, en er toch nog personen zijn die de tocht sneller kunnen wandelen dan het overgrote deel van de mensen, zal dit algoritme toch meer naar een lagere tijd neigen. Dit komt doordat de personen die het traject sneller kunnen afleggen dan de rest, deze tijden naar beneden halen. Dit lijkt ook te kloppen als we naar de tijden vanaf 00:20 zien, waar de variatie kleiner wordt en de reistijden opeens een stuk langer worden. Doordat het algoritme de tijden berekent van personen die het laatste half uur het traject afleggen, kunnen een halfuur lang enkele tijden de reistijden te hard naar beneden halen om een correcte schatting te maken. Daarom is het belangrijk dat het algoritme een afweging maakt tussen de accuraatheid en het aantal benodigde reistijden. Indien men immers over een kortere tijd de reistijden gaat berekenen zal men minder personen vinden die het traject hebben afgelegd, maar eventuele fouten in de reistijden sneller kunnen corrigeren. Het k-means algoritme heeft hier het meeste last van, aangezien het maar een deel van de reistijden gaat gebruiken in zijn berekening en de andere laat vallen.
Figuur 6.11: Grafiek die de tijden voorstelt van de ingang naar de Main Stage, waar Eminem om 22:45 gepland stond om te optreden, gegenereerd met het k-means algoritme. Hier is er een grotere variatie op bepaalde momenten en lijken enkele kleine waardes de grafiek inaccuraat te maken. Eens deze uit de waardes verdwijnen, gedraagt de grafiek zich zoals de andere twee algoritmes.
We hebben hierna nog 3 tijdstippen genomen om de verschillen tussen de algoritmes aan te tonen. Deze stellen de tijden voor van: 1. Vrijdag van 13:00 tot 16:00 2. Zaterdag van 19:30 en 22:30
Deel 2: Impact van draadloze netwerken op privacy
85
De reistijden van vrijdag 13:00 tot 16:00 worden voorgesteld in figuur 6.12, 6.13 en 6.14 voor respectievelijk het mediaan, het verwijder outliers en het k-means algoritme. Als eerste valt opnieuw op dat het k-means algoritme veel lagere tijden berekent dan de andere twee algoritmes. De verlopen van de drie grafieken blijven ongeveer hetzelfde, respectievelijk van de baseline. We zien op dit tijdstip dan ook geen grote veranderingen in de tijden, aangezien het op een namiddag op een festival rustiger is dan op een avond. De artiesten die in deze periode hebben opgetreden zijn: 1. Twenty one pilots - 13:45-14:30 2. Noah and the wale - 15:15-16:00 We zien bij alle algoritmes een stijging bij het optreden van Twenty one pilots. Voor het optreden begint, stijgen de reistijden en blijven deze stijgen tot het optreden een tijdje bezig is. Vanaf dan beginnen ze terug te dalen. Bij de groep Noah and the wale is er minder verschil in reistijden op te merken, maar zien we nog steeds bij allen een stijging voor het optreden begint. Bij het k-means algoritme merken we dit het meest, aangezien de stijging hier niet geleidelijk maar plots gebeurt.
Figuur 6.12: Grafiek die de tijden voorstelt van de ingang naar de Main Stage, op vrijdag tussen 13:00 en 16:00, gegenereerd met het mediaan-algoritme. Er zijn weinig grote variaties in de reistijden, maar degene die we op de grafiek herkennen, kunnen we afschrijven naar het begin van optredens.
Als volgende hebben we de reistijden op zaterdag van 19:30 tot 20:30 genomen. Opnieuw zien we dat de reistijden van het k-means algoritme veel lager liggen dan de andere twee, maar dat er ook meer variatie is. Dit ligt aan het feit dat k-means maar met een deel van de reistijden werkt, en er dus minder accuraatheid ontstaat. In dit tijdsschema treden de volgende artiesten op:
Deel 2: Impact van draadloze netwerken op privacy
86
Figuur 6.13: Grafiek die de tijden voorstelt van de ingang naar de Main Stage, op vrijdag tussen 13:00 en 16:00, gegenereerd met het ”verwijder outliers”-algoritme. De grafiek heeft veel gelijkenissen met de grafiek van het mediaan-algoritme, maar de reistijden stijgen en dalen minder plots.
Figuur 6.14: Grafiek die de tijden voorstelt van de ingang naar de Main Stage, op vrijdag tussen 13:00 en 16:00, gegenereerd met het k-means algoritme. De reistijden zijn het laagst van de drie algoritmes. Daarnaast zien we ook hier veel gelijkenissen met de vorige algoritmes, maar blijven de reistijden over de hele periode het meest stabiel. De stijging naar de maximum reistijd voor deze periode, om 14:00, is een minder sterke stijging dan bij de andere twee algoritmes.
1. Franz Ferdinand - 20:15-21:15 2. The XX - 22:00-23:15 Tot 20:30 zien we ongeveer dezelfde grafieken bij alle algoritmes, namelijk eerst nog een korte stijging in de reistijden, wat we kunnen toeschrijven aan de personen die vooraan willen staan voor het optreden van Franz Ferdinand. Daarna een tijdje geen grote veranderingen in de reistijden, met om 20:30 een daling in de reistijden. Dit zou kunnen komen doordat er op dat moment minder personen naar de Main Stage gingen, waardoor het traject op zich niet meer zo druk was.
Deel 2: Impact van draadloze netwerken op privacy
87
Voor het mediaan- en het ”verwijder outliers”-algoritme zien we daarna twee gelijkaardige bewegingen in de grafiek. Beide stijgen zeer hoog, het mediaan-algoritme zelfs eventjes boven de 30 minuten, en dalen terug. Beide gebeuren zelfs nog voor het volgende optreden is begonnen, wat erop kan wijzen dat de meeste mensen zich op voorhand naar de Main Stage begaven. Aangezien daarna de reistijden terug zakken, gaan we ervan uit dat de stroom van mensen toen gezakt was. Het k-means algoritme geeft voor diezelfde tijdstippen een ander beeld. De stijging in tijd is veel minder fel, en zakt veel sneller terug. Aangezien we in deze tijdstippen variatie hebben, gaan we ervan uit dat er een groot deel van de reistijden groter waren, met een beperkt aantal lagere waardes. Het k-means algoritme gaat de hogere waardes eruit filteren en enkel werken met het beperkt aantal kleinere waardes. Van deze grafiek kunnen we dan afleiden dat er een deel van de mensen toch sneller zijn geraakt dan de andere grafieken doen vermoeden, maar niet alle mensen hebben zich op deze tijd kunnen verplaatsen.
Figuur 6.15: Grafiek die de tijden voorstelt van de ingang naar de Main Stage, op zaterdag tussen 19:30 en 22:30, gegenereerd met het mediaan-algoritme. We zien dat reistijden op verschillende momenten zeer snel stijgen of dalen, met zelfs reistijden die langer zijn dan 30 minuten, wat het gevolg kan zijn dat er een grote groep mensen een langere reistijd hebben gehad.
Op het einde van vrijdag zien we in figuur 6.18 met het k-means algoritme dat de tijden naar beneden gaan wanneer het festival op vrijdag gaat sluiten. Omdat de Main Stage vroeger wordt afgesloten dan de rest van het festival, zien we eerst een piek in de tijden waarin veel mensen zich verplaatsen naar de ingang, waarna de reistijden dalen tot er praktisch geen mensen meer zijn die de verplaatsing maken vanwege het afgesloten terrein. Dit zien we daarnaast ook terugkeren op zaterdag, wanneer het festival stopt (figuur 6.19). De tijden stijgen vanaf het moment dat het laatste optreden op de Main Stage gedaan is, wat om 01:00 uur was.
Deel 2: Impact van draadloze netwerken op privacy
88
Figuur 6.16: Grafiek die de tijden voorstelt van de ingang naar de Main Stage, op zaterdag tussen 19:30 en 22:30, gegenereerd met het ”verwijder outlier”-algoritme. Deze grafiek maakt minder grote sprongen, maar lijkt heel hard op de grafiek van het mediaan-algoritme. De reistijden gaan ook hier heel hoog, met een maximum van 30 minuten.
Figuur 6.17: Grafiek die de tijden voorstelt van de ingang naar de Main Stage, op zaterdag tussen 19:30 en 22:30, gegenereerd met het k-means algoritme. Er zit meer variatie in de tijdstippen van 21:00 tot 22:00, wat het gevolg kan zijn van een groot aantal reistijden die weggefilterd zijn met het k-means algoritme.
6.8
Verdere uitbreidingen
Er zijn verschillende manieren om het algoritme sneller te laten uitvoeren. We kunnen een betere en snellere manier gebruiken om de data naar een server door te sturen, namelijk via een TCP-verbinding. In plaats van telkens twee minuten aan data op te slaan om dan in een keer de data door te sturen naar de server, kunnen we via een TCPverbinding een rechtstreekse connectie maken met de server, waardoor data continu kan doorgestuurd worden naar de server. Hierdoor moeten we niet meer wachten op een pakket dat alle Probe requests tegelijk gaat doorsturen naar de server. Op deze manier krijgen we dus real time informatie door van de detectors, waardoor we niet
Deel 2: Impact van draadloze netwerken op privacy
89
Figuur 6.18: Grafiek die de tijden voorstelt van de Main Stage naar de ingang, wanneer de festivaldag op vrijdag op een einde loopt. Berekend met het k-means algoritme.
Figuur 6.19: Grafiek die de tijden voorstelt van de Main Stage naar de ingang, wanneer de laatste festivaldag op een einde loopt. Berekend met het k-means algoritme. Deze data is de laatste data die we van het festival hebben en om deze reden zien we de tijden niet meer naar beneden gaan.
meer gebonden zijn aan het regelmatig uitvoeren van het algoritme. Een nadeel hiervan is wel het constant gebruik van het netwerk, wat tot eventuele netwerkproblemen kan leiden indien er nog veel activiteit op het netwerk is. Daarnaast hebben we voor dit algoritme gewerkt met tekstbestanden, waarop we al onze bewerkingen gedaan hebben via bestandsysteemfuncties. Door telkens een bestand te openen, te zoeken welke data we kunnen gebruiken en deze data te verwerken, verliezen we veel tijd aan overhead, wat niet gemakkelijk geoptimaliseerd kan worden. Door met een database te werken, kunnen we deze optimaliseren zodat het zoeken en verwerken van data sneller gaat. Ook kan data op deze manier gemakkelijker worden opgevraagd, aangezien er veel gemakkelijker met een database gewerkt kan worden dan met tekstbestanden.
Hoofdstuk 7
Conclusie deel 2 Door alle Probe requests op te vangen die smartphones uitzenden, kunnen we op een groot evenement veel data vergaren. Door detectors op te hangen, krijgen we een volledig beeld van hoelang het duurt om van locatie naar locatie te bewegen, zonder dat de getrackte personen er iets van merken. En aangezien dit volledig anoniem gebeurt, geeft dit enkel voordelen aan de organisatie van een evenement. Het evenement moet wel aangeven dat er anoniem data zal worden vergaard op de evenementslocatie. Om terug te komen op de onderzoeksvraag: ”Hoe accuraat kunnen we reistijden inschatten aan de hand van Probe requests?”, kunnen we zeggen dat we op verschillende momenten van de dag een duidelijk verschil in de verplaatsingstijden zien. Deze kunnen we ook terugleiden naar de starttijd van een optreden. Sommige andere optredens laten helemaal geen verschil in reistijden zien, of een grote variatie ervan, waarvan we dan kunnen afleiden dat de doorstroming zonder problemen is verlopen. We moeten wel oppassen met het vermelden van de accuraatheid, aangezien we geen baseline hebben om te vergelijken. De baseline die wij gecre¨eerd hebben was een gemiddelde van de voorbije 8 uren, maar deze werd gebruikt om plotse steigingen of dalingen op te merken. Om daarnaast een accuraatheid weer te geven van hoeveel seconden/minuten we ernaast hebben berekend met deze berekeningen, is daarom ook geen optie. Ook moeten voor deze manier van werken verschillende detectoren opgehangen worden. Naarmate er meer detectoren opgehangen worden, verkrijgen we een beter beeld van de verplaatsingstijden. Tegelijk moet er geprobeerd worden om het gebied van de detectoren niet met elkaar te laten overlappen, aangezien we dan verplaatsingstijden van 0 seconden krijgen in de overlappping. Op een kleine locatie is deze methode vaak niet de gewenste manier om de verplaatsingtijden te berekenen, maar hoe groter het terrein, hoe nuttiger deze manier van werken wordt, als men de detectoren op de correcte locaties hangt. 91
Deel 2: Impact van draadloze netwerken op privacy
92
Ook het algoritme heeft een invloed op de accuraatheid die we verkrijgen. De mediaan is het simpelste en snelste algoritme, maar bevat weinig logica en zal slechtere data weergeven dan de andere twee algoritmes. Een verbetering hiervan is het ”verwijder outlier”-algoritme, dat extreme waardes die niet thuishoren in de set op voorhand verwijderd. Als laatste is er nog het k-means algoritme, welke de laagste waarden teruggeeft. Dit doet het door de groep met grootste waardes te verwijderen en enkel met een beperkte groep van kleine waardes verder te werken. Hierin ligt meteen ook het nadeel, aangezien als er kleine waardes in de set zitten die geen goed beeld geven van de echte situatie, deze de berekende tijden fel be¨ınvloeden en hierdoor ook foute waardes geven. We denken dat ook voor dit algoritme eventueel een ”verwijder outlier” stap nodig is om extreem kleine waardes te verwijderen. We kunnen met het voorgesteld algoritme een duidelijk verschil in de tijden opmerken wanneer de verplaatsingstijden stijgen of dalen, zoals wanneer een grote artiest op een podium begint te spelen. Daarnaast kunnen de berekende tijden gebruikt worden als indicatie van hoelang de verplaatsingstijden op een gegeven moment zijn, maar ze kunnen niet gebruikt worden om een exacte tijd weer te geven hoelang het duurt om van locatie naar locatie te verplaatsen.
Bibliografie [1] tp link. 150mbps high gain wireless usb adapter specifications. URL http:// compnetworking.about.com/cs/wireless80211/a/aa80211standard.htm.
Be-
zocht op 2015-08-02. [2] Versichele M., R. Huybrechts, T. Neutens, and N. Van de Weghe. Intelligent event management with bluetooth sensor networks. Proceedings of the eighth international conference on intelligent environments, 2012. [3] compnetworking.
Wireless standards - 802.11a, 802.11b/g/n, and 802.11ac,
the 802.11 family explained.
URL http://compnetworking.about.com/cs/
wireless80211/a/aa80211standard.htm. Bezocht op 2015-08-02. [4] PC world.
How safe is wpa2-secured wifi?
URL http://www.pcworld.com/
article/243713/how_safe_is_wpa2_secured_wifi_.html. Bezocht op 2015-0802. [5] Randomkeygen.com. Random key generator. URL http://randomkeygen.com/. Bezocht op 2015-08-02. [6] Scott Manchester. How to use windows connect now to enable simple setup for consumer wi-fi networks. URL http://download.microsoft.com/download/5/b/9/ 5b97017b-e28a-4bae-ba48-174cf47d23cd/CON044_WH06.ppt. Bezocht op 201508-02. [7] DPPreview. Microsoft announces mtp protocol, 2004. URL http://www.dpreview. com/articles/3588914641/microsoft-tech. Bezocht op 2015-08-02. [8] Batcmd. Windows connect now - config registrar - windows 8 service - batcmd.com, nov .
URL http://batcmd.com/windows/8/services/wcncsvc/.
Bezocht op
2015-08-02. [9] Rumkin. Windows connect now usb files generator. URL http://rumkin.com/ tools/wcn. Bezocht op 2015-08-02.
93
Bibliografie
94
[10] Stefan Viehbock. Brute forcing wi-fi protected setup. URL https://sviehb. files.wordpress.com/2011/12/viehboeck_wps.pdf. Bezocht op 2015-08-02. [11] Will Poole. Presentation will poole 2006. URL http://news.microsoft.com/ 2006/05/23/will-poole-winhec-2006/. Bezocht op 2015-08-02. [12] Edimax. N300 multi-function wi-fi router: Three essential networking tools in one. URL http://www.edimax.com/edimax/merchandise/merchandise_detail/ data/edimax/uk/wireless_routers_n300/br-6428ns_v2/. Bezocht op 2015-0802. [13] Wi fi alliance. Wi-Fi Simple Configuration Protocol and Usability Best Practices for the Wi-Fi Protected Setup Program, apr 2011. [14] Kamel Messaoudi.
Wi-fi protected setup (wps).
URL https://briolidz.
wordpress.com/2012/01/10/wi-fi-protected-setup-wps/. Bezocht op 201508-02. [15] Argyris Varalis Leandros Tassiulas Dimitris Zisiadis, Spyros Kopsidas. Enhancing wps security. Wireless Days (WD), 2012 IFIP, pages 1–3, 2012. [16] Wi-Fi Alliance. Wi-fi simple configuration technical specification. URL http: //www.wi-fi.org/. [17] Community. reaver
aanval.
Verzameling van door de community geteste routers op de URL
https://docs.google.com/spreadsheet/lv?key=
0Ags-JmeLMFP2dFp2dkhJZGIxTTFkdFpEUDNSSHZEN3c&type=view&gid=0&f=true& sortcolid=-1&sortasc=true&rowsperpage=250. Bezocht op 2015-08-02. [18] Wikipedia. Diffie–hellman key exchange. URL http://en.wikipedia.org/wiki/ Diffie%E2%80%93Hellman_key_exchange. Bezocht op 2015-08-02. [19] David Adrian, Karthikeyan Bhargavan, Zakir Durumeric, Pierrick Gaudry, Matthew Green, J Alex Halderman, Nadia Heninger, Drew Springall, Emmanuel Thome, Luke Valenta, et al. Imperfect forward secrecy: How diffie-hellman fails in practice. URL https://weakdh.org/imperfect-forward-secrecy.pdf. Bezocht op 2015-08-02. [20] C. Danakis, M. Afgani, G. Povey, and I. Underwood. Using a cmos camera sensor for visible light communication. Globecom Workshops (GC Wkshps), 2012 IEEE, pages 1244 – 1248, 2012. [21] T Komine and M. Nakagawa. Fundamental analysis for visible-light communication system using led lights. Consumer Electronics, IEEE Transactions on (Volume:50 , Issue: 1 ), pages 100 – 107, 2004.
Bibliografie
95
[22] Rajan Sagotra and Reena Aggarwal. Visible light communication. International Journal of Computer Trends and Technology (IJCTT) volume4 Issue4 (2013), pages 906–910, 2013. [23] Shweta Sagar, Deeksha Lal, and Seema Dahiya. Visible light communication. URL http://files.figshare.com/2011197/E11013640.pdf. Bezocht op 2015-08-02. [24] Google.
Chromecast.
URL
http://www.google.be/chrome/devices/
chromecast/. Bezocht op 2015-08-02. [25] howtogeek. Are pc’s dying? of course not and here is why. URL http://www. howtogeek.com/183381/are-pcs-dying-of-course-not-heres-why/.
Bezocht
op 2015-08-02. [26] Samsung.
Samsung
den.
URL
koelkast
met
netwerkmogelijkhe-
http://www.mycolombianrecipes.com/reviews/
samsung-4-door-lcd-refrigerator-with-apps. Bezocht op 2015-08-02. [27] LG. Lg 47lw5600 tv. URL http://www.lg.com/us/tvs/lg-47LW5600-led-tv. Bezocht op 2015-08-02. [28] House
so
green.
Thermostaat
werkverbinding.
URL
met
een
draadloze
net-
http://housesogreen.com/2012/08/
review-lennox-icomfort-wi-fi-thermostat-sonos-for-air-conditioners/. Bezocht op 2015-08-02. [29] Salestores.
Sabio storage cm104-1000.
URL http://salestores.com/
sabiostorage04.html. Bezocht op 2015-08-02. [30] appleinsider.
Mac address randomization joins apple’s heap of ios 8 pri-
vacy improvements.
URL http://appleinsider.com/articles/14/06/09/
mac-address-randomization-joins-apples-heap-of-ios-8-privacy-improvements. Bezocht op 2015-08-02. [31] Julien Freudiger. How talkative is your mobile device?: an experimental study of wi-fi probe requests. In Proceedings of the 8th ACM Conference on Security & Privacy in Wireless and Mobile Networks, page 8. ACM, 2015. [32] Marco V Barbera, Alessandro Epasto, Alessandro Mei, Vasile C Perta, and Julinda Stefa. Signals from the crowd: uncovering social relationships through smartphone probes. In Proceedings of the 2013 conference on Internet measurement conference, pages 265–276. ACM, 2013.
Bibliografie
96
[33] De tijd. Winkels mogen klanten niet bespioneren via wifi. URL http://www.tijd. be/politiek_economie/belgie_algemeen/Winkels_mogen_klanten_niet_ bespioneren_via_wifi.9660014-4002.art?ckc=1&ts=1438247429. Bezocht op 2015-08-02. [34] Tweakers. in
’slimme’
londen,
.
afvalbakken URL
verzamelen
mac-adressen
http://tweakers.net/nieuws/90667/
slimme-afvalbakken-verzamelen-mac-adressen-in-londen.html. Bezocht op 2015-08-02. [35] Tweakers. king
via
Winkels wifi-signalen,
volgen .
je
voetsporen
URL
-
de
opkomst
van
trac-
http://tweakers.net/reviews/3385/
wifi-tracking-winkels-volgen-je-voetsporen.html. Bezocht op 2015-08-02. [36] SecDev. Scapy. URL http://www.secdev.org/projects/scapy/. Bezocht op 2015-08-02.
Auteursrechtelijke overeenkomst Ik/wij verlenen het wereldwijde auteursrecht voor de ingediende eindverhandeling: Wachtwoordconfiguratie en tracering van gebruikers in WiFi netwerken Richting: master in de informatica-multimedia Jaar: 2015 in alle mogelijke mediaformaten, Universiteit Hasselt.
-
bestaande
en
in
de
toekomst
te
ontwikkelen
-
,
aan
de
Niet tegenstaand deze toekenning van het auteursrecht aan de Universiteit Hasselt behoud ik als auteur het recht om de eindverhandeling, - in zijn geheel of gedeeltelijk -, vrij te reproduceren, (her)publiceren of distribueren zonder de toelating te moeten verkrijgen van de Universiteit Hasselt. Ik bevestig dat de eindverhandeling mijn origineel werk is, en dat ik het recht heb om de rechten te verlenen die in deze overeenkomst worden beschreven. Ik verklaar tevens dat de eindverhandeling, naar mijn weten, het auteursrecht van anderen niet overtreedt. Ik verklaar tevens dat ik voor het materiaal in de eindverhandeling dat beschermd wordt door het auteursrecht, de nodige toelatingen heb verkregen zodat ik deze ook aan de Universiteit Hasselt kan overdragen en dat dit duidelijk in de tekst en inhoud van de eindverhandeling werd genotificeerd. Universiteit Hasselt zal wijzigingen aanbrengen overeenkomst.
Voor akkoord,
Vandeven, Roy Datum: 9/09/2015
mij als auteur(s) van de aan de eindverhandeling,
eindverhandeling identificeren en zal uitgezonderd deze toegelaten door
geen deze