
Transacciones de las llaves de auto
Las llaves de auto pueden usar varios tipos de transacciones.
Transacciones rápidas
La transacción rápida se usa sólo para desbloquear el vehículo mediante NFC.
El iPhone genera un criptograma AES-128 basado en un secreto previamente generado en ambos lados durante una transacción estándar. Este criptograma permite al vehículo autenticar rápidamente el dispositivo en situaciones en las que el rendimiento es importante, ya que sólo se usa criptografía simétrica y sólo se requiere una transferencia entre el lector NFC y la unidad de control electrónico (ECU) que realiza el proceso. Si el auto requiere acceso de lectura o escritura al buzón privado, al buzón confidencial o a ambos (cada llave del auto en el Secure Element tiene su par de buzones), se establece un canal seguro Global Platform SCP03 entre el auto y el dispositivo derivando llaves de sesión de un secreto previamente compartido durante una transacción estándar y un nuevo par de llaves efímeras. La capacidad del vehículo para establecer el canal seguro autentica el vehículo en el iPhone. Si el vehículo almacena llaves de varios dispositivos, debe usar un método de "prueba y error" con un esquema de "la más utilizada primero" para encontrar la llave simétrica correcta, ya que el dispositivo no proporciona un identificador rastreable en la transacción rápida si el vehículo no está autenticado por el dispositivo.
Si no se han establecido llaves simétricas para el dispositivo que realiza la transacción, el vehículo usa la llave pública efímera del vehículo (vehicle.PK) para continuar con una transacción estándar (consulta la sección Transacciones estándar más abajo).
Transacciones estándar
La transacción estándar se usa para desbloquear el vehículo a través de NFC si no se han establecido claves simétricas para una transacción rápida a través de una transacción estándar previa o cuando una clave recién compartida realiza una transacción con el vehículo por primera vez (transacción de clave de primer amigo, FFT). Siempre se usa para autorizar la conducción.
El vehículo inicia un canal seguro entre el vehículo y un iPhone, generando pares de claves efímeras de criptografía de curva elíptica (ECC) en el lector y en el iPhone. A través de un método de acuerdo de clave ECKA-DH, se puede derivar un secreto compartido en ambos lados y usarse para la generación de una clave simétrica compartida para la transacción rápida mediante Diffie-Hellman, una función de derivación de claves HKDF (RFC 5869), y firmas de la clave de largo plazo establecida durante el enlace.
La clave pública efímera generada en el lado del vehículo se firma con la clave privada de largo plazo del lector, lo que genera una autenticación del vehículo por parte del iPhone. Desde la perspectiva del iPhone, este protocolo está diseñado para evitar que se revelen datos delicados a un adversario que intercepta la comunicación o se hace pasar por un vehículo.
El iPhone utiliza el canal seguro establecido no autenticado para encriptar su identificador de clave pública junto con la firma calculada en el reto derivado de los datos del lector y algunos datos adicionales específicos de la app. Esta verificación de la firma del iPhone por parte del vehículo permite a este autenticar el dispositivo.
La transacción estándar NFC también se usa para el primer acercamiento (FFT) de una clave recién compartida con el vehículo, ya que este aún no conoce la nueva device.PK). Cuando el usuario se acerca a la manija de la puerta, el vehículo inicia una transacción rápida, pero no puede verificar el criptograma. Enseguida, continúa con una transacción estándar (el comando del lector para la transacción rápida, AUTH0, es también el primer comando para la transacción estándar), crea un canal seguro GP SCP03 y lee el contenido del buzón privado que debe contener una certificación de la nueva device.PK, firmada por la persona que comparte (sharer.PK o owner.PK ya son conocidas por el vehículo) y firmada por el KTS usando la criptografía propia del fabricante de automóviles. Tras verificar las firmas, el vehículo acepta la device.PK como nueva clave.
Transacciones estándar mediante BLE/UWB
Para los vehículos que utilizan una llave compatible con la banda ultraancha (UWB), se establece una sesión Bluetooth LE entre el vehículo y el iPhone. De forma similar a la transacción mediante NFC, se obtiene un secreto compartido por ambas partes que se utiliza para establecer una sesión segura. Esta sesión se utiliza para derivar y acordar posteriormente una clave secreta de alcance UWB (URSK). La URSK se proporciona a las radios UWB del dispositivo del usuario y, en un canal seguro propietario del fabricante del vehículo, a los anclajes UWB.
Nota: los anclajes se ubican generalmente en las cuatro esquinas del vehículo, en el interior y, opcionalmente, en el maletero del vehículo para permitir la localización precisa y autenticada del dispositivo del usuario en una posición específica cerca o dentro del vehículo. A continuación, el vehículo utiliza la posición del dispositivo para tomar decisiones sobre la autorización del desbloqueo o el arranque del vehículo.
Las URSK tienen un tiempo de caducidad predefinido (tiempo de vida o TTL). Para evitar la interrupción del alcance cuando vence un TTL, las URSK pueden obtenerse de forma anticipada del Secure Element del dispositivo y del modulo de seguridad del hardware (HSM)/Secure Element del vehículo mientras el alcance seguro no está activo y el Bluetooth está conectado. Esto evita la necesidad de realizar una transacción estándar para obtenerse una nueva URSK en una situación donde el tiempo es esencial. La URSK obtenida con anticipación puede transferirse muy rápidamente a los radios UWB del vehículo y del dispositivo para evitar la interrupción del alcance UWB.