CAMPO DE APLICAÇÃO
[0001] Trata o presente relatório descritivo da Invenção de Invenção de um SISTEMA DE COMUNICAÇÃO SEGURO BASEADO NA IDENTIFICAÇÃO E NA TROCA DE INFORMAÇÕES POR MEIO DE RADIOFREQÜÊNCIA, o qual será empregado na comunicação entre um transmissor e um ou múltiplos receptores/transmissores, visando propiciar maior segurança e eficiência na comunicação em sistemas baseados no protocolo padronizado ISO 18000-6C, e que será utilizado na plataforma do Sistema Nacional de Identificação Automática de Veículos (SINIAV).
DEFINIÇÕES
[0002] O Sistema Nacional de Identificação Automática de Veículos (SINIAV), aprovado por resolução do Conselho Nacional de Trânsito, foi criado com objetivo de planejar e de implantar ações para o combate a roubo e furto de veículos e cargas, bem como gerir o controle de tráfego.
[0003] Definido pela Resolução n.° 212 do Conselho Nacional de Trânsito, o SINIAV é resultado de estudos desenvolvidos pelo Grupo de Trabalho definido pelo Ministério das Cidades, composto por representantes do Departamento Nacional de Trânsito, Gabinete de Segurança Institucional da Presidência da República, Secretaria Municipal de Trânsito de São Paulo e Departamento Estadual de Trânsito do Rio de Janeiro, que elaborou proposta estabelecendo os requisitos para implantação do sistema que será capaz de identificar os veículos da frota brasileira.
[0004] Ainda de acordo com a Resolução n.° 212 do Conselho Nacional de Trânsito e com possíveis alterações da mesma, o SINIAV é composto por placas eletrônicas instaladas nos veículos, que atuam como receptores/transmissores; antenas leitoras, que atuam como receptores, e centrais de processamento informatizadas, sendo que a placa eletrônica terá número de série único, e conterá informações referentes ao veículo, tais como o número da placa; do chassi, e o código RENAVAM.
[0005] A placa eletrônica se tornará um instrumento eficaz de fiscalização em projetos voltados para o aumento da mobilidade urbana e ao controle ambiental, e as antenas que fazem a leitura dos dados dos veículos serão instaladas em locais a serem definidos pelos Departamentos Estaduais de Trânsito (DETRANs).
[0006] Na esfera estadual, os Departamentos Estaduais de Trânsito serão responsáveis pelo gerenciamento do sistema, bem como pela implantação das placas eletrônicas de identificação dos veículos que serão instaladas nos locais que permitam seu funcionamento.
[0007] O SINIAV visa atender as indicações previstas no Artigo 114 do Código de Trânsito Brasileiro, com relação à identificação dos veículos, assim como a Lei Complementar n.° 121, de 09.02.2006, que criou o Sistema Nacional de Prevenção, Fiscalização e Repressão ao Furto e Roubo de Veículos e Cargas.
[0008] Após implantação do SINIAV, o veículo que não possuir a placa eletrônica de identificação estará em condição irregular, sujeitando o seu proprietário ao cometimento de infração de trânsito classificada como grave, estando susceptível às sanções previstas no Artigo 237 do Código de Trânsito Brasileiro, que prevê, além de multa, perda de cinco pontos na CNH, e retenção do veículo para regularização.
[0009] O padrão ISO 18000-6/Amd1 - Extensão com Transponders do Tipo C, doravante denominado simplesmente como ISO 18000-6C, é utilizado em sistemas de identificação por radiofreqüência (RFID) na faixa de freqüência ultra-elevada (UHF), que pode variar entre 860-960 MHz, e se constitui no primeiro padrão de RFID ratificado, em escala mundial, pela Organização Internacional para Padronização (International Organization for Standardization, ISO) [ISO/IEC 18000-6, ISO/IEC 18000-6/Amd 1].
[00010] O sistema básico de RFID contém interrogadores, também chamados leitores, possuindo ainda receptores/transmissores, também chamados transponders ou placas eletrônicas. Conforme especificado no protocolo ISO 18000-6C, um interrogador transmite informação a um transponder, através da modulação de um sinal de RF na faixa de freqüência 860-960 MHz. O transponder retorna a informação ao interrogador, através da modulação do mesmo sinal de RF, e, dessa forma, através da fixação de transponders em objetos, a presença e a identificação destes podem ser determinadas pelos interrogadores em face da sinalização dos transponders, proporcionando, dessa forma, configurações de sistemas de identificação remota de objetos, baseados no padrão ISO 18000-6C, e que são, na atualidade, amplamente utilizados no Brasil e no exterior.
ANTECEDENTES DA TÉCNICA
[00011] Nas técnicas atuais, os sistemas de identificação remota de objetos, baseados no padrão ISO 18000-6C, apresentam pouca proteção em relação à possibilidade de decifração, por terceiros não autorizados, dos dados que são comunicados entre o interrogador e o transponder, permitindo com isso o acesso às informações gravadas e/ou geradas, possibilitando ainda, a um invasor, a escrita de dados no transponder.
[00012] Existe consenso no sentido de que, em geral, é relativamente fácil emular um transponder que implementa o padrão ISO 18000-6C, o que se torna extremamente problemático quando da aplicação desta tecnologia em sistemas onde a segurança dos dados trafegados é requisito prioritário.
[00013] O estado atual da técnica relacionada com os meios de segurança em implementações baseadas no padrão ISO 18000-6C encerram combinações de senhas curtas (32 bits), em associação com uma técnica que se denomina "cover-coding" (XOR com um número aleatório de 16 bits). Por isso, estes meios fornecem apenas uma proteção limitada à transmissão de dados na camada física, associada à comunicação sem-fio entre o interrogador e o transponder, e do acesso à funcionalidade dos transponders em si; assim, estes meios podem ser facilmente quebrados, e, por isso, são inadequados às aplicações que requeiram elevado nível de segurança de dados.
[00014] Os transponders, configurados no padrão ISO 180006C, se mostram vulneráveis às manipulações não autorizadas, que incluem a eliminação de dados; a escuta clandestina de dados durante a comunicação; a leitura não-autorizada de dados; a alteração de dados armazenados, e a falsificação - seja por meio de clonagem, imitação ou emulação dos transponders.
[00015] A solução proporcionada pelo objeto da presente invenção apresenta uma solução alternativa e inovadora, configurada no padrão ISO 18000-6C, que proporciona nível de segurança, aos dados comunicados e gravados, compatível com a aplicação a que se destinam.
[00016] Já é conhecido do estado atual da técnica o sistema proprietário de segurança para transponders, configurados sob o padrão ISO 18000-6C, denominado EAS, que utiliza chaves secretas de acesso, de 32 bits, para controle de acesso à memória do transponder, que fornece um nível de proteção básico de controle de acesso, sem encriptação de dados. A ausência de encriptação dos dados que são transmitidos pela interface aérea torna este sistema inadequado para proteger a confidencialidade necessária às aplicações de alta segurança.
[00017] Outro mecanismo relevante no mercado, que pode ser considerado suficientemente leve (lightweight) e apropriado para a operação de baixa energia (low-power) e utilização comercial no âmbito de transponders passivos de RFID/UHF, no padrão ISO 18000-6C, é a cifra proprietária Crypto1, que hoje está sendo usado, principalmente, em transponders passivos HF, configurados nos padrões ISO 14443 e MIFARE (MIFARE Classic), para encriptação de dados com chaves secretas de 48 bits. Contudo, existe um conjunto de literatura que relata ataques criptoanalíticos realizados com sucesso contra esta cifra proprietária usada para autenticação e encriptação, que resultaram na determinação das chaves secretas, na ordem de grandeza de minutos.
[00018] Existem outras soluções que fornecem meios de proteção de dados em sistemas de RFID; entretanto, estas se valem de protocolos proprietários ou não-compatíveis com o padrão ISO 18000-6C.
SUMÁRIO DA INVENÇÃO
[00019] Assim sendo, é extremamente desejável o desenvolvimento de sistema de identificação remota, baseado no padrão internacional ISO 18000-6C, que agregue alto nível de segurança de dados de identificação dos transponders, à leitura e à escrita de dados.
[00020] Exemplos não exaustivos de sistemas de identificação que requerem um elevado nível de segurança de dados e de comunicação são os sistemas de identificação veicular, incluindo sistemas de registro eletrônico de veículos e de pedágio eletrônico.
[00021] A presente invenção visa superar deficiências que são verificadas nos sistemas usuais de identificação e de comunicação, baseados no padrão ISO 18000-6C, com a introdução de comandos customizados à própria norma, resultando em um sistema apropriado às aplicações que requeiram elevado nível de proteção da autenticidade dos interrogadores e dos transponders; da autorização de acesso à funcionalidade dos transponders, e da proteção da confidencialidade, da integridade e da atualidade de dados comunicados entre os interrogadores e os transponders, utilizando meios de segurança padronizados de ponta.
[00022] A presente invenção define um esquema de execução eficiente dos comandos customizados, permitindo tratamento de falhas de comunicação, reduzindo o tempo de execução, comparativamente à execução seqüencial, mantendo total conformidade com o protocolo ISO 18000-6C.
OBJETIVOS DA INVENÇÃO
[00023] Em vista do exposto, o principal objetivo da invenção é propor um sistema de comunicação seguro baseado no protocolo de identificação por radiofrequência padronizada ISO 18000-6C.
[00024] Outro objetivo da invenção é propor um sistema de comunicação seguro cujo protocolo de comunicação permitirá a identificação remota de transponders com total segurança.
[00025] Outro objetivo da invenção é propor um sistema de comunicação seguro que utiliza um algoritmo de criptografia inviolável.
[00026] Outro objetivo da invenção é propor um sistema de comunicação seguro com encriptação dinâmica de dados, resultando em um texto cifrado cuja representação binária varia de acordo com o tempo da encriptação, independentemente das características do texto original.
[00027] Outro objetivo da invenção é propor um sistema de comunicação seguro que estabelece um contexto de sessão comunicativa única entre um interrogador e um transponder, com a troca de parâmetros variáveis por tempo (nonces), e, opcionalmente, com a geração de chaves criptográficas secretas variáveis por sessão.
[00028] Outro objetivo da invenção é propor um sistema de comunicação seguro que garante uma autenticação implícita precisa do interrogador que solicita a identificação de um transponder.
[00029] Outro objetivo da invenção é propor um sistema de comunicação seguro que garante uma autenticação precisa do transponder identificado pelo interrogador.
[00030] Outro objetivo da invenção é propor um sistema de comunicação seguro que garante que apenas interrogadores autenticados pelo sistema possam identificar transponders sem ambigüidade.
[00031] Outro objetivo da invenção é propor um sistema de comunicação seguro que garante a proteção da confidencialidade, da integridade, e da atualidade das informações transmitidas via um meio de comunicação, preferencialmente via meio aéreo, entre um interrogador e um transponder.
[00032] Outro objetivo da invenção é propor um sistema de comunicação seguro que garante que apenas um interrogador autenticado e autorizado possa ler informações do transponder.
[00033] Outro objetivo da invenção é propor um sistema de comunicação seguro que garante que apenas um interrogador autenticado e autorizado possa escrever informações no transponder.
[00034] Outro objetivo da invenção é propor um sistema de comunicação seguro que garante que um interrogador recebe código de status, protegido por criptografia em resposta a cada comando executado, com a intenção de alterar de forma confiável o estado da memória persistente do transponder, garantindo a consistência da memória do transponder.
[00035] Outro objetivo da invenção é propor um sistema de comunicação seguro que garante a encriptação de dados protegida contra alterações não-autorizadas, incluindo a substituição de dados e/ou a alteração da sequência de dados transmitidos.
[00036] Outro objetivo da invenção é propor um sistema de comunicação seguro que garante que uma espoliação de sessão (session hijacking) após autenticação mútua bem sucedida entre interrogador e o transponder não seja praticável.
[00037] Outro objetivo da invenção é propor um sistema de comunicação seguro que garante a pronta resposta do transponder, mesmo na execução de comandos cujo processamento seja computacionalmente dispendioso nos transponders.
[00038] Outro objetivo da invenção é propor um sistema de comunicação seguro que permite a execução de comandos por paralelismo ao longo do tempo das operações em múltiplos transponders, reduzindo o tempo total de execução e tornando a interação entre um interrogador e múltiplos transponders mais eficiente.
[00039] Outro objetivo da invenção é propor um sistema de comunicação seguro que pode capacitar a desativação permanente de comandos nativos e dos estados e transições da máquina de estados do protocolo ISO 18000-6C correspondentes, que comprometam a efetividade da sua comunicação.
[00040] Outro objetivo da invenção é propor um sistema de comunicação seguro que estende a máquina de estados do protocolo ISO 18000-6C, em consideração a novos comandos customizados.
[00041] Outro objetivo da invenção é propor um sistema de comunicação seguro que mantém total compatibilidade com o protocolo ISO 18000-6C, por meio do aproveitamento o conceito de comandos customizados (custom commands), permitindo extensão de funcionalidade do protocolo existente sem no entanto alterar sua característica fundamental de ser ISO 18000-6C.
[00042] Outro objetivo da invenção é propor um sistema de comunicação seguro que permite o procedimento do inventário do protocolo ISO 18000-6C no transponder, onde uma autenticação mútua entre um interrogador e um transponder pode ser realizada com a troca de apenas duas, em vez de três, mensagens explícitas.
[00043] Outro objetivo da invenção é propor um sistema de comunicação seguro que permite a autenticação e a identificação de transponders que passam em alta velocidade.
[00044] Outro objetivo da invenção é propor um sistema de comunicação seguro que permite a autenticação e identificação de transponders através de um único comando combinado, com transmissão de um conjunto de dados identificadores de tamanho limitado, possibilitando alta eficiência no tempo de transmissão, por meio de redução do overhead na comunicação, e a maximização do intervalo contíguo de processamento no transponder, reduzindo o overhead de processamento no interrogador.
FUNDAMENTOS DA INVENÇÃO
[00045] Os objetivos acima enunciados, bem como outros, são atingidos pela invenção mediante melhoramentos funcionais sistêmicos introduzidos nos transponders; nos interrogadores, e no protocolo de comunicação ISO 18000-6C.
[00046] Outra característica do sistema de comunicação seguro consiste no fato de empregar comandos customizados para os interrogadores, os quais geram respostas correspondentes para os transponders.
[00047] Outra característica do sistema de comunicação seguro consiste no fato de empregar de um algoritmo de criptografia simétrico.
[00048] Outra característica do sistema de comunicação seguro consiste no fato do transponder possuir um único e exclusivo ID denotado UTID (unique transponder identifier).
[00049] Outra característica do sistema de comunicação seguro consiste no fato de cada transponder possuir um ID de grupo denotado GID.
[00050] Outra característica do sistema de comunicação seguro consiste no fato do algoritmo de criptografia simétrico cifrar as informações antes da transmissão via interface de comunicação.
[00051] Outra característica do sistema de comunicação seguro consiste no fato do código criptográfico ser alterado em cada comunicação.
[00052] Outra característica do sistema de comunicação seguro consiste no fato de comandos customizados executarem autenticação do transponder.
[00053] Outra característica do sistema de comunicação seguro consiste no fato de comandos customizados executarem autenticação do interrogador, de uma forma implícita e explicita.
[00054] Outra característica do sistema de comunicação seguro consiste no fato dos comandos customizados executarem a leitura de informações do transponder, com a autenticação do pedido e a proteção das informações transmitidas por criptografia.
[00055] Outra característica do sistema de comunicação seguro consiste no fato dos comandos customizados executarem a escrita de informações no transponder, com a autenticação do pedido e a proteção das informações transmitidas por criptografia.
[00056] Outra característica do sistema de comunicação seguro consiste no fato de prever um meio para devolver aos interrogadores um código de status protegido por criptografia, em resposta a cada comando enviado e executado por um transponder, com a intenção de alterar o estado da memória persistente do transponder.
[00057] Outra característica do sistema de comunicação seguro consiste no fato de prever um meio para impedir uma espoliação de sessão (session hijacking) após autenticação mútua bem sucedida entre interrogador e o transponder.
[00058] Outra característica do sistema de comunicação seguro consiste no fato de prever comandos customizados auxiliares, que executam em duas fases comandos customizados computacionalmente dispendiosos nos transponders.
[00059] Outra característica do sistema de comunicação seguro consiste no fato de estabelecer um contexto temporário, denotado sessão, como parte de toda interação, de duração restrita, entre um interrogador e um transponder, que envolve a identificação do transponder, a leitura de dados do ou a escrita de dados no transponder, e onde o estabelecimento de uma sessão cobre uma inicialização coordenada das máquinas criptográficas do interrogador e do transponder.
[00060] Outra característica do sistema de comunicação seguro consiste no fato dos comandos customizados e das respostas correspondentes do protocolo de comunicação serem constituídos por parâmetros que variam de forma coordenada, antes de cada troca de mensagens entre um interrogador e um transponder.
[00061] Outra característica do sistema de comunicação seguro consiste no fato dos comandos customizados serem executados por paralelismo em múltiplos transponders ao longo do tempo das operações.
[00062] Outra característica do sistema de comunicação seguro consiste no fato do transponder poder ser constituído por um dispositivo passivo, semi-passivo/semi-ativo, ou ativo.
[00063] Outra característica do sistema de comunicação seguro consiste no fato do transponder possuir memórias voláteis (por exemplo, RAM) e não voláteis (por exemplo, EEPROM).
[00064] Outra característica do sistema de comunicação seguro consiste no fato do transponder possuir uma máquina de estado, que define o seu comportamento em relação aos comandos recebidos de interrogadores, o estado interno e os processamentos realizados.
[00065] Outra característica do sistema de comunicação seguro consiste no fato do transponder possuir a implementação de um algoritmo criptográfico de chave simétrica, também denominado de máquina criptográfica.
[00066] Outra característica do sistema de comunicação seguro consiste no fato da máquina criptográfica possuir um gerador de números pseudo-aleatórios (pseudo-random number generator, PRNG).
[00067] Outra característica do sistema de comunicação seguro consiste no fato do transponder possuir um mecanismo para a geração e a verificação de códigos detectores de erros sobre dados binários.
[00068] Outra característica do sistema de comunicação seguro consiste no fato do transponder possuir um mecanismo para a geração e a verificação de códigos criptográficos de autenticação e de integridade sobre dados binários.
[00069] Outra característica do sistema de comunicação seguro consiste no fato de possuir um mecanismo para ativar ou desativar a geração dinâmica de códigos criptográficos de autenticação e de integridade.
[00070] Outra característica do sistema de comunicação seguro consiste no fato de possuir um mecanismo para ativar ou desativar a inclusão de um código criptográfico de autenticação e de integridade estático e pré-gravado na memória do transponder, na resposta da autenticação do transponder.
[00071] Outra característica do sistema de comunicação seguro consiste no fato do transponder possuir um mecanismo para a geração dinâmica de chaves criptográficas, para uso único por sessão comunicativa.
[00072] Outra característica do sistema de comunicação seguro consiste no fato de possuir um mecanismo para ativar ou desativar a geração dinâmica de chaves criptográficas.
[00073] Outra característica do sistema de comunicação seguro consiste no fato da desativação de comandos nativos do protocolo ISO 18000-6C.
[00074] Outra característica do sistema de comunicação seguro consiste no fato da desativação parcial da máquina de estados original do protocolo ISO 18000-6C.
[00075] Outra característica do sistema de comunicação seguro consiste no fato da transmissão de dados preparatórios na resposta UII nos transponders durante o inventário, conforme protocolo ISO 18000-6C, para subseqüente fase de autenticação e identificação e estabelecimento de um contexto de sessão seguro.
[00076] Outra característica do sistema de comunicação seguro consiste no fato da modificação da geração da resposta UII nos transponders durante o inventário, conforme protocolo ISO 18000-6C, incluindo a inserção de um valor aleatório na resposta do transponder, gerado durante o tempo de execução.
[00077] Outra característica do sistema de comunicação seguro consiste na compatibilidade total com a norma ISO 18000-6C.
[00078] Outra característica do sistema de comunicação seguro consiste na autenticação e identificação de transponders através de um único comando combinado, com transmissão de um conjunto de dados identificadores de tamanho limitado.
[00079] Outra característica do sistema de comunicação seguro consiste na autenticação por um único comando em conjunto com a execução em duas fases, para maximizar o paralelismo ao longo do tempo de operações em múltiplos transponders, resultando no desempenho otimizado da interação com transponders em velocidade elevada de deslocamento.
BREVE DESCRIÇÃO DAS FIGURAS
[00080] Outros objetivos, características e vantagens da presente invenção serão melhor avaliados mediante descrições de concretizações preferidas da invenção, fornecidas a título de exemplo não limitativo, e das figuras que a elas se referem, e onde:- A figura 1 ilustra esquematicamente o diagrama de blocos simplificado do sistema de comunicação seguro ora proposto;- A figura 2 ilustra esquematicamente um mecanismo de inicialização do modo de operação CTR de uma máquina criptográfica no interrogador e no transponder como parte de uma sessão comunicativa;- A figura 3 ilustra esquematicamente um primeiro mecanismo de inicialização de uma nova sessão entre um interrogador e um transponder;- A figura 4 ilustra uma representação esquemática do inventário de acordo com o protocolo ISO 18000-6C, com a resposta do transponder conforme um segundo mecanismo alternativo de inicialização;- A figura 5 ilustra uma representação esquemática do inventário de acordo com o protocolo ISO 18000-6C, com a resposta do transponder conforme um terceiro mecanismo alternativo de inicialização;- A figura 6 ilustra um mecanismo alternativo para estabelecer um novo par de valores aleatórios entre o interrogador e o transponder;- A figura 7 ilustra esquematicamente a autenticação mútua implícita entre um interrogador e um transponder, com leitura de dados identificadores do transponder protegidos por um envelope criptográfico;- A figura 8 ilustra esquematicamente uma leitura segura e autenticada entre um interrogador e um transponder;- A figura 9 ilustra esquematicamente a escrita segura e autenticada entre um interrogador e um transponder;- A figura 10 ilustra esquematicamente a máquina de estados estendida dos transponders;- A figura 11 ilustra esquematicamente o mecanismo de execução de comandos em duas fases por meio de mensagens auxiliares; - A figura 12 ilustra esquematicamente o mecanismo de execução intercalada de comandos para a interação entre um interrogador e múltiplos transponders;- A figura 13 ilustra esquematicamente um mecanismo que permite ao interrogador obter um Handle permanente de um transponder após singularização;- A figura 14 ilustra esquematicamente outra realização da autenticação mútua implícita entre um interrogador e um transponder, com leitura de dados identificadores do transponder protegidos por um envelope criptográfico, com certos parâmetros do comando e da resposta sendo representado por texto não cifrado;- A figura 15 ilustra esquematicamente uma segunda concretização de máquina de estados estendida dos transponders, na qual o transponder não responde a novos solicitações de comando do interrogador enquanto processa um comando customizado;- As figuras 16, 17, 18, e 19 ilustram esquematicamente realizações concretizadas variadas do mecanismo de autenticação mútua implícita entre um interrogador e um transponder, com leitura de dados identificadores do transponder protegidos por um envelope criptográfico;- As figuras 19, 20, 21, 22, 23, e 24 ilustram esquematicamente realizações concretizadas variadas do mecanismo da leitura segura autenticada;- As figuras 25, 26, 27, e 28 ilustram esquematicamente realizações concretizadas variadas do mecanismo da escrita segura autenticada;- A figura 29 ilustra esquematicamente uma realização combinada dos dois mecanismos da leitura e escrita segura autenticada.
DESCRIÇÃO PREFERIDA DA INVENÇÃO
[00081] O sistema de comunicação seguro baseado no protocolo ISO 18000-6C é composto, entre outros, por um meio de comunicação constituído por um conjunto de comandos customizados (custom commands), configurados de acordo com a especificação ISO 18000-6C, a serem implementados nos interrogadores e transponders, incluindo a especificação das respectivas respostas válidas dos transponders, com o fim de fornecer a identificação e o acesso aos dados do transponders, através de mecanismos criptográficos; um conjunto de comandos customizados auxiliares a serem implementados nos interrogadores e transponders, para melhorar a eficiência da execução de operações nos transponders no tratamento de falhas de comunicação e de execução, e na especificação das respostas válidas dos transponders, e a especificação da extensão da máquina de estado dos transponders levando em consideração os comandos customizados na presente invenção.
Diagrama de Blocos Simplificado do Sistema
[00082] A figura 1 ilustra o diagrama esquemático simplificado do diagrama de blocos do sistema de comunicação seguro ora proposto, que se constitui numa primeira concretização da presente invenção, e onde, sem limitação da generalidade, a operacionalidade do sistema pode se dividir em três fases sequenciais:- Singularização dos transponders pelo interrogador, conforme mecanismo especificado no protocolo ISO 18000-6C, com estabelecimento de referências de controle permanentes, através de um novo comando customizado Req_Handle, que constitui uma segunda concretização da presente invenção.- Autenticação mútua entre interrogador e transponder, com identificação e leitura implícitas de dados do transponder, através de um novo comando customizado Mutual_Auth_Read, que constitui outra concretização da presente invenção.- Acesso autenticado de leitura e escrita à memória do transponder, através de novos comandos customizados Secure_Auth_Read e Secure_Auth_Write, que constituem outras concretizações da presente invenção.
Comandos Customizados
[00083] Em uma concretização da presente invenção, o sistema de comunicação seguro cobre os seguintes comandos customizados principais:. Mutual_Auth_Read (MAR). Secure_Auth_Read (SAR). Secure_Auth_Write (SAW)
[00084] Em uma outra concretização da presente invenção, o sistema de comunicação seguro - diferente do padrão ISO 18000-6C -, as áreas de memória TID, UII, e USER dos transponders podem ser acessadas exclusivamente através dos comandos customizados principais, protegidos por mecanismos de criptografia, Mutual_Auth_Read, Secure_Auth_Read e Secure_Auth_Write, ou através de comando customizado similar, protegido por mecanismos de segurança de dados; mecanismos de criptografia, de autenticação, e de autorização.
[00085] Em uma outra concretização da presente invenção, o sistema de comunicação seguro também cobre os seguintes comandos customizados auxiliares:. Finalize. Init_CryptoEngine. Init_Session. Req_Handle . Set_RN_TN
[00086] Deve-se observar que as qualidades decisivas e essenciais do sistema de comunicação seguro se baseiam em características e em funcionalidades, inerentes aos comandos, e em respostas especificas, independentemente dos nomes escolhidos para estes comandos e para as suas respectivas respostas, bem como nos parâmetros incluídos nas assinaturas destes comandos e respostas.
Comandos Nativos Desativados
[00087] Em uma outra concretização da presente invenção, o sistema de comunicação seguro define um conjunto de comandos nativos do transponder, especificados no protocolo ISO 18000-6C, para eliminação total, ou para desativação permanente, após inicialização e antes do primeiro uso do transponder em campo: . Read . Write . Kill . Lock . Access . BlockWrite . BlockErase
[00088] Nota-se que os comandos customizados Secure_Authenticated_Read e Secure_Authenticated_Write constituem substitutos seguros à funcionalidade dos comandos nativos Read, Write, BlockWrite, e BlockErase. A funcionalidade do comando BlockErase, em particular, pode ser atingida por meio da sobregravação de uma informação existente, por uma nova informação bem definida, como, por exemplo, uma seqüência de bits de valor zero, na área de memória, através da utilização do comando Secure_Authenticated_Write.
Definições Fundamentais
[00089] Para possibilitar a interação comunicativa com um transponder que está localizado na zona de interrogação, conforme o protocolo ISO 18000-6C, o interrogador tem que detectar e singularizar o transponder, e, para isso, o protocolo ISO 18000-6C define a fase de detecção e singularização (singulation) de transponders pelo interrogador, denominada inventário (inventory).
[00090] Após a conclusão bem sucedida desta fase de singularização de um transponder, o interrogador tem conhecimento de um identificador temporário do transponder, chamado RN16, sendo que cada RN16 consiste de um código binário de uma quantidade de bits bem definida, que é usado, pelo interrogador, para endereçar mensagens ao transponder, como parte da comunicação via a interface aérea, e, uma vez estabelecido, o RN16 é válido, até que o transponder participe em um novo inventário, onde é gerado um novo RN16, ou até que receba uma solicitação explícita para uma nova geração.
[00091] Como referência não limitativa da generalidade do presente sistema de comunicação seguro, é suposto que o RN16 é representado por um número binário de 16 bits, conforme especificado no protocolo ISO 18000-6C, observando-se, no entanto, que o presente sistema de comunicação seguro permite o uso de identificadores temporários de formatos e tamanhos arbitrários.
[00092] O diálogo comunicativo temporário, envolvendo a troca de mensagens e informações, entre um interrogador e um transponder constitui uma sessão comunicativa, ou simplesmente uma sessão, e uma nova sessão começa a partir do estabelecimento de um Handle permanente para o transponder entre o interrogador e o transponder, e termina no momento em que o interrogador descarta o Handle permanente atual conhecido, encerrando a interação com o transponder, ou se o Handle permanente atualmente conhecido do transponder torna-se inválido, sem o interrogador ter conhecimento de um novo Handle permanente válido. A validade máxima de um Handle permanente estabelecido é limitada à duração da sessão comunicativa.
[00093] Na descrição da presente invenção, onde não é especificado diferentemente, a palavra Handle também é utilizada no sentido de Handle permanente.
[00094] O presente sistema de comunicação seguro cobre um identificador armazenado permanentemente na memória física de cada transponder, gerado dinamicamente pelo transponder no tempo de execução, de tal modo que o identificador é único e permite a identificação do transponder sem ambigüidade, sendo que, no contexto da presente invenção, este identificador é denominado UTID (unique transponder identifier) e, em princípio, este identificador pode ser implementado por meio de qualquer código binário. Como referência não limitativa da generalidade do sistema de comunicação seguro, foi suposto que o UTID nos transponders é representado por um número binário de 64 bits.
[00095] O presente sistema de comunicação seguro cobre um identificador de grupo, denominado GID, armazenado permanentemente na memória física dos transponders, com a seguinte semântica: quaisquer dois transponders que pertencem ao mesmo grupo usam como GID o mesmo código binário e a(s) mesma(s) chave(s) criptográfica(s) para estabelecer o contexto seguro de uma sessão comunicativa temporária, com o fim da autenticação do transponder pelo interrogador; a autorização recíproca do interrogador pelo transponder para controle de acesso, e a proteção da comunicação entre ambos por meio de mecanismos criptográficos. Inversamente, se dois transponders têm identificadores de grupo diferentes, eles pertencem a grupos diferentes, e usam chaves criptográficas diferentes para estabelecer o contexto seguro da sessão comunicativa temporária.
[00096] Para impedir a identificação de transponders sem ambigüidade através do GID, e, assim, proteger a confidencialidade da identidade dos transponders individuais, sugere-se que a quantidade de transponders que pertencem ao mesmo grupo seja significativamente maior que (o número) um. Além do solicitado, a definição do tamanho e da interpretação do GID não é essencial para o sistema de comunicação seguro.
[00097] Como referência não limitativa da generalidade do presente sistema de comunicação seguro, supõe-se que o GID é representado por um número binário de 24 bits.
[00098] Além disso, para os mecanismos criptográficos de controle de acesso, a presente invenção cobre que transponders podem ter uma ou mais chaves criptográficas individuais; isto é, uma chave individual associada com o UTID, ou partilhar as mesmas chaves criptográficas com os outros membros do mesmo grupo; isto é, uma chave individual associada com a GID.
[00099] Como referência não limitativa a generalidade do presente sistema de comunicação seguro, supõe-se: que os transponders do mesmo grupo, ou seja, com o mesmo GID, usarão a mesma chave AK para estabelecer o contexto comunicativo seguro; que opcionalmente incluirá a geração de uma chave de sessão temporária SK, e realizará a autenticação mútua implícita, com identificação e leitura implícitas de dados do transponder, através do comando Mutual_Auth_Read; e que cada transponder usará uma chave individual, chamada RK, para o controle de acesso da leitura, e outra chave individual, chamada WK, para o controle de acesso da escrita de dados.
[000100] Na presente invenção, sem limitação da generalidade, é usada a seguinte notação formal para indicar que a chave AK seja determinada em função do GID, e as chaves RK e WK sejam determinadas em função do UTID do transponder: AK = AK(GID),RK = RK(UTID), ouRK = SK(MSK, S), conforme valor do parâmetro GSK do comando Mutual_Auth_Read, e WK = WK(UTID), respectivamente, com MSK = MSK(GID), e semente S variável por sessão.
[000101] Alternativamente, as chaves RK e WK também podem ser determinadas em função do valor GID.
[000102] O interrogador poderia, por exemplo, procurar AK, RK, WK e, opcionalmente, MSK, em um banco de dados que contém as associações entre GIDs e UTIDs, por um lado, e chaves de autenticação e controle de acesso, pelo outro lado. Contudo, a especificação do processo de obtenção de chaves não é essencial para o funcionamento do sistema de comunicação seguro.
[000103] Além disso, a presente invenção abrange o caso da geração dinâmica das chaves secretas RK e WK, utilizando informações trocadas como parte do estabelecimento do contexto seguro da sessão temporária como semente variável por tempo, utilizando uma ou mais chaves-mestres indexadas e partilhadas entre transponder e interrogador. Neste caso, o intervalo de tempo máximo da validade das chaves geradas dinamicamente é restrita à duração limitada da sessão comunicativa correspondente.
[000104] No contexto da presente invenção, a encriptação de um bloco B de texto comum, utilizando uma chave secreta de encriptação K, e resultando em um bloco C de texto cifrado, é denominada como C = EK(B). A operação inversa, de decriptação de um bloco de texto cifrado C, utilizando uma chave secreta de decriptação K, obtendo o bloco B de texto comum original, é denominada como B = DK(C). EK(B1, B2, ..., Bn), denominando a encriptação de n palavras de texto B1, B2, ..., Bn, sem definir uma ordem, compressão ou combinação lógica (por exemplo, pela operação lógica XOR), especifica das palavras no processo de encriptação, sendo que, semelhantemente, DK(C1, C2, ..., Cn) denomina a decriptação de n palavras de texto C1, C2, ..., Cn, sem definir uma ordem, compressão ou combinação lógica específica das palavras no processo de decriptação.
[000105] Assim, por exemplo, a geração dinâmica de uma chave secreta SK (session key), variável por tempo, para uma sessão de duração restrita entre interrogador e transponder, pode ser realizada através da operação SK = SK(MSK, S) := EMSK(S), utilizando uma semente S variável no tempo - por exemplo, um número aleatório, e uma chave secreta de sessão MSK partilhada entre interrogador e transponder.
[000106] Nota-se que, em seguida, nas descrições das partes constituintes do sistema de comunicação seguro, objeto da presente invenção, é focada a especificação e a descrição dos parâmetros principais dos comandos de interrogadores e das respostas de transponders, sem limitar a generalidade do sistema seguro da presente invenção, e sem excluir a possibilidade da inclusão de parâmetros adicionais nas assinaturas dos comandos, e respostas para outros fins que não interferem ou não comprometem as finalidades principais destes comandos e respostas.
[000107] Além disso, como referência, e sem limitar a generalidade do sistema seguro, serão incluídos os parâmetros genéricos Handle e CRC nas assinaturas dos comandos e respostas. O parâmetro Handle é usado para a identificação dos recipientes da transmissão de dados. O parâmetro CRC representa um código detector de erros, do tipo verificação de redundância cíclica (cyclic redundancy check), com a finalidade da detecção de falhas na transmissão de mensagens.
[000108] Nota-se que a presente invenção permite o uso de mecanismo de geração e verificação de códigos detectores de erros arbitrários. Para manter compatibilidade com o protocolo ISO 18000-6C, recomenda-se a aplicação do código CRC-16, na versão especificada pelo CCITT (International Telegraph and Telephone Consultative Committee).
[000109] Nota-se que a definição da detecção e do tratamento de falhas de transmissão e processamento de dados não são fundamentais para a especificação do sistema de comunicação seguro da presente invenção.
Mecanismo de Criptografia Dinâmica
[000110] O mecanismo de criptografia dinâmica (dynamic data encryption) constitui outra concretização da presente invenção, que é realizado, em uma primeira forma, por meio da inclusão de dois parâmetros, variáveis no tempo (valores únicos, nonces), nas encriptações e decriptações de dados, sendo um gerado pelo interrogador, e o outro pelo transponder, durante a fase de autenticação mútua e identificação do transponder de cada nova sessão.
[000111] Como referência não limitativa da generalidade do presente sistema de comunicação seguro, serão considerados nonces de 64 bits na representação binária, resultando em uma faixa de 264 possíveis estados para cada um, e, em conjunto, resultando em 2128 estados possíveis, assim garantindo que, na prática, as representações binárias do resultado da cifragem dos textos contendo um ou ambos os nonces, como resultados de quaisquer das encriptações observadas, são incongruentes - mesmo se os textos originais forem iguais.
[000112] Constitui outra concretização da presente invenção uma segunda forma para realizar criptografia dinâmica, que ocorre após inicialização entre transponder e interrogador, por meio da operação da cifra simétrica da máquina criptográfica, com a geração bem-definida de uma seqüência de dados variáveis no tempo, combinando-se, de uma determinada maneira, essa seqüência com os dados originais ou com os dados cifrados. A segunda forma pode ser utilizada em combinação com a primeira forma, descrita anteriormente, ou separadamente.
[000113] Sem limitar a generalidade do sistema seguro, para realizar a criptografia dinâmica por um modo operacional particular, podem ser utilizados os modos operacionais CBC (Cipher Block Chaining) e CTR (Counter), por exemplo, conforme especificado pelo NIST [NIST Special Publication 800-38A, 2001], ou qualquer outro modo com características operacionais comparáveis.
[000114] A finalidade do uso de criptografia dinâmica, em combinação com nonces gerados pelo interrogador e pelo transponder, é a de proteger a confidencialidade (confidentiality); a atualidade (timeliness); a unicidade (uniqueness), e a integridade (integrity) das mensagens e dos dados a serem transmitidos, via interface aérea, que, por si, não permite um controle efetivo de acesso.
[000115] Nota-se que o presente sistema de comunicação seguro permite, essencialmente, o uso de algoritmos simétricos arbitrários, com tamanhos de blocos e de chaves arbitrários, operados em modos compatíveis ou comparáveis aos descritos na presente invenção.
[000116] O presente sistema de comunicação seguro cobre o uso de algoritmos simétricos padronizados mais avançados em relação ao estado da técnica. Como referência não limitativa da generalidade do presente sistema de comunicação seguro, supõe-se o uso do algoritmo Advanced Encryption Standard (AES) [NIST Federal Information Processing Standards Publication No. 197, 2001], com blocos de processamento e chaves simétricos de 128 bits de tamanho. Se for necessário encriptar múltiplos blocos de dados que formam uma unidade lógica, o algoritmo criptográfico, de preferência, opera em um modo que permita o encadeamento (chaining) dos blocos individuais, como realizado pelo modo CBC e pelo modo CTR (em relação a seqüência de contadores únicos necessários à decriptação correta dos dados cifrados, idealmente em combinação com mecanismos complementares para proteção da integridade destes dados), garantindo a detecção da alteração, ou da substituição não-autorizada de dados criptografados, trocados entre o interrogador e o transponder. No caso do uso do algoritmo AES, o presente sistema de comunicação seguro prevê, sem limitação da generalidade, o uso do modo de operação CTR, e, onde não for definido diferentemente para encriptação de blocos individuais, a utilização do modo de operação básico de cifragem ECB (Eletronic Code Book) [NIST Special Publication 800-38A, 2001].
[000117] Constitui outra concretização da presente invenção que, através da combinação de um nonce do interrogador e um nonce do transponder com os dados criptografados no modo ECB, e para a geração de todos os contadores iniciais para o modo CTR da máquina criptográfica, o mecanismo de criptografia dinâmica do presente sistema de comunicação seguro continue funcionando sem degradação de qualidade de serviço, e sem redução significativa do nível de segurança, mesmo no caso em que o gerador de números aleatórios, utilizado em uma das duas entidades, esteja sofrendo falhas transitórias não intencionais, como, por exemplo, falhas induzidas por interferência eletromagnética, ou intencionais, como por exemplo, falhas maliciosamente injetadas deliberadamente.
Inicialização da Máquina Criptográfica
[000118] A figura 2 ilustra esquematicamente um mecanismo de inicialização do modo de operação CTR de uma máquina criptográfica no interrogador e no transponder como parte de uma sessão comunicativa, que constitui uma concretização do presente sistema de comunicação seguro, e onde, sem limitação da generalidade, supondo a operação com chaves e blocos de u bits, sendo u um número par: O interrogador primeiramente envia o comando customizado Init_CryptoEngine, que contém, como parâmetro principal, um valor único (nonce) de u/2 bits, gerado pelo interrogador, denominado CTR_R; o transponder responde com uma mensagem que contém, como parâmetro principal, outro valor único de u/2 bits, gerado pelo transponder, denominado CTR_T, e, concatenando os dois valores únicos, recebe-se um valor de u bits, que pode ser usado como contador inicial C0 para o modo CTR do algoritmo AES, implementado pela máquina criptográfica dos transponders. Sem limitação da generalidade, no caso do algoritmo padronizado AES, o valor de u pode assumir um dos valores 128, 192 ou 256 bits, respectivamente.
[000119] O presente sistema de comunicação seguro cobre os casos nos quais a inicialização do modo de operação CTR da máquina criptográfica, no interrogador e no transponder, é realizada em maneiras alternativas, e, sem limitar generalidade, os valores aleatórios CTR_R e CTR_T podem, por exemplo, serem inseridos, como parâmetros suplementares, em outros comandos que fazem parte do presente sistema de comunicação seguro.
[000120] A figura 7 ilustra esquematicamente um segundo mecanismo de inicialização do modo de operação CTR da máquina criptográfica, no interrogador e no transponder, que constitui uma concretização do presente sistema de comunicação seguro, no qual, a troca das metades do contador inicial, chamados CRN e CTN, é realizada implicitamente, como parte do comando customizado da autenticação mútua implícita.
[000121] Deve-se observar que a aplicação de outros algoritmos criptográficos para modos operacionais, diferentes do CTR, está sujeita ao requerimento de mecanismos de inicialização da máquina criptográfica diferentes, sendo a aplicação de tais mecanismos coberta pelo sistema de comunicação seguro.
Mecanismo para Estabelecer um HANDLE Permanente para Controle Prolongado de Transponders
[000122] A figura 13 ilustra esquematicamente um mecanismo que permite ao interrogador obter um Handle permanente de um transponder, logo após a singularização, que constitui uma concretização do presente sistema de comunicação seguro, onde o Handle permanente, ou simplesmente Handle, permite que o interrogador mantenha interações prolongadas com vários transponders em paralelo.
[000123] O interrogador manda o comando customizado Req_Handle, com os parâmetros Old_Handle e CRC, ao transponder, e o transponder responde com uma mensagem que contém o código detector de erros CRC e o novo Handle permanente, chamado de New_Handle; o interrogador aceita o New_Handle como novo Handle permanente para interações futuras com o transponder, como parte de uma sessão comunicativa a ser estabelecida com o transponder.
[000124] Ao mesmo tempo, com o estabelecimento do Handle permanente, o estado interno do transponder muda para um novo estado, fora do conjunto de estados originais, conforme definidos pela norma ISO 18000-6C, causando a insensibilidade do estado interno e do comportamento do transponder a comandos subseqüentes conflitantes de inventário do protocolo original, que constitui característica essencial para uma interação paralelizada de um interrogador com múltiplos transponders - constituindo-se em mais uma concretização do presente sistema de comunicação seguro.
[000125] Sem limitação da generalidade, o interrogador, em geral, estabelece o Handle permanente, logo após ter singularizado, com sucesso, um transponder; ou seja, logo após receber a primeira referência temporária RN16 e as informações da área de memória UII do transponder, em resposta ao envio da mensagem ACK para o mesmo, como parte do procedimento de inventário, conforme especificado no protocolo ISO 18000-6C. Conseqüentemente, na primeira chamada do comando Req_Handle, após singularização do transponder, o interrogador deve utilizar o valor da referência temporária RN16, como valor do parâmetro Old_Handle, para estabelecer um Handle permanente.
Mecanismos para Inicialização da Sessão Comunicativa
[000126] O mecanismo de inicialização de sessões entre um interrogador e um transponder se constitui em outra concretização do presente sistema de comunicação seguro, onde o transponder informa ao interrogador o seu identificador de grupo (GID), e onde é estabelecido um contexto seguro da sessão comunicativa temporária, como preparação do passo subseqüente da autenticação mútua e identificação do transponder pelo interrogador.
[000127] A inicialização das sessões pode ser realizada depois da singularização do transponder e após estabelecimento de um Handle permanente válido, por meio de um comando customizado dedicado. A figura 3 ilustra esquematicamente um primeiro mecanismo de inicialização de uma nova sessão entre um interrogador e um transponder, que constitui outra concretização do presente sistema de comunicação seguro, onde o interrogador envia o comando customizado Init_Session, com os parâmetros Handle e CRC, ao transponder, e o transponder responde com uma mensagem que contém o Handle; o GID; um valor único TN (transponder nonce); um valor único CTN (counter transponder nonce), e o código detector de erros CRC.
[000128] Um segundo mecanismo alternativo, que se constitui em outra concretização da presente sistema de comunicação seguro, encaminha os parâmetros GID, TN e CTN, do transponder ao interrogador, formando a resposta de cada transponder na fase do inventário, de modo que a resposta com os dados da memória UII inclui o GID e os valores únicos TN e CTN, gerados dinamicamente durante o tempo de execução, ou pré-calculados antecipadamente.
[000129] A figura 4 é uma representação esquemática do inventário, segundo o protocolo ISO 18000-6C, com a resposta do transponder, conforme o segundo mecanismo alternativo, que constitui outra concretização do presente sistema de comunicação seguro, onde: os três primeiros passos marcam as mensagens previstas pelo protocolo ISO 18000-6C durante a detecção e singularização de um transponder [ISO/IEC 18000-6/Amd 1], e o quarto passo, mostra a inclusão dos parâmetros adicionais GID, TN e CTN na resposta final do transponder, onde, para manter a conformidade com o protocolo ISO 18000-6C, as áreas de memória TN e CTN podem ser logicamente mapeadas na área de memória do banco de memória UII.
[000130] A vantagem do segundo mecanismo (figura 4) sobre o primeiro (figura 3) é uma redução significativa do overhead de comunicação, uma vez que, como os dados indispensáveis são transmitidos de passagem durante o inventário, não há necessidade de se realizar mais uma troca de mensagens, isto é, um comando do interrogador e uma resposta do transponder.
[000131] A figura 5 é uma representação esquemática do inventário, conforme o protocolo ISO 18000-6C, com a resposta do transponder, conforme um terceiro mecanismo alternativo, que constitui outra concretização do presente sistema de comunicação seguro, onde, no quarto passo, apenas o parâmetro invariável GID é incluído na resposta final do transponder, e os valores variáveis por tempo TN e CTN são gerados pelo transponder e encaminhados ao interrogador, como parte da fase de autenticação e identificação, conforme descrição do comando Mutual_Auth_Read.
[000132] Portanto, o terceiro mecanismo permite que a área de memória do parâmetro GID seja logicamente ou fisicamente mapeada na área de memória do banco de memória UII, eliminando a necessidade de gerar um novo valor único em tempo real, ou de se ter disponível um valor único pré-calculado durante o inventário.
[000133] Como resultado, uma vantagem essencial do terceiro mecanismo é que habilita o transponder atender as restrições definidas para os tempos de resposta permissíveis, como parte do processo do inventário especificado na ISO 18000-6C. Em particular, isso facilita significativamente a eventual implementação dos mecanismos apresentados na presente invenção em transponders passivos, de processamento tipicamente mais lentos do que aqueles que se utilizam de bateria interna para processamento, onde os primeiros, em geral, necessitam, para a geração de números pseudo-aleatórios criptográficos, de um tempo significativamente maior do que aquele previsto pela norma ISO 18000-6C para as respostas de transponders a comandos que fazem parte da fase do inventário.
[000134] Em seguida, como referência não limitativa da generalidade, é suposta a disponibilidade do terceiro mecanismo de inicialização da sessão comunicativa, entre o interrogador e o transponder, com informação do valor GID como parte do inventário, e com a geração e informação dos nonces TN e CTN como parte da fase de autenticação e identificação do transponder.
Mecanismo da Geração de Parâmetros Variáveis por Tempo
[000135] Em outra concretização do presente sistema de comunicação seguro, anteriormente a cada nova sessão comunicativa, entre o interrogador e o transponder, que envolve a transferência de dados criptografados, o interrogador e o transponder determinam e partilham dois novos parâmetros variáveis por tempo, TN e RN, de uma maneira bem definida, ou geram valores derivados dos valores únicos estabelecidos anteriormente à sessão comunicativa em curso, sendo que, em ambos os casos, o interrogador e o transponder devem estabelecer os mesmos novos valores para TN e RN.
[000136] Como referência não limitativa da generalidade, seja Next_Nonce uma função bijetora N<m ^ N<m, que, sem ambigüidade, gera um novo valor derivado n’ de um valor conhecido n: n’ = Next_Nonce (n), com N<m sendo o universo dos números naturais menor que um número máximo m, incluindo o número zero, e, assim, no contexto do presente sistema de comunicação seguro, e sem limitação da generalidade, supõe- se que os interrogadores e transponders implementam a mesma função Next_Nonce, para gerar derivados dos nonces TN e RN, conforme necessidade, na seguinte forma: TN = Next_Nonce (TN) e RN = Next_Nonce (RN).
[000137] Sem limitação da generalidade, um exemplo para a função Next_Nonce é “incrementar por 1 (modulo m)”: n’ = Next_Nonce (n) = n+1 (módulo m), com m = 264, no caso de nonces de 64 bits de tamanho.
[000138] A figura 6 ilustra um mecanismo alternativo para estabelecer um novo par de valores únicos, entre o interrogador e o transponder, que se constitui em outra concretização do presente sistema de comunicação seguro, onde o interrogador envia, em um primeiro passo, um novo valor único ao transponder, solicitando implicitamente um novo valor único do transponder, o qual responde com um novo valor único, sendo que, neste exemplo, e sem limitação da generalidade, foi escolhido o nome exemplar Set_RN_TN do comando customizado do interrogador.
[000139] Alternativamente, os nonces RN e TN podem ser criptografados antes da transmissão, utilizando-se uma chave secreta partilhada entre transponder e interrogador.
[000140] Outras finalidades da alteração dos nonces TN e RN, em cada nova troca de comando customizado e da resposta correspondente na sessão atual entre o interrogador e transponder, e antes do começo de uma nova sessão, são:- Proteger a atualidade e unicidade de mensagens, verificando os valores TN e RN incluídos em mensagens recebidas, ambos, interrogador e transponder, podendo determinar, sem ambigüidade, se a mensagem está sendo atual ou tratar-se de uma repetição de uma mensagem antiga. - Proteger a confidencialidade de informações incluídas nas mensagens, pelo aumento do texto original, com os nonces TN e RN antes da encriptação, que resulta em um texto cifrado diferente, mesmo se o texto inicial for idêntico, antes de duas encriptações em tempos diferentes.
[000141] Em particular, antes da inicialização e disponibilidade de modos operacionais da máquina criptográfica com variação automática do output, a utilização dos nonces na maneira descrita é necessária para a proteção da confidencialidade, como no caso da utilização do modo ECB, por exemplo.- Proteger a integridade de informações incluídas nas mensagens, pelo aumento do texto original com os nonces TN, RN, ou com ambos os nonces, antes da encriptação do texto, que resulta em uma parte conhecida do texto original, que serve como referência para a validação da futura decriptação do texto cifrado, aproveitando da característica que, utilizando um algoritmo criptográfico avançado como o AES, uma alteração de pelo menos um bit no texto cifrado (no modo ECB, por exemplo), resulta, na prática, na alteração de cada bit individual do texto decifrado, com probabilidade de aprox. 50% em comparação ao texto original.
[000142] Sem limitação da generalidade, inserindo no texto original um nonce conhecido de, por exemplo, 64 bits de tamanho, a probabilidade da detecção de uma alteração do texto cifrado corresponda aproximadamente ao valor 1-(1/2)64, que, na prática, permite a detecção de todas as ocorrências de alterações de bits.
[000143] Em particular, a combinação de um nonce conhecido com um dado desconhecido ao recipiente, no mesmo texto original, é necessária para a proteção e verificação da integridade do texto criptografado, contra alterações no caso da utilização dos modos operacionais ECB e CTR [NIST Special Publication 800-38A, 2001], bem como no caso de qualquer modo operacional de algoritmos criptográficos que não permita a verificação da integridade de dados (desconhecidos) criptografados como parte do processo da decriptação.
Mecanismo para Autenticação Mútua Implícita com Identificação do Transponder
[000144] O mecanismo para a autenticação mútua implícita com identificação, do transponder pelo interrogador, constitui outra concretização do presente sistema de comunicação seguro. O mecanismo, entre outras finalidades essenciais, tem por objetivo, no contexto de uma sessão comunicativa, provar a autenticidade do transponder ao interrogador. Outra finalidade é, através da transmissão antecipada pelo transponder dos dados solicitados pelo interrogador, após encapsulamento por um envelope criptográfico adequado, autenticar o interrogador, de forma indireta e implícita, sem receber uma resposta imediata do interrogador ao desafio fornecido pelo transponder, desta forma, restringindo, implicitamente, o acesso aos números únicos e a um conjunto fixo de dados adicionais de identificação, fornecidos pelo transponder aos interrogadores autênticos.
[000145] O mecanismo resultante protege a confidencialidade, a integridade e a atualidade dessas informações identificadores do transponder, durante a transmissão, por meio de criptografia dinâmica, para impedir que terceiros não autorizados possam identificar e rastrear o transponder.
[000146] O mecanismo também garante que apenas um interrogador autêntico consiga abrir o envelope criptográfico, protegendo, assim, os dados fornecidos antecipadamente pelo transponder. Para um interrogador não autêntico, o envelope criptográfico apenas contém um conjunto de dados, em forma binária irreconhecível, como resultado do mecanismo criptográfico aplicado, o que constitui outra concretização da presente invenção.
[000147] Outra concretização do presente sistema de comunicação seguro é que a autenticação mútua implícita se torna explícita, para o transponder, com conhecimento da autenticidade do interrogador, a partir do momento no qual o interrogador (autêntico) envia um comando de acesso à memória do transponder, visando a leitura ou escrita de dados, contendo a resposta correta ao desafio inicial do transponder.
[000148] A figura 7 ilustra esquematicamente a autenticação mútua implícita, entre um interrogador e um transponder, baseado no comando Mutual_Auth_Read, o qual permite, transversalmente, determinar a autenticidade, primeiro, do transponder e, implicitamente, do interrogador por meio de um esquema de desafio-resposta em combinação com criptografia dinâmica, com uma leitura implícita de dados identificadores do transponder que estão protegidos por um envelope criptográfico - que constitui outra concretização do presente sistema de comunicação seguro.
[000149] Já tendo conhecimento do identificador de grupo GID e do Handle permanente do transponder, o interrogador envia ao transponder o comando customizado Mutual_Auth_Read, com desafio de autenticação e a primeira metade da semente para a inicialização da máquina criptográfica, em preparação dos mecanismos de criptografia para a sessão comunicativa em andamento. O transponder processa o comando do interrogador, e prepare a resposta com dois componentes essenciais. O primeiro componente é representado por um pacote de dados criptografados, no modo ECB e, sem limitação da generalidade, contendo o desafio do transponder ao interrogador e a segunda metade da semente para a inicialização da máquina criptográfica, para o modo operacional CTR, com encadeamento de blocos cifrados (por meio de uma sequência específica de contadores utilizados na cifragem).
[000150] O segundo componente é composto por uma seqüência de blocos criptografados e encadeados, no modo CTR e, sem limitação da generalidade, após inicialização da sua máquina criptográfica, pelo conjunto das metades da semente como base do contador inicial, utilizando ambos os desafios - do interrogador e do transponder -, com referência interna no primeiro bloco cifrado para a validação da decriptação correta e, opcionalmente, gerando uma chave secreta temporária para a sessão atual, utilizando os dois desafios TN e RN, em conjunto com a semente, em combinação com uma chave secreta partilhada.
[000151] Um transponder não autêntico não tem conhecimento das chaves secretas partilhadas necessárias e associadas com o GID informado, ou da chave secreta padrão da sessão, ou da chave secreta mestre necessária para a geração da chave temporária de sessão, e, assim, não consegue obter o desafio e a metade da semente do interrogador, com isso não conseguindo gerar o envelope com os dados do transponder no modo CTR, com o desafio do interrogador inserido como referência, e a resposta correta ao desafio.
[000152] Da mesma forma, um leitor não autêntico não tem conhecimento das chaves secretas partilhadas que garantem a proteção de dados; chaves estas associadas com o GID conhecido, e não consegue decriptar no modo ECB a metade da semente do transponder, e, conseqüentemente, não consegue decifrar no modo CTR o envelope com os dados confidenciais do transponder.
[000153] Adicionalmente, o interrogador não autêntico não consegue decriptar o desafio do transponder criptografado no modo ECB.
[000154] Além disso, o interrogador não autêntico não é capaz fornecer a resposta ao desafio criptografado no modo CTR em subseqüentes tentativas de acesso ao transponder, através dos comandos customizados Secure_Auth_Read e Secure_Auth_Write, garantido-se a falha de autenticação e autorização destes pedidos pelo transponder.
[000155] O procedimento básico do mecanismo de autenticação mútua implícita com leitura de dados identificadores do transponder é realizado pelo comando customizado Mutual_Auth_Read ó mostrado com mais detalhe na figura 7.
[000156] Em um primeiro passo, o interrogador obtém a chave simétrica de autenticação padrão do transponder atual, AK = AK(GID), usando o GID como referência; gera os números únicos RN (reader nonce) e CRN (counter reader nonce), que servem como desafio e semente, respectivamente, do interrogador para o transponder; concatena os nonces com os três parâmetros SMD, DMD, e GSK; computa, no modo ECB, o texto cifrado EAK (RN, CRN, SMD, DMD, GSK) e, finalmente, envia o comando Mutual_Auth_Read com os parâmetros preparados e com os demais parâmetros, conforme especificados na figura 7, ao transponder.
[000157] O parâmetro SMD (Static Message authentication code Descriptor), que constitui outra concretização do presente sistema de comunicação seguro, representa um indicador para a inclusão opcional de um código estático de proteção da integridade e autenticidade SMAC (Static Message Authentication Code), pré-computado sobre os dados concatenados UTID e TDATA, e gravado, permanentemente, na memória não volátil do transponder, quando da resposta do transponder.
[000158] Sem limitação da generalidade, a implementação preferida do código de autenticidade estático é o mecanismo CMAC [NIST SP800-38B, 2005], com geração de códigos MAC (Message Authentication Code) de 128 bits de tamanho.
[000159] O parâmetro DMD (Dynamic Message authentication code Descriptor), que constitui outra concretização do presente sistema de comunicação seguro, representa um indicador para a inclusão opcional de um código dinâmico de proteção da integridade e autenticidade DMAC (Dynamic Message Authentication Code) na resposta do transponder, e que deve ser computado em tempo de execução sobre uma seleção dos demais elementos de dado da resposta, incluindo os nonces RN e TN, e adicionalmente, os dados UTID e TDATA, em texto original ou na forma de texto cifrado.
[000160] Sem limitação da generalidade, a implementação preferida do código de autenticidade dinâmico é o mecanismo CMAC [NIST SP800-38B, 2005], com geração de códigos MAC (message authentication code) de 64 bits de tamanho.
[000161] No segundo passo: o transponder obtém a resposta EAK (RN, CRN, SMD, DMD, GSK) do interrogador, decripta a resposta usando a chave simétrica secreta AK, calcula DAK(EAK(RN, CRN, SMD, DMD, GSK)), guarda o desafio RN, a metade do contador inicial CRN do interrogador, e os parâmetros SMD, DMD, e GSK, e continua a execução do terceiro passo da autenticação mútua implícita.
[000162] No terceiro passo: o transponder gera os números únicos TN (transponder nonce) e CRN (counter transponder nonce), que servem como desafio e semente, respectivamente, do transponder para o interrogador; concatena estes nonces e computa o texto cifrado EAK (TN, CTN) no modo ECB da máquina criptográfica AES; obtém os dados UTID (Unique Transponder IDentifier) e TDATA (Transponder Data) da memória, e, se indicado pelo parâmetro SMD recebido do interrogador, obtém, da memória, o código de autenticidade e integridade estático SMAC, pré-calculado sobre os dados UTID e TDATA, ou então define o valor de SMAC como a palavra vazia com tamanho zero (empty word string); calcula um código detector de erros CRC-16, chamado DCRC, sobre os dados RN, TN, UTID, DATA, obtendo DCRC = CRC-16 (RN, TN, UTID, TDATA); inicializa o modo operacional CTR da própria máquina criptográfica interna utilizando, como contador inicial, o valor CTN concatenado com CRN; encripta, com a máquina criptográfica AES, no modo CTR, o texto composto pelos valores RN, TN, UTID, TDATA, DCRC, e SMAC, usando a chave secreta SK, com SK obtida, conforme indicado pelo parâmetro GSK, do interrogador; isto é, através da leitura de uma chave de sessão padrão da memória, ou gerado na hora, utilizando uma chave de sessão obtida da memória em combinação com uma semente, representado pelo conjunto dos valores RN e TN, assim obtendo ESK(RN, TN, UTID, TDATA, DCRC, SMAC), se indicado pelo parâmetro DMD recebido do interrogador; gera o código de autenticidade e integridade dinâmico DMAC, sobre os dados RN, TN, UTID, TDATA, ou então define o valor de DMAC como a palavra vazia com tamanho zero (empty word string); e retorna o conjunto de valores, obtidos como resposta com os demais parâmetros, ao interrogador, conforme especificado na figura 7.
[000163] No quarto passo: o interrogador obtém a resposta do transponder; decripta primeiro os dados TN e CTN do transponder, utilizando a chave simétrica secreta AK, calculando DAK(EAK( TN, CTN )); inicializa o modo operacional CTR da própria máquina criptográfica interna, utilizando como contador inicial o valor CTN, concatenado com o valor CRN conhecido; obtém a chave secreta da sessão SK. conforme indicado pelo parâmetro GSK, ou obtém a chave de sessão padrão do transponder atual, SK = SK(GID), usando o GID como referência, ou gera a chave de sessão. utilizando uma chave gerador secreta de sessão MSK do transponder, usando o GID como referência, MSK = MSK(GID), em combinação com a semente representado pelo conjunto dos valores conhecidos RN e TN; decripta o texto cifrado ESK(RN, TN, UTID, TDATA, DCRC, SMAC); verifica se os valores RN e TN contidos no texto decifrado são idênticos às cópias mantidas localmente; recalcula e verifica o código DMAC, se não for representado pela palavra com tamanho zero, conforme indicado pelo parâmetro DMD; recalcula e verifica o código SMAC, se não for representado pela palavra com tamanho zero, conforme indicado pelo parâmetro SMD; recalcula e verifica o código DCRC, e, no caso todas as verificações terem êxito, a autenticação do transponder é considerada bem sucedida, e o interrogador extrai o identificador UTID e os dados TDATA do texto decriptado; e conclui a autenticação mútua implícita, considerando o transponder como autêntico. Caso a autenticação do transponder falhe, o interrogador considera o transponder como não-autêntico e trata a falha de uma maneira adequada.
[000164] Observa-se que a especificação da reação do transponder à falha de autenticação do interrogador, e vice-versa, da reação do interrogador à falha de autenticação do transponder, pode variar conforme as necessidades da aplicação particular, sem influenciar a operação básica do mecanismo de autenticação mútua implícita.
[000165] Sem limitar a generalidade do sistema seguro, o endereço da parte da memória a ser retornada pelo transponder, representada pelos dados UITD, TDATA e, opcionalmente, pelo valor adicional SMAC, pode ser especificada por um parâmetro variável a ser incluído no comando do interrogador, em vez de utilizar um endereçamento pré-definido.
[000166] Além disso, e sem limitação da generalidade, o dado DMAC pode ser calculado sobre outros conjuntos de dados, incluindo conjuntos mais amplos de dados, e com os dados individuais podendo ser tanto o texto original quanto texto criptografado, com o único requisito de que o código DMAC permita ao interrogador, sem ambigüidade, a verificação da integridade dos dados RN, TN, UTID, e TDATA.Mecanismo para a Leitura Segura com Autenticação do Pedido
[000167] O mecanismo para a leitura segura com autenticação do pedido se constitui em outra concretização do presente sistema de comunicação seguro, e, dentre outras finalidades essenciais deste mecanismo, se acham incluídas: a habilitação do interrogador para ler uma quantidade definida de dados da memória, persistente ou volátil, do transponder; a verificação da autenticidade e autorização do pedido de leitura do interrogador, por meio de um mecanismo desafio-resposta no transponder; a proteção da integridade, unicidade, atualidade e confidencialidade dos dados transmitidos, via interface aérea, por criptografia dinâmica, e pelos códigos detectores de erros do tipo CRC. Opcionalmente, a proteção poderá se valer também de códigos criptográficos de integridade e autenticidade, do tipo MAC (message authentication code), incluindo um descritor da área de memória a ser lida e os dados a serem retornados pelo transponder, com o objetivo de impedir que terceiros, não autorizados, possam manipular ou obter conhecimentos de dados armazenados ou gerados pelo transponder, uma vez que esses terceiros tenham quebrado todas as barreiras de proteção da comunicação e guarda de dados descritas até o presente nível descrito.
[000168] A figura 8 ilustra esquematicamente uma leitura autenticada, entre interrogador e transponder, baseado no comando Secure_Auth_Read, e que constitui outra concretização do presente sistema de comunicação seguro.
[000169] Em um primeiro passo: o interrogador obtém a chave simétrica de autorização de leitura do transponder atual, RK = RK (UTID), usando o UTID como referência; atualiza as cópias locais dos nonces da sessão atual, TN = Next_Nonce (TN) e RN = Next_Nonce (RN); calcula, com a máquina criptográfica AES, no modo CTR, o texto cifrado ERK(TN, RN, LMAR, LCRC, DMD), com LMAR sendo um descritor do intervalo da área de memória lógica a ser lida, LCRC sendo um código detector de erros, do tipo CRC, computado sobre o parâmetro LMAR, e DMD sendo um indicador para a inclusão, opcional, de um código dinâmico de proteção da integridade e autenticidade DMAC na resposta a ser computado pelo transponder em tempo de execução sobre os principais elementos de dado da resposta; e envia o comando Secure_Auth_Read, com os parâmetros inseridos, conforme especificado na figura 8, ao transponder.
[000170] Como referência não limitativa da generalidade, seguindo o padrão ISO 18000-6C, o descritor do intervalo da área de memória lógica LMAR pode ser definido pela concatenação dos seguintes campos especificados no protocolo ISO 18000-6C: MemBank, WordPtr, e WordCount. Nota-se que o LMAR deve cumprir as exigências do protocolo ISO 18000-6C, em relação ao endereçamento correto da memória.
[000171] Como outra referência não limitativa da generalidade, o descritor do intervalo da área de memória lógica LMAR pode ser representado por uma estrutura de dados mais complexa, incorporando parâmetros adicionais, incluindo os parâmetros LCRC e DMD e outros, e, no caso do mecanismo de escrita seguro com autenticação de pedido, um ou mais códigos de proteção da integridade, tipo CRC-16 ou outro, protegendo os dados a serem escritos no intervalo de memória definido pelo LMAR.
[000172] No segundo passo: o transponder atualiza as cópias locais dos nonces da sessão atual, TN = Next_Nonce (TN) e RN = Next_Nonce (RN); decripta o texto cifrado, recebido do interrogador, usando a chave simétrica secreta RK de autenticação da leitura; calcula DRK(ERK(TN, RN, LMAR, LCRC, DMD)), com a máquina criptográfica AES, no modo CTR; verifica se os valores contidos no texto decifrado TN e RN são idênticos às cópias locais, e se o código LCRC é correto; se afirmativo, a autenticação e autorização do interrogador são consideradas bem sucedidas, e o transponder continua a execução do terceiro passo da leitura e autenticada; caso contrário, o interrogador é considerado como não-autorizado para a leitura dos dados da memória do transponder, e este suspende a sessão comunicativa com o interrogador, ou trata a falha de outra maneira adequada.
[000173] No terceiro passo: o transponder obtém os dados RDATA, solicitados da área de memória especificada no parâmetro LMAR; calcula um código detector de erros, do tipo CRC, sobre o conjunto de valores RN, TN, e RDATA; encripta, no modo CTR, o texto composto pelos valores TN, RN, RDATA e RCRC, resultando no texto cifrado ERK (TN, RN, RDATA, RCRC); gera o código de autenticidade e integridade dinâmico DMAC sobre os dados RN, TN, e RDATA, ou define o valor de DMAC como a palavra vazia com tamanho zero (empty word string), conforme indicado pelo parâmetro DMD recebido; e retorna os resultados finais obtidos na resposta, com os demais parâmetros, para o interrogador.
[000174] No quarto passo: o interrogador decripta, no modo CTR, o texto cifrado ERK(TN, RN, RDATA, RCRC) do transponder, usando a chave simétrica secreta RK; calcula DRK(ERK(TN, RN, RDATA, RCRC)); verifica se os valores contidos no texto decifrado TN e RN são idênticos às cópias mantidas localmente; reavalia e verifica o código RCRC; caso sejam idênticos, os dados RDATA devolvidos são considerados autênticos, íntegros, e atuais, e o interrogador considera a leitura bem sucedida; caso os nonces TN e RN não sejam congruentes com os valores locais, ou no caso de falha da verificação do código RCRC, o interrogador considera a leitura irregular, e continua o seu processamento neste sentido.
[000175] Nota-se que a especificação da reação do transponder à falha de autorização do interrogador, e vice-versa, da reação do interrogador à falha de verificação da autenticidade e atualidade dos dados retornados pelo transponder, pode variar conforme as necessidades da aplicação particular, sem influenciar a operação básica do mecanismo de leitura autenticada.
[000176] Sem limitar a generalidade do sistema seguro, o dado DMAC pode ser calculado sobre outros conjuntos de dados, incluindo conjuntos mais amplos de dados, e com os dados individuais sendo em texto original ou em texto criptografado, com o único requisito de que o código DMAC permita ao interrogador, sem ambiguidade, a verificação da integridade dos dados RN, TN, e RDATA.
[000177] Alternativas do gerenciamento de chaves constituem, sem limitação da generalidade, na chave RK ser gerada dinamicamente pelo interrogador e pelo transponder, ou substituída pela atual chave de sessão SK já estabelecida.
[000178] Outra concretização do presente sistema de comunicação seguro prevê a realização de uma nova autenticação em cada novo comando de leitura, com os nonces de sessão TN e RN alterados por meio da função Next_Nonce, para garantir que uma espoliação de sessão (session hijacking) não seja praticável, já que cada acesso à leitura é autorizado individualmente.
Mecanismo para a Escrita Segura com Autenticação do Pedido
[000179] O mecanismo para a escrita segura com autenticação do pedido se constitui em outra concretização do presente sistema de comunicação seguro, e inclui, dentre outras finalidades essenciais deste mecanismo, a habilitação do interrogador para escrever quantidade definida de dados na memória, persistente ou volátil, do transponder; a verificação da autenticidade e autorização do pedido de escrita do interrogador, por meio de um mecanismo desafio-resposta no transponder, e a proteção da integridade, da unicidade, da atualidade, e da confidencialidade dos dados transmitidos, via interface aérea, por criptografia dinâmica, códigos detectores de erros, do tipo CRC, e, opcionalmente, por códigos criptográficos de integridade e autenticidade, do tipo MAC (message authentication code), incluindo o descritor da área de memória a ser escrita, os dados a serem escritos, e o código de execução da operação de escrita a ser retornado pelo transponder, com o objetivo de impedir que terceiros, não autorizados, manipulem ou obtenham conhecimentos de dados armazenados no ou gerados pelo transponder.
[000180] A figura 9 ilustra esquematicamente a escrita autenticada entre um interrogador e um transponder, baseado no comando Secure_Auth_Write, que constitui outra concretização do presente sistema de comunicação seguro.
[000181] Em um primeiro passo: o interrogador obtém a chave simétrica de autorização de escrita do transponder atual, WK = WK (UTID), usando o UTID como referência, atualiza as cópias locais dos nonces da sessão atual, TN = Next_Nonce (TN) e RN = Next_Nonce (RN); calcula, com a máquina criptográfica AES, no modo CTR, o texto cifrado EWK (TN, RN, LMAR, LCRC, WDATA, WCRC, DMD), com LMAR sendo um descritor do intervalo da área de memória lógica a ser escrita, LCRC sendo um código detector de erros, do tipo CRC, computado sobre o parâmetro LMAR, WDATA, representando os dados a serem escritos, WCRC sendo um código detector de erros, do tipo CRC, computado sobre os dados WDATA, e DMD, sendo o indicador para a inclusão opcional de um código dinâmico de proteção da integridade e autenticidade calculado sobre os principais elementos do comando; insere o dado DMD uma segunda vez, sem cifragem, no comando, junto com o código de autenticidade e integridade dinâmico DMAC, ou calculado sobre os dados RN, TN, LMAR, e WDATA, ou representado pela palavra vazia com tamanho zero (empty word string), conforme indicado pelo parâmetro DMD; e envia o comando Secure_Auth_Write, com os parâmetros inseridos, conforme especificado na figura 9, ao transponder.
[000182] Sem limitação da generalidade, o parâmetro DMD é incluído uma segunda vez, como texto original, antes do dado DMAC, para que o transponder tenha a capacidade de considerar o descritor do DMAC, sem precisar decriptar os dados cifrados recebidos em tempo real durante a transmissão.
[000183] Alternativamente, e sem limitação da generalidade, o código WCRC pode ser computado sobre outros dados, como, por exemplo, sobre o conjunto de dados TN, RN, e WDATA, para associar os valores dos nonces com o código CRC.
[000184] Como referência não limitativa da generalidade, seguindo o padrão ISO 18000-6C, o descritor do intervalo da área de memória lógica LMAR pode ser definida pela concatenação dos seguintes campos especificados no protocolo ISO 18000-6C: MemBank, WordPtr, e WordCount. Note-se que o LMAR deve cumprir as exigências do protocolo ISO 18000-6C com relação ao endereçamento correto da memória.
[000185] No segundo passo: o transponder atualiza as cópias locais dos nonces da sessão atual, TN = Next_Nonce (TN) e RN = Next_Nonce (RN); decripta no modo CTR o texto cifrado recebido do interrogador usando a chave simétrica secreta WK de autenticação da leitura; calcula DWK(EWK(TN, RN, LMAR, LCRC, WDATA, WCRC, DMD)); verifica se os valores RN e TN contidos no texto decifrado são idênticos às cópias mantidas localmente; reavalia e verifica o código DMAC, se não for representado pela palavra com tamanho zero, conforme indicado pelo parâmetro DMD decriptado; reavalia e verifica o código LCRC; reavalia e verifica o código WCRC; caso todas as verificações tenham êxito, a autenticação e autorização do interrogador é considerada bem sucedida, e o transponder continua executando o terceiro passo de escrita autenticada; caso contrário, o interrogador é considerado não- autorizado a escrever dados na memória do transponder, e este suspende a sessão comunicativa com o interrogador, ou trata a falha de outra maneira adequada.
[000186] No terceiro passo: o transponder escreve os dados WDATA na área de memória especificada no parâmetro LMAR; gera um código informativo do resultado da operação denominado WCODE; encripta, no modo CTR, o texto composto pelos três valores TN, RN, e WCODE; retorna o resultado final EWK (TN, RN, WCODE), como resposta, com os outros parâmetros ao interrogador.
[000187] No quarto passo: o interrogador decripta, no modo CTR, o texto cifrado EWK (TN, RN, WCODE) do transponder, usando a chave simétrica secreta WK, calcula DWK(EWK ( TN, RN, WCODE ); verifica se os valores contidos no texto decifrado TN e RN são idênticos às cópias mantidas localmente; caso sejam, o código WCODE será considerado autêntico, íntegro e atual, o interrogador considera a escrita conforme a semântica particular definida pelo código WCODE; caso contrário, se os nonces TN e RN não são congruentes com os valores locais, o interrogador considera a leitura como irregular e continua o seu processamento neste sentido, tratando a situação de uma maneira adequada.
[000188] Nota-se que a especificação da reação do transponder à falha de autorização do interrogador, e vice-versa, da reação do interrogador à falha de verificação da autenticidade e atualidade dos dados retornados pelo transponder, pode variar conforme as necessidades da aplicação particular, sem influenciar a operação básica do mecanismo de leitura autenticada.
[000189] Um exemplo para geração do WCODE no transponder, que constitui outra concretização do presente sistema de comunicação seguro, é a geração de um código CRC-16 sobre o conteúdo da área de memória que acabou de ser escrita. Entretanto, a semântica dos códigos autênticos, retornados pelo transponder em resposta à operação de escrita de dados, e o tratamento de códigos diferentes no interrogador não tem influência para o presente sistema de comunicação seguro.
[000190] Alternativas do gerenciamento de chaves constituem, sem limitação da generalidade, a geração dinâmica de chave WK, pelo interrogador e pelo transponder, ou sua substituição pela atual chave de sessão SK já estabelecida.
[000191] Outra concretização do presente sistema de comunicação seguro prevê a realização de uma nova autenticação, em cada novo comando de escrita com os nonces de sessão TN e RN, alterados através da função Next_Nonce, para garantir que uma espoliação de sessão (session hijacking) não seja praticável, já que cada acesso à escrita é autorizado individualmente.
Máquina de Estados Estendida
[000192] A figura 10 ilustra esquematicamente a máquina de estados estendida dos transponders, que se constitui em outra concretização do presente sistema de comunicação seguro, onde, dos estados originais do protocolo ISO 18000-6C, foram desativados e eliminados os seguintes estados: Open, Secured, e Killed, tendo sido também eliminadas todas as transições associadas a estes estados.
[000193] Como referência não limitativa da generalidade, novos estados e transições foram introduzidos na máquina de estados dos transponders para novos comandos de interrogadores e respostas correspondentes de transponders: WAITING, MAR-PROC, MAR-READY, AUTHENTICIATED, SAR-PROC, SAR-READY, SAW-PROC, e SAWREADY.
[000194] Estes novos estados são supostos por cada transponder nas seguintes situações e sob as seguintes condições:- WAITING, significando “esperando”: O transponder muda imediatamente para esse estado se, e somente se, uma das seguintes condições é satisfeita: a) O transponder está atualmente no estado ACKNOWLEDGED, e completou o envio de resposta quanto ao recebimento, livre de erros, de um comando Req_Handle de uma transmissão (livre de erros) da RSU;b) O transponder está atualmente em WAITING e completou o envio de resposta quanto ao recebimento, livre de erros, de uma repetição do comando prévio Req_Handle da RSU;c) O transponder está atualmente em WAITING e completou o envio de resposta quanto ao recebimento, livre de erros, de uma nova solicitação do comando Req_Handle (com Handle permanente válido) da RSU;d) O transponder está atualmente no estado MAR-PROC e completou recebendo, livre de erros, e está executando o comando Finalize do interrogador, com o flag FEOP estabelecido.- MAR-PROC, abreviação para “autenticação-mútua processando” (mutual-authentication processing): O transponder muda imediatamente para esse estado se uma das seguintes condições é satisfeita:a) O transponder está atualmente no estado WAITING, e completou o envio de resposta auxiliar quanto ao recebimento, livre de erros, de um comando Mutual_Auth_Read do interrogador;b) O transponder está atualmente no estado MAR-PROC, e completou o envio de resposta auxiliar quanto ao recebimento, livre de erros, de uma retransmissão direta do comando Mutual_Auth_Read do interrogador, que já foi recebido pelo transponder em transmissão anterior.- MAR-READY, abreviação para “autenticação-mútua pronta” (mutual-authentication ready): O transponder muda imediatamente para esse estado se uma das seguintes condições é satisfeita:a) O transponder está atualmente no estado MAR-PROC, completou o processamento interno do comando Mutual_Auth_Read, incluindo as operações necessárias de decriptação e encriptação interna de dados, preparou com sucesso o envelope seguro com dados identificadores do transponder cifrados, e está pronto para devolver a mensagem de retorno da autenticação mútua implícita ao interrogador;b) O transponder está atualmente no estado MAR-READY e completou o envio de resposta auxiliar a uma retransmissão direta, livre de erros, do último comando Mutual_Auth_Read do interrogador, que já foi processado pelo transponder.- AUTHENTICATED, significando “autenticado”: Um transponder muda imediatamente para esse estado se uma das seguintes condições é satisfeita:a) O transponder está atualmente no estado MAR-READY, e completou recebendo, em transmissão livre de erros, o comando Finalize do interrogador, e o atendeu enviando o retorno para o comando Mutual_Auth_Read ao interrogador;b) O transponder está atualmente no estado AUTHENTICATED e completou respondendo a uma retransmissão direta, livre de erros, do comando previamente processado Finalize do interrogador;c) O transponder está atualmente no estado SAR-PROC e completou recebendo, livre de erros, e executando o comando Finalize do interrogador, com o flag FEOP estabelecido;d) O transponder está atualmente no estado SAR-READY, recebeu o comando Finalize do interrogador, em transmissão livre de erros, e completou enviando a resposta ao comando Secure_Auth_Read para o interrogador;e) O transponder está atualmente no estado SAW-PROC e completou recebendo, livre de erros, e executando o comando Finalize do interrogador. com o flag FEOP estabelecido; f) O transponder está atualmente no estado SAW-READY, recebeu o comando Finalize do interrogador, em transmissão livre de erros, e completou enviando resposta ao comando Secure_Auth_Write para o interrogador.- SAR-PROC, abreviação para “leitura-autenticada-segura processando” (secure-authenticated-read processing): O transponder muda imediatamente para esse estado se uma das seguintes condições é satisfeita:a) O transponder está atualmente no estado AUTHENTICATED e completou o envio de resposta auxiliar quanto ao recebimento, livre de erros, do comando Secure_Auth_Read do interrogador;b) O transponder está atualmente no estado SAR-PROC e completou o envio de resposta auxiliar quanto ao recebimento, livre de erros, de uma retransmissão direta do comando Secure_Auth_Read do interrogador, que já foi recebido pelo transponder em transmissão anterior.- SAR-READY, abreviação para “leitura-autenticada-segura pronta” (secure-authenticated-read ready): O transponder muda imediatamente para esse estado se uma das seguintes condições é satisfeita:a) O transponder está atualmente no estado SAR-PROC e completou o processamento interno do último comando Secure_Auth_Read recebido, incluindo as operações internas necessárias de decriptação e encriptação de dados, autenticou e autorizou, com sucesso, o interrogador no processo, e está pronto para enviar mensagem de retorno ao comando Secure_Auth_Read processado para o interrogador;b) O transponder está atualmente no estado SAR-READY e completou o envio de resposta auxiliar quanto ao recebimento, livre de erros, de uma retransmissão direta do último comando Secure_Auth_Read do interrogador, que já foi processado pelo transponder. - SAW-PROC, abreviação para “escrita-autenticada-segura processando” (secure-authenticated-write processing): O transponder muda imediatamente para esse estado se uma das seguintes condições é satisfeita:a) O transponder está atualmente no estado AUTHENTICATED e completou o envio de resposta auxiliar quanto ao recebimento, livre de erros, do comando Secure_Auth_Write do interrogador;b) O transponder está atualmente no estado SAW-PROC e completou o envio de resposta auxiliar quanto ao recebimento, livre de erros, de uma retransmissão direta do comando Secure_Auth_Write do interrogador, que já foi recebido pelo transponder em transmissão anterior.- SAW-READY, abreviação para “escrita-autenticada-segura pronta” (secure-authenticated-write ready): O transponder muda imediatamente para esse estado se uma das seguintes condições é satisfeita:a) O transponder está atualmente no estado SAW-PROC e completou o processamento interno do último comando Secure_Auth_Write recebido, incluindo as operações internas necessárias de decriptação e encriptação de dados, autenticou e autorizou, com sucesso, o interrogador no processo, e está pronto para enviar a mensagem de retorno ao comando Secure_Auth_Write processado para o interrogador;b) O transponder está atualmente no estado SAW-READY e completou o envio de resposta auxiliar quanto ao recebimento, livre de erros, de uma retransmissão direta do último comando Secure_Auth_Write do interrogador, que já foi processado pelo transponder.
[000195] Sem limitação da generalidade, além das transições de estado acima, o transponder pode implementar transições adicionais, como, por exemplo, para o estado inicial READY, conforme o comportamento desejado em situações excepcionais, incluindo: a) O transponder recebe um comando Select;b) O transponder recebe um comando Query, QueryRep, ou QueryAdjust; c) O transponder recebe um comando customizado não esperado (fora do fluxo de comandos padrão), pulando estados e/ou transições necessárias, conforme definidas na presente invenção;d) O transponder realizou um recomeço (reset) ou uma re-energização (power-up), devido à perda de energia ou outra falha transiente que resultou em perda de informação interna de estado do transponder.
[000196] Nota-se que a máquina de estado modificada acima representa um modelo de referência compatível com os comandos definidos na realização do sistema de comunicação seguro, incluindo todas as outras realizações compatíveis desta máquina de estados de referência que habilitem uma implementação de mecanismos de comunicação, cuja funcionalidade seja compatível com o sistema de comunicação seguro da presente invenção, incluindo máquinas de estados com nomes, número ou tipos de estados, e transições diferentes.
[000197] Sem perder a essência do presente sistema de comunicação seguro, e sem limitação da generalidade, realizações alternativas conceptíveis podem, por exemplo, unir os dois estados SAR-PROC e SAR-READY em um só estado, se o mecanismo de execução em duas fases de comandos customizados não for implementado, ou a se sua execução for desnecessária, por exemplo, por causa de uma implementação do sistema de comunicação seguro em um transponder com hardware avançado que permite uma resposta do transponder sem demora significativa, e dentro dos limites definidos de protocolo e de aplicação, podendo a mesma observação valer para os dois pares de estados SAW-PROC e SAW-READY, e MAR-PROC e MAR-READY.
Mecanismo para a Execução de Comandos em Duas Fases
[000198] A figura 11 ilustra esquematicamente o mecanismo de execução de comandos em duas fases, por meio de mensagens auxiliares que se constitui em outra concretização do presente sistema de comunicação seguro.
[000199] O mecanismo de execução em duas fases se aplica aos pares de mensagens, sendo composto por um comando interrogador e pela resposta correspondente do transponder endereçado.
[000200] Uma primeira finalidade essencial do mecanismo é a de habilitar transponders, para mandarem uma primeira resposta confirmativa auxiliar a comandos primários que necessitam de processamento criptográfico, com um tempo de processamento interno no transponder na ordem de grandeza de milissegundos a dezenas de milissegundos ou mais, onde esta qualidade habilita interrogadores a detectarem erros de transmissão e de processamento que resultariam na não-execução do comando customizado principal, em um intervalo de tempo curto e bem definido. Concretamente, e sem limitação da generalidade, o mecanismo permite, de acordo com a norma ISO 180006C, que o transponder continue respondendo ao comando customizado do interrogador, no tempo T1, e o interrogador pode detectar a falta de resposta no tempo T3 (timeout).
[000201] Outra finalidade do mecanismo é deixar o interrogador no controle da interação com o transponder e, depois da terminação presumida do processamento do comando customizado primário no transponder, após o tempo Δt, o interrogador solicita, através de um comando customizado auxiliar denominado Finalize, à transmissão da resposta primária do transponder.
[000202] Assim, a execução do comando customizado principal é dividida em duas fases distintas: a primeira fase sendo a de confirmação, e a segunda fase sendo a de finalização da execução do comando principal.
[000203] Uma vantagem significativa desta execução do comando principal em duas fases é que o interrogador pode aproveitar o intervalo de tempo Δt, durante a qual o transponder está sendo ocupado com o processamento do pedido primário, para processar outras tarefas ou se comunicar com outros transponders, reduzindo o tempo de espera e aumentando a eficiência operacional do interrogador.
[000204] O mecanismo de execução em duas fases do presente sistema de comunicação seguro beneficiará da execução de qualquer par de comando-resposta, entre interrogador e transponder, que envolva um processamento prolongado no transponder, e, em particular, este mecanismo se aplica aos comandos customizados que envolvem uso de criptografia no transponder: Mutual_Auth_Read, Secure_Auth_Read, e Secure_Auth_Write.
[000205] Como referência não limitativa da generalidade do presente sistema de comunicação seguro, para habilitar o interrogador a estimar o tempo Δt com mais precisão, a informação sobre o desempenho ou o tempo de processamento do transponders pode ser mantida em um banco de dados e o interrogador pode acessar esta informação usando um dos valores GID, UTID e SPC, recebidos do transponder como chave de acesso.
[000206] Alternativamente, uma variação da resposta auxiliar que se constitui em outra concretização do presente sistema de comunicação seguro, é a inclusão de um parâmetro opcional - denominado EPTI -, para a indicação do tempo de processamento esperado (expected processing time indicator), podendo, sem limitação da generalidade, o EPTI informar um índice do desempenho relativo de processamento do transponder, como, por exemplo, o número de bits que o transponder consegue encriptar ou decriptar por milissegundo, e uma indicação do desempenho da leitura e da escrita na memória não volátil, como, por exemplo, e sem limitação da generalidade, o tempo da gravação (rewrite) por palavra de 16 bits na memória EEPROM ou Flash ou FeRAM (ou outra) interna do transponder, permitindo o interrogador calcular o tempo necessário para operações criptográficas e acesso à memória no transponder. Também, o EPTI pode ainda informar a estimativa absoluta do tempo de processamento necessário, considerando o tipo e a carga do pedido recebido do interrogador, sendo que, em geral, o conhecimento do EPTI habilita o interrogador a estimar o tempo de espera necessário Δt com maior acuidade do que no caso não se ter esta informação.
[000207] Alternativamente, sem limitação da generalidade, os tempos de referência do processamento esperado, por comando e tipo e implementação de transponder, podem ser gerenciados na forma de tabelas mantidas nos interrogadores, mapeando números de versão de modelo de transponder e de versão de protocolo implementado a valores de desempenho de processamento absolutos ou relativos. Neste caso, supõe-se a inclusão de um número de modelo de implementação de transponder, e de um número de versão do protocolo implementado pelo transponder, no banco de memória UII, cujo conteúdo será lido pelo interrogador, durante da fase de inventário.
[000208] Uma variação do comando customizado auxiliar, que se constitui em outra concretização do presente sistema de comunicação seguro, é a inclusão de um parâmetro opcional, denotado FEOP, para forçar o fim de processamento (force end of processing) no transponder, quando este ainda não tenha terminado o processamento interno, no momento da recepção do comando Finalize. Sem limitação da generalidade, o FEOP pode ser realizado através de um indicador binário (binary flag; boolean flag), que assume os valores “1” ou ”ativado”, para forçar o fim do processamento e “0” ou “desativado”, para permitir a continuação do processamento no transponder.
[000209] Sem limitação da generalidade, no mecanismo de execução de comandos em duas fases, a reação do transponder a um comando Finalize, com ou sem FEOP ativado, depende de necessidades e de condições de contorno da aplicação particular. Assim, por exemplo, um transponder, que não terminou o processamento local, pode responder a um comando Finalize com FEOP desativado, por meio de mensagem de erro, avisando a não finalização do processamento, e parar a execução do comando, ou retornar resposta dedicada solicitando mais tempo para a execução do interrogador e continuar processando, ou ignorar o comando. Sem limitação da generalidade, a especificação do tratamento no interrogador, quanto à inabilidade do transponder em mandar uma resposta ao comando Finalize, pode depender da aplicação particular, não sendo essencial à especificação do presente sistema comunicação segura. Por exemplo, o interrogador pode estender o tempo de espera e mandar um novo comando Finalize para obter a resposta, ou simplesmente abandonar a interação unilateralmente.
[000210] Observa-se que a presente invenção cobre todas as variações do mecanismo de execução em duas fases que tenham finalidades e vantagens compatíveis, incluindo mecanismos que envolvem número de mensagens auxiliares e/ou de parâmetros diferentes. Uma possível variação compatível é a do transponder não mandar uma confirmação auxiliar, e o interrogador mandar diretamente o comando Finalize, após um certo tempo de espera.
[000211] Outra variação compatível é se eliminar o comando Finalize e, em vez deixar o transponder responder após um intervalo de tempo definido, deixar que, por exemplo, e sem limitação da generalidade, isto seja deduzido, pelo interrogador e pelo transponder, pela quantidade conhecida de dados que o transponder terá que processar internamente. Mecanismo para a Execução Intercalada de Comandos
[000212] A figura 12 ilustra esquematicamente o mecanismo de execução intercalada de comandos para a interação entre um interrogador e múltiplos transponders, e constitui outra concretização do presente sistema de comunicação seguro, onde, dentre outras, a finalidade essencial é habilitar o paralelismo parcial do processamento de comandos de interrogadores em transponders, visando reduzir o tempo de execução total, em comparação com uma execução sequencial de pares de mensagens, composto de um comando interrogador e de uma resposta correspondente do transponder endereçado.
[000213] O mecanismo de execução intercalada, utilizado no presente sistema de comunicação seguro, executa comandos em duas fases, em benefício de qualquer sequência de pares comando-resposta entre um interrogador e um transponder, que envolva um processamento prolongado no transponder, na ordem de grandeza de milissegundos a dezenas de milissegundos ou mais. Em particular, o mecanismo se aplica a sequências de comandos customizados, segundo o objeto da presente invenção, os quais envolvem o uso de criptografia no transponder: Mutual_Auth_Read, Secure_Auth_Read e Secure_Auth_Write.
[000214] Sem limitação da generalidade, o princípio genérico do mecanismo de execução intercalada pode ser dividido em três estágios, conforme ilustrado na figura 12:1°. Estágio de envio dos comandos primários; 2°. Estágio de espera do interrogador, e3°. Estágio de coleta das respostas primárias.
[000215] No primeiro estágio, usando o esquema de execução em duas fases, o interrogador manda o próximo comando primário PCi (primary command) devido, conforme sessão comunicativa atual, e recebe uma resposta auxiliar imediata ARi (auxiliar reply) de cada transponder Ti de um conjunto de M transponders T1 até TM, com os quais o interrogador está mantendo sessões comunicativas.
[000216] No segundo estágio, o interrogador aguarda pela conclusão do processamento do transponder T1, e, sem limitação da generalidade, no caso do tempo máximo de processamento do comando ser da ordem de milissegundos para todos transponders, dado por tproc, então a RSU deve aguardar por, pelo menos, twait = tproc - (M-1) x (treq + tconf) > 0 milissegundos, após recebimento de ARi, para que o processamento de PCi no transponder T1 seja terminado, com treq representando o limite superior para transmissão de um único comando primário PCi, com tconf representando o limite superior para recebimento de uma única resposta auxiliar ARi do transponder, e M especificando o número total de transponders a serem processados.
[000217] Note-se que o tempo de transmissão é determinado por fatores diferentes, incluindo as taxas de transferência de dados para o uplink e downlink, pelas tolerâncias máximas permitidas e pelos tamanhos dos datagramas de mensagens.
[000218] Se o tempo necessário para enviar todos os M comandos PCi, com 1 < i < M, for maior que o tempo de processamento interno do transponder T1, então tw = 0, e o interrogador pode continuar com o próximo estágio sem atraso.
[000219] No terceiro e último estágio, o interrogador envia os comandos Finalize auxiliares ACi (auxiliar command) para solicitar e receber as transmissões das respostas primárias PRi dos transponders Ti, 1 < i < M.
[000220] No caso do tempo de recebimento das respostas primárias no terceiro estágio ser menor que o tempo de envio dos comandos primários no primeiro estágio, o interrogador pode ficar sujeito a tempos de espera adicionais, conforme exemplificado a seguir.
[000221] Sem limitação da generalidade da sua aplicação, o mecanismo de execução intercalada segue um modelo simplificado para uma autenticação mútua implícita paralelizada de múltiplos transponders Ti, 1 < i < M, do ponto de vista do interrogador, e se constitui em outra concretização do presente sistema de comunicação seguro, onde:1. Enviar solicitações e receber confirmações auxiliares de autenticação mútua implícita: Para todo Ti com 1 < i < M, executado em sequência: i. Envie para Ti: Mutual_Auth_Read (Handlei, EK(...), CRC)ii. Receba de Ti: Reply (Handlei, ..., CRC)2. Espere disponibilidade da primeira resposta primária. Aguarde por tw milissegundos com :. tw = max (0; tproc — (M—1) X (treq + tconf)) — 0,. treq = GetTransmissionTime (Mutual_Auth_Read (Handlei, EK(...), CRC)),. tconf = GetTransmissionTime (Reply (Handlei, ..., CRC)).3. Solicite e colete respostas primárias de autenticação mútua: Para todo Ti com 1 < i < M, executado em sequência:i. Envie para Ti: Finalize (Handlei, ..., CRC)ii. Receba de Ti: Reply (Handlei, EK(...), CRC)iii. Se (i < M): Espere Δt milissegundos, com: • Δt — max (0; treq + tconf tfin trsp) > 0;. tfin = GetTransmissionTime (Finalize (Handlei, ..., CRC));• trsp— GetTransmissionTime (Reply (Handlei, EK(...), CRC)).
[000222] No exemplo, GetTransmissionTime constitui um mecanismo auxiliar abstrato para determinar o tempo de transmissão de mensagens a serem enviadas através da interface aérea.
[000223] O mecanismo de execução intercalada cobre a execução de qualquer conjunto homogêneo ou heterogêneo de comandos a serem executados em transponders.
[000224] Observe-se que o mecanismo de execução intercalada não se limita a uma sequência particular de transmissão de comandos por estágio, mas cobre a otimização e mudança da sequência em consideração ao tempo de transmissão e processamento de cada comando e resposta, com objetivo de evitar ou reduzir o tempo de espera do interrogador.
[000225] Observe-se também que o presente sistema de comunicação seguro cobre toda e qualquer variação do mecanismo de execução intercalada de comandos que tenha finalidades e vantagens compatíveis, incluindo ainda mecanismos que envolvam mensagens auxiliares e/ou parâmetros distintos, como, por exemplo, uma variação compatível onde, no primeiro estágio, o transponder apenas envia comandos primários PCi, sem receber confirmações auxiliares ARi.
Variações e Generalizações do Método Seguro de Comunicação
[000226] Além das variações descritas, o presente sistema de comunicação seguro também cobre toda e qualquer variação e generalização que não difiram fundamentalmente das funcionalidades e/ou das finalidades dos mecanismos ora descritos, e, em particular, e sem limitação de eventuais outras variações possíveis, o presente sistema de comunicação seguro cobre as seguintes variações: - Modificações das assinaturas dos comandos customizados do presente sistema de comunicação seguro, para suportar múltiplas gerações de chaves por tipo de chave, tais como gerações de chaves de autenticação múltipla, acesso à leitura e escrita, e, por exemplo, e sem limitação da generalidade, a identificação da geração de chave a ser usada poder ser realizada por meio de um parâmetro adicional nos comandos afetados que indica a geração da chave a ser usada.- Modificações dos comandos customizados do presente sistema de comunicação seguro, para suportar o uso de um ou múltiplas chaves mestres (master keys), sendo que o uso de uma chave concede certos direitos bem definidos ao interrogador, de maneira direta ou indireta através da geração de uma chave secreta temporária, que incluem, entre outros, acesso exclusivo, de leitura ou de escrita, às áreas, especiais ou gerais, da memória de transponders; autorização do uso de funcionalidade especial e de comandos específicos do transponder; ativação ou desativação, temporária ou permanente, de acesso de leitura e/ou de escrita às áreas de memória de transponders, incluindo a modificação do status interno destas áreas de memória de transponders, de “leitura e escrita permitidas” para “apenas leitura permitida”, e vice versa, e a desativação total e permanente de transponders (Kill).- Em coordenação com interrogadores, os transponders alteram ou substituem os nonces TN e RN, recebidos em comandos customizados, antes de gerar as respostas correspondentes, em vez de reutilizar os nonces TN e RN dos comandos customizados recebidos sem alteração.- Substituição de nonces, ou aumento com outros valores variáveis por tempos, escolhidos em um intervalo de valores suficiente para garantir probabilidade insignificante da repetição dos valores usados como nonces em mensagens na prática, conforme necessidades da aplicação particular. - Uso de algoritmos arbitrários de criptografia para as operações criptográficas dos comandos customizados definidas pelo presente sistema de comunicação seguro.- Modificações da nomenclatura dos comandos, das respostas e dos parâmetros nas assinaturas de comandos e respostas, sem modificação essencial da funcionalidade e das finalidades dos comandos, respostas, e parâmetros afetados.- Modificações da composição dos parâmetros de comandos customizados e das respostas de transponders, sem modificação essencial da funcionalidade e das finalidades dos comandos e das respostas que são objeto do presente sistema de comunicação seguro. Parâmetros podem, por exemplo, e sem limitação da generalidade, serem combinados por meio de operações lógicas reversíveis, como com a operação XOR, para reduzir o tamanho total em bits do conjunto de dados compostos, com a finalidade de reduzir o tempo de transmissão, ou o número e o tempo de operações criptográficas necessárias.- Modificações dos tamanhos de parâmetros em número de bits de comandos e respostas, e, em particular, modificações devidas ao uso de tamanhos de blocos diferentes de 128 bits, usado no algoritmo de referência (AES-128), ou modificações devidas ao uso de algoritmos criptográficos diferentes do algoritmo de referência AES, e nonces com tamanhos em número de bits variados.- Comandos customizados otimizados para tamanhos específicos de blocos de dados, incluindo variações de comandos customizados de acesso à leitura/escrita de transponders que contém blocos de dados de tamanho padronizado e/ou endereços de memória predefinidos na leitura/escrita de dados. - O uso de números arbitrários de bits para os parâmetros dos comandos customizados e das respostas correspondentes.- Máquinas criptográficas implementadas nos interrogadores e/ou nos transponders que usem modos operacionais diferentes do modo CTR, para garantir a proteção da integridade de dados criptografados de tamanho arbitrário.- Descrições das partes constituintes do sistema de comunicação seguro, com foco na especificação e na descrição dos parâmetros principais dos comandos de interrogadores e das respostas de transponders, sem limitar generalidade e sem excluir a possibilidade da inclusão de parâmetros adicionais nas assinaturas dos comandos e respostas para outros fins que não interfiram ou não comprometam as finalidades principais destes comandos e respostas.- Variações na especificação de comandos e respostas, objetos do presente sistema de comunicação seguro, em relação às maneiras diferentes de tratamento de exceções e falhas de processamento e de transmissão dos comandos e respostas.- Versões seguras e autenticadas dos comandos nativos Lock e Kill implementadas seguindo o modelo do comando Secure_Authenticated_Write, definindo um novo comando customizado, com uma nova sequência de bits característicos, conforme especificado no protocolo ISO 18000-6C, substituindo os parâmetros de dados a serem escritos pelo comando Secure_Authenticated_Write, com parâmetros necessários da respectiva operação, obtendo, por exemplo, e sem limitação da generalidade, comandos customizados Secure_Auth_Kill e Secure_Auth_Lock, e substituindo o código do resultado da escrita da resposta ao comando Secure_Authenticated_Write com um código apropriado do resultado da nova operação, e onde o comando Access se torna desnecessário depois da desativação dos outros comandos e da modificação da máquina de estados.- Definições alteradas do descritor do intervalo da área de memória lógica LMAR, incluindo definições que são diferentes do modo de endereçamento de memória definido na norma ISO 18000-6C, mas cuja adoção é permissível pela referida norma em comandos customizados. Podendo ser alterados, por exemplo, e sem limitação da generalidade, os valores de tamanho de componentes do LMAR, ou poder ser definido um esquema de endereçamento inteiramente diferente, como um esquema do tipo LBA (Linear Block Addressing) ou outro.
Outras Variações e Generalizações do Método Seguro de Comunicação
[000227] Além das variações descritas, o presente sistema de comunicação seguro também cobre, sem limitação de eventuais outras variações possíveis, as seguintes variações:- Variações dos comandos customizados que constituem representações do presente sistema de comunicação seguro (incluindo, sem limitação da generalidade, os comandos customizados Mutual_Auth_Read, Secure_Auth_Read, e Secure_Auth_Write), de forma que alguns, ou todos, os parâmetros de comando sejam inseridos em forma não cifrada (plaintext), em vez de criptografada (ciphertext), visando aplicações que permitem um nível de proteção de segurança reduzido, em favor de um desempenho de processamento melhorado no transponder. A figura 14 ilustra esquematicamente uma variação do comando customizado Mutual_Auth_Read e da resposta correspondente, que constitui uma concretização do presente sistema de comunicação seguro, na qual a troca dos parâmetros auxiliares RN, CRN, SMD, DMD, TN, e CTN é realizada sem proteção por envelope criptográfico; - Variações dos comandos customizados que constituem representações do presente sistema de comunicação seguro - incluindo, em particular, sem limitação da generalidade, os comandos customizados Mutual_Auth_Read, Secure_Auth_Read, e Secure_Auth_Write -, da forma que parâmetros de comando são alterados, ou acrescidos, com o objetivo de efetuar comportamentos diferenciados dos comandos de interrogador e das respostas correspondentes de transponder. Como referência não limitativa da generalidade do presente sistema de comunicação seguro, supõe-se o uso de parâmetros adicionais para efetuar a inclusão de códigos de autenticidade estáticos, precalculados e armazenados na memória do transponder, ou dinâmicos, gerados pelo transponder em tempo de execução (significando também em tempo real), na resposta do transponder. Outra referência não limitativa constitui a inclusão de um parâmetro adicional no comando customizado para a geração de uma ou mais chaves temporárias para a encriptação de dados com validade restrita a duração da sessão de comunicação entre o transponder e um interrogador. Outra referência não limitativa é a inclusão de um parâmetro adicional no comando customizado para a indexação de uma ou mais chaves secretas, ou uma ou mais chaves mestres secretas para a geração de uma ou mais chaves de sessão.- Variações dos comandos customizados que constituem representações do presente sistema de comunicação seguro, incluindo, sem limitação da generalidade, os comandos customizados Mutual_Auth_Read, Secure_Auth_Read, e Secure_Auth_Write, da forma que um ou mais parâmetros, reservados explicitamente para uso futuro, são inseridos no comando e/ou na resposta correspondente. Como referência não limitativa da generalidade do presente sistema de comunicação seguro, supõe-se o uso de um parâmetro RFFU, de pelo menos um bit de tamanho, com um valor padrão bem definido. Sem limitação da generalidade, o valor padrão será representado por uma sequência de bits de tamanho maior ou igual a 1 bit, com o bit mais significativo (MSB) sendo o bit ‘0’, para indicar a não utilização do parâmetro e a não consideração do mesmo pelo recipiente. A utilização de tais parâmetros, do tipo RFFU, em comandos e respostas permitem a extensão da funcionalidade na implementação do sistema de comunicação seguro em equipamentos interrogadores e leitoras que garantem compatibilidade reversa total (backward compatibility) com comandos e respostas anteriores. Adicionalmente, sem limitação da generalidade, o valor do parâmetro RFFU, que indica a presença de nova funcionalidade, será discriminado por uma sequência de N bits de tamanho maior ou igual a 1 bit, com o bit mais significativo (MSB) sendo o bit ‘1’, para indicar a utilização do parâmetro na função de uma nova característica de comando e/ou resposta, a ser avaliada pelo recipiente. Caso o tamanho do parâmetro RFFU seja maior que 1 bit, a natureza da nova função será discriminado pela sequência dos N-1 bits menos significativos do parâmetro RFFU, permitindo o chaveamento entre até 2N-1 novas funcionalidades variadas. Além disso, sem limitação da generalidade, o tamanho do parâmetro RFFU, no caso do MSB sendo representado pelo bit ‘1’, pode ter um tamanho bem definido que é maior que o tamanho do parâmetro RFFU, no caso do MSB sendo igual ao valor bit ‘0’, para manter o tamanho da mensagem contendo o parâmetro RFFU com tamanho mínimo possível, para melhorar a eficiência de transmissão da mensagem pela interface aérea, reduzindo também a probabilidade de erro de transmissão, que aumenta com cada bit de tamanho adicional de mensagem. A figura 14 ilustra esquematicamente uma variação do comando customizado Mutual_Auth_Read, que constitui uma concretização do presente sistema de comunicação seguro, na qual foi inserido um parâmetro novo RFFU no comando e na resposta correspondente.- Variações dos mecanismos para a inicialização da sessão comunicativa, que constituem outras representações não limitativas do presente sistema de comunicação seguro, incluindo, em particular, sem limitação da generalidade, os mecanismos ilustrados nas figuras 3 e 4, na forma que alguns, ou todos, os parâmetros dos comandos e das respostas respectivas sejam protegidas por criptografia, utilizando chaves secretas partilhadas entre interrogador e transponder.- Variações dos comandos customizados caracterizadas pela utilização de algoritmos criptográficos assimétricos para a proteção da confidencialidade, integridade, autenticidade, unicidade, e atualidade de dados e mensagens. Como referência não limitativa da generalidade do presente sistema de comunicação seguro, supõe-se, em transponders que tem a capacidade técnica para realizar criptografia assimétrica em tempo de execução, o uso de algoritmo assimétrico para encriptação e decriptação de dados; para a troca de chaves secretas temporárias de sessão; para a utilização em algoritmos simétricos de criptografia; para a proteção de dados a serem transmitidos pela interface aérea; para a geração de códigos de autenticidade e integridade sobre dados, e para a geração de assinaturas digitais sobre dados e mensagens trocados, com objetivo de provação de não-repúdio (non repudiation) de dados e mensagens enviados/recebidos. Em particular, outra referência não limitativa da generalidade do presente sistema de comunicação seguro constitui a inserção de um código dinâmico de assinatura digital nos mecanismos seguros de comunicação Mutual_Auth_Read, Secure_Auth_Read, e Secure_Auth_Write, e nas diversas variações dos mesmos, calculado pelo leitor, ou pelo transponder, ou calculado pelos dois, em tempo real, sobre os dados de comando de leitor, de resposta de transponder, ou sobre dados de protocolo, substituindo, ou completando, um eventual código dinâmico de proteção da integridade e autenticidade DMAC utilizado, substituindo, ou completando, um eventual código estático de proteção da integridade e autenticidade SMAC utilizado, e substituindo, ou completando, um eventual código dinâmico de proteção da integridade de dados tipo CRC utilizado. Como referência não limitativa da generalidade do presente sistema de comunicação seguro, para a geração de assinaturas digitais ou códigos assimétricos de autenticidade e integridade utilizando um esquema de chave público e privado, supõe-se o uso de algoritmos assimétricos, do tipo criptografia de curvas elípticas (ECC, Elliptic Curves Cryptography) [NIST Federal Information Processing Standards Publication No. 186-3, 2009], que, segundo o estado da arte, permitem implementações eficientes em transponders com recursos limitados, em comparação ao uso do mecanismo RSA, que requer chaves secretas e tamanhos de blocos significativamente maiores, ou supõe-se o uso de algoritmos assimétricos com tamanho de chaves, tamanho de blocos, e complexidade computacional comparáveis, ou menores, em comparação a algoritmos assimétricos do tipo ECC.- Variações dos comandos customizados nas quais o estado Open permanece existente, e não é eliminado da máquina de estados do transponder, com o comando Req_RN permanecendo válido (e não desativado), e o comando customizado Req_Handle sendo executado após a primeira execução do comando Req_RN na fase do inventário com o transponder no estado Open.- Variações do presente sistema de comunicação seguro nas quais o comando customizado Req_Handle contém, como outra concretização não limitativa do presente sistema de comunicação seguro, um, ou mais, parâmetros adicionais para a alteração do estado interno do transponder. Como referência não limitativa da generalidade do presente sistema de comunicação seguro, tais alterações incluem a alteração dos valores de estado dos flags das sessões S0, S1, S2, e S3, e do selected flag SL, conforme definidos pela norma ISO 18000-6C, bem como a introdução e utilização de parâmetros novos de estado interno nos transponders. Como outra referência não limitativa da generalidade do presente sistema de comunicação seguro, tal alteração inclui a inserção de um parâmetro adicional para efetuar a reinicialização (reset) do transponder na forma condicional - através da avaliação de uma condição lógica em função do estado interno do transponder - ou incondicional.- Variações do presente sistema de comunicação seguro nas quais a resposta do transponder ao comando customizado Req_Handle contém, como outra concretização não limitativa do presente sistema de comunicação seguro, um ou mais parâmetros adicionais para a informação do estado interno do transponder ao interrogador. Como referência não limitativa da generalidade do presente sistema de comunicação seguro, tais informações incluem os valores de estado dos flags das sessões S0, S1, S2, e S3, e do selected flag SL, conforme definidos pela norma ISO 18000-6C, e os valores de demais parâmetros internos do transponder, incluindo de parâmetros adicionais de estado interno introduzidos novamente.- Variações de concretizações da máquina de estados dos transponders, incluindo a concretização não limitativa da máquina de estados estendida dos transponders ilustrada esquematicamente pela figura 15, que se constitui em outra concretização do presente sistema de comunicação seguro, com variações de transições de estados na forma que o transponder não responda às solicitações de comandos de leitor, enquanto processa um dos comandos customizados complexos Mutual_Auth_Read, Secure_Auth_Read, e Secure_Auth_Write, que requerem tempo prolongado de processamento na OBU e um nível de potência ou energia elevado neste processo, e não considerando novos comandos de leitor durante o processamento destes comandos customizados complexos, que em certos casos melhora significativamente a robustez da implementação do sistema de comunicação seguro em dispositivos de transponder passivos (que não dispõem fonte própria de energia).- Variações dos comandos customizados nas quais é utilizado, como outra concretização não limitativa do presente sistema de comunicação seguro, um identificador de transmissão (transmission counter) de mensagem nos comandos customizados enviados pelo interrogador e nas respostas retornadas pelo transponder, para o fim da identificação mais eficiente de retransmissões, e para controle de fluxo e ordem de entrega de mensagens em variações do sistema de comunicação seguro que permitem que múltiplos comandos e/ou múltiplas respostas sejam enviados e temporariamente armazenados para retransmissão. Como referência não limitativa da generalidade do presente sistema de comunicação seguro, tais identificadores de transmissão de mensagem incluem contadores numéricos cíclicos com representação binária de tamanho de um ou mais bits. Um exemplo não limitativo é um contador de 2 bits de tamanho, com a função de incrementação “mais um módulo 22”, resultando na seqüência de valores 0, 1, 2, e 3 por ciclo do contador. Outro exemplo não limitativo é um identificador de mensagem não numérico que utiliza dois ou mais valores diferenciados, como uma bandeja (flag) com valores A e B.- Variações dos comandos customizados nas quais o modo de encriptação é trocado com o modo de decriptação nas mensagens de comando, que constitui outra concretização não limitativa do presente sistema de comunicação seguro, com o objetivo de permitir implementações do sistema seguro de comunicação em transponders na forma que apenas seja necessário implementar o modo de encriptação no transponder, para reduzir a complexidade de implementação e o consumo de energia na operação do transponder, bem como melhorar o desempenho temporal de processamento no transponder que constitua dispositivo com recursos limitados em comparação ao dispositivo interrogador. Então em outras palavras, a operação de cifragem (CIPH) pode ser dada pela função de decriptação (DEC), e a operação reversa de decifragem (CIPH-1) pela função de encriptação (ENC), isto sendo permissível no caso de cifras simétricas, como AES e DES, nas quais as funcionalidades de encriptação e decriptação são permutáveis, para conseguir a cifragem e decifragem de dados. Como referência não limitativa da generalidade do presente sistema de comunicação seguro, supõe-se o uso do algoritmo simétrico criptográfico AES, bem como de qualquer outro algoritmo simétrico criptográfico, como DES, TDES, Blowfish, ou IDEA, sem limitação da generalidade, no modo operacional ECB, pelo leitor na função de decriptação (DEC), para cifrar (CIPH) os dados originais (plaintext), sendo CIPH=DEC, para que o transponder depois decifra (CIPH-1) o texto cifrado obtido (ciphertext), por meio da aplicação do algoritmo simétrico criptográfico AES, no modo operacional ECB, na função reversa de encriptação (ENC), sendo CIPH-1=ENC, para recuperar o texto original, utilizando a mesma chave simétrica secreta partilhado ou gerado em maneira sincronizada entre transponder e interrogador.- Variações dos comandos customizados nas quais as chaves secretas de cifragem em comandos e respostas correspondentes da mesma sessão comunicativa entre interrogador e transponder são variadas, que constitui outra concretização não limitativa do presente sistema de comunicação seguro. Sem limitação da generalidade, tais variações de chaves secretas incluem a geração periódica de novas chaves secretas de sessão baseado em sementes variáveis por tempo, como, por exemplo, não limitativo, a utilização dos nonces nas mensagens de cada novo par tipo comando- resposta, e a utilização de múltiplas chaves secretos, para a encriptação de blocos de dados diferentes, na mensagem do mesmo comando ou da mesma resposta.
Variações de concretizações do mecanismo de autenticação mútua implícita MUTUAL_AUTH_READ do sistema de comunicação seguro
[000228] A figura 16 ilustra esquematicamente uma concretização não limitativa da autenticação mútua implícita entre um interrogador e um transponder, com leitura de dados identificadores do transponder, protegidos por um envelope criptográfico, utilizando, como exemplo não limitativo da generalidade, os nonces RN, TN, CTN, de 64 bits de tamanho, e CRN56, de 56 bits de tamanho, o modo operacional ECB da maquina criptográfica AES-128, com a chave secreta AK, de 128 bits, na forma que CIPH=ENC e CIPH-1=DEC, para proteger a confidencialidade e integridade dos parâmetros de protocolo RN e CRN56 no comando e TN e CTN, na resposta correspondente, e, utilizando o modo CTR da maquina criptográfica AES-128, com chave secreta SK de 128 bits para proteger a confidencialidade e integridade dos dados veiculares UTID, de 64 bits, e TDATA, de 64 bits, e do código estático SMAC de proteção da integridade e autenticidade contidos na resposta, com o SMAC sendo pré-calculado sobre os dados UTID e TDATA, e armazenado previamente na memória durante a personalização do transponder, com o tamanho e tipo do SMAC definido pelo parâmetro SMD2, com o código dinâmico DCRC da detecção de erros, tipo CRC-16, sendo calculado sobre os dados veiculares e sobre o código SMAC em tempo de execução pelo transponder, e com o parâmetro DCRC, na resposta de transponder, sendo combinado com os 16 bits menos significativos do parâmetro TN, pela operação XOR (ou exclusivo), e com um código dinâmico de proteção da integridade e autenticidade DMAC, de tamanho e tipo definido pelo parâmetro DMD2, e calculado em tempo de execução pelo transponder sobre os blocos de dados encriptados, no modo CTR, contidos na mensagem de resposta, e utilizando os parâmetros CTN, de 64 bits, e CRN56, de 56 bits, para inicializar o contador inicial do modo CTR, e com a mensagem de comando contendo exemplos não limitativos de parâmetros adicionais, sendo o parâmetro RFFU2 um parâmetro de 2 bits reservado para uso futuro e não protegido por cifragem, SMD2 sendo um parâmetro descritor de 2 bits do código SMAC, DMD2 sendo um parâmetro descritor de 2 bits do código DMAC, GSK1 sendo um parâmetro descritor de 1 bits definindo o mecanismo da obtenção da chave secreta temporária de sessão SK pelo transponder - sendo efetuado pelo valor bit ‘0’ em notação binária do parâmetro GSK1, sem limitação da generalidade, a utilização de uma chave secreta padrão de sessão predefinida, e pelo valor bit ‘1’ do parâmetro GSK1, a utilização de uma chave mestre padrão para gerar, em tempo de execução, uma nova chave secreta temporária de sessão SK, neste processo da geração dinâmica da chave SK utilizando os nonces RN e TN, ou outra combinação de parâmetros variáveis por tempo como semente (seed), e sendo o parâmetro RFFUP3 um parâmetro de 3 bits reservado para uso futuro, protegido por cifragem, e sendo RFFU2 e RFFUP3 exemplos não limitativos de parâmetros destinados para a introdução futura segura de novas funcionalidades no comando, sem alteração da estrutura básica do comando atual, para manter compatibilidade reversa (backward compatibility) e interoperabilidade de implementações de versões diferentes do mecanismo seguro em transponders e interrogadores.
[000229] A figura 17 ilustra esquematicamente outra concretização não limitativa da autenticação mútua implícita entre um interrogador e um transponder, com leitura de dados identificadores do transponder protegidos por um envelope criptográfico, que utiliza, como exemplo não limitativo da generalidade, nonces RN, TN, CTN, de 64 bits de tamanho, e CRN56, de 56 bits de tamanho, o modo operacional ECB da maquina criptográfica AES-128, com as chaves secretas AK e SK de 128 bits, na forma CIPH=ENC, com CIPH-1=DEC em todos os casos, para proteger a confidencialidade e integridade dos parâmetros de protocolo RN e CRN56, no comando, e CTN, nas suas duas ocorrências, e RN e TN, na resposta correspondente, e do código dinâmico DCRC, da detecção de erros, tipo CRC-16, calculado em tempo de execução pelo transponder sobre os dados veiculares UTID, de 64 bits, e TDATA, de 64 bits, e sobre o código SMAC, contidos na resposta, com o parâmetro DCRC sendo combinado com os 16 bits menos significativos do parâmetro TN, pela operação XOR (ou exclusivo), e utilizando o modo CTR de cifragem da maquina criptográfica AES-128 como chave secreta SK, para proteger a confidencialidade e integridade dos dados veiculares UTID e TDATA, e do código estático SMAC de proteção da integridade e autenticidade na resposta, com o SMAC sendo pré-calculado sobre os dados UTID e TDATA e armazenado previamente na memória, durante a personalização do transponder, com o tamanho e tipo do SMAC definido pelo parâmetro SMD2, com o código dinâmico DCRC da detecção de erros, tipo CRC-16, sendo calculado sobre os dados veiculares e sobre o código SMAC em tempo de execução pelo transponder, com o parâmetro DCRC na resposta de transponder sendo combinado com os 16 bits menos significativos do parâmetro TN, pela operação XOR (ou exclusivo), e com um código dinâmico de proteção da integridade e autenticidade DMAC, de tipo e tamanho definido pelo parâmetro DMD2, e calculado em tempo de execução, pelo transponder, sobre os blocos de dados encriptados no modo CTR, com a chave secreta SK, e sobre os blocos de dados cifrados com chave secreta SK, no modo ECB, contidos na mensagem da resposta, e utilizando os parâmetros CTN, de 64 bits, e CRN56, de 56 bits, para inicializar o contador inicial do modo CTR, e com a mensagem de comando contendo, como exemplos não limitativos de parâmetros adicionais, sendo RFFU2 um parâmetro de 2 bits reservado para uso futuro e não protegido por cifragem, SMD2 sendo um parâmetro descritor de 2 bits do código SMAC, DMD2 sendo um parâmetro descritor de 2 bits do código DMAC, MKS3 sendo um parâmetro descritor de 3 bits para a seleção da chave de sessão padrão ou da chave mestre a ser usado para a geração da chave secreta de sessão SK, com MKS3 sem limitação da generalidade indexando um total de 23 = 8 chaves ou chaves mestres com índices 0 a 7, estas chaves sendo pré-gravadas na memória do transponder durante a personalização, GSK1 sendo um parâmetro descritor de 1 bit que define o mecanismo da obtenção da chave secreta temporária de sessão SK pelo transponder, sendo efetuado pelo valor bit ‘0’ em notação binária do parâmetro GSK1, sem limitação da generalidade, a utilização de uma chave secreta padrão de sessão indexada pelo parâmetro MKS3 e armazenada no transponder, e pelo valor bit ‘1’ do parâmetro GSK1 a utilização daquela chave mestre segreda armazenada no transponder e indexada pelo parâmetro MKS3 para a geração em tempo de execução de uma chave secreta temporária de sessão SK, e, neste processo da geração dinâmica da chave SK, utilizando os nonces RN e TN ou outra combinação de parâmetros variáveis por tempo como semente (seed), e sendo o parâmetro RFFU2 um exemplo não limitativo para um parâmetro destinado para a introdução futura de novas funcionalidades ao comando sem alteração da estrutura básica do comando atual para manter compatibilidade reversa (backward compatibility) e interoperabilidade de implementações de versões diferentes do mecanismo seguro em transponders e interrogadores.
[000230] A figura 18 ilustra esquematicamente outra concretização não limitativa da autenticação mútua implícita entre um interrogador e um transponder, com leitura de dados identificadores do transponder protegidos por um envelope criptográfico, que utiliza, como exemplo não limitativo da generalidade, nonces RN, TN, IRN e ITN, de 64 bits de tamanho, o modo operacional ECB da maquina criptográfica AES-128, com a chave secreta AK de 128 bits, na forma CIPH=ENC com CIPH-1=DEC, para proteger a confidencialidade e integridade dos parâmetros de protocolo de parâmetros de protocolo RN e IRN no comando e TN e ITN na resposta correspondente, um código dinâmico de proteção da integridade e autenticidade DMAC de 64 bits no comando, e, sem limitação da generalidade, o DMAC sendo calculado em tempo de execução pelo leitor sobre o bloco dos dados RN e ITN cifrados no modo ECB no comando utilizando, como exemplo não limitativo, uma chave secreta e um formato e tamanho de DMAC determinados pelo leitor, em tempo real, em função do identificador de grupo GID do transponder conhecido, e o modo CBC, com a chave secreta SK de 128 bits, para proteger a confidencialidade e integridade dos nonces TN e RN, do número de identificação de veículo, e, sem limitação da generalidade, representado pelo VIN (vehicle identification number), conforme padrão internacional ISO 3779 de 128 bits, e do código dinâmico DCRC da detecção de erros, tipo CRC-16 de 16 bits, calculado sobre o VIN, em tempo de execução pelo transponder, com o parâmetro DCRC, na resposta, sendo combinado com os 16 bits menos significativos do parâmetro TN, pela operação XOR (ou exclusivo), e utilizando o conjunto dos parâmetros IRN, de 64 bits, e ITN, de 64 bits, como vetor de inicialização (initialization vector, IV) do modo CBC da máquina criptográfica AES-128.
[000231] A figura 19 ilustra esquematicamente outra concretização não limitativa da autenticação mútua implícita entre um interrogador e um transponder, com leitura de dados identificadores do transponder, protegidos por um envelope criptográfico, que utiliza, como exemplo não limitativo da generalidade, nonces RN, TN, IRN, e ITN, de 64 bits de tamanho, o modo operacional ECB da maquina criptográfica AES-128 com a chave secreta AK de 128 bits na função de decriptação, para a cifragem de dados na forma CIPH=DEC, com CIPH-1=ENC para proteger a confidencialidade e integridade dos parâmetros de protocolo RN e IRN no comando, a forma CIPH=DEC permitindo que a decifragem no transponder dos dados cifrados pelo interrogador seja realizada no modo ECB na função de encriptação, então CIPH-1=ENC, removendo a necessidade da implementação adicional do modo de decriptação em favor do modo único de encriptação no transponder, permitindo, sem limitação da generalidade, em certos casos de implementação da máquina criptográfica a redução da área de chip de implementação do algoritmo criptográfico e do consumo de energia na operação do algoritmo em transponders passivos, e utilizando o modo operacional ECB da maquina criptográfica AES-128 com a chave secreta AK de 128 bits na função de encriptação, para a cifragem de dados na forma CIPH=ENC com CIPH- 1=DEC, para proteger a confidencialidade e integridade dos parâmetros e TN e ITN na resposta, utilizando o modo CBC de cifragem do algoritmo criptográfico simétrico com a chave secreta SK de 128 bits, para proteger a confidencialidade e integridade dos nonces RN e TN, do número de identificação de veículo sendo, sem limitação da generalidade, representado pelo VIN (vehicle identification number), conforme padrão internacional ISO 3779 de 128 bits, e do código estático de proteção da integridade e autenticidade SMAC de 64 bits pré-calculado sobre o VIN durante a personalização do transponder, com o parâmetro SMAC na resposta do transponder sendo combinado com o parâmetro TN, pela operação XOR (ou exclusivo), e utilizando o conjunto dos parâmetros IRN, de 64 bits, e ITN, de 64 bits, como vetor de inicialização (initialization vector, IV), para a inicialização do modo CBC na sessão de comunicação atual entre interrogador e transponder, e utilizando, como exemplo não limitativo, um contador de transmissão TC binário de 1 bit nas mensagens de comando e reposta para a indicação de novas transmissões e retransmissões de comando e resposta, respectivamente, e as mensagens de comando e resposta contendo exemplos não limitativos de parâmetros adicionais, sendo um parâmetro RFFU de 1 bit de tamanho reservado para uso futuro, não protegido por cifragem, e o parâmetro RFFU sendo destinado à introdução futura de novas funcionalidades no mecanismo sem alteração da estrutura básica do comando e da resposta correspondente, para manter compatibilidade reversa (backward compatibility) e interoperabilidade de implementações de versões diferentes do mecanismo seguro em transponders e interrogadores.
Variações de concretizações do mecanismo de leitura segura SECURE_AUTH_READ com autenticação de pedido do sistema de comunicação seguro
[000232] A figura 20 ilustra esquematicamente uma concretização não limitativa da leitura segura com autenticação de pedido entre um interrogador e um transponder, que utiliza, como exemplo não limitativo da generalidade, nonces RN e TN, de 64 bits de tamanho, um descritor de intervalo da área de memória lógica a ser lida LMAR, de 64 bits, o parâmetro LMAR no comando de interrogador sendo combinado com o parâmetro RN, pela operação XOR (ou exclusivo), o modo operacional ECB de cifragem da maquina criptográfica AES-128 com chave secreta de sessão SK de 128 bits na forma CIPH=ENC, com CIPH- 1=DEC, para proteger a confidencialidade e integridade dos nonces e do descritor de memória LMAR, de 64 bits, no comando, e proteger a confidencialidade e integridade dos nonces e do código dinâmico DMAC de proteção da integridade e autenticidade de 64 bits na resposta, o DMAC sendo calculado em tempo de execução pelo transponder sobre os n > 1 blocos de dados DW1 a DWn a 128 bits cada um, com o bloco DWn contendo um preenchimento de bits (padding) bem definido, caso a quantidade dos dados lidos e contidos no último bloco seja menor que o tamanho do bloco, e o parâmetro DMAC na resposta de transponder, sendo combinado com o parâmetro TN, pela operação XOR (ou exclusivo), e utilizando o modo CTR da maquina criptográfica AES-128, para proteger a confidencialidade e integridade dos dados DW1 a DWn lidos da memória do transponder no caso da autenticação bem-sucedida do pedido.
[000233] A figura 21 ilustra esquematicamente outra concretização não limitativa da leitura segura com autenticação de pedido entre um interrogador e um transponder, que utiliza, como exemplo não limitativo da generalidade, nonces RN e TN, de 64 bits de tamanho, um descritor de intervalo da área de memória lógica a ser lida LMAR, de 64 bits, o parâmetro LMAR no comando de interrogador sendo combinado com o parâmetro RN, pela operação XOR (ou exclusivo), utilizando o modo operacional ECB da maquina criptográfica AES-128 com chave secreta SK de 128 bits na forma CIPH=ENC, com CIPH-1=DEC, para proteger a confidencialidade e integridade dos nonces e do descritor de memória LMAR, de 64 bits, no comando de interrogador, e utilizando o modo CTR da maquina criptográfica AES-128 com chave secreta SK de 128 bits, para proteger a confidencialidade dos nonces RN e TN, dos dados DW1 a DWn lidos da memória do transponder, e do código dinâmico RCRC de integridade tipo CRC-16 de 16 bits na resposta, o RCRC sendo calculado, em tempo de execução, pelo transponder sobre os n > 1 blocos de dados DW1 a DWn a 128 bits cada um, com o bloco DWn contendo um padding bem definido, caso a quantidade de dados lidos e contidos no último bloco seja menor que o tamanho do bloco, o parâmetro RCRC na resposta de transponder sendo combinado com os 16 bits menos significativos do parâmetro TN, pela operação XOR (ou exclusivo), e utilizando como exemplo não limitativo um contador de transmissão TC binário de 1 bit nas mensagens de comando e de reposta, para a indicação de novas transmissões e de retransmissões.
[000234] A figura 22 ilustra esquematicamente outra concretização não limitativa da leitura segura com autenticação de pedido entre um interrogador e um transponder, que utiliza, como exemplo não limitativo da generalidade, nonces RN e TN, de 64 bits de tamanho, um descritor de intervalo da área de memória lógica a ser lida LMAR, de 64 bits, o parâmetro LMAR no comando de interrogador sendo combinado com o parâmetro RN, pela operação XOR (ou exclusivo), o modo operacional CBC da maquina criptográfica AES-128 com chave secreta SK de 128 bits na forma CIPH=ENC, com CIPH-1=DEC, para proteger a confidencialidade e integridade dos nonces e do descritor de memória LMAR de 64 bits no comando de interrogador, e proteger a confidencialidade e integridade dos nonces, dos dados lidos DW1 a DWn, e do código dinâmico RCRC de integridade tipo CRC-16 de 16 bits na resposta, o RCRC sendo calculado, em tempo de execução, pelo transponder sobre os n > 1 blocos de dados DW1 a DWn a 128 bits cada um, com o bloco DWn contendo um padding bem definido, caso a quantidade dos dados lidos e contidos no último bloco seja menor que o tamanho do bloco, o parâmetro RCRC na resposta de transponder sendo combinado com os 16 bits menos significativos do parâmetro TN, pela operação XOR (ou exclusivo), utilizando nas mensagens de comando e resposta, como exemplo não limitativo de parâmetros adicionais, o parâmetro RFFU de 1 bit reservado para uso futuro e não protegido por cifragem, e utilizando um código dinâmico de proteção da integridade e autenticidade DMAC de tamanho e tipo pré-definido ou definido por um parâmetro auxiliar incluído no parâmetro LMAR, e sendo calculado o DMAC em tempo de execução pelo transponder sobre os blocos de dados cifrados no modo CBC contidos na resposta do transponder.
[000235] A figura 23 ilustra esquematicamente outra concretização não limitativa da leitura segura com autenticação de pedido entre um interrogador e um transponder, que utiliza, como exemplo não limitativo da generalidade, nonces RN e TN, de 64 bits de tamanho, um descritor de intervalo da área de memória lógica a ser lida LMAR, de 64 bits, o parâmetro LMAR no comando de interrogador sendo concatenado com os parâmetros TN e RN, o modo operacional ECB da maquina criptográfica AES-192 com chave secreta SK de 192 bits na forma CIPH=DEC, com CIPH-1=ENC, para proteger a confidencialidade e integridade dos nonces e do descritor de memória LMAR no comando de interrogador, e utilizando o modo CBC da maquina criptográfica AES-192 com chave secreta SK de 192 bits na forma CIPH=ENC, com CIPH- 1=DEC, para proteger na resposta a confidencialidade e integridade dos nonces, dos dados DW1 a DWn lidos da memória do transponder, e do código dinâmico DMAC de proteção da integridade e autenticidade de 64 bits, o DMAC sendo calculado, em tempo de execução, pelo transponder sobre os n > 1 blocos de dados DW1 a DWn a 192 bits cada um, com o bloco DWn contendo um padding bem definido caso a quantidade dos dados lidos e contidos no último bloco seja menor que o tamanho do bloco, o parâmetro DMAC na resposta de transponder sendo concatenado com os parâmetros RN e TN, e o tipo do DMAC sendo pré-definido ou definido por um parâmetro auxiliar incluído no parâmetro LMAR.
[000236] A figura 24 ilustra esquematicamente outra concretização não limitativa da leitura segura com autenticação de pedido entre um interrogador e um transponder, otimizada para a leitura segura e autenticada de um único bloco da memória do transponder contendo até 64 bits de dados, utilizando, como exemplo não limitativo da generalidade, nonces RN e TN, de 64 bits de tamanho, um descritor de intervalo da área de memória lógica a ser lida LMAR, de 64 bits para o endereçamento de até 64 bits de dados a serem lidos da memória do transponder, o parâmetro LMAR no comando de interrogador sendo concatenado com os parâmetros TN e RN, utilizando o modo operacional ECB da maquina criptográfica AES-192 com chave secreta SK de 192 bits na forma CIPH=ENC, com CIPH-1=DEC, para proteger a confidencialidade e integridade dos nonces TN e RN e do descritor de memória LMAR no comando de interrogador, e proteger a confidencialidade e integridade dos nonces RN e TN e do bloco único de dados lidos DW64 de 64 bits na mensagem de resposta, o bloco DW64 contendo um padding bem definido caso a quantidade de dados a ser lida seja menor que 64 bits.
Variações de concretizações do mecanismo de escrita segura SECURE_AUTH_WRITE com autenticação de pedido do sistema de comunicação seguro
[000237] A figura 25 ilustra esquematicamente uma concretização não limitativa da escrita segura com autenticação explícita de pedido entre um interrogador e um transponder, que utiliza, como exemplo não limitativo da generalidade, nonces RN e TN, de 64 bits de tamanho, um descritor de intervalo da área de memória lógica a ser escrita LMAR48, de 48 bits, LMAR48 sendo concatenado com um código dinâmico WCRC de integridade tipo CRC-16, de 16 bits, o WCRC sendo calculado, em tempo de execução, pelo interrogador sobre os n > 1 blocos de dados DW1 a DWn a 128 bits cada um, com o bloco DWn contendo um padding bem definido caso a quantidade de dados a ser escrita neste último bloco seja menor que o tamanho do bloco, e com este padding sendo removido pelo transponder antes de escrever os dados DW1 a DWn na memória interna nos endereços especificados pelo parâmetro LMAR48 no caso da autenticação bem sucedida do comando através da análise da validade e correção dos valores TN, RN, WCRC e de qualquer código de integridade adicional contido no parâmetro LMAR48 pelo transponder, o conjunto dos parâmetros LMAR48 e WCRC concatenados no comando de interrogador sendo combinado com o parâmetro RN, pela operação XOR (ou exclusivo), e utilizando o modo CBC da maquina criptográfica AES- 128 com a chave secreta de escrita WK de 128 bits, para proteger no comando a confidencialidade e integridade dos nonces RN e TN, dos parâmetros LMAR48 e WCRC, e dos n > 1 blocos de dados DW1 a DWn e a serem escritos na memória do transponder, e utilizando o modo CBC de cifragem da maquina criptográfica AES-128 com a chave secreta de escrita WK de 128 bits para proteger a confidencialidade e integridade dos nonces RN e TN e do parâmetro WCRC* na mensagem de resposta do transponder, sendo WCRC* um código dinâmico de integridade tipo CRC-16, de 16 bits, calculado pelo transponder, em tempo de execução, sobre a área da memória que foi escrita efetivamente, sendo o parâmetro WCRC* na resposta de transponder combinado com os 16 bits menos significativos do parâmetro TN, pela operação XOR (ou exclusivo), e utilizando como exemplo não limitativo um contador de transmissão TC binário de 1 bit nas mensagens de comando e reposta para a indicação de novas transmissões e retransmissões de comando e resposta.
[000238] A figura 26 ilustra esquematicamente outra concretização não limitativa da escrita segura com autenticação explícita de pedido entre um interrogador e um transponder, que utiliza, como exemplo não limitativo da generalidade, um código dinâmico opcional de proteção da integridade e autenticidade DMAC, de 64 bits, um parâmetro DMD sendo, sem limitação da generalidade, um descritor de 4 bits indicando a presença e tipo e tamanho do DMAC, sendo utilizado sem limitação da generalidade o valor ‘0000’ do DMD em notação binária, para indicar a ausência do DMAC, correspondendo a um tamanho de zero bits do DMAC, e sendo utilizados os demais valores do DMD para descrever o tamanho e tipo de algoritmo do DMAC e o índice de chave secreta utilizada pelo interrogador na geração do DMAC, em tempo de execução, sobre os blocos de dados encriptados no modo CTR com a chave secreta WK e sobre os blocos de dados cifrados com chave secreta WK no modo ECB contidos na mensagem do comando, utilizando nonces RN e TN, de 64 bits de tamanho, um descritor de intervalo da área de memória lógica a ser escrita LMAR, de 64 bits, opcionalmente contendo internamente um código dinâmico de integridade adicional sendo calculado em tempo de execução pelo interrogador sobre os n > 1 blocos de dados DW1 a DWn a 128 bits cada um, com o bloco DWn contendo um padding bem definido, caso a quantidade de dados neste último bloco a ser escrita seja menor que o tamanho do bloco, e com este padding sendo removido pelo transponder antes de escrever os dados DW1 a DWn na memória interna nos endereços especificados pelo parâmetro LMAR, no caso da autenticação bem sucedida do comando, através da análise pelo transponder da validade e correção dos valores DMAC, TN, e RN, e de quaisquer códigos de integridade adicionais contidos no parâmetro LMAR, o parâmetro LMAR no comando de interrogador sendo combinado com o parâmetro RN, pela operação XOR (ou exclusivo), e utilizando o modo ECB da maquina criptográfica AES-128 com a chave secreta de escrita WK de 128 bits na função de decriptação para a cifragem de dados na forma CIPH=DEC, com CIPH-1=ENC, para proteger a confidencialidade e integridade dos dados TN, RN, e LMAR no comando, e utilizando o modo CTR da maquina criptográfica AES-128 com a chave secreta de escrita WK de 128 bits, para proteger a confidencialidade e integridade dos n > 1 blocos de dados DW1 a DWn contidos no comando e destinados a serem escritos na memória do transponder após autenticação bem sucedida do pedido, e utilizando o modo ECB de cifragem da maquina criptográfica AES-128 com a chave secreta de escrita WK de 128 bits, na função de encriptação, para a cifragem de dados na forma CIPH=ENC com CIPH-1=DEC, para proteger a confidencialidade e integridade dos nonces RN e TN e do parâmetro WCRC na mensagem de resposta do transponder, sendo WCRC um código dinâmico de integridade tipo CRC-16, de 16 bits, calculado pelo transponder, em tempo de execução, sobre a área da memória que foi escrita efetivamente, e sendo o parâmetro WCRC na resposta de transponder combinado com os 16 bits menos significativos do parâmetro TN pela operação XOR (ou exclusivo).
[000239] A figura 27 ilustra esquematicamente outra concretização não limitativa da escrita segura com autenticação explícita de pedido entre um interrogador e um transponder, que utiliza, como exemplo não limitativo da generalidade, nonces RN e TN, de 64 bits de tamanho, um descritor de intervalo da área de memória lógica a ser escrita LMAR, de 64 bits, contendo internamente um código dinâmico de integridade do tipo CRC-16, de 16 bits, adicional sendo calculado, em tempo de execução, pelo interrogador sobre os n > 1 blocos de dados DW1 a DWn a 192 bits cada um, com o bloco DWn contendo um padding bem definido caso a quantidade de dados neste último bloco a ser escrita seja menor que o tamanho do bloco, e com este padding sendo removido pelo transponder antes de escrever os dados DW1 a DWn na memória interna nos endereços especificados pelo parâmetro LMAR, no caso da autenticação bem sucedida do comando através da análise pelo transponder da validade e correção dos valores TN, e RN, e de quaisquer códigos de integridade adicionais contidos no parâmetro LMAR, o parâmetro LMAR no comando de interrogador sendo concatenado com os parâmetros TN e RN, e utilizando o modo ECB da maquina criptográfica AES-192 com a chave secreta de escrita WK de 192 bits na função de encriptação para a cifragem de dados na forma CIPH=ENC, com CIPH- 1=DEC, para proteger a confidencialidade e integridade dos dados TN, RN, e LMAR no comando, e utilizando o modo CTR da maquina criptográfica AES-192 com a chave secreta de escrita WK de 192 bits, para proteger a confidencialidade e integridade dos n > 1 blocos de dados DW1 a DWn contidos no comando e destinados a serem escritos na memória do transponder após autenticação bem sucedida do pedido, e utilizando o modo ECB de cifragem da maquina criptográfica AES-192 com a chave secreta de escrita WK de 192 bits na função de encriptação para a cifragem de dados na forma CIPH=ENC, com CIPH-1=DEC, para proteger a confidencialidade e integridade dos nonces RN e TN e do parâmetro LMAR* na mensagem de resposta do transponder, sendo LMAR* de 64 bits o descritor de intervalo da área de memória lógica que foi escrita efetivamente, contendo internamente o código dinâmico de integridade tipo CRC-16 de 16 bits adicional, recalculado, em tempo de execução, pelo transponder sobre o conteúdo daquela área de dados na memória do transponder que foi escrita efetivamente, e sendo o parâmetro LMAR* na resposta de transponder concatenado com os parâmetros RN e TN.
[000240] A figura 28 ilustra esquematicamente outra concretização não limitativa da escrita segura com autenticação explícita de pedido entre um interrogador e um transponder, otimizada para a escrita segura e autenticada de um bloco de dados na memória do transponder, que utiliza, como exemplo não limitativo da generalidade, nonces RN e TN, de 64 bits de tamanho, um bloco DW16 de dados, de 16 bits de tamanho, um descritor de intervalo da área de memória lógica a ser escrita LMAR48, de 48 bits, LMAR48 sendo concatenado com o bloco DW16 a ser escrito, caso a autenticação do comando bem sucedida, através da análise pelo transponder da validade e correção do valor TN e de quaisquer códigos de integridade adicionais contidos no parâmetro LMAR48, com o conjunto dos parâmetros LMAR48 e DW16 no comando de interrogador, sendo combinado com o parâmetro RN, pela operação XOR (ou exclusivo), e utilizando o modo ECB da maquina criptográfica AES-128 com a chave secreta de escrita WK de 128 bits na função de encriptação, para a cifragem de dados na forma CIPH=ENC, com CIPH-1=DEC, para proteger a confidencialidade e integridade dos dados TN, RN, LMAR48, e DW16 no comando, e utilizando o modo ECB de cifragem da maquina criptográfica AES-128 com a chave secreta de escrita WK de 128 bits na função de encriptação, para a cifragem de dados na forma CIPH=ENC, com CIPH-1=DEC, para proteger a confidencialidade e integridade dos nonces RN e TN e do parâmetro DW16* na mensagem de resposta do transponder, sendo DW16* o bloco de dados lido novamente pelo transponder da área de memória lógica que foi escrita efetivamente, e sendo o parâmetro DW16* na resposta de transponder combinado com os 16 bits menos significativos do parâmetro TN pela operação XOR (ou exclusivo).
Variação de concretização combinada dos mecanismos de escrita segura autenticada e leitura segura autenticada do sistema de comunicação seguro
[000241] A figura 29 ilustra esquematicamente uma concretização não limitativa da combinação, em um único comando, da funcionalidade dos mecanismos da escrita segura autenticada e da leitura segura autenticada, otimizada para a leitura segura e autenticada de um único bloco de dados RDW128 e a escrita segura e autenticada de um único bloco de dados WDW32 na memória do transponder, que utiliza, como exemplo não limitativo da generalidade, nonces RN e TN, de 64 bits de tamanho, um descritor de intervalo da área de memória lógica a ser lida RLMAR48, de 48 bits, um descritor de intervalo da área de memória lógica a ser escrita WLMAR48 de 48 bits, e um bloco WDW32 de dados, de 32 bits, a serem escritos na área da memória especificada pelo parâmetro WLMAR48, e utilizando o modo ECB da maquina criptográfica AES-256 com a chave secreta K1 de 256 bits na função de encriptação, para a cifragem de dados na forma CIPH=ENC, com CIPH-1=DEC, para proteger a confidencialidade e integridade dos dados TN, RN, RLMAR48, WLMAR48, e WDW32 no comando, e utilizando o modo ECB de cifragem da maquina criptográfica AES-256 com a chave secreta de escrita K2 de 256 bits na função de encriptação, para a cifragem de dados na forma CIPH=ENC, com CIPH-1=DEC, para proteger na mensagem de resposta do transponder a confidencialidade e integridade dos nonces RN e TN, do parâmetro WCRC, de 32 bits, e do bloco dos dados RDW128, de 128 bits, lidos da área de memória especificada pelo parâmetro RLMAR48, sendo WCRC um código dinâmico de integridade tipo CRC- 32, de 32 bit,s calculado pelo transponder, em tempo de execução, sobre a área da memória que foi escrita efetivamente, e sendo o parâmetro WCRC na resposta de transponder combinado com os 32 bits mais significativos do parâmetro TN, pela operação XOR (ou exclusivo).
Tipos de Transponders
[000242] Observa-se que, diferentemente do protocolo ISO 18000-6C, o presente sistema de comunicação seguro cobre implementações em todo tipo de transponder, incluindo transponders passivos, semi-ativos ou semi-passivos, e ativos.
[000243] No contexto do presente sistema de comunicação seguro, os tipos de transponders são caracterizados na seguinte forma:- transponder passivo refere-se a um transponder que recebe tanto informação quanto energia para a própria operação do sinal de RF do interrogador;- transponder semi-ativo (ou semi-passivo) refere-se a um transponder que usa própria fonte de energia para operação do circuito integrado interno e apenas tira energia do sinal de RF do interrogador para devolver informação ao interrogador através da modulação de um sinal de RF em cima da portadora do interrogador; - transponder ativo refere se a um transponder que usa fonte própria de energia tanto para operação do circuito integrado interno quanto para transmitir informação ao interrogador, por meio da modulação de um sinal de RF gerado pelo próprio transponder.
[000244] O presente sistema de comunicação seguro também cobre todos os tipos de interrogadores e transponders que implementam o protocolo ISO 18000-6C completamente ou em parte, incluindo evoluções futuras, com compatibilidade reversa total, bem como derivativos do protocolo ISO 18000-6C, com compatibilidade reversa restrita.
Aplicações
[000245] O presente sistema de comunicação seguro cobre todos os domínios de aplicações do protocolo ISO 18000-6C, cobrindo ainda toda e qualquer aplicação de identificação por radiofreqüência que se beneficiem de alguma forma de mecanismos descritos na presente invenção, incluindo, porém sem se limitar ao caso, o registro eletrônico, a identificação, a localização, e o rastreamento de pessoas e ativos tangíveis de toda e qualquer natureza, tais como veículos, frotas de caminhões e de outros meios de transporte, bem como, carga, animais, produtos manufaturados, matérias primas, objetos de valor, remédios, documentos, embalagens, caixas, paletas, e contêineres, além da proteção de ativos e documentos contra a falsificação, imitação, roubo e furto, substituindo ou complementando, sem limitação da generalidade, informações veiculares armazenadas nos transponders com códigos eletrônicos de produtos (EPC) ou com outros dados identificadores, conforme necessidades de processos e aplicações.
[000246] Como referência não limitativa da generalidade do presente sistema de comunicação seguro, o presente sistema de comunicação seguro explicitamente cobre todos domínios de aplicações ligados ao sistema Brasil-ID (www.brasil-id.org.br) para identificação, rastreamento, e autenticação de mercadoria por radiofreqüência (RFID), incluindo todas as aplicações que requerem ou beneficiam de um ou mais mecanismos seguros do presente sistema de comunicação seguro, para a identificação e autenticação segura e eficiente de produtos, documentos, pessoas, e veículos, incluindo também a gravação segura de dados em transponders, com ênfase em situações nas quais, o tempo disponível para a realização da identificação e autenticação por RFID é limitada, por causa de mobilidade dos objetos ou pessoas a serem rastreados, ou por causa da mobilidade do equipamento de leitura (interrogador).
[000247] Como referência não limitativa da generalidade do presente sistema de comunicação seguro, tais aplicações ligados ao sistema Brasil-ID e cobertas pelo presente sistema de comunicação seguro incluem a identificação, autenticação, e gravação dos transponders de baixas volumes de produtos em alta velocidades, ou de grandes volumes de produtos em baixa velocidade, na forma que o tempo disponível para completar uma interação segura entre leitor e transponder está limitada e crítica em consideração da complexidade elevada de processamentos a serem realizados nos transponders, por causa de mecanismos criptográficos.
[000248] Como referência não limitativa da generalidade do presente sistema de comunicação seguro, o presente sistema de comunicação seguro também cobre todas as aplicações que requerem, de forma geral, um mecanismo de autenticação com nível de proteção criptográfico elevado, para garantir a autenticidade de bens, componentes, produtos, documentos, pessoas, meios de transporte, e lugares físicos (sem limitação da generalidade, representados por coordenados globais do tipo GPS, nomes e números de ruas, ou por outros meios) e lógicos (sem limitação da generalidade, exemplificados locais lógicos, como, por exemplo, “zona de expedição”, “zona de recebimento”, e outros conforme processo e aplicação de rastreamento e identificação e autenticação particular).
[000249] Embora a presente invenção tenha sido descrita com base em concretizações exemplificativas, poderão ser introduzidas modificações em seu conceito inventivo básico, o qual será definido através do conjunto de reivindicações que se seguem.