
iOS’te araba anahtarı güvenliği
Geliştiriciler, desteklenen bir iPhone ve eşlenmiş Apple Watch ile bir taşıta anahtar olmadan güvenli bir şekilde erişmeyi destekleyebilir.
Taşıt sahibi eşleme
Taşıt sahibinin, taşıt sahibi olduğunu ispat etmesi gerekir (yöntem, araba üreticisine bağlıdır, genellikle bir veya iki uzaktan kumandalı anahtar getirmesi gerekir) ve eşleme işlemini araba üreticisinin uygulamasında, araba üreticisinden aldığı veya taşıtın menüsünde bulunan bir e-posta bağlantısını kullanarak başlatabilir. Tüm durumlarda taşıt sahibinin, iPhone’a gizli, tek kullanımlık bir eşleme parolası girmesi gerekir. Bu parola, aygıt ve taşıt arasında verileri aktarmak üzere Global Platform SCP03 güvenli kanalı yaratmak için NIST P-256 eğrisi ile SPAKE2+ protokolü kullanılarak güvenli bir eşleme kanalı oluşturmak amacıyla kullanılır. Uygulama veya e-posta bağlantısı kullanıldığında bu parola iPhone’a otomatik olarak aktarılır; eşleme taşıttan başlatıldığında ise elle girilmesi gerekir.
Taşıt sahibi eşleme işleminde, taşıt SCP03 kanalı yoluyla aygıtın Secure Element’ine bir Eliptik Eğri Şifreleme (ECC) anahtar çifti oluşturmasını söyleyen bir istek gönderir. Taşıt tanıtıcı ve taşıt genel anahtarı böylece güvenli bir şekilde bu anahtar çiftine bağlanır. Aygıt genel anahtarı (device.PK), üretimde taşıtta gömülü olan araba üreticisinin kök sertifika genel anahtarı (root.PK) ile doğrulanabilir bir sertifika zinciriyle birlikte X.509 sertifika biçiminde taşıta geri gönderilir. Bu, aygıt genel anahtarının taşıt sahibi anahtarı olarak doğrulanmasına ve kabul edilmesine olanak tanır.
Aygıt Secure Element’indeki taşıt sahibi anahtarı aynı zamanda, SCP03 kanalı yoluyla taşıt tarafından sağlanan araba üreticisi root.PK öğesini anahtar paylaşımı için device.PK öğesine güvenle bağlar.
Sigorta amacıyla gerekirse her bir taşıt sahibinin anahtarının araba üreticisinin sunucusuyla kaydedilmesi gerekir. Aygıt kendi device.PK sertifika zincirini anahtar takip sunucusuna (KTS) gönderir, bu da kaydı doğrulamak için yanıt olarak bir imza gönderir. Aygıt imzayı taşıt sahibi eşleme işleminin ya da taşıtla yapılan bir sonraki standart işlemin (aşağıya bakın) sonunda taşıta sunar ve taşıt, KTS imzası başarılı bir şekilde doğrulanmışsa taşıt sahibi anahtarını etkinleştirir. KTS imzası anahtarları araba üreticisinin mülkiyetindedir.
Anahtar paylaşma
Gönderenin iPhone’u e-posta, iMessage, WhatsApp, WeChat veya AirDrop gibi herhangi bir iletişim kanalı yoluyla alıcıya bir davet URL’si göndererek uygun aygıtlarla anahtarları paylaşabilir. URL, alıcıyı IETF özelliğine bağlı olarak uygulanan bir geçiş sunucusundaki gizlilik korumalı bir posta kutusuna yönlendirir. Gizlilik şifreleme anahtarı, paylaşım URL’sinde bir bölüm olarak gönderilir.
Bu işlem sırasında gönderenin iPhone’u Optic ID, Face ID ve Touch ID kullanımları bölümünde açıklandığı şekilde güvenli bir kullanıcı niyeti ve kimlik doğrulama (Face ID, Touch ID veya parola girişi) ister. Gönderen yetkilendirmesi, alıcı aygıtı imzalama isteğini geri döndürdüğünde daha sonra kullanılmak için Secure Element’te geçici olarak saklanır.
Ek güvenlik amacıyla, paylaşılan anahtarı etkinleştirmek için gönderen, alıcının araba üreticisi tarafından desteklenen kullanılabilir etkinleştirme seçeneklerinden birini ya da alıcı aygıtta girilen parolayı kullanmasını gerektirebilir.
Davetin kabul edilmesi üzerine alıcının aygıtı geçiş sunucusu posta kutusundan anahtar yaratma verilerini alır ve CCC Dijital Anahtar Özelliği’ne göre dijital bir anahtar yaratır. Anahtar yaratma işleminin bir parçası olarak anahtar gönderen tarafından imzalanır. Alıcı aygıtı anahtar yaratma sertifika zincirini geçiş sunucusunu kullanarak gönderenin iPhone’una geri gönderir. Gönderenin iPhone’u böylece beklenen sertifika zincirini kullanarak alıcı anahtarının yaratıldığını doğrulamak için Secure Element'te gömülü root.PK öğesini kullanır. Başarılı olursa gönderenin iPhone’u alıcı aygıtının ECC genel anahtarını imzalar ve geçiş sunucusunu kullanarak imzayı alıcıya geri gönderir. İmza, Secure Element’te daha önce saklanan gönderen yetkilendirmesini kullanarak yetkilendirilir.
Anahtar yetkileri ve gönderen imzası paylaşılan anahtarın taşıtta ilk kullanılması sırasında taşıta sağlanır (Standart işlemler konusuna bakın). Yetkiler şunları açıklar:
Erişim düzeyi: Örneğin kilit açma veya sürme.
Yeniden paylaşma ilkesi: Örneğin yeniden paylaşma yok, sınırlı yeniden paylaşma veya sınırsız yeniden paylaşma (paylaşım zinciri uzunluğu açısından).
Bazı araba üreticileri her bir paylaşılan anahtarın araba üreticisinin sunucusuyla kaydedilmesini gerektirir. Gerekiyorsa alıcı aygıtı kendi device.PK sertifika zincirini araba üretisinin KTS’sine gönderir, bu da kaydı doğrulamak için yanıt olarak bir imza gönderir. Alıcı aygıtı bu imzayı taşıtla ilk işlemde taşıta sunar (Standart işlemler konusuna bakın). Taşıt imzayı doğrular ve KTS imzası başarıyla doğrulanmışsa paylaşılan anahtarı etkinleştirir. Bu imza anahtarları araba üreticisinin mülkiyetindedir.
Anahtar silme
Anahtarlar şu şekillerde silinebilir:
Anahtar sahibinin aygıtında
Taşıt sahibinin aygıtından
Doğru yetkilendirmelerle paylaşan bir aygıttan
Taşıtın içindeyken
Anahtar sahibinin iPhone’undaki silme işlemleri, anahtar sahibi anahtarı kullanıyor olsa ya da aygıt internete bağlı olmasa dahi hemen etkili olur.
Taşıttaki anahtarları silmek araba üreticisinin ilkesi takdirinde mümkün olabilir:
Her zaman
Yalnızca taşıt çevrimiçiyken
Yalnızca bir uzaktan kumandalı anahtar varken (anahtardan ayrı kalmasını önlemek için)
Her iki durumda da anahtar sahibinin aygıtında ve taşıtta silme işlemi, araba üreticisi tarafında verilen anahtarları sigorta amacıyla taşıta kaydeden bir KTS’ye bildirilir.
Taşıt sahibi ve uygun kullanıcılar, Apple Cüzdan’daki araba anahtar kartlarının arkasındaki paylaşılan anahtar sahibi hesapları listesindeki kullanıcılar seçip istekte bulunanın özel anahtarı (device.SK) tarafından imzalı uzaktan sonlandırma isteğini kullanarak bir silme isteğinde bulunabilir. İstek önce anahtarın taşıttan silinmesi için araba üreticisine gönderilir. Anahtarın taşıttan silinme şartları araba üreticisi tarafından tanımlanır (yukarıda listelenen şekilde). Yalnızca anahtar taşıttan silindiğinde, araba üreticisi sunucusu anahtar sahibi aygıta imzalı bir uzaktan sonlandırma isteği gönderir.
Anahtar aygıtta sonlandırıldığında, dijital araba anahtarlarını yöneten uygulama şifreli olarak imzalanmış sonlandırma onaylaması yaratır; araba üreticisi tarafından silme kanıtı olarak kullanılan bu onay, anahtarı KIS’den silmek için kullanılır.
Gizlilik
Araba üreticisinin KTS’si aygıt kimliğini, SEID’yi veya Apple Hesabı’nı saklamaz. Yalnızca değişebilir bir tanıtıcı olan örnek CA tanıtıcısını saklar. Bu tanıtıcı, aygıtta veya sunucuda herhangi bir özel veriye bağlı değildir ve kullanıcı Tüm İçerikleri ve Ayarları Sil işlemi başlattığında silinir.
CCC standardı aynı zamanda KTS bilgilerinin araba üreticisi tarafında gizli kalmasını ve yalnızca sigorta veya diğer uygun istekler durumunda kullanılmasını şart koşar.
Aygıt tarafından KTS’ye gönderilen anahtar kayıt verileri (anahtar tanıtıcı, taşıt tanıtıcı, taşıt genel anahtarı, aygıt genel anahtarı sertifika zinciri, anahtar yetkileri) KTS gizlilik şifreleme genel anahtarına karşı şifrelenir. Anahtar kayıt verilerini aygıttan araba üreticisi sunucusuna ileten Apple sunucuları bu verilerin şifresini çözemez. Apple, taşıt sahibinin taşıtının anahtarlarını kiminle paylaştığını bilmez.
Aygıtta kimlik doğrulayamayan herhangi başka bir iPhone veya Apple Watch aksesuarı, NFC veya Bluetooth üzerinden standart veya hızlı bir işlem aracılığıyla sabit bir tanıtıcı alamaz. Aygıt taşıt tanıtıcıyı tanımazsa (örneğin yanlışlıkla anahtar sahibinin taşıtına benzeyen bir taşıta erişmeye çalışırsa), Secure Element’teki uygulama anlamlı anahtarlar veya şifreler yerine rasgele değerler üreten yedek bir anahtar kullanır.
İlk Bluetooth bağlantısı, araba anahtarı paylaşılırken veya araba üreticisi tarafından anahtar takibi isteği yanıtında sağlanan geçici anahtarların kullanılmasıyla korunur.