Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
RESUMO
Com o crescimento da tecnologia Java Card e o aumento do uso de Smart Cards no mercado,
aumentaram-se a demanda pelo desenvolvimento de aplicaes que so executadas nos cartes.
Essas aplicaes necessitam oferecer alm de portabilidade, comodidade e segurana, servios com
qualidade e alta disponibilidade para os usurios. Nesse artigo so abordados os conceitos principais
da tecnologia Smart Card bem como o uso destas para desenvolver pequenas aplicaes usando a
linguagem Java Card focando o uso para sistemas de controle nas quais o carto serviria de
repositrio de alguns dados e instrumento de consulta de sistemas maiores.
Palavras-chave: cartes inteligentes - Java Card - Applets
ABSTRACT
With the growth of Java Card technology and the increased use of smart cards in the market, demand
for the development of applications that run on the cards has risen. These applications need to offer
besides portability, convenience and safety, service quality and high availability for users. This article
examines the main concepts of Smart Card technology and use these to develop small applications
using the Java Card focusing on the use for control systems where the card would serve as a repository
of some data and query tool for larger systems.
Keywords: Smart card - Java Card - Applets
156
INTRODUO
O
advento
rapidamente
da
maneira
Internet
das
alterou
pessoas
se
(usados
para
armazenar
as
responsvel
tecnologia
no
pelo
mercado
crescimento
rea
como objetivo o
da
de
funes
de
acessar,
gravar
consultar
Smart Cards.
[Chen 2000].
armazenar
as
ambiente
de
aplicaes
desenvolvidas;
desenvolvimento
Eclipse
com
SMART CARD
tarja magntica,
rea
nomeado
Smart
combustveis,
comercial
existe
garantindo
sistema
agilidade
no
Card
os
Smart
Cards
independente
tm
sistema
convencionais
comunicao
devido
seu
de
possuem
ao
funcionamento
no
acesso
157
off-line
usando
Smart
Cards
para
das
funcionalidades
fortemente
dos
influenciado
Smart
por
Cards
padres
caixa
eletrnico
para
realizar
determinado
frequncia,
Card.
como
exemplo
os
cartes
de
Smart
Card
contm
alguns
158
memria
no-voltil
do
carto
inteligente,
suportadas e no suportadas.
Funcionalidades
Funcionalidades no
suportadas
suportadas
Tipos primitivos:
telecomunicaes
identificao,
double, float
controle
Caracteres e string
autenticao,
em
moeda
geral,
eletrnica,
de
opcional
Arrays unidimensionais
2000].
Arrays
multidimensionais
Pacotes, classes,
JAVA CARD
Threads
interfaces e excees
Herana
Clone de objetos
poder
significativamente
envolvido
desenvolvimento,
CAP.
de
processamento
pois
caso
contrrio
ser
(arquivos
CAP
possuem
uma
[Rankl 2007].
da mquina virtual.
159
JCRE
(Java
Card
Runtime
ambiente
de
desenvolvimento,
realiza
memria
persistente
retomando
seu
algum
comando
enviado
carto.
5 Gerar o arquivo .cap: todas os
pelo
nico arquivo.
Smart Card.
atravs
desse
protocolo
de
160
e respostas APDU.
enviados
instruo.
Le:
para
carto
especifica
executar
numero
alguma
de
bytes
Corpo Opcional
Cabealho obrigatrio
Data field
SW1
SW2
Cabealho obrigatrio
CLA
INS
P1
Corpo opcional
P2
Lc
Data
field
161
ao carto.
cartes ACR38.
Mdulo on-card
Seguindo as etapas de como desenvolver
que
Com
todas
automatizou
essas
uso
ferramentas
das
ferramentas
demonstrar
processo
de
162
INS_SET_CURSOPALESTRA
INS_DEL_CURSOPALESTRA
INS_GET_NTOTALCURSOPALESTRA
INS_GET_LISTATODOSCURSOPALESTRA
applet
obrigatoriamente
alguns
principal
mtodos
Funo
Define a classe de comando
e resposta para essa
aplicao
Realiza a inscrio de cursos
e (ou) palestras passados por
parmetro.
Realiza o cancelamento da
inscrio dos cursos e (ou)
palestras passados por
parmetro.
Retorna o numero total de
inscries de cursos e
palestras.
Retorna o cdigo de todos os
cursos e palestras que esto
inscritos no carto.
reescreve
devido ao
Valor
(byte) 0xB0
(byte) 0x10
(byte) 0x20
(byte) 0x30
(byte) 0x40
APDU.
Outros
dois
mtodos
de
extrema
mdulo off-card.
163
Mdulo off-card
Para o desenvolvimento desse mdulo foi
164
1 if (c.getTerminal().isCardPresent()) {
2
c.iniciaComunicacao();
3
4
byte[] select = {(byte) 0x00, (byte) 0xA4, (byte) 0x04, (byte) 0x00, (byte) 0x08, (byte) 0x43, (byte) 0x6f,
5
(byte) 0x6e, (byte) 0x74, (byte) 0x72, (byte) 0x6f, (byte) 0x6c, (byte) 0x61};
6
byte[] apdu = {(byte) 0xB0, (byte) 0x30, (byte) 0x00, (byte) 0x00, (byte) 0x00};
7
8
ResponseAPDU r_select = c.getCanal().transmit(new CommandAPDU(select));
9
ResponseAPDU r = c.getCanal().transmit(new CommandAPDU(apdu));
10
11
Informacao.append(r + "\n\n");
12
JOptionPane.showMessageDialog(null, Host.paraStringHexa(r.getData()));
13 } else {
14
JOptionPane.showMessageDialog(null, "Carto no conectado!");
15 }
Figura 11. Acessando o mdulo on-card por meio da aplicao host
No trecho de cdigo da Figura 11 pode-
futuramente.
REFERNCIAS
CONSIDERAES FINAIS
Este trabalho foi desenvolvido com o
intuito de demonstrar que os Smart Cards esto
evoluindo tecnologicamente, e uso destes est
cada vez mais amplo, no se concentrando
apenas
nas
suas
caractersticas
COMSOFT.
(2006).
Disponvel
em
<http://www.comsoft.com.br/?q=produtos/whitecar
d>. Acessado em: 12 dez 2010.
Projeto
RIC.
(2009)
Disponvel
em:
<http://jus.uol.com.br/revista/texto/17931/a-novacarteira-de-identidade-e-o-projeto-ric>. Acessado
em: 10 dez. 2010.
RANKL, W. (2007) Smart Card Applications:
Design models for using and programming in
smart cards, Edited by Kenneth Cox, John Wiley
& Sons ltd., England.
Scm.
(2006).
Disponvel
em:
<http://www.scmmicro.ru/upload/catalog/items/doc
s/JCOP21_SPI.pdf> Acessado em: 10 dez 2010
agregadas
novas
funcionalidades,