Segurança das chaves de carro no iOS
Os desenvolvedores podem oferecer suporte seguro a maneiras de acessar um veículo sem usar chaves em um iPhone compatível e um Apple Watch emparelhado.
Emparelhamento do proprietário
O proprietário deve provar a posse do veículo (o método depende do fabricante do automóvel) e pode iniciar o processo de emparelhamento no app do fabricante do automóvel ao usar um link no e‑mail recebido do fabricante do automóvel ou a partir do menu do veículo. Em todos os casos, o proprietário deve apresentar uma senha de emparelhamento de uso único confidencial ao iPhone, que é usada para gerar um canal de emparelhamento seguro através do protocolo SPAKE2+ com curva NIST P-256. Ao usar o app ou o link no e‑mail, a senha é transferida automaticamente para o iPhone, no qual, ao iniciar o emparelhamento a partir do veículo, ela deve ser digitada manualmente.
Compartilhamento de chave
O iPhone emparelhado do proprietário pode compartilhar chaves com dispositivos iPhone de membros da família e amigos elegíveis (e seus dispositivos Apple Watch emparelhados) ao enviar um convite específico ao dispositivo via iMessage e o Serviço de Identidade da Apple (IDS). A troca de todos os comandos de compartilhamento usa o recurso IDS criptografado de ponta a ponta. O iPhone emparelhado do proprietário mantém a imutabilidade do canal IDS durante o processo de compartilhamento para se proteger contra o encaminhamento de convites.
Ao aceitar o convite, o iPhone do membro da família ou amigo cria uma chave digital e envia a cadeia de certificado de criação de chave de volta ao iPhone emparelhado do proprietário para verificar que a chave foi criada em um dispositivo Apple autêntico. O iPhone emparelhado do proprietário assina a chave ECC pública do iPhone do membro da família ou amigo e envia a assinatura de volta ao iPhone do membro da família ou amigo. A operação de assinatura no dispositivo do proprietário requer a autenticação do usuário (Face ID, Touch ID ou digitação de código) e uma intenção segura do usuário, descrita em Usos do Face ID e Touch ID. A autorização é solicitada ao enviar o convite e armazenada no Secure Element para consumo quando o dispositivo do amigo envia o pedido de assinatura de volta. Os direitos da chave são fornecidos ao veículo de forma on-line pelo servidor OEM do veículo ou na primeira vez que a chave compartilhada é usada no veículo.
Apagamento de chaves
Chaves podem ser apagadas no dispositivo de quem possui as chaves a partir do dispositivo do proprietário e no veículo. Os apagamentos no iPhone de quem possui a chave têm efeito imediato, mesmo que a pessoa que possua a chave a esteja usando. Portanto, um aviso contundente é mostrado antes do apagamento. O apagamento de chaves no veículo pode ser possível a qualquer momento ou pode ser possível apenas quando o veículo está on-line.
Em ambos os casos, o apagamento no dispositivo de quem possui as chaves ou veículo é comunicado a um servidor de inventário de chaves (KIS) no lado do fabricante do automóvel, o qual registra as chaves emitidas para um veículo para fins de seguro.
O proprietário pode solicitar um apagamento a partir do verso do tíquete de proprietário. O pedido é enviado primeiro para o fabricante do automóvel para a remoção da chave no veículo. As condições para remover a chave do veículo são definidas pelo fabricante do automóvel. Apenas quando a chave é removida no veículo, o servidor do fabricante do automóvel envia um pedido de término remoto para o dispositivo que possui a chave.
Quando uma chave é eliminada em um dispositivo, o applet que gerencia as chaves digitais de carros cria um atestado de término criptograficamente assinado, o qual é usado como prova de apagamento pelo fabricante do automóvel e usado para remover a chave do KIS.
Transações com o padrão NFC
No caso de veículos com uma chave NFC, um canal seguro entre o leitor e um iPhone é iniciado por meio da geração de pares de chaves efêmeras no leitor e no iPhone. Ao usar um método de acordo de chaves, um segredo compartilhado pode ser derivado em ambos os lados e usado para gerar uma chave simétrica compartilhada com Diffie-Hellman, uma função de derivação de chaves e assinaturas a partir da 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 leitor 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.
Por fim, o iPhone usa o canal seguro estabelecido para criptografar seu identificador de chave pública junto com a assinatura calculada em um desafio derivado de dados do leitor e alguns dados adicionais específicos do app. Essa verificação da assinatura do iPhone pelo leitor permite que o leitor autentique o dispositivo.
Transações rápidas
O iPhone gera um criptograma baseado em um segredo compartilhado anteriormente durante uma transação padrão. Esse criptograma permite que o veículo autentique rapidamente o dispositivo em cenários em que o desempenho deva ser considerado. Opcionalmente, um canal seguro entre o veículo e o dispositivo é estabelecido ao derivar chaves de sessão de 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.
Transações com o padrão BLE/UWB
No caso de veículos com uma chave UWB, um 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 a rádios UWB no dispositivo do usuário e no veículo para possibilitar a localização precisa do dispositivo em uma posição específica próxima ao veículo ou dentro dele. O veículo utiliza a posição do dispositivo para decidir se permite o destravamento ou a partida no veículo. As URSKs têm um TTL predefinido. Para evitar a interrupção da medição da localização quando o TTL expira, as URSKs podem ser derivadas previamente no SE do dispositivo e no HSM/SE do veículo enquanto a localização segura não está ativada mas o BLE 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.
Privacidade
O servidor de inventário de chaves (KIS, na sigla em inglês) do fabricante do automóvel não armazena o ID, SEID ou ID Apple do dispositivo. Ele armazena apenas um identificador mutável, a instância do identificador de AC. Esse identificador não está associado a nenhum dado privado no dispositivo ou no servidor e é apagado quando o usuário apaga o dispositivo completamente (ao usar Apagar Todo o Conteúdo e Ajustes).