APK Signature Scheme v3 tulee tukemaan avainten kiertoa

APK Signature Scheme v3 on havaittu Android Open Source Projectissa, ja se näyttää tuovan tuen avainten kiertoon.

Jos olet kehittäjä tai olet jollakin tavalla perehtynyt muokattujen APK-tiedostojen purkamiseen, muokkaamiseen ja/tai asentamiseen, olet todennäköisesti perehtynyt sovellusten allekirjoituksiin. Yksinkertaisesti sanottuna Android vaatii sovelluksen on pakko Allekirjoitettava samalla avaimella, jotta järjestelmä voi päivittää kyseisen sovelluksen. Android varmistaa tämän tarkistamalla APK-allekirjoituksen.

APK-allekirjoitukset ovat hyvin perusturvatoimi Androidissa, josta olemme puhuneet aiemmin. Periaatteessa kaikki allekirjoitukset ovat yksilöllisiä tietylle kehittäjälle tai kehittäjäryhmälle, joten jos APK: n allekirjoitus/varmenne ei ole kelvollinen tai ei vastaa alkuperäisen sovelluksen asennusta, asennus epäonnistuu, mikä estää peukaloitujen tai väärennettyjen APK-tiedostojen asennuksen Android-laitteeseen laite. Kehittäjän on myös säilytettävä allekirjoitusavaimet turvallisesti, koska ne ovat tärkeitä sovelluspäivityksen vahvistamisessa ja lopulta julkaisemisessa. Onneksi APK: iden allekirjoittamisen allekirjoitusjärjestelmä saa uuden version – v3 – joka näyttää lisäävän kätevän ominaisuuden korkeat turvallisuusstandardit säilyttäen.


APK Signature Scheme v1 ja v2

Ei ole kulunut liian kauan nykyisestä APK Signature Scheme -versiosta v2, julkaistiin kehittäjille. Loppujen lopuksi se tuskin esiteltiin meille, kun Android 7.0 Nougat lanseerattiin vuoden 2016 lopussa. V2-allekirjoitusmallin käyttäminen Android 7.0+ -sovelluksissa oli erittäin suositeltavaa, koska se toi mukanaan useita tärkeitä korjaustiedostoja ja tietoturvaparannukset: vaikka v1 allekirjoitti vain JAR: n, v2 ottaa lisätoimia koko paketin eheyden suojaamiseksi tiedosto. Allekirjoitusmallit eivät kuitenkaan ole taaksepäin yhteensopivia, ja Android Marshmallow ja sitä vanhemmat versiot vaativat v1-allekirjoituksia sovelluksille.

APK: n vahvistusprosessi. Lähde: Google.

Ellet palvele erityisesti Nougatin tai uudemman tason käyttäjiä, ihanteellinen skenaario olisi käyttää molempia allekirjoitusmalleja rinnakkain allekirjoittamalla ensin v1:llä ja sitten eroamalla v2:lla. Tällä tavalla Nougat ja uudemmat tunnistavat v2-allekirjoituksen, kun taas Marshmallow ja sitä vanhemmat tunnistavat v1-allekirjoituksen.

Pelkän v1:n käyttöä ei kuitenkaan suositella useiden haavoittuvuuksien ja muiden tietoturvaongelmien vuoksi, joista merkittävin on Januksen haavoittuvuus, jonka avulla hyökkääjät voivat hyökätä suoraan APK: ihin ja muokata niitä allekirjoituksiin vaikuttamatta. Suositut sovellukset, joita päivitetään harvoin, kuten Instagram tai Snapchat, on allekirjoitettu vain v1-allekirjoituksella, mikä tarkoittaa, että ne ovat alttiina näille ongelmille.

Suosittujen sosiaalisen median/maksusovellusten APK-allekirjoitusversioiden tarkistaminen.

APK-allekirjoitusjärjestelmä v3

V3:n suurin otsikkoominaisuus, joka on tarkoitettu v2:n versioksi, tulee olemaan avainten kiertotuki. The v3 allekirjoitusmalli esittelee APK Signer Lineagen, jonka mukaan yksi sitoumuksista, "sisältää historian, jossa jokainen esi-isä on allekirjoittanut varmenteita, jotka todistavat sen jälkeläisen pätevyyden. Jokainen ylimääräinen jälkeläinen edustaa uutta identiteettiä, jota voidaan käyttää APK: n allekirjoittamiseen. Tällä tavoin linja sisältää kiertotodistuksen, jolla sen sisältävä APK voi osoittaa muille osapuolet, sen kyky luottaa nykyiseen allekirjoitusvarmenteeseen, ikään kuin sen olisi allekirjoittanut joku sen vanhempi yhdet."

Avainten kierto on loistava ominaisuus kehittäjille useilla tavoilla. Ensinnäkin tästä voi olla hyötyä kehittäjille, jotka työskentelevät tiimeissä, jotka työskentelevät yhden sovelluksen eteen, joten kehittäjien ei tarvitse jakaa allekirjoitusavaimiaan tiimin kanssa. Koska sovellus tarvitsee täsmälleen saman allekirjoituksen päivitystä varten, kaikki sovellukset on tällä hetkellä käännettävä saman kehittäjän tai ryhmän kehittäjät työskentelevät samalla avaimella, heikentäen turvallisuutta (avaimen varastamisen todennäköisyyttä on enemmän) ja hidastaen kehitystä.

Lisäksi se voi olla hyödyllinen myös silloin, kun kehittäjän allekirjoitusavain varastetaan/kadotetaan, mikä tarkoittaisi normaalisti, että sovellus olisi ladattava uudelleen Play Kauppaan eri paketissa nimi. Tämä ei ole mitenkään harvinainen tapaus, sillä kauan sitten jopa Google ilmeisesti menetti Google Authenticator -sovelluksen allekirjoitusavaimen, minkä seurauksena se julkaisi sen uudelleen eri paketin nimellä. Google on siitä lähtien tarjonnut keinoja tallentaa allekirjoitusavaimesi turvallisesti pilveen Google Play -sovelluksen allekirjoitus, mutta näppäinkierto mahdollistaa sovelluksesi päivittämisen jatkamisen hypoteettisen sotkun sattuessa.

Milloin se otetaan käyttöön?

Vaikka saatat olla innokas kokeilemaan sitä lisämukavuuden vuoksi, v3-allekirjoitusjärjestelmä havaittiin kelluvan AOSP: n ympärillä. Gerrit Code Review -sivusto, ja itse sitoumuksia ei ole yhdistetty päähaaraan juuri nyt, joten se ei ole valmis vain vielä. Meidän pitäisi odottaa v3-allekirjoitusjärjestelmän tulevan kehittäjien käsiin Android P: n tulevan julkaisun myötä, jos edellinen v2-julkaisu Android Nougatin kanssa kertoo meille jotain.

Meidän tulee myös huomata, että avainten kierto ei ole todennäköisesti ainoa ero v2:een verrattuna. APK Signature Scheme v3 on vielä keskeneräinen, joten näemme v3-allekirjoitusjärjestelmän todelliset parannukset, kun sen täydellinen dokumentaatio julkaistaan ​​tulevaisuudessa.