Etätodentamisen ohjelmistoparannukset Android-laitteelle
Vaihoja, Juho (2019)
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2019051610247
https://urn.fi/URN:NBN:fi:amk-2019051610247
Tiivistelmä
Työn tavoitteena oli kehittää kolme lisäominaisuutta tietoturvallisen Android-laitteen etätodentamisohjelmistoon. Laitteen etätodentamisohjelmisto sisältää jo laitteen boot- ja factory-levyosioiden sekä tiettyjen hardwareominaisuuksien todentamisen. Lisäominaisuuksien kehittämisen jälkeen laitteen täytyy edellä mainittujen, jo olemassa olevien ominaisuuksien lisäksi pystyä todentamaan tietyillä levyosioilla olevien Android Device Mapper-verity -tiivistepuiden, käyttäjän asentamien sovellusten sekä laitteen laiteohjelmiston eheys. Todentamalla nämä mainitut ohjelmistot voidaan etänä päätellä, onko laitteen ohjelmistoon tehty luvattomia muutoksia.
Työssä tutkittiin etätodentamisessa käytettäviä kryptografisia tiivisteitä ja niiden ominaisuuksia sekä uusien todennettavien kohteiden, Android Verified Boot-, Executable and Linkable Format -tiedostojen ja Androidsovellusten ominaisuuksia. Työssä oli tarkoitus saada laskettua todennettavista ohjelmistoista kryptografiset tiivisteet, täydentää Trusted Platform Modulen Platform Configuration Register -muistirekisterit kyseisillä tiivisteillä ja palauttaa rekisterien arvot todennusvastauksessa laitehallintaohjelmiston palvelimelle. Lisäksi laiteohjelmiston ja asennettujen sovellusten todennustapauksissa täytyy luoda erillinen lista, joka sisältää Platform Configuration Register -rekisterin arvot, tiedostot, joista tiivisteet laskettiin ja itse tiedostoista lasketut tiivisteet. Lista liitetään todennusvastaukseen.
Työn toteutuksessa käytettiin C- ja Java-ohjelmointikieliä ja useita työtä helpottavia kirjastoja. Android Device Mapper-verity -tiivistepuun sisältävien Android Verified Boot -levykuvien käsittelyn helpottamiseen käytettiin Androidin libavb-kirjastoa. Laiteohjelmistotiedostot olivat Executable and Linkable Format -tiedostoja ja niiden käsittelyyn käytettiin libelf-kirjastoa. Todennettavista tiedostoista lasketut Secure Hash Algorithm 2 tiivisteet laskettiin OpenSSL-kirjastolla. Kirjastot tarjosivat hyödyllisiä tietueita ja makroja edellä mainittujen tiedostojen käsittelyyn koodissa.
Työn lopputuloksena laitteelle saatiin toimiva, lisäominaisuuksilla täydennetty etätodentamisohjelmisto. Tässä työssä kehitettyjen uusien ominaisuuksien täydentämä etätodentamisohjelmisto lisää laitteen tietoturvaa ja mahdollistaa laitteen paremman hallinnan ja suojan laitteen ohjelmiston luvattomalta muuttamiselta.
Työssä tutkittiin etätodentamisessa käytettäviä kryptografisia tiivisteitä ja niiden ominaisuuksia sekä uusien todennettavien kohteiden, Android Verified Boot-, Executable and Linkable Format -tiedostojen ja Androidsovellusten ominaisuuksia. Työssä oli tarkoitus saada laskettua todennettavista ohjelmistoista kryptografiset tiivisteet, täydentää Trusted Platform Modulen Platform Configuration Register -muistirekisterit kyseisillä tiivisteillä ja palauttaa rekisterien arvot todennusvastauksessa laitehallintaohjelmiston palvelimelle. Lisäksi laiteohjelmiston ja asennettujen sovellusten todennustapauksissa täytyy luoda erillinen lista, joka sisältää Platform Configuration Register -rekisterin arvot, tiedostot, joista tiivisteet laskettiin ja itse tiedostoista lasketut tiivisteet. Lista liitetään todennusvastaukseen.
Työn toteutuksessa käytettiin C- ja Java-ohjelmointikieliä ja useita työtä helpottavia kirjastoja. Android Device Mapper-verity -tiivistepuun sisältävien Android Verified Boot -levykuvien käsittelyn helpottamiseen käytettiin Androidin libavb-kirjastoa. Laiteohjelmistotiedostot olivat Executable and Linkable Format -tiedostoja ja niiden käsittelyyn käytettiin libelf-kirjastoa. Todennettavista tiedostoista lasketut Secure Hash Algorithm 2 tiivisteet laskettiin OpenSSL-kirjastolla. Kirjastot tarjosivat hyödyllisiä tietueita ja makroja edellä mainittujen tiedostojen käsittelyyn koodissa.
Työn lopputuloksena laitteelle saatiin toimiva, lisäominaisuuksilla täydennetty etätodentamisohjelmisto. Tässä työssä kehitettyjen uusien ominaisuuksien täydentämä etätodentamisohjelmisto lisää laitteen tietoturvaa ja mahdollistaa laitteen paremman hallinnan ja suojan laitteen ohjelmiston luvattomalta muuttamiselta.