Google, Android Özel Korumalı Alanı için SDK Çalışma Zamanı tasarım önerisini ayrıntılarıyla anlatıyor

Google, SDK Çalışma Zamanı tasarım teklifiyle ilgili bazı ayrıntılar verdi. SDK Çalışma Zamanı, Android Özel Korumalı Alanının bir parçasını oluşturur.

Son zamanlarda hem Apple'ın hem de Google'ın, reklamlar söz konusu olduğunda gizliliğe daha duyarlı bir ekosistem yaratmaya çalıştıklarını gördük. Apple'da bu, uygulamaların sizi izlemesini engelleyen bir düğmenin kullanıma sunulmasıyla oldu; Google'da ise bu, Android Özel Korumalı Alan girişimi. Duyuru sırasında bilgi az olsa da, Google'ın reklamcılık ve gizlilik çözümünün bir kısmını kapsayan "SDK Çalışma Zamanı" hakkında daha fazla ayrıntı ortaya çıktı.

Android Özel Korumalı Alanı, Modüler Sistem Bileşenleri olarak dağıtılacak olan iki ana bileşenden (SDK Çalışma Zamanı ve Gizliliği Koruma API'leri) oluşur. Proje Ana Hattı. Google, o zamandan beri SDK Çalışma Zamanı'nı ve bunun kullanıcı gizliliğini nasıl daha da geliştireceğini çevreleyen geliştirici belgelerini yayınladı. Şirket, SDK Runtime'ın üçüncü taraf SDK'ların özel bir çalışma zamanı ortamında çalışmasına izin vereceğini söylüyor.

Android 13, bir uygulamanın kodundan uzakta.

Android'de her uygulama, kendi izinleriyle ve verilen erişime bağlı olarak sisteme değişen erişimlerle bir sanal alanda çalışır. Google'ın belirttiği gibi, "A uygulaması, B uygulamasının verilerini okumak veya telefonu izinsiz aramak gibi kötü niyetli bir şey yapmaya çalışırsa, bunu yapması engellenir çünkü SDK Çalışma Zamanı, üçüncü taraf SDK'ları özel bir çalışma zamanı ortamında, herhangi bir belirli uygulamadan uzakta yürütmek için bu sanal alanı daha da genişletir. uygulama.

SDK Çalışma Zamanı neden var?

Google, reklamveren SDK'larının, ana uygulamanın sanal alanının paylaşılmasının bir sonucu olarak, kötü amaçlı olarak (hatta yanlışlıkla) erişmemesi gereken verileri toplamasını önlemek istiyor. Bir reklam SDK'sı bir uygulamanın içinde yürütüldüğünde, uygulamanın yaptığı her şeye de erişebilir ve bir uygulama geliştiricisi bunun gerçekte ne kadar erişim olduğunun tam olarak farkında olmayabilir. Bu reklamveren kodunu kaldırıp kendi çalışma zamanında çalıştırdığınızda, yalnızca geliştiricinin açıkça kendisiyle paylaştığı verilere erişebilir.

Sonuç olarak Google, SDK Çalışma Zamanının kullanıcı verilerinin toplanması ve paylaşılması konusunda aşağıdaki daha güçlü korumaları ve garantileri sağladığını söylüyor:

  • Değiştirilmiş bir yürütme ortamı
  • SDK'lar için iyi tanımlanmış izinler ve veri erişim hakları

SDK Runtime'ın ilk sürümü, reklam sunumunu, reklam ölçümünü, reklam sahtekarlığını ve kötüye kullanımın tespit edilmesini sağlayan SDK'lar da dahil olmak üzere yalnızca reklamla ilgili SDK'lara odaklanmıştır.

SDK Çalışma Zamanı nasıl çalışır?

Şu anda, SDK çalışma zamanı olmadan, bir uygulama işlemi bir SDK'yı çağıracak ve bu SDK, uygulamanın kodunun geri kalanıyla aynı sanal alan içinde yürütülecektir. Google, geliştiricilerin bunun yerine uygulamanın ön plan sürecinde çalışan bir SDK arayüzüne sahip olmalarını istiyor. ve bu arayüz daha sonra kullanılmakta olan SDK'ya bağlanabilir ve belirli verileri ileri geri paylaşabilir. kullanıldı.

Önce

Sonrasında

"Önce" diyagramı (ilk), SDK çağırma kodunun ve bu koddan çağrıları alan SDK'ların tamamının uygulama sürecinde bulunduğunu gösterir. Bu, SDK'nın uygulamanın erişebildiği tüm verilere erişebileceği anlamına gelir. "Sonra" diyagramı (ikinci), uygulamanın ön plan sürecinde SDK çağırma kodunun SDK arayüzleriyle iletişim kurduğunu gösterir. Bu arayüzler daha sonra SDK'ları çağırmak için bir süreç sınırını geçerek SDK Çalışma Zamanı sürecine girer. Bu, kullanılan SDK'nın yalnızca istediği şeye erişemeyeceği, ona yalnızca birlikte çalıştığı uygulamadan bilgi sağlanabileceği anlamına gelir.

SDK'lar için yeni güvenilir dağıtım modeli

Şu anda, üçüncü taraf SDK'lara sahip bir uygulamayı indirdiğinizde, bunlar geliştirici tarafından Google Play Store'a yüklenen ve dağıtılan uygulamaya dahil edilmektedir. Google bunun yerine telefonunuza bu SDK'ları kullanan bir uygulama yüklediğinizde bu uygulamaların indirilmesini istiyor ayrı ayrı uygulamanın kendisinden. Bu, SDK geliştiricilerinin kalıcı değişiklikler yapabileceği anlamına gelir (yani, API'lerde veya anlamlarını) SDK'larına aktarabilir ve bunları uygulamanın katılımı olmadan cihazlara dağıtabilirsiniz. geliştiriciler.

Buna karşılık, kesintisiz SDK değişiklikleri, beklemeye gerek kalmadan dağıtılabilir veya geri alınabilir uygulama geliştiricilerinin uygulamalarını yeni SDK'larla yeniden oluşturmaları veya son kullanıcıların uygulamalarını güncellemelerini beklemeleri için uygulamalar. API'leri ve bunların anlamlarını değiştiren son değişikliklerin yine de uygulama geliştiricileri tarafından güncellenmesi gerekir; ancak SDK geliştiricileri, en son kırılmayan değişikliklerini alabilirler. Yeni sürümde uygulamalarını ve paketlerini güncellemek için bir uygulama geliştiricisine ihtiyaç duymadan, aynı anda daha fazla kişiye daha hızlı ve daha eşit bir şekilde değişiklik yapar ve düzeltir SDK'dır.

Önce

Sonrasında

"Önce" diyagramı, uygulamaların artık SDK'larla tam olarak nasıl dağıtıldığını gösteriyor. Bunlar bir uygulamada paketlenmiştir ve uygulama, Google Play Store'a gönderilen şeydir. "Sonra" diyagramında, SDK geliştiricileri artık SDK'larını doğrudan uygulamalara koymayacak; bunun yerine SDK geliştiricileri bir SDK yükleyip onu Google Play Store'da yayınlayacaklardı. Google Play Store daha sonra uygulamaların SDK bağımlılıklarıyla birlikte son kullanıcı cihazlarına dağıtımını gerçekleştirecek. Google, diğer mağazalarda da çalışabilecek açık ve genel bir çözüm olduğundan, diyagramlarında kasıtlı olarak "uygulama mağazası" ifadesini kullanıyor.

SDK'ların ve uygulamaların oluşturulma, çalıştırılma ve dağıtılma şekliyle ilgili değişiklikler

SDK Çalışma Zamanına ilişkin ilk teklif, beş temel alanda bir dizi değişiklik önermektedir:

  • Erişim
  • Uygulamak
  • İletişim
  • Gelişim
  • Dağıtım

Google, SDK Çalışma Zamanı için aşağıdaki izin grubunu tanımlamak istiyor:

  • INTERNET: Bir web servisiyle iletişim kurabilmek için internete erişim.
  • ACCESS_NETWORK_STATE: Ağlarla ilgili bilgilere erişin.
  • Erişim izinleri gizliliği koruyan API'lerUygulamalar arası tanımlayıcılara erişim gerektirmeden temel reklamcılık yeteneklerini sağlayan. İzin adları henüz kesinleşmedi ancak bu API'ler, uygulamanın bu izinlere erişimi tarafından kontrol edilecektir.
  • AD_ID: Reklam kimliğini talep edebilme. Bu aynı zamanda uygulamanın bu izne erişimiyle de kontrol altına alınacaktır.
  • BIND_GET_INSTALL_REFERRER_SERVICE: Kullanma yeteneği Google Play Yükleme Yönlendiren API'sı bir uygulamanın kurulumunun kaynağını ilişkilendirmek için.

Şirket ayrıca SDK'ların çalışan bir uygulamanın belleğine olan erişimini sınırlamak istiyor, aynı zamanda bir uygulamanın SDK'nın kendi verilerine erişmesini de engellemek istiyor. Bir uygulama, SDK depolama alanına doğrudan erişemez ve bunun tersi de harici depolamaya izin verilmez. SDK'lara açıktır ve hem tüm SDK'ların erişebildiği depolama alanı hem de belirli bir kişiye özel depolama alanı bulunur SDK'dır.

SDK'ların nasıl çalışacağına gelince, uygulamanın kendisinden biraz daha düşük bir öncelikte çalışacaklar. Yani, bir uygulamanın sistem tarafından kapatılmasını gerektiren bir durum ortaya çıkarsa, SDK Çalışma Zamanı sonlandırıldıktan kısa bir süre sonra uygulamanın sonlandırılma olasılığı çok yüksektir. Aynı anda sona erdirilmemesi veya farklı bir sebebin bulunması halinde teklif, uygulama geliştiricilerine bu istisnayı ele almaları ve SDK'yı yeniden başlatmaları için ilgili yaşam döngüsü geri çağırma yöntemlerini sunar Çalışma süresi. Çalışma zamanı SDK'ları, herhangi bir zamanda kullanıcı bildirimleri göndermek için bildirim API'lerini kullanamayacaktır.

Son olarak Google, bunun herhangi bir uygulama mağazasına özgü olmayan genel bir teklif olduğunu belirtiyor. Muhtemelen Google Play Store'a entegre edilecek olsa da diğer uygulama mağazalarının da benzer bir yapıya sahip olmaması için hiçbir neden yok. Google, aşağıdaki avantajların açık olduğunu söylüyor:

  • SDK'ların kalitesini ve tutarlılığını sağlayın.
  • SDK geliştiricileri için yayını kolaylaştırın.
  • SDK'nın küçük sürüm güncellemelerinin yüklü uygulamalara dağıtımını hızlandırın.

Android Özel Korumalı Alanı umut verici görünüyor

Google'ın yayınlanma zaman çizelgesi, 2022'nin ilk çeyreğinin ilk tasarım önerilerini, tasarım geri bildirimlerini ve yinelemeleri içereceği şeklindedir. Geliştirici önizlemeleri yılın ilerleyen zamanlarında, beta sürümü ise yıl sonunda gelecek. Son olarak 2023'te ölçekli testlerin başladığı görülecek. Bu önizlemeler ve betalar, Android 13'ün yayın temposundan bağımsız olacaktır. Ayrıca kullanıma sunulduktan sonra ayarlar uygulamasında kullanıcıya yönelik kontroller de bulunacak.

Bana göre Android Özel Korumalı Alanı görünüyor Umut verici, ancak bekleyip şirketin bunu nasıl uygulayacağını görmemiz gerekecek. Geliştiricilerin bundan hoşlanmaması veya çözdüğünden daha fazla soruna yol açması tamamen mümkündür. Geliştiricilerin, Android gizliliğinin geleceği konusunda daha iyi bir fikir sahibi olmaları için Google'ın yayınladığı belgeleri okumaları önerilir.

Bu şu anda bir öneridir ve ne olduğuna dair kesin bir bakış açısı değildir. Kesinlikle gelecekteki bir Android sürümünde gerçekleşecek, ancak muhtemelen oldukça yakın bir sonuçla sonuçlanacak. Diğer gelişmeleri takip ediyor olacağız!


Kaynak: Android Geliştirici Belgeleri