iOS 中的車匙保安
在受支援的 iPhone 和已配對的 Apple Watch 上,開發者能支援無須鎖匙且安全的方式以取用車輛。
車主配對
車主必須證明擁有車輛(證明方式取決於汽車製造商),並且可以使用從汽車製造商或車輛選單收到的電郵連結在汽車製造商 App 中啟動配對程序。在所有情況下,車主必須向 iPhone 提供保密性的一次性配對密碼,該密碼使用 SPAKE2+ 協定配搭 NIST P-256 曲線來產生安全的配對頻道。使用 App 或電郵連結時,密碼會自動傳送到 iPhone,而從車輛開始配對時必須在其中手動輸入密碼。
鎖匙共享
車主的配對 iPhone 可以藉由使用 iMessage 和「Apple 識別服務(IDS)」傳送特設備專屬的邀請,來與符合條件的家庭成員和朋友的 iPhone 裝置(及其配對的 Apple Watch 裝置)共享鎖匙。所有共享命令都使用點對點加密 IDS 功能進行交換。車主的已配對 iPhone 會確保 IDS 頻道在共享過程中不會更改,以防止邀請被轉發。
接受邀請後,家庭成員或朋友的 iPhone 將製作數碼鎖匙,並將鎖匙製作憑證鏈傳送回車主配對的 iPhone,以驗證鎖匙是在真正的 Apple 裝置上製作的。車主的已配對 iPhone 會在其他家庭成員或朋友 iPhone 的 ECC 公開鎖匙上簽署,然後將簽署傳送回家庭成員或朋友的 iPhone。車主裝置中的簽署操作需要用户認證(Face ID、Touch ID 或密碼輸入)和 Face ID 和 Touch ID 的用途中所述的安全用户意圖。傳送邀請時會要求授權,並在朋友裝置傳回簽署要求時,將其儲存在 Secure Element 中以供使用。鎖匙權限由車輛 OEM 伺服器在網上或在車輛上首次使用共享鎖匙期間提供給車輛。
鎖匙刪除
鎖匙可由車主裝置從鎖匙擁有者裝置中刪除和在車內刪除。即使鎖匙持有者正在使用鎖匙,在鎖匙持有者 iPhone 上進行刪除也會立即生效。因此,刪除前會顯示強烈警吿。可以隨時刪除車輛中的鎖匙,或者只有在車輛在線上時才可以刪除。
在這兩種情況下,鎖匙擁有者裝置或車輛上的刪除操作都會回報給汽車製造商的鎖匙清單伺服器(KIS),該伺服器為保險目的會註冊車輛所使用的已核發鎖匙。
車主可以從車主票證的背面要求刪除。此要求會首先傳送給汽車製造商,以刪除車輛中的鎖匙。從車輛刪除鎖匙的條件由汽車製造商定義。只有當車輛中的鎖匙被刪除時,汽車製造商伺服器才會將遙距終止要求傳送到鎖匙擁有者的裝置。
當鎖匙在裝置中終止時,管理數碼車匙的 Applet 將建立一份加密簽署的終止證明,該證明將被汽車製造商用作刪除證明,並用於從 KIS 移除鎖匙。
NFC 標準異動
針對使用 NFC 鎖匙的車輛,透過在讀取器和 iPhone 端產生臨時密鑰組,可以啟動讀取器和 iPhone 之間的安全頻道。使用密鑰協商方式,可以從兩端衍生共享密鑰,並使用 Diffie-Hellman、密鑰衍生函數和來自在配對過程中所建立的長期密鑰的簽署,來產生共享對稱密鑰。
在車輛端產生的臨時公共密鑰會使用讀取器的長期專用密鑰簽署,進而可以透過 iPhone 對讀取器進行認證。從 iPhone 的角度來看,此通訊協定目的在於防止將私隱敏感資料洩露給攔截通訊的競爭對手。
最後,iPhone 使用已建立的安全頻道,以及根據讀取器的資料衍生質詢所計算出的簽署和一些額外的 App 專屬資料,來加密其公共密鑰識別碼。讀取器對 iPhone 簽署的此驗證可以讓讀取器對裝置進行認證。
快速作業
iPhone 會根據先前在標準作業期間共享的密鑰來產生加密密碼。這組加密密碼使車輛可以在要求高效能的情況下快速驗證裝置。或者,可透過從先前在標準作業期間共享的密鑰和新的臨時密鑰組中衍生出的階段作業密鑰,來建立車輛與裝置之間的安全頻道。車輛建立安全頻道的能力可將車輛認證給 iPhone。
BLE/UWB 標準異動
對於使用 UWB 鎖匙的車輛,會在車輛和 iPhone 之間建立藍牙 LE 階段作業。與 NFC 異動類似,雙方都會衍生出一個共用密鑰,用於建立安全階段作業。該階段作業用於後續衍生和同意 UWB 測距密鑰(URSK)。URSK 會提供給用户裝置和車輛上的 UWB 無線電,以讓用户的裝置能夠準確定位到車輛附近或車輛內部的特定位置。然後,車輛會使用裝置位置來決定是否允許解鎖或發動車輛。URSK 有預先定義的 TTL。為避免在 TTL 到期時中斷測距,在安全測距未啟動但已連接藍牙時,URSK 可以在裝置 SE 和車輛 HSM/SE 中預先衍生。這避免了在時間緊迫的情況下需要標準異動來衍生新的 URSK。預先衍生的 URSK 可以非常快速地傳輸到汽車和裝置的 UWB 無線電,以避免中斷 UWB 測距。
私隱
汽車製造商的鎖匙清單伺服器(KIS)不會儲存裝置 ID、SEID 或 Apple ID,只會儲存可變識別碼、即執行個體 CA 識別碼。此識別碼未綁定到裝置中或伺服器上的任何私人資料,並且在用户完全清除其裝置(使用「清除所有內容和設定」)後會被刪除。