APK Signature Scheme v3, Anahtar Döndürme desteğiyle geliyor

APK Signature Scheme v3, Android Açık Kaynak Projesinde tespit edildi ve anahtar rotasyonu desteği getiriyor gibi görünüyor.

Bir geliştiriciyseniz veya değiştirilmiş APK dosyalarını derlemeye, değiştirmeye ve/veya yüklemeye herhangi bir şekilde aşina iseniz, muhtemelen uygulama imzalarına aşinasınızdır. Basitçe söylemek gerekirse, Android bir uygulamanın mutlak Sistemin söz konusu uygulamanın güncellenmesine izin vermesi için aynı anahtarla imzalanması gerekir. Android bunu APK imzasını kontrol ederek doğrular.

APK imzaları daha önce bahsettiğimiz, Android'de çok temel bir güvenlik önlemidir. Temel olarak, tüm imzalar belirli bir geliştiriciye veya geliştirici grubuna özeldir; dolayısıyla APK'daki imza/sertifika geçerli değilse veya orijinal uygulamanınkiyle eşleşmezse kurulum başarısız olur, böylece tahrif edilmiş veya sahte APK dosyalarının Android'inize yüklenmesi önlenir cihaz. İmza anahtarlarının doğrulanması ve en sonunda bir uygulama güncellemesinin yayınlanması hayati önem taşıdığından geliştirici tarafından da güvenli bir şekilde saklanması gerekir. Neyse ki, APK'ları imzalamaya yönelik imza şeması, yüksek güvenlik standartlarını korurken kullanışlı bir özellik ekleyen başka bir revizyona (v3) kavuşuyor.


APK İmza Şeması v1 ve v2

Mevcut APK İmza Şeması sürümü v2'nin üzerinden çok uzun zaman geçmedi. geliştiriciler için yayınlandı. Sonuçta, 2016'nın sonunda Android 7.0 Nougat'ın piyasaya sürülmesiyle bize çok az tanıtıldı. Android 7.0+ uygulamalarında v2 imza şemasının kullanılması, bir dizi temel yama ve güncellemeyi beraberinde getirdiği için oldukça teşvik edildi. güvenlik iyileştirmeleri: v1 yalnızca JAR'ı imzalarken, v2 bütünün bütünlüğünü korumaya yönelik ek adımlar atar dosya. İmza şemaları geriye dönük olarak uyumlu değildir ve Android Marshmallow ve daha düşük sürümler, uygulamalar için v1 imzalarını gerektirir.

APK Doğrulama Süreci. Kaynak: Google.

Özellikle Nougat veya üzeri kullanıcılara hizmet vermediğiniz sürece ideal senaryo, her iki imza düzenini de yan yana kullanmak, önce v1 ile imzalayıp ardından v2 ile istifa etmek olacaktır. Bu şekilde Nougat ve üzeri v2 imzasını tanıyacak, Marshmallow ve altı ise v1 imzasını tanıyacaktır.

Bununla birlikte, bir dizi güvenlik açığı ve diğer güvenlik sorunları nedeniyle yalnızca v1'in kullanılması kesinlikle önerilmez; bunlardan en dikkate değer olanı Janus güvenlik açığıSaldırganların imzaları etkilemeden APK'lara doğrudan saldırmasına ve bunları değiştirmesine olanak tanır. Instagram veya Snapchat gibi sık güncellenmeyen popüler uygulamalar yalnızca v1 imzalarıyla imzalanır, bu da söz konusu sorunlara karşı savunmasız oldukları anlamına gelir.

Popüler sosyal medya/ödeme uygulamalarının APK imzalama sürümlerini kontrol etme.

APK İmza Şeması v3

V2'nin revizyonu olması amaçlanan v3'ün en büyük özelliği şu olacak: anahtar döndürme desteği. v3 imza şeması APK Signer Lineage'ı tanıtıyor; taahhütlerden biri, "her atanın soyundan gelenlerin geçerliliğini doğrulayan imza sertifikalarının geçmişini içerir. Her ek alt öğe, bir APK'yı imzalamak için kullanılabilecek yeni bir kimliği temsil eder. Bu şekilde soy, onu içeren APK'nın diğerlerine gösterebileceği bir rotasyon kanıtı içerir. taraflardan biri tarafından imzalanmış gibi, mevcut imzalama sertifikasına güvenilme yeteneği olanlar."

Anahtar rotasyonu, geliştiriciler için çeşitli şekillerde harika bir özelliktir. Yeni başlayanlar için bu, tek bir uygulama üzerinde çalışan ekiplerdeki geliştiriciler için yararlı olabilir; böylece geliştiricilerin imzalama anahtarlarını ekiple paylaşmak zorunda kalmazlar. Uygulamanın güncellenmesi için tam olarak aynı imzaya ihtiyacı olduğundan, tüm uygulamaların şu anda aynı geliştirici veya bir grup tarafından derlenmesi gerekmektedir. geliştiricilerin aynı anahtarla çalışması güvenliği azaltır (anahtarın çalınma olasılığı daha yüksektir) ve geliştirmeyi yavaşlatır.

Ayrıca geliştiricinin imzalama anahtarının çalınması/kaybolması durumunda da yararlı olabilir. normalde uygulamanın farklı bir paket altında Play Store'a yeniden yüklenmesi gerektiği anlamına gelir isim. Bu hiç de alışılmadık bir durum değil, çünkü uzun zaman önce Google bile Google Authenticator uygulamasının imzalama anahtarını kaybetmiş ve bu da uygulamayı farklı bir paket adı altında yeniden yayınlamalarına yol açmıştı. O zamandan bu yana Google, imzalama anahtarlarınızı bulutta güvenli bir şekilde saklamanız için araçlar sağladı. Google Play Uygulama İmzalama, ancak anahtar rotasyonu, varsayımsal bir karışıklık durumunda uygulamanızı güncellemeye devam etmenize olanak tanır.

Ne zaman yayınlanıyor?

Daha fazla rahatlık sağlamak için bunu denemek isteyebilirsiniz, ancak v3 imza şeması AOSP'nin etrafında dolaşırken görüldü. Gerrit Kod İnceleme sitesi ve taahhütlerin kendileri şu anda ana şubeyle birleştirilmedi, bu nedenle henüz hazır değil henüz. Android Nougat'lı önceki v2 sürümü bize bir şey anlatırsa, v3 imza şemasının Android P'nin gelecek sürümüyle birlikte geliştiricilerin eline geçmesini beklemeliyiz.

Ayrıca, büyük olasılıkla v2'ye göre tek farkın anahtar rotasyonu olmadığını da belirtmeliyiz. APK İmza Şeması v3 hala devam eden bir çalışmadır, bu nedenle gelecekte tam belgeler çıktığında v3 imza şemasındaki gerçek iyileştirmeleri göreceğiz.