BR112020015133A2 - Comunicação segura entre unidades de controle eletrônico no veículo - Google Patents

Comunicação segura entre unidades de controle eletrônico no veículo Download PDF

Info

Publication number
BR112020015133A2
BR112020015133A2 BR112020015133-5A BR112020015133A BR112020015133A2 BR 112020015133 A2 BR112020015133 A2 BR 112020015133A2 BR 112020015133 A BR112020015133 A BR 112020015133A BR 112020015133 A2 BR112020015133 A2 BR 112020015133A2
Authority
BR
Brazil
Prior art keywords
ecu
ecus
security
vehicle
message
Prior art date
Application number
BR112020015133-5A
Other languages
English (en)
Inventor
Christophe Buffard
Sanjeev Sehgal
Original Assignee
Nagravision S.A.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nagravision S.A. filed Critical Nagravision S.A.
Publication of BR112020015133A2 publication Critical patent/BR112020015133A2/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/068Network architectures or network communication protocols for network security for supporting key management in a packet data network using time-dependent keys, e.g. periodically changing keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Small-Scale Networks (AREA)
  • Stored Programmes (AREA)
  • Lock And Its Accessories (AREA)

Abstract

comunicação segura entre unidades de controle eletrônico no veículo os aspectos da presente revelação abordam sistemas, métodos e dispositivos para permitir a comunicação segura entre unidades de controle eletrônico (ecus) em um veículo. o sistema pode incluir uma primeira e uma segunda ecus dentre uma pluralidade de ecus no veículo. a primeira ecu se destina a permitir a comunicação segura entre a pluralidade de ecus ao realizar operações que incluem provisionar a segunda ecu com dados de autenticação para autenticar mensagens trocadas com uma terceira ecu e provisionar a terceira ecu com um conjunto de chaves de segurança para permitir que a terceira ecu troque mensagens de maneira segura com a segunda ecu. a segunda ecu recebe, a partir da terceira ecu, uma mensagem segura que é criptograficamente assinada com o uso de uma chave de segurança a partir do conjunto de chaves de segurança provisionado para a terceira ecu, e a segunda ecu autentica a mensagem segura comparando-se os dados de autenticação com um sinal de autenticação.

Description

“COMUNICAÇÃO SEGURA ENTRE UNIDADES DE CONTROLE ELETRÔNICO NO VEÍCULO” REIVINDICAÇÃO DE PRIORIDADE
[001] Este pedido reivindica o benefício de prioridade do pedido provisório nº de série U.S. 62/623.304, intitulado “AUTOMATED SECURE INCLUSION OF AUTOMOTIVE ECUS INTO A TRUST ZONE”, depositado em 29 de janeiro de 2018, e do pedido nº de série U.S. 16/027.681, intitulado “SECURE COMMUNICATION BETWEEN IN-VEHICLE ELECTRONIC CONTROL UNITS”, depositado em 5 de julho de 2018, que estão aqui incorporados a título de referência.
CAMPO DA TÉCNICA
[002] A matéria revelada no presente documento se refere à segurança em sistemas de computador veiculares que incluem unidades de controle eletrônico (ECUs). As modalidades exemplificativas abordam técnicas para comunicação segura em sistemas de computador veiculares, tal como a comunicação entre ECUs.
ANTECEDENTES
[003] Veículos, tais como automóveis, barcos, trens e aviões são tipicamente produzidos a partir de componentes distintos que são montados em uma linha de montagem. Esses componentes podem incluir um sistema de computador compreendido de várias unidades de controle eletrônico (ECUs). As ECUs podem ser sistemas integrados que controlam, cada uma, um ou mais sistemas ou subsistemas elétricos no veículo. Um aumento no número de ECUs, por sua vez, aumenta a vulnerabilidade de segurança nos sistemas de computador veiculares. Tal vulnerabilidade pode permitir ameaças cibernéticas que levam ao controle nocivo ou malicioso. Atualmente, os modos nos quais todas as ECUs são conectadas de maneira segura e de um modo automatizado podem ser comprometidos.
BREVE DESCRIÇÃO DOS DESENHOS
[004] Vários dos desenhos anexos ilustram meramente modalidades exemplificativas da presente matéria e não podem ser considerados como limitantes do seu escopo.
[005] A Figura 1 é um diagrama de arquitetura que ilustra um sistema de segurança que tem uma arquitetura para automatizar a inclusão segura de unidades de controle eletrônico (ECUs) veiculares em uma zona confiável, de acordo com algumas modalidades.
[006] A Figura 2 é um diagrama de arquitetura que ilustra um sistema de segurança que tem uma arquitetura para inclusão segura automatizada de ECUs veiculares em uma zona confiável, de acordo com algumas modalidades alternativas.
[007] A Figura 3 é um diagrama de arquitetura que ilustra um sistema de segurança que tem uma arquitetura para inclusão segura automatizada de ECUs veiculares em uma zona confiável, de acordo com algumas modalidades alternativas.
[008] A Figura 4 é um diagrama de interação que ilustra interações entre componentes de um sistema de segurança na realização de um método para permitir comunicação segura entre múltiplas ECUs de um veículo, de acordo com algumas modalidades.
[009] A Figura 5 é um diagrama de interação que ilustra interações entre componentes de um sistema de segurança na realização de um método para configurar de maneira segura o firmware em múltiplas ECUs de um veículo, de acordo com algumas modalidades.
[010] A Figura 6 é um diagrama de interação que ilustra interações entre componentes de um sistema de segurança na realização de um método para configurar de maneira segura o firmware em uma ECU de substituição, de acordo com algumas modalidades.
[011] A Figura 7 é um diagrama de interação que ilustra interações entre componentes de um sistema de segurança na realização de um método para configurar de maneira segura o firmware em uma ECU de substituição, de acordo com algumas modalidades alternativas.
[012] A Figura 8 é um diagrama de sistema que ilustra componentes funcionais de uma ECU, de acordo com algumas modalidades.
[013] A Figura 9 é um diagrama conceitual que ilustra interações entre componentes de um sistema de segurança na realização de um método para trocar mensagens de maneira segura entre ECUs de um veículo, de acordo com algumas modalidades.
[014] As Figuras 10 e 11 são diagramas de interação que ilustram interações entre múltiplas ECUs de um veículo na realização de um método para trocar mensagens de maneira segura, de acordo com algumas modalidades.
[015] A Figura 12 é um diagrama de interface que ilustra aspectos de uma interface gráfica fornecida por um sistema de segurança, de acordo com algumas modalidades.
[016] A Figura 13 ilustra uma representação diagramática de uma máquina na forma de exemplo de um sistema de computador dentro do qual um conjunto de instruções, para fazer com que a máquina realize uma ou mais das metodologias discutidas no presente documento, pode ser executado.
DESCRIÇÃO DETALHADA
[017] A referência será feita agora em detalhes às modalidades exemplificativas específicas para realizar a matéria. Os exemplos dessas modalidades específicas são ilustrados nos desenho anexos, e os detalhes específicos são apresentados na descrição a seguir para fornecer um entendimento completo da matéria. Será entendido que esses exemplos não se destinam a limitar o escopo das reivindicações às modalidades ilustradas. Pelo contrário, eles se destinam a abranger tais alternativas, modificações e equivalentes que possam estar incluídos no escopo da revelação.
[018] Os aspectos da presente revelação envolvem uma arquitetura de segurança para desenvolver um sistema que permita a comunicação segura dentro de um veículo entre múltiplos componentes incluindo unidades de controle eletrônico (ECUs). A arquitetura de segurança permite atualizações de Firmware por Via Aérea (Firmware Over-The-Air - FOTA) seguras, atualizações de Mapa por Via Aérea (MOTA) seguras, comunicação segura entre ECUs, comunicações veículo a veículo e veículo a infraestrutura seguras (coletivamente chamadas de “V2X”), e a substituição de ECU legítima.
[019] Durante o processo de montagem de veículo, os detalhes das ECUs de um veículo podem ou não ser conhecidos. Por exemplo, apenas os tipos de ECUs (por exemplo, unidade de controle de gateway (GCU), unidade de controle de porta (DCU), unidade de controle de telemática (TCU), etc.) podem ser conhecidos.
Em outro cenário, as ECUs precisas que se encontram em um veículo podem ser conhecidas. Entretanto, a arquitetura de segurança descrita no presente documento não exige que um fabricante de equipamentos originais (OEM) conheça precisamente os detalhes dos componentes da rede que precisa ser protegida, no momento da implantação ou após a implantação. Desse modo, a arquitetura de segurança permite que as ECUs sejam protegidas com ou sem conhecimento detalhado anterior das ECUs. Se as ECUs forem conectadas a uma ECU principal (por exemplo, um gateway central), elas podem ser identificadas, e essas informações de identidade podem ser, então usadas para trazê-las para um rede confiável e segura de um modo automatizado.
[020] Os aspectos adicionais da presente revelação abordam técnicas (por exemplo, sistemas, métodos ou dispositivos) para permitir a comunicação segura entre ECUs em um veículo. O sistema pode incluir pelo menos uma primeira ECU e uma segunda ECU em um veículo. A primeira ECU pode se destinar a vincular comunicativamente as múltiplas ECUs para permitir a comunicação segura entre as ECUs. Ao vincular comunicativamente as ECUs, a primeira ECU pode provisionar a segunda ECU com dados de autenticação para autenticar mensagens trocadas com uma terceira ECU, e a primeira ECU pode provisionar a terceira ECU com um conjunto de chaves de segurança para permitir que a terceira ECU troque mensagens com a segunda ECU. A segunda ECU pode receber, a partir da terceira ECU, uma mensagem segura que é criptograficamente assinada com o uso de uma chave de segurança a partir do conjunto de chaves de segurança provisionado para a terceira ECU. A segunda ECU pode autenticar a mensagem segura comparando- se os dados de autenticação com um sinal de autenticação.
[021] Como um exemplo, os dados de autenticação podem incluir uma contagem de mensagens máxima que limita o número de mensagens que a terceira ECU pode enviar para a segunda ECU, e o sinal de autenticação pode incluir um contador de mensagens que corresponde ao número de mensagens enviadas para a segunda ECU pela terceira ECU. Nesse exemplo, após o recebimento de uma mensagem a partir da terceira ECU, a segunda ECU pode incrementar o contador de mensagens e comparar o contador de mensagens com a contagem de mensagens máxima. Se o contador de mensagens for menor ou igual à contagem de mensagens máxima, a segunda ECU autentica de maneira bem-sucedida a mensagem a partir da terceira ECU. Se o contador de mensagens for maior que a contagem de mensagens máxima, a segunda ECU será incapaz de autenticar de maneira bem-sucedida a mensagem recebida a partir da terceira ECU.
[022] Como um exemplo, os dados de autenticação podem incluir um tempo de expiração para a chave de segurança usada para assinar criptograficamente a mensagem a partir da terceira ECU, e o sinal de autenticação pode incluir um sinal de clock. Nesse exemplo, após o recebimento de uma mensagem a partir da terceira ECU, a segunda ECU compara o tempo de expiração com o sinal de clock. Se o tempo de expiração não tiver passado, a segunda ECU autentica de maneira bem- sucedida a mensagem a partir da terceira ECU. Se o tempo de expiração tiver passado, a segunda ECU será incapaz de autenticar de maneira bem-sucedida a mensagem recebida a partir da terceira ECU.
[023] Nos casos em que a segunda ECU é incapaz de autenticar de maneira bem-sucedida a mensagem recebida a partir da terceira ECU, tal como no exemplo discutido acima, a segunda ECU pode enviar um sinal para a primeira ECU que indica uma falha na autenticação de chave de segurança em relação à terceira ECU.
Em resposta, a primeira ECU pode limitar a operação do veículo. Por exemplo, a primeira ECU pode colocar a terceira ECU em um modo de operação restrito que restringe que a terceira ECU realize uma ou mais operações. Além disso ou, de maneira alternativa, a primeira ECU pode solicitar, a partir de um serviço de segurança fornecido por um subsistema de segurança, dados de autenticação atualizados para atualizar os dados de autenticação para a segunda ECU. Além disso ou, de maneira alternativa, a primeira ECU pode solicitar uma nova chave de segurança para a terceira ECU.
ARQUITETURA DE SEGURANÇA
[024] Em referência à Figura 1, é mostrado sistema de segurança exemplificativo 100, de acordo com algumas modalidades. O sistema de segurança exemplificativo 100 é configurado para a inclusão segura automatizada de ECUs veiculares em uma zona confiável para permitir que as ECUs se comuniquem de maneira segura umas com as outras. Para evitar o obscurecimento da matéria com detalhes desnecessários, vários componentes funcionais (por exemplo, serviços e mecanismos) que não são relevantes para transmitir um entendimento da matéria foram omitidos da Figura 1. Entretanto, uma pessoa versada irá reconhecer prontamente que vários componentes funcionais adicionais podem ser suportados pelo sistema de segurança 100 para facilitar a funcionalidade adicional que não é especificamente descrita no presente documento.
[025] Conforme é entendido pelos versados nas técnicas de computação relevantes, os componentes funcionais ilustrados na Figura 1 podem representar um ou mais componentes, tal como um componente de hardware, um componente de firmware, ou componente tendo um conjunto de instruções executáveis e o hardware correspondente (por exemplo, memória e processador) para implementar as instruções. Além disso, deve-se observar que embora os componentes funcionais da Figura 1 sejam discutidos no sentido singular, em outras modalidades, múltiplas instâncias de um ou mais componentes podem ser empregadas.
[026] Conforme ilustrado na Figura 1, o sistema de segurança 100 inclui um sistema veicular 102 de um veículo montado em comunicação com um subsistema de segurança acessível à rede 104 que fornece um serviço de segurança através de uma rede 106. Uma ou mais porções da rede 106 podem ser uma rede ad hoc, uma intranet, uma extranet, uma rede privada virtual (VPN), uma rede local (LAN), uma LAN sem fio (WLAN), uma rede de longa distância (WAN), uma WAN sem fio (WWAN), uma rede metropolitana (MAN), a Internet, uma porção da Internet, uma porção da rede telefônica pública comutada (PSTN), uma rede de serviço telefônico básico antiga (POTS), uma rede de telefonia celular, uma rede sem fio, uma rede Wi-Fi®, outro tipo de rede, ou uma combinação de duas ou mais tais redes. Por exemplo, a rede 106 ou uma porção da rede 106 pode incluir uma rede sem fio ou celular, e qualquer um dos componentes ilustrados na Figura 1 sendo conectado à rede 106 pode ser acoplado à rede 106 através de uma conexão de Acesso Múltiplo por Divisão de Código (CDMA), um Sistema Global para Comunicações Móveis (GSM), ou outro tipo de acoplamento celular ou sem fio. Nesse exemplo, o acoplamento à rede 106 pode implementar qualquer um dentre uma variedade de tipos de tecnologia de transferência de dados, tal como Tecnologia de Transmissão de Rádio de Portadora Única (1xRTT), tecnologia de Evolução de Dados Optimizados (EVDO), tecnologia de Serviço de Rádio de Pacote Geral (GPRS), taxas de Dados Avançados para tecnologia de Evolução GSM (EDGE), Projeto de Parceria de Terceira Geração (3GPP) incluindo 3G, redes sem fio de quarta geração (4G), Sistema de Telecomunicações Móveis Universal (UMTS), Acesso de Pacote de Alta Velocidade (HSPA), Interoperabilidade Mundial para Acesso por Micro-ondas (WiMAX), padrão de Evolução de Longo Prazo (LTE), outros definidos por várias organizações de definição padrões, outros protocolos de longo alcance, ou outra tecnologia de transferência de dados.
[027] Conforme mostrado, o subsistema de segurança 104 inclui um ou mais sistemas de computador, tal como um servidor front-end 110 e um servidor back-end
112. O sistema veicular 102 inclui múltiplas unidades de controle como ECUs montadas. Por exemplo, o sistema veicular 102 pode incluir uma ou mais ECUs, tal como uma ECU principal 116 (por exemplo, um “gateway”), uma TCU 118, ECUs de trem de potência, ECUs de transmissão, ECUs de suspensão, unidade de controle de freio (BCUs), ECUs ADA, ECUs de agrupamento e ECUs de frenagem. A ECU principal 116 é configurada para se comunicar dentro do contexto de um ambiente seguro para cada uma das ECUs do sistema veicular 102. O código do programa 108 (por exemplo, um aplicativo de software que compreende um conjunto de instruções legíveis por máquina que configura uma máquina em execução para realizar determinada funcionalidade), que pode ser, por exemplo, incorporado em ou executado pelo servidor back-end 112, pela ECU principal 116 ou por um dispositivo de computador (por exemplo, uma ferramenta de segurança), facilita a comunicação entre a ECU principal 116 e o subsistema de segurança 104 através da rede 106. As comunicações adicionais com o sistema veicular 102 podem ser facilitadas por um sistema de diagnóstico a bordo (OBD) 120 que fornece padrões de pinagem, elétricos e de protocolo.
[028] A TCU 118 controla o rastreamento do veículo e é configurada para fornecer uma interface externa para comunicações móveis (por exemplo, GSM, GPRS, Wi-Fi, WiMAX ou LTE) que fornece, através da rede 106, os valores rastreados para um servidor de banco de dados de sistema de informações geográficas centralizado (GIS) (não mostrado), por exemplo. Em algumas modalidades, a TCU 118 também pode permitir que a ECU principal 116 se comunique diretamente com o subsistema de segurança 104 sem a necessidade do código de programa 108.
[029] Conforme mostrado, a ECU principal 116 também fica em comunicação com um sistema de infoentretenimento no veículo (IVI) 122 configurado para apresentar conteúdo de áudio e vídeo para os ocupantes do veículo. O sistema IVI 122 também é configurado para se comunicar com um ou mais sistemas externos (por exemplo, sistemas externos de provisionamento de conteúdo) através da rede 106 através de um acoplamento comunicativo (por exemplo, Wi-Fi, USB ou Ethernet) com um ou mais dispositivos externos.
[030] No contexto do sistema de segurança 100, durante a produção de cada ECU, uma chave simétrica é armazenada em um componente de armazenamento seguro ou outro elemento seguro de cada ECU (por exemplo, em um elemento que não pode ser acessado por processos em execução na ECU ou por quaisquer processos em execução fora da ECU). Adicionalmente, durante a produção de cada ECU, um certificado raiz back-end é armazenado em um armazenamento não modificável de cada ECU. Perto do final do processo de montagem do veículo, todas as ECUs montadas têm apenas código de programa parcial incorporado que fornece funcionalidade mínima, porém sozinho não permite que o veículo seja operado. Por exemplo, o código de programa parcial pode permitir que as ECUs comuniquem um identificador exclusivo (por exemplo, um certificado de chave pública) para a ECU principal 116. O identificador exclusivo de cada ECU pode ser armazenado em um mecanismo de armazenamento não modificável da ECU correspondente durante a produção. O código de programa parcial também pode facilitar outras comunicações menores entre ECUs para auxiliar na validação das ECUs.
[031] Consistente com algumas modalidades, o dispositivo ou sistema que executa o código de programa 108 pode ser conectado à ECU principal 116 do veículo durante o processo de montagem final pelo fabricante de veículo. O dispositivo ou sistema que executa o código de programa 108 pode ser conectado à ECU principal 116 de uma dentre pelo menos duas maneiras: 1) a comunicação confiável pode ser estabelecida entre o código de programa 108 e a ECU principal
116 com base em um segredo compartilhado (por exemplo, chaves simétricas e chaves assimétricas); ou 2) nenhuma conexão segura pode ser estabelecida, porém esse processo pode ser implementado no final da montagem de veículo em um ambiente totalmente controlado e seguro fornecido pelo OEM automotivo.
[032] Uma vez conectado à ECU principal 116 (por exemplo, por meio do sistema OBD 120), o código de programa 108 obtém uma lista de identificadores exclusivos (por exemplo, certificados de chave pública) de todas as ECUs montadas no veículo a partir da ECU principal 116. Nos casos em que as ECUs precisas no veículo são conhecidas antecipadamente, o código de programa 108 faz uma comparação entre a lista gerada e uma lista conhecida (por exemplo, um manifesto) para validar a legitimidade das ECUs montadas. A lista conhecida pode ser, por exemplo, recuperada pelo código de programa 108 a partir do servidor back-end
112. Em outro exemplo, pelo menos uma porção da lista conhecida pode ser fornecida pelo produtor de cada ECU.
[033] Uma vez que as ECUs foram validadas, o código de programa 108 faz com que todas as ECUs sejam comunicativamente vinculadas de uma maneira que permita a comunicação segura entre as ECUs do sistema veicular 102. O código de programa 108 pode emitir um comando para a ECU principal 116 que faz com que a ECU principal 116 se vincule comunicativamente às ECUs para permitir a comunicação segura entre as ECUs. Após o recebimento do comando, a ECU principal 116 provisiona cada ECU com um conjunto de chaves de segurança (por exemplo, chaves criptográficas) que vincula ECUs ao permitir que as ECUs troquem mensagens de maneira segura com outras ECUs. A ECU principal 116 também provisiona cada ECU com dados de autenticação para autenticar mensagens recebidas de outras ECUs. Em algumas modalidades, o servidor back-end 112 gera as chaves de segurança para todas as ECUs e fornece as mesmas para a ECU principal 116 por meio do código de programa 108. Em algumas modalidades, a ECU principal 116 pode gerar pares de chaves de segurança para cada ECU, ou cada ECU individual pode produzir seus próprios pares de chaves de segurança.
Consistente com essas modalidades, cada chave pública da ECU é fornecida para o servidor back-end 112 com o uso dos identificadores exclusivos incorporados em cada ECU. Uma das muitas técnicas pode ser empregada para gerar e provisionar as chaves de segurança. Por exemplo, as chaves de segurança podem ser “chaves secretas” geradas com o uso algoritmos simétricos conhecidos ou podem ser “chaves públicas” geradas com o uso algoritmos assimétricos conhecidos.
[034] Em relação à vinculação das ECUs, dependendo da modalidade, todas as ECUs podem ser vinculadas entre si, cada ECU pode ser individualmente vinculada à ECU principal 116, ou algumas ECUs podem ser vinculadas entre si enquanto outras ECUs são vinculadas apenas à ECU principal 116. Para permitir tal esquema de comunicação, qualquer uma das ECUs pode ser dotada de múltiplas chaves de segurança. Finalmente, as chaves de segurança com as quais cada ECU é provisionada permitem a comunicação com outras ECUs e, desse modo, as chaves de segurança determinam com quais outras ECUs se permite que qualquer determinada ECU se comunique. Dessa maneira, cada canal entre duas ECUs pode ser protegido com uma chave exclusiva.
[035] Uma vez provisionadas com chaves de segurança, as ECUs podem trocar informações de maneira segura entre si. Dependendo da modalidade, as informações podem ser incluídas nas mensagens que são criptografadas ou criptograficamente assinadas com as respectivas chaves de segurança provisionadas. Dependendo da modalidade, ao trocar informações, a ECU receptora verifica se a assinatura é uma assinatura conhecida ou se a ECU tem uma chave que permite que a mesma criptografe uma sessão negociada entre as ECUs.
[036] Após o enlace de comunicação no veículo seguro ter sido estabelecido, o código de programa 108, então conecta a ECU principal 116 ao servidor back-end 112, e o servidor back-end 112 provisiona a ECU principal 116 com certificados digitais (por exemplo, certificados de chave pública) para cada uma das ECUs. Mais especificamente, o servidor back-end 112 dota a ECU principal 116 de certificados intermediários assinados com o certificado raiz back-end para descrever a cadeia de confiança de certificados. Esses certificados digitais podem ser usados pelas ECUs para aceitar novo firmware por meio, por exemplo, de uma plataforma ou serviço FOTA que completa o código de programa e torna o veículo totalmente funcional. Isso assegura que a rede do veículo seja segura antes de ser operacional. Cada certificado digital assinado com o certificado raiz back-end ou qualquer certificado dentro da cadeia de confiança back-end é armazenado na ECU correspondente.
[037] Quando uma das ECUs é substituída, pelo fabricante de equipamentos originais (OEM), em um revendedor ou em uma instalação de pós-venda, é feita uma conexão segura entre a ECU principal 116 e o código de programa 108. O código de programa 108 estabelece uma conexão segura com o subsistema de segurança 104. O subsistema de segurança 104 valida o código de programa 108 e fornece um certificado digital por meio do servidor back-end 112. O código de programa 108 identifica um identificador exclusivo para a ECU de substituição, o código de programa 108 ou o servidor back-end 112 valida a autenticidade da ECU de substituição com o uso do identificador, e o código de programa 108 usa a conexão segura para entregar um certificado para a ECU de substituição. Uma atualização de firmware é, então enviada por meio de um serviço FOTA para completar o código de programa na ECU de substituição e torná-lo funcional.
[038] Quando uma ECU determina que outra ECU foi comprometida (por exemplo, devido à falta de chaves), a ECU pode relatar tais informações para a ECU principal 116, qualquer outra ECU, ou componente que seja capaz de se comunicar com o subsistema de segurança 204. A ECU principal 116 pode ser projetada para determinar qual ação ou ações a serem tomadas para abordar ou resolver uma ECU que está comprometida ou pode não ser segura. Por exemplo, a ECU principal 116 pode colocar o veículo em um modo “seguro” no qual o motor de veículo é limitado em operação, embora mecanismos de segurança do veículo (por exemplo, os sistemas de frenagem) não sejam limitados. Como um exemplo, o modo “seguro” pode limitar o veículo a operar em um número limiar de revoluções por minuto (RPM) ou quilômetros por hora (Km/h) (milhas por hora - MPH). Como outro exemplo, o modo “seguro” pode permitir que o veículo seja acionado em um modo normal por uma distância limitada (por exemplo, 160 Km (100 milhas)) antes de desligar o mesmo completamente. Uma vez que a ECU principal 116 pode se conectar ao subsistema de segurança 104, a ECU principal 116 pode fornecer um relatório da ECU comprometida para o servidor back-end 112.
[039] Consistente com algumas modalidades, o sistema de segurança 100 pode implementar técnicas e infraestrutura de módulo de identidade de Assinante (SIM) baseado em Placa de Circuito Integrado Universal Incorporado (eUICC) para atuar como uma raiz de confiança de hardware (RoT) para permitir uma rede segura e gerenciar a segurança entre as ECUs de um veículo com o uso de uma estrutura LTE/GSMA/Plataforma Global. O sistema de segurança 100 pode alavancar a RoT incorporada das ECUs e um elemento seguro externo. Essa RoT ou elemento seguro pode ser armazenado em chaves pré-compartilhadas incorporadas que são armazenadas de maneira segura e secreta em um mecanismo de armazenamento não modificável durante a produção de componentes. A RoT de ECU ou o elemento seguro externo pode armazenar certificados de autoridade de certificação back-end (CA) e um identificador exclusivo de ECU, assim como dados adicionais em um mecanismo de armazenamento não modificável durante a produção de componentes.
[040] Na modalidade ilustrada na Figura 1, o sistema veicular 102 fica em comunicação com o subsistema de segurança 104 através da rede 106 por meio do código de programa 108. Entretanto, em algumas modalidades, o sistema veicular 102 pode se comunicar diretamente com o subsistema de segurança 104 para estabelecer a zona confiável. Por exemplo, a Figura 2 ilustra um sistema de segurança 200 configurado para inclusão segura automatizada de ECUs veiculares em uma zona confiável, de acordo com algumas modalidades alternativas. Como o sistema de segurança 100, o sistema de segurança 200 compreende um sistema veicular 202 que compreende ECUs, um sistema OBD 220, e um sistema IVI 222; e um subsistema de segurança 204 que compreende um servidor front-end 210 e um servidor back-end 212. As ECUs do sistema veicular 202 incluem uma ECU principal 216 e uma TCU 218. Cada um dentre o sistema veicular 202 e o subsistema de segurança 204 inclui os mesmos respectivos componentes e fornece a mesma respectiva funcionalidade que o sistema veicular 102 e o subsistema de segurança 104 do sistema de segurança 100.
[041] Entretanto, diferente do sistema de segurança 100, no sistema de segurança 200, a ECU principal 216 pode se comunicar, através de uma rede 206, com o subsistema de segurança 204 sem a necessidade do código de programa. A comunicação entre a ECU principal 216 e o subsistema de segurança 204 pode ser permitida pela TCU 218 ou por um componente de comunicação integrado na ECU principal 216. No contexto do sistema de segurança 200, a ECU principal 216 é configurada para realizar as funções do código de programa 108 descrito acima em relação à Figura 1.
[042] Embora as Figuras 1 e 2 ilustrem um sistema veicular em comunicação direta ou indiretamente com um serviço de segurança baseado em servidor através de uma rede, em outras modalidades, o subsistema de segurança do sistema de segurança podem em vez disso, compreender um dispositivo de hardware móvel (por exemplo, um dongle) conectado diretamente ao sistema veicular. Por exemplo, a Figura 3 ilustra um sistema de segurança 300 que inclui um sistema veicular 302 em comunicação com um subsistema de segurança baseado em dongle 304.
[043] Similar aos sistemas veiculares 102 e 202, o sistema veicular 302 compreende ECUs que incluem uma ECU principal 316 e uma TCU 318; um sistema
OBD 320; e um sistema IVI 322. Cada um dos componentes do sistema veicular 302 fornece a mesma funcionalidade que o componente correspondente no sistema veicular 102 do sistema de segurança 100.
[044] Diferente dos subsistemas de segurança 104 e 204 dos sistemas de segurança 100 e 200, o subsistema de segurança 304 compreende simplesmente um dongle 312. O dongle 312 é um pequeno dispositivo de hardware móvel que compreende pelo menos uma memória, um processador e um meio para se comunicar pelo menos com a ECU principal 316. Em algumas modalidades, o dongle 312 pode ser ou pode incluir um dispositivo de computação móvel, tal como um smartphone.
[045] Dependendo da modalidade, o sistema veicular 302 pode se comunicar com o subsistema de segurança baseado em dongle 304 com ou sem o sistema OBD 320. Conforme mostrado, o subsistema de segurança baseado em dongle 304 pode ser conectado diretamente ao sistema veicular 302, e o subsistema de segurança baseado em dongle 304 pode se comunicar diretamente com a ECU principal 316 através dessa conexão. Dependendo das capacidades do sistema veicular 302, o meio de conexão pode ser, por exemplo, sem fio (por exemplo, Bluetooth ou Wi-Fi), com fio (por exemplo, um cabo Ethernet), um barramento serial universal (USB) ou barramento de dados.
[046] Devido ao fato de que o subsistema de segurança baseado em dongle 304 pode ser conectado diretamente ao sistema veicular 302, o sistema de segurança 300 pode encontrar uma aplicação em situações em que uma conexão de rede está indisponível, o que tipicamente surge no contexto de substituição de ECU. Por exemplo, antes de implantação, um dispositivo conectado à rede separado com medidas de segurança adequadas irá baixar por download uma credencial de tempo limitado para autenticar o dongle 312. Uma vez que o dongle 312 é autenticado, um ou mais certificados digitais (por exemplo, certificados de chave pública) e firmware para uma ECU de substituição podem ser baixados por download e armazenados criptografados na memória do dongle 312.
[047] Uma vez implantado no campo, o dongle 312 emula a funcionalidade dos serviços de segurança baseados no servidor descritos acima com referência às Figuras 1 e 2. Por exemplo, o dongle 312 pode ser conectado ao sistema veicular 302, e tanto o certificado digital como o firmware pode ser instalado na ECU de substituição. Essa atualização de firmware completa o código de programa na ECU de substituição para torná-lo totalmente funcional. A lista de componentes associada ao número de identificação de veículo (VIN) do veículo é atualizada com novas informações de componente.
[048] Em algumas modalidades, a atualização de firmware fornecida para a ECU de substituição pelo dongle 312 completa o código de programa para tornar a ECU de substituição totalmente funcional apenas por uma quantidade de tempo limitada até que o veículo possa ser colocado em uma instalação em que uma conexão de rede está disponível e informações adicionais podem ser fornecidas para a ECU de substituição. Dessa forma, a atualização de firmware fornecida pelo dongle 312 pode incluir um tempo e/ou data de expiração.
HABILITAR COMUNICAÇÃO SEGURA
[049] A Figura 4 é um diagrama de interação que ilustra interações entre um subsistema de segurança (por exemplo, subsistema de segurança 104) que fornece um serviço de segurança, código de programa (por exemplo, código de programa 108), e uma ECU principal (por exemplo, ECU principal 116) de um sistema de segurança (por exemplo, sistema de segurança 100) na realização de um método 400 para permitir a comunicação segura entre ECUs de um veículo (por exemplo, sistema veicular 102), de acordo com algumas modalidades. O método 400 pode ser incorporado em instruções legíveis por computador para execução por um ou mais componentes de hardware (por exemplo, um processador).
[050] Conforme mostrado na Figura 4, o método 400 começa com o subsistema de segurança fornecendo uma lista de identificadores de ECU conhecidos para o código de programa (operação 402). Cada identificador de ECU é um número exclusivo associado à ECU correspondente. Esses identificadores exclusivos podem corresponder, por exemplo, a certificados de chave pública atribuídos às ECUs. A lista de identificadores de ECU conhecidos é recebida pelo código de programa (na operação 404). Cada identificador de ECU incluído na lista de identificadores de ECU conhecidos corresponde a uma ECU que se destina a ser incluída em um veículo particular passando por configuração (por exemplo, um processo de montagem).
[051] O código de programa consulta a ECU principal quanto a uma lista de identificadores de ECU montados incluídos no veículo montado (operação 406). Por sua vez, a ECU principal compila os identificadores de cada ECU montada no veículo (operação 408). Por exemplo, a ECU principal pode executar ping em cada ECU com uma solicitação para um identificador. O identificador exclusivo associado a cada uma das ECUs é armazenado em um mecanismo de armazenamento não modificável da ECU correspondente. Conforme observado acima, cada uma das ECUs inclui inicialmente apenas código de programa parcial que fornece funcionalidade mínima, tal como a capacidade de comunicar o identificador exclusivo para a ECU principal, porém o código de programa parcial não permite que o veículo seja operacional.
[052] Uma vez que a lista completa é compilada, a ECU principal transmite a lista de ECUs montadas para o código de programa (operação 410). Após o recebimento da lista de identificadores de ECU montados (na operação 412), o código de programa valida a autenticidade das ECUs montadas comparando-se a lista de identificadores de ECU conhecidos com a lista de identificadores de ECU montados (operação 414).
[053] Em algumas modalidades, uma vez que a autenticidade das ECUs montadas foi validada, o subsistema de segurança gera chaves de segurança para cada uma das ECUs montadas juntamente com dados de autenticação (operação
416), e o subsistema de segurança fornece as chaves de segurança juntamente com os dados de autenticação para o código de programa (operação 418) através de um canal protegido (por exemplo, criptografado). O código de programa, por sua vez, fornece as chaves de segurança e dados de autenticação para as ECUs montadas para a ECU principal (operação 420) através do canal protegido, e a ECU principal recebe as chaves de segurança e dados de autenticação a partir do código de programa (operação 422).
[054] Em outras modalidades, a ECU principal gera as chaves de segurança em vez do subsistema de segurança. Nessas modalidades, as operações 416, 418, 420 e 422 podem ser omitidas do método 400. Ademais, nessas modalidades, a ECU principal notifica o subsistema de segurança através do código de programa de cada uma das chaves de segurança que correspondem a cada uma das ECUs, e o subsistema de segurança pode atualizar seus registros consequentemente.
[055] Novamente com referência à Figura 4, o código de programa emite um comando de vinculação (operação 424) para a ECU principal, e a ECU principal, por sua vez, vincula comunicativamente as ECUs montadas (operação 426). A ECU principal pode vincular as ECUs montadas ao provisionar cada ECU com a chave (ou chaves) de segurança correspondente e dados de autenticação. Uma vez provisionadas com chaves de segurança, as ECUs podem trocar informações de maneira segura com a ECU principal, outras ECUs, ou combinações de ambas dependendo de como as chaves de segurança foram provisionadas. Por exemplo, dependendo da modalidade, todas as ECUs podem ser vinculadas entre si, cada ECU pode ser individualmente vinculada à ECU principal, ou algumas ECUs podem ser vinculadas entre si enquanto outras ECUs são vinculadas apenas à ECU principal. Para permitir tal esquema de comunicação, qualquer ou mais das ECUs pode ser dotada de múltiplas chaves de segurança. Finalmente, as chaves de segurança com as quais cada ECU é provisionada permitem a comunicação com outras ECUs e, desse modo, as chaves de segurança determinam com quais outras
ECUs se permite que qualquer determinada ECU se comunique. Quando troca uma mensagem com outra ECU, uma ECU de transmissão assina a mensagem com a chave (ou chaves) de segurança associada à comunicação com outra ECU. Desse maneira, cada canal entre duas ECUs pode ser protegido com uma chave exclusiva.
Adicionalmente, cada ECU usa os dados de autenticação para autenticar as mensagens recebidas a partir de outras ECUs. Os dados de autenticação incluem um ou mais atributos relacionados à comunicação com outras ECUs, tais como, por exemplo, atributos temporais que definem uma janela de tempo ou tempo de expiração para uma chave de segurança particular, um atributo de contagem de mensagens que define uma contagem de mensagens máxima para a qual uma chave de segurança particular pode ser usada para assinar mensagens, um atributo operacional que define uma operação particular que se permite que uma ECU realize, ou um atributo de componente que define um componente particular dentro sistema veicular com o qual se permite que uma ECU particular se comunique.
CONFIGURAR SEGURAMENTE O FIRMWARE DE ECU
[056] A Figura 5 é um diagrama de interação que ilustra interações entre um subsistema de segurança (por exemplo, o subsistema de segurança 104), código de programa (por exemplo, código de programa 108), e uma ECU principal (por exemplo, ECU principal 116) de um sistema de segurança (por exemplo, sistema de segurança 100) na realização de um método 500 para configurar de maneira segura o firmware em múltiplas ECUs de um veículo (por exemplo, sistema veicular 102), de acordo com algumas modalidades. O método 500 pode ser incorporado em instruções legíveis por computador para execução por um ou mais componentes de hardware (por exemplo, um processador). As operações do método 500 podem ser, por exemplo, realizadas subsequentes às operações do método 400 descrito acima.
[057] Conforme mostrado, o método 500 começa com a ECU principal dotando o código de programa com uma indicação que as ECUs do sistema veicular foram provisionadas com chaves de segurança (operação 502). Em resposta ao recebimento dessa indicação, o código de programa conecta a ECU principal ao subsistema de segurança (operação 504). O subsistema de segurança gera certificados digitais (por exemplo, certificados de chave pública) para cada uma das ECUs e fornece os certificados digitais para a ECU principal (operação 506). Após o recebimento dos certificados digitais, a ECU principal pode solicitar os dados de firmware para configurar o firmware em cada uma das ECUs a partir de um serviço FOTA com o uso dos certificados digitais de cada ECU (operação 508). A ECU principal recebe os dados de firmware a partir do serviço FOTA (operação 510) e configura o firmware correspondente em cada ECU (operação 512) com o uso dos dados de firmware. Uma vez configurado, o firmware completa o código de programa uma vez parcial, incorporado nas ECUs, tornando, desse modo, o veículo totalmente operacional.
CONFIGURAR SEGURAMENTE O FIRMWARE NA ECU DE SUBSTITUIÇÃO
[058] A Figura 6 é um diagrama de interação que ilustra interações entre um subsistema de segurança (por exemplo, o subsistema de segurança 104), código de programa (por exemplo, código de programa 108), e uma ECU principal (por exemplo, ECU principal 116) de um sistema de segurança (por exemplo, sistema de segurança 100) na realização de um método 600 para configurar de maneira segura o firmware em uma ECU de substituição, de acordo com algumas modalidades. O método 600 pode ser incorporado em instruções legíveis por computador para execução por um ou mais componentes de hardware (por exemplo, um processador).
[059] Conforme mostrado, o método 600 começa com a ECU principal fornecendo uma indicação para o código de programa de que uma ECU foi substituída (operação 602). A indicação pode incluir um identificador exclusivo (por exemplo, uma chave pública) associado à ECU de substituição. Inicialmente, a ECU de substituição inclui apenas código de programa parcial que sozinho não permite que o veículo seja operacional.
[060] Em resposta ao recebimento da indicação a partir da ECU principal, o código de programa estabelece uma conexão segura com o subsistema de segurança (operação 604). Após estabelecer a conexão segura, o subsistema de segurança valida a autenticidade do dispositivo ou sistema que executa o código de programa (operação 606). O código de programa valida a ECU de substituição com base no identificador recebido como parte da indicação (operação 608).
[061] Uma vez que a ECU de substituição foi validada, o subsistema de segurança gera e fornece uma ou mais chaves de segurança para a ECU de substituição através do código de programa para a ECU principal (operação 610). O código de programa emite um comando de vinculação para a ECU principal (operação 612), e a ECU principal, por sua vez, vincula a ECU de substituição a uma ou mais outras ECUs (operação 614) ao provisionar a ECU de substituição com uma ou mais chaves de segurança. A ECU de substituição, uma vez provisionada com a uma ou mais chaves de segurança, pode se comunicar a uma ou mais outras ECUs do sistema veicular. Por exemplo, a ECU de substituição pode usar uma ou mais chaves de segurança para assinar as mensagens trocadas criptografadas com outras ECU. A ECU de substituição pode ser provisionada com uma chave de segurança para cada outra ECU com a qual ECU de substituição está autorizada a se comunicar. Desse modo, cada canal entre uma ECU e a ECU de substituição pode ser protegido com uma chave exclusiva.
[062] Uma vez que a ECU de substituição é vinculada à outra ECU (ou ECUs) no sistema veicular, o subsistema de segurança gera e fornece um certificado digital (por exemplo, certificado de chave pública) para a ECU de substituição para a ECU principal através do código de programa (operação 616). A ECU principal 116 provisiona a ECU de substituição com o certificado digital (operação 618), que pode ser armazenado em um mecanismo de armazenamento não modificável da ECU de substituição. A ECU principal pode, então, solicitar dados de firmware para configurar o firmware para a ECU de substituição a partir de uma plataforma ou serviço FOTA com o uso do certificado digital (operação 620). Após o recebimento dos dados de firmware a partir da plataforma ou serviço FOTA, a ECU principal configura o firmware na ECU de substituição (operação 622). Uma vez configurado, o firmware completa o código de programa uma vez parcial, incorporado na ECU de substituição, tornando, desse modo, o veículo totalmente operacional.
CONFIGURAR SEGURAMENTE O FIRMWARE NA ECU DE SUBSTITUIÇÃO COM O USO DO DONGLE
[063] A Figura 7 é um diagrama de interação que ilustra interações entre um dongle (por exemplo, dongle 312) e uma ECU principal (por exemplo, ECU principal 316) de um sistema de segurança (por exemplo, sistema de segurança 300) na realização de um método 700 para configurar de maneira segura o firmware em uma ECU de substituição, de acordo com algumas modalidades. O método 700 pode ser incorporado em instruções legíveis por computador para execução por um ou mais componentes de hardware (por exemplo, um processador).
[064] Conforme mostrado, o método 700 começa com o dongle obtendo um e o firmware para uma ECU de substituição (operação 702). O dongle pode obter o certificado digital e o firmware a partir de um serviço de segurança baseado em servidor (por exemplo, o subsistema de segurança 104) enquanto o dongle tem acesso a uma conexão de rede que permite que a mesma se comunique com o serviço de segurança. O dongle valida a ECU de substituição com base em um identificador exclusivo (por exemplo, uma chave pública) associada à ECU de substituição (operação 704). O identificador exclusivo pode ser armazenado em um mecanismo de armazenamento não modificável da ECU de substituição e pode ser fornecido para o dongle pela ECU principal. Após a validação da ECU de substituição, o dongle dota a ECU principal do certificado digital e do firmware para a ECU de substituição (operação 706). Na operação 706, o dongle também pode emitir um comando de vinculação para a ECU principal. A operação de vinculação pode ser realizada com o uso de uma chave temporária (por exemplo, armazenada de maneira segura na ECU de substituição). Isso pode permitir um tempo limitado para chegar a uma oficina e terminar o procedimento de substituição quando o acesso a uma conexão de rede se torna disponível.
[065] Em resposta ao recebimento do comando de vinculação, a ECU principal provisiona a ECU de substituição com o certificado digital (operação 708) e configura o firmware na ECU de substituição (operação 710). Uma vez configurado, o firmware completa o código de programa uma vez parcial, incorporado na ECU de substituição, tornando, desse modo, o veículo totalmente operacional.
COMPONENTES FUNCIONAIS DA ECU
[066] A Figura 8 é um diagrama de sistema que ilustra componentes funcionais de uma ECU 800, de acordo com algumas modalidades. A ECU 800 é um exemplo das ECUs ilustradas nas Figuras 1 a 3 e discutidas acima em relação às Figuras 4 a 7. A ECU 800 é mostrada incluindo um sistema de comunicação seguro 802 que compreende um receptor 804, um transmissor 806, um componente de autenticação 808 e uma memória 810. O receptor 804 pode compreender um componente de descriptografia 812, e o transmissor 806 pode compreender um componente de criptografia 814.
[067] Os componentes funcionais do sistema de comunicação seguro 802 permitem que a ECU 800 troque mensagens de maneira segura com outras ECUs em um veículo. Por exemplo, a memória 810 armazena chave (ou chaves) de segurança 816 que permite que a ECU 800 envie mensagens seguras (por exemplo, criptografadas ou criptograficamente assinadas) para um ou mais outras ECUs e descriptografar as mensagens criptografadas recebidas a partir das outras ECUs.
Ademais, a memória 810 também armazena dados de autenticação 818 para autenticar mensagens recebidas a partir das outras ECUs. Os dados de autenticação 818 incluem um ou mais atributos relacionados à comunicação com uma ou mais outras ECUs. O um ou mais atributos podem incluir, por exemplo, um ou mais de um atributo temporal que especifica um tempo de expiração ou janela de tempo para uma chave de segurança, um atributo de contagem de mensagens que especifica uma contagem de mensagens máxima para uma chave de segurança, um atributo operacional que especifica uma ou mais operações que se permite que uma ECU realize, e um atributo de componente que especifica um componente do veículo com o qual se permite que uma ECU se comunique. Conforme mencionado acima, uma ECU principal (por exemplo, ECU principal 116) de um sistema veicular pode provisionar a ECU 800 com a chave (ou chaves) de segurança 816 e dados de autenticação 818.
[068] O receptor 804 é responsável pela recepção de mensagens seguras (por exemplo, criptografadas ou criptograficamente assinadas) a partir de outras ECUs, e o componente de descriptografia 812 do receptor 804 descriptografa as mensagens criptografadas com o uso de uma chave (ou chaves) de segurança 816 armazenada na memória 810. O transmissor 806 é responsável pela transmissão de mensagens para outras ECUs que são criptografadas e/ou criptograficamente assinadas pelo componente de criptografia 814 com o uso de uma chave (ou chaves) de segurança 816 armazenada na memória 810. O componente de autenticação 808 autentica mensagens recebidas a partir de outras ECUs. O componente de autenticação 808 pode autenticar uma mensagem recebida a partir de outra ECU comparando-se os dados de autenticação 818 para aquela ECU com um sinal de autenticação mantido pela ECU 800. Detalhes adicionais relacionados à autenticação de mensagens são discutidos abaixo.
[069] Os vários componentes do sistema de comunicação seguro 802 podem ser configurados para se comunicar uns com os outros (por exemplo, por meio d um barramento, memória compartilhada ou um comutador). Qualquer um ou mais dos componentes descritos podem ser implementados com o uso de hardware sozinho (por exemplo, um ou mais processadores de uma máquina) ou uma combinação de hardware e software. Por exemplo, qualquer componente do sistema de comunicação seguro 802 pode incluir fisicamente uma disposição de um ou mais dos processadores 820 (por exemplo, um subconjunto de ou entre o um ou mais processadores da máquina) configurados para realizar as operações descritas no presente documento para esse componente. Como outro exemplo, qualquer componente do sistema de comunicação seguro 802 pode incluir software, hardware, ou ambos, que configuram uma disposição de um ou mais processadores 820 (por exemplo, entre o um ou mais processadores da máquina) para realizar as operações descritas no presente documento para esse componente.
Consequentemente, componentes diferentes do sistema de comunicação seguro 802 podem incluir e configurar disposições de tais processadores 820 ou uma única disposição de tais processadores 820 em pontos no tempo diferentes. Além disso, quaisquer dois ou mais componentes do sistema de comunicação seguro 802 podem ser combinados em um único componente, e as funções descritas no presente documento para um único componente podem ser subdivididas entre múltiplos componentes. Além disso, de acordo com várias modalidades exemplificativas, os componentes descritos no presente documento como implementados dentro de uma única máquina, banco de dados ou dispositivo podem ser distribuídos através de múltiplas máquina, bancos de dados ou dispositivos.
COMUNICAÇÃO SEGURA ENTRE ECUS
[070] A Figura 9 é um diagrama conceitual que ilustra interações entre componentes de um sistema de segurança na realização de um método 900 para trocar de maneira segura mensagens entre ECUs de um sistema veicular, de acordo com algumas modalidades. Em particular, a Figura 9 ilustra interações entre um subsistema de segurança (por exemplo, o subsistema de segurança 104), e quatro ECUs — ECU 1, ECU 2, ECU 3 e ECU 4. Cada uma dentre a ECU 1, ECU 2, ECU 3 e ECU 4 é um exemplo da ECU 800. Ademais, a ECU 1 pode corresponder a uma ECU principal (por exemplo, ECU principal 116, 216 ou 316).
[071] Conforme mostrado, na operação 902, o subsistema de segurança provisiona a ECU 1 (por exemplo, ECU principal 116) com múltiplos conjuntos de chaves de segurança e dados de autenticação associados para autenticar mensagens trocadas entre ECUs. Os múltiplos conjuntos de chaves de segurança incluem um primeiro conjunto de chaves de segurança que corresponde à ECU 2, um segundo conjunto de chaves de segurança que corresponde à ECU 3, e um terceiro conjunto de chaves de segurança que corresponde à ECU 4.
[072] Na operação 904A, a ECU 1 provisiona a ECU 2 com o primeiro conjunto de chaves de segurança e dados de autenticação associados. Na operação 904B, a ECU 1 provisiona a ECU 3 com o segundo conjunto de chaves de segurança e dados de autenticação associados. Na operação 904C, a ECU 1 provisiona ECU 4 com o terceiro conjunto de chaves de segurança e dados de autenticação associados. Cada uma dentre a ECU 2, a ECU 3 e a ECU 4 pode armazenar seu respectivo conjunto de chaves de segurança em um dispositivo de armazenamento seguro (por exemplo, memória 810).
[073] Nesse exemplo, permite-se que a ECU 2 troque mensagens com a ECU 3, porém não se permite que a ECU 2 troque mensagens com a ECU 4. Desse modo, o primeiro conjunto de chaves de segurança inclui uma ou mais chaves de segurança para permitir que a ECU 2 se comunique de maneira segura com a ECU 3, e o segundo conjunto de chaves de segurança inclui uma ou mais chaves de segurança para permitir que a ECU 3 se comunique de maneira segura com a ECU
2. Por exemplo, o primeiro conjunto de chaves de segurança pode incluir uma chave privada para que a ECU 2 criptografe e/ou assine criptograficamente as mensagens e uma chave pública que permita que a ECU 2 descriptografe as mensagens assinadas pela ECU 3 (por exemplo, com o uso de uma chave privada provisionada para ECU 3). Igualmente, o segundo conjunto de chaves de segurança pode incluir uma chave privada para que a ECU 3 criptografe mensagens e uma chave pública que permita que a ECU 3 descriptografe as mensagens criptograficamente assinadas pela ECU 2.
[074] Ademais, os dados de autenticação provisionados para a ECU 2 permitem que a ECU 2 autentique as mensagens a partir da ECU 3, mas não as mensagens a partir da ECU 4. Os dados de autenticação incluem um ou mais atributos que podem incluir, por exemplo, um ou mais de um atributo temporal que especifica um tempo de expiração ou janela de tempo para a chave pública, um atributo de contagem de mensagens que especifica uma contagem de mensagens máxima para a chave pública, um atributo operacional que especifica uma ou mais operações que se permite que ECU 3 realize, e um atributo de componente que especifica um componente do veículo com o qual se permite que a ECU 3 se comunique.
[075] Na operação 906, a ECU 3 envia uma mensagem segura para a ECU 2 que é criptograficamente assinada com o uso de uma chave de segurança a partir do segundo conjunto de chaves de segurança. Após receber a mensagem segura, a ECU 2 autentica de maneira bem-sucedida a mensagem segura com o uso dos dados de autenticação provisionados para a ECU 2 e armazena a mensagem em uma área de armazenamento seguro (operação 908). Conforme será discutido em mais detalhes abaixo, a autenticação da mensagem segura pode incluir comparar os dados de autenticação com um sinal de autenticação.
[076] Na operação 910, a ECU 4 envia uma mensagem segura para a ECU 2 que é criptograficamente assinada com o uso de uma chave de segurança a partir do terceiro conjunto de chaves de segurança. Entretanto, conforme observado acima, nesse exemplo, a ECU 2 e a ECU 4 não são permitidas a trocar mensagens entre si. Desse modo, conforme mostrado na operação 912, a autenticação da mensagem recebida a partir da ECU 4 falha. Em resposta à incapacidade de autenticar a mensagem recebida a partir da ECU 4, a ECU 2 pode descartar a mensagem, e pode enviar adicionalmente um sinal para a ECU 1 para notificar a ECU 1 de uma falha na autenticação de chave de segurança.
[077] As Figuras 10 e 11 são diagramas de interação que ilustram interações entre múltiplas ECUs de um veículo na realização de um método 1000 para trocar mensagens de maneira segura, de acordo com algumas modalidades. Mais especificamente, as Figuras 10 e 11 ilustram interações entre a ECU 1, a ECU 2 e a ECU 3 na realização do método 1000. O método 1000 pode ser incorporado em instruções legíveis por computador para execução por um ou mais componentes de hardware (por exemplo, um processador) de modo que as operações do método 1000 possam ser realizadas pela ECU 1, pela ECU 2 e pela ECU 3. Conforme observado acima, a ECU 1, a ECU 2 e a ECU 3 são exemplos da ECU 800.
Ademais, a ECU 1 pode corresponder a uma ECU principal (por exemplo, ECU principal 116, 216 ou 316).
[078] Conforme mostrado, o método 1000 começa com a ECU 1 (por exemplo, a ECU principal 116) provisionando a ECU 3 com um conjunto de chaves de segurança para permitir que a ECU 3 troque mensagens com uma ou mais ECUs incluindo pelo menos a ECU 2 (operação 1002). A ECU 3 recebe o conjunto de chaves na operação 1004.
[079] A ECU 1 provisiona a ECU 2 com dados de autenticação para autenticar as mensagens trocadas com a ECU 3 (operação 1006). Os dados de autenticação são recebidos pela ECU 2 na operação 1008. Os dados de autenticação incluem um ou mais atributos relacionados à comunicação com a ECU 3 com base no conjunto de chaves de segurança. O um ou mais atributos podem incluir, por exemplo, um ou mais dentre o seguinte: um atributo temporal que define um tempo de expiração para uma chave de segurança, um atributo temporal que define uma janela de tempo para enviar mensagens criptograficamente assinadas com uma chave de segurança, um atributo de contagem de mensagens que define uma contagem de mensagens máxima para uma chave de segurança, um atributo de componente que especifica um identificador de um componente do veículo com o qual se permite que a ECU 3 se comunique, e um atributo de operação que especifica uma operação que a ECU 3 é capaz de realizar. Em algumas modalidades, o um ou mais atributos podem incluir um primeiro atributo de contagem de mensagens que corresponde às mensagens autenticadas e um segundo atributo de contagem de mensagens que corresponde às mensagens com falha na autenticação.
[080] A ECU 3 gera uma mensagem segura que é criptograficamente assinada com o uso de uma chave de segurança a partir do conjunto de chaves de segurança (operação 1010), e a ECU 3 envia a mensagem segura para a ECU 2 (operação 1012). A ECU 2 recebe a mensagem segura a partir da ECU 3 (operação 1014) que é criptograficamente assinada com o uso da chave de segurança a partir do conjunto de chaves de segurança provisionado para a ECU 3.
[081] A ECU 2 usa os dados de autenticação para autenticar a mensagem segura recebida a partir da ECU 3 (operação 1016). Em particular, a ECU 2 autentica a mensagem segura comparando-se os dados de autenticação com um sinal de autenticação. O sinal de autenticação pode ser mantido pela ECU 2. Em algumas modalidades, o sinal de autenticação pode ser mantido tanto pela ECU 2 como pela ECU 3. Consistente com essas modalidades, a ECU 3 pode assinar criptograficamente a mensagem segura com o uso de uma combinação da chave de segurança e do sinal de autenticação. Consistente com algumas modalidades, antes ou como parte da autenticação da mensagem segura, a ECU 2 pode descriptografar a mensagem segura com o uso de uma ou mais chaves de segurança provisionadas para a ECU 2.
[082] Em um primeiro exemplo, o um ou mais atributos incluem um atributo temporal que define um tempo de expiração para a chave de segurança, e o sinal de autenticação inclui um sinal de clock. No primeiro exemplo, a ECU 2 autentica a mensagem segura a partir da ECU 3 comparando-se o tempo de expiração com o sinal de clock, e se o tempo de expiração não tiver passado, a ECU 2 autentica de maneira bem-sucedida a mensagem segura. Por outro lado, se o tempo de expiração tiver passado, a autenticação falha, e a ECU 2 pode enviar uma mensagem para a ECU 1 que indica uma falha de autenticação de chave de segurança em relação à ECU 3.
[083] Em um segundo exemplo, o um ou mais atributos incluem um atributo temporal que define uma janela de tempo dentro da qual as mensagens assinadas com o uso da chave de segurança podem ser enviadas, e o sinal de autenticação inclui um sinal de clock. No segundo exemplo, a ECU 2 autentica a mensagem segura a partir da ECU 3 comparando-se a janela de tempo com o sinal de clock, e se a mensagem foi enviada dentro da janela de tempo, a ECU 2 autentica de maneira bem-sucedida a mensagem segura. Por outro lado, se a mensagem foi enviada fora da janela de tempo, a autenticação falha, e a ECU 2 pode enviar um sinal para a ECU 1 que indica uma falha de autenticação de chave de segurança em relação à ECU 3. Ademais, no contexto do primeiro e do segundo exemplos, a ECU 2 pode manter o sinal de clock com base em uma ou mais atualizações de sinal de clock fornecidas por um sistema de computador (por exemplo, o servidor back-end 112) em comunicação com a ECU 1.
[084] Em um terceiro exemplo, o um ou mais atributos incluem um atributo de contagem de mensagens que define uma contagem de mensagens máxima que limita o número de mensagens que pode ser assinado com o uso da chave de segurança, e o sinal de autenticação inclui um contador de mensagens que corresponde ao número de mensagens assinadas com o uso da chave de segurança. No terceiro exemplo, a ECU 2 autentica a mensagem segura incrementando-se o contador de mensagens após o recebimento da mensagem segura a partir da ECU 3 e comparando o contador de mensagens com a contagem de mensagens máxima. Se o contador de mensagens não excede a contagem de mensagens máxima, a ECU 2 autentica de maneira bem-sucedida a mensagem segura. Se o contador de mensagens excede a contagem de mensagens máxima, a autenticação falha, e a ECU 2 pode enviar um sinal para a ECU 1 que indica uma falha de autenticação de chave de segurança em relação à ECU 3. O contador de mensagens mantido pela ECU 2 corresponde às mensagens criptograficamente assinadas com o uso da chave de segurança no conjunto de chaves de segurança provisionado para a ECU 3. A contagem de mensagens máxima pode corresponder às mensagens autenticadas de maneira bem-sucedida ou mensagens autenticadas sem êxito e, desse modo, contadores de mensagens separados podem ser mantidos para de maneira bem-sucedida e mensagens autenticadas sem êxito.
[085] Em um quarto exemplo, o um ou mais atributos incluem um atributo de componente que especifica um componente do veículo com o qual se permite que a ECU 3 se comunique, e a ECU 2 autentica a mensagem segura a partir da ECU 3 ao verificar que a mensagem segura se refere à operação do componente do veículo com o qual se permite que a ECU 3 se comunique.
[086] Em um quinto exemplo, o um ou mais atributos incluem um atributo de operação que especifica uma operação que se permite que a ECU 3 realize, e a ECU 2 autentica a mensagem segura ao verificar que mensagem segura corresponde à operação que se permite que a ECU 3 realize.
[087] Conforme mostrado na Figura 11, o método 1000 pode incluir, em algumas modalidades, as operações 1016, 1018, 1020, 1022, 1024, 1026, 1028, 1030 e 1032. Consistente com algumas modalidades, as operações 1016, 1018, 1020, 1022, 1024, 1026, 1028, 1030 e 1032 podem ser realizadas após a operação 1014, em que a ECU 2 autentica a mensagem segura recebida a partir da ECU 3.
Conforme observado acima, em alguns casos, a ECU 2 pode ser incapaz de autenticar de maneira bem-sucedida a mensagem segura na operação 1014. Em resposta à ECU 2 ser incapaz de autenticar de maneira bem-sucedida a mensagem segura, a ECU 2 envia um sinal para a ECU 1 que indica uma falha de autenticação de chave de segurança em relação à ECU 3 (operação 1016).
[088] Após o recebimento do sinal a partir da ECU 2, a ECU 1 limita a operação do veículo (operação 1018). A ECU 1 pode limitar a operação do veículo colocando-se uma ou mais ECUs no veículo em um modo de operação restrito que restringe a uma ou mais ECUs de realizar uma ou mais operações (por exemplo, enviar mensagens). Por exemplo, a ECU 1 pode colocar a ECU 3 em um modo de operação restrito em resposta à ECU 2 ser incapaz de autenticar de maneira bem- sucedida a mensagem segura recebida a partir da ECU 3.
[089] Adicionalmente, a ECU 1 causa a exibição, em um dispositivo de exibição, de uma notificação de falha de autenticação em relação à ECU 3 (operação 1020). O dispositivo de exibição pode ser um dispositivo de exibição do veículo (por exemplo, um dispositivo de exibição de painel) ou um dispositivo de exibição de um sistema de computador externo (por exemplo, uma ferramenta de diagnóstico) em comunicação com a ECU 1. A notificação pode ser apresentada dentro de uma interface gráfica que fornece uma situação de autenticação e operacional de cada ECU no veículo. Um exemplo de tal interface gráfica é ilustrado na Figura 12 e discutido abaixo.
[090] Em resposta ao recebimento do sinal a partir da ECU 2, a ECU 1 também pode solicitar dados de autenticação atualizados a partir de um subsistema de segurança (operação 1022). Os dados de autenticação atualizados podem incluir, por exemplo, um tempo de expiração atualizado para a chave de segurança. A ECU 1 provisiona a ECU 2 com os dados de autenticação atualizados (operação 1024), que são recebidos pela ECU 2 na operação 1026.
[091] Em algumas modalidades, a ECU 1 pode solicitar adicionalmente que uma nova chave de segurança para a ECU 3, na operação 1028, substitua a chave de segurança que levou à falha na autenticação. A ECU 1 provisiona ECU 3 com a nova chave de segurança na operação 1030, e a ECU 3 recebe a nova chave de segurança na operação 1032.
INTERFACE GRÁFICA
[092] A Figura 12 é um diagrama de interface que ilustra aspectos de uma interface gráfica 1200 fornecida por um sistema de segurança (por exemplo, sistema de segurança 100, 200, ou 300), de acordo com algumas modalidades. Conforme mostrado, a interface gráfica 1200 inclui uma lista de ECUs em um veículo juntamente com uma situação de autenticação e operacional para cada ECU. A interface gráfica 1200 pode exibir notificações de falha nas autenticações. Por exemplo, na Figura 12, uma notificação de falha de autenticação é apresentada para a “ECU 4” juntamente com uma notificação de que a “ECU 4” está em um modo de operação restrito.
SISTEMA DE COMPUTADOR
[093] A Figura 13 ilustra uma representação diagramática de uma máquina 1300 sob a forma de um sistema de computador dentro do qual um conjunto de instruções pode ser executado para fazer com que a máquina 1300 realize qualquer uma ou mais das metodologias discutidas no presente documento, de acordo com uma modalidade exemplificativa. Especificamente, a Figura 13 mostra uma representação diagramática da máquina 1300 sob a forma exemplificativa de um sistema de computador, dentro do qual as instruções 1316 (por exemplo, software, um programa, um aplicativo, um applet, um app, ou outro código executável) para fazer com que a máquina 1300 realize qualquer uma ou mais metodologias discutidas no presente documento podem ser executadas. Por exemplo, a máquina 1300 pode corresponder a qualquer um dentre os servidores front-end 110 e 210, os servidores back-end 112 e 212, os sistemas OBD 120, 220 e 320, os sistemas IVI 122, 222 e 322, o dongle 312, a ECU 800, e quaisquer exemplos dos mesmos.
Ademais, as instruções 1316 podem fazer com que a máquina 1300 execute qualquer um dos métodos 400, 500, 600, 700, 900 ou 1000. As instruções 1316 podem transformar a máquina não programada geral 1300 em uma máquina particular 1300 programada para realizar as funções descritas e ilustradas da maneira descrita aqui. Nas modalidades alternativas, a máquina 1300 opera como um dispositivo autônomo ou pode ser acoplada (por exemplo, em rede) a outras máquinas. Em uma implantação em rede, a máquina 1300 pode operar na capacidade de uma máquina de servidor ou uma máquina de cliente em um ambiente de rede de servidor-cliente ou como uma máquina de ponto em um ambiente de rede de ponto a ponto (ou distribuído). A máquina 1300 pode compreender, porém sem limitação, um computador servidor, um computador cliente, um computador pessoal (PC), um computador do tipo tablet, um computador do tipo laptop, um netbook, um smartphone, um dispositivo móvel, um roteador de rede, um comutador de rede, uma ponte de rede, ou qualquer máquina capaz de executar as instruções 1316, sequencialmente ou, de outro modo, que especifique as ações a serem tomadas pela máquina 1300. Adicionalmente, embora apenas uma única máquina 1300 seja ilustrada, o termo “máquina” deverá também ser tomado como incluindo uma coleção de máquinas 1300 que individual ou conjuntamente execute as instruções 1316 para realizar qualquer uma ou mais das metodologias discutidas no presente documento.
[094] A máquina 1300 pode incluir processadores 1310, memória 1330 e componentes I/O 1350, que podem ser configurados para se comunicar uns com os outros, tal como por meio de um barramento 1302. Em uma modalidade exemplificativa, os processadores 1310 (por exemplo, uma unidade de processamento central (CPU), um processador de computação de conjunto de instruções reduzido (RISC), um processador de computação de conjunto de instruções complexo (CISC), uma unidade de processamento gráfico (GPU), um processador de sinal digital (DSP), um circuito integrado de aplicação específica (ASIC), um circuito integrado de radiofrequência (RFIC), outro processador, ou qualquer combinação adequada dos mesmos) podem incluir, por exemplo, um processador 1312 e um processador 1314 que podem executar as instruções 1316.
O termo “processador” se destina a incluir processadores multinúcleo 1310 que podem compreender dois ou mais processadores independentes (algumas vezes denominados “núcleos”) que podem executar instruções simultaneamente. Embora a Figura 13 mostre múltiplos processadores, a máquina 1300 pode incluir um único processador com um único núcleo, um único processador com múltiplos núcleos
(por exemplo, um processador multinúcleo), múltiplos processadores com um único núcleo, múltiplos processadores com múltiplos núcleos, ou qualquer combinação dos mesmos.
[095] A memória 1330 pode incluir uma memória principal 1332, uma memória estática 1334 e uma unidade de armazenamento 1336, cada uma acessível aos processadores 1310, tal como por meio do barramento 1302. A memória principal 1332, a memória estática 1334 e a unidade de armazenamento 1336 armazenam as instruções 1316 que incorporam qualquer uma ou mais das metodologias ou funções descritas no presente documento. As instruções 1316 também podem residir, completa ou parcialmente, dentro da memória principal 1332, dentro da memória estática 1334, dentro da unidade de armazenamento 1336, dentro de pelo menos um dos processadores 1310 (por exemplo, dentro da memória cache do processador), ou qualquer combinação adequada dos mesmos, durante a execução das mesmas pela máquina 1300.
[096] Os componentes I/O 1350 podem incluir uma ampla variedade de componentes para receber entrada, fornecer saída, produzir saída, transmitir informações, trocar informações, capturar medições, e assim por diante. Os componentes I/O específicos 1350 que estão incluídos em uma máquina particular 1300 irão depender do tipo de máquina. Por exemplo, as máquinas portáteis, tais como telefones móveis provavelmente irão incluir um dispositivo de entrada sensível ao toque ou quaisquer outros tais mecanismos de entrada, enquanto uma máquina servidora sem periféricos provavelmente não irá incluir tal dispositivo de entrada sensível ao toque. Será observado que os componentes I/O 1350 podem incluir muitos outros componentes que não são mostrados na Figura 13. Os componentes I/O 1350 são agrupados de acordo com a funcionalidade meramente para simplificar a seguinte discussão, e o agrupamento não é de modo algum limitativo. Em várias modalidades exemplificativas, os componentes I/O 1350 podem incluir componentes de saída 1352 e componentes de entrada 1354. Os componentes de saída 1352 podem incluir componentes visual (por exemplo, uma tela, tal como painel de exibição de plasma (PDP), uma tela de diodo emissor de luz (LED), uma tela de cristal líquido (LCD), um projetor, ou um tubo de raios catódicos (CRT)), componentes acústicos (por exemplo, alto-falantes), outros geradores de sinais, e assim por diante. Os componentes de entrada 1354 podem incluir componentes de entrada alfanuméricos (por exemplo, um teclado, uma tela sensível ao toque configurada para receber entrada alfanumérica, um teclado foto-óptico, ou outros componentes de entrada alfanuméricos), componentes de entrada baseados em ponto (por exemplo, um mouse, um touchpad, um trackball, um joystick, um sensor de movimento, ou outro instrumento apontador), componentes de entrada táteis (por exemplo, um botão físico, uma tela sensível ao toque que fornece a localização e/ou força de toques ou gestos de toque ou outros componentes de entrada táteis), componentes de entrada de áudio (por exemplo, um microfone) e similares.
[097] A comunicação pode ser implementada com o uso de uma ampla variedade de tecnologias. Os componentes I/O 1350 podem incluir componentes de comunicação 1364 operáveis para acoplar a máquina 1300 a uma rede 1380 ou dispositivos 1370 através de um acoplamento 1382 e um acoplamento 1372, respectivamente. Por exemplo, os componentes de comunicação 1364 podem incluir um componente de interface de rede ou outro dispositivo adequado para fazer interface com a rede 1380. Em exemplos adicionais, os componentes de comunicação 1364 podem incluir componentes de comunicação com fio, componentes de comunicação sem fio, componentes de comunicação celular, componentes de comunicação de campo próximo, componentes de comunicação de Bluetooth e componentes de comunicação Wi-Fi. Os dispositivos 1370 podem ser outra máquina ou qualquer um dentre uma variedade de dispositivos periféricos (por exemplo, um dispositivo periférico acoplado através de um barramento serial universal (USB)).
INSTRUÇÕES EXECUTÁVEIS E MEIO DE ARMAZENAMENTO DE MÁQUINA
[098] As várias memórias (por exemplo, 1330, 1332, 1334 e/ou memória do processador (ou processadores) 1310) e/ou a unidade de armazenamento 1336 podem armazenar um ou mais conjuntos de instruções e estruturas de dados (por exemplo, software) que incorporam ou utilizados por uma ou mais das metodologias ou funções descritas no presente documento. Essas instruções, quando executadas pelo processador (ou processadores) 1310, fazem com que as operações implementem as modalidades reveladas.
[099] Conforme usado no presente documento, os termos “meio de armazenamento de máquina”, “meio de armazenamento de dispositivo” e “meio de armazenamento de computador” significam o mesmo e podem ser usados de maneira intercambiável. Os termos se referem a um único ou múltiplos dispositivos e/ou mídias de armazenamento (por exemplo, um banco de dados centralizado ou distribuído e/ou caches e servidores associados) que armazena instruções executáveis 1316 e/ou dados. Os termos devem ser consequentemente considerados de modo a incluir, porém sem limitação, memórias de estado sólido, e mídia óptica e magnética, incluindo memória interna ou externa aos processadores
1310. Exemplos específicos de mídia de armazenamento de máquina, mídia de armazenamento de computador e/ou mídia de armazenamento de dispositivo incluem memória não volátil, incluindo a título de exemplo dispositivos de memória de semicondutor, por exemplo, memória somente de leitura programável apagável (EPROM), memória somente de leitura programável eletricamente apagável (EEPROM), arranjos de portas programáveis em campo (FPGAs), e dispositivos de memória flash; discos magnéticos, tais como discos rígidos internos e discos removíveis; discos magneto-ópticos; e discos CD-ROM e DVD-ROM. Os termos “mídia de armazenamento de máquina”, “mídia de armazenamento de computador” e/ou “mídia de armazenamento de dispositivo” excluem especificamente ondas portadoras, sinais de dados modulados, e outras tais mídias, pelo menos algumas das quais são cobertas pelo termo “meio de transmissão” discutido abaixo.
MEIO DE TRANSMISSÃO
[0100] Em várias modalidades exemplificativas, uma ou mais porções da rede 1380 podem ser uma rede ad hoc, uma intranet, uma extranet, uma rede privada virtual (VPN), uma rede local (LAN), uma LAN sem fio (WLAN), uma rede de longa distância (WAN), uma WAN sem fio (WWAN), uma rede metropolitana (MAN), a Internet, uma porção da Internet, uma porção da rede telefônica pública comutada (PSTN), uma rede de serviço telefônico básico antiga (POTS), uma rede de telefonia celular, uma rede sem fio, uma rede Wi-Fi®, outro tipo de rede, ou uma combinação de duas ou mais tais redes. Por exemplo, a rede 1380 ou uma porção da rede 1380 pode incluir uma rede sem fio ou celular, e o acoplamento 1382 pode ser uma conexão de Acesso Múltiplo por Divisão de Código (CDMA), uma conexão de Sistema Global para Comunicações Móveis (GSM), ou outro tipo de acoplamento celular ou sem fio. Nesse exemplo, o acoplamento 1382 pode implementar qualquer um dentre uma variedade de tipos de tecnologia de transferência de dados, tal como Tecnologia de Transmissão de Rádio de Portadora Única (1xRTT), tecnologia de Evolução de Dados Optimizados (EVDO), tecnologia de Serviço de Rádio de Pacote Geral (GPRS), taxas de Dados Avançados para tecnologia de Evolução GSM (EDGE), Projeto de Parceria de Terceira Geração (3GPP) incluindo 3G, redes sem fio de quarta geração (4G), Sistema de Telecomunicações Móveis Universal (UMTS), Acesso de Pacote de Alta Velocidade (HSPA), Interoperabilidade Mundial para Acesso por Micro-ondas (WiMAX), padrão de Evolução de Longo Prazo (LTE), outros definidos por várias organizações de definição padrões, outros protocolos de longo alcance, ou outra tecnologia de transferência de dados.
[0101] As instruções 1316 podem ser transmitidas ou recebidas através da rede 1380 com o uso de um meio de transmissão por meio de um dispositivo de interface de rede (por exemplo, um componente de interface de rede incluído nos componentes de comunicação 1364) e utilizando qualquer um dentre vários protocolos de transferência bem conhecidos (por exemplo, protocolo de transferência de hipertexto (HTTP)). De modo similar, as instruções 1316 podem ser transmitidas ou recebidas com o uso de um meio de transmissão através do acoplamento 1372 (por exemplo, um acoplamento ponto a ponto) aos dispositivos
1370. Os termos “meio de transmissão” e “meio de sinal” significam o mesmo e podem ser usados de maneira intercambiável nesta revelação. Os termos “meio de transmissão” e “meio de sinal” devem ser considerados de modo a incluir qualquer meio não tangível que tenha capacidade de armazenar, codificar ou portar as instruções 1316 para execução pela máquina 1300, e incluir sinais de comunicações digitais ou analógicos ou outra mídia não tangível para facilitar a comunicação de tal software. Portanto, os termos “meio de transmissão” e “meio de sinal” devem ser considerados de modo a incluir qualquer forma de sinal de dados modulado, onda portadora, e assim por diante. O termo “sinal de dados modulado” significa um sinal que tem uma ou mais de suas características definidas ou alteradas de tal modo que codifique as informações no sinal.
MEIO LEGÍVEL POR COMPUTADOR
[0102] Os termos “meio legível por máquina”, “meio legível por computador” e “meio legível por dispositivo” significam o mesmo e podem ser usados de maneira intercambiável nesta revelação. Os termos são definidos de modo a incluir tanto a mídia de armazenamento em máquina como a mídia de transmissão. Desse modo, os termos incluem tanto dispositivos/mídias de armazenamento como ondas portadoras/sinais de dados modulados.
[0103] As várias operações dos métodos exemplificativos descritos no presente documento podem ser realizadas, pelo menos parcialmente, por um ou mais processadores que são temporariamente configurados (por exemplo, por software) ou permanentemente configurados para realizar as operações relevantes.
De modo similar, os métodos descritos no presente documento podem ser pelo menos parcialmente implementados por processador. Por exemplo, pelo menos algumas das operações de um método podem ser realizadas por um ou mais processadores. O desempenho de determinadas operações pode ser distribuído entre o um ou mais processadores, não apenas residindo em uma única máquina, mas instalados através de várias máquinas. Em algumas modalidades exemplificativas, o processador ou processadores podem estar situados em um único local (por exemplo, dentro de um ambiente doméstico, um ambiente de escritório ou uma fazenda de servidores), enquanto em outras modalidades, os processadores podem ser distribuídos através de vários locais.
[0104] Embora as modalidades da presente revelação tenham sido descritas com referência às modalidades exemplificativas específicas, será evidente que várias modificações e alterações podem ser efetuadas nessas modalidades sem que se afaste do escopo mais amplo da matéria. Consequentemente, o relatório descritivo e os desenhos devem ser considerados em um sentido ilustrativo em vez de restritivo. Os desenhos anexos que formam um parte deste documento mostram, a título de ilustração, e sem limitação, modalidades específicas nas quais a matéria pode ser praticada. As modalidades ilustradas são descritas em detalhes suficientes para permitir que aqueles versados na técnica pratiquem os ensinamentos revelados no presente documento. Outras modalidades podem ser usadas e derivadas das mesmas, de modo que substituições e alterações estruturais e lógicas possam ser efetuadas sem que se afaste do escopo desta revelação. A descrição detalhada, portanto, não deve ser considerada em um sentido limitativo, e o escopo de várias modalidades é definido apenas pelas reivindicações anexas, juntamente com a faixa completa de equivalentes aos quais tais reivindicações são intituladas.
[0105] Embora as modalidades específicas tenham sido ilustradas e descritas no presente documento, deve-se observar que qualquer disposição calculada para atingir o mesmo propósito pode ser substituída pelas modalidades específicas mostradas. Esta revelação se destina a cobrir quaisquer e todas as adaptações ou variações de várias modalidades. As combinações das modalidades acima, e outras modalidades não especificamente descritas no presente documento, serão evidentes, para aqueles versados na técnica, após a análise da descrição acima.
[0106] Neste documento, os termos “um” ou “uma” são usados, conforme é comum em documentos de patente, de modo a incluir um ou mais de um, independente de quaisquer outras instâncias ou usos de "pelo menos um" ou “um ou mais.” Neste documento, o termo “ou” é usado para se referir a um ou não exclusivo, de modo que “A ou B” inclua “A, porém, não B”, “B, porém, não A” e “A e B”, salvo indicação em contrário. Nas reivindicações anexas, os termos “que inclui” e “no(a) qual” são usados como equivalentes do inglês simples dos respectivos termos “que compreende” e “em que”. Ademais, nas reivindicações seguintes, os termos “que inclui” e “que compreende” são abertos, isto é, um sistema, dispositivo, artigo, ou processo que inclui elementos além daqueles listados após tal termo em uma reivindicação ainda é considerado abrangido pelo escopo desta reivindicação.

Claims (27)

REIVINDICAÇÕES
1. Sistema CARACTERIZADO pelo fato de que compreende: uma primeira unidade de controle eletrônico (ECU) dentre uma pluralidade de ECUs em um veículo, a primeira ECU para permitir a comunicação segura entre a pluralidade de ECUs; e uma segunda ECU dentre a pluralidade de ECUs, a segunda ECU para se comunicar com a primeira ECU; a primeira ECU para permitir a comunicação segura entre a pluralidade de ECUs realizando-se operações que compreendem: provisionar uma terceira ECU dentre a pluralidade de ECUs com um conjunto de chaves de segurança para permitir que a terceira ECU troque de maneira segura mensagens com a segunda ECU; e provisionar a segunda ECU com dados de autenticação para autenticar as mensagens trocadas entre a segunda ECU e a terceira ECU, os dados de autenticação incluindo um ou mais atributos relacionados à comunicação com a terceira ECU com base no conjunto de chaves de segurança; e a segunda ECU sendo para realizar adicionalmente as operações que compreendem: receber, da terceira ECU, uma mensagem segura que é criptograficamente assinada com o uso de uma chave de segurança do conjunto de chaves de segurança provisionado para a terceira ECU; e autenticar a mensagem segura comparando-se os dados de autenticação com um sinal de autenticação.
2. Sistema, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que: o um ou mais atributos incluem um atributo temporal que define um tempo de expiração para a chave de segurança; o sinal de autenticação compreende um sinal de clock mantido pela segunda ECU; e em que o tempo de expiração é comparado ao sinal de clock para a comparação dos dados de autenticação com o sinal de autenticação.
3. Sistema, de acordo com a reivindicação 2, CARACTERIZADO pelo fato de que a segunda ECU serve para manter adicionalmente o sinal de clock com base em uma ou mais atualizações fornecidas por um sistema de computador em comunicação com a primeira ECU.
4. Sistema, de acordo com a reivindicação 2 ou 3, CARACTERIZADO pelo fato de que as operações para permitir a comunicação segura entre a pluralidade de ECUs compreendem adicionalmente: solicitar, a partir de um sistema de computador de um sistema de segurança, dados de autenticação atualizados para atualizar os dados de autenticação, sendo que os dados de autenticação atualizados incluem uma atualização para o tempo de expiração para a chave de segurança; e provisionar a segunda ECU com os dados de autenticação atualizados para a chave de segurança.
5. Sistema, de acordo com qualquer uma das reivindicações 1 a 4, CARACTERIZADO pelo fato de que: o um ou mais atributos incluem a atributo temporal que define uma janela de tempo para enviar mensagens criptograficamente assinadas com o uso da chave de segurança; o sinal de autenticação compreende um sinal de clock; e a segunda ECU se destina a autenticar a mensagem segura comparando-se a janela de tempo com o sinal de clock.
6. Sistema, de acordo com qualquer uma das reivindicações 1 a 5, CARACTERIZADO pelo fato de que: o um ou mais atributos incluem um atributo de contagem de mensagens que define uma contagem de mensagens máxima para a chave de segurança; e a segunda ECU se destina a autenticar a mensagem segura realizando-se operações que compreendem: incrementar um contador de mensagens após o recebimento da mensagem segura da terceira ECU, sendo que o contador de mensagens corresponde às mensagens criptograficamente assinadas com o uso da chave de segurança; e comparar o contador de mensagens com a contagem de mensagens máxima.
7. Sistema, de acordo com qualquer uma das reivindicações 1 a 6, CARACTERIZADO pelo fato de que: o um ou mais atributos incluem um atributo de componente que especifica um identificador de um componente do veículo com o qual se permite que a terceira ECU se comunique; e a segunda ECU se destina a autenticar a mensagem segura ao verificar que a mensagem segura se refere à operação do componente do veículo com o qual se permite que a terceira ECU se comunique.
8. Sistema, de acordo com qualquer uma das reivindicações 1 a 7, CARACTERIZADO pelo fato de que: o um ou mais atributos incluem um atributo de operação que especifica uma operação que se permite que a ECU realize; e a segunda ECU se destina a autenticar a mensagem segura ao verificar que a mensagem segura corresponde à operação que se permite que a terceira ECU realize.
9. Sistema, de acordo com qualquer uma das reivindicações 1 a 8, CARACTERIZADO pelo fato de que a mensagem segura é criptograficamente assinada com o uso de uma combinação do sinal de autenticação e da chave de segurança.
10. Sistema, de acordo com qualquer uma das reivindicações 1 a 9, CARACTERIZADO pelo fato de que a segunda ECU se destina adicionalmente a enviar um sinal para a primeira ECU em resposta à incapacidade de autenticar de maneira bem-sucedida a mensagem segura recebida a partir da terceira ECU, sendo que o sinal indica uma falha de autenticação de chave de segurança em relação à terceira ECU.
11. Sistema, de acordo com a reivindicação 10, CARACTERIZADO pelo fato de que a primeira ECU se destina a limitar a operação do veículo em resposta ao recebimento do sinal a partir da segunda ECU.
12. Sistema, de acordo com a reivindicação 11, CARACTERIZADO pelo fato de que a primeira ECU se destina a limitar a operação do veículo colocando-se a terceira ECU em um modo de operação restrito que restringe que a terceira ECU realize uma ou mais operações.
13. Sistema, de acordo com a reivindicação 10, CARACTERIZADO pelo fato de que a primeira ECU se destina adicionalmente a: solicitar, a partir de um sistema de computador que fornece um serviço de segurança, uma nova chave de segurança para a terceira ECU em resposta ao recebimento da mensagem a partir da segunda ECU.
14. Sistema, de acordo com qualquer uma das reivindicações 1 a 13, CARACTERIZADO pelo fato de que a primeira ECU se destina adicionalmente a: receber, a partir de um sistema de computador que fornece um serviço de segurança, uma pluralidade de certificados digitais, sendo que cada certificado digital corresponde a uma dentre a pluralidade de ECUs; enviar, para um computador servidor que fornece um serviço para entregar o firmware, uma solicitação para os dados de firmware para configurar o firmware em cada ECU na pluralidade de ECUs, sendo que a solicitação inclui a pluralidade de certificados digitais; receber, a partir do computador servidor, os dados de firmware para cada ECU dentre a pluralidade de ECUs; e fazer, com o uso dos dados de firmware, com que o firmware seja configurado em cada ECU dentre a pluralidade de ECUs.
15. Sistema, de acordo com a reivindicação 14, CARACTERIZADO pelo fato de que: cada ECU dentre a pluralidade de ECUs inclui inicialmente uma porção do código de programa, sendo que cada ECU é incapaz de operar totalmente com o uso da porção do código de programa; e o firmware, uma vez configurado em cada ECU dentre a pluralidade de ECUs, faz com que cada ECU tenha o código de programa permite que a ECU seja totalmente operacional.
16. Sistema CARACTERIZADO pelo fato de que compreende: um ou mais processadores de uma primeira unidade de controle eletrônico (ECU) de uma pluralidade de ECUs em um veículo; e um dispositivos de memória da primeira ECU, o dispositivos de memória para armazenar: dados de autenticação para autenticar mensagens trocadas entre a primeira ECU e uma segunda ECU dentre a pluralidade de ECUs, sendo que os dados de autenticação incluem um ou mais atributos relacionados à comunicação com a segunda ECU com base em um conjunto de chaves de segurança provisionado para a segunda ECU; e um conjunto de instruções que, quando executadas por um ou mais processadores, faz com que a primeira ECU realize operações que compreendem: receber, da segunda ECU, uma mensagem segura que é criptograficamente assinada com o uso de uma chave de segurança do conjunto de chaves de segurança provisionado para a segunda ECU; e autenticar a mensagem segura comparando-se os dados de autenticação com um sinal de autenticação mantido pela primeira ECU.
17. Sistema, de acordo com a reivindicação 16, CARACTERIZADO pelo fato de que o um ou mais atributos incluem pelo menos um dentre: um primeiro atributo temporal que define um tempo de expiração para a chave de segurança, um segundo atributo temporal que define uma janela de tempo para enviar mensagens criptograficamente assinadas com o uso da chave de segurança, um atributo de contagem de mensagens que define uma contagem de mensagens máxima para a chave de segurança, um atributo de componente que especifica um identificador de um componente do veículo com o qual se permite que a segunda ECU se comunique, e um atributo de operação que especifica uma operação que se permite que a segunda ECU realize.
18. Sistema, de acordo com a reivindicação 16 ou 17, CARACTERIZADO pelo fato de que compreende adicionalmente: uma terceira ECU dentre a pluralidade de ECUs no veículo, a terceira ECU para permitir a comunicação segura entre a pluralidade de ECUs ao realizar operações que compreendem: provisionar a segunda ECU dentre a pluralidade de ECUs com o conjunto de chaves de segurança para permitir que a segunda ECU troque de maneira segura mensagens com a primeira ECU; e provisionar a primeira ECU com os dados de autenticação para autenticar mensagens trocadas entre a primeira ECU e a segunda ECU.
19. Sistema, de acordo com a reivindicação 18, CARACTERIZADO pelo fato de que: o conjunto de instruções faz com que a primeira ECU envie uma mensagem para a terceira ECU em resposta à incapacidade de autenticar de maneira bem- sucedida a mensagem segura recebida a partir da segunda ECU, sendo que a mensagem indica uma falha de autenticação de chave de segurança em relação à segunda ECU; e a terceira ECU se destina adicionalmente a realizar operações que compreendem:
limitar a operação do veículo em resposta ao recebimento da mensagem a partir da primeira ECU; e solicitar, a partir de um sistema de computador que fornece um serviço de segurança, uma nova chave de segurança para a segunda ECU em resposta ao recebimento da mensagem a partir da primeira ECU.
20. Método CARACTERIZADO pelo fato de que compreende: armazenar, em uma primeira unidade de controle eletrônico (ECU) de uma pluralidade de ECUs em um veículo, dados de autenticação que incluem um ou mais atributos relacionados à comunicação com uma segunda ECU com base em um conjunto de chaves de segurança provisionado para a segunda ECU; receber, pela primeira ECU, uma mensagem segura a partir da segunda ECU, sendo que a mensagem segura é criptograficamente assinada com o uso de uma chave de segurança a partir do conjunto de chaves de segurança provisionado para a segunda ECU; e autenticar, pela primeira ECU, a mensagem segura comparando-se os dados de autenticação com um sinal de autenticação mantido pela primeira ECU.
21. Meio de armazenamento CARACTERIZADO pelo fato de que armazena instruções implementáveis por processador que, quando executadas por pelo menos um processador, fazem com que o pelo menos um processador execute o método, de acordo com a reivindicação 20.
22. Meio de portadora que porta instruções implementáveis por processador CARACTERIZADO pelo fato de que, quando executadas por pelo menos um processador, fazem com que o pelo menos um processador execute o método, de acordo com a reivindicação 20.
23. Método para permitir a comunicação segura entre uma pluralidade de unidades de controle eletrônico (ECUs) em um veículo com o uso de uma primeira ECU dentre a pluralidade de ECUs, sendo que é método é CARACTERIZADO pelo fato de que compreende:
provisionar uma terceira ECU dentre a pluralidade de ECUs com um conjunto de chaves de segurança para permitir que uma terceira ECU troque de maneira segura mensagens com uma segunda ECU; e provisionar a segunda ECU com dados de autenticação para autenticar as mensagens trocadas entre a segunda ECU e a terceira ECU, os dados de autenticação incluindo um ou mais atributos relacionados à comunicação com a terceira ECU com base no conjunto de chaves de segurança; e a segunda ECU sendo para realizar adicionalmente as operações que compreendem: receber, da terceira ECU, uma mensagem segura que é criptograficamente assinada com o uso de uma chave de segurança do conjunto de chaves de segurança provisionado para a terceira ECU; e autenticar a mensagem segura comparando-se os dados de autenticação com um sinal de autenticação.
24. Meio de armazenamento CARACTERIZADO pelo fato de que armazena instruções implementáveis por processador que, quando executadas por uma primeira unidade de controle eletrônico (ECU) de uma pluralidade de ECUs em um veículo, fazem com que a primeira ECU permita a comunicação segura entre uma pluralidade de ECUs ao realizar o método, de acordo com a reivindicação 23.
25. Meio de portadora CARACTERIZADO pelo fato de que porta instruções implementáveis por processador que, quando executadas por uma primeira unidade de controle eletrônico (ECU) de uma pluralidade de ECUs em um veículo, fazem com que a primeira ECU permita a comunicação segura entre uma pluralidade de ECUs ao realizar o método, de acordo com a reivindicação 23.
26. Meio de armazenamento CARACTERIZADO pelo fato de que armazena instruções implementáveis por processador que, quando executadas por uma primeira unidade de controle eletrônico (ECU) de uma pluralidade de ECUs em um veículo, fazem com que a primeira unidade de controle eletrônico (ECU) seja configurada como a primeira ECU no sistema, de acordo com qualquer uma das reivindicações 1 a 15.
27. Meio de portadora CARACTERIZADO pelo fato de que porta instruções implementáveis por processador que, quando executadas por uma primeira unidade de controle eletrônico (ECU) de uma pluralidade de ECUs em um veículo, fazem com que a primeira unidade de controle eletrônico (ECU) seja configurada como a primeira ECU no sistema, de acordo com qualquer uma das reivindicações 1 a 15.
BR112020015133-5A 2018-01-29 2019-01-25 Comunicação segura entre unidades de controle eletrônico no veículo BR112020015133A2 (pt)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862623304P 2018-01-29 2018-01-29
US62/623,304 2018-01-29
US16/027,681 US11178158B2 (en) 2018-01-29 2018-07-05 Secure communication between in-vehicle electronic control units
US16/027,681 2018-07-05
PCT/EP2019/051877 WO2019145488A1 (en) 2018-01-29 2019-01-25 Secure communication between in-vehicle electronic control units

Publications (1)

Publication Number Publication Date
BR112020015133A2 true BR112020015133A2 (pt) 2021-01-05

Family

ID=67393826

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112020015133-5A BR112020015133A2 (pt) 2018-01-29 2019-01-25 Comunicação segura entre unidades de controle eletrônico no veículo

Country Status (7)

Country Link
US (3) US11178158B2 (pt)
EP (1) EP3747172A1 (pt)
JP (1) JP7159328B2 (pt)
KR (3) KR20240055869A (pt)
CN (2) CN111788811B (pt)
BR (1) BR112020015133A2 (pt)
WO (1) WO2019145488A1 (pt)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11178158B2 (en) 2018-01-29 2021-11-16 Nagravision S.A. Secure communication between in-vehicle electronic control units
AT521914B1 (de) * 2018-12-13 2020-10-15 Avl List Gmbh Kommunikationsmodul
US11290437B2 (en) 2018-12-27 2022-03-29 Beijing Voyager Technology Co., Ltd. Trusted platform protection in an autonomous vehicle
US11356256B2 (en) * 2019-03-25 2022-06-07 Micron Technology, Inc. Secure vehicular part communication
KR20200119601A (ko) * 2019-04-10 2020-10-20 현대모비스 주식회사 차량의 바이너리 데이터 처리 장치 및 방법
BR112021015585A2 (pt) * 2019-04-25 2021-11-03 Deere & Co Sistemas, métodos e controladores para comunicações seguras
US11368471B2 (en) * 2019-07-01 2022-06-21 Beijing Voyager Technology Co., Ltd. Security gateway for autonomous or connected vehicles
US11366879B2 (en) * 2019-07-08 2022-06-21 Microsoft Technology Licensing, Llc Server-side audio rendering licensing
CN112422595B (zh) * 2019-08-20 2022-10-11 华为技术有限公司 车载系统安全保护方法及设备
US11126752B2 (en) 2019-09-04 2021-09-21 Fresenius Medical Care Holdings, Inc. Authentication of medical device computing systems by using metadata signature
DE102019216462A1 (de) * 2019-10-25 2021-04-29 Robert Bosch Gmbh Verfahren und Vorrichtung zum Betreiben einer Recheneinrichtung
KR20220103755A (ko) * 2019-11-15 2022-07-22 마벨 아시아 피티이 엘티디. 게스트 애플리케이션들을 위한 안전한 개방형 플랫폼을 제공하는 자동차 게이트웨이
CN114884737A (zh) * 2019-12-23 2022-08-09 华为技术有限公司 通信方法及相关产品
US11080387B1 (en) * 2020-03-16 2021-08-03 Integrity Security Services Llc Validation of software residing on remote computing devices
CN112689982B (zh) * 2020-04-15 2022-04-29 华为技术有限公司 数据验证方法、装置及存储介质
US20210362735A1 (en) * 2020-05-20 2021-11-25 Intertrust Technologies Corporation Policy managed vehicle operation systems and methods
CN111817849A (zh) * 2020-06-30 2020-10-23 宝能(广州)汽车研究院有限公司 电子控制单元ecu及其安全通信方法、系统
US11589326B2 (en) * 2020-07-30 2023-02-21 Nokia Technologies Oy Secure clock source as a service in a communication system
CN112131572B (zh) * 2020-08-31 2022-12-27 华为技术有限公司 车载设备的控制方法、车载设备及车辆系统
US11509466B2 (en) 2021-01-14 2022-11-22 Ford Global Technologies, Llc Transmission of authentication keys
US11791999B2 (en) 2021-02-18 2023-10-17 Ford Global Technologies, Llc Vehicle electronic control unit authentication
JP7535002B2 (ja) * 2021-03-30 2024-08-15 本田技研工業株式会社 車載電子システム、車両、制御方法、及びプログラム
US11804962B2 (en) * 2021-04-29 2023-10-31 GM Global Technology Operations LLC System and method for establishing an in-vehicle cryptographic manager
KR20220158523A (ko) * 2021-05-24 2022-12-01 현대자동차주식회사 차량 시스템, 서버 및 차량 통신 보안 방법
WO2023191195A1 (ko) * 2022-03-31 2023-10-05 엘지전자 주식회사 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치
US20230344819A1 (en) * 2022-04-20 2023-10-26 Dell Products L.P. Control-plane protocol for isolated or disconnected environments of an information handling system
US20240073037A1 (en) * 2022-08-31 2024-02-29 Toyota Motor North America, Inc. Internal certificate authority for electronic control unit
WO2024070044A1 (ja) * 2022-09-28 2024-04-04 パナソニックオートモーティブシステムズ株式会社 検証システム、検証方法、及び、プログラム
US20240113867A1 (en) * 2022-09-30 2024-04-04 General Electric Company Methods and systems for starting secure communication in systems with high availability

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3139702A1 (de) 1981-10-06 1983-04-21 Boehringer Mannheim Gmbh, 6800 Mannheim Gefaess zur handhabung von pastoesem probenmaterial
US7805612B2 (en) * 2005-12-02 2010-09-28 Gm Global Technology Operations, Inc. Use of global clock to secure and synchronize messages in XM and SMS messages to a vehicle
US8090949B2 (en) * 2008-03-13 2012-01-03 GM Global Technology Operations LLC Certificate assignment strategies for efficient operation of the PKI-based security architecture in a vehicular network
US8275891B2 (en) * 2009-07-20 2012-09-25 At&T Intellectual Property I, L.P. Method and apparatus for social networking in a dynamic environment
JP5310761B2 (ja) * 2011-03-04 2013-10-09 トヨタ自動車株式会社 車両ネットワークシステム
JP5479408B2 (ja) * 2011-07-06 2014-04-23 日立オートモティブシステムズ株式会社 車載ネットワークシステム
US9280653B2 (en) * 2011-10-28 2016-03-08 GM Global Technology Operations LLC Security access method for automotive electronic control units
KR101879820B1 (ko) * 2011-12-28 2018-07-18 한국단자공업 주식회사 스마트카의 보안시스템 및 보안방법
US9840212B2 (en) 2014-01-06 2017-12-12 Argus Cyber Security Ltd. Bus watchman
US9792440B1 (en) 2014-04-17 2017-10-17 Symantec Corporation Secure boot for vehicular systems
WO2015170451A1 (ja) 2014-05-08 2015-11-12 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 車載ネットワークシステム、電子制御ユニット及び不正検知方法
US9460567B2 (en) * 2014-07-29 2016-10-04 GM Global Technology Operations LLC Establishing secure communication for vehicle diagnostic data
US9825937B2 (en) * 2014-09-23 2017-11-21 Qualcomm Incorporated Certificate-based authentication
WO2016075865A1 (ja) * 2014-11-12 2016-05-19 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 更新管理方法、更新管理装置及び制御プログラム
EP3041196B1 (en) * 2015-01-01 2019-06-26 Harman Becker Automotive Systems GmbH Method and apparatus for connecting a mobile communication device to a head unit of a vehicle
KR20160093764A (ko) * 2015-01-29 2016-08-09 주식회사 아나스타시스 Otp rom을 활용하는 ecu 보안 통신 시스템
DE102015209116A1 (de) * 2015-05-19 2016-11-24 Robert Bosch Gmbh Verfahren und Aktualisierungsgateway zum Aktualisieren eines eingebetteten Steuergerätes
WO2017022821A1 (ja) * 2015-08-05 2017-02-09 Kddi株式会社 管理装置、管理システム、鍵生成装置、鍵生成システム、鍵管理システム、車両、管理方法、鍵生成方法、及びコンピュータプログラム
US10279775B2 (en) 2015-09-10 2019-05-07 Robert Bosch Gmbh Unauthorized access event notification for vehicle electronic control units
JP6217728B2 (ja) * 2015-10-19 2017-10-25 トヨタ自動車株式会社 車両システムおよび認証方法
KR20170055648A (ko) * 2015-11-12 2017-05-22 주식회사 미래테크놀로지 자동차 내부 네트웍의 보안통신장치
KR102210438B1 (ko) * 2015-12-27 2021-02-01 한국전자기술연구원 대칭키 알고리즘을 이용한 경량 암복호화 방법 및 시스템
JP6260067B1 (ja) 2016-08-09 2018-01-17 Kddi株式会社 管理システム、鍵生成装置、車載コンピュータ、管理方法、及びコンピュータプログラム
CN106533655B (zh) * 2016-10-27 2020-07-31 江苏大学 一种车内网ecu安全通信的方法
US10516683B2 (en) * 2017-02-15 2019-12-24 Ford Global Technologies, Llc Systems and methods for security breach detection in vehicle communication systems
GB2561256A (en) * 2017-04-05 2018-10-10 Stmicroelectronics Grenoble2 Sas Apparatus for use in a can system
US20200151972A1 (en) * 2017-05-09 2020-05-14 Mitsubishi Electric Corporation In-vehicle authentication system, vehicle communication apparatus, authentication management apparatus, in-vehicle authentication method, and computer readable medium
US20190068361A1 (en) * 2017-08-30 2019-02-28 Ford Global Technologies, Llc In-vehicle group key distribution
US10009325B1 (en) * 2017-12-07 2018-06-26 Karamba Security End-to-end communication security
US11178158B2 (en) 2018-01-29 2021-11-16 Nagravision S.A. Secure communication between in-vehicle electronic control units

Also Published As

Publication number Publication date
US20190238555A1 (en) 2019-08-01
KR102538435B1 (ko) 2023-05-31
KR20240055869A (ko) 2024-04-29
CN111788811B (zh) 2022-11-25
WO2019145488A1 (en) 2019-08-01
EP3747172A1 (en) 2020-12-09
US20220094695A1 (en) 2022-03-24
KR20230079487A (ko) 2023-06-07
KR20200135775A (ko) 2020-12-03
KR102658765B1 (ko) 2024-04-18
US11916924B2 (en) 2024-02-27
CN115776385A (zh) 2023-03-10
US11178158B2 (en) 2021-11-16
JP7159328B2 (ja) 2022-10-24
US20240195813A1 (en) 2024-06-13
JP2021512543A (ja) 2021-05-13
CN111788811A (zh) 2020-10-16

Similar Documents

Publication Publication Date Title
BR112020015133A2 (pt) Comunicação segura entre unidades de controle eletrônico no veículo
EP3883212B1 (en) Device upgrade method and related device
EP3926500B1 (en) Device upgrade method and related device
CN110708388B (zh) 用于提供安全服务的车身安全锚节点设备、方法以及网络系统
CN105635147A (zh) 基于车载特种装备系统的数据安全传输方法及系统
CN113439425B (zh) 报文传输方法及装置
CN112534793A (zh) 一种车载设备升级方法及相关装置
CN111343613A (zh) 在过程控制系统中建立安全的低能量无线通信的方法和装置
KR102389727B1 (ko) 차량 내 전자식 제어기 보안성 평가 방법 및 그 장치
JP2016163265A (ja) 鍵管理システム、鍵管理方法およびコンピュータプログラム
CN115943381A (zh) 一种数据加解密方法和装置
JP6835935B2 (ja) 更新管理方法、更新管理装置及び制御プログラム
US10242234B2 (en) Wireless enabled secure storage drive
KR102377045B1 (ko) 하드웨어 보안 모듈을 이용한 클라우드를 통한 IoT(Internet of Thing) 디바이스 인증 시스템 및 방법
KR20190078154A (ko) 차량용 통합 인증 장치 및 방법
CN109960935A (zh) 确定tpm可信状态的方法、装置及存储介质
CN103414567A (zh) 信息监控方法及系统
CN114980012A (zh) 一种车联网设备认证方法、装置及存储介质
JP2017011482A (ja) 管理システム、車両、管理装置、車載コンピュータ、管理方法、及びコンピュータプログラム
CN115250450B (zh) 一种获取组通信密钥的方法及设备
Lang et al. Security Evolution in Vehicular Systems
CN103414566A (zh) 输出方法及安全设备、响应方法及系统、执行方法及系统
CN103414565A (zh) 输出方法及安全设备、响应方法及系统、执行方法及系统
WO2023033823A1 (en) Producing messages
CN118101173A (zh) 充电桩的调试端口密码更新方法、装置及系统

Legal Events

Date Code Title Description
B350 Update of information on the portal [chapter 15.35 patent gazette]