Smart Cards
Requisitos da Aplicação
por Carlos Arthur Lang Lisbôa
CMP502 - Tópicos Especiais em Computação II
Sistemas Embarcados
Professores Flávio Wagner e Luigi Carro
UFRGS/PPGC - 27/março/2003
Roteiro da Apresentação
•
•
•
•
•
•
•
•
•
o que são Smart Cards
tipos de Smart Cards
características técnicas
aplicações típicas
requisitos de segurança
padrões
oportunidades para pesquisa
referências na Web
referências bibliográficas
O que são “Smart Cards” ?
(aka chip cards or IC cards)
Primeiro smart card: 1974
Produção em 2002: quase 1 bilhão
Tipos de Smart Cards
• Recursos disponíveis
– Somente memória (not that smart ...)
• convencional
• memória óptica
– Processador
• monoaplicação
• multiaplicação
• Comunicação com leitora (terminal)
– Com contato
– Sem contato (usando RF)
• Formato físico
– Padrão “cartão de crédito” (plástico)
– SIM - para aplicações GSM, 3G, etc.
Características Técnicas - Hardware
• Processador
– microcontrolador de 8 bits (Motorola
6805, Intel 8051 instruction sets)
– 400 kIPS a 1 MIPS
– co-processador para criptografia
• Memória (nem toda “executável”)
– ROM para sistema operacional (8-96kB)
– NVM para dados do usuário (mais lenta,
vida útil limitada)
– RAM para dados de E/S (< 2kB)
• Entrada/Saída: 1 canal serial, halfduplex, até 112,5 kbps (normalmente
7800 a 9600 bps) - já existem c/USB
Características Técnicas - Comparação
Características Técnicas - Software
• Sistemas operacionais
– monoaplicação
– multiaplicação
• Algoritmos de criptografia
– DES
– RSA
– A3, A8, TSA7 ...
• Sistemas de de arquivos
• Protocolos de comunicação
Características Técnicas - Contatos
Vcc
GND
RST
VPP
CLK
I/O
RFU
RFU
Características Técnicas - Contatos
(USB)
Vcc
GND
RST
VPP
CLK
I/O
D-
D+
Características Técnicas
Princípio Básico de Funcionamento
L
e
i
t
o
r
a
Pedido
(APDUs*)
Resposta
(*)Application Protocol Data Units
C
a
r
t
ã
o
Principais áreas de aplicação
•
•
•
•
•
•
•
Telefonia móvel (ex: TIM “chip”)
Telefonia fixa (cartões telefônicos)
Sistema financeiro (cartões bancários)
Carteiras eletrônicas
Cartões de crédito (mais seguros)
Saúde
Cartões de fidelidade (ex: Smart Club)
Principais Requisitos
• Segurança (rem: fingerprint)
– segurança dos dados (só autorizados)
– integridade dos dados (transações não
completadas)
– criptografia e resistência a fraudes
• Capacidade de processamento
– cálculos em ponto flutuante
– co-processador
•
•
•
•
Capacidade de armazenamento
Baixo consumo de energia
Vida útil, confiabilidade, resistência
Grande volume de produção
Padrões: ISO 7816
• Parte 1: características físicas
• Parte 2: dimensões e localização dos
contatos (8 contatos)
• Parte 3: Sinais elétricos e protocolos de
transmissão
• Parte 4: Comandos para intercâmbio entre
empresas
• Parte 5: sistema de numeração e
procedimento de registro de identificadores
de aplicações
• outros ISO 7816-n
• outras organizações: ETSI (padrões GSM),
ANSI, IEC, etc.
SIM: Subscriber Identification Module
•
•
•
•
•
•
•
é um Smart Card “sem plástico”
usado em dispositivos de comunicação
telefones GSM e 3G (90% em 2001)
set-top boxes (10% em 2001)
migrando para celulares TDMA e CDMA
migrando para Palm Pilot
objetivos: habilitar o acesso ao dispositivo
no qual está inserido (autorização) e
associar o uso deste dispositivo com uma
conta para cobrança (autenticação, não
repúdio e contabilização)
Multiapplication Smart Cards
• Multos
–
–
–
–
máquina virtual com 31 bytecodes
24 serviços (primitivas) do sistema operacional
padrão mínimo para implementação
não suporta sistema de arquivos
• Java Card (Schlumberger, 1996)
– suporta subset (108 na versão 2.1.2, maio de
2001) dos bytecodes de Java
– JVM de 4kB (instruções do M6805)
– “proibido” programar direto em bytecodes !
– não suporta sistema de arquivos
– 119 serviços disponíveis na API
– ainda não tem garbage collection ...
– Sun assumiu a especificação e desenvolvimento
Multiapplication Smart Cards
• MS Windows Card (1998)
– máquina virtual mínima executa 27 bytecodes (Intel
8048 subset)
– Windows API (“reduzida enormemente”)
– separação entre código e dados da aplicação
– sistema de arquivos com FAT (nomes em Unicode)
– seleciona uma aplicação e executa até o fim
• ZeitControl Basic Card (1996)
–
–
–
–
IDE para aplicação do cartão e fora do cartão
sistema de arquivos baseado em FAT (DOS-like)
única VM que suporta aritmética em ponto flutuante
máquina virtual executa 116 byte codes
Oportunidades para Pesquisa
• Ferramentas e ambientes para
desenvolvimento de aplicações
• Segurança e criptografia
• Aplicações
• Conferências sempre com forte
participação das indústrias
Obs: projetar SC, só na indústria :-(
Projeto Perto
Teclado seguro para ATMs
• Grupo: Raul Weber, João Netto, Vinicius
Serafim, Ricardo Lichtler
• a senha digitada pelo usuário da ATM é
criptografada por um Smart Card
instalado no teclado e que se comunica
com o microcontrolador de teclado,
ambos encapsulados em epoxi para evitar
violação durante a comunicação entre
eles, e somente depois é transferida para a
ATM
• consultoria em criptografia e
programação do microcontrolador
Perspectivas Futuras
“Information about smart cards and the
technical detail needed to harness the
technology has historically been very hard to
come by. This, more than any other factor, has
been the barrier to the use of smart cards.
Belatedly, the smart card industry has realized
that either applications carry cards into the
mainstream of everyday use or they will join
eight-track tapes, monorail trains, cold fusion,
magnetic bubbles, and Betamax video in the
dustbin of technical curiosities.”
Timothy Jurgensen [4]
Referências na Web
 www.gemplus.com
(líder do mercado de Smart Cards e
soluções; “fornecedor” da figura à
esquerda ...)
 http://www.gemplus.com/products/dig_si
gn_cards_range/ (cartão de assinatura
digital)
 http://java.sun.com/products/javacard
(especificações, kit de desenvolvimento,
ferramentas, downloads)
 www.javaworld.com
(tutoriais e artigos sobre Java Card)
Referências na Web (continuação)
 www.schlumberger.com
(Criador do Java Card; recentemente:
Simera - 512K flash memory SIM card)
www.hitachi.com
(chips, sistemas operacionais, aplicações
e soluções completas e consultoria)
 www.infineon.com
(circuitos integrados para Smart Cards:
controladores, memórias, etc.)
 www.gdburti.com.br
(produção e personalização de Smart
Cards, consultoria e desenvolvimento de
aplicações)
Referências Bibliográficas
[1] Chaum, D. e Schaumüller, I. Smart Card
2000: The Future of IC Cards.
Proceedings of the IFIP WG 11.6
Conference on Smart Card 2000. NorthHolland, 1989
[2] Hendry, M. Smart Card Security and
Applications. Artech House, Boston, 1997
[3] Dreifus, H. e Monk, J. T. SmartCards: A
guide to building and managing smart
card applications. Wiley, New York, 1998
[4] Jurgensen, T. e Guthery, S. Smart
Cards: The Developer’s Toolkit. Pearson
Education, julho de 2002
Download

Smart Cards