22
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

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

Embed Size (px)

Citation preview

Page 1: 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

Smart Cards

Requisitos da Aplicaçãopor 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

Page 2: 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

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

Page 3: 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

O que são “Smart Cards” ?(aka chip cards or IC cards)

Primeiro smart card: 1974Produção em 2002: quase 1 bilhão

Page 4: 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

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.

Page 5: 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

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, half-duplex, até 112,5 kbps (normalmente 7800 a 9600 bps) - já existem c/USB

Page 6: 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

Características Técnicas - Comparação

Page 7: 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

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

Page 8: 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

Características Técnicas - Contatos

Vcc

RST

CLK

RFU RFU

I/O

VPP

GND

Page 9: 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

Características Técnicas - Contatos (USB)

Vcc

RST

CLK

D- D+

I/O

VPP

GND

Page 10: 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

Características TécnicasPrincípio Básico de Funcionamento

Cartão

Leitora

Pedido

Resposta

(APDUs*)

(*)Application Protocol Data Units

Page 11: 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

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)

Page 12: 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

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

Page 13: 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

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.

Page 14: 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

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)

Page 15: 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

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

Page 16: 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

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

Page 17: 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

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 :-(

Page 18: 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

Projeto PertoTeclado 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

Page 19: 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

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]

Page 20: 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

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_sign_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)

Page 21: 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

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 na Web (continuação)

Page 22: 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

[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. North-Holland, 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

Referências Bibliográficas