Bu sayfada, araç tabanlı bağlama şifreleme başlangıç noktası özelliklerinin nasıl etkinleştirileceği açıklanmaktadır.
Genel Bakış
Araç bağlama başlangıç noktası özelliğinin birincil amacı, aşağıdakileri yaparak kullanıcının gizliliğini daha fazla korumaktır: Araç İçi Bilgi-eğlence sistemi (IVI) sistemindeki verileri araçtan kaldırılmaya karşı koruma. Bu depolama şifreleme anahtarlarını başka bir Elektronik Kontrol Birimine (ECU) bağlayarak yapılır. IVI kaldırılır ve başka bir araca yerleştirilir (veya bir test masasına konduğunda), IVI'nın şifresi çözülemiyor.
Vold, dosya şifreleme anahtarlarını bağlamak için anahtar şifrelemeyle araca özel bir başlangıç noktası kullanır
anahtar türetimi sayesinde anahtarlar benzersiz ve fiziksel olarak araca bağlanır. Çekirdek bir bayt dizisidir.
OEM tarafından yeni bir Araç Donanım Soyutlama Katmanı (VHAL) özelliği olarak kullanıma sunuldu.
STORAGE_ENCRYPTION_BINDING_SEED
Bu mülkün izinleri şu şekilde kısıtlanmıştır:
yalnızca ayrıcalıklı sistem arka plan programları tarafından sorgulanabilir.
Mimari şeması
Bu şekilde, araca bağlı entegrasyonun mimarisi gösterilmiştir:
Şekil 1. Araca bağlı mimari.
Araca dayalı bağlamayı etkinleştir
Depolama alanı şifrelemesinin araca bağlanması açıkça etkinleştirilmiş olmalıdır ve etkinleştirilemez cihazın fabrika ayarlarına sıfırlamaması gerekir. Bu, kablosuz (OTA) güncellemenin bu özelliği, cihazı silmeden etkinleştirebilirsiniz. OEM, aşağıdaki durumlarda bu özelliği etkinleştirebilir: cihazı fabrika ayarlarına sıfırladığı takdirde da yeni sürüme geçebilir. Örneğin, hizmet ziyaretinde.
Bu özellik, STORAGE_ENCRYPTION_BINDING_SEED
mülkü desteklenerek etkinleştirilir
tedarikçi tarafından sağlanan araç HAL'sinde yer alır. Bu özellik, 16 bayt uzunluğunda bir bayt dizesi içerir ve
IVI'den ayrı bir ECU'da kalması beklenir. Özellik başlangıçta
Android Automotive OS (AAOS), kriptografik olarak güvenli bir rastgele sayı kullanarak üretir
Oluşturma Aracı (CSRNG). AAOS daha sonra sonraki başlatmalarda özelliği okur.
VHAL'nin, STORAGE_ENCRYPTION_BINDING_SEED
değerini depolama şekli tedarikçiye özgüdür.
Tohumu korumak için genel önerilerimiz vardır:
- (Önerilir) Tohum, fiziksel olarak araçta bulunan bir ECU tarafından depolanır korunuyor. Öyle değilse hem IVI hem de ECU'nun araçtan çekilmesi önemsizdir. kullanabilirsiniz.
- (Önerilen) IVI ve ECU, tohumu değiştirmek için karşılıklı olarak kimlik doğrulaması yapmalıdır. ECU'dan gelen başlangıç noktası için adres sahteciliği isteklerini önler.
- (Önerilir) Tohum, aşağıdaki kriterlere karşı koruma sağlamak için güvenli bir kanal kullanılarak iletilmelidir. CAN veri yolu algılaması.
Ayrıca, init.target.rc
tedarikçisinin
mount_all --late
öncesi late-fs
:
# feed vehicle binding seed to vold
exec_start vold_seed_binding
Araç HAL'si hal now
yerine early_hal
içinde başlatılmalıdır.
early-hal
içinde herhangi bir persist.*
sistem özelliğine erişilemiyor çünkü
/data
bölümü henüz eklenmedi.
Araca dayalı bağlamayı yapılandırın
ECU başlangıç noktası eşleşmezse cihaz, kurtarma işlemi için yeniden başlatılır ve kullanıcıdan
/data
bölümünü inceleyin veya tekrar deneyin.
İstem ve verileri temizleme davranışı şuradan değiştirilebilir: builtins.cpp kodu:
prompt_and_wipe_data
değeriniwipe_data
olarak değiştirin. Cihaz temizlenir ve sonra istem gösterilmeden yeniden başlatılır.- İstem mesajı,
recovery.cpp adresini ziyaret edin.
Şekil 2. İstem mesajı.
Araca dayalı bağlamayı test etme
Örnek testi
Sahte bir test projesi için
packages/services/Car/cpp/security/vehicle_binding_util/tests
Bu örnek testi çalıştırmak için:
attest libvehicle_binding_util_test
Entegrasyon testi
Bir onay testinin sağlandığı yer:
packages/services/Car/cpp/security/vehicle_binding_util/tests
Bu entegrasyon testini çalıştırmak için:
atest vehicle_binding_integration_test