APK Signature Scheme v3 kommer med understøttelse af Key Rotation

click fraud protection

APK Signature Scheme v3 er blevet opdaget i Android Open Source Project, og det ser ud til at understøtte nøglerotation.

Hvis du er en udvikler eller på nogen måde er bekendt med at dekompilere, ændre og/eller installere modificerede APK-filer, er du sikkert bekendt med applikationssignaturer. For at sige det enkelt, kræver Android, at en app skal være signeret med samme nøgle, for at systemet tillader opdatering af den pågældende app. Android bekræfter dette ved at tjekke APK-signaturen.

APK-signaturer er en meget grundlæggende sikkerhedsforanstaltning i Android, som vi har talt om tidligere. Grundlæggende er alle signaturer unikke for en bestemt udvikler eller gruppe af udviklere, så hvis signaturen/certifikatet i en APK ikke er gyldig eller ikke matcher den originale app, vil installationen mislykkes, hvilket forhindrer installationen af ​​manipulerede eller falske APK-filer på din Android enhed. Signaturnøgler skal også opbevares sikkert af udvikleren, da de er afgørende for at verificere og i sidste ende skubbe en appopdatering ud. Heldigvis får signaturskemaet til at signere APK'er endnu en revision - v3 - som ser ud til at tilføje en praktisk funktion og samtidig opretholde høje sikkerhedsstandarder.


APK-signaturskema v1 og v2

Det er ikke længe siden den nuværende APK Signature Scheme version, v2, blev udgivet til udviklere. Det blev trods alt knap introduceret for os med lanceringen af ​​Android 7.0 Nougat i slutningen af ​​2016. Brug af v2-signaturskemaet i Android 7.0+ apps blev stærkt opmuntret, da det medførte en række vigtige programrettelser og sikkerhedsforbedringer: mens v1 kun signerede JAR, tager v2 yderligere skridt til at beskytte helhedens integritet fil. Signaturordninger er dog ikke bagudkompatible, og Android Marshmallow og lavere kræver v1-signaturer til apps.

APK-valideringsproces. Kilde: Google.

Medmindre du specifikt henvender dig til brugere på Nougat eller højere, ville det ideelle scenarie være at bruge begge signaturordninger side om side, ved først at signere med v1 og derefter opsige med v2. På denne måde vil Nougat og højere genkende v2-signaturen, mens Marshmallow og lavere genkender v1-signaturen.

Brug kun v1 frarådes dog kraftigt på grund af en række sårbarheder og andre sikkerhedsproblemer, hvoraf de mest bemærkelsesværdige er Janus-sårbarheden, som giver angribere mulighed for direkte at angribe og ændre APK'er uden at påvirke signaturer. Populære apps med sjældne opdateringer som Instagram eller Snapchat er kun signeret med v1-signaturer, hvilket betyder, at de er sårbare over for disse problemer.

Tjek APK-signeringsversionerne af populære sociale medier/betalingsapps.

APK-signaturskema v3

Den største overskriftsfunktion ved v3, der skulle være en revision af v2, vil være støtte til nøglerotation. Det v3 signaturskema introducerer APK Signer Lineage, som iflg en af ​​forpligtelserne, "indeholder en historie med underskrivelse af certifikater med hver forfader, der attesterer gyldigheden af ​​dens efterkommer. Hver yderligere efterkommer repræsenterer en ny identitet, der kan bruges til at signere en APK. På denne måde indeholder slægten et rotationsbevis, som APK'en, der indeholder den, kan demonstrere for andre parter, dets evne til at blive betroet med sit nuværende signeringscertifikat, som om det var underskrevet af en af ​​dets ældre dem."

Nøglerotation er en fantastisk funktion for udviklere på flere måder. For det første kan dette være nyttigt for udviklere på teams, der arbejder hen imod en enkelt app, så udviklere behøver ikke at dele deres signeringsnøgler med teamet. Da appen har brug for den samme nøjagtige signatur til opdatering, skal alle apps i øjeblikket kompileres af den samme udvikler eller en gruppe af udviklere, der arbejder med den samme nøgle, mindsker sikkerheden (der er flere chancer for, at nøglen bliver stjålet) og bremser udviklingen.

Ydermere kan det også være nyttigt i tilfælde af, at en udvikler får stjålet/tabt sin signeringsnøgle, hvilket ville normalt betyde, at appen skulle genuploades til Play Butik under en anden pakke navn. Dette er slet ikke et usædvanligt tilfælde, da selv Google tilsyneladende mistede signeringsnøglen til Google Authenticator-appen, hvilket førte til, at de genudgav den under et andet pakkenavn. Google har siden da leveret midler til sikkert at opbevare dine signeringsnøgler i skyen med Google Play App Signing, men nøglerotation vil give dig mulighed for at fortsætte med at opdatere din app i tilfælde af et hypotetisk rod.

Hvornår ruller den ud?

Selvom du måske er ivrig efter at prøve det af for den ekstra bekvemmelighed, blev v3-signaturskemaet set flydende rundt i AOSP Gerrit Code Review site, og selve commits er ikke blevet slået sammen i hovedgrenen lige nu, så den er ikke klar bare endnu. Vi bør forvente, at v3-signaturordningen kommer til udviklerens hænder med den kommende udgivelse af Android P, hvis den tidligere v2-udgivelse med Android Nougat fortæller os noget.

Vi bør også bemærke, at nøglerotation højst sandsynligt ikke er den eneste forskel i forhold til v2. APK Signature Scheme v3 er stadig et igangværende arbejde, så vi vil se de faktiske forbedringer af v3 signaturordningen, når den fulde dokumentation for det udkommer i fremtiden.