Bu sayfada, araca dayalı bağlama şifreleme başlangıç noktası özelliklerinin nasıl etkinleştirileceği açıklanmaktadır.
Genel Bakış
Araç bağlama tohumu özelliğinin birincil amacı, araç içi bilgi-eğlence (IVI) sistemindeki verileri araçtan kaldırılmaya karşı koruyarak kullanıcının gizliliğini daha da korumaktır. Bu işlem, depolama şifreleme anahtarlarının başka bir elektronik kontrol ünitesine (ECU) bağlanmasıyla yapılır. Böylece, IVI kaldırılıp başka bir araca yerleştirilirse (veya bir test tezgahında çalıştırılırsa) IVI'deki şifrelenmiş kullanıcı verilerinin şifresi çözülemez.
Vold, dosya şifreleme anahtarlarını bağlamak için anahtar şifreleme anahtarı türetme işlemine araca özgü bir tohum ekler. Böylece anahtarlar benzersiz olur ve fiziksel olarak araca bağlanır. Tohum, OEM tarafından yeni bir araç donanım soyutlama katmanı (VHAL) mülkü olarak sunulan bir bayt dizisidir (STORAGE_ENCRYPTION_BINDING_SEED
). Bu mülkün izinleri, yalnızca ayrıcalıklı sistem daemon'ları tarafından sorgulanacak şekilde kısıtlanmıştır.
Mimari şeması
Bu şekilde, araca bağlı entegrasyon mimarisi gösterilmektedir:
Şekil 1. Araca bağlı mimari.
Araca dayalı bağlamayı etkinleştirme
Depolama alanı şifrelemesinin araca bağlanması açıkça etkinleştirilmelidir ve fabrika ayarlarına sıfırlama işlemi yapılmadan etkinleştirilemez veya devre dışı bırakılamaz. Bu, kablosuz (OTA) güncellemenin, cihazı silmeden özelliği etkinleştiremeyeceği anlamına gelir. OEM'ler, yükseltme işlemi sırasında cihazı fabrika ayarlarına sıfırlayarak bu özelliği etkinleştirebilir. Örneğin, servis ziyaretinde.
Bu özellik, tedarikçi firma tarafından sağlanan araç HAL'inde STORAGE_ENCRYPTION_BINDING_SEED
mülkünün desteklenmesi ile etkinleştirilir. Bu mülk, 16 bayt uzunluğunda bir bayt dizesi içerir ve IVI'den ayrı bir ECU'da kalıcı olarak depolanması beklenir. Mülk başlangıçta Android Automotive OS (AAOS) tarafından ayarlanır. AAOS, mülkü Kriptografik Olarak Güvenli Rastgele Sayı Oluşturucu (CSRNG) kullanarak oluşturur. Ardından AAOS, sonraki önyüklemelerde mülkü okur.
VHAL'ın STORAGE_ENCRYPTION_BINDING_SEED
değerini nasıl depoladığı satıcıya özgüdür.
Tohumu korumayla ilgili genel önerilerimiz:
- (Önerilir) Tohum, araçtaki fiziksel olarak iyi korunan bir ECU tarafından depolanır. Aksi takdirde hem IVI hem de ECU'nun araçtan çıkarılması çok kolaydır.
- (Önerilir) IVI ve ECU, ECU'dan tohum için adres sahteciliği isteklerini önlemek amacıyla tohumu paylaşmak için karşılıklı olarak kimlik doğrulaması yapmalıdır.
- (Önerilir) CAN veri yolu dinleme işlemlerine karşı koruma sağlamak için tohum, güvenli bir kanal kullanılarak iletilmelidir.
Ayrıca, late-fs
üzerinde init.target.rc
tedarikçi firmanın mount_all --late
'ten önce gelmesini sağlamak için aşağıdakileri ekleyin:
# feed vehicle binding seed to vold
exec_start vold_seed_binding
Araç HAL'i hal now
yerine early_hal
olarak başlatılmalıdır.
/data
bölümü henüz monte edilmediğinden early-hal
'da persist.*
sistem özelliklerine erişilemez.
Araca dayalı bağlamayı yapılandırma
ECU tohumu eşleşmezse cihaz kurtarma modunda yeniden başlatılır ve kullanıcıdan /data
bölümünü silmesini veya tekrar denemesini ister.
İstem ve veri silme davranışı builtins.cpp dosyasında değiştirilebilir:
prompt_and_wipe_data
yerinewipe_data
yazın. Cihaz, silme işlemini tamamladıktan sonra istem göstermeden yeniden başlatılır.- İstem mesajı recovery.cpp dosyasında bulunur.
Şekil 2. İstem mesajı.
Araca dayalı bağlamayı test etme
Test simülasyonu
packages/services/Car/cpp/security/vehicle_binding_util/tests
'te bir örnek test sağlanır.
Bu simülasyon testini çalıştırmak için:
attest libvehicle_binding_util_test
Entegrasyon testi
packages/services/Car/cpp/security/vehicle_binding_util/tests
adresinde bir atest testi sağlanır.
Bu entegrasyon testini çalıştırmak için:
atest vehicle_binding_integration_test