12.07.2015 Views

JCML - Java Card Modeling Language: Definição e ... - Ifrn

JCML - Java Card Modeling Language: Definição e ... - Ifrn

JCML - Java Card Modeling Language: Definição e ... - Ifrn

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

CAPÍTULO 2. SMART CARDS 22• habilidade para guardar e atualizar múltiplas aplicações - em um único cartão épossível instalar várias aplicações smart card;• compatibilidade com o padrão smart card existente - a plataforma <strong>Java</strong> <strong>Card</strong> implentaas características para desenvolvimento de aplicações definidas pela normaISO 7816.A arquitetura básica de uma <strong>Java</strong> <strong>Card</strong> consiste em: Applets, API <strong>Java</strong> <strong>Card</strong>, MáquinaVirtual <strong>Java</strong> <strong>Card</strong> (JCVM), <strong>Java</strong> <strong>Card</strong> Runtime Environment (JCRE), e o sistema operacionalnativo do cartão.A máquina virtual, que é executada sobre o sistema operacional do cartão, pode servista como uma abstração. Sobre a máquina virtual encontra-se o <strong>Java</strong> <strong>Card</strong> Framework,que é um conjunto de classes necessárias para o funcionamento do JCRE e a API <strong>Java</strong><strong>Card</strong>, como também as classes ou extensões proprietárias do fabricante do cartão. Notopo, encontram-se os applets que utilizam todos os demais componentes.Os componentes da tecnologia <strong>Java</strong> <strong>Card</strong> são:• JCVM (<strong>Java</strong> <strong>Card</strong> Virtual Machine) [39] - A JCVM é uma Máquina Virtual dedicada,de uma única thread. A máquina virtual <strong>Java</strong> <strong>Card</strong>, versão 2.2.1 1 , não dá suporteàs seguintes características de <strong>Java</strong>: carregamento dinâmico de classes; Stringe threads; variáveis do tipo double, float e char; arrays multidimensionais; classejava.lang.System; coleta de lixo. Isso ocorre pelo fato da JCVM definir um subconjuntoda linguagem <strong>Java</strong> e ser adaptada às aplicações smart card.A principal diferença entre a JCVM e a JVM (<strong>Java</strong> Virtual Machine) é que a JCVMé implementada como duas partes separadas, o conversor e o interpretador. O conversor<strong>Java</strong> <strong>Card</strong> (Figura 2.2) é executado em qualquer estação de trabalho. O conversorfaz parte da estrutura off-card (é executada fora do cartão). Após a criaçãodo arquivo CAP (Converted Applet - Seção 2.1.1), a verificação das propriedadesdo applet é feita pelo interpretador on-card (executado dentro do cartão) quando osmart card estiver em contato com a aplicação. O interpretador reconhece o arquivoCAP gerado pelo conversor.1 A versão 2.2.1 da plataforma <strong>Java</strong> <strong>Card</strong> [37] é a versão utilizada como referência durante todo o trabalho.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!