iOSでの車のキーのセキュリティ
デベロッパは、対応しているiPhoneとペアリングされているApple Watchで車両にアクセスするための安全なキーレスの方法をサポートできます。
オーナーのペアリング
オーナーが自動車メーカーまたは車両のメニューから受け取ったメールのリンクを使用して自動車メーカーのアプリでペアリングプロセスを始めるには、自分がその車両のオーナーであることを証明する必要があります(方法は自動車メーカーによって異なります)。いかなる場合でも、オーナーは秘密の1回限りのペアリングパスワードをiPhoneに提示する必要があります。このパスワードは、SPAKE2+プロトコルとNIST P-256曲線を使用して安全なペアリングチャネルを生成するのに使用されます。アプリまたはメールのリンクを使用するときは、パスワードは自動的にiPhoneに転送されます。車両からペアリングを始めるときは手動で入力する必要があります。
キーの共有
オーナーのペアリングされたiPhoneは、iMessageとApple Identity Service(IDS)を使用してデバイス固有の招待を送ることで、資格のある家族や友達のiPhoneデバイスとキーを共有できます(ペアリングされたApple Watchデバイスとも共有できます)。すべての共有コマンドはエンドツーエンドの暗号化されたIDS機能を使用して交換されます。オーナーのペアリングされたiPhoneは、招待の転送から保護するために、共有プロセス中にIDSチャネルが変わらないようにします。
招待を承諾すると、家族や友達のiPhoneはデジタルキーを作成し、キーが真正のAppleデバイスで作成されたことを検証するために、キー作成証明書チェーンをオーナーのペアリングされたiPhoneに送り返します。オーナーのペアリングされたiPhoneは、家族や友達のiPhoneのECC公開鍵に署名し、その署名を家族や友達のiPhoneに送り返します。オーナーデバイスでの署名操作には、Face ID、Touch IDの用途で説明されているユーザ認証(Face ID、Touch ID、またはパスコード入力)と確実なユーザによる意思表示が必要です。認証は、招待を送るときに要求され、友達のデバイスが署名リクエストを送り返したときに消費用セキュアエレメントに保存されます。キーのエンタイトルメントは、車両OEMサーバによってオンラインで車両に提供されるか、車両の共有キーを初めて使用しているときに車両に提供されます。
キーの削除
キーホルダーデバイスにあるキーは、オーナーデバイスや車両から削除できます。キーホルダーiPhoneでの削除はすぐに実行されます(キーホルダーでキーが使用されている場合でも)。そのため、削除の前に強い警告が表示されます。車両からのキーの削除は、いつでも可能な場合と、車両がオンラインのときにのみ可能な場合があります。
どちらの場合でも、キーホルダーデバイスまたは車両での削除は、自動車メーカー側のキーインベントリサーバ(KIS)に報告されます。サーバは保険の目的で発行済みの車のキーを登録します。
オーナーはオーナーパスの背面から削除を要求できます。この要求は、車両でのキー削除のために最初に自動車メーカーに送信されます。車両からキーを削除するための条件は、自動車メーカーによって定義されています。車両でキーが削除された場合のみ、自動車メーカーからキーホルダーデバイスにリモートの終了リクエストが送信されます。
車両でキーが終了すると、デジタルの車のキーを管理するアプレットにより署名済み終了証明が暗号化されて作成されます。この証明は、自動車メーカーが削除の証明として使用し、KISからキーを削除するために使用します。
NFC標準トランザクション
NFC鍵を使用している車両では、リーダーとiPhone間のセキュアチャネルは、リーダーおよびiPhone側で一時的な鍵ペアを生成することによって開始されます。鍵共有法を使用することで、共有シークレットを両方の側で導出して、Diffie-Hellman、鍵導出関数、およびペアリング時に確立された長期鍵からの署名を使用した共有対称鍵の生成に使用できます。
車両側で生成される一時公開鍵は、リーダーの長期秘密鍵で署名されます。これにより、iPhone側でリーダーが認証されます。iPhone側から見れば、このプロトコルはプライバシーに関わるデータが通信を傍受する敵に暴露されないように設計されています。
最後に、iPhoneは確立されたセキュアチャネルを使用して、その公開鍵識別子を、リーダーのデータ導出チャレンジといくつかのアプリ固有追加データで計算された署名と共に暗号化します。リーダー側は、iPhone署名を検証することにより、デバイスを認証できます。
高速トランザクション
iPhoneは、標準トランザクション中に以前に共有されたシークレットに基づいて暗号文を生成します。この暗号文により、車両はパフォーマンスの影響を受けるシナリオでデバイスを素早く認証できます。必要に応じて、以前に標準トランザクション時に共有されたシークレットと新しい一時鍵のペアからセッション鍵を導出することで、車両とデバイス間にセキュアチャネルが確立されます。車両がセキュアチャネルを確立できれば、車両はiPhoneから認証されたことになります。
BLE/UWB標準トランザクション
UWB鍵を使用している車両では、車両とiPhoneの間でBluetooth LEセッションが確立されます。NFCトランザクションと同様に、共有シークレットが両方の側で導出され、安全なセッションの確立に使用されます。このセッションは、UWB測距秘密鍵(URSK)を導出して合意するために使用されます。URSKは、ユーザのデバイスと車両のUWB無線に対して、ユーザのデバイスが車両の近くまたは車両内のどこにあるかを正確に測定するために提供されます。車両はデバイスの位置を使用して、車両のロック解除または起動を許可するかどうかを判断します。URSKにはあらかじめTTLが定義されています。TTLの期限が切れたときに測距が中断するのを回避するために、安全な測距はアクティブでないけれどもBLEが接続されている間に、デバイスSEと車両HSM/SEでURSKをあらかじめ導出しておくことができます。これにより、標準トランザクションが時間の限られた状況で新しいURSKを導出する必要がなくなります。あらかじめ導出されたURSKを車とデバイスのUWB無線に素早く転送することで、UWB測距の中断を回避できます。
プライバシー
自動車メーカーのキーインベントリサーバ(KIS)には、デバイスID、SEID、またはApple IDは保存されません。保存されるのは更新可能識別子(インスタンスCA識別子)のみです。この識別子はデバイス内またはサーバ側の個人データに紐づけられておらず、ユーザが「すべてのコンテンツと設定を消去」を使用してそのデバイスを完全にワイプすると削除されます。