• Nenhum resultado encontrado

Criptografia e Segurança das Comunicações. Cartões inteligentes

N/A
N/A
Protected

Academic year: 2021

Share "Criptografia e Segurança das Comunicações. Cartões inteligentes"

Copied!
16
0
0

Texto

(1)

Criptografia e Segurança das

Comunicações

Comunicações

Cartões inteligentes

SmartCards : 1/31 Prof RG Crespo Criptografia e Segurança das Comunicações

Curiosidade, não faz parte da avaliação

DST (1)

• O DST-Digital Signal Transponder é

um sistema de autenticação da Texas

Instruments, acedido por RFID –

“Radio Frequency Identification”,

com vista ao controlo de acesso a

automóveis e pagamento automático

Antena Chip

automóveis e pagamento automático

de combustíveis.

• Pode ser inserido numa folha ou na

chave de um veículo.

(2)

DST (2)

• RFID, ou “transponder” é uma etiqueta (“tag”) passiva

formado por um chip e uma antena. Criado nos anos 70,

actualmente usado em

– Cartões de acesso.

– Identificação de animais (cães, gado). – Identificação de animais (cães, gado).

– Despacho de produtos em centros de distribuição (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 portátil custa $100-$1000.

SmartCards : 3/31 Prof RG Crespo Criptografia e Segurança das Comunicações

DST (3)

• Dimensões reduzidas (até 0.4mm*0.4mm)

• Frequências definidas por norma ISO 14443

– baixas/125 KHz

– altas/13.56 MHz (a mais usada) – UHF/ 850-900MHz.

– 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).

(3)

DST (4)

• Leitor deve estar situado a cm até alguns metros da

etiqueta (depende da frequência usada).

• Tipicamente, interação entre o leitor e a etiqueta segue os

seguintes passos

1. Leitor fornece energia por impulso electromagnético de 15 a 50 1. Leitor fornece energia por impulso electromagnético de 15 a 50

ms, à frequência de 134.2 KHz

2. Leitor envia comando com bits modelados em amplitude. Nalguns casos, no fim é enviada nova carga energética

3. CPU da etiqueta efectua os cálculos.

4. Etiqueta envia, em modelação de frequência, bit de sincronização (07Eh), seguido pelos bits de resposta.

SmartCards : 5/31 Prof RG Crespo Criptografia e Segurança das Comunicações

DST (5)

• Cada DST possui numero de série único, não secreto.

• A unidade de processamento da DST possui arquitectura

baseada

– Registo por LFSR a 40 bits (Nota: atacável por “força bruta”), de polinómio conectivo x40+x21+x15+x6+1.

polinómio conectivo x +x +x +x +1.

– Imprecisões na especificação pública detectadas através da análise de respostas após carregamento do registo de chaves a 0 [ver artigo SC Bono et al., Security Analysis of a Crypographically-Enabled RFID Device, 14thUsenix Security Symposium]

– IV do LFSR programado pela empresa, conhecido apenas pela empresa e pelo DST.

(4)

DST (6)

desafio/resposta

SmartCards : 7/31 Prof RG Crespo Criptografia e Segurança das Comunicações

LFSR

f1 f2

f16 f17 f18 f19 f20 f21 matrizes encaminhamento

DST (7)

• Identificação/autenticação efectuada nos seguintes passos:

1. Leitor envia desafio (“nounce”-valor aleatório, diferente dos anteriores, para evitar ataques de repetição)

2. Etiqueta insere desafio no registo superior, e executa 200 ciclos. 3. Etiqueta envia para o leitor mensagem contendo

• Numero de série (24 bits)

• 24 bits menos significativos do registo desafio/resposta

• CRC-16, para integridade (alterações podem ser introtiduzidos devido a de erros na transmissão)

(5)

DST (8)

• Ataque por força bruta: basta ler 2 pares desafio/resposta.

– O desafio é inserido no registo superior de um simulador, que explora todas as combinações do IV do LFSR, verificando no fim de 200 ciclos coincidência com a resposta.

– Necessários dois pares, uma vez que na resposta apenas contam os 24 bits inferiores.

24 bits inferiores.

• Simulador, implementado com 16 FPGAs em paralelo

(custo $1500) a 100 MHz, detecta IV em 40 minutos.

SmartCards : 9/31 Prof RG Crespo Criptografia e Segurança das Comunicações

Mifare (1)

• MIFARE Classic, sistema de cartões de acesso por RFID,

da empresa holandesa NXP (subsidiária da Philips).

– Desenvolvidos vários 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).

parques de estacionamento (ex: IST).

• Autenticação por desafio/resposta.

• Sistema criptográfico Crypto-1 é baseado no registo de

deslocamento

– Chave de 48 bits.

– Opera como LFSR e como NLFSR, dependendo dos parâmentros – Função de realimentação mantida secreta, mas equipa de U

(6)

Mifare (2)

• Debilidades levaram

NXP a colaborar

com a equipa que

quebrou para

SmartCards : 11/31 Prof RG Crespo Criptografia e Segurança das Comunicações

quebrou para

desenvolver o

MIFARE Plus.

– Baseado no AES – Menos inseguro

Smart card - introdução (1)

• O “smart card” é uma alternativa mais poderosa.

– Preço entre $2 e $40.

– Informação trocada por pontos de contacto.

– Informação por ser cifrada por RSA (ex: Cryptoflex da Schlumberger). (ex: Cryptoflex da Schlumberger). – Vários métodos de autenticação (só

cartão ou ambos os lados):

• Resposta cifrada a desafio {0,1}64.

• Protocolos de conhecimento nulo

– Dimensões e interface eléctricas especificadas, respectivamente, pelas normas ISO 7816-2 e ISO-7816-3.

Nota

: Versão de menores dimensões, especificada pela ETSI,

é usada para telemóveis GSM.

(7)

Smart card - introdução (2)

• Os cartões inteligentes são divididos em

– Memory cards (apenas armazenam dados).

– Microprocessor cards (pode processar e actualizar dados).

• Adoptado pela ICAO para cartões de identidade (incluem

impressão digital e fotografia).

impressão digital e fotografia).

Ex: Gemalto (http://www.gemalto.com), criada em 2006 por junção da Axalto (divisão da Schlumberger) e Gemplus, é líder mundial de sistemas de cartões inteligentes com produção na F,S, BR,US,SG e CN.

É responsável pelo sistema de identificação Cartão do Cidadão.

• Uma das aplicações mais usada é acesso a transportes.

Ex: consórcio Calypso criado pelos franceses com adesão posterior de empresas de transporte da BE,F,GE,I e PT– consultar http://www.ask-rfid.com –seleccionado para passes Lisboa Viva, Andante

(metro Porto) e Metro de Lisboa.

SmartCards : 13/31 Prof RG Crespo Criptografia e Segurança das Comunicações

Smart card – arquitectura (1)

Os cartões com microprocessador possuem

– CPU 8 bits a 1 MIPS (pode haver co-processador dedicado para aritmética modular e operações em inteiros de grande dimensão para cifras AES, RSA,...).

– ROM 8-24 KB (para sistema operativo e algorimos de cifra)

– RAM 256B-1KB.

– RAM 256B-1KB.

– EEPROM 1-24 KB, pode ser lido/escrito até 105vezes (armazém de

applets e chaves de cifra).

I/O

CLK IO

CPU

RST VCC

ROM

RAM

EEPROM

VPP Um dos motivos para necessidade de renovação ao fim de 5 anos!

(8)

Smart card – arquitectura (2)

• Objectivos dos 8 contactos

– VCC, GND@C1,C5 : alimentação

– RST@C2 : reiniciar a comunicação entre cartão e o CAD – VPP@C6 : usado nos cartões mais antigos para gravação da

EEPROM

– CLK@C3 : relógio, fixado pelo CAD

– I/O@C7 : canal de comunicação “half-duplex” – RFU@C4,C8 : RFU-reservado para uso futuro

SmartCards : 15/31 Prof RG Crespo Criptografia e Segurança das Comunicações

Smart card - ficheiros (1)

• Estrutura de ficheiro semelhante à do Unix • Nomes de 2 Bytes

• Raíz MF-ficheiro mestre é 3f.00

• Directório designados por DF-ficheiros dedicados.

• Folhas contêm dados, designadas por EF-ficheiros elementares. • Folhas contêm dados, designadas por EF-ficheiros elementares.

00.02 00.11 01.00

02.01 02.02 02.03 02.04

Ficheiro mestre (único)

3f.00

(9)

Smart card - ficheiros (2)

• Os ficheiros MF e DF podem ser considerados como

directórios (mas o DF pode conter dados).

• Os EF’s e DF’s contêm atributos de segurança com 5

níveis de segurança. Por ordem crescente,

– ALW (“always”): acesso livre

– CHV1 (“Card Holder Verification 1”): acessível apenas se tiver sido introduzido PIN1 válido.

– CHV2 (“Card Holder Verification 2”) – ADM (“administrative”)

– NEV (“never”): acesso interdito

• Os PIN são armazenados em ficheiros elementares. O sistema

operativo bloqueia acesso ao cartão depois de várias tentativas

erradas de PIN.

SmartCards : 17/31 Prof RG Crespo Criptografia e Segurança das Comunicações

Smart card - ficheiros (3)

• O espaço de ficheiro é um bloco contínuo, de dimensão

fixa.

• Os ficheiros elementares armazem informação de

determinado tipo.

Tipo Operações Exemplos de utilização

Linear Posicionamento

(“seek”)

Saldo cartão crédito

Cíclico leitura anterior,

leitura seguinte

Listagem transacções (“log”) Transparente Leitura e escrita binária imagem

(10)

Smart card–comunicação (1)

O cartão inteligente é inserido num CAD - Card

Acceptance Device, de 2 tipos:

– Reader, comunica com um Computador por interface USB, sem inteligência (embora possa detectar erros na ligação com o cartão).

– Terminal, com capacidades de processamento de dados (ex: – Terminal, com capacidades de processamento de dados (ex:

terminal ATM).

Nota

: os CAD também podem escrever nos cartões

inteligentes.

As mensagens trocadas entre o cartão e o CAD são

designadas por APDU-Application Protocol Data Unit. O

formato é determinado pela norma ISO 7816-4.

SmartCards : 19/31 Prof RG Crespo Criptografia e Segurança das Comunicações

Smart card–comunicação (2)

Os comandos são classificados em 3 categorias:

– Administrativos : CREATE FILE,... – Financeiros : READ BALANCE,...

– Criptográficos : RSA/DSA signature and verification, key generation,..

1. Protocolo de transporte

1. Protocolo de transporte

1. T=0, orientado ao Byte (adoptado pela maioria dos cartões) 2. T=1, orientado ao bloco Hospedeiro Leitor APDU resposta

Cartão

APDU resposta T=0 T=1 APDU resposta Processador APDU Funções específicas

(11)

Smart card–comunicação (3)

1. Comando

– Cabeçalho normalizado, de 5 B

• CLA– classe de instrução: indica se (i) o código é específico a fabricantes (ex: GemPlus, ...) ou organismos de normalização (ISO 7816, GlobalPlatform, ...) e (ii) se a mensagem é cifrada

• INS– código de instrução (ex: leitura memória) • INS– código de instrução (ex: leitura memória) • P1,P2– modos endereçamento usados pela instrução • Lc– dimensão dos dados enviados ao cartão

– Os dados seguem em reboque

– Le– dimensão expectável dos dados a receber do cartão

SmartCards : 21/31 Prof RG Crespo Criptografia e Segurança das Comunicações

obrigatórios

CLA INS P1 P2 Lc Dados Le

Smart card–comunicação (4)

2. Resposta

– Cabeçalho normalizado, de 2 B

• ACK – igual ao código do comando INS

• NULL

– Corpo opcional de dados – Corpo opcional de dados – Reboque, de 2B

• SW1,SW2– estado do cartão depois de ter executado o comando APDU

Mais informação acessível em

http://www.smartcard.co.uk/tutorials/sct-itsc.pdf

ACK NULL Dados

obrigatórios

SW1 SW2

(12)

Smart card–comunicação (5)

Exemplos para todos os cartões de memória:

• Escrita de 8B no endereço 0x20

CLA INS P1 P2 Lc Dados

00 D6 00 20 08 0102030405060708

SmartCards : 23/31 Prof RG Crespo Criptografia e Segurança das Comunicações

00 D6 00 20 08 0102030405060708

Nota

: endereços indicados em “big-endian”

• Envio do PIN ao cartão

CLA INS P1 P2 Lc Dados

C0 20 00 01 08 3030303030303030

• Resposta APDU

ACK NULL

90 00

Smart card–inicialização

A. O fabricante (Gemalto,Oberthur,...) entrega o cartão à

empresa que contrata serviço de uso de cartões

B. Conhecendo a chave mestra (“Master Set Key”), a

empresa inicializa o cartão:

– Define políticas do PIN (dimensões mínima/máxima, caracteres permitidos, número máximo de tentativas)

– Liberta acesso à API criptográfica

– Dimensão das chaves e Geração das chaves – Carregamento de applets.

C. Antes de entregar ao utilizador, personaliza o cartão

(13)

Smart card – estados (1)

• O leitor e o cartão parte do estado Idle. Após inserção do

cartão são executados os seguintes passos:

1. O leitor liga os 5Vcc, inicia o relógio (CLK) e mantém a linha RST a low.

2. Após 40 000 ciclos de relógio, o leitor passa a linha RST a high. 3. O cartão responde com ATR – “Answer To Reset”, com dados a

identificar o tipo de cartão. Exemplo de identificador de cartões:

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 Cartão de cidadão: 3B 7D 95 00 00 80 31 80 65 B0 83 11 C0 A9 83 00 90 00

SmartCards : 25/31 Prof RG Crespo Criptografia e Segurança das Comunicações

Caracter inicial (3B ou 3F)

Indicador dos campos seguintes

Smart card – estados (2)

Idle Cartão removido Power Inserção cartão Power off Prepara ATR RST Power Prepara comando Remover cartão Espera resposta Envia APDU Resposta

Leitor

Espera APDU Processa APDU Transfere APDU para processador Envia resposta ao leitor

Cartão

(14)

Java Card (1)

Cartões inteligentes, criados em 1996 pela Schlumberger

e especificados pela Sun.

– Contêm o sistema operativo JCRE-Java Card Runtime Environment, instalado na ROM.

– Correm applets, carregados na EEPROM, na máquina virtual – Correm applets, carregados na EEPROM, na máquina virtual

JCVM.

SmartCards : 27/31 Prof RG Crespo Criptografia e Segurança das Comunicações

JCVM (JC2.0) Só em JVM

Tipos primitivos de dados byte, short (16 bits), boolean double, float, char Arrays Unidimensionais Multidimensionais Recuperação mem. --- Garbage collection Prog. concorrente --- Threads

Java Card (2)

• Arquitectura

Applet

1

...

•Gestão recursos

SO nativo

Java Card Virtual Machine

Java Card API

1

•Gestão recursos

•Comunicações (APDU, inter-aplicação) •Execução applets

(15)

Java Card (3)

• A programação de um applet segue os seguintes passos:

1. Compilar programas .java num ambiente apropriado (ex: JDK) e testar funcionalidade num simulador

2. Converter ficheiros .class para formato .cap 3. Carregar os applet através do Java Card reader. 3. Carregar os applet através do Java Card reader.

SmartCards : 29/31 Prof RG Crespo Criptografia e Segurança das Comunicações

Ficheiros .class

JCRE

JCVM Ficheiro CAP Compilador JAVA Conversor installer Simulador JC Emulador JC

Java Card (4)

• ADPUs de instalação de uma applet

– INSTALL (80 E6 xx 00 xx Manual, da GlobalPlatfrom) : inicializa e finaliza processo de instalação 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 execução 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 segurança do canal. – SELECT (00 A4 04 00 xx AID, da ISO GlobalPlatfrom) :

(16)

Java Card (5)

• Foram criadas classes em Java de implementação de

serviços criptográficos

– Esquemas de cifra simétrica AES e DES, assimétrica RSA. – Funções de dispersão MD5, SHA.

– Gerador de números aleatórios e cifras de chaves públicas. – Gerador de números aleatórios e cifras de chaves públicas.

• Para carregar os applets, a partir do Linux

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

• Fabricantes de cartões JC

– Gemalto

– Oberthur Card Systems

SmartCards : 31/31 Prof RG Crespo Criptografia e Segurança das Comunicações

Referências

Documentos relacionados

Este trabalho consistiu na colheita de amostras de água superficial do rio Douro, com o objetivo de identificar a presença de espécies do género Staphylococcus, com perfis

De acordo com estes resultados, e dada a reduzida explicitação, e exploração, das relações que se estabelecem entre a ciência, a tecnologia, a sociedade e o ambiente, conclui-se

Considerando a importância dos tratores agrícolas e características dos seus rodados pneumáticos em desenvolver força de tração e flutuação no solo, o presente trabalho

A simple experimental arrangement consisting of a mechanical system of colliding balls and an electrical circuit containing a crystal oscillator and an electronic counter is used

Se o canhão antitanque dispara um obus com velocidade de disparo de 240 m/s e com elevação de 10,0 o acima da horizontal, quanto tempo a equipe do canhão teria de esperar antes

Starting out from my reflection on the words cor, preto, negro and branco (colour, black, negro, white), highlighting their basic meanings and some of their

The challenges of aging societies and the need to create strong and effective bonds of solidarity between generations lead us to develop an intergenerational

Os principais resultados obtidos pelo modelo numérico foram que a implementação da metodologia baseada no risco (Cenário C) resultou numa descida média por disjuntor, de 38% no