TODOPIC
Misceláneas - Interés General => Uso y aplicaciones de los PIC / Curiosidades electrónicas => Mensaje iniciado por: aitopes en 12 de Marzo de 2008, 15:24:15
-
Un grupo de científicos de la Universidad de Virginia dice haber encontrado la manera de romper la codificación de las tarjetas de seguridad en cuestión de segundos, pudiendo clonar de forma rápida y barata las tarjetas utilizadas para asegurar oficinas y para el cobro de mercancías en tránsito.
El ataque funciona contra la Mifare Classic (http://en.wikipedia.org/wiki/MIFARE), una tarjeta inalámbrica fabricada por NXP Semiconductors. Esta tarjeta es utilizada por operarios de tránsito en Londres, Boston y Holanda y por organizaciones tanto públicas como privadas que necesitan controlar el acceso a áreas privadas. NXP dice haber vendido entre mil y dos mil millones de estas tarjetas.
El uso de los dispositivos inalámbricos se está extendiendo cada vez más debido a su abaratamiento (unos 50 céntimos la pieza) y las ventajas que ofrece la tecnología de identificación de radiofrecuencia (RFID). En concreto, estas tarjetas no necesitan ponerse en contacto con los lectores mecánicos cuando son utilizadas por las agencias de tránsito, lo que reduce los costes y las hace más efectivas para los usuarios.
El equipo de la Universidad consiguió crackear la codificación diseccionando su chip y examinándolo con un microscopio. Después, fotografiaron varios niveles de su circuito y utilizaron software de reconocimiento óptico para producir una representación 3D de todo el chip. Al examinar las puertas en detalle, pudieron deducir el algoritmo propietario, al que NXP llama Crypto 1.
-
Con la pasta que costarán esos equipos, una lástima que la Universidad los dedique a crackear, en lugar de a crear.
-
Lo que está claro es que resulta MUY dificil hacer algo inviolable.... :(
Saludos!
-
Lo que está claro es que resulta MUY dificil hacer algo inviolable.... :(
Saludos!
¿Qué tal la encriptación de 128 bits SSL cuando compras cosas por internet? Esa sí está difícil :D
-
Manolo, dentro de lo 'malo' del crackeo hay una pequeña luz... y no es otra que hacer sistemas más seguros. Supongo que el echo de que el sistema haya sido destripado obligará a NXP a crear un sistema más seguro. En este caso ha sido una universidad (se entiende que no harán nada dañino con la información) imagina que el crackeo hubiera sido realizado por el 'lado oscuro' ...
-
Sí, supongo que tienes razón, Jaime.
-
Mas informacion, recogida del Boletín del Taller de Criptografía de Arturo Quirantes (sitio muy interesante (http://www.cripto.es), por cierto):
=----------------------------------------------------------------------=
Criptoanalizando el bonobús
=----------------------------------------------------------------------=
La tecnología de identificación por radiofrecuencia (RFID) está
cada vez más extendida en nuestras vidas. Sus utilidades van desde
controles de acceso a micropagos. Puesto que no requiere contacto
físico, son muy cómodas como pases de viaje: bonos de autobús, metro,
etc. Yo ni siquiera tengo que sacarla de la cartera. Me limito a acercar
la cartera al lector, éste pita y listo. En ese sentido, resulta algo
muy útil para el usuario. También tiene sus problemas. Uno de ellos es
el de la privacidad: si la tarjeta está ligada de algún modo a la
identidad de un usuario, puede ser usada como dispositivo de rastreo.
Los servicios de inteligencia británicos ya se están poniendo las botas
con la información obtenida de las tarjetas RFID de transporte del Metro
de Londres. Para más información, el lector puede ver por ejemplo:
http://www.theregister.co.uk/2008/03/17/spooks_want_oyster/
Aunque los problemas de privacidad son muy importantes y deben
ser resueltos satisfactoriamente (para los usuarios), no vamos a hablar
aquí de ellos. Nos centraremos, en su lugar, en la vertiente puramente
criptográfica. A nadie se le escapa que, si pudiéramos alterar el
contenido de la tarjeta, podríamos tener acceso gratuito al metro. A fin
de cuentas, lo que hace el lector es interrogar a la tarjeta y obtener
una respuesta. Si dicha respuesta pudiese ser alterada para dar algo del
tipo "esta tarjeta está cargada a tope", tenemos bus gratis. O bien,
podríamos entrar en un edificio con control de acceso haciéndonos pasar
por otra persona. O quizá podríamos ver Digital Plus por la cara.
En todos estos casos, la solución es la criptografía. Y cada
aplicación requiere un grado diferente de fortaleza. Digital Plus, por
ejemplo, protege sus sistemas con fuertes algoritmos criptográficos, y
en la actualidad no es posible verlo sin pagar (hasta Diciembre pasado,
se vendían decodificadores "trucados", pero el sistema de cifrado fue
recientemente modificado). Por otro lado, los pagos que intervienen en
un viaje en transporte público son pequeños, lo que en principio nos
hace pensar que un sistema de cifrado de baja gama basta. El lector de
este Boletín será probablemente de esos que no se baja de AES ni atado,
pero hay que tener en cuenta que las tarjetas RFID tienen unos
requisitos computacionales y de memoria muy estrictos.
Uno de los fabricantes de tarjetas RFID es NXP Semiconductors,
empresa fundad por Philips, que fabrica tarjetas RFID Mifare. De hecho,
según ellos, en 2000 sus tarjetas Mifare representaban el 85% del
mercado de "tarjetas inteligentes sin contacto" (por lo visto, las
siglas RFID tienen malas connotaciones por sus problemas de privacidad).
Bueno, han pasado ocho años, pero seguro que siguen siendo unos grandes
vendedores de tarjetas. He leído estimaciones que daban cifras de entre
mil y dos mil millones de tarjetas usadas en muchos lugares del mundo.
Unos peces gordos, vamos. Para proteger sus tarjetas, los de NXP han
echado mano de dos técnicas muy habituales. Técnica uno: inventarse un
algoritmo criptográfico propio. Técnica dos: insertar el algoritmo en un
chip invulnerable y confiar en "la seguridad mediante oscuridad". Ambas
técnicas son muy utilizadas ... y resultan altamente peligrosas.
Para demostrarlo, Karsten Nohl, doctorando de la Universidad de
Virginia, se puso manos a la obra. Sus resultados, obtenidos en
colaboración con el investigador alemán Henryk Plötz, fueron presentados
el pasado diciembre en el famoso Chaos Communications Congress, una
reunión de hackers alemanes. El proceso fue lento y laborioso, pero una
vez hecho, afirman que ahora basta con un portátil, un escáner y unos
pocos minutos para conseguir la clave criptográfica de una tarjeta
Mifare Classic y duplicarla. Las consecuencias pueden ser devastadoras,
como veremos.
Vamos a examinar el proceso. Lo primero que hicieron Nohy y
Plötz fue tomar una tarjeta e intentar hackear el chip, con el fin de
obtener el algoritmo criptográfico. Eso no es tarea fácil, pero es en
principio posible. Usando un microscopio electrónico, obtuvieron la
configuración básica del chip: un conjunto de 10.000 bloques (cada uno
de los cuales podía ser una puerta lógica AND o una OR), distribuidos en
varias capas. Analizar los 10.000 bloques hubiera sido tarea de chinos,
pero los investigadores descubrieron un atajo. Al parecer esos 10.000
bloques fueron tomados de una librería que contenía tan sólo 70 tipos de
puertas lógicas. Luego buscaron las zonas criptográficamente importantes
del chip. Suena más fácil de lo que fue en realidad, pero el caso es que
tuvieron éxito: consiguieron reconstruir el algoritmo de cifrado, un
algoritmo propietario que la empresa denomina Crypto-1.
El primer paso estaba dado. En palabras de Nohl, "puesto que la
seguridad de las tarjetas Mifare se basa en parte en mantener el
algoritmo en secreto, creemos que las tarjetas son demasiado débiles
para cualquier aplicación de seguridad puesto que el algoritmo puede
hallarse sin mucho esfuerzo."
¿En qué consiste el algoritmo, exactamente? Correremos un tupido
velo aquí. No tiene muchos elementos (un registro LFSR, un generador de
números aleatorios, No vamos a meternos en detalles técnicos (ver
http://www.cs.virginia.edu/~kn5f/pdf/Mifare.Cryptanalysis.pdf para más
información). Aquí nos quedaremos con el tamaño de la clave secreta: 48
bits. En principio, conocido el algoritmo podría lanzarse un ataque de
fuerza bruta sin más que probar las 2^28 posibles claves. Eso son casi
trescientos billones de combinaciones, lo que quizá ser mucha molestia
para una tarjeta bonobús. Pero Nohl y Plötz pronto descubrieron una
debilidad en el algoritmo de cifrado. Encontraron que el generador de
números aleatorio del algoritmo era fácil de manipular. Tanto, que
consiguieron forzarlo a que produjese siempre el mismo número
"aleatorio". Más aún, enviando a la tarjeta patrones de bits
cuidadosamente seleccionados y examinando las respuestas de ésta, se
pueden obtener más de la mitad de los bits de la clave secreta. Lo
combinamos con un examen exhaustivo ("fuerza bruta") del resto de bits,
y ya tenemos la clave secreta. !Tachán!
Como resultado del ataque de Nohl y Plötz, bastan unos minutos,
diez como mucho, para obtener la clave secreta y "crackear" la tarjeta.
¿Qué dice la empresa fabricante? Casi podemos imaginarlo, pues hemos
visto reacciones parecidas de otras empresas en el pasado. Básicamente
vienen a decir: a) no hay para tanto, ya que las tarjetas Mifare Classic
son un producto de baja gama, y no fueron diseñadas para entornos de
alta seguridad como pasaportes o sistemas bancarios; b) sólo atacaron
una de las muchas capas de seguridad que hay en el sistema; c) un ataque
sería muy costoso y llevaría horas crackear una sola tarjeta, y los
atacantes necesitarían meses para poder bajar los costos y el tiempo
reqierido hasta el punto en que les fuera provechoso.
Por supuesto, eso no es cierto. Ciertamente, las tarjetas Mifare
Classic son de baja gama. Lo que precisamente Nohl mostró al mundo en
Marzo es que bastan recursos muy modestos y unos pocos minutos de
tiempo. Y al parecer removió un nido de avispas. El descubrimiento de
Nohl fue presentado el 8 de Marzo. El día 10, NXP presentó al mundo su
nueva tarjeta llamada Mifare Plus, que incorpora el algoritmo de cifrado
AES. No es sorprendente, sobre todo teniendo en cuenta que en Febrero el
propio gobierno holandés hizo una advertencia al respecto. El propio
Parlamento de ese país convocó a algunos de los investigadores para dar
testimonio. No es de extrañar, ya que Holanda ha invertido mentre mil y
dos mil millones de euros en el sistema de tarjetas RFID para su red de
transporte público. También es usado en el transporte público de
ciudades como Boston y Londres (las famosas "oyster cards").
Es decir, estamos hablando de un sistema enormemente caro. El
ataque contra una tarjeta solamente no produciría graves perjuicios, y
probablemente por eso no se preocuparon hasta ahora de mejorar las
tarjetas tipo Miface Classic. ¿Para qué usar una caja fuerte si sólo vas
a guardar calderilla?, pensarán los fabricantes. Pero si cualquiera de
las más de 2.000 millones de tarjetas Miface Classic puede ser clonada,
de forma sencilla y a bajo coste, estamos hablando de cifras enormes.
Con algo de equipamiento y un par de programas (que pronto aparecerán en
Internet), cualquier puede comprar una tarjeta legítima, clonarla una y
mil veces, y a disfrutar de viajes gratis. O aparecerá un mercado negro
de tarjetas clonadas a mitad de precio. De otras aplicaciones en las que
se usen ese tipo de tarjetas, como control de accesos, mejor ni
hablamos. Todo por no hacer caso de una de las advertencias de Schneier:
¿cuándo aprenderá la gente a no inventar su propia cripto?
Propongo una apuesta: ¿cuánto tiempo pasará hasta que el
problema derive en un desastre económico? Es decir, ¿cuánto tardarán los
responsables de comprar estos sistemas en tragarse el orgullo y
reemplazar, a un coste enorme, todo el sistema? Si se trata de
políticos, imagino que nunca, así que pronto conviviremos con tarjetas
clonadas y viajes "by the face", a costa de subir los precios para que
el usuario honrado compense las pérdidas. La única solución a corto
plazo sería llenar los autobuses y los metros de inspectores. Ahora que
lo pienso, desde que cambiaron los bonobuses de mi ciudad a tarjetas
RFID, veo en los autobuses más inspectores que nunca. Qué curioso, ¿no?
-
Manolo, dentro de lo 'malo' del crackeo hay una pequeña luz... y no es otra que hacer sistemas más seguros. Supongo que el echo de que el sistema haya sido destripado obligará a NXP a crear un sistema más seguro. En este caso ha sido una universidad (se entiende que no harán nada dañino con la información) imagina que el crackeo hubiera sido realizado por el 'lado oscuro' ...
Así es, lo mismo ocurre con el proyecto http://www.distributed.net/des/ donde demuestran que con una supercomputadora se pueden violar ciertos estándares de seguridad por la fuerza bruta, lo cual obliga a hacerlos cada vez más seguros.
Me parece positivo que analicen la seguridad de ciertos algoritmos. En especial los dispositivos como el que comentan, son también usados en la argentina. Donde yo trabajaba los usabamos cotidianamente.
Es un proyecto a futuro reemplazar nuestro dni, pasaporte, tarjeta de crédito, débito, etc, todos por una única tarjeta de éste tipo. En ese sentido, es importante saber que son realmente algoritmos MUY seguros los que se usen... e investigar sobre el tema también me parece muy positivo.
El "crackeo" existe como tal porque el algoritmo o método es privado y por ende no público. Los métodos más seguros son los que aún siendo públicos se sabe que se necesita un poder de cálculo tremendo para poderlos desbaratar... siendo público y abierto se puede dotar del aporte de expertos de todo el mundo. Es tal vez instintivo pensar que por hacer algún algoritmo público se esté perdiendo seguridad pero los hechos demuestran que no es así. Hay muchos unixes de código abierto y no por ello son fáciles de atacar. Está windows que no es abierto y los grandes pansazos de violación de seguridad se los han hecho a éste sistema operativo (y no solo porque estén más distribuidos).
Creo que es algo positivo y nos hace abrir los ojos. No quisiera en un futuro cercano tener un clon mío comprando cosas o que ande reconociendo hijos por allí y que luego yo deba hacer frente al problema :mrgreen:
-
Hay que distinguir entre el que crackea....
A) Para demostrar que el sistema es debil
B) Para demostrarse a su demacrada autoestima que puede crear estragos sin mirar a la cara a quien se los hace
C) Junto con B, para hacer la mayor trastada posible y si puede, enriquecerse.
Desde mi punto de vista, hacer un algoritmo publico ayudaria mucho a mejorarlo, si... pero tambien ayudaria a que los "malotes" le encontraran las debilidades. Ya sabeis que en este mundo hay de todo, como en botica.
-
hola amigos
interesante, muy interesante, esta noticia.
la verdad si han conseguido crakear una seguridad de un elemento que se suponia seguro, una de dos:
el que lo diseño no evaluo todas las posibilades (bien por falta de presupuesto o bien por desconocimiento o bien por falta de plazos de tiempo) o nadie antes , se proposo el reto.
Crakear, o hakear como alguno lo llaman requiere en muchos casos tener un completisimo conocimiento de lo que queremos parchear, y como lo podemos hacer, eso implica saber, como esta construido, como funciona, y que pautas han seguido los diseñadores y el porque lo han echo asi, es como hacer un sudoku de alto nivel.
hay que ser en muchas ocasiones, un virtuosos, o aburrirse mucho, jejeje.
De todas formas como dice el compañero, si hubiera sido de domino o conocimiento publico seguro que lo hubieran descubierto antes.
Pero ya sabemos como son las grandes Empresas, Creen que algo es seguro, porque lo conocen ellos, y unos pocos, si lo roban o lo quieren plagiar , no se le puede aplicar ingenieria inversa porque lo proteje la ley, pero que pasa si lo roba alguien que si que lo conoce y le sabe aplicar la ingeneria inversa, y lo de la ley se la trae.
Lo malo es que las cosas que son muy importantes siempre las protegen asi, esto siempre ha pasado y seguira pasando.
No recuerdo quien dijo, que una cosa de dominio de unos pocos y sea muy cara, y nos digan que es buena, no significa que sea buena (fiable).
Simpre habra un alguien que lo demostrara.
un saludo
-
hola a todos.
con respecto a las tarjetas mifare yo trabaje un año imedio con ellas y es inposible crackearlas puesto que cada tarjeta tiene llaves o key para entrar a algun sector, y cada llave es de 6 B Y T E S.
las tarjetas virgenes tienes por defecto las llaves A=FFFFFFFFFFFFFFFF B=FFFFFFFFFFFFFFFF en hexa
y cada una llave A o B tienen su configuracion.. sea lectura, escritura, incremento, decremento..... etc.
pero hay una opcion que la e probado......... y funciona, sirve para sacar las llaves o key :-/
-
Hola amigo!
6 Bytes permiten 2^48 combinaciones. Es un numero realmente impresionante!!! Pero no significa que sea ni de lejos inquebrable.
Se han violado sistemas RSA de longitud hasta 512 (que no es solo 10 o 12 veces mas "duro" que una clave de 48 byes....RSA 512 tiene 2^512 combinaciones), por lo que 48 bits (o 6 bytes) es un "proyecto de fin de semana lluvioso" para un hacker de verdad :)
Si un ordenador "grande" puede probar (por el metodo de "fuerza bruta") un giga-combinaciones por segundo (y creeme, puede probar varios ordenes de magnitud mas que eso), significa que puede descartar 2^24 combinaciones por segundo. En en 2^24 segundos (24 = 48 - 24) deberia poder violar la llave.
2^24 segundos son unos 160 dias.
-
PD: Estadisticamente, deberia resolverse, en promedio, en 80 dias. Y por supuesto, un superodenador real lo haria en una tarde... :)
Saludos!
-
sip claro que nada es inposible, pero para un usuario comun y corriente es inposible....
yo e sacado las llaves conectando una max 232 al lector grabador de tarjetas mifare al momento de grabar el mappin a la tarjeta.
incluso aca en chile cualquier persona que tenga un sistema de carga de tarjetas mifare puede conectarle una max 232 y sacarle las llaves a la tarjeta :) :-/
adios saludos
-
jejeje la respuesta de and_nitro fue la mas COOL usar el cerebro, no la fuerza bruta :)
-
busquen en google PROXMARK III
-
jejejejeje ya pedi el proxmark3, compilado el soft esperando el paqueteeeeeeee
ole ole a leer protocolos rfid :-/ :-/ :-/ :-/ :-/ :-/
-
Hola a todos.
Hasta ahora he estado trabajando con lectores rfid de 125KHz, pero hace unas semanas he dado el salto a los lectores Mifare.
Estoy tratando de leer el UID de la tarjeta, pero no soy capaz de obtener respuesta.
Lo hago desde un 16F628A y en pic basic de esta manera:
SEROUT2 Tx_rfid,baud,[$BA,$02,$01,$B9] ´Según el fabricante debe mandarse esta trama: BA0201B9
´BA:encabezado
´02:longitud (en bytes)
´01: comando (select card)
´B9: checksum
Luego quiero almacenar en la variable Buf la respuesta del lector con:
SERIN2 RX_rfid,baud, [STR Buf\10]
Pero no obtengo nada.
¿alguna sugerencia amigos?
Gracias de antemano.
Santi