Fraquezas no Cart ao MIFARE Classic Wellington Baltazar de Souza - - PowerPoint PPT Presentation

fraquezas no cart ao mifare classic
SMART_READER_LITE
LIVE PREVIEW

Fraquezas no Cart ao MIFARE Classic Wellington Baltazar de Souza - - PowerPoint PPT Presentation

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


slide-1
SLIDE 1

Fraquezas no Cart˜ ao MIFARE Classic

Wellington Baltazar de Souza

Instituto de Matem´ atica e Estat´ ıstica Laborat´

  • rio de Seguran¸

ca de Dados

9 de Agosto de 2010

Wellington Baltazar de Souza Fraquezas no Cart˜ ao MIFARE Classic

slide-2
SLIDE 2

Introdu¸ c˜ ao Pesquisa Finaliza¸ c˜ ao

Agenda

1 Introdu¸

c˜ ao Aplica¸ c˜

  • es

Cart˜

  • es sem Contato

O Cart˜ ao MIFARE

2 Pesquisa

Fraquezas Ataques

3 Finaliza¸

c˜ ao Consequˆ encias Conclus˜ ao Referˆ encias Perguntas

Wellington Baltazar de Souza Fraquezas no Cart˜ ao MIFARE Classic

slide-3
SLIDE 3

Introdu¸ c˜ ao Pesquisa Finaliza¸ c˜ ao Aplica¸ c˜

  • es

Cart˜

  • es sem Contato

O Cart˜ ao MIFARE

Aplica¸ c˜

  • es

Tecnologia RFID e Cart˜

  • es sem Contato

Em substitui¸ c˜ ao a tecnologias anteriores:

  • digo de Barras

Cart˜

  • es com Trilha Magn´

etica Tickets de Papel (eventos)

Passaportes Eletrˆ

  • nicos

Transporte P´ ublico Implantes sob a pele Ped´ agios em rodovias Controle de acesso (edif´ ıcios, aeroportos, etc)

Wellington Baltazar de Souza Fraquezas no Cart˜ ao MIFARE Classic

slide-4
SLIDE 4

Introdu¸ c˜ ao Pesquisa Finaliza¸ c˜ ao Aplica¸ c˜

  • es

Cart˜

  • es sem Contato

O Cart˜ ao MIFARE

Cart˜

  • es sem Contato

Como funciona Na tecnologia RFID temos a Tag (cart˜ ao) e o Leitor Consiste de uma pequena por¸ c˜ ao de mem´

  • ria que pode ser

acessada atrav´ es do ar (wireless), mas diferentemente das tags RFID simples, eles possuem alguma capacidade de processamento. A maioria desttes cart˜

  • es possuem algum tipo de criptografia

sim´ etrica implementada, tornando conveniente o seu uso em aplica¸ c˜

  • es que necessitam controle de acesso ao cart˜

ao.

Wellington Baltazar de Souza Fraquezas no Cart˜ ao MIFARE Classic

slide-5
SLIDE 5

Introdu¸ c˜ ao Pesquisa Finaliza¸ c˜ ao Aplica¸ c˜

  • es

Cart˜

  • es sem Contato

O Cart˜ ao MIFARE

Cart˜

  • es sem Contato

Wellington Baltazar de Souza Fraquezas no Cart˜ ao MIFARE Classic

slide-6
SLIDE 6

Introdu¸ c˜ ao Pesquisa Finaliza¸ c˜ ao Aplica¸ c˜

  • es

Cart˜

  • es sem Contato

O Cart˜ ao MIFARE

Cart˜ ao MIFARE

Detalhes sobre o MIFARE Baseado na norma ISO-14443A (1K e 4K) O cart˜ ao MIFARE ´ e amplamente utilizado (det´ em 85% do mercado) Fabricando inicialmente pela NXP Semiconductors (antiga Philips), e hoje ´ e licenciado para outros fabricantes Consiste em 4 diferentes tipos: Ultralight, Classic, DESFire, SmartMX MIFARE Classic fornece autentica¸ c˜ ao m´ utua e seguran¸ ca atrav´ es da cifra CRYPTO1 com chaves de 48 bits (propriet´ aria e fechada)

Wellington Baltazar de Souza Frauezas no cart˜ ao MIFARE Classic

slide-7
SLIDE 7

Introdu¸ c˜ ao Pesquisa Finaliza¸ c˜ ao Aplica¸ c˜

  • es

Cart˜

  • es sem Contato

O Cart˜ ao MIFARE

Cart˜ ao MIFARE

Estrutura do MIFARE Classic Cada setor cont´ em 64 bytes Cada bloco cont´ em 16 bytes O ´ ultimo bloco de cada setor (trailer) cont´ em as chaves A e B e as condi¸ c˜

  • es de acesso.

As condi¸ c˜

  • es de acesso determina

as permiss˜

  • es em cada bloco.

Wellington Baltazar de Souza Fraquezas no Cart˜ ao MIFARE Classic

slide-8
SLIDE 8

Introdu¸ c˜ ao Pesquisa Finaliza¸ c˜ ao Aplica¸ c˜

  • es

Cart˜

  • es sem Contato

O Cart˜ ao MIFARE

Cart˜ ao MIFARE

Wellington Baltazar de Souza Fraquezas no Cart˜ ao MIFARE Classic

slide-9
SLIDE 9

Introdu¸ c˜ ao Pesquisa Finaliza¸ c˜ ao Aplica¸ c˜

  • es

Cart˜

  • es sem Contato

O Cart˜ ao MIFARE

Cart˜ ao MIFARE

Seguran¸ ca do MIFARE Classic Unique Identifier (UID) ´ e somente leitura Autentica¸ c˜ ao m´ utua entre o leitor e o cart˜ ao O algoritmo da cifra CRYPTO1 n˜ ao ´ e p´ ublico Informa¸ c˜ ao de paridade ofuscada Somente implementa¸ c˜ ao em hardware

Wellington Baltazar de Souza Fraquezas no Cart˜ ao MIFARE Classic

slide-10
SLIDE 10

Introdu¸ c˜ ao Pesquisa Finaliza¸ c˜ ao Aplica¸ c˜

  • es

Cart˜

  • es sem Contato

O Cart˜ ao MIFARE

Cart˜ ao MIFARE

Comandos do MIFARE Classic autenticate read/write, increment/decrement transfer (grava o resultado de um decremento, increment/restore para mem´

  • ria n˜

ao vol´ atil) restore (prepara o valor do valor corrente de um bloco para ser regravado na mem´

  • ria n˜

ao vol´ atil) halt

Wellington Baltazar de Souza Fraquezas no Cart˜ ao MIFARE Classic

slide-11
SLIDE 11

Introdu¸ c˜ ao Pesquisa Finaliza¸ c˜ ao Fraquezas Ataques

Cart˜ ao MIFARE

Problemas Problemas de seguran¸ ca j´ a relatados (mais adiante); Diversas aplica¸ c˜

  • es importantes utilizam o MIFARE Classic, e

75% delas utilizam as chaves de trasnporte default presentes na documenta¸ c˜ ao [Grunwald, Lukas, 2007], busque no Google por A0A1A2A3A4A5 Por ser t˜ ao barato n˜ ao fornece a seguran¸ ca necess´ aria, pois a unidade custa menos que $1.00;

Wellington Baltazar de Souza Fraquezas no Cart˜ ao MIFARE Classic

slide-12
SLIDE 12

Introdu¸ c˜ ao Pesquisa Finaliza¸ c˜ ao Fraquezas Ataques

Engenharia reversa CRYPTO1 (´

  • tica) [Nohl, Pl¨
  • tz, 2007]

Wellington Baltazar de Souza Fraquezas no Cart˜ ao MIFARE Classic

slide-13
SLIDE 13

Introdu¸ c˜ ao Pesquisa Finaliza¸ c˜ ao Fraquezas Ataques

Engenharia reversa CRYPTO1 (l´

  • gica)

[Garcia, Gans, Muijrers, Verdult, Schreur, Jacobs, 2008]

Ghost Device

Wellington Baltazar de Souza Fraquezas no Cart˜ ao MIFARE Classic

slide-14
SLIDE 14

Introdu¸ c˜ ao Pesquisa Finaliza¸ c˜ ao Fraquezas Ataques

Engenharia reversa CRYPTO1 (l´

  • gica)

[Garcia, Gans, Muijrers, Verdult, Schreur, Jacobs, 2008]

Proxmark III

Wellington Baltazar de Souza Fraquezas no Cart˜ ao MIFARE Classic

slide-15
SLIDE 15

Introdu¸ c˜ ao Pesquisa Finaliza¸ c˜ ao Fraquezas Ataques

Hist´

  • rico

Linha do Tempo Dez-2007 - Engenharia reversa parcial da CRYPTO1, por Nohl e Pl¨

  • tz

Mar-2008 - Engenharia revesa completa da cifra CRYPTO1 por equipe da Radboud University (Holanda) Jun-2008 - NXP tenta evitar atrav´ es da justi¸ ca a publica¸ c˜ ao ”irrespons´ avel” Jul-2008 - Os ju´ ızes rejeitam a proibi¸ c˜ ao, com base na liberdade de express˜ ao Out-2008 - Radboud University realiza a publica¸ c˜ ao cient´ ıfica e libera biblioteca para CRYPTO1 sob c´

  • digo aberto

Wellington Baltazar de Souza Frauezas no cart˜ ao MIFARE Classic

slide-16
SLIDE 16

Introdu¸ c˜ ao Pesquisa Finaliza¸ c˜ ao Fraquezas Ataques

Engenharia reversa CRYPTO1 (l´

  • gica)

[Garcia, Gans, Muijrers, Verdult, Schreur, Jacobs, 2008]

Wellington Baltazar de Souza Fraquezas no Cart˜ ao MIFARE Classic

slide-17
SLIDE 17

Introdu¸ c˜ ao Pesquisa Finaliza¸ c˜ ao Fraquezas Ataques

Gerador Pseudo Aleat´

  • rio

LFSR - Linear Feedback Shift Register Gerador pseudo-aleat´

  • rio definido pelo polinˆ
  • mio

x16 + x14 + x13 + x11 + 1 Uma vez que os nonces s˜ ao de 32 bits e o LFSR possui 16 bits de estado, a primeira metade de nT determina a segunda metade (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 v´ alido de uma tag, sse nk ⊕ nk+2 ⊕ . . . ⊕ nk+16 = 0 para todo k ∈ {0, 1, . . . , 15}

Wellington Baltazar de Souza Fraquezas no Cart˜ ao MIFARE Classic

slide-18
SLIDE 18

Introdu¸ c˜ ao Pesquisa Finaliza¸ c˜ ao Fraquezas Ataques

Gerador Pseudo Aleat´

  • rio

LFSR - Linear Feedback Shift Register O leitor gera a mesma sequˆ encia de nonces depois de ligado O gerador pseudo-aleat´

  • rio na tag itera sobre o tempo

Nonces gerados na tag dependem somente do tempo que est˜ ao ”ligadas” Com um simulador de tags RFID, podemos enviar nonces arbitr´ arios para o leitor Nonces gerados podem ser previstos pelo tempo Experimentos com sess˜

  • es de autentica¸

c˜ ao com diversos uids e tag nonces, verificou-se que nT ⊕ uid eram uma constante

Wellington Baltazar de Souza Fraquezas no Cart˜ ao MIFARE Classic

slide-19
SLIDE 19

Introdu¸ c˜ ao Pesquisa Finaliza¸ c˜ ao Fraquezas Ataques

Diagrama de Inicializa¸ c˜ ao

Wellington Baltazar de Souza Fraquezas no Cart˜ ao MIFARE Classic

slide-20
SLIDE 20

Introdu¸ c˜ ao Pesquisa Finaliza¸ c˜ ao Fraquezas Ataques

Processo de Autentica¸ c˜ ao

Wellington Baltazar de Souza Fraquezas no Cart˜ ao MIFARE Classic

slide-21
SLIDE 21

Introdu¸ c˜ ao Pesquisa Finaliza¸ c˜ ao Fraquezas Ataques

Processo de Autentica¸ c˜ ao

Processo de Autentica¸ c˜ ao

Tag Reader Escolhe um nT e envia para o Reader ks1 ← cipher(K, uid, nT ), escolhe nR ks1 ← cipher(K, uid, nT ) ks2, ks3 . . . ← cipher(K, uid, nT , nR ) e envia para a Tag nR ⊕ ks1, suc2(nT ) ⊕ ks2 ks2, ks3 . . . ← cipher(K, uid, nT , nR ) envia para o Reader suc3(nT ) ⊕ ks3 aR ← suc2(nT ) Wellington Baltazar de Souza Fraquezas no Cart˜ ao MIFARE Classic

slide-22
SLIDE 22

Introdu¸ c˜ ao Pesquisa Finaliza¸ c˜ ao Fraquezas Ataques

Exemplo

Trace no Processo de Autentica¸ c˜ ao

Step Sender Hex Abstract 01 Reader 26 req type A 02 Tag 04 00 answer req 03 Reader 93 20 select 04 Tag c2 a8 2d f4 b3 uid, bcc 05 Reader 93 70 c2 a8 2d f4 b3 ba a3 select(uid) 06 Tag 08 b6 dd MIFARE 1K 07 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 Cart˜ ao MIFARE Classic

slide-23
SLIDE 23

Introdu¸ c˜ ao Pesquisa Finaliza¸ c˜ ao Fraquezas Ataques

Ataque por Timeout

Wellington Baltazar de Souza Fraquezas no Cart˜ ao MIFARE Classic

slide-24
SLIDE 24

Introdu¸ c˜ ao Pesquisa Finaliza¸ c˜ ao Fraquezas Ataques

Ataque por Timeout

Como Recuperar ks2, ks3

Ghost Reader Escolhe 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 ) ⊕ks2 Aguarda pelo timeout O Reader envia para a Tag halt ⊕ ks3 Wellington Baltazar de Souza Fraquezas no Cart˜ ao MIFARE Classic

slide-25
SLIDE 25

Introdu¸ c˜ ao Pesquisa Finaliza¸ c˜ ao 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 e

leia o nT (determinado pelo LFSR), (esta autentica¸ c˜ ao est´ a em uma sess˜ ao encriptada)

3 Calcule a ”distˆ

ancia de tempo”(n´ umero de shifts LFSR)

4 Calcule o valor nT e autentique em um bloco diferente Wellington Baltazar de Souza Fraquezas no Cart˜ ao MIFARE Classic

slide-26
SLIDE 26

Introdu¸ c˜ ao Pesquisa Finaliza¸ c˜ ao Fraquezas Ataques

Outros ataques Poss´ ıveis

Outros ataques a serem pesquisados Replay attack: espionar a comunica¸ c˜ ao 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 do resultado da compara¸ c˜ ao modificar o valor de aT Card only attak: ataques sem espionagem da comunica¸ c˜ ao

Wellington Baltazar de Souza Fraquezas no Cart˜ ao MIFARE Classic

slide-27
SLIDE 27

Introdu¸ c˜ ao Pesquisa Finaliza¸ c˜ ao Fraquezas Ataques

Outros Erros do MIFARE Classic

Outros Erros Chaves de 48-bits s˜ ao muito curtas para os dias de hoje O lado leitor aceita frames de tamanho inv´ alido O bit de paridade ´ e cifrado, mas o estado interno n˜ ao ocorrer´ a shift, assim, o primeiro bit do proximo byte ser´ a cifrado pelo mesmo keystream bit influˆ encia estat´ ıstica na cifra influˆ encia de bits n˜ ao ´ e balanceada

Wellington Baltazar de Souza Fraquezas no Cart˜ ao MIFARE Classic

slide-28
SLIDE 28

Introdu¸ c˜ ao Pesquisa Finaliza¸ c˜ ao Consequˆ encias Conclus˜ ao Referˆ encias Perguntas

Consequˆ encias

O que pode ocorrer? Quando todas as chaves s˜ ao descoberdas, o cart˜ ao pode ser facilmente clonado Podemos clonar o cart˜ ao quase por completo, exceto o bloco 0 do setor 0, que cont´ em 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 Cart˜ ao MIFARE Classic

slide-29
SLIDE 29

Introdu¸ c˜ ao Pesquisa Finaliza¸ c˜ ao Consequˆ encias Conclus˜ ao Referˆ encias Perguntas

Convivendo com os Problemas

O que pode ser feito? Para evitar clonagem criar uma whitelist com os UIDs permitidos, ou utilize o conte´ udo dos cart˜

  • es cifrado

Prote¸ c˜ ao contra clonagem n˜ ao impede a restaura¸ c˜ ao de um dump do cart˜ ao contendo saldo (creditos) anterior

Wellington Baltazar de Souza Fraquezas no Cart˜ ao MIFARE Classic

slide-30
SLIDE 30

Introdu¸ c˜ ao Pesquisa Finaliza¸ c˜ ao Consequˆ encias Conclus˜ ao Referˆ encias Perguntas

Convivendo com os Problemas

Evitar a restaura¸ c˜ ao de saldo no cart˜ ao Utilizar cart˜

  • es mais seguros (MIFARE Plus/DESFire, ou
  • utro)

Utilizar a prote¸ c˜ ao do contador de decremento (possui valor inicial 0xffffffff). As chaves A/B possui permiss˜ ao apenas para decrementar o contador de decremento, a cada altera¸ c˜ ao no conte´ udo do cart˜ ao gerar um hash/assinatura dos dados do cart˜ ao + contador Utilizar um sistema de BackOffice para controlar o cadastro do usu´ ario associado ao UID, o ultimo saldo, contador de decremento, etc. Verifica¸ c˜ ao online da validade do cart˜ ao

Wellington Baltazar de Souza Fraquezas no Cart˜ ao MIFARE Classic

slide-31
SLIDE 31

Introdu¸ c˜ ao Pesquisa Finaliza¸ c˜ ao Consequˆ encias Conclus˜ ao Referˆ encias Perguntas

Conclus˜ ao

Tudo isso diz que ... O uso de cart˜

  • es MIFARE Classic d´

a falsa sensa¸ c˜ ao de seguran¸ ca, pois ele est´ a quebrado de fato A seguran¸ ca por obscuridade realmente n˜ ao funciona, o tempo tem mostrado que algoritmos e protocolos abertos funcionam melhor

Wellington Baltazar de Souza Fraquezas no Cart˜ ao MIFARE Classic

slide-32
SLIDE 32

Introdu¸ c˜ ao Pesquisa Finaliza¸ c˜ ao Consequˆ encias Conclus˜ ao Referˆ encias Perguntas

Referˆ encias

COURTOIS, Nicolas T. The Dark Side of Security by Obscurity and Cloning MiFare Classic Rail and Building Passes Anywhere, Anytime LUPT´ AK, Ing. Pavol Mifare Classic analysis in Czech Republic / Slovakia GANS, HOEPMAN, GARCIA, Gerhard de Konning, Jaap-Henk, Flavio D., 2008 A Practical Attack on the MIFARE Classic

Wellington Baltazar de Souza Fraquezas no Cart˜ ao MIFARE Classic

slide-33
SLIDE 33

Introdu¸ c˜ ao Pesquisa Finaliza¸ c˜ ao Consequˆ encias Conclus˜ ao Referˆ encias Perguntas

Referˆ encias

GARCIA, GANS, MUIJRERS, VERDULT, SCHREUR, JACOBS, Flavio D., Gerhard de Konning, Ruben, Peter, Roel, Ronny Wichers, Bart, 2008 Dismantling MIFARE Classic VERDULT, Roel, 2008 Security analysis of RFID tags (master tesis) NOHL, PLOTZ, Karsten, Henryk, 2007 Mifare: Little Security, Despite Obscurity GRUNWALD, Lukas, 2007 New Attacks against RFID-Systems CHENG, Chen-Mou, 2010 MIFARE Classic: Completely Broken

Wellington Baltazar de Souza Fraquezas no Cart˜ ao MIFARE Classic

slide-34
SLIDE 34

Introdu¸ c˜ ao Pesquisa Finaliza¸ c˜ ao Consequˆ encias Conclus˜ ao Referˆ encias Perguntas

Perguntas

Wellington Baltazar de Souza Fraquezas no Cart˜ ao MIFARE Classic