Araca Bağlı Dosya Şifrelemeyi Kullanma

Bu içerik, araç tabanlı bağlama şifreleme çekirdek özelliklerinin nasıl etkinleştirileceğini açıklar.

genel bakış

Araç bağlama tohum özelliğinin birincil amacı, Araç İçi Bilgi-eğlence (IVI) sistemindeki verileri araçtan çıkarmaya karşı koruyarak kullanıcının gizliliğini daha da korumaktır. Bu, depolama şifreleme anahtarlarının başka bir Elektronik Kontrol Ünitesine (ECU) bağlanmasıyla yapılır, böylece IVI çıkarılır ve başka bir araca yerleştirilirse (veya bir test tezgahında çalıştırılırsa), IVI üzerindeki şifreli kullanıcı verilerinin şifresi çözülemez.

Dosya şifreleme anahtarlarını bağlamak için Vold, anahtarların benzersiz ve araca fiziksel olarak bağlı olması için araca özel bir tohum ile anahtar şifreleme anahtarı türetmesini karıştırır. Çekirdek, OEM tarafından STORAGE_ENCRYPTION_BINDING_SEED tarafından yeni bir Araç Donanımı Soyutlama Katmanı (VHAL) özelliği olarak sunulan bir bayt dizisidir. Bu mülkün izinleri, yalnızca ayrıcalıklı sistem arka plan programları tarafından sorgulanabilecek şekilde kısıtlanmıştır.

Mimari diyagramı

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

Şekil 1. Araca bağlı mimari

Araç tabanlı bağlamayı etkinleştirme

Araca depolama şifrelemesinin bağlanması açıkça etkinleştirilmelidir ve fabrika ayarlarına sıfırlama yapılmadan açılıp kapatılamaz. Bu, Havadan (OTA) bir güncellemenin cihazı silmeden özelliği etkinleştiremeyeceği anlamına gelir. Bir OEM, cihazı fabrika ayarlarına sıfırlarsa, yükseltme sırasında özelliği etkinleştirmeyi seçebilir. Örneğin, bir servis ziyaretinde.

Bu özellik, satıcı tarafından sağlanan araç HAL'deki STORAGE_ENCRYPTION_BINDING_SEED özelliği desteklenerek etkinleştirilir. Bu özellik, 16 bayt uzunluğunda bir bayt dizesi tutar ve IVI'dan ayrı bir ECU'da kalıcı olması beklenir. Özellik başlangıçta, onu Kriptografik Olarak Güvenli Rastgele Sayı Üreticisi (CSRNG) kullanarak oluşturan Android Otomotiv İşletim Sistemi (AAOS) tarafından belirlenir. AAOS daha sonra özelliği sonraki önyüklemelerde okur.

VHAL'ın STORAGE_ENCRYPTION_BINDING_SEED değerini nasıl depoladığı satıcıya özeldir. Tohumu korumak için genel önerilerimiz var:

  1. ( Önerilen ) Tohum, fiziksel olarak iyi korunan araçta bir ECU tarafından saklanır. Değilse, hem IVI hem de ECU'nun araçtan çekilmesi önemsizdir.
  2. ( Önerilen ) IVI ve ECU, ECU'dan tohum için sahtekarlık isteklerini önlemek için tohum alışverişi için karşılıklı olarak kimlik doğrulaması yapmalıdır.
  3. ( Önerilen ) Tohum, CAN bus koklamasına karşı koruma sağlamak için güvenli bir kanal kullanılarak iletilmelidir.

Ek olarak, satıcı init.target.rc mount_all --late 'den önce late-fs üzerinde olmasını sağlamak 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 monte edilmediğinden, 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.

Komut istemi ve veri silme davranışı yerleşikler.cpp içinde değiştirilebilir:

  1. wipe_data prompt_and_wipe_data olarak değiştirin. Cihaz silinir ve ardından istem olmadan yeniden başlatılır.
  2. Bilgi istemi mesajı recovery.cpp dosyasında bulunur.

    Şekil 2. İstem mesajı

Araç bazlı bağlamayı test etme

sahte test

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

Bu sahte testi ç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