MÉTODO DE DETECÇÃO DE ADULTERAÇÃO
Campo Técnico [0001] A presente invenção se refere a um método de detecção de software em concordância com os preâmbulos das reivindicações de patente independentes subseqüentemente.
Panorama do Estado da Técnica [0002] Um dispositivo de controle eletrônico, por exemplo, para um motor de combustão interna ou para uma caixa de marchas contém software para controle de diferentes aplicações de referido motor ou referida caixa de marchas. Quando um motor e uma caixa de marchas está deixando a fábrica, estes possuem uma versão prédeterminada do software instalado. Referido software pode mais tarde ser atualizado pelo fabricante do veículo, por exemplo, em pontos de serviço do veículo por determinadas razões.
[0003] Entretanto, existe também um número de firmas de tuníng mais ou menos irresponsáveis que proporcionam para numerosas variações de instalações de tuníng de software. Tal software não autorizado pode provocar desgaste de componente prematuro devido para manipulações de variáveis de sistema definidas originalmente, tais como entre outras, variáveis para controle, tempo de regulagem de injeção, quantidade de combustível injetado para cada cilindro, pressão de impulsão, limite de rpm e manipulação do programa de troca de marchas. Tais instalações de software não autorizado podem provocar que o motor e/ou a caixa de marchas venham apresentar falha prematura de motor e/ou de caixa de marchas e/ou desgaste perceptível de tais componentes, o que é um problema para o fabricante e seu comprometimento de garantia. Quando existe uma falha mecânica devida para a utilização de software não autorizado, o proprietário do
Petição 870180162926, de 13/12/2018, pág. 9/20
2/7 veículo usualmente instala o software original para ocultação da (esconder a) utilização do software de tuning que pode ter sido a causa de tal falha mecânica.
|
Resumo da Invenção |
[0004] É um objetivo da |
presente |
invenção o |
de |
proporcionar um método para detecção |
da |
utilização |
de |
software |
não autorizado |
utilizado |
em |
uma unidade |
de |
controle |
eletrônico, por |
exemplo, |
para |
um motor |
de |
combustão |
interna e/ou para |
uma caixa |
de |
marchas de veículo |
para tornar possível para |
o fabricante |
do |
veículo provar |
instalações de software não |
aprovado. |
|
|
|
|
[0005] Os objetivos são conseguidos pelas características das reivindicações de patente independentes subseqüentemente. As outras reivindicações de patente dependentes subseqüentemente e o relatório descritivo apresentam concretizações vantajosas da presente invenção.
[0006] Em uma primeira concretização exemplificativa em concordância com a presente invenção, é proporcionado um método para detecção de utilização de software não autorizado em uma unidade de controle eletrônico proporcionada em um veículo, referido método compreendendo as etapas de cálculo de CVN a cada vez que o motor é acionado (que se dá partida ao motor); comparação de um último CVN calculado com um último CVN armazenado em uma lista compreendendo uma pluralidade de lugares de armazenamento para referido CVN; armazenamento de referido último CVN calculado se referido último CVN calculado é diferente para o último CVN armazenado juntamente com uma data de uma entrada em referida lista de CVN e/ou a situação (status) de odômetro corrente (atual); remoção de entradas na lista de CVN em concordância com princípio de FIFO quando referida lista de CVN está cheia (completa).
[0007] Uma vantagem com referida concretização exemplificativa da presente invenção é a de que o
Petição 870180162926, de 13/12/2018, pág. 10/20
3/7 fabricante de veículo pode controlar e/ou detectar software não autorizado de uma maneira fácil e não dispendiosa.
[0008] Em uma outra concretização exemplificativa em concordância com a presente invenção, referida lista de entradas de CVN compreende pelo 10 posições de armazenamento.
[0009] Uma vantagem com referida concretização exemplificativa da presente invenção é a de que a utilização de software não autorizado é mais difícil para apagar (ocultar, eliminar) tanto quanto mais posições de armazenamento existem, isto é, um usuário tem que atualizar um número de diferentes versões de software de maneira a apagar (ocultar, eliminar) o software não autorizado.
[00010] Em uma outra concretização exemplificativa da presente invenção, referido método adicionalmente compreende a etapa de provisão de uma lista separada de CVN para diferentes partes pré-definidas da aplicação de software.
[00011] Uma vantagem |
de se |
possuir diferente |
lista de CVN para diferentes |
partes |
da |
aplicação de |
software pode ser a de que o fabricante |
pode |
detectar mais |
precisamente aonde no software referida mudança é autorizada ou |
existiu
não. |
uma |
mudança e se |
[00012] Em uma outra concretização exemplificativa da presente invenção, referido método adicionalmente compreende a etapa de restrição de referido cálculo de CVN para um máximo de uma vez por dia.
[00013] Uma vantagem de referida concretização exemplificativa pode ser a de que é mais difícil para apagar (ocultar, eliminar) a pista (o traço) de um software não autorizado na medida em que isto irá levar (demorar, consumir) diversos dias ou diversas semanas dependendo do número de posições de armazenamento.
[00014] Em uma outra concretização
Petição 870180162926, de 13/12/2018, pág. 11/20 referido método
4/7 exemplificativa da presente invenção, adicionalmente compreende a etapa de recuperação da lista de uma lista de CVN com metadados (metadata) (por exemplo, odômetro, data, tempo) para um cliente embarcado ou desembarcado utilizando, por exemplo, um protocolo de comunicação de diagnóstico.
[00015] Uma vantagem de referida concretização exemplificativa da presente invenção é a de que referida lista de números CVN pode ser facilmente detectável e facilmente visualizada.
Breve Descrição dos Desenhos [00016] A presente invenção juntamente com o/as anteriormente mencionado/as e outro/as objetivos e vantagens pode ser mais bem compreendida a partir da descrição detalhada a seguir das concretizações, mas não restrita para estas concretizações, em que é mostrado esquematicamente:
Observação: CVN é uma abreviação para Número de Verificação de Soma de Verificação [Checksum Verífícatíon Number]. A expressão CVN é utilizada para todos os tipos de somas de verificação no documento e não é limitada para a unidade de controle eletrônico de motor.
Figura 1 representa uma concretização exemplificativa de um fluxograma para entrada de CVN para um logg de CVN (registrador de CVN) em concordância com a presente invenção.
Figura 2 representa uma concretização exemplificativa de uma construção de software.
Figura 3 representa uma concretização exemplificativa de uma um logg de CVN.
[00017] Nos Desenhos, elementos iguais ou similares são referidos por iguais numerais de referência. Os Desenhos são meramente representações esquemáticas, não intencionadas para retratar parâmetros específicos da
Petição 870180162926, de 13/12/2018, pág. 12/20
5/7 presente invenção. Além do mais, os Desenhos são intencionados para representarem somente concretizações típicas da presente invenção e, consequentemente, não deveriam ser considerados como limitantes do escopo da presente invenção.
Descrição Detalhada de Concretizações Preferidas da Invenção [00018] A Figura 1 representa uma concretização exemplificativa de um fluxograma para entrada de CVN [Número de Verificação de Calibragem (Calibration Verífícatíon Number)] para logg de CVN em concordância com a presente invenção. O logg de CVN (histórico de CVN) compreende uma pluralidade de posições de armazenamento. A Figura 3 ilustra uma concretização exemplificativa de logg de CVN (histórico de CVN) . Uma primeira coluna se refere para o número de evento de armazenamento e é simbolizada por #. Uma segunda coluna se refere para a soma de verificação e é simbolizada por Checksum (Soma de Verificação”). Uma terceira coluna se refere para a data do evento de armazenamento e é simbolizada por Data (Date). Uma quarta coluna se refere para a situação (o status) de odômetro e é simbolizada por Odo. Cada posição de armazenamento compreende, conseqüentemente, possível indicação do número de evento de armazenamento, soma de verificação (checksum), data e posição de odômetro. Alternativamente, pode também existir informação adicional armazenada em cada evento, tal como uma assinatura de uma pessoa que fez uma atualização/correção de software. Existe também um caso de utilização para rastrear as atualizações de software na estação de serviço (de manutenção) com uma ferramenta autorizada. Algumas vezes o técnico faz uma atualização de software incorreta e a presente invenção pode ser utilizada para rastreamento daquela atualização e atualizar os métodos de serviço (manutenção).
Petição 870180162926, de 13/12/2018, pág. 13/20
6/7 [00019] O CVN pode ser calculado em concordância com prática bem conhecida, por exemplo, por utilização de cálculo de CRC [Verificação de Redundância Cíclica (Cyclíc Redundancy Check)] 32 e utilização do conteúdo dos bytes de dados (data bytes) que são incluídos na área de interesse no software como uma entrada.
[00020] O cálculo de referido CVN pode ser desempenhado a cada vez que um veículo é acionado. Alternativamente referido cálculo de CVN é desempenhado em um máximo de uma vez por dia. Fazendo uma restrição de cálculo de CVN de somente uma vez por dia torna mais difícil limpar uma lista de CVN para um proprietário de veículo que tenha utilizado software não autorizado na medida em que limpeza de uma entrada demora (leva) um dia e de x entradas demora (leva) x dias.
[00021] O CVN calculado é comparado com o último CVN armazenado no logg de CVN. Quando uma nova marca de veículo deixa a fábrica, existe pelo menos uma entrada de CVN em referido logg de CVN. Se o CVN mais recentemente calculado é igual para referido CVN o mais ultimamente calculado na lista, nenhuma entrada é feita no logg de CVN simbolizada pela trilha sim a partir da caixa mesmo CVN ? no fluxograma representado na Figura 1.
[00022] Se o CVN mais recentemente calculado é diferente para referido CVN o mais ultimamente armazenado na lista, uma entrada é feita no logg de CVN simbolizada pela trilha não a partir da caixa “mesmo CVN ? no fluxograma representado na Figura 1. Se existe um lugar de armazenamento disponível livre depois do CVN o mais ultimamente calculado no logg de CVN, referido CVN mais recentemente calculado é armazenado sobre referido lugar. Se todos lugares de armazenamento disponíveis no logg de CVN estão completos, um princípio de FIFO (primeiro em primeira saída) é utilizado para remover o CVN o mais
Petição 870180162926, de 13/12/2018, pág. 14/20
7/7 antigo armazenado e armazenar o CVN mais recentemente calculado na lista depois do último CVN armazenado.
[00023] A Figura 2 ilustra uma concretização exemplificativa de uma construção de software. Referido software pode compreender uma parte de aplicação, uma parte de conjunto de dados (1) e uma parte de conjunto de dados (2). A parte de aplicação do software pode compreender funcionalidade para gerenciamento da funcionalidade primordial (isto é, o programa). A parte de conjunto de dados (1) pode compreender a calibragem para a funcionalidade para gerenciamento das emissões a partir do veículo. Tal funcionalidade pode ser gerenciamento de sistema de pós-tratamento de gás de exaustão, tempo de regulagem de injeção, quantidade de injeção, limites de rpm, posições de mudança de marchas, etc. A parte de conjunto de dados (2) pode compreender a calibragem para funcionalidade que é única para o veículo, tais como códigos de injetor ou parâmetros de cliente. O software em referida parte de aplicação e/ou referida parte de conjunto de dados pode possuir seu próprio logg de CVN, isto é, a parte de aplicação do software pode possuir um primeiro logg de CVN e a parte de conjunto de dados pode possuir um segundo logg de CVN. Existe também uma possibilidade para utilizar um logg de CVN único para ambas as referidas partes de software.
[00024] O logg de CVN pode ser extraído (lido) por um cliente embarcado ou desembarcado utilizando, por exemplo, um protocolo de comunicação de diagnóstico, por exemplo, SAE J1939-73, ISO 15765-3.