Android aygıtlarında güvenlik
Adobe AIR 2.5 ve üstü
Tüm bilgisayar aygıtlarında olduğu gibi Android'de AIR yerel güvenlik modeline uyum sağlar. Aynı zamanda, AIR kendi güvenlik kurallarını da korur. Bunların amacı geliştiricilerin güvenli, İnternete bağlı uygulamalar yazmasını kolaylaştırmaktır.
Android'deki AIR uygulamaları Android paketi biçimini kullandığından yükleme Android güvenlik modeli altındadır. AIR uygulaması yükleyicisi kullanılmaz.
Android güvenlik modelinin üç ana yönü vardır:
Android izinleri
Android'in birçok özelliği işletim sistemi izin mekanizması tarafından korunur. Korunan bir özelliği kullanmak için AIR uygulama açıklayıcısı uygulamanın gerekli izni gerektirdiğini belirtmelidir. Bir kullanıcı uygulamayı yüklemeyi denediğinde, Android işletim sistemi yüklemeye devam etmeden önce tüm istenen izinleri kullanıcıya gösterir.
Çoğu AIR uygulamasının uygulama açıklayıcısında Android izinleri belirtmesi gerekir. Varsayılan olarak izinler dahil edilmez. AIR çalışma zamanı ile kullanılan korunan Android özellikleri için aşağıdaki izinler gereklidir:
- ACCESS_COARSE_LOCATION
- Geolocation sınıfı aracılığıyla uygulamanın WIFI ve hücresel ağ konumu verilerine erişmesine izin verir.
- ACCESS_FINE_LOCATION
- Uygulamanın Geolocation sınıfı aracılığıyla GPS verilerine erişmesine izin verir.
- ACCESS_NETWORK_STATE ve ACCESS_WIFI_STATE
- Uygulamanın NetworkInfo sınıfının ağ bilgilerine erişmesine izin verir.
- CAMERA
- Uygulamanın kameraya erişmesine izin verir.
- INTERNET
- Uygulamanın ağ isteği yapmasına izin verir. Ayrıca uzaktan hata ayıklamaya izin verir.
- READ_PHONE_STATE
- AIR çalışma zamanının gelen çağrı olması durumunda sesi kapatmasına izin verir.
- RECORD_AUDIO
- Uygulamanın mikrofona erişmesine izin verir.
- WAKE_LOCK ve DISABLE_KEYGUARD
- Uygulamanın SystemIdleMode sınıfı ayarlarını kullanarak aygıtın uyku moduna girmesini engellemesine izin verir.
- WRITE_EXTERNAL_STORAGE
- Uygulamanın aygıttaki harici bellek kartına yazmasına izin verir.
Uygulama imzaları
Android platformu için oluşturulan tüm uygulama paketleri imzalanmalıdır. Android'deki AIR uygulamaları yerel Android APK biçiminde paketlendiğinden, AIR kuralları yerine Android kurallarına göre imzalanır. Android ve AIR kod imzalamayı benzer şekilde kullansa da önemli farklılıklar vardır:
Android'de imza özel anahtara geliştiricinin sahip olduğunu doğrular ancak geliştiricinin kimliğini doğrulamak için kullanılmaz.
Android pazarına gönderilmiş uygulamalar için sertifika en az 25 yıl geçerli olmalıdır.
Android paket imzasının başka bir sertifikaya taşınmasını desteklemez. Bir güncelleme farklı bir sertifika tarafından imzalıysa, kullanıcıların güncellenmiş uygulamayı yükleyebilmeleri için orijinal uygulamayı kaldırmaları gerekir.
Aynı sertifikaya sahip iki uygulama birbirlerinin önbelleğine ve veri dosyalarına erişmelerine izin veren ortak bir kimlik belirtebilirler. (AIR bu tarz bir paylaşım sunmaz. )
Uygulama kullanıcısı kimlikleri
Android Linux çekirdeği kullanır. Yüklü her uygulamaya dosya erişimi gibi işlemler için izinlerini belirleyen Linux türü bir kullanıcı kimliği atanır. Uygulamadaki, uygulama deposundaki ve geçici dizinlerdeki dosyalara erişim dosya sistemi izinleri tarafından korunur. Harici depoya yazılan dosyalar (diğer bir deyişle SD karta) SD kartı bilgisayara yığın depolama aygıtı olarak takıldığında diğer uygulamalar veya kullanıcı tarafından okunabilir, değiştirilebilir ve silinebilir.
İnternet istekleriyle alınan tanımlama bilgileri AIR uygulamaları arasında paylaşılmaz.
Android'de şifrelenmiş veriler
Android'deki AIR uygulamaları şifrelenmiş verileri kaydetmek için yerleşik SQL veri tabanında bulunan şifreleme seçeneklerini kullanabilir. EncryptedLocalStore sınıfı mobil aygıtlarda desteklenmez.