
iOS의 차 키 보안
개발자는 지원되는 iPhone과 페어링된 Apple Watch로 실물 키 없이도 안전하게 차량에 접근하도록 지원할 수 있습니다.
소유자 페어링
소유자는 해당 차량의 소유를 증명(자동차 제조업체에 따라 방식이 다르며 보통 한 개 또는 두 개의 키 포브를 지참해야 함)해야 하며 자동차 제조업체에서 받은 이메일 링크를 통해 자동차 제조업체 앱에서 페어링 절차를 시작하거나 차량 메뉴에서 페어링 절차를 시작할 수 있습니다. 모든 경우에, 기기와 차량 간에 데이터를 전송하는 Global Platform SCP03 보안 채널을 생성하기 위해 소유자는 NIST P-256 곡선이 적용된 SPAKE2+ 프로토콜을 통해 보안 페어링 채널을 생성하는 데 사용되는 기밀의 일회성 페어링 암호를 iPhone에 제시해야 합니다. 앱 또는 이메일 링크를 사용하면 자동으로 iPhone에 암호가 전송되지만 차량에서 페어링을 시작하는 경우에는 수동으로 암호를 입력해야 합니다.
소유자가 페어링 과정을 진행하는 중에 차량은 SCP03 채널을 통해 해당 기기의 Secure Element로 명령을 보내 ECC(Elliptic Curve 암호화) 키 페어를 생성하도록 요청합니다. 차량 식별자 및 차량 공개 키는 이 키 페어에 안전하게 바인딩됩니다. 기기 공개 키(device.PK)는 X.509 인증서 형식으로 인증서 체인과 함께 차량에 다시 전송되며, 인증서 체인은 차량 생산 당시 내장된 자동차 제조업체 루트 인증 공개 키(root.PK)로 확인 가능합니다. 이렇게 하면 기기 공개 키를 소유자 키로 확인하고 승인할 수 있습니다.
기기 Secure Element에 있는 소유자의 키는 또한 차량이 SCP03 채널을 통해 제공하는 자동차 제조업체 root.PK를 device.PK에 안전하게 바인딩하여 키를 공유할 수 있습니다.
보험 목적으로 필요한 경우 각 소유자의 키가 자동차 제조업체의 서버에 등록되어 있어야 합니다. 기기에서 device.PK 인증서 체인을 키 추적 서버(KTS)로 보내고, 서버는 서명을 다시 보내 등록을 확인합니다. 기기는 소유자 페어링 과정이 끝날 때 또는 차량과의 다음 표준 트랜잭션(아래 참조) 시점에서 차량에 서명을 제공하며, 차량은 KTS 서명이 성공적으로 확인된 경우 소유자 키를 활성화합니다. KTS 서명 키는 자동차 제조업체의 독점 키입니다.
키 공유
발신자의 iPhone에서 이메일, iMessage, WhatsApp, WeChat 또는 AirDrop과 같은 모든 커뮤니케이션 채널을 통해 수신자에게 초대 URL을 보내 적격한 기기에 키를 공유할 수 있습니다. URL은 수신자를 IETF 명세를 기반으로 구현된 릴레이 서버에 있는 개인정보 보호 메일상자로 안내합니다. 개인 암호화 키는 공유 URL에서 조각으로 전송됩니다.
이 프로세스 중에 발신자의 iPhone은 사용자 인증(Face ID, Touch ID 또는 암호 입력) 및 Optic ID, Face ID 및 Touch ID의 이용에서 설명한 대로 안전한 사용자 의사가 필요합니다. 발신자 승인은 수신 기기가 서명 요청을 반환하면 나중에 사용할 수 있도록 일시적으로 Secure Element에 저장됩니다.
보안을 강화하기 위해 발신자는 수신자가 자동차 제조업체에서 지원하는 사용 가능한 활성화 옵션 중 하나를 사용하거나, 수신 기기에서 암호를 입력하여 공유 키를 활성화하도록 요구할 수 있습니다.
초대를 수락하면 수신자의 기기가 릴레이 서버 메일상자에서 키 생성 데이터를 검색하여 CCC 디지털 키 사양에 따라 디지털 키를 생성합니다. 키 생성 과정의 일부로 키를 발신자가 서명합니다. 수신 기기는 릴레이 서버를 사용하여 발신자의 iPhone으로 키 생성 인증서 체인을 다시 보냅니다. 그러면 발신자의 iPhone은 Secure Element에 내장된 root.PK를 사용하여 예상되는 인증서 체인을 통해 받는 키가 생성되었는지 확인합니다. 확인이 성공하면 발신자의 iPhone이 수신 기기의 ECC 공개 키를 서명하고, 이 서명을 릴레이 서버를 사용하여 수신 기기에 다시 보냅니다. 서명은 이전에 Secure Element에 저장된 발신자 승인을 통해 승인됩니다.
차량에서 공유 키를 처음 사용할 때 키 권한과 발신자 서명이 전송됩니다(표준 트랜잭션 참조). 권한에 대한 설명은 다음과 같습니다.
접근 수준: 예: 잠금 해제 또는 운전하기.
재공유 정책: 예: 재공유 불가, 제한적 재공유, 또는 무제한 재공유(공유 체인 길이 기준).
일부 자동차 제조업체는 각 공유 키가 자동차 제조업체의 서버에 등록되어 있어야 합니다. 필요한 경우, 수신 기기에서 device.PK 인증서 체인을 자동차 제조업체의 KTS로 보내며 서명을 다시 보내 등록을 확인합니다. 수신 기기는 차량과의 처음 트랜잭션에서 해당 서명을 차량에 표시합니다(표준 트랜잭션 참조). 차량이 서명을 검증하고 KTS 서명이 성공적으로 확인된 경우, 공유 키를 활성화합니다. 이 서명 키는 자동차 제조업체의 독점 키입니다.
키 삭제
키는 다음과 같은 방법으로 삭제할 수 있습니다.
키홀더의 기기에서
소유자의 기기에서
적절하게 인증된 공유자의 기기에서
차량 내부에서
키홀더의 iPhone에서 키를 삭제하는 경우, 키 보유자가 해당 키를 사용하는 중이거나 기기가 인터넷에 연결되어 있지 않은 경우에도 바로 삭제가 이루어집니다.
차량 내부에서의 키 삭제는 자동차 제조업체 정책에 따라 다음 상황에서 가능할 수 있습니다.
언제든지
차량이 온라인 상태일 때만
키 포브가 나타나는 경우에만(키 없이 차량에 고립되지 않도록)
키홀더 기기 또는 차량에서 키를 삭제하는 경우 모든 삭제 절차가 자동차 제조업체 측의 KTS로 보고됩니다. KTS는 보험 목적으로 차량에 대해 발급된 키가 등록되어 있는 서버입니다.
소유자 및 적격 사용자는 Apple 지갑의 차량 키 패스 뒷면에 있는 공유 키홀더 계정 목록에서 사용자를 선택하여 요청자의 개인 키(device.SK)로 서명된 원격 삭제 요청을 사용하여 삭제를 요청할 수 있습니다. 삭제 요청은 먼저 자동차 제조업체에 전송되어 업체가 차량에서 키를 제거하도록 합니다. 차량에서 키를 제거할 수 있는 요건은 위에 나열된 대로 자동차 제조업체에서 정의합니다. 차량에서 키가 제거된 경우에만 자동차 제조업체는 서명된 원격 삭제 요청을 키홀더 기기로 전송합니다.
기기에서 키가 제거된 경우 디지털 차 키를 관리하는 애플릿에서 암호화 형식으로 서명된 제거 증명을 생성하며 해당 증명은 자동차 제조업체에서 삭제 증명 자료로 사용하며 KIS에서 키를 제거할 때도 사용합니다.
개인정보 보호
자동차 제조업체의 KTS에서는 기기 ID, SEID 또는 Apple 계정을 저장하지 않습니다. KTS에서는 변경 가능한 식별자인 인스턴스 CA 식별자만을 저장합니다. 인스턴스 CA 식별자는 기기의 개인 데이터나 서버와도 연결되어 있지 않기 때문에 사용자가 모든 콘텐츠 및 설정 지우기를 사용하는 경우 해당 식별자도 삭제됩니다.
CCC 표준은 또한 자동차 제조업체 측에서 KTS 정보를 기밀로 유지해야 하며, 보험 처리 또는 기타 정당한 요청이 있는 경우에만 정보가 사용되어야 한다고 규정합니다.
기기에서 KTS로 전송하는 키 등록 데이터(키 식별자, 차량 식별자, 차량 공개 키, 기기 공개 키 인증서 체인, 키 권한)는 KTS 개인 암호화 공개 키에 대해 암호화됩니다. Apple 서버는 기기에서 자동차 제조업체 서버로 키 등록 데이터를 전송하고 이 데이터를 암호화 해제할 수 없습니다. Apple은 소유자가 차량의 키를 누구와 공유했는지 알 수 없습니다.
기기에 인증되지 않는 iPhone 또는 Apple Watch의 다른 액세서리는 NFC 또는 Bluetooth를 통해 표준 또는 빠른 트랜잭션을 통해 안정적으로 식별자를 받을 수 없습니다. 기기가 차량 식별자를 인식하지 못하는 경우(예: 키홀더의 차량과 비슷하게 보이는 차량에 실수로 접근을 시도한 경우), Secure Element의 애플릿은 의미 있는 키 또는 암호문 대신 임의의 값을 생성하는 대체 키를 사용합니다.
처음 Bluetooth 연결은 차량 키를 공유할 때 제공받은 임시 키로 보호되거나 자동차 제조업체가 키 추적 요청에 응답하여 제공한 임시 키를 사용하여 보호됩니다.