Sovellustason autentikoiva avaintenvaihto Web of Things -ympäristössä
Jarkko, Virtanen (2014)
Jarkko, Virtanen
2014
Tietotekniikan koulutusohjelma
Tieto- ja sähkötekniikan tiedekunta - Faculty of Computing and Electrical Engineering
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2014-10-08
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tty-201409301461
https://urn.fi/URN:NBN:fi:tty-201409301461
Tiivistelmä
Web of Things -ympäristöjen (WoT) hypertekstimäisen sisällön tuomiseen ympärillemme oleville laitteille kustannustehokkaasti tarvitaan resurssitehokkaita ratkaisuja. Resurssiongelmia helpottamaan on kehitetty resurssirajoitteisille optimoitu tiedonsiirtoprotokolla Constrained Application Protocol (CoAP). CoAP perustuu RESTful-arkkitehtuuriin, joka on kehitetty Hypertext Transfer Protocol (HTTP) -protokollan arkkitehtuurista. Yhteinen arkkitehtuuripohja mahdollistaa edeltävien protokollien välillä tiedonsiirron yhdyskäytävän avulla. HTTP - ja CoAP -protokollien välinen tiedonsiirto on tarpeen WoT-ympäristöjen yleistymisessä, koska suurin osa verkon palvelimien toiminnasta perustuu HTTP-protokollaan. CoAP-asiakkaan tietoturvallisen yhteydenoton HTTP-palvelimelle mahdollistavasta sovellustason yhdyskäytävästä ei kuitenkaan ole toteutusta.
Työssä esitellään edellä mainitut protokollat ja kuvataan niiden keinoja tietoturvasta huolehtimiseen ja soveltuvuuteen toimia yhdyskäytävän läpi. Pyrkimyksenä työssä on toteuttaa turvallinen autentikointi sekä tiedonsiirto asiakkaalta palvelimelle ja takaisin yhdyskäytävän läpi. Reunaehtoina ovat resurssirajoitteisten laitteiden vaatima yksinkertaisuus ja pysyminen kerrosmallien sovellustasolla.
Työssä tutkitaan JavaScript Object Notation (JSON) -notaation ja sen tietoturvaksi kehitetyn JSON Web Token (JWT) -esitysmallin soveltuvuutta edellä selvitettyihin tarpeisiin. Autentikointi toteutetaan 3rd Generation Partnership Project (3GPP):n yleistä autentikointiarkkitehtuuria (GAA) käyttäen, jolloin avaimet saadaan SIM-operaattorilta HTTP-Digest-autentikaatioon perustuvalla AKA-Digest-autentikointitavalla.
Suunnitelmien toimivuuden ja tulevien ongelmien havainnoimiseksi toteutettiin valittuja tekniikoita käyttäen demonstraatio, jonka komponentteja olivat CoAP-asiakas, yhdyskäytävä ja HTTP-palvelin. Toteutukset tehtiin Java-kielellä pyrkien käyttämään valmiita ohjelmistokirjastoja mahdollisuuksien mukaan. Toteutusvaiheessa havaitut ongelmat tulivat Digest-autentikaatio-ohjelmistoista, hajallaan olevasta dokumentaatiosta ja uusien ohjelmistokirjastojen keskeneräisyydestä. Digest-autentikaatiota toteuttavat ohjelmistot toimivat epästandardeilla tavoilla. 3GPP-dokumentit oli kohdennettu organisaatioille ja siten vaikeaselkoisia yksittäiselle lukijalle.
Demonstraatiototeutus havaittiin toimivaksi WoT-ympäristöissä. Toteutuksen ja testauksen aikana syntyi erilaisia ideoita, joiden pohjalta toteutus on jatkokehitettävissä todellisiin ympäristöihin.
Työssä esitellään edellä mainitut protokollat ja kuvataan niiden keinoja tietoturvasta huolehtimiseen ja soveltuvuuteen toimia yhdyskäytävän läpi. Pyrkimyksenä työssä on toteuttaa turvallinen autentikointi sekä tiedonsiirto asiakkaalta palvelimelle ja takaisin yhdyskäytävän läpi. Reunaehtoina ovat resurssirajoitteisten laitteiden vaatima yksinkertaisuus ja pysyminen kerrosmallien sovellustasolla.
Työssä tutkitaan JavaScript Object Notation (JSON) -notaation ja sen tietoturvaksi kehitetyn JSON Web Token (JWT) -esitysmallin soveltuvuutta edellä selvitettyihin tarpeisiin. Autentikointi toteutetaan 3rd Generation Partnership Project (3GPP):n yleistä autentikointiarkkitehtuuria (GAA) käyttäen, jolloin avaimet saadaan SIM-operaattorilta HTTP-Digest-autentikaatioon perustuvalla AKA-Digest-autentikointitavalla.
Suunnitelmien toimivuuden ja tulevien ongelmien havainnoimiseksi toteutettiin valittuja tekniikoita käyttäen demonstraatio, jonka komponentteja olivat CoAP-asiakas, yhdyskäytävä ja HTTP-palvelin. Toteutukset tehtiin Java-kielellä pyrkien käyttämään valmiita ohjelmistokirjastoja mahdollisuuksien mukaan. Toteutusvaiheessa havaitut ongelmat tulivat Digest-autentikaatio-ohjelmistoista, hajallaan olevasta dokumentaatiosta ja uusien ohjelmistokirjastojen keskeneräisyydestä. Digest-autentikaatiota toteuttavat ohjelmistot toimivat epästandardeilla tavoilla. 3GPP-dokumentit oli kohdennettu organisaatioille ja siten vaikeaselkoisia yksittäiselle lukijalle.
Demonstraatiototeutus havaittiin toimivaksi WoT-ympäristöissä. Toteutuksen ja testauksen aikana syntyi erilaisia ideoita, joiden pohjalta toteutus on jatkokehitettävissä todellisiin ympäristöihin.