Atualização de software e firmware usando o Over-the-Air (OTA) aumentou nos dispositivos portáteis, industriais e automotivos para a plataforma embarcada com o tempo. Uma vez que o produto está no mundo real, o firmware ou a atualização de software relacionada a correções de bugs, correções de segurança ou a atualização de recursos é necessária para melhorar o dispositivo e mantê-lo atualizado com o software mais recente.

OTA é uma tecnologia para atualizar o software ou o firmware remotamente.

No caso de um veículo, o firmware ou software é atualizado sem fio usando um dispositivo de telecomunicação, através de um gateway dentro do carro para a ECU cuja presença está aumentando no veículo moderno.

Qual é a necessidade de OTA (Over-the-Air Update) para o veículo?

Na indústria automotiva, o veículo tem se tornado cada vez mais inteligente e inteligente. Actualmente, os veículos são maioritariamente controlados por um software em vez dos tradicionais componentes mecânicos. Há uma década atrás, se houvesse necessidade de actualizar o software, o veículo era rebocado para a estação de serviço e os veículos eram ligados ao sistema/computador para uma actualização. OTA resolve o problema de confiabilidade de cada atualização que costumava estar presente antes, em segundo lugar a dependência da estação de serviço, levando o veículo até a estação, o custo da atualização do software torna-se muito baixo, e não há muito incômodo para o cliente e também para a estação de serviço. Por último, mas não menos importante, a atualização de segurança em tempo hábil para cada veículo é importante e é feita à vontade A abordagem da atualização OTA para os telefones celulares e os veículos são diferentes, a atualização OTA do veículo é mais complexa e rigorosa em comparação com o dispositivo portátil, a atualização inadequada do software pode causar danos à vida do usuário também. As Unidades de Controlo Electrónico (ECUs) tornaram-se o principal componente do veículo actualmente, a ECU substituiu todos os componentes mecânicos da direcção. Em geral, as ECUs são interligadas por uma ou mais redes e compartilham informações que permitem interações e regulamentos complexos. Por exemplo, nos Sistemas Avançados de Assistência ao Condutor (ADAS), a crescente capacidade funcional vem com uma maior complexidade do sistema, o que torna mais provável a ocorrência de bugs de software que podem ter implicações para a segurança e proteção de todo o veículo. Com atualizações e melhorias regulares do software, é possível garantir a correção, eficiência e confiabilidade dos sistemas ao longo de toda a vida útil do veículo. Este blog descreve principalmente a solução ponta a ponta que pode ser implantada para apoiar as atualizações de software da OTA no setor automotivo. Na seção anterior, falamos sobre a OTA e entendemos que a atualização OTA no setor automotivo tem grandes desafios em termos de segurança enquanto atualiza o software por via aérea. Se os atacantes conseguirem o controle do veículo, pode-se acabar numa situação de perigo.

  • A transmissão do motor pode ser ligada/desligada
  • Passageiros ou os condutores podem ser trancados dentro do carro
  • Buzina a tocar continuamente
  • Controlar o sistema de direcção
  • Sistema de travagem do carro
  • Velocidade do carro para além do regulamento da estrada.
  • Controlar o sistema de navegação, áudio ou infotainment
  • Alarme falso no cockpit

Vejamos como a actualização da OTA acontece no veículo. Visão geral: O método de actualização remota OTA dos veículos é rápido, rentável e permite a actualização do software que funciona nas suas UECs por via aérea, e os utilizadores do automóvel podem actualizar o software em qualquer lugar sem terem de ir ao centro de assistência ou oficina de reparação. Além disso, o OEM pode diagnosticar o carro com base nos dados recebidos do carro através do ar

Figure 1: Visão geral da atualização OTA

OTA segura no sistema automotivo: A atualização segura da OTA é o fator mais importante durante a atualização do firmware ou software para a ECU. Existem muitos desafios para alcançar a atualização segura da OTA. Há muitas técnicas propostas e implementadas em toda a indústria para alcançar as atualizações seguras de OTA. Iremos discutir algumas delas e explicar a técnica mais comum utilizada na indústria automotiva. Vamos dividir toda a arquitetura de ponta a ponta em três componentes e qual é o propósito da mesma. Backend Server

  • Criar as imagens actualizadas/Colleccionar as imagens dos diferentes Tier-1
  • Fornecer as imagens de actualização de firmware e software para flash para o dispositivo
  • Pode ser necessário suportar a arquitectura cliente-servidor, se a unidade principal solicitar a actualização.

Canal de comunicação

  • Prover mecanismo seguro
  • Prover o n/w seguro para que a imagem ou os dados não sejam adulterados.

Unidade principal

  • Pode ser necessário activar a actualização do software (cliente)
  • >

  • Certifique-se de que as imagens correctas estão instaladas
  • Menos tempo de paragem enquanto actualiza as imagens
  • Roll back acontece em caso de falha

Servidor backend: O servidor backend é o principal responsável pela criação do firmware e das imagens de software que precisam ser implantadas nas unidades do veículo. O servidor backend tenta recolher as imagens que necessitam de ser implantadas dos diferentes fornecedores de Tier-1 e embalou-as numa única imagem para toda a ECU. Este servidor de backup pode ser baseado no sistema baseado no Yocto (código aberto) ou na arquitectura de suporte de terceiros. Canal de comunicação: A parte mais desafiadora do componente é quando os dados/imagens são expostos ao n/w e são fáceis de serem manipulados pelos atacantes. Há muitas técnicas, soluções de código aberto e de terceiros para atualização segura da unidade principal O mais comumente usado é o Uptane. O Uptane é a primeira estrutura de segurança abrangente que orienta a implementação de sistemas de atualização OTA em um nível de projeto. Unidade principal (Veículos em si): As unidades principais compreendem muitas ECU’s, talvez algumas sejam de alta velocidade, ou algumas de menor velocidade, e também diferentes tipos de ECU, TCU (unidade de controle telemático), gateways, cada componente como um papel a desempenhar na atualização da OTA. A unidade principal também precisa ter certeza de que está pronta para se conectar ao backend para obter firmware e software atualizados. Ou ela própria tem a capacidade de acionar a solicitação de atualização. Atualização OTA usando o Uptane O Update Framework (TUF) foi projetado para criar um sistema de segurança para proteger os usuários de repositórios de software contra os ataques de segurança. Ele foi projetado, tendo em mente que o servidor backend pode não ser seguro, ou a chave usada para a criptografia pode ser roubada. Então, o que ele faz é criar um sistema distribuído, onde a dependência de um sistema em particular não está lá, e no caso do thread do atacante, todos os sistemas não podem ser hackeados tão facilmente ao mesmo tempo. O Update Framework (TUF) dividiu as funções em quatro partes (Raiz de confiança, Timestamps, Snapshot, Targets) O Uptane constrói sobre o Update Framework (TUF), que é distribuído (Timeserver, diretório e repositório de imagens, manifestos, ECUs primárias/secundárias, verificação total e parcial.

Figure 2: Visão geral do Uptane

Backend Server: Ele conterá as imagens (os dados que precisam ser atualizados para a UCE) com metadados (hashes criptográficos, tamanho do arquivo) Repositório de Imagens: O repositório de imagens usa uma chave offline para assinar os metadados de todas as atualizações disponíveis para a UCE. Periodicamente (por exemplo, semanalmente, mensalmente) atualizar metadados sobre as imagens disponíveisUtilizar ferramentas de linha de comando Uptane para gerar os metadadosUtilizar limiar de chaves offline (por exemplo, Yubikey, HSM, etc. frequentemente utilizadas) para assinar metadados

Figure 3: Repositório de imagens

Repositório de diretórios: O repositório de diretórios usou a chave online para assinar metadados a serem usados para instalar em ECU no veículo. Ele determina quais imagens precisam ser instaladas em qual ECU, cria metadados diferentes para o veículo diferente e acessa os dados do inventário para obter detalhes sobre o veículo. Tipicamente usado para instruir um veículo que atualiza para instalar, dependendo do que ele tem

  • Pode ser usado para atualizar instantaneamente a lista negra
  • Utilizar Uptane API para gerar metadados assinados
  • Utiliza uma base de dados de inventário para ler e escrever informações sobre ECUs (por exemplo chaves públicas, o que foi instalado anteriormente, etc.)

Figure 4: Repositório de diretórios

Então, a chave aqui é que, antes da instalação, ela precisa confirmar que as instruções do repositório de diretórios e imagens correspondem.

Figure 5: Compartilhamento de informações finais de veículos e OEM

Servidor de tempo: Quando a ECU primária envia a lista de tokens para cada ECUS, para o servidor de tempo, o servidor de tempo retorna uma mensagem assinada contendo a lista de tokens e a unidade de tempo atual Head unit (Vehicle Itself): Na unidade de cabeça do veículo, temos um tipo diferente de ECU com base em como se ligam internamente ou ao mundo externo, quão poderosa em termos de velocidade, armazenamento, etc.

  • A ECU primária (TCU) faz o download das imagens, verifica-a e depois distribui os metadados para as outras ECU secundárias
  • As ECU secundárias também verificam a imagem antes de actualizar as imagens.
  • Realiza a verificação total e parcial

Figure 6: Comunicação entre ECUs

Canal de comunicação

Fluxo completo de comunicação da unidade de cabeça para o servidor Backend.

Figure 7: Canal de comunicação

O que é preciso para implantar o Uptane?

  • O OEM configura e mantém
    • Repositório de directores
    • Repositório de imagens
    • Servidor de tempo (opcional)
  • As imagens são assinadas por
    • Fornecedor, ou OEM, ou Ambos!
  • Os usuários devem fazer ou
    • Verificação total, ou
    • Verificação parcial
  • Pode continuar usando o seu TLS existente, etc. transporte
    • Se o transporte / caching estiver comprometido, pouco risco de segurança

Desafios na atualização da OTA

  • Automotiva é uma arquitetura mais complexa com um número crescente de ECUs, a atualização dos diferentes tipos de ECUs em si torna-se um desafio
  • A segurança dos dados no ar está em alto risco.
  • Como atualizar firmware e software é feito usando recursos mínimos como largura de banda de rede, armazenamento, e computação.
  • É possível actualizar não só a aplicação/ mas também o driver/software central do dispositivo?
  • O mecanismo de rollback da actualização do software
  • Não é aceite um maior tempo de inactividade durante a actualização do software ou firmware.
  • O tamanho dos blocos de software
  • Como a OTA acontece sem problemas com o impacto do sistema actual.

Conclusão

No mundo automóvel com o tempo a actualização do software irá aumentar para ter a certeza de que está actualizado com o tempo. Os veículos precisam de ser actualizados com segurança. Uptane pode ser uma das soluções promissoras para atualizar o software sobre o ar.

Outra leitura

  • Ativação da Autonomia SAE L3-L5 com Fusão de Sensores: Aproximações e desafios
  • Conceito de segurança para condução automatizada
  • Guia para o Algoritmo de Reconhecimento de Sinais de Trânsito em Tempo Real no Texas Instruments TDA2x SoC