Você está na página 1de 16

Criptografia e Segurana das Comunicaes Cartes inteligentes

Curiosidade, no faz parte da avaliao

Prof RG Crespo

Criptografia e Segurana das Comunicaes

SmartCards : 1/31

DST (1)
O DST-Digital Signal Transponder um sistema de autenticao da Texas Instruments, acedido por RFID Radio Frequency Identification, com vista ao controlo de acesso a automveis e pagamento automtico de combustveis. Pode ser inserido numa folha ou na chave de um veculo.
Chip Antena

Prof RG Crespo

Criptografia e Segurana das Comunicaes

SmartCards : 2/31

DST (2)
RFID, ou transponder uma etiqueta (tag) passiva formado por um chip e uma antena. Criado nos anos 70, actualmente usado em
Cartes de acesso. Identificao de animais (ces, gado). Despacho de produtos em centros de distribuio (WalMart, o maior retalhista dos EUA, exige aos fornecedores que todos os produtos contenham etiquetas RFID).

Custo das etiquetas reduzido (menos de $1, os mais simples a 5), mas o leitor porttil custa $100-$1000.

Prof RG Crespo

Criptografia e Segurana das Comunicaes

SmartCards : 3/31

DST (3)
Dimenses reduzidas (at 0.4mm*0.4mm) Frequncias definidas por norma ISO 14443
baixas/125 KHz altas/13.56 MHz (a mais usada) UHF/ 850-900MHz.

Capacidade do chip: tipicamente 2KB RAM, 1KB EPROM/EEPROM, CPU a 3MHz. Usualmente, o chip possui at 1000 gates. Reduzida capacidade de cifra, estuda-se a possibilidade de incorporar AES (exige entre 20k a 30K gates).

Prof RG Crespo

Criptografia e Segurana das Comunicaes

SmartCards : 4/31

DST (4)
Leitor deve estar situado a cm at alguns metros da etiqueta (depende da frequncia usada). Tipicamente, interao entre o leitor e a etiqueta segue os seguintes passos
1. Leitor fornece energia por impulso electromagntico de 15 a 50 ms, frequncia de 134.2 KHz 2. Leitor envia comando com bits modelados em amplitude. Nalguns casos, no fim enviada nova carga energtica 3. CPU da etiqueta efectua os clculos. 4. Etiqueta envia, em modelao de frequncia, bit de sincronizao (07Eh), seguido pelos bits de resposta.

Prof RG Crespo

Criptografia e Segurana das Comunicaes

SmartCards : 5/31

DST (5)
Cada DST possui numero de srie nico, no secreto. A unidade de processamento da DST possui arquitectura baseada
Registo por LFSR a 40 bits (Nota: atacvel por fora bruta), de polinmio conectivo x40+x21+x15+x6+1. Imprecises na especificao pblica detectadas atravs da anlise de respostas aps carregamento do registo de chaves a 0 [ver artigo SC Bono et al., Security Analysis of a CrypographicallyEnabled RFID Device, 14th Usenix Security Symposium] IV do LFSR programado pela empresa, conhecido apenas pela empresa e pelo DST.

Prof RG Crespo

Criptografia e Segurana das Comunicaes

SmartCards : 6/31

DST (6)
desafio/resposta

f1 matrizes encaminhamento

f2

f16 f17 f18 f19 f20

f21

LFSR
Prof RG Crespo Criptografia e Segurana das Comunicaes SmartCards : 7/31

DST (7)
Identificao/autenticao efectuada nos seguintes passos:
1. Leitor envia desafio (nounce-valor aleatrio, diferente dos anteriores, para evitar ataques de repetio) 2. Etiqueta insere desafio no registo superior, e executa 200 ciclos. 3. Etiqueta envia para o leitor mensagem contendo
Numero de srie (24 bits) 24 bits menos significativos do registo desafio/resposta CRC-16, para integridade (alteraes podem ser introtiduzidos devido a de erros na transmisso)

Prof RG Crespo

Criptografia e Segurana das Comunicaes

SmartCards : 8/31

DST (8)
Ataque por fora bruta: basta ler 2 pares desafio/resposta.
O desafio inserido no registo superior de um simulador, que explora todas as combinaes do IV do LFSR, verificando no fim de 200 ciclos coincidncia com a resposta. Necessrios dois pares, uma vez que na resposta apenas contam os 24 bits inferiores.

Simulador, implementado com 16 FPGAs em paralelo (custo $1500) a 100 MHz, detecta IV em 40 minutos.

Prof RG Crespo

Criptografia e Segurana das Comunicaes

SmartCards : 9/31

Mifare (1)
MIFARE Classic, sistema de cartes de acesso por RFID, da empresa holandesa NXP (subsidiria da Philips).
Desenvolvidos vrios modelos, os mais recentes com processador. Muito baratos, adoptado por sistemas de transportes publico (ex:Oyster em Londres/UK e Charlie Card em Boston/MA) e parques de estacionamento (ex: IST).

Autenticao por desafio/resposta. Sistema criptogrfico Crypto-1 baseado no registo de deslocamento


Chave de 48 bits. Opera como LFSR e como NLFSR, dependendo dos parmentros Funo de realimentao mantida secreta, mas equipa de U Virginia+U College London+Vest conseguiram descobri-la.
Criptografia e Segurana das Comunicaes

Prof RG Crespo

SmartCards : 10/31

Mifare (2)
Debilidades levaram NXP a colaborar com a equipa que quebrou para desenvolver o MIFARE Plus.
Baseado no AES Menos inseguro

Prof RG Crespo

Criptografia e Segurana das Comunicaes

SmartCards : 11/31

Smart card - introduo (1)


O smart card uma alternativa mais poderosa.
Preo entre $2 e $40. Informao trocada por pontos de contacto. Informao por ser cifrada por RSA (ex: Cryptoflex da Schlumberger). Vrios mtodos de autenticao (s carto ou ambos os lados):
Resposta cifrada a desafio {0,1}64. Protocolos de conhecimento nulo

Dimenses e interface elctricas especificadas, respectivamente, pelas normas ISO 7816-2 e ISO-7816-3.

Nota: Verso de menores dimenses, especificada pela ETSI, usada para telemveis GSM.
Prof RG Crespo Criptografia e Segurana das Comunicaes SmartCards : 12/31

Smart card - introduo (2)


Os cartes inteligentes so divididos em
Memory cards (apenas armazenam dados). Microprocessor cards (pode processar e actualizar dados).

Adoptado pela ICAO para cartes de identidade (incluem impresso digital e fotografia).
Ex: Gemalto (http://www.gemalto.com), criada em 2006 por juno da Axalto (diviso da Schlumberger) e Gemplus, lder mundial de sistemas de cartes inteligentes com produo na F,S, BR,US,SG e CN. responsvel pelo sistema de identificao Carto do Cidado.

Uma das aplicaes mais usada acesso a transportes.


Ex: consrcio Calypso criado pelos franceses com adeso posterior de empresas de transporte da BE,F,GE,I e PT consultar http://www.askrfid.com seleccionado para passes Lisboa Viva, Andante (metro Porto) e Metro de Lisboa.
Prof RG Crespo Criptografia e Segurana das Comunicaes SmartCards : 13/31

Smart card arquitectura (1)


Os cartes com microprocessador possuem
CPU 8 bits a 1 MIPS (pode haver co-processador dedicado para aritmtica modular e operaes em inteiros de grande dimenso para cifras AES, RSA,...). ROM 8-24 KB (para sistema operativo e algorimos de cifra) RAM 256B-1KB. EEPROM 1-24 KB, pode ser lido/escrito at 105 vezes (armazm de applets e chaves de cifra). Um dos motivos

RST CLK IO VCC VPP


Prof RG Crespo

ROM I/O CPU RAM EEPROM


Criptografia e Segurana das Comunicaes

para necessidade de renovao ao fim de 5 anos!

SmartCards : 14/31

Smart card arquitectura (2)


Objectivos dos 8 contactos
VCC, GND@C1,C5 : alimentao RST@C2 : reiniciar a comunicao entre carto e o CAD VPP@C6 : usado nos cartes mais antigos para gravao da EEPROM CLK@C3 : relgio, fixado pelo CAD I/O@C7 : canal de comunicao half-duplex RFU@C4,C8 : RFU-reservado para uso futuro

Prof RG Crespo

Criptografia e Segurana das Comunicaes

SmartCards : 15/31

Smart card - ficheiros (1)


Estrutura de ficheiro semelhante do Unix Nomes de 2 Bytes Raz MF-ficheiro mestre 3f.00 Directrio designados por DF-ficheiros dedicados. Folhas contm dados, designadas por EF-ficheiros elementares. 3f.00 00.02 00.11 01.00 02.01
Prof RG Crespo Ficheiro mestre (nico)

02.00 02.02 02.03

Ficheiro dedicado

02.04
SmartCards : 16/31

Criptografia e Segurana das Comunicaes

Smart card - ficheiros (2)


Os ficheiros MF e DF podem ser considerados como directrios (mas o DF pode conter dados). Os EFs e DFs contm atributos de segurana com 5 nveis de segurana. Por ordem crescente,
ALW (always): acesso livre CHV1 (Card Holder Verification 1): acessvel apenas se tiver sido introduzido PIN1 vlido. CHV2 (Card Holder Verification 2) ADM (administrative) NEV (never): acesso interdito

Prof RG Crespo

Os PIN so armazenados em ficheiros elementares. O sistema operativo bloqueia acesso ao carto depois de vrias tentativas erradas de PIN.
Criptografia e Segurana das Comunicaes

SmartCards : 17/31

Smart card - ficheiros (3)


O espao de ficheiro um bloco contnuo, de dimenso fixa. Os ficheiros elementares armazem informao de determinado tipo.
Tipo
Linear Cclico Transparente SIM
Prof RG Crespo

Operaes
Posicionamento (seek) leitura anterior, leitura seguinte Leitura e escrita binria Cifra, decifra

Exemplos de utilizao
Saldo carto crdito Listagem transaces (log) imagem Bilhete identidade
SmartCards : 18/31

Criptografia e Segurana das Comunicaes

Smart cardcomunicao (1)


O carto inteligente inserido num CAD - Card Acceptance Device, de 2 tipos:
Reader, comunica com um Computador por interface USB, sem inteligncia (embora possa detectar erros na ligao com o carto). Terminal, com capacidades de processamento de dados (ex: terminal ATM).

Nota: os CAD tambm podem escrever nos cartes inteligentes. As mensagens trocadas entre o carto e o CAD so designadas por APDU-Application Protocol Data Unit. O formato determinado pela norma ISO 7816-4.
Prof RG Crespo Criptografia e Segurana das Comunicaes SmartCards : 19/31

Smart cardcomunicao (2)


Os comandos so classificados em 3 categorias:
Administrativos : CREATE FILE,... Financeiros : READ BALANCE,... Criptogrficos : RSA/DSA signature and verification, key generation,..

1. Protocolo de transporte
1. T=0, orientado ao Byte (adoptado pela maioria dos cartes) 2. T=1, orientado ao bloco Funes
especficas

APDU
T=0 T=1

APDU

APDU

Carto
resposta Leitor resposta

resposta Hospedeiro
Prof RG Crespo

Processador APDU

Criptografia e Segurana das Comunicaes

SmartCards : 20/31

Smart cardcomunicao (3)


1. Comando
Cabealho normalizado, de 5 B
CLA classe de instruo: indica se (i) o cdigo especfico a fabricantes (ex: GemPlus, ...) ou organismos de normalizao (ISO 7816, GlobalPlatform, ...) e (ii) se a mensagem cifrada INS cdigo de instruo (ex: leitura memria) P1,P2 modos endereamento usados pela instruo Lc dimenso dos dados enviados ao carto

Os dados seguem em reboque Le dimenso expectvel dos dados a receber do carto CLA INS P1
obrigatrios
Prof RG Crespo Criptografia e Segurana das Comunicaes SmartCards : 21/31

P2

Lc

Dados

Le

Smart cardcomunicao (4)


2. Resposta
Cabealho normalizado, de 2 B
ACK igual ao cdigo do comando INS NULL

Corpo opcional de dados Reboque, de 2B


SW1,SW2 estado do carto depois de ter executado o comando APDU

ACK NULL
obrigatrios

Dados

SW1 SW2
obrigatrios

Mais informao acessvel em http://www.smartcard.co.uk/tutorials/sct-itsc.pdf


Prof RG Crespo Criptografia e Segurana das Comunicaes SmartCards : 22/31

Smart cardcomunicao (5)


Exemplos para todos os cartes de memria: Escrita de 8B no endereo 0x20
CLA INS P1 00 D6 00 CLA INS P1 C0 20 00 ACK NULL 90 00 P2 20 P2 01 Lc Dados 08 0102030405060708 Lc Dados 08 3030303030303030

Envio do PIN ao carto

Resposta APDU Nota: endereos indicados em big-endian


Prof RG Crespo Criptografia e Segurana das Comunicaes SmartCards : 23/31

Smart cardinicializao
A. O fabricante (Gemalto,Oberthur,...) entrega o carto empresa que contrata servio de uso de cartes B. Conhecendo a chave mestra (Master Set Key), a empresa inicializa o carto:
Define polticas do PIN (dimenses mnima/mxima, caracteres permitidos, nmero mximo de tentativas) Liberta acesso API criptogrfica Dimenso das chaves e Gerao das chaves Carregamento de applets. Identificador do utilizador, gerao de certificados.
Criptografia e Segurana das Comunicaes SmartCards : 24/31

C. Antes de entregar ao utilizador, personaliza o carto


Prof RG Crespo

Smart card estados (1)


O leitor e o carto parte do estado Idle. Aps insero do carto so executados os seguintes passos:
O leitor liga os 5Vcc, inicia o relgio (CLK) e mantm a linha RST a low. 2. Aps 40 000 ciclos de relgio, o leitor passa a linha RST a high. 3. O carto responde com ATR Answer To Reset, com dados a identificar o tipo de carto. Exemplo de identificador de cartes:
Schlumberger Multiflex 3K : 3B 02 14 50 Lisboa Viva : 3B 6F 00 00 80 5A 08 06 08 20 02 00 92 37 89 73 82 90 00 Carto de cidado: 3B 7D 95 00 00 80 31 80 65 B0 83 11 C0 A9 83 00 90 00
Caracter inicial (3B ou 3F) Prof RG Crespo Indicador dos campos seguintes Criptografia e Segurana das Comunicaes SmartCards : 25/31

1.

Smart card estados (2)


Carto removido Insero carto

Power off

RST

Idle Power Espera APDU


Envia APDU Envia resposta ao leitor

Prepara ATR

Remover carto

Prepara comando

Transfere APDU para processador

Resposta

Espera resposta

Processa APDU

Leitor
Prof RG Crespo

Carto
SmartCards : 26/31

Criptografia e Segurana das Comunicaes

Java Card (1)


Cartes inteligentes, criados em 1996 pela Schlumberger e especificados pela Sun.
Contm o sistema operativo JCRE-Java Card Runtime Environment, instalado na ROM. Correm applets, carregados na EEPROM, na mquina virtual JCVM.
JCVM (JC2.0) Tipos primitivos de dados byte, short (16 bits), boolean Arrays Recuperao mem. Prog. concorrente Unidimensionais ----S em JVM double, float, char Multidimensionais Garbage collection Threads

Prof RG Crespo

Criptografia e Segurana das Comunicaes

SmartCards : 27/31

Java Card (2)


Arquitectura Applet 1

...

Gesto recursos
Comunicaes (APDU, inter-aplicao) Execuo applets

Java Card API Java Card Virtual Machine SO nativo


Prof RG Crespo

Java Card Runtime Environment

Criptografia e Segurana das Comunicaes

SmartCards : 28/31

Java Card (3)


A programao de um applet segue os seguintes passos:
1. 2. 3.
Compilador JAVA

Compilar programas .java num ambiente apropriado (ex: JDK) e testar funcionalidade num simulador Converter ficheiros .class para formato .cap Carregar os applet atravs do Java Card reader.
Conversor

JCRE
JCVM installer

Ficheiros .class
Simulador JC

Ficheiro CAP
Emulador JC

Prof RG Crespo

Criptografia e Segurana das Comunicaes

SmartCards : 29/31

Java Card (4)


ADPUs de instalao de uma applet
INSTALL (80 E6 xx 00 xx Manual, da GlobalPlatfrom) : inicializa e finaliza processo de instalao da applet. LOAD (BE 24 xx xx xx Code, da Multos MDRM): carrega, byte a byte, o arquivo CAP. Nota: cada applet pode possuir um ID nico, designado AID.

ADPUs de execuo de uma applet


INITIALIZE UPDATE (80 50 xx xx 08 desafio, da GlobalPlatfrom) : abre canal seguro entre a applet instalada e o cliente. EXTERNAL AUTHENTICATE (xx 82 xx xx xx dados, da ISO 7816) : autentica cliente e define modo de segurana do canal. SELECT (00 A4 04 00 xx AID, da ISO GlobalPlatfrom) : selecciona applet.
Prof RG Crespo Criptografia e Segurana das Comunicaes SmartCards : 30/31

Java Card (5)


Foram criadas classes em Java de implementao de servios criptogrficos
Esquemas de cifra simtrica AES e DES, assimtrica RSA. Funes de disperso MD5, SHA. Gerador de nmeros aleatrios e cifras de chaves pblicas.

Para carregar os applets, a partir do Linux


1. 2. Instalar controlador de dispositivo para o leitor, ex: openSC. Instalar ambiente para carregamento dos applets, ex: gpshell.

Fabricantes de cartes JC
Gemalto Oberthur Card Systems
Prof RG Crespo Criptografia e Segurana das Comunicaes SmartCards : 31/31

Você também pode gostar