APK paraksta shēma v3 ir pamanīta Android atvērtā pirmkoda projektā, un šķiet, ka tā atbalsta atslēgu rotāciju.
Ja esat izstrādātājs vai kaut kādā veidā pārzināt modificētu APK failu dekompilēšanu, modificēšanu un/vai instalēšanu, iespējams, esat iepazinies ar lietojumprogrammu parakstiem. Vienkārši sakot, Android pieprasa lietotni obligāti jāparaksta ar to pašu atslēgu, lai sistēma varētu atjaunināt attiecīgo lietotni. Android to pārbauda, pārbaudot APK parakstu.
APK paraksti ir ļoti vienkāršs drošības pasākums operētājsistēmā Android, par ko mēs jau runājām iepriekš. Būtībā visi paraksti ir unikāli noteiktam izstrādātājam vai izstrādātāju grupai, tādēļ, ja paraksts/sertifikāts APK failā nav derīgs vai neatbilst oriģinālās lietotnes failam, instalēšana neizdosies, tādējādi novēršot viltotu vai viltotu APK failu instalēšanu jūsu Android ierīcē. ierīci. Izstrādātājam ir arī droši jāglabā paraksta atslēgas, jo tās ir ļoti svarīgas, lai pārbaudītu un galu galā izsūtītu lietotnes atjauninājumu. Par laimi APK parakstīšanas parakstu shēma iegūst jaunu versiju — v3 —, kas, šķiet, pievieno ērtu funkciju, vienlaikus saglabājot augstus drošības standartus.
APK paraksta shēma v1 un v2
Nav pagājis pārāk ilgs laiks kopš pašreizējās APK parakstu shēmas versijas, v2, tika izlaists izstrādātājiem. Galu galā, 2016. gada beigās ar operētājsistēmu Android 7.0 Nougat mēs to tik tikko iepazīstinājām. V2 parakstu shēmas izmantošana Android 7.0+ lietotnēs tika ļoti mudināta, jo tā nodrošināja virkni būtisku ielāpu un drošības uzlabojumi: lai gan v1 parakstīja tikai JAR, v2 veic papildu pasākumus, lai aizsargātu visa integritāti failu. Tomēr parakstu shēmas nav saderīgas, un Android Marshmallow un vecākām versijām ir nepieciešami v1 paraksti lietotnēm.
Ja vien jūs īpaši nerunājat par lietotājiem Nougat vai jaunākā versijā, ideāls scenārijs būtu izmantot abas parakstu shēmas blakus, vispirms parakstot ar v1 un pēc tam atkāpjoties ar v2. Tādā veidā Nougat un jaunākas versijas atpazīs v2 parakstu, savukārt Marshmallow un jaunākas versijas atpazīs v1 parakstu.
Tomēr nav ieteicams izmantot tikai v1, jo pastāv vairākas ievainojamības un citas drošības problēmas, no kurām visievērojamākā ir Janus ievainojamība, kas ļauj uzbrucējiem tieši uzbrukt un modificēt APK, neietekmējot parakstus. Populāras lietotnes ar retiem atjauninājumiem, piemēram, Instagram vai Snapchat, tiek parakstītas tikai ar v1 parakstiem, kas nozīmē, ka tās ir neaizsargātas pret šīm problēmām.
APK parakstu shēma, v3
Vislielākā virsraksta funkcija v3, kas paredzēta v2 versijai, būs taustiņu rotācijas atbalsts. The v3 parakstu shēma ievieš APK Signer Lineage, kas saskaņā ar viena no apņemšanās, "satur sertifikātu parakstīšanas vēsturi ar katru priekšteci, kas apliecina tā pēcnācēja derīgumu. Katrs papildu pēcnācējs apzīmē jaunu identitāti, ko var izmantot, lai parakstītu APK. Tādā veidā izcelsme satur rotācijas pierādījumu, ar kuru to saturošais APK var demonstrēt citiem pusēm, tās spējai uzticēties pašreizējam parakstīšanas sertifikātam, it kā to būtu parakstījis kāds no vecākiem vienus."
Atslēgu rotācija ir lieliska funkcija izstrādātājiem vairākos veidos. Iesācējiem tas var būt noderīgi izstrādātājiem komandās, kas strādā pie vienas lietotnes, tāpēc izstrādātājiem nav jākopīgo parakstīšanas atslēgas ar komandu. Tā kā lietotnes atjaunināšanai ir nepieciešams viens un tas pats precīzs paraksts, visas lietotnes pašlaik ir jāapkopo vienam un tam pašam izstrādātājam vai lietotāju grupai. izstrādātāji strādā ar vienu un to pašu atslēgu, samazinot drošību (pastāv lielāka iespēja, ka atslēga tiks nozagta) un palēninot attīstību.
Turklāt tā var būt noderīga arī gadījumā, ja izstrādātājam tiek nozagta/pazaudēta parakstīšanas atslēga, kas parasti nozīmētu, ka lietotne būtu atkārtoti jāaugšupielādē Play veikalā, izmantojot citu pakotni nosaukums. Šis nav nekas neparasts gadījums, jo sen pat Google acīmredzot pazaudēja lietotnes Google autentifikatora parakstīšanas atslēgu, kā rezultātā tā tika atkārtoti publicēta ar citu pakotnes nosaukumu. Kopš tā laika Google ir nodrošinājis līdzekļus, lai droši glabātu jūsu paraksta atslēgas mākonī Google Play lietotņu parakstīšana, bet taustiņu rotācija ļautu turpināt lietotnes atjaunināšanu hipotētiskas kļūdas gadījumā.
Kad tas tiek izlaists?
Lai gan jūs varētu vēlēties to izmēģināt papildu ērtības labad, v3 parakstu shēma tika pamanīta, peldam ap AOSP Gerrit Code Review vietne, un pašas saistības šobrīd nav apvienotas galvenajā filiālē, tāpēc tā nav gatava vēl. Mums vajadzētu sagaidīt, ka v3 parakstu shēma nonāks izstrādātāju rokās ar gaidāmo Android P izlaidumu, ja iepriekšējais v2 laidiens ar Android Nougat mums kaut ko stāsta.
Jāatzīmē arī, ka taustiņu rotācija, visticamāk, nav vienīgā atšķirība no v2. APK parakstu shēma v3 joprojām tiek izstrādāta, tāpēc mēs redzēsim v3 parakstu shēmas faktiskos uzlabojumus, kad nākotnē būs pieejama visa tās dokumentācija.