Araca bağlı dosya şifrelemesini kullan

Bu sayfada araç tabanlı bağlama şifreleme çekirdek özelliklerinin nasıl etkinleştirileceği açıklanmaktadır.

Genel Bakış

Araç bağlama tohumlama özelliğinin temel amacı, Araç İçi Bilgi ve Eğlence (IVI) sistemindeki verileri araçtan çıkarılmaya karşı koruyarak kullanıcının gizliliğini daha da korumaktır. Bu, depolama şifreleme anahtarlarının başka bir Elektronik Kontrol Birimi'ne (ECU) bağlanmasıyla yapılır; böylece IVI çıkarılıp başka bir araca yerleştirilirse (veya bir test tezgahında çalıştırılırsa), IVI'daki şifrelenmiş kullanıcı verilerinin şifresi çözülemez.

Dosya şifreleme anahtarlarını bağlamak için Vold, araca özel bir tohumu anahtar şifreleme anahtarı türetmeyle karıştırır, böylece anahtarlar benzersiz olur ve fiziksel olarak araca bağlanır. Tohum, STORAGE_ENCRYPTION_BINDING_SEED OEM tarafından yeni bir Araç Donanımı Soyutlama Katmanı (VHAL) özelliği olarak kullanıma sunulan bir bayt dizisidir. Bu özelliğin izinleri, yalnızca ayrıcalıklı sistem arka plan programları tarafından sorgulanabilecek şekilde sınırlandırılmıştır.

Mimari diyagramı

Bu şekil araca bağlı entegrasyonun mimarisini göstermektedir:

Şekil 1. Araca bağlı mimari.

Araç tabanlı bağlamayı etkinleştir

Depolama şifrelemesinin araca bağlanması açıkça etkinleştirilmelidir ve fabrika ayarlarına sıfırlama yapılmadan açılıp kapatılamaz. Bu, bir Over-the-Air (OTA) güncellemesinin, cihazı da silmeden bu özelliği etkinleştiremeyeceği anlamına gelir. Bir OEM, cihazı fabrika ayarlarına da sıfırlarsa, yükseltme sonrasında bu özelliği etkinleştirmeyi seçebilir. Örneğin, bir servis ziyaretinde.

Bu özellik, satıcı tarafından sağlanan araç HAL'sindeki STORAGE_ENCRYPTION_BINDING_SEED özelliği desteklenerek etkinleştirilir. Bu özellik, 16 bayt uzunluğunda bir bayt dizisi tutar ve IVI'dan ayrı bir ECU'da kalıcı olması beklenir. Bu özellik başlangıçta, onu Kriptografik Olarak Güvenli Rastgele Sayı Oluşturucu (CSRNG) kullanarak üreten Android Automotive OS (AAOS) tarafından ayarlanır. AAOS daha sonra özelliği sonraki önyüklemelerde okur.

VHAL'in STORAGE_ENCRYPTION_BINDING_SEED değerini nasıl sakladığı satıcıya özeldir. Tohumun korunmasına yönelik genel önerilerimiz var:

  1. ( Tavsiye edilir ) Tohum, araçta fiziksel olarak iyi korunan bir ECU tarafından depolanır. Aksi takdirde hem IVI'nın hem de ECU'nun araçtan çıkarılması önemsizdir.
  2. ( Önerilen ) IVI ve ECU, ECU'dan tohuma yönelik sahtekarlık taleplerini önlemek amacıyla tohum değişimi için karşılıklı olarak kimlik doğrulaması yapmalıdır.
  3. ( Önerilen ) Tohum, CAN veriyolu koklamasına karşı koruma sağlamak için güvenli bir kanal kullanılarak iletilmelidir.

Ayrıca, init.target.rc satıcısının mount_all --late öncesinde late-fs üzerinde olduğundan emin olmak için aşağıdakileri ekleyin:

# feed vehicle binding seed to vold
exec_start vold_seed_binding

Araç HAL'ı hal now yerine early_hal başlatılmalıdır. /data bölümü henüz bağlanmadığından herhangi bir persist.* sistem özelliğine early-hal erişilemez.

Araç tabanlı bağlamayı yapılandırma

ECU çekirdeği eşleşmezse cihaz kurtarma işlemine yeniden başlar ve kullanıcıdan /data bölümünü silmesini veya yeniden denemesini ister.

Veri istemi ve silme davranışı, builtins.cpp dosyasında değiştirilebilir:

  1. prompt_and_wipe_data wipe_data olarak değiştirin. Cihaz herhangi bir uyarı olmadan siler ve ardından yeniden başlatılır.
  2. Bilgi istemi mesajı, Recovery.cpp dosyasında bulunur.

    Şekil 2. Bilgi istemi mesajı.

Araç bazlı bağlamayı test edin

Deneme testi

packages/services/Car/cpp/security/vehicle_binding_util/tests dosyasında bir deneme testi sağlanmaktadır.

Bu deneme testini çalıştırmak için:

attest libvehicle_binding_util_test

Entegrasyon testi

packages/services/Car/cpp/security/vehicle_binding_util/tests içinde bir test testi sağlanır.

Bu entegrasyon testini çalıştırmak için:

atest vehicle_binding_integration_test