Kilit Ekranı

AOSP'nin Kilit ekranının kilidini açma (tuş kilidi) sağlayan varsayılan uygulaması yalnızca birincil ekranda görünür. Android 9 (ve daha düşük), orta ekranlar tek bir dış ekran üzerinde bir kilitleme pencere destekledi. Android 10'da Kilit ekranı, tüm genel ikincil ekranlara genişletilir. Kilit ekranı basit kalır ve ikincil ekranlardan kilit açmayı desteklemez.

İkincil ekranda Şekil 1. Kilit ekranı

Cihaz üreticileri, temel güvenlik gereksiniminin karşılanması koşuluyla, ikincil ekranlar için Kilit ekranlarını uygulayabilir. Cihaz kilitliyken, bilgiler tüm ekranlarda güvenli bir şekilde gizlenmelidir. Cihaz kilitlendiğinde hangi içeriğin gösterilmesi veya gizlenmesi gerektiğine ilişkin yerleşik bir politika veya denetim yoktur. Bu nedenle, kısıtlı erişimi uygulamanın tek güvenli yolu, tüm içeriği Kilit ekranının ve kilitleme pencerelerinin arkasına gizlemektir. Tek istisna açıkça kullanılarak Kilit ekranın üst görüntülenecek seçen uygulamalardır R.attr.showWhenLocked veya Activity.setShowWhenLocked() yöntemleri. Aksi takdirde, halka açık ve özel ekranlardan bilgi sızdırılması için güçlü bir potansiyel vardır.

Görüntüler farklı durumlara (hiç yerleştirilebilir iken ON / OFF ), kilitli devletin bütün ekranlar için geneldir. Herhangi bir cihaz uygulamasında olduğu gibi, bir cihaz kilitlendiğinde (veya kilidi açıldığında) kullanıcı bunu açıkça görmelidir. Örneğin, bir güç düğmesine basmak genellikle bir mobil cihazı kilitler. Bir güç düğmesi ayrıca tüm dahili ve harici ekranları kilitlemelidir.

Kilitleme penceresi SystemUI'ye ait olduğundan, özel ekranlara yerleştirilmez. Özel ekranların sahipleri, bir cihaz kilitlendiğinde pencereleri gizlemekten ve içeriği korumaktan sorumludur. Varsayılan sistem uygulaması sadece görünürlüğü değiştirerek özel ekranlarda faaliyetleri gizler.

uygulama

İkincil ekranlarda kilitleme penceresi olarak uygulanır Sunum pencere KeyguardDisplayManager . Robot 10 değiştirildi KeyguardDisplayManager#mPresentations tüm ikincil taramalarda tüm kilitleme pencere tutan bir dizi. KeyguardDisplayManager da mevcuttur ekranlara değişikliklere yanıt ve tüm ekranları güvenliğini sağlamak için bir gösterge değişikliği dinleyicisi vardır. Saldırganların cihaza fiziksel erişim olsa bile kullanıcı verilerini çıkaramaması için herhangi bir zamanda bağlı tüm ekranları hemen kilitlemek önemlidir.

Kilitleme penceresi tüm kamu ikincil ekranlarda gösterilir (bkz KeyguardDisplayManager#isKeyguardShowable() ). Özel ekran sahipleri, bir cihaz kilitlendiğinde içeriğin güvenliğini sağlamaktan sorumludur.