Upload
wbsouza5928
View
84
Download
0
Embed Size (px)
Citation preview
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
Introducao Pesquisa Finalizacao
Agenda
1 IntroducaoAplicacoesCartoes sem ContatoO Cartao MIFARE
2 PesquisaFraquezasAtaques
3 FinalizacaoConsequenciasConclusaoReferenciasPerguntas
Wellington Baltazar de Souza Fraquezas no Cartao MIFARE Classic
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
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
Introducao Pesquisa Finalizacao Aplicacoes Cartoes sem Contato O Cartao MIFARE
Cartoes sem Contato
Wellington Baltazar de Souza Fraquezas no Cartao MIFARE Classic
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
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
Introducao Pesquisa Finalizacao Aplicacoes Cartoes sem Contato O Cartao MIFARE
Cartao MIFARE
Wellington Baltazar de Souza Fraquezas no Cartao MIFARE Classic
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
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
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
Introducao Pesquisa Finalizacao Fraquezas Ataques
Engenharia reversa CRYPTO1 (otica) [Nohl, Plotz, 2007]
Wellington Baltazar de Souza Fraquezas no Cartao MIFARE Classic
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
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
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
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
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
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
Introducao Pesquisa Finalizacao Fraquezas Ataques
Diagrama de Inicializacao
Wellington Baltazar de Souza Fraquezas no Cartao MIFARE Classic
Introducao Pesquisa Finalizacao Fraquezas Ataques
Processo de Autenticacao
Wellington Baltazar de Souza Fraquezas no Cartao MIFARE Classic
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
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
Introducao Pesquisa Finalizacao Fraquezas Ataques
Ataque por Timeout
Wellington Baltazar de Souza Fraquezas no Cartao MIFARE Classic
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
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
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
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
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
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
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
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
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
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
Introducao Pesquisa Finalizacao Consequencias Conclusao Referencias Perguntas
Perguntas
Wellington Baltazar de Souza Fraquezas no Cartao MIFARE Classic