Smart Card e Java Card

Redes de Computadores I - 2012.1

3. Java Card


Java Card é uma Interface de Programação de Aplicativos (API) desenvolvida e distribuída pela Oracle que permite que aplicativos Java, chamados applets, seja executados nos chips de Smart Cards, acessando seu sistemas de arquivos e microprocessador.

 

3.1. Características

 

3.1.2. Ambiente com baixo poder computacional

 

Executar applets Java em chips de baixo poder computacional como o de Smart Cards é um desafio. Sendo assim, a tecnologia Java Card implementa a máquina virtual Java de forma dividida entre o sistema do cartão e o sistema operacional do terminal. No cartão, são implementados o modelo de execução, comunicação, segurança e o gerenciamento da memória. Processos como carregamento de classes, verificação de bytecode, etc. são executados no sistema externo ao cartão.

 

3.1.3. Programação de alto nível

 

Outra característica implementada pela API é a separação entre o sistema e as aplicações. Assim como a linguagem Java para desktops, a API permite o gerenciamento dos dados através de requerimentos bem definidos e de alto nível.

 

3.1.4. Portabilidade

 

Como aplicativos em Java para desktops, os applets Java Card são independentes de plataforma. Dessa forma applets iguais podem ser usados em Smart Cards com capacidade de memória e processamento diferente, além de estruturas e arquiteturas diversas. Isso não se limita a cartões, mas também a ambientes em que há pequeno poder de processamento.

 

3.1.5. Multifuncionalidade

 

Cartões com tecnologia Java Card podem conter mais de um applet. A API Java Card gerencia o compartilhamento de dados entre applets diferentes, protegendo dados internos aos applets e sincronizando o acesso a dados compartilhados.

 

3.1.6. Instalação dinâmica

 

Um applet pode ser instalado em um cartão já montados, e isso pode ser feito dinamicamente durante o uso do cartão, através de atualizações durante as transações.