34
Fraquezas no Cart˜ ao MIFARE Classic Wellington Baltazar de Souza Instituto de Matem´ atica e Estat´ ıstica Laborat´orio de Seguran¸ca de Dados 9 de Agosto de 2010 Wellington Baltazar de Souza Fraquezas no Cart˜ ao MIFARE Classic

Mifare Slides

Embed Size (px)

Citation preview

Page 1: Mifare Slides

Fraquezas no Cartao MIFARE Classic

Wellington Baltazar de Souza

Instituto de Matematica e EstatısticaLaboratorio de Seguranca de Dados

9 de Agosto de 2010

Wellington Baltazar de Souza Fraquezas no Cartao MIFARE Classic

Page 2: Mifare Slides

Introducao Pesquisa Finalizacao

Agenda

1 IntroducaoAplicacoesCartoes sem ContatoO Cartao MIFARE

2 PesquisaFraquezasAtaques

3 FinalizacaoConsequenciasConclusaoReferenciasPerguntas

Wellington Baltazar de Souza Fraquezas no Cartao MIFARE Classic

Page 3: Mifare Slides

Introducao Pesquisa Finalizacao Aplicacoes Cartoes sem Contato O Cartao MIFARE

Aplicacoes

Tecnologia RFID e Cartoes sem Contato

Em substituicao a tecnologias anteriores:

Codigo de BarrasCartoes com Trilha MagneticaTickets de Papel (eventos)

Passaportes Eletronicos

Transporte Publico

Implantes sob a pele

Pedagios em rodovias

Controle de acesso (edifıcios, aeroportos, etc)

Wellington Baltazar de Souza Fraquezas no Cartao MIFARE Classic

Page 4: Mifare Slides

Introducao Pesquisa Finalizacao Aplicacoes Cartoes sem Contato O Cartao MIFARE

Cartoes sem Contato

Como funciona

Na tecnologia RFID temos a Tag (cartao) e o Leitor

Consiste de uma pequena porcao de memoria que pode seracessada atraves do ar (wireless), mas diferentemente das tagsRFID simples, eles possuem alguma capacidade deprocessamento.

A maioria desttes cartoes possuem algum tipo de criptografiasimetrica implementada, tornando conveniente o seu uso emaplicacoes que necessitam controle de acesso ao cartao.

Wellington Baltazar de Souza Fraquezas no Cartao MIFARE Classic

Page 5: Mifare Slides

Introducao Pesquisa Finalizacao Aplicacoes Cartoes sem Contato O Cartao MIFARE

Cartoes sem Contato

Wellington Baltazar de Souza Fraquezas no Cartao MIFARE Classic

Page 6: Mifare Slides

Introducao Pesquisa Finalizacao Aplicacoes Cartoes sem Contato O Cartao MIFARE

Cartao MIFARE

Detalhes sobre o MIFARE

Baseado na norma ISO-14443A (1K e 4K)

O cartao MIFARE e amplamente utilizado (detem 85% domercado)

Fabricando inicialmente pela NXP Semiconductors (antigaPhilips), e hoje e licenciado para outros fabricantes

Consiste em 4 diferentes tipos: Ultralight, Classic, DESFire,SmartMX

MIFARE Classic fornece autenticacao mutua e segurancaatraves da cifra CRYPTO1 com chaves de 48 bits(proprietaria e fechada)

Wellington Baltazar de Souza Frauezas no cartao MIFARE Classic

Page 7: Mifare Slides

Introducao Pesquisa Finalizacao Aplicacoes Cartoes sem Contato O Cartao MIFARE

Cartao MIFARE

Estrutura do MIFARE Classic

Cada setor contem 64 bytes

Cada bloco contem 16 bytes

O ultimo bloco de cada setor(trailer) contem as chaves A e B eas condicoes de acesso.

As condicoes de acesso determinaas permissoes em cada bloco.

Wellington Baltazar de Souza Fraquezas no Cartao MIFARE Classic

Page 8: Mifare Slides

Introducao Pesquisa Finalizacao Aplicacoes Cartoes sem Contato O Cartao MIFARE

Cartao MIFARE

Wellington Baltazar de Souza Fraquezas no Cartao MIFARE Classic

Page 9: Mifare Slides

Introducao Pesquisa Finalizacao Aplicacoes Cartoes sem Contato O Cartao MIFARE

Cartao MIFARE

Seguranca do MIFARE Classic

Unique Identifier (UID) e somente leitura

Autenticacao mutua entre o leitor e o cartao

O algoritmo da cifra CRYPTO1 nao e publico

Informacao de paridade ofuscada

Somente implementacao em hardware

Wellington Baltazar de Souza Fraquezas no Cartao MIFARE Classic

Page 10: Mifare Slides

Introducao Pesquisa Finalizacao Aplicacoes Cartoes sem Contato O Cartao MIFARE

Cartao MIFARE

Comandos do MIFARE Classic

autenticate

read/write, increment/decrement

transfer (grava o resultado de um decremento,increment/restore para memoria nao volatil)

restore (prepara o valor do valor corrente de um bloco para serregravado na memoria nao volatil)

halt

Wellington Baltazar de Souza Fraquezas no Cartao MIFARE Classic

Page 11: Mifare Slides

Introducao Pesquisa Finalizacao Fraquezas Ataques

Cartao MIFARE

Problemas

Problemas de seguranca ja relatados (mais adiante);

Diversas aplicacoes importantes utilizam o MIFARE Classic, e75% delas utilizam as chaves de trasnporte default presentesna documentacao [Grunwald, Lukas, 2007], busque no Googlepor A0A1A2A3A4A5

Por ser tao barato nao fornece a seguranca necessaria, pois aunidade custa menos que $1.00;

Wellington Baltazar de Souza Fraquezas no Cartao MIFARE Classic

Page 12: Mifare Slides

Introducao Pesquisa Finalizacao Fraquezas Ataques

Engenharia reversa CRYPTO1 (otica) [Nohl, Plotz, 2007]

Wellington Baltazar de Souza Fraquezas no Cartao MIFARE Classic

Page 13: Mifare Slides

Introducao Pesquisa Finalizacao Fraquezas Ataques

Engenharia reversa CRYPTO1 (logica)[Garcia, Gans, Muijrers, Verdult, Schreur, Jacobs, 2008]

Ghost Device

Wellington Baltazar de Souza Fraquezas no Cartao MIFARE Classic

Page 14: Mifare Slides

Introducao Pesquisa Finalizacao Fraquezas Ataques

Engenharia reversa CRYPTO1 (logica)[Garcia, Gans, Muijrers, Verdult, Schreur, Jacobs, 2008]

Proxmark III

Wellington Baltazar de Souza Fraquezas no Cartao MIFARE Classic

Page 15: Mifare Slides

Introducao Pesquisa Finalizacao Fraquezas Ataques

Historico

Linha do Tempo

Dez-2007 - Engenharia reversa parcial da CRYPTO1, porNohl e Plotz

Mar-2008 - Engenharia revesa completa da cifra CRYPTO1por equipe da Radboud University (Holanda)

Jun-2008 - NXP tenta evitar atraves da justica a publicacao”irresponsavel”

Jul-2008 - Os juızes rejeitam a proibicao, com base naliberdade de expressao

Out-2008 - Radboud University realiza a publicacao cientıficae libera biblioteca para CRYPTO1 sob codigo aberto

Wellington Baltazar de Souza Frauezas no cartao MIFARE Classic

Page 16: Mifare Slides

Introducao Pesquisa Finalizacao Fraquezas Ataques

Engenharia reversa CRYPTO1 (logica)[Garcia, Gans, Muijrers, Verdult, Schreur, Jacobs, 2008]

Wellington Baltazar de Souza Fraquezas no Cartao MIFARE Classic

Page 17: Mifare Slides

Introducao Pesquisa Finalizacao Fraquezas Ataques

Gerador Pseudo Aleatorio

LFSR - Linear Feedback Shift Register

Gerador pseudo-aleatorio definido pelo polinomiox16 + x14 + x13 + x11 + 1

Uma vez que os nonces sao de 32 bits e o LFSR possui 16 bitsde estado, a primeira metade de nT determina a segundametade (apenas 16 bits de entropia)

O perıodo do gerador e 65.535, a cada 9, 44µs ocorre um shift,sendo um ciclo completo em 618 ms (depende do fabricante)

Um valor de 32 bits n0n1 . . . n31 e um nonce valido de umatag, sse nk ⊕ nk+2 ⊕ . . .⊕ nk+16 = 0 para todok ∈ {0, 1, . . . , 15}

Wellington Baltazar de Souza Fraquezas no Cartao MIFARE Classic

Page 18: Mifare Slides

Introducao Pesquisa Finalizacao Fraquezas Ataques

Gerador Pseudo Aleatorio

LFSR - Linear Feedback Shift Register

O leitor gera a mesma sequencia de nonces depois de ligado

O gerador pseudo-aleatorio na tag itera sobre o tempo

Nonces gerados na tag dependem somente do tempo queestao ”ligadas”

Com um simulador de tags RFID, podemos enviar noncesarbitrarios para o leitor

Nonces gerados podem ser previstos pelo tempo

Experimentos com sessoes de autenticacao com diversos uidse tag nonces, verificou-se que nT ⊕ uid eram uma constante

Wellington Baltazar de Souza Fraquezas no Cartao MIFARE Classic

Page 19: Mifare Slides

Introducao Pesquisa Finalizacao Fraquezas Ataques

Diagrama de Inicializacao

Wellington Baltazar de Souza Fraquezas no Cartao MIFARE Classic

Page 20: Mifare Slides

Introducao Pesquisa Finalizacao Fraquezas Ataques

Processo de Autenticacao

Wellington Baltazar de Souza Fraquezas no Cartao MIFARE Classic

Page 21: Mifare Slides

Introducao Pesquisa Finalizacao Fraquezas Ataques

Processo de Autenticacao

Processo de Autenticacao

Tag ReaderEscolhe um nT e envia para o Reader ks1 ← cipher(K , uid, nT ), escolhe nRks1 ← cipher(K , uid, nT ) ks2, ks3 . . .← cipher(K , uid, nT , nR )

e envia para a Tag nR ⊕ ks1, suc2(nT )⊕ ks2ks2, ks3 . . .← cipher(K , uid, nT , nR )

envia para o Reader suc3(nT )⊕ ks3 aR ← suc2(nT )

Wellington Baltazar de Souza Fraquezas no Cartao MIFARE Classic

Page 22: Mifare Slides

Introducao Pesquisa Finalizacao Fraquezas Ataques

Exemplo

Trace no Processo de Autenticacao

Step Sender Hex Abstract01 Reader 26 req type A02 Tag 04 00 answer req03 Reader 93 20 select04 Tag c2 a8 2d f4 b3 uid, bcc05 Reader 93 70 c2 a8 2d f4 b3 ba a3 select(uid)06 Tag 08 b6 dd MIFARE 1K07 Reader 60 30 76 4a auth(block 30)08 Tag 42 97 c0 a4 nT

09 Reader 7d db 9b 83 67 eb 5d 83 nR ⊕ ks1, aR ⊕ ks2

10 Tag 8b d4 10 08 aT ⊕ ks3

Wellington Baltazar de Souza Fraquezas no Cartao MIFARE Classic

Page 23: Mifare Slides

Introducao Pesquisa Finalizacao Fraquezas Ataques

Ataque por Timeout

Wellington Baltazar de Souza Fraquezas no Cartao MIFARE Classic

Page 24: Mifare Slides

Introducao Pesquisa Finalizacao Fraquezas Ataques

Ataque por Timeout

Como Recuperar ks2, ks3

Ghost ReaderEscolhe um nT e envia para o Reader ks1 ← cipher(K , uid, nT ), escolhe nR

ks2, ks3 . . .← cipher(K , uid, nT , nR )

e envia para a Tag nR ⊕ ks1, suc2(nT ) ⊕ks2Aguarda pelo timeout

O Reader envia para a Tag halt ⊕ ks3

Wellington Baltazar de Souza Fraquezas no Cartao MIFARE Classic

Page 25: Mifare Slides

Introducao Pesquisa Finalizacao Fraquezas Ataques

Nested Attack

Passo a Passo

1 Autentique um bloco com chave default e leia o nT

(determinado pelo LFSR)

2 Autentique novamente o mesmo bloco com a chave default eleia o nT (determinado pelo LFSR), (esta autenticacao estaem uma sessao encriptada)

3 Calcule a ”distancia de tempo”(numero de shifts LFSR)

4 Calcule o valor nT e autentique em um bloco diferente

Wellington Baltazar de Souza Fraquezas no Cartao MIFARE Classic

Page 26: Mifare Slides

Introducao Pesquisa Finalizacao Fraquezas Ataques

Outros ataques Possıveis

Outros ataques a serem pesquisados

Replay attack: espionar a comunicacao entre a tag e o leitor,criar um dispositivo que transimite os mesmos dados (Ghost,Proxmark III)

Error attack: verificar a paridade de aR , dependendo doresultado da comparacao modificar o valor de aT

Card only attak: ataques sem espionagem da comunicacao

Wellington Baltazar de Souza Fraquezas no Cartao MIFARE Classic

Page 27: Mifare Slides

Introducao Pesquisa Finalizacao Fraquezas Ataques

Outros Erros do MIFARE Classic

Outros Erros

Chaves de 48-bits sao muito curtas para os dias de hoje

O lado leitor aceita frames de tamanho invalido

O bit de paridade e cifrado, mas o estado interno nao ocorrerashift, assim, o primeiro bit do proximo byte sera cifrado pelomesmo keystream bit

influencia estatıstica na cifra

influencia de bits nao e balanceada

Wellington Baltazar de Souza Fraquezas no Cartao MIFARE Classic

Page 28: Mifare Slides

Introducao Pesquisa Finalizacao Consequencias Conclusao Referencias Perguntas

Consequencias

O que pode ocorrer?

Quando todas as chaves sao descoberdas, o cartao pode serfacilmente clonado

Podemos clonar o cartao quase por completo, exceto o bloco0 do setor 0, que contem o UID (read-only)

Todos os blocos podem ser 100% emulados inclusive o UID(Ghost device e Proxmark III)

Wellington Baltazar de Souza Fraquezas no Cartao MIFARE Classic

Page 29: Mifare Slides

Introducao Pesquisa Finalizacao Consequencias Conclusao Referencias Perguntas

Convivendo com os Problemas

O que pode ser feito?

Para evitar clonagem criar uma whitelist com os UIDspermitidos, ou utilize o conteudo dos cartoes cifrado

Protecao contra clonagem nao impede a restauracao de umdump do cartao contendo saldo (creditos) anterior

Wellington Baltazar de Souza Fraquezas no Cartao MIFARE Classic

Page 30: Mifare Slides

Introducao Pesquisa Finalizacao Consequencias Conclusao Referencias Perguntas

Convivendo com os Problemas

Evitar a restauracao de saldo no cartao

Utilizar cartoes mais seguros (MIFARE Plus/DESFire, ououtro)

Utilizar a protecao do contador de decremento (possui valorinicial 0xffffffff). As chaves A/B possui permissao apenas paradecrementar o contador de decremento, a cada alteracao noconteudo do cartao gerar um hash/assinatura dos dados docartao + contador

Utilizar um sistema de BackOffice para controlar o cadastrodo usuario associado ao UID, o ultimo saldo, contador dedecremento, etc.

Verificacao online da validade do cartao

Wellington Baltazar de Souza Fraquezas no Cartao MIFARE Classic

Page 31: Mifare Slides

Introducao Pesquisa Finalizacao Consequencias Conclusao Referencias Perguntas

Conclusao

Tudo isso diz que ...

O uso de cartoes MIFARE Classic da falsa sensacao deseguranca, pois ele esta quebrado de fato

A seguranca por obscuridade realmente nao funciona, o tempotem mostrado que algoritmos e protocolos abertos funcionammelhor

Wellington Baltazar de Souza Fraquezas no Cartao MIFARE Classic

Page 32: Mifare Slides

Introducao Pesquisa Finalizacao Consequencias Conclusao Referencias Perguntas

Referencias

COURTOIS, Nicolas T.The Dark Side of Security by Obscurity and Cloning MiFareClassic Rail and Building Passes Anywhere, Anytime

LUPTAK, Ing. PavolMifare Classic analysis in Czech Republic / Slovakia

GANS, HOEPMAN, GARCIA, Gerhard de Konning,Jaap-Henk, Flavio D., 2008A Practical Attack on the MIFARE Classic

Wellington Baltazar de Souza Fraquezas no Cartao MIFARE Classic

Page 33: Mifare Slides

Introducao Pesquisa Finalizacao Consequencias Conclusao Referencias Perguntas

Referencias

GARCIA, GANS, MUIJRERS, VERDULT, SCHREUR,JACOBS, Flavio D., Gerhard de Konning, Ruben, Peter, Roel,Ronny Wichers, Bart, 2008Dismantling MIFARE Classic

VERDULT, Roel, 2008Security analysis of RFID tags (master tesis)

NOHL, PLOTZ, Karsten, Henryk, 2007Mifare: Little Security, Despite Obscurity

GRUNWALD, Lukas, 2007New Attacks against RFID-Systems

CHENG, Chen-Mou, 2010MIFARE Classic: Completely Broken

Wellington Baltazar de Souza Fraquezas no Cartao MIFARE Classic

Page 34: Mifare Slides

Introducao Pesquisa Finalizacao Consequencias Conclusao Referencias Perguntas

Perguntas

Wellington Baltazar de Souza Fraquezas no Cartao MIFARE Classic