BRPI0212222B1 - método para resolver referências não resolvidas dentro de código de computador carregado em um cartão inteligente possuindo uma memória não volátil e uma memória de acesso randômico, mídia de computador legível, cartão inteligente e método de resolver referências não resolvidas em uma estrutura de dados em um dispositivo de computar - Google Patents

método para resolver referências não resolvidas dentro de código de computador carregado em um cartão inteligente possuindo uma memória não volátil e uma memória de acesso randômico, mídia de computador legível, cartão inteligente e método de resolver referências não resolvidas em uma estrutura de dados em um dispositivo de computar Download PDF

Info

Publication number
BRPI0212222B1
BRPI0212222B1 BRPI0212222A BR0212222A BRPI0212222B1 BR PI0212222 B1 BRPI0212222 B1 BR PI0212222B1 BR PI0212222 A BRPI0212222 A BR PI0212222A BR 0212222 A BR0212222 A BR 0212222A BR PI0212222 B1 BRPI0212222 B1 BR PI0212222B1
Authority
BR
Brazil
Prior art keywords
memory
computer code
resolution buffer
nonvolatile memory
references
Prior art date
Application number
BRPI0212222A
Other languages
English (en)
Other versions
BR0212222A (pt
Inventor
Ksheerabdhi Krishna
Timothy Wilkinson
Yannick Burianne
Original Assignee
Axalto Sa
Schlumberger Systèmes
Schlumberger Technologies Operating Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Axalto Sa, Schlumberger Systèmes, Schlumberger Technologies Operating Ltd filed Critical Axalto Sa
Publication of BR0212222A publication Critical patent/BR0212222A/pt
Publication of BRPI0212222B1 publication Critical patent/BRPI0212222B1/pt

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/355Personalisation of cards for use
    • G06Q20/3552Downloading or loading of personalisation data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/357Cards having a plurality of specified features
    • G06Q20/3576Multiple memory zones on card
    • G06Q20/35765Access rights to memory zones
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Software Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Finance (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)
  • Control Or Security For Electrophotography (AREA)
  • Debugging And Monitoring (AREA)

Abstract

"método para resolver referências não resolvidas dentro de código de computador carregado em cartão inteligente possuindo uma memória não volátil e uma memória de acesso randômico, mídia de computador legível, cartão inteligente, e método de resolver referências não resolvidas em uma estrutura de dados em um dispositivo de computar." trata-se de um cartão inteligente (100) que inclui uma memória não-volátil de leitura/gravação (230), uma memória de armazenamento temporário ("buffer") de resolução (505), um processador (205) ligado à memória (230) e à memória de armazenamento temporário ("buffer") de resolução (505), e um módulo de instalação (210) configurado para fazer o processador (205) receber código de computador contendo referências não explicitadas para a memória (230), e adicionalmente configurado para fazer o processador (205) executar um método para resolução de referências não explicitadas. o método inclui etapas de cópia de conteúdo da memória (230) para a memória de armazenamento temporário ("buffer") de resolução (505), detecção de referências não explicitadas contidas no código de computador, determinação da referência resolvida para cada uma das referências não explicitadas detectadas, atualização do conteúdo da memória de armazenamento temporário ("buffer") de resolução (505) com as referências resolvidas, e substituição do conteúdo da memória (230) pelo conteúdo da memória de armazenamento temporário ("buffer") de resolução (505).

Description

MÉTODO PARA RESOLUÇÃO DE REFERÊNCIAS NÃO EXPLICITADAS CONTIDAS EM CÓDIGO DE COMPUTADOR CARREGADO PARA UM CARTÃO INTELIGENTE POSSUINDO UMA MEMÓRIA NÃO VOLÁTIL E UMA MEMÓRIA DE ACESSO ALEATÓRIO, MÍDIA PASSÍVEL DE LEITURA EM COMPUTADOR, CARTÃO INTELIGENTE, E MÉTODO PARA RESOLUÇÃO DE REFERÊNCIAS NÃO EXPLICITADAS EM UMA ESTRUTURA DE DADOS EM UM DISPOSITIVO DE COMPUTAÇÃO COMPREENDENDO UM PRIMEIRO DISPOSITIVO DE ARMAZENAMENTO E UM SEGUNDO DISPOSITIVO DE ARMAZENAMENTO.
ANTECEDENTES DA INVENÇÃO 1. Campo da Presente Invenção A presente invenção refere-se na generalidade ao campo dos cartões inteligentes ("smart cards"), e refere-se mais particularmente a um cartão inteligente aperfeiçoado e um método para solucionar referências não explicitadas contidas em arguivos de código do tipo "applet" carregados em um cartão inteligente. 2. Histórico da Técnica Associada A maioria dos consumidores tem familiaridade com e faz uso de cartões de crédito, cartões de débito, cartões para uso em máguinas automáticas para operações bancárias (ATM), cartões com valores armazenados, e similares. Para muitos tipos de transações, entretanto, a tendência atual aponta em um sentido diverso do destes tipos de cartões, para uma classe de dispositivos geralmente referidos como cartões inteligentes. Um cartão inteligente é um cartão de material plástico com as dimensões de um cartão de crédito que inclui um dispositivo eletrônico (chip) embutido no material plástico do cartão. Ao invés de empregar somente uma tira magnética para armazenamento de informações, os cartões inteligentes empregam um microprocessador e um elemento de memória embutidos no chip.
Devido ao fato de incluírem um chip, os cartões inteligentes são programados para operar para várias funções tais como cartões de valor armazenado, cartões de crédito, cartões de débito, cartões para uso em máquinas automáticas para operações bancárias (ATM), cartões telefônicos, carteiras de identidade pessoal, dispositivos para armazenamento de registros críticos, etc. Nestas várias funções, um cartão inteligente pode ser projetado para utilizar vários diferentes aplicativos de programa. Os cartões inteligentes seguem as normas das Partes 1-10 do Padrão 7816 da Organização Internacional de Normalização (International Organization for Standardization - ISO), que são aqui incorporadas a título de referência e referidas na generalidade como "ISO 7816". Os cartões inteligentes são dispositivos sujeitos a restrição de recursos, e como tal possuem configurações de memória mínimas tipicamente da ordem de 1K ou 2K de memória de acesso aleatório (volátil) (RAM), 16K ou 32K de memória não-volátil de leitura/gravação tal como uma memória somente de leitura que pode ser programada e apagada eletricamente (EEPROM), e 24K de memória somente de leitura (ROM). 0 termo "EEPROM" é aqui utilizado de princípio a fim para referir de forma ampla uma memória não-volátil (isto é, persistente), incluindo uma memória do tipo "flash". Inicialmente, o desenvolvimento de aplicativos de programa para cartões inteligentes tinha características essencialmente proprietárias. Ou seja, cada software para cartão inteligente era específico para a construção de seu microprocessador embutido; com o resultado final sendo uma capacidade extremamente limitada de desenvolvimento de aplicativos capazes de serem executados em cartões produzidos por fabricantes diversos. Como resultado, o desenvolvimento de aplicativos para cartões inteligentes ficou limitado a um grupo relativamente reduzido de desenvolvedores que trabalhavam ou para os fabricantes de cartões inteligente ou para as entidades emissoras dos cartões inteligentes.
Nos anos mais recentes, entretanto, o desenvolvimento de aplicativos para cartões inteligentes evoluiu e deixou de ser proprietário. Mediante a adoção de arquiteturas abertas para desenvolvimento de aplicativos, é atualmente possível desenvolver aplicativos que podem ser executados em cartões inteligentes de diferentes fabricantes bem como em outros dispositivos com restrição de recursos, como cartões inteligentes, que possuem quantidades reduzidas de memória disponível ou outros dispositivos para armazenamento de dados (isto é, dispositivos de armazenamento). A tecnologia Java Card constitui um exemplo de uma tal arquitetura aberta de desenvolvimento. Ela utiliza a linguagem de programação Java™ e emprega o ambiente de "runtime" (tempo de execução) Java Card (JCRE). 0 JCRE está em conformidade com o padrão ISO 7816 e define uma plataforma na qual aplicativos escritos na linguagem de programação Java podem ser executados em cartões inteligentes e outros dispositivos com recursos restritos. Os aplicativos escritos para JCRE são referidos como "applets" AS.
Antes de um applet poder ser carregado para um cartão inteligente para ser executado, entretanto, o código-fonte do applet deve ser convertido em uma representação binária correspondente das classes que formam o applet. Esta representação binária correspondente é referida como um arquivo CAP (converted applet file -arquivo de applet convertido) e constitui o formato de arquivo no qual os aplicativos são carregados para os cartões inteligentes utilizando os JCRE. 0 arquivo CAP é tipicamente carregado na forma de um bloco de bytes que ocupam espaços contíguos na memória não-volátil de leitura/gravação do cartão inteligente por um módulo de instalação localizado no cartão inteligente.
Cada arquivo CAP pode conter chamadas para diversas referências de código não explicito ou simbólico que terão que ser explicitadas anteriormente à execução. Os termos "chamada" ou "realização de chamada" são aqui utilizados de principio a fim para descreverem de forma ampla uma relação entre dois pedaços de código em que um pedaço invoca o outro. Comandos, funções, definições, etc. podem tipicamente ser invocados quando um código dentro do aplicativo chama um outro pedaço de código, com este último pedaço de código sendo residente no próprio aplicativo ou em uma biblioteca de funções presente no cartão inteligente. 0 processo de explicitação destas chamadas para referências de código não explicitadas é geralmente referido como vinculação ou resolução e envolve uma consulta da referência simbólica em uma correspondente tabela presente na memória (agrupamento ("pool") constante) ou outro dispositivo de armazenamento ou cálculo da referência de código relativa não explicitada e substituição da referência pelo endereço de fato na memória ou uma referência simbólica internamente acessível onde esse ou essa comando, função, definição, etc. se encontra armazenado(a). Muito embora o processo de vinculação ou resolução seja tipicamente aplicado para referências não explicitadas em modo de computador, o processo pode ser aplicado em qualquer construto utilizado para armazenamento ou manipulação de dados (isto é, estrutura de dados) que contenha referências não explicitadas. Os termos "resolver", "resolução", e "operação de resolução" são aqui utilizados de principio a fim para descreverem de forma ampla o processo anteriormente referido de substituição da referência simbólica ou de código não explicito dentro da estrutura de dados ou código por uma referência simbólica internamente acessível ou um endereço de memória propriamente dito. A vinculação é tradicionalmente realizada no próprio cartão pelo módulo de instalação do cartão mediante utilização de uma memória não-volátil de leitura/gravação. Conforme foi observado mais acima, a memória não-volátil de leitura/gravação de um cartão inteligente consiste tipicamente em uma memória do tipo EEPROM. As características da tecnologia de EEPROM tem como resultado o fato de o acesso e gravação em EEPROM requererem um tempo significativamente maior que um correspondente acesso e gravação para RAM. Adicionalmente, as EEPROM's são limitadas em termos do número de vezes que podem ser gravadas (tipicamente da ordem de dezenas ou centenas de milhares de vezes). Conseqüentemente, a realização do processo de vinculação requerido para o arquivo CAP em EEPROM é demorada e tem um efeito sobre o tempo de vida operacional da EEPROM. Desta forma, seriam obtidos benefícios com a implementação de um aparelho e um método para vinculação eficiente de arquivos CAP que minimizasse o número de gravações para a EEPROM. BREVE DESCRIÇÃO DOS DESENHOS A estrutura e operação da invenção irá tornar-se aparente mediante a leitura da descrição detalhada a seguir e através de referência aos desenhos em anexo, nos quais: A FIG. 1 ilustra um cartão inteligente exemplar; a FIG. 2 é uma ilustração conceituai do microprocessador com a parte 115 de elemento de memória integral do módulo 105 do cartão inteligente exemplar da FIG. 1 com um certo detalhe adicional; a FIG. 3 é uma ilustração conceituai de uma parte da memória 230 não-volátil de leitura/gravação carregada com um arquivo CAP; a FIG. 4 é um exemplo dos componentes de agrupamento ("pool") constante, conjunto de instruções, e tabela de relocação do arquivo CAP ilustrado na FIG. 3; a FIG. 5 ilustra uma memória de armazenamento temporário ("buffer") de resolução adequada para utilização em um cartão inteligente de acordo com uma configuração da invenção; e a FIG. 6 é um diagrama de fluxo ilustrando adicionalmente um aspecto da presente invenção.
Muito embora a invenção seja suscetível de diversas modificações e formas alternativas, são mostradas configurações específicas da mesma a título de exemplo nos desenhos e estas configurações serão aqui descritas em detalhe. Deverá ser entendido, entretanto, que os desenhos e a descrição detalhada aqui apresentados não pretendem limitar a invenção à configuração especifica divulgada. Muito pelo contrário, a invenção é limitada somente pela redação das reivindicações.
DESCRIÇÃO DETALHADA DA INVENÇÃO
Em termos gerais, a presente invenção contempla um cartão inteligente e um método em que o cartão inteligente pode ser configurado para receber código de computador tal como arquivos de applet convertidos com referências não explicitadas dentro de tais arquivos e resolver tais referências não explicitadas de forma a minimizar o número de gravações para a EEPROM.
Através de toda a descrição e dos desenhos, elementos idênticos são referidos com numerais de referência idênticos. A FIG. 1 ilustra um cartão inteligente exemplar. 0 cartão inteligente 100 tem aproximadamente as dimensões de um cartão de crédito e inclui um módulo 105 com contatos condutores 110 ligado a um microprocessador com um elemento de memória integral 115. Os contatos condutores 110 formam uma interface com um terminal para tipicamente proporcionarem energia operacional e transferência elétrica de dados entre o terminal e o cartão inteligente. Outras configurações de um cartão inteligente podem não incluir contatos condutores 110. Esses cartões inteligentes "sem contatos" podem trocar informações e serem alimentados com energia através de acoplamento de proximidade, tal como por acoplamento magnético, ou através de acoplamento remoto, tal como por comunicação de rádio. 0 cartão inteligente 100 está em conformidade com o padrão ISO 7816. O microprocessador com um elemento de memória integral 115 da FIG. 1 é mostrado de forma mais detalhada na FIG. 2. O microprocessador 115 inclui uma unidade de processamento central (CPU) 205. O microprocessador 115 está associado a um elemento de memória 215. A "memória" pode ser formada no mesmo circuito integrado que o microprocessador 115 ou pode ser formada em um dispositivo separado.
De forma geral, o elemento de memória 215 é configurado para incluir uma RAM 220, uma ROM 225, e uma memória não-volátil de leitura/gravação 230. A memória somente de leitura 225 é configurada para incluir o módulo de instalação 210.
Em uma configuração alternativa, a RAM 220, a ROM 225, e a memória não-volátil de leitura/gravação 230 não se encontram localizados no mesmo elemento de memória 215, ficando ao invés disso localizadas em alguma combinação de unidades eletrônicas separadas. A FIG. 3 é uma ilustração conceituai de uma parte da memória não-volátil de leitura/gravação 230 carregada com componentes de arquivo CAP. O componente de agrupamento ("pool") constante 305 contém endereços de memória para referência simbólicas utilizadas no processo de vinculação. O componente de método de código de bytes de CAP (isto é, instruções) 315 e a tabela de relocação relevante 320 encontram-se igualmente ilustradas. O componente de agrupamento ("pool") constante 305, o componente de método de código de bytes de CAP 315 e a tabela de relocação aplicável 320 podem ser carregados para a memória não-volátil de leitura/gravação 230 pelo módulo de instalação 210 . A FIG. 4 é um exemplo de amostra de informações, código, e dados contidos no agrupamento ("pool") constante 305, componente de código de byte de CAP 315, e tabela de relocação aplicável 320 ilustrados na FIG. 3. Na FIG. 4, é ilustrada uma memória não-volátil de leitura/gravação 230 em que o componente de métodos de código de byte de CAP 315 inclui um primeiro código de instrução 405 e um código de instrução subseqüente 410 que são armazenados com inicio no endereço de memória 100. Os códigos de instrução 405 e 410 são ambos códigos de chamada seguidos por um parâmetro que no caso presente é uma referência simbólica. A tabela de relocação 320 inclui informações de relocação das quais se encontram ilustradas duas posições de relocação 420 e 425, respectivamente. A primeira posição de relocação 420 inclui informações apontando para o endereço de memória 100. A posição de relocação subseqüente 425 inclui informações apontando para o endereço de memória 613. 0 componente de agrupamento ("pool") constante 305 inclui informações de endereço de memória real para as referências simbólicas A e B, respectivamente, na forma de posições 430 e 435, respectivamente. A primeira posição 430 componente de agrupamento ("pool") constante inclui adicionalmente um elemento de identificação de tipo de relocação 440 e um correspondente elemento de identificação de aplicativo 445. A subseqüente posição 435 de componente de agrupamento ("pool") constante inclui adicionalmente um elemento de identificação de tipo de relocação 450 e um correspondente elemento de identificação de aplicativo 455. A técnica anterior emprega um processo de vinculação que envolve na generalidade as etapas de análise sintática ("parsing") da tabela de relocação 320 começando pela primeira posição de relocação 420, determinação do endereço de memória relevante, acesso ao endereço de memória relevante (neste exemplo, o endereço 100), confirmação de que a instrução aplicável no endereço de memória 100 contém uma chamada para a referência simbólica A, determinação do elemento de identificação de relocação relevante 440 para a referência simbólica A, acesso à informação de endereço de memória relevante 445 no agrupamento ("pool") constante 305, e atualização do parâmetro do primeiro código de instrução 405 com o endereço de memória para a referência simbólica relevante 430 mediante gravação do referido endereço de memória no primeiro código de instrução 405. As mesmas etapas são realizadas com utilização de cada posição de relocação subseqüente, incluindo a posição de relocação 425, desta maneira, cada posição na tabela de relocação para um arquivo CAP é processada, a referência não explicitada relevante é resolvida, e a EEPROM é atualizada com o endereço de memória resolvido. Deverá ser apreciado que o elemento de identificação de tipo de relocação pode indicar a resolução de um endereço absoluto e nesse caso o endereço de memória relevante é calculado ao invés de ser acessado no agrupamento ("pool") constante 305. A FIG. 5 ilustra uma memória de armazenamento temporário ("buffer") de resolução 505 configurada na memória de acesso aleatório 220 e adequada para utilização em um cartão inteligente de acordo com uma configuração da invenção. A memória de armazenamento temporário ("buffer") de resolução 505 proporciona a função de atuação como bloco de rascunho em que os dados podem ser temporariamente armazenados e atualizados, e é utilizada a atualização de referências não explicitada. Em uma configuração da invenção, o tamanho da memória de armazenamento temporário ("buffer") de resolução 505 pode ser configurado de forma otimizada para ser igual ao tamanho de uma página da memória não-volátil de leitura/gravação 230, e portanto facilitar a ocorrência de um processo de vinculação eficiente mediante agrupamento do número relevante de atualizações das referências não explicitadas na memória de armazenamento temporário ("buffer") de resolução 505 de forma a reduzir o número global de lentas e demoradas atualizações para a memória não-volátil de leitura/gravação 230. Alternativamente, o tamanho da memória de armazenamento temporário ("buffer") de resolução 505 poderá ser igual a um número inteiro múltiplo de uma página de memória não-volátil de leitura/gravação 230. A memória de armazenamento temporário ("buffer") de resolução 505 pode ser acessada pelo módulo de instalação 210 para armazenamento do conteúdo de uma parte de um arquivo CAP para propósitos de manipulação do conteúdo dessa parte do arquivo CAP. A FIG. 6 ilustra um diagrama de fluxo representando um método 600 de acordo com a presente invenção. Na configuração ilustrada, preliminarmente, o tamanho da memória de armazenamento temporário ("buffer") de resolução 505 é configurado (bloco 605). Em uma configuração da invenção, o bloco 605 inclui um sub-método de configuração do tamanho da memória de armazenamento temporário ("buffer") de resolução para ser igual a um número inteiro múltiplo do número de páginas da memória não-volátil de leitura/gravação 230. Em uma outra configuração da invenção, o bloco 605 inclui uma configuração otimizada da memória de armazenamento temporário ("buffer") de resolução 505 para ser igual ao tamanho de uma página de memória não-volátil de leitura/gravação 230 para facilitar um processo de vinculação eficiente mediante agrupamento do número relevante de atualizações das referências não explicitadas na memória de armazenamento temporário ("buffer") de resolução 505 de forma a reduzir o número global de lentas e demoradas atualizações para a memória não-volátil de leitura/gravação 230. O arquivo CAP é particionado em blocos ou parcelas lógicas (bloco 610) em que cada parcela pode ser equivalente ao tamanho da memória de armazenamento temporário ("buffer") de resolução configurada. Cada parcela lógica funciona de forma a constituir uma partição de dados que pode ser transferida em uma operação entre a memória não-volátil de leitura/gravação 230 e a memória de acesso aleatório 220. A primeira parcela lógica é examinada (bloco 612) para ser determinado se existem referências não explicitadas presentes (bloco 615). Se não estiverem presentes referências não explicitadas, é feita uma determinação quanto à presença de parcelas lógicas adicionais (bloco 640), e caso o resultado seja positivo, a parcela lógica seguinte é examinada (bloco 645) e é feita uma determinação quanto à presença de referências não explicitadas (bloco 615). Caso não existam parcelas lógicas adicionais presentes (bloco 640), o processo estará completo.
Para cada parcela lógica na qual se encontrarem presentes referências não explicitadas, o conteúdo da parcela lógica é copiado para a memória de armazenamento temporário ("buffer") de resolução (bloco 620), as referências não explicitadas são resolvidas (bloco 625), o conteúdo da memória de armazenamento temporário ("buffer") de resolução é atualizado com as referências resolvidas (bloco 630), o conteúdo da parcela lógica na memória não-volátil de leitura/gravação 230 é substituído pelo conteúdo da memória de armazenamento temporário ("buffer") de resolução atualizada na memória de acesso aleatório (bloco 635), e as etapas dos blocos 615, 620, 625, 630, e 635 são novamente realizadas para as restantes parcelas lógicas (bloco 640). Deverá ser observado que os casos em que uma parcela lógica contém referências não explicitadas interdependentes, as etapas dos blocos 630 e 635 deverão ser realizadas imediatamente após a resolução de cada referência não explicitada da qual dependem outras referências não explicitadas dentro da parcela lógica.
Alternativamente, o arquivo CAP é examinado quanto a referências não explicitadas e estas referências não explicitadas são resolvidas em parcelas sucessivas. Nesta alternativa, um ponteiro é posicionado em uma localização no arquivo CAP, por exemplo, no início do componente 315 de bytes de código do CAP. Os dados armazenados entre o ponteiro e um segundo endereço são examinados em busca de referências não explicitadas. Conforme foi discutido acima, se existirem quaisquer referências não explicitadas, os dados entre o ponteiro e o segundo endereço são copiados para a memória de armazenamento temporário ("buffer") de resolução 505. As referências não explicitadas são resolvidas e a memória de armazenamento temporário ("buffer") de resolução 505 é atualizada. Após as referências não explicitadas terem sido resolvidas e a memória de armazenamento temporário ("buffer") de resolução 505 ter sido atualizada, o conteúdo da memória de armazenamento temporário ("buffer") de resolução 505 é copiado de volta para o arquivo CAP começando pelo ponteiro. O ponteiro é então feito avançar para uma outra localização no arquivo CAP. Em uma configuração, o ponteiro é feito avançar para a localização situada imediatamente após o segundo endereço.
Em uma configuração alternativa, a presença de referências não explicitadas é detectada na memória não-volátil de leitura/gravação 230 e somente se forem detectadas referências não explicitadas a parcela lógica será copiada para a memória de armazenamento temporário ("buffer") de resolução 505. Em uma outra configuração alternativa, cada parcela lógica é em primeiro lugar copiada para a memória de armazenamento temporário ("buffer") de resolução 505 e a detecção de referências não explicitadas ocorre na memória de armazenamento temporário ("buffer") de resolução 505. Neste último caso não seria necessário copiar o conteúdo de volta para a memória não-volátil de leitura/gravação 230 a menos que fossem detectadas referências não explicitadas.
Em uma configuração alternativa, as diversas parcelas lógicas não são examinadas e resolvidas por ordem seqüencial.
Adicionalmente, deverá ser observado que partes da presente invenção podem ser implementadas na forma de um conjunto de instruções executáveis em computador (software) armazenado ou contido em uma midia passível de leitura por computador. A mídia passível de leitura por computador pode incluir uma mídia não-volátil tal como um disquete, um disco rígido, um cartão de memória "flash", uma ROM, um CD-ROM, um DVD, uma fita magnética, ou uma outra mídia adequada.
Conforme a introdução acima, o termo "cartão inteligente" foi descrito com referência ao dispositivo ilustrado na FIG. 1. Muito embora este exemplo sirva os propósitos das explicações que se encontravam a seguir, deverá ser assinalado que a presente invenção é amplamente aplicável a uma classe de dispositivos de recursos restritos com fatores de forma física diferentes da ilustração dada a título de exemplo. Por exemplo, a presente invenção é prontamente adaptada a Módulos de Interface Segura (Secure Interface Modules - SIM's) e Módulos de Acesso Seguro (Secure Access Modules - SAM's).
Os SIM' s e os SAM's são versões fisicamente menores do cartão inteligente típico e são tipicamente utilizados no interior de telefones ou outros espaços reduzidos. 0 tamanho, formato, natureza, e composição do material em que o processador e o elemento de memória são encapsulados ou montados não é relevante nem limitativo para a presente invenção. Assim, conforme é aqui utilizado de princípio a fim, o termo "cartão inteligente" deverá ser interpretado de forma ampla abrangendo qualquer combinação integrada de microprocessador e elemento de memória capaz de realizar uma transação com um outro dispositivo referido como um terminal.
Será aparente para aqueles que são versados na técnica e que tiverem o benefício da presente divulgação que a presente invenção contempla um cartão inteligente e um método para vinculação eficiente de código de computador e minimiza o número de gravações para a EEPROM em que a invenção reduz de forma benéfica o tempo requerido para vinculação do código de computador e traz acréscimos benéficos para o tempo de vida operacional da EEPROM.
Deverá ser entendido que as formas da invenção ilustradas e descritas na descrição detalhada e nos desenhos deverão ser consideradas meramente como exemplos atualmente preferenciais e que a invenção é limitada somente pela redação das reivindicações.

Claims (18)

1. MÉTODO PARA RESOLUÇÃO DE REFERÊNCIAS NÃO EXPLICITADAS CONTIDAS EM CÓDIGO DE COMPUTADOR CARREGADO PARA UM CARTÃO INTELIGENTE POSSUINDO UMA MEMÓRIA NÃO-VOLÁTIL E UMA MEMÓRIA DE ACESSO ALEATÓRIO, caracterizado por compreender: a) alimentação do código de computador para a memória não-volátil (230) de um cartão inteligente (100); b) detecção de pelo menos uma referência não explicitada do código de computador em uma parte do conteúdo da memória não-volátil (230); c) cópia da parte do conteúdo da memória não-volátil (230) para uma memória de armazenamento temporário ("buffer") de resolução (505) em uma memória de acesso aleatório (220) em resposta a uma detecção de pelo menos uma referência não explicitada no código de computador da parte do conteúdo da memória não-volátil (230); d) determinação da referência resolvida para a pelo menos uma referência não explicitada detectada; e) atualização do conteúdo da memória de armazenamento temporário ("buffer") de resolução (505) com a referência resolvida; e f) substituição da parte do conteúdo da memória não-volátil (230) pelo conteúdo atualizado da memória de armazenamento temporário ("buffer") de resolução (505).
2. Método para resolução de referências não explicitadas contidas em código de computador, de acordo com a reivindicação 1, caracterizado por compreender adicionalmente: g) configuração do tamanho da memória de armazenamento temporário ("buffer") de resolução (505) para um número inteiro múltiplo do tamanho de uma página da memória não-volátil (230); e h) partição do código de computador em uma pluralidade de parcelas lógicas em que o tamanho de cada parcela é equivalente ao tamanho da memória de armazenamento temporário ("buffer") de resolução.
3. Método, de acordo com a reivindicação 2, caracterizado por: as etapas a), b), c), d), e) e f) serem coletivamente realizadas em cada uma das parcelas anteriormente à continuação para a parcela seguinte começando em uma primeira parcela e prosseguindo em subseqüentes parcelas; e o tamanho da memória de armazenamento temporário ("buffer") de resolução (505) ser igual ao tamanho de uma página de memória não-volátil (230).
4. Método para resolução de referências não explicitadas contidas em código de computador, de acordo com as reivindicações 1, 2, ou 3, caracterizado por: o código de computador compreender um arquivo de applet convertido (315).
5. MÍDIA PASSÍVEL DE LEITURA EM COMPUTADOR, incluindo de forma tangível um programa de instruções passíveis de leitura por máquina para fazer um processador (205) executar um método para resolução de referências não explicitadas contidas em código de computador carregado para um cartão inteligente (100) possuindo uma memória não-volátil (230) e uma memória de acesso aleatório (220) em que o código de computador se encontra localizado na memória não-volátil (230), o método sendo caracterizado por compreender: a) cópia de uma parte do conteúdo da memória não-volátil (230) para uma memória de armazenamento temporário ("buffer") de resolução (505); b) detecção de pelo menos uma referência não explicitada no código de computador na parte do conteúdo da memória não-volátil (230); c) determinação da referência resolvida para a pelo menos uma referência não explicitada detectável; d) atualização do conteúdo da memória de armazenamento temporário (''buffer") de resolução (505) com a referência resolvida para cada pelo menos uma referência não explicitada detectada; e e) substituição do conteúdo da parte da memória não-volátil (230) pelo conteúdo da memória de armazenamento temporário (''buffer") de resolução (505) .
6. Mídia passivel de leitura em computador, de acordo com a reivindicação 5, contendo adicionalmente instruções para fazerem um processador executar um método, caracterizado por compreender: f) configuração do tamanho da memória de armazenamento temporário ("buffer") de resolução (505) para um número inteiro múltiplo do tamanho de uma página da memória não-volátil (230); e g) partição do código de computador em uma pluralidade de parcelas lógicas em que o tamanho de cada parcela é equivalente ao tamanho da memória de armazenamento temporário ("buffer") de resolução.
7. Mídia passível de leitura em computador, de acordo com a reivindicação 6, caracterizada por conter adicionalmente instruções para fazerem um processador (205) executar cada uma das etapas a), b), c), d), e e) coletivamente em cada uma das parcelas antes de continuar para a parcela seguinte começando por uma primeira parcela e prosseguindo em parcelas subseqüentes.
8. CARTÃO INTELIGENTE, configurado para receber código de computador com referências não explicitadas contidas no código de computador, caracterizado por compreender: uma memória não-volátil (230); uma memória de acesso aleatório (220) ; uma memória de armazenamento temporário ("buffer") de resolução (505) na memória de acesso aleatório (220); um processador (205) ligado à memória não-volátil (230) e à memória de armazenamento temporário ("buffer") de resolução (505); e um módulo de instalação (210) provido com lógica que pode ser operada para fazer o processador (205) receber o código de computador para a memória não-volátil (230); e adicionalmente provido com lógica que pode ser operada para fazer o processador (205) resolver referências não explicitadas contidas no código de computador, para esse efeito a) copiando uma parte do conteúdo da memória não-volátil (230) para a memória de armazenamento temporário ("buffer") de resolução (505); b) detectando pelo menos uma referência não explicitada contida no código de computador na parte do conteúdo da memória; c) determinando a referência resolvida para a pelo menos uma referência não explicitada detectada; d) atualizando o conteúdo da memória de armazenamento temporário ("buffer") de resolução (505) com a referência resolvida para cada pelo menos uma referência não explicitada detectada; e e) substituindo a parte do conteúdo da memória não-volátil (230) pelo conteúdo da memória de armazenamento temporário ("buffer") de resolução (505).
9.Cartão inteligente, de acordo com a reivindicação 8, caracterizado por ser adicionalmente provido com lógica que pode ser operada para fazer o processador (205) resolver referências não explicitadas contidas no código de computador mediante: f) configuração do tamanho da memória de armazenamento temporário ("buffer") de resolução (505) para um número inteiro múltiplo do tamanho de uma página da memória não-volátil (230); e g) partição do código de computador em uma pluralidade de parcelas lógicas em que o tamanho de cada parcela é equivalente ao tamanho da memória de armazenamento temporário ("buffer") de resolução (505).
10. Cartão inteligente, de acordo com a reivindicação 8, caracterizado por as etapas a), b), c), d), e e) serem realizadas coletivamente em cada uma das parcelas antes do prosseguimento para a parcela seguinte começando em uma primeira parcela e continuando em parcelas subseqüentes.
11. Cartão inteligente, de acordo com as reivindicações 8, 9, ou 10, caracterizado por o código de computador compreender um arquivo de applet convertido (315).
12. MÉTODO PARA RESOLUÇÃO DE REFERÊNCIAS NÃO EXPLICITADAS EM UMA ESTRUTURA DE DADOS EM UM DISPOSITIVO DE COMPUTAÇÃO COMPREENDENDO UM PRIMEIRO DISPOSITIVO DE ARMAZENAMENTO E UM SEGUNDO DISPOSITIVO DE ARMAZENAMENTO, caracterizado por compreender: a)partição da estrutura de dados contendo referências não explicitadas e localizada no primeiro dispositivo de armazenamento em uma pluralidade de blocos; b) cópia de um bloco de dados em uma primeira localização na estrutura de dados para uma memória de armazenamento temporário ("buffer") de resolução (505) localizada em um segundo dispositivo de armazenamento; c) resolução de pelo menos uma diferença não explicitada do bloco de dados na memória de armazenamento temporário ("buffer") de resolução (505); e d) cópia do conteúdo da memória de armazenamento temporário ("buffer") de resolução (505) de volta para o primeiro dispositivo de armazenamento na primeira localização.
13. Método para resolução de referências não explicitadas, de acordo com a reivindicação 12, caracterizado por a estrutura de dados compreender um arquivo de applet convertido (315).
14. Método para resolução de referências não explicitadas, de acordo com as reivindicações 12 ou 13, caracterizado por a partição da estrutura de dados contendo referências não explicitadas e localizada em um primeiro dispositivo de armazenamento em uma pluralidade de blocos compreender a partição da estrutura de dados em parcelas lógicas.
15. Método para resolução de referências não explicitadas, de acordo com as reivindicações 12, 13, ou 14, caracterizado por a memória de armazenamento temporário ("buffer") de resolução (505) compreender uma memória de acesso aleatório (220).
16. Método para resolução de referências não explicitadas, de acordo com as reivindicações 12, 13, 14, ou 15, caracterizado por o primeiro dispositivo de armazenamento compreender uma memória não-volátil de leitura/gravação (230).
17. Método para resolução de referências não explicitadas, de acordo com as reivindicações 12, 13, 14, 15, ou 16, caracterizado por a memória de armazenamento temporário ("buffer") de resolução (505) compreender uma memória de acesso aleatório (220).
18. Método para resolução de referências não explicitadas, de acordo com as reivindicações 12, 13, 14, 15, 16, ou 17, caracterizado por a cópia de um bloco de dados em uma primeira localização na estrutura de dados para uma memória de armazenamento temporário ("buffer") de resolução (505) constituir uma resposta a uma detecção de pelo menos uma referência não explicitada no bloco de dados.
BRPI0212222A 2001-08-31 2002-08-13 método para resolver referências não resolvidas dentro de código de computador carregado em um cartão inteligente possuindo uma memória não volátil e uma memória de acesso randômico, mídia de computador legível, cartão inteligente e método de resolver referências não resolvidas em uma estrutura de dados em um dispositivo de computar BRPI0212222B1 (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/945,107 US6779732B2 (en) 2001-08-31 2001-08-31 Method and apparatus for linking converted applet files
PCT/US2002/025650 WO2003021428A1 (en) 2001-08-31 2002-08-13 Method and apparatus for linking converted applet files

Publications (2)

Publication Number Publication Date
BR0212222A BR0212222A (pt) 2004-09-21
BRPI0212222B1 true BRPI0212222B1 (pt) 2016-01-26

Family

ID=25482628

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0212222A BRPI0212222B1 (pt) 2001-08-31 2002-08-13 método para resolver referências não resolvidas dentro de código de computador carregado em um cartão inteligente possuindo uma memória não volátil e uma memória de acesso randômico, mídia de computador legível, cartão inteligente e método de resolver referências não resolvidas em uma estrutura de dados em um dispositivo de computar

Country Status (7)

Country Link
US (1) US6779732B2 (pt)
EP (1) EP1421478B1 (pt)
CN (1) CN1302378C (pt)
AT (1) ATE385588T1 (pt)
BR (1) BRPI0212222B1 (pt)
DE (1) DE60224937T2 (pt)
WO (1) WO2003021428A1 (pt)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7131121B2 (en) * 2001-11-14 2006-10-31 Axalto, Inc. Method and apparatus for linking converted applet files without relocation annotations
US7246347B1 (en) * 2002-06-26 2007-07-17 Sun Microsystems, Inc Method and apparatus for loading class files into non-volatile memory
US9524458B2 (en) 2005-02-07 2016-12-20 Mynette Technologies, Inc. Switchable epassport including shielding
US8816826B2 (en) * 2005-05-06 2014-08-26 Steven M. Colby Passive radio frequency data logger
US20070200682A1 (en) 2005-05-06 2007-08-30 Colby Steven M RFID Device Including Multiple Active Modes
US9569777B2 (en) 2005-02-07 2017-02-14 Mynette Technologies, Inc. EPassport including shielding method
EP1724677A1 (en) * 2005-05-19 2006-11-22 Axalto SA Memory management system and method in portable device
CN1313927C (zh) * 2005-06-16 2007-05-02 北京航空航天大学 智能卡运行环境的控制方法
DE102011113091A1 (de) * 2011-09-09 2013-03-14 Giesecke & Devrient Gmbh Programmpaketinstallation
CN102566971A (zh) * 2011-12-31 2012-07-11 北京握奇数据系统有限公司 一种指令解析方法、装置及智能卡
EP3176695A1 (en) * 2015-12-04 2017-06-07 Gemalto Sa Method for managing a package in a secure element
EP4145271A1 (en) * 2021-09-02 2023-03-08 IDEMIA France Methods and terminal for updating converted applet file, and java card device

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5734822A (en) 1995-12-29 1998-03-31 Powertv, Inc. Apparatus and method for preprocessing computer programs prior to transmission across a network
US5999732A (en) * 1998-03-23 1999-12-07 Sun Microsystems, Inc. Techniques for reducing the cost of dynamic class initialization checks in compiled code
CZ20003437A3 (cs) 1998-03-23 2001-11-14 International Business Machines Corporation Java runtime systém s upravenou sdílenou oblastí konstant
DE69817333T2 (de) 1998-06-05 2004-06-09 International Business Machines Corp. Verfahren und Vorrichtung zum Laden von Befehlskodes in einen Speicher und zum Verbinden dieser Befehlskodes
US6338160B1 (en) * 1998-12-08 2002-01-08 Nazomi Communications, Inc. Constant pool reference resolution method
US6880155B2 (en) 1999-02-02 2005-04-12 Sun Microsystems, Inc. Token-based linking

Also Published As

Publication number Publication date
CN1302378C (zh) 2007-02-28
EP1421478B1 (en) 2008-02-06
US6779732B2 (en) 2004-08-24
EP1421478A1 (en) 2004-05-26
ATE385588T1 (de) 2008-02-15
US20030042318A1 (en) 2003-03-06
DE60224937D1 (de) 2008-03-20
DE60224937T2 (de) 2009-02-12
BR0212222A (pt) 2004-09-21
WO2003021428A1 (en) 2003-03-13
CN1559031A (zh) 2004-12-29

Similar Documents

Publication Publication Date Title
US7321951B2 (en) Method for testing flash memory power loss recovery
CN106528106B (zh) 一种自适应各种不同Flash芯片类型的嵌入式系统启动方法
US6772955B2 (en) Memory card
BRPI0212222B1 (pt) método para resolver referências não resolvidas dentro de código de computador carregado em um cartão inteligente possuindo uma memória não volátil e uma memória de acesso randômico, mídia de computador legível, cartão inteligente e método de resolver referências não resolvidas em uma estrutura de dados em um dispositivo de computar
US9542113B2 (en) Apparatuses for securing program code stored in a non-volatile memory
CN115543487A (zh) 基于otp的只读存储器中启动代码扩展方法及芯片
US20080263533A1 (en) Implementation of patches by a processing unit
US8010734B2 (en) Method and system for reading instructions from NAND flash memory and writing them into SRAM for execution by a processing device
US7131121B2 (en) Method and apparatus for linking converted applet files without relocation annotations
EP2778910A1 (en) Systems and methods to extend rom functionality
US7046536B2 (en) Programable identification circuitry
CN113835620A (zh) 一种提高安全芯片应用执行效率的方法及系统
US20030084232A1 (en) Device and method capable of changing codes of micro-controller
US8874981B2 (en) Method of creating target storage layout table referenced for partitioning storage space of storage device and related electronic device and machine-readable medium
US10877743B2 (en) Control apparatus for updating stored program and method for updating program stored in control apparatus
CN101667130B (zh) 具有鉴别功能的嵌入式系统及嵌入式系统的鉴别方法
JPH10510652A (ja) 固定したプログラムを修正できるようにする方法および装置
CN113032008B (zh) 电子处理装置及存储器控制方法
CN113760193A (zh) 用于资源受限制装置的数据读写方法、装置及指令集
US7346730B2 (en) Mobile electronic device
EP4145271A1 (en) Methods and terminal for updating converted applet file, and java card device
KR20120017790A (ko) 운영체제의 재쓰기 가능한 메모리 영역을 갖는 스마트카드 및 그 운용방법
US20060136711A1 (en) Disk device using disk to rewrite firmware and firmware determination method
JP2008146343A (ja) Icカード、および、更新プログラムの呼出し方法
JP6447219B2 (ja) 電子情報記憶媒体、アプリケーション置換方法、プログラム、及びicカード

Legal Events

Date Code Title Description
B25D Requested change of name of applicant approved

Owner name: SCHLUMBERGER TECHNOLOGIES OPERATING LIMITED (VG) ,

Free format text: ALTERADO DE: SCHLUMBERGER SYSTEMES

B06A Patent application procedure suspended [chapter 6.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 26/01/2016, OBSERVADAS AS CONDICOES LEGAIS.

B21F Lapse acc. art. 78, item iv - on non-payment of the annual fees in time

Free format text: REFERENTE A 20A ANUIDADE.

B24J Lapse because of non-payment of annual fees (definitively: art 78 iv lpi, resolution 113/2013 art. 12)

Free format text: EM VIRTUDE DA EXTINCAO PUBLICADA NA RPI 2683 DE 07-06-2022 E CONSIDERANDO AUSENCIA DE MANIFESTACAO DENTRO DOS PRAZOS LEGAIS, INFORMO QUE CABE SER MANTIDA A EXTINCAO DA PATENTE E SEUS CERTIFICADOS, CONFORME O DISPOSTO NO ARTIGO 12, DA RESOLUCAO 113/2013.