JavaScript Web Cryptography API
Luoma-aho, Mika (2015)
Luoma-aho, Mika
Metropolia Ammattikorkeakoulu
2015
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201505188702
https://urn.fi/URN:NBN:fi:amk-201505188702
Tiivistelmä
Insinöörityön tavoitteena on analysoida kuinka uusi Web Cryptography API -rajapintamääritys tulee mahdollistamaan tietoturvallisempien selainpohjaisten JavaScript sovellusten toteuttamisen tulevaisuudessa.
Viimeaikaiset kansalaisten tietoturvaan liittyvät paljastukset (mm. Edward Snowdenin paljastama Yhdysvaltain tiedustelupalvelun hyödyntämä laaja valvontakoneisto) sekä viime aikoina tapahtuneet laajamittaiset tietomurrot ovat saaneet kansalaiset huolestuneeksi pilvipalveluihin tallettamansa tiedon tietoturvasta. Tämä asettaa uusia vaatimuksia selainpohjaisen kryptografian ja web-alustan kehittymisen tukemaan uusien kryptografiaa hyödyntävien applikaatioiden tekemistä.
Insinöörityössä tutkittiin, miten uusi Web Cryptography API -rajapintamääritys tulee muuttamaan sitä, kuinka kryptografiaa voidaan toteuttaa selainpohjaisissa sovelluksissa ja kuinka se mahdollistaa uusien kryptografiaa hyödyntävien palveluiden ja sovellusten rakentamisen suoraan JavaScript-ympäristössä.
Työn soveltavassa osassa toteutettiin tietoturvallinen, selainpohjainen sovellus salattujen ja digitaalisesti allekirjoitettujen viestien jakamiseen. Sovelluksessa viestit kulkevat lähettäjältä vastaanottajalle vahvasti salattuna hyödyntäen julkisen avaimen salauksen kryptografiaa, paljastamatta selkokielistä viestiä tai salausavaimia palvelimelle.
Työ paljasti, että Web Cryptography API -spesifikaatio on tärkeä lisäys selainpohjaiselle JavaScriptille ja käytettäessä yhdessä muiden www:n tietoturvaan liittyvien teknologioiden kanssa se mahdollistaa tietoturvallisten selainpohjaisten kryptografiaa hyödyntävien sovelluksien tekemisen. Lisäksi selvisi, että kryptografian oikeanlainen ja tietoturvallinen hyödyntäminen on vaikeaa ja täynnä ongelmakohtia. Ohjelmistokehittäjien tulee perehtyä kryptografiaan liittyvään kirjallisuuteen ymmärtääkseen eri algoritmien ja protokollien vahvuudet ja heikkoudet.
Viimeaikaiset kansalaisten tietoturvaan liittyvät paljastukset (mm. Edward Snowdenin paljastama Yhdysvaltain tiedustelupalvelun hyödyntämä laaja valvontakoneisto) sekä viime aikoina tapahtuneet laajamittaiset tietomurrot ovat saaneet kansalaiset huolestuneeksi pilvipalveluihin tallettamansa tiedon tietoturvasta. Tämä asettaa uusia vaatimuksia selainpohjaisen kryptografian ja web-alustan kehittymisen tukemaan uusien kryptografiaa hyödyntävien applikaatioiden tekemistä.
Insinöörityössä tutkittiin, miten uusi Web Cryptography API -rajapintamääritys tulee muuttamaan sitä, kuinka kryptografiaa voidaan toteuttaa selainpohjaisissa sovelluksissa ja kuinka se mahdollistaa uusien kryptografiaa hyödyntävien palveluiden ja sovellusten rakentamisen suoraan JavaScript-ympäristössä.
Työn soveltavassa osassa toteutettiin tietoturvallinen, selainpohjainen sovellus salattujen ja digitaalisesti allekirjoitettujen viestien jakamiseen. Sovelluksessa viestit kulkevat lähettäjältä vastaanottajalle vahvasti salattuna hyödyntäen julkisen avaimen salauksen kryptografiaa, paljastamatta selkokielistä viestiä tai salausavaimia palvelimelle.
Työ paljasti, että Web Cryptography API -spesifikaatio on tärkeä lisäys selainpohjaiselle JavaScriptille ja käytettäessä yhdessä muiden www:n tietoturvaan liittyvien teknologioiden kanssa se mahdollistaa tietoturvallisten selainpohjaisten kryptografiaa hyödyntävien sovelluksien tekemisen. Lisäksi selvisi, että kryptografian oikeanlainen ja tietoturvallinen hyödyntäminen on vaikeaa ja täynnä ongelmakohtia. Ohjelmistokehittäjien tulee perehtyä kryptografiaan liittyvään kirjallisuuteen ymmärtääkseen eri algoritmien ja protokollien vahvuudet ja heikkoudet.