Cihaz Durumu

Cihaz durumu, yazılımın bir cihaza ne kadar serbestçe aktarılabileceğini ve doğrulamanın zorunlu olup olmadığını gösterir. Cihaz durumları LOCKED ve UNLOCKED . LOCKED cihazlar, cihaza yeni yazılım yüklemenizi engellerken, UNLOCKED cihazlar modifikasyona izin verir.

Bir cihaz açıldığında, önyükleyici ilk olarak cihazın LOCKED veya UNLOCKED olup olmadığını kontrol eder. Bir aygıtın KİLİDİ UNLOCKED ise, önyükleyici kullanıcıya bir uyarı gösterir ve yüklenen işletim sistemi güven kökü tarafından imzalanmamış olsa bile önyüklemeye devam eder.

Cihaz LOCKED ise, önyükleyici cihazın yazılımını doğrulamak için Önyüklemeyi Doğrulama bölümündeki adımları uygular. LOCKED cihazlar yalnızca yüklenen işletim sistemi güven kökü tarafından uygun şekilde imzalanmışsa önyüklenir. Daha fazla ayrıntı için bkz . Önyükleme akışı .

Cihaz durumunu değiştirme

Bir aygıtın durumunu değiştirmek için fastboot flashing [unlock | lock] komutunu kullanın. Kullanıcı verilerini korumak için tüm durum geçişleri veri bölümlerini siler ve veriler silinmeden önce kullanıcı onayı ister.

Kullanıcı kullanılmış bir geliştirme cihazı satın aldığında UNLOCKED LOCKED geçiş beklenir. Cihazın kilitlenmesi sonucunda herhangi bir uyarı olmadığı sürece kullanıcının cihaz üreticisinin ürettiği durumda olduğundan emin olması gerekir. Bir geliştirici, geliştirme amacıyla cihazdaki doğrulamayı devre dışı bırakmak istediğinde, LOCKED UNLOCKED geçiş bekleniyor.

Güvenin Kökü

Güven kökü , cihazda depolanan Android kopyasını imzalamak için kullanılan şifreleme anahtarıdır. Güven kökünün özel kısmı yalnızca cihaz üreticisi tarafından bilinir ve Android'in dağıtım amaçlı her sürümünü imzalamak için kullanılır. Güven kökünün halka açık kısmı cihaza gömülüdür ve kurcalanamayacak bir yerde saklanır (genellikle salt okunur depolama).

Android'i yüklediğinde, önyükleyici orijinalliği doğrulamak için güven kökünü kullanır. Bu işlem hakkında daha fazla ayrıntı için bkz . Önyüklemeyi Doğrulama . Cihazlarda birden fazla önyükleme yükleyicisi bulunabilir ve bu nedenle birden fazla şifreleme anahtarı devrede olabilir.

Kullanıcı tarafından ayarlanabilen güven kökü

Cihazlar isteğe bağlı olarak kullanıcının güven kökünü (örneğin bir ortak anahtar) yapılandırmasına izin verebilir. Cihazlar, yerleşik güven kökü yerine Doğrulanmış Önyükleme için kullanıcı tarafından ayarlanabilen bu güven kökünü kullanabilir. Bu, kullanıcının Doğrulanmış Önyüklemenin güvenlik iyileştirmelerinden ödün vermeden Android'in özel sürümlerini yüklemesine ve kullanmasına olanak tanır.

Kullanıcı tarafından ayarlanabilen güven kökü uygulanırsa, bu şu şekilde yapılmalıdır:

  • Kullanıcı tarafından ayarlanabilen güven kökünü ayarlamak/temizlemek için fiziksel onay gereklidir.
  • Kullanıcı tarafından ayarlanabilen güven kökü yalnızca son kullanıcı tarafından ayarlanabilir. Son kullanıcı cihazı almadan önce fabrikada veya herhangi bir ara noktada ayarlanamaz.
  • Kullanıcı tarafından ayarlanabilen güven kökü, kurcalanmaya karşı korumalı depolama alanında saklanır. Kurcalanmayı belli eden, Android'in verilere müdahale edip etmediğini (örneğin, verilerin üzerine yazılıp yazılmadığını veya değiştirilip değiştirilmediğini) tespit etmenin mümkün olduğu anlamına gelir.
  • Kullanıcı tarafından ayarlanabilen bir güven kökü ayarlanırsa cihazın, yerleşik güven kökü veya kullanıcı tarafından ayarlanabilen güven kökü ile imzalanmış bir Android sürümünün önyükleme yapmasına izin vermesi gerekir.
  • Cihaz, kullanıcı tarafından ayarlanabilen güven kökünü kullanarak her önyükleme yaptığında, kullanıcıya cihazın özel bir Android sürümü yüklediği bildirilmelidir. Örneğin, uyarı ekranları için bkz. Özel anahtar ayarlı LOCKED cihazlar .

Kullanıcı tarafından ayarlanabilen güven kökünü uygulamanın bir yolu, yalnızca cihaz UNLOCKED durumdayken parlatılabilen veya temizlenebilen bir sanal bölüme sahip olmaktır. Google Pixel 2 cihazları bu yaklaşımı kullanır ve sanal bölüme avb_custom_key adı verilir. Bu bölümdeki verilerin formatı avbtool extract_public_key komutunun çıktısıdır. Kullanıcı tarafından ayarlanabilen güven kökünün nasıl ayarlanacağına dair bir örnek:

avbtool extract_public_key --key key.pem --output pkmd.bin
fastboot flash avb_custom_key pkmd.bin

Kullanıcı tarafından ayarlanabilen güven kökü aşağıdakileri vererek temizlenebilir:

fastboot erase avb_custom_key