
Transações de chave do carro
A chave do carro pode usar diversos tipos de transação.
Transações rápidas
A transação rápida só é usada para destrancar o veículo via NFC.
O iPhone gera um criptograma com AES‑128 baseado em um segredo compartilhado que foi gerado anteriormente nos dois lados durante uma transação padrão. O criptograma permite que o veículo autentique rapidamente o dispositivo em cenários em que o desempenho é relevante, pois só se usa a criptografia simétrica e apenas uma transferência é necessária entre o leitor NFC e a Unidade de Controle Eletrônica (ECU) de processamento. Se o veículo exigir acesso de leitura ou gravação à caixa de correio privada, caixa de correio confidencial ou ambas (cada chave de carro no Secure Element tem seu par de caixas de correio), será estabelecido um canal seguro com o protocolo Global Platform SCP03 por meio da derivação das chaves da sessão usando um segredo compartilhado anteriormente durante uma transação padrão e um novo par de chaves efêmeras. A capacidade do veículo em estabelecer o canal seguro autentica o veículo perante o iPhone. Se o veículo armazenar as chaves de vários dispositivos, ele deverá usar um método de tentativa e erro com o esquema “mais usado primeiro” para encontrar a chave simétrica certa, já que o dispositivo não fornece um identificador rastreável em transações rápidas nas quais o veículo não se encontra autenticado pelo dispositivo.
Se nenhuma chave simétrica tiver sido estabelecida para o dispositivo da transação, o veículo usará a chave pública efêmera do veículo (vehicle.PK) para continuar com a transação padrão (consulte Transações padrão, a seguir).
Transações padrão
A transação padrão será usada para destrancar o veículo via NFC se as chaves simétricas estabelecidas para uma transação rápida não forem estabelecidas por meio de uma transação padrão anterior ou quando uma nova chave fizer uma transação com o veículo pela primeira vez (transação inicial de troca de chaves, FFT). Ela sempre é usada para autorizar a condução.
O veículo inicia um canal seguro entre o veículo e o iPhone depois de gerar pares de chaves ECC efêmeras no leitor e no iPhone. Com o uso de um método de acordo de chaves ECKA‑DH, é possível derivar um segredo compartilhado nos dois lados e usá‑lo para gerar uma chave simétrica compartilhada para a transação rápida com Diffie‑Hellman, uma função de derivação de chaves HKDF‑SHA (RFC 5869) e assinaturas usando a chave de longo prazo estabelecida durante o emparelhamento.
A chave pública efêmera gerada no lado do veículo é assinada com a chave privada de longo prazo do leitor, o que resulta na autenticação do veículo pelo iPhone. Da perspectiva do iPhone, esse protocolo é projetado para impedir que dados sensíveis e privados sejam revelados a um adversário que intercepte a comunicação ou faça‑se passar por um veículo.
O iPhone usa o canal seguro e não autenticado estabelecido para criptografar seu identificador de chave pública junto com a assinatura calculada em um desafio derivado dos dados do leitor e alguns dados adicionais específicos do app. Essa verificação da assinatura do iPhone pelo veículo permite que o leitor autentique o dispositivo.
A transação padrão via NFC também é usada na primeira abordagem (FFT) de uma nova chave compartilhada do veículo, pois o veículo ainda não conhece o novo device.PK. Quando o usuário se aproxima da maçaneta, o veículo inicia uma transação rápida, mas não pode verificar o criptograma. Ele continua com a transação padrão (o leitor ordena a transação rápida, AUTH0, que também é o primeiro comando da transação padrão), cria um canal seguro GP SCP03 e lê o conteúdo da caixa de correio privada que deve conter um atestado do novo device.PK assinado por quem compartilhou (sharer.PK ou owner.PK já são conhecidos pelo veículo) e assinado pelo KTS com a criptografia proprietária do fabricante do automóvel. Depois de verificar as assinaturas, o veículo aceita o device.PK como nova chave.
Transações com o padrão BLE/UWB
No caso de veículos com uma chave compatível com banda ultralarga (UWB), uma sessão Bluetooth LE é estabelecida entre o veículo e o iPhone. De forma semelhante à transação NFC, um segredo compartilhado é derivado em ambos os lados e utilizado para estabelecer uma sessão segura. Essa sessão é usada para, a seguir, derivar e combinar uma Chave Secreta de Alcance UWB (URSK, na sigla em inglês). A URSK é fornecida aos rádios de UWB no dispositivo do usuário e, em um canal seguro proprietário do fabricante do veículo, às âncoras de UWB.
Nota: Normalmente, as âncoras são posicionadas nos quatro cantos de um veículo, dentro e, opcionalmente, no porta‑malas do veículo para permitir a localização precisa e autenticada do dispositivo do usuário quando próximo ou dentro do veículo. O veículo utiliza a posição do dispositivo para decidir se permite o destravamento ou a partida no veículo.
As URSKs expiram depois de um tempo predefinido (tempo de vida, ou TTL). Para evitar a interrupção da medição de localização quando o TTL expira, pode‑se derivar antecipadamente as URSKs no Secure Element do dispositivo e no módulo de segurança (HSM)/Secure Element do hardware do veículo enquanto a localização segura não está ativada, mas o Bluetooth está conectado. Isso evita a necessidade de uma transação padrão para derivar uma nova URSK em uma situação em que o tempo seja essencial. A URSK derivada previamente pode ser transferida muito rapidamente aos rádios UWB do carro e do dispositivo para evitar a interrupção da localização via UWB.