Araca bağlı dosya şifrelemesi kullan

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:

  1. (Ö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.
  2. (Ö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.
  3. (Ö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:

  1. prompt_and_wipe_data değerini wipe_data olarak değiştirin. Cihaz temizlenir ve sonra istem gösterilmeden yeniden başlatılır.
  2. İ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