APK parašo schema v3 buvo pastebėta „Android“ atvirojo kodo projekte ir, atrodo, palaiko raktų pasukimą.
Jei esate kūrėjas arba esate bet kokiu būdu susipažinęs su pakeistų APK failų dekompiliavimu, keitimu ir (arba) diegimu, tikriausiai esate susipažinę su programų parašais. Paprasčiau tariant, „Android“ įpareigoja šią programą privalo būti pasirašytas tuo pačiu raktu, kad sistema leistų atnaujinti atitinkamą programėlę. „Android“ tai patvirtina patikrindama APK parašą.
APK parašai yra labai pagrindinė „Android“ saugos priemonė, apie kurią jau kalbėjome anksčiau. Iš esmės visi parašai yra unikalūs tam tikram kūrėjui ar kūrėjų grupei, todėl jei parašas / sertifikatas APK negalioja arba nesutampa su originalia programa, diegti nepavyks, todėl jūsų Android sistemoje nebus galima įdiegti sugadintų ar netikrų APK failų prietaisas. Kūrėjas taip pat turi saugiai saugoti parašo raktus, nes jie yra būtini norint patvirtinti ir galiausiai išsiųsti programos naujinį. Laimei, APK pasirašymo parašo schema įgauna dar vieną versiją – v3 – kuri, atrodo, prideda patogią funkciją išlaikant aukštus saugos standartus.
APK parašo schema v1 ir v2
Nepraėjo per daug laiko nuo dabartinės APK parašo schemos versijos, v2, buvo išleistas kūrėjams. Galų gale, 2016 m. pabaigoje ji mums buvo vos pristatyta, kai buvo paleista „Android 7.0 Nougat“. Naudoti v2 parašo schemą Android 7.0 ir naujesnėse versijose programose buvo labai skatinama, nes ji atnešė daugybę esminių pataisų ir saugumo patobulinimai: nors v1 pasirašė tik JAR, v2 imasi papildomų veiksmų, kad apsaugotų visumos vientisumą failą. Tačiau parašų schemos nėra suderinamos atgal, o „Android Marshmallow“ ir senesnėms programoms reikia v1 parašų.
Jei neaptarnaujate konkrečiai „Nougat“ ar naujesnės versijos naudotojams, idealus scenarijus būtų naudoti abi parašo schemas greta, pirmiausia pasirašant su v1, o paskui atsistatydinus su v2. Tokiu būdu „Nougat“ ir naujesnės versijos atpažins v2 parašą, o „Marshmallow“ ir žemesnės versijos atpažins v1 parašą.
Tačiau naudoti tik v1 labai nerekomenduojama dėl daugybės pažeidžiamumų ir kitų saugumo problemų, iš kurių labiausiai pastebima Janus pažeidžiamumas, kuri leidžia užpuolikams tiesiogiai pulti ir modifikuoti APK nepažeidžiant parašų. Populiarios programos, kurių naujiniai atnaujinami retai, pvz., „Instagram“ ar „Snapchat“, pasirašomos tik v1 parašais, o tai reiškia, kad jos yra pažeidžiamos dėl šių problemų.
APK parašo schema v3
Bus didžiausia v3 antraštė, skirta 2 versijos peržiūrai raktų sukimosi palaikymas. The v3 parašo schema pristato APK Signer Lineage, kuri, anot vienas iš įsipareigojimų,“ yra sertifikatų pasirašymo su kiekvienu protėviu istorija, patvirtinanti jo palikuonio galiojimą. Kiekvienas papildomas palikuonis reiškia naują tapatybę, kurią galima naudoti pasirašant APK. Tokiu būdu linijoje yra sukimosi įrodymas, kuriuo jį turintis APK gali parodyti kitiems gali būti patikėtas dabartiniu pasirašymo sertifikatu, tarsi jį būtų pasirašęs vienas iš senesnių vieni."
Raktų pasukimas yra puiki funkcija kūrėjams keliais būdais. Pradedantiesiems tai gali būti naudinga kūrėjams komandose, kuriančiose vieną programą, todėl kūrėjams nereikės dalytis savo pasirašymo raktais su komanda. Kadangi programai atnaujinti reikia to paties tikslaus parašo, visas programas šiuo metu turi sudaryti tas pats kūrėjas arba grupė kūrėjai dirba su tuo pačiu raktu, mažindami saugumą (didesnė tikimybė, kad raktas bus pavogtas) ir sulėtindami plėtrą.
Be to, tai taip pat gali būti naudinga tuo atveju, jei kūrėjo pasirašymo raktas pavogtas / pamestas, o tai paprastai reikštų, kad programa turi būti iš naujo įkelta į „Play“ parduotuvę naudojant kitą paketą vardas. Tai nėra neįprastas atvejis, nes seniai net „Google“, matyt, prarado „Google Authenticator“ programos pasirašymo raktą, dėl kurio jie iš naujo paskelbė jį kitu paketo pavadinimu. Nuo tada „Google“ suteikė priemones, leidžiančias saugiai saugoti jūsų pasirašymo raktus debesyje „Google Play“ programų pasirašymas, tačiau klavišų pasukimas leistų tęsti programos atnaujinimą, jei kiltų hipotetinė netvarka.
Kada jis išleidžiamas?
Nors galbūt norėsite tai išbandyti dėl papildomo patogumo, v3 parašo schema buvo pastebėta sklandanti aplink AOSP Gerrit Code Review svetainę, o patys įsipareigojimai šiuo metu nebuvo sujungti į pagrindinį filialą, todėl jis nėra paruoštas dar. Turėtume tikėtis, kad v3 parašo schema pateks į kūrėjo rankas su būsimu Android P leidimu, jei ankstesnis v2 leidimas su Android Nougat mums ką nors pasakys.
Taip pat turėtume atkreipti dėmesį, kad klavišų pasukimas, tikėtina, nėra vienintelis skirtumas, palyginti su v2. APK parašo schema v3 vis dar vykdoma, todėl pamatysime tikrus v3 parašo schemos patobulinimus, kai ateityje pasirodys visa jos dokumentacija.