ARQUITECTURA DE SEGURIDAD EN LA IMPLEMENTACIÓN DE SOLUCIONES QUE UTILICEN TARJETAS INTELIGENTES SIN CONTACTO
LEONEL MARIN RAMIREZ
UNIVERSIDAD DE SAN BUENAVENTURA SECCIONAL MEDELLÍN FACULTAD DE INGENIERÍAS
ESPECIALIZACIÓN EN SEGURIDAD INFORMÁTICA MEDELLÍN
pág. 1 ARQUITECTURA DE SEGURIDAD EN LA IMPLEMENTACIÓN DE SOLUCIONES QUE UTILICEN TARJETAS INTELIGENTES SIN CONTACTO
LEONEL MARIN RAMIREZ
Anteproyecto presentado para optar al título de Especialista en Seguridad informática
Asesor
Manuel Humberto Santander Peláez
UNIVERSIDAD DE SAN BUENAVENTURA SECCIONAL MEDELLÍN FACULTAD DE INGENIERÍAS
ESPECIALIZACIÓN EN SEGURIDAD INFORMÁTICA MEDELLIN
pág. 2 CONTENIDO
1. NOMBRE DEL PROYECTO ... 3
2. DESCRIPCIÓN DEL PROBLEMA: ... 3
3. OBJETIVOS ... 6 3.1. Objetivo General: ... 6 3.2. Objetivos Específicos:... 6 4. JUSTIFICACIÓN ... 7 5. MARCO TEÓRICO:... 11 5.1. Tecnología RFID ... 11
5.2. ESTÁNDAR ISO 14443A ... 14
5.3. Estándar PC/SC (Personal Computer/Smart Card) ... 19
6. DESCRIPCION DEL PROYECTO ... 22
6.1. Mifare Application Directory MAD ... 23
6.2. Mifare CLASSIC... 24
6.3. Mifare PLUS ... 25
6.4. Diversificación de llaves ... 27
6.5. Lectores RFID ... 28
7. ARQUITECTURA CON SEGURIDAD IDEAL ... 30
7.1. Modelo arquitectura de seguridad apropiada para las tarjetas Mifare CLASSIC... 32
7.2. Modelo arquitectura de seguridad apropiada para las tarjetas Mifare PLUS. 35 8. REFERENCIAS BIBLIOGRÁFICAS ... 39
LISTA DE TABLAS ... 41
pág. 3 ARQUITECTURA DE SEGURIDAD EN LA IMPLEMENTACIÓN DE SOLUCIONES QUE UTILICEN TARJETAS INTELIGENTES SIN CONTACTO
1. NOMBRE DEL PROYECTO
Arquitectura de seguridad en la implementación de soluciones que utilicen Tarjetas inteligentes sin contacto
2. DESCRIPCIÓN DEL PROBLEMA:
Actualmente las soluciones que proporciona el mercado respecto a las aplicaciones que implementan Tarjetas Inteligentes sin Contacto (TISC), para diversos servicios como son el transporte público, fidelización, control de acceso a edificios públicos y privados, servicios públicos prepago, entre otros, las ofrecen básicamente con tarjetas cuya seguridad se basa en el algoritmo Crypto1, el cual es propietario de NXP semiconductores y cuya confiabilidad ha sido ampliamente analizada y estudiada por diversos autores, evidenciándose las debilidades que este algoritmo presenta.
Además existen diferentes amenazas y ataques que pueden ser realizados a las aplicaciones que se implementen utilizando TISC [1], tal como se describe a continuación en las tablas No 1 y No 2:
pág. 4
AMENAZAS
Suplantación de identidad
Esto ocurre cuando un atacante se hace pasar por un usuario autorizado del sistema y es capaz de obtener acceso a algunos servicios.
Alterar el contenido de la
tarjeta
Un atacante puede modificar, agregar, eliminar o reordenar datos en una tarjeta.
Divulgación de información
El contenido de la tarjeta es leída por una persona no autorizada. O bien el atacante puede obtener acceso al contenido de la tarjeta mediante el uso de un lector fraudulento o el contenido de la tarjeta es espiado durante la comunicación entre un lector y la tarjeta sin el conocimiento del propietario de la tarjeta
Denegación de servicio
Denegación de servicio se produce cuando una tarjeta válida no puede funcionar adecuadamente para prestar el servicio previsto, por ejemplo, listas negras de una tarjeta legítima, el bloqueo de la tarjeta, etc.
Tabla No 1. Tipos de amenazas en las tarjetas Mifare
ATAQUES
Espiar comunicación
Espiar la comunicación entre una tarjeta y un lector legítimo.
Espiar y perturbar una comunicación
Espiar y perturbar una comunicación entre una tarjeta y un lector legítimo alterando el campo de radio, por lo que una comunicación puede no ser completada. Leer o modificar
contenido de una
Leer o modificar contenido de una tarjeta legítima, utilizando un dispositivo de ataque independiente.
pág. 5 tarjeta
Clonación de una tarjeta
Se copia el contenido de una tarjeta legítima en una tarjeta en blanco.
Emulador de tarjeta El contenido de una tarjeta legítima puede ser copiado en un emulador de tarjeta. Un emulador de tarjeta puede emular la tarjeta legítima de manera completa, incluyendo el UID y simular comportamientos de una tarjeta legítima.
pág. 6 3. OBJETIVOS
3.1. Objetivo General:
- Definir un modelo de arquitectura de seguridad en la implementación de soluciones que utilicen TISC
3.2. Objetivos Específicos:
- Identificar los principales estándares de la industria relacionados con el proyecto.
- Definir un modelo arquitectura de seguridad apropiada para las tarjetas Mifare Classic.
- Definir un modelo arquitectura de seguridad apropiada para las tarjetas Mifare Plus.
pág. 7 4. JUSTIFICACIÓN
En la actualidad, uno de los principales activos que posee una organización, sea cual fuere su tamaño, es la información, la cual actúa como eje fundamental del negocio y sobre la cual se fundamentan sus decisiones. Es así como la protección de su integridad, confidencialidad y confiabilidad es fundamental, más aún hoy en día donde los avances tecnológicos permiten el desarrollo de herramientas y modelos de ataques cada vez más automatizados y eficaces y que requieren de menos conocimientos por parte del atacante.
Estos mismos avances tecnológicos exigen a la par, que los procesos avancen y se desarrollen a una mayor velocidad, motivo por el cual servicios como el transporte público, los controles de acceso a edificaciones, campañas de fidelización, servicios públicos prepago, entre otros, requieren emplear tecnologías que permitan esta rapidez y confiabilidad en sus transacciones, características ofrecidas por las tarjetas inteligentes sin contacto.
Sin embargo, una implementación sin rigurosidad técnica en la definición de las características de seguridad que se requiere, implicaría los siguientes riesgos a los activos de información que estas contienen y procesan, entendiendo por riesgos como la posibilidad de que una amenaza se aproveche de las vulnerabilidades de un activo causando un daño a la organización:
pág. 8
RIESGO AMENAZA DESCRIPCIÓN
Perdida de Confidencialidad de la información Suplantación de identidad
Esto ocurre cuando un atacante se hace pasar por un usuario autorizado del sistema y es capaz de obtener acceso a algunos servicios. Perdida de integridad de la información Alterar el contenido de la tarjeta
Un atacante puede modificar, agregar, eliminar o reordenar datos en una tarjeta.
Perdida de Confidencialidad de la información Divulgación de información
El contenido de la tarjeta es leída por una persona no autorizada. O bien el atacante puede obtener acceso al contenido de la tarjeta mediante el uso de un lector fraudulento o el contenido de la tarjeta es espiado durante la comunicación entre un lector y la tarjeta sin el conocimiento del propietario de la tarjeta Perdida de Disponibilidad de la información Denegación de servicio
Denegación de servicio se produce cuando una tarjeta válida no puede funcionar adecuadamente para prestar el servicio previsto, por ejemplo, listas negras de una tarjeta legítima, el bloqueo de la tarjeta, etc.
Tabla No 3. Tipos de riesgos en las tarjetas Mifare
Ahora bien, para realizar una adecuada definición de los requerimientos de seguridad, de tal manera que se logre minimizar los riesgos descritos anteriormente, se debe realizar una correcta identificación de los activos de
pág. 9 información asociados a la tarjeta. Para ello es importante considerar los siguientes atributos al momento de realizar dicho inventario:
Identificación de datos personales: Identificar si contiene datos personales, los cuales son piezas de información vinculada a una o varias personas determinadas o determinables o que puedan asociarse con una persona natural o jurídica. Los datos personales pueden ser por ejemplo: nombres, número de cédula, NIT de una empresa, número telefónico, dirección de un individuo, etc. Los datos personales pueden ser: públicos, semiprivados o privados.
Derechos de acceso a la información: Permite determinar qué usuarios tienen permisos de acceso a los activos de información y los derechos que tienen sobre los mismos. Los usuarios son quienes generan, obtienen, transforman, conservan, eliminan o utilizan el activo de información.
Valoración del activo de información: identificar el valor que representa el activo de información para la organización, mediante el establecimiento del impacto que tiene la pérdida de las características del activo, en la empresa. Las características definidas para los activos de información son:
Confidencialidad: Característica que indica que el activo sólo sea
accedido por el personal, procesos o entidades que se encuentran autorizadas y con las autorizaciones adecuadas.
Integridad: Característica que protege la precisión, calidad,
veracidad, imparcialidad y completitud del activo.
Disponibilidad: Característica que indica que el activo sea oportuno,
es decir que pueda ser consultado y usado por la persona, entidad o proceso cuando lo requiera.
pág. 10
Trazabilidad: Características de los activos de información que
permite establecer su ubicación y estado a través de los procesos de la organización o grupo empresarial.
Al momento de realizar el inventario de activos de información, se deben considerar cada una de las piezas de información almacenada en cada uno de los sectores de la tarjeta, así como la misma Tarjeta Inteligente sin Contacto.
pág. 11 5. MARCO TEÓRICO:
5.1. Tecnología RFID
En los últimos años se ha hecho muy popular la implementación de tecnología de identificación por radiofrecuencia RFID (Radio-frequency identification) en aplicaciones como control de acceso, transporte, logística, bibliotecas, fidelización, etc., ya que RFID permite el acceso a los datos de manera inalámbrica empleando para ello tags de radiofrecuencia (en adelante llamados PICC por sus siglas en inglés Proximity Integrated Circuit Cards) [2]. En general un sistema RFID como el que se muestra en la figura No 1 está compuesto básicamente por un tag RFID, un lector RFID y un Host con sus correspondientes interfaces.
Figura No 1. Estructura Sistema RFID
El modo de funcionamiento de los sistemas RFID es simple. La etiqueta RFID, que contiene los datos de identificación del objeto al que se encuentra adherido, genera una señal de radiofrecuencia con dichos datos. Esta señal puede ser captada por un lector RFID, el cual se
pág. 12 encarga de leer la información y pasarla en formato digital a la aplicación específica que se encuentra en el host.
El tag RFID posee una memoria interna cuya capacidad varía de acuerdo al modelo y puede ser de solo lectura o de lectura y escritura. Los tags RFID pueden ser activas, semipasivas o asistidos por batería o pasivos. Las etiquetas pasivas no requieren ninguna fuente de alimentación interna y los otros dos tipos necesitan alimentación,
típicamente unapilapequeña.
Las etiquetas pasivas no poseen alimentación eléctrica. La señal que les llega de los lectores induce una corriente eléctrica pequeña y suficiente para operar el circuito integrado CMOS de la etiqueta, de forma que puede generar y transmitir una respuesta. La mayoría de las etiquetas pasivas utiliza backscatter sobre la portadora recibida; esto es, la antena ha de estar diseñada para obtener la energía necesaria para funcionar a la vez que para transmitir la respuesta por backscatter. Esta respuesta puede ser cualquier tipo de información, no sólo un código identificador. Una etiqueta puede incluir memoria no volátil, posiblemente escribible (por ejemplo EEPROM).
En el presente documento se analizarán las características de seguridad de las tarjetas Mifare que contiene tags RFID pasivos y que cumplen con el estándar ISO 14443A, además son las más usadas en el mercado global y es la que se usa en las aplicaciones más representativas de Colombia, como son el Metro de Medellín, el Mio de Cali, Transmilenio de Bogotá y múltiples aplicaciones de control de acceso, fidelización y demás.
pág. 13 Las tarjetas Mifare se encuentran en diferentes presentaciones de acuerdo a la tabla No 4 [3], permitiendo diversas opciones de almacenamiento y seguridad principalmente:
Característica Mifare Ultralight Mifare Ultralight C Mifare
Classic Mifare Plus
Mifare DESFire
HW Crypto -- 3DES Crypto1 Crypto1,
AES 3DES, AES
EEPROM 512 bit 1536 bit
320 Bytes 1K Bytes 4K Bytes 2K Bytes 4K Bytes 2K Bytes 4K Bytes 8K Bytes Características Especiales -- -- -- Compatible con Mifare Classic -- Tipo de interface sin contacto ISO/IEC 14443A ISO/IEC 14443A ISO/IEC 14443A ISO/IEC 14443A ISO/IEC 14443A
Tabla No 4. Tipos y características de tarjetas Mifare
A continuación se detallan los elementos que se describen en la tabla anterior:
o HW Crypto: Módulo criptográfico incluído en el hardware de la
tarjeta.
o EEPROM: Es el tipo de memoria incluída en las TISC. Es un tipo
de memoria ROM (Read-only Memory) que puede ser programada, borrada y reprogramada eléctricamente.
o Contactless interface: Hace referencia al tipo de interface RFID
empleada para la comunicación, en este caso la relacionada con el el estándar ISO/IEC 14443A.
pág. 14 5.2. ESTÁNDAR ISO 14443A
5.2.1. Estándar 14443A-1 Características físicas
La parte número 1 del estándar define las características físicas que deben poseer las PICC (Proximity Chip Card). Estas características se basan principalmente en las particularidades de la antena, requisitos adicionales de acuerdo a la tarjeta y campo magnético. Por ejemplo la antena de una PICC clase 1, se encuentra dentro de una zona definida por dos rectángulos como lo muestra la figura No 2 [4].
- Rectángulo externo: 81 mm x 49 mm;
- Rectángulo interno: 64 mm x 34 mm, centrado en el
rectángulo externo, con 3mm de radio de esquina, excepto por las terminaciones de conexión, con un área máxima de 300 mm2
pág. 15 No obstante lo señalado en la figura No 2, existen otras definiciones de características físicas definidas en el estándar, las cuales se ajustan a los requerimientos específicos de cada usuario, de acuerdo a sus necesidades, tal y como se muestra en la figura No 3:
Figura No 3. Tipos de Antena para Tarjetas Inteligentes sin contacto.
5.2.2. Estándar 14443A-2 Radiofrecuencia y potencia de la señal de interface
En su parte numero 2, el estándar describe las características eléctricas de los dos tipos de interfaces sin contacto entre el PICC
pág. 16 y el PCD (Proximity Coupling Device). Estas características se definen en términos de transmisión de energía e interfaces de comunicación de señal [5].
En este tipo de comunicación, la señal de la interface de radiofrecuencia se hace a través de la codificación Manchester, la cual es un método de codificación eléctrica de una señal binaria en el que en cada tiempo de bit hay una transición entre dos niveles de señal. Esta codificación es autosincronizada, ya que en cada bit se puede obtener la señal de reloj, lo que hace posible una sincronización precisa de flujo de datos.
5.2.3. Estándar 14443A-3 Inicialización y anticolisión
La parte tres de este estándar define el proceso de inicialización y anticolisión de las TISC en aspectos relacionados con [6]:
Métodos para detectar y comunicar con una tarjeta, entre
varias tarjetas (anticolisión), como se muestra en la figura 4 y 5 [3].
Otros parámetros necesarios para inicializar las
comunicaciones entre una tarjeta de proximidad y un dispositivo de acoplamiento de proximidad.
Medios opcionales para facilitar y acelerar la selección de
pág. 17 Figura No 4. Procedimiento de selección y anticolisión
En esta figura el UID (Unique IDentification) corresponde al identificador único de cada TISC. El CT (Cascade Tag) corresponde al tag que identifica el nivel del procedimiento de la anticolisión de acuerdo al tamaño del UID. Si el UID es de 4B, el CT sería solo de primer nivel, si es de 7B sería de segundo nivel.
Así mismo el Anticollition Loop es un algoritmo empleado para preparar el diálogo entre el PCD y una o más PICCs que se encuentren en su campo de energización. Este algoritmo se ejecuta en función de la lectura bit a bit del UID de cada una de las PICC que se encuentran dentro del campo de energización del PCD, asi como se muestra en la Figura No 5 y su función es evitar que el dispositivo de lectura/escritura establezca comunicación
pág. 18 con dos o más tarjetas al mismo tiempo, impidiendo que se afecte la integridad de la información en las tarjetas.
Figura No 5. Detección de colisiones por el PCD
Un típico ejemplo es cuando una persona lleva en su cartera o billetera diferentes tarjetas, como las del acceso al edificio donde labora, la tarjeta para usar en el transporte masivo y la tarjeta de fidelización del supermercado y acerca la billetera al torniquete de acceso al metro, en ese momento se ejecuta el anticollition loop y así el lector solo establece comunicación con una sola tarjeta. De las que se encuentren en el campo de energización.
pág. 19 5.2.4. Estándar 14443A-4 Protocolos de transmisión
Especifica un protocolo de transmisión half-duplex por bloques con las necesidades especiales de un entorno sin contacto y define la secuencia de activación y desactivación del Protocolo. En cada uno de estas necesidades se define de manera explícita el formato de los bloques de transmisión en términos de Bytes y Bits [7]:
5.3. Estándar PC/SC (Personal Computer/Smart Card)
Una de las principales dificultades en la implementación de aplicaciones que incorporen TISC Mifare, es la alta oferta de dispositivos de lectura/escritura que no cumplen con un estándar que permita interactuar de forma natural con las diferentes aplicaciones, las cuales se deben desarrollar teniendo en cuenta características particulares de cada dispositivo, tales como marca, modelo, interface de conexión y versión del firmware. Este tipo de desarrollos, en la práctica, hacen demasiado compleja la implementación y despliegue de las aplicaciones puesto que no es sencillo lograr estandarizar en el mercado los PCD.
A raíz de esta dificultad, surgieron dos grupos de desarrolladores que se han encargado de construir un conjunto de especificaciones integradas en un API de programación que permite trabajar de manera uniforme con lectores de tarjetas de distintos fabricantes, llamados pcscworkgroup y M.U.S.C.L.E (Por sus siglas en ingles de Movement for the use of Smart cards in a Linux environment).
pág. 20 El API de desarrollo se denomina PC/SC (Personal Computer/Smart Card) y está compuesto por las siguientes partes [8]:
Parte 1. Introducción y visión general de la arquitectura.
Parte 2. Requisitos de interoperabilidad para las tarjetas y los
lectores.
Parte 3. Requisitos de interoperabilidad para los lectores.
Parte 4. Consideraciones de diseño de los lectores e información de
referencia.
Parte 5. Definición de la interfaz del Resource Manager.
Parte 6. Definición de la interfaz del Service Provider.
Parte 7. Consideraciones de diseño para el desarrollo de
aplicaciones.
Parte 8. Recomendación para la implementación de servicios de
seguridad y privacidad con tarjetas inteligentes.
Parte 9. Lectores con capacidades extendidas.
La figura No 6 muestra el detalle de la arquitectura que define las especificaciones del PC/SC y la relación entre los diferentes componentes definidos en las especificaciones.
Al respecto es importante destacar las especificaciones descritas en el documento complementario para TISC de la parte 3 “Requisitos de interoperabilidad para los lectores”, en su versión 2.02.00 liberado en
pág. 21 abril de 2010, donde especifica las funciones necesarias para realizar de manera transparente el paso de datos de una aplicación a una TISC.
pág. 22 6. DESCRIPCION DEL PROYECTO
La arquitectura que se defina en el presente proyecto, debe plantear las mejores prácticas en la utilización de Tarjetas Inteligentes Sin Contacto (TISC) en la implementación de aplicaciones de diversos fines, como lo es el transporte, control de accesos, micropagos, energía y agua prepago, fidelización de clientes, entre otros.
En este documento se analizarán las características de seguridad de las tarjetas Mifare que son las más usadas en el mercado global y es la que se usa en las aplicaciones más representativas de Colombia, como son el Transporte Metro de Medellín, el Mio de Cali, Transmilenio de Bogotá y múltiples aplicaciones de control de acceso, fidelización y demás.
Las tarjetas Mifare se encuentran en diferentes presentaciones de acuerdo a la tabla No 5 [3], permitiendo diversas opciones de almacenamiento y seguridad principalmente:
Tipo UID Seguridad Memoria
(Byte)
MIFARE Ultralight™ 7B 64
MIFARE Ultralight™ C 7B DES Y 3DES (Aut) 192
MIFARE™ Classic 1K 4 o 7B CRYPTO1 1024
MIFARE™ Classic 4K 4 o 7B CRYPTO1 4096
MIFARE Plus™ S 2K 4 o 7B CRYPTO1 y AES
128 2048
MIFARE Plus™ S 4K 4 o 7B CRYPTO1 y AES
pág. 23
MIFARE Plus™ X 2K 4 o 7B CRYPTO1 y AES
128 2048
MIFARE Plus™ X 4K 4 o 7B CRYPTO1 y AES
128 4096
MIFARE DESFire™ EV1
2K 7B
AES 128 – DES Y
3DES 2048
MIFARE DESFire™ EV1
4K 7B
AES 128 – DES Y
3DES 4096
MIFARE DESFire™ EV1
8K 7B
AES 128 – DES Y
3DES 8192
Tabla No 5. Tipos y características de tarjetas Mifare [3]
No obstante los diferentes tipos de tarjetas que existen, este proyecto se centrara en analizar las tarjetas MIFARE Plus y Classic, dado que su estructura de datos permite tener múltiples aplicaciones de manera independiente en cada tarjeta, de acuerdo a su capacidad.
6.1. Mifare Application Directory MAD
Mifare Application Directory permite definir la estructura de datos dentro de una tarjeta Mifare. Esta estructura de datos, representada en la figura No 7 [9], está conformada por sectores y estos a su vez por bloques de 16 bytes cada uno. Cada sector es independiente y posee un sector tráiler donde se almacenan las llaves y las condiciones de acceso.
pág. 24 Figura No 7. Estructura de datos de Mifare Classic de 4K [9]
A modo de ejemplo, se puede suponer que una persona posee una tarjeta para diversos usos, como transporte público, acceso a la oficina y agua prepago. Cada aplicación de estas se puede almacenar de manera independiente por sectores, con claves diferentes de acceso.
6.2. Mifare CLASSIC
Las tarjetas Mifare Classic son en la actualidad las más usadas en las diferentes aplicaciones que se tienen en Colombia, especialmente las de control de acceso y transporte masivo, tanto por su fácil implementación como por las bondades de la comunicación a través de RFID. Sin embargo, este tipo de tarjetas utilizan un tipo de algoritmo propietario de NXP llamado Crypto1, el cual fue analizado en detalle por los investigadores Gerhard de Koning Gans, Jaap-Henk Hoepman, and Flavio D. Garcia en su articulo “A Practical Attack on the MIFARE
pág. 25 Classic”, demostrando que si no se realiza una adecuada implementación puede ser fácilmente vulnerado.
6.3. Mifare PLUS
Las tarjetas inteligentes sin contacto Mifare Plus brindan seguridad a la integración de aplicaciones, ya que utiliza el algoritmo AES-128 (Advanced Encryption Estándar) tanto para la autenticación como para la integridad y confidencialidad de los datos. Así mismo las tarjetas Mifare Plus cumplen con el estándar 14443A en las partes 1 a la 4, logrando con ello la compatibilidad con múltiples tipos de lectores que cumplen también con este estándar.
Las tarjetas Mifare Plus, poseen cuatro niveles de seguridad [10]:
Nivel de Seguridad 0 (Security Level 0): La seguridad nivel 0
corresponde a la configuración inicial de las PICC. En este nivel la tarjeta puede ser personalizada incluyendo la programación de los datos, asi como las llaves AES y/o Crypto1.
Es obligatorio escribir las siguientes llaves AES usando el comando Write Perso, antes que las tarjetas sean cambiadas a nivel 1 o 3 con el comando Commit Perso:
• Write Perso (Comando obligatorio) • Write Card Master Key (9000hex)
• Write Card Configuration Key (9001hex) • Write Level 2 Switch Key* (9002hex) • Write Level 3 Switch Key (9003hex)
pág. 26 • Opcional (Recomendado)
• Escribir todas las otras llaves
• Escribir la configuración de los bloques • Opcional
• Escribir los datos iniciales • Commit Perso (Obligatorio)
Nivel de Seguridad 1 (Security Level 1): Compatible con Mifare
Classic
Este nivel de seguridad ofrece las características de la tarjeta Mifare Classic, en su implementación debe considerarse los riesgos de seguridad.
Además de manera opcional está disponible la autenticación AES sin afectar la funcionalidad clásica de la MIFARE Classic.
Nivel de Seguridad 2 (Security Level 2): Uso de AES y cifrado
Mifare (Crypto1)
Este nivel de seguridad también ofrece las características de la tarjeta Mifare Classic, sin embargo requiere autenticación previa con AES.
Nivel de Seguridad 3 (Security Level 3): En este nivel de
seguridad la operación de la tarjeta es únicamente basado en el estándar ISO 14443A-4. Así mismo es obligatoria la autenticación AES entre la PICC y el PCD. Además posee las siguientes características:
pág. 27 • Autenticación y cifrado AES
• Lectura y escritura
• Cifrado o texto plano
• Con o sin MAC (Message Authentication Code) • Valor de las operaciones
• Increment / Decrement / Restore + Transfer, con o sin MAC
6.4. Diversificación de llaves
El principio de diversificación de llaves es que cada tarjeta posea una única llave o juego de llaves. Cada tarjeta tiene un UID y este puede ser usado para diversificar la llave o juego de llaves que se usan, así como se muestra en la figura No 8.
pág. 28 Empleando este esquema de diversificación de llaves, cada tarjeta tiene su propias llaves independientes de las demás, dado que estas están asociadas a sus UIDs, tal como lo muestra la figura No 9, por lo tanto, si la llave de una tarjeta es descubierta, las demás llaves permanecen en secreto y así no será comprometida la seguridad de todas las tarjetas de la solución implementada.
Figura No 9. Diversificación de llaves en una TISC Mifare Classic de con UID de 4Bytes
6.5. Lectores RFID
El principal objetivo de un lector de RFID es transmitir y recibir señales, convirtiendo las ondas de radio de los tags en un formato legible para las computadoras.
Los lectores RFID pueden suministrar energía a los tags RFID pasivos. Los lectores pueden ser unidades autónomas conectadas a antenas, unidades portátiles con antenas integradas, en placas miniatura montadas dentro de impresoras, o integrados en grandes dispositivos.
pág. 29 El lector es necesario para transmitir energía al tag, para recibir desde el tag los datos correspondientes a las comunicaciones, y para separar estos dos tipos de señales.
La mayoría lectores son capaces de leer y escribir a un tag. La función lectora lee datos almacenados en el chip del tag. Del mismo modo, la función escritura escribe los datos pertinentes sobre el chip del tag. Por ejemplo, si un fabricante envía productos terminados a un centro de distribución puede escribir la identificación del fabricante en el tag del producto.
La figura No 10 presenta los componentes de un lector RFID [11].
Figura No 10. Componentes de un lector RFID
En el caso especifico de la comunicación con las tarjetas Mifare, estos lectores deben cumplir con el estándar 14443A.
pág. 30 7. ARQUITECTURA CON SEGURIDAD IDEAL
Definir la arquitectura ideal en la implementación de aplicaciones que utilicen tarjetas inteligentes sin contacto TISC, requiere tener muy claros los requerimientos y especificaciones del uso de la aplicación, así como la tecnología disponible en el mercado para su implementación.
En la actualidad, se deben tener en cuenta principalmente los siguientes requerimientos:
Clasificación de la información que se debe almacenar en la tarjeta.
Clasificación de la información que se debe transmitir por la interface
RFID.
Clasificación de la información que se debe transmitir por otras
interfaces (Ethernet, wireless, entre otras).
Determinar si la información se debe almacenar en texto plano o cifrado.
Determinar si la información se debe transmitir en texto plano o cifrado.
Determinar si la información a almacenar o transmitir debe poseer valor
de integridad.
Determinar los sectores en los cuales se almacena la información en la
tarjeta, cuidando de no mezclar información sensible con la que no lo es.
Determinar las claves de lectura y escritura a cada uno de los sectores
de la tarjeta de acuerdo a la clasificación de la información contenida.
Determinar la necesidad de diversificación de llaves por hardware o
software.
La presente definición se hace a partir de estándares que existen en la actualidad y que han ido evolucionando y haciéndose más grande en la
pág. 31 cuota comercial en las diferentes regiones del mundo, la cual se refleja de manera general en la figura No 11.
Figura No 11. Arquitectura ideal en la implementación de TISC
La principal restricción en un esquema como el acá planteado, son los dispositivos de lectura/escritura utilizados como elementos de control (Torniquetes de control de acceso, medidores de agua, energía y gas prepago, entre otros), ya que generalmente son solo compatibles con
pág. 32 tarjetas MIFARE Classic. Aun así, para mejorar la seguridad de estas implementaciones se deben seguir los siguientes parámetros:
Diversificación de llaves por hardware o software.
Implementación de módulos SAM en los dispositivos de
lectura/escritura donde se hacen las recargas o pagos, con el fin de asegurar la comunicación entre el lector y el host a través del SAC (Secure Authentication Channel).
Validar la integridad de los datos a través del MAC (Message
Authentication Code).
Implementación de lectores y aplicaciones que se utilicen el estándar
PC/SC en su comunicación.
Implementar canales seguros de comunicación entre la aplicación en
los canales de venta y recarga y el backend de la aplicación.
7.1. Modelo arquitectura de seguridad apropiada para las tarjetas Mifare CLASSIC.
La figura No 12 describe los principales elementos que integran una aplicación implementada con TISC MIFARE Classic.
Figura No 12. Elementos de una aplicación implementada con tarjetas MIFARE Classic
pág. 33 A. Dispositivos de control con módulos de lectura/escritura.
B. Señal RFID entre las tarjetas y los elementos de control. C. Tarjetas Inteligentes sin Contacto MIFARE Classic.
D. Señal RFID entre las TISC y los dispositivos de lectura/escritura. E. Dispositivos de lectura/Escritura.
F. Comunicación entre los dispositivos de lectura/escritura y el host con la aplicación.
G. Host con la aplicación.
H. Comunicación entre el host con la aplicación y los servidores con el Backend de la aplicación.
I. Servidores con el Backend de la aplicación.
A continuación se describe en detalle cada uno de estos elementos y la forma más adecuada de implementarlos:
A. Dispositivos de control con módulos de lectura/escritura: Son
los dispositivos de control que permiten la automatización de los
procesos en el punto final, estos dispositivos pueden ser los torniquetes en los controles de acceso, los medidores de agua, gas o energía prepago, entre otros. Estos deben poseer además de un PLC, un módulo de lectura/escritura de tarjetas inteligentes sin contacto que cumpla con el estándar 14443A y una estructura simple de memoria fija donde almacenar los datos.
Lo ideal en estos dispositivos es que tuviesen la capacidad de realizar diversificación de claves, ya sea por software o a través de un módulo SAM (Secure Application Module), en caso contrario, se recomienda que los datos que vaya a escribir en la tarjeta se encuentren en un sector aparte de los demás datos con llaves
pág. 34 independientes y diferentes a los demás sectores, con el fin de evitar que se llegue a tener un compromiso de los datos totales de la tarjeta.
B. Señal RFID entre las tarjetas y los elementos de control: La
señal RFID entre las TISC y los dispositivos de control debe ser cifrada con el fin de proteger la confidencialidad de los datos que a través de ella se transmiten.
C. Tarjetas Inteligentes sin Contacto MIFARE Classic: Estas tarjetas
deben ser en lo posible de 4K, con diversificación de llaves, UID de 7 Bytes y llaves diferentes en cada sector y no debe poseer valores por defecto,
D. Señal RFID entre las TISC y los dispositivos de
lectura/escritura: La señal RFID entre las TISC y los dispositivos de
control debe ser cifrada con el fin de proteger la confidencialidad de los datos que a través de ella se transmiten.
E. Dispositivos de lectura/Escritura: Estos dispositivos deben
cumplir con el estándar 14443A para la comunicación con las TISC, modulo SAM que permita la comunicación segura con las TISC a través de la diversificación de llaves y con el host de la aplicación a través del SAC (Secure Authenticated Channel). Además para una mayor facilidad de la implementación y desarrollo de la aplicación debe cumplir con el estándar PC/SC.
F. Comunicación entre los dispositivos de lectura/escritura y el
host con la aplicación: Comunicación segura a través del
pág. 35 realizar a través de puerto serial, USB o Ethernet, empleando para ello el módulo SAM.
G. Host con la aplicación: Equipo con la capacidad de soportar la aplicación y los drivers de los lectores que cumplan con el estándar PS/SC.
H. Comunicación entre el host con la aplicación y los servidores
con el Backend de la aplicación: La comunicación entre estos
dispositivos se debe realizar a través de un canal seguro, que puede ser VPN o implementación SSL o TSL.
I. Servidores con el Backend de la aplicación: Deben poseer
servicios expuestos del tipo WCF, los cuales se comunican con la capa lógica del negocio, capa de acceso a datos y finalmente con la fuente de datos, con el fin de proporcionar una seguridad robusta que minimice los riesgos de un ataque informático.
7.2. Modelo arquitectura de seguridad apropiada para las tarjetas Mifare PLUS.
La figura No 13 describe los principales elementos que integran una aplicación implementada con TISC MIFARE Plus.
Figura No 13. Elementos de una aplicación implementada con tarjetas MIFARE Plus
pág. 36 Cada uno de estos elementos son:
A. Dispositivos de control con módulos de lectura/escritura B. Señal RFID entre las tarjetas y los elementos de control C. Tarjetas Inteligentes sin Contacto MIFARE Plus
D. Señal RFID entre las TISC y los dispositivos de lectura/escritura: E. Dispositivos de lectura/Escritura
F. Comunicación entre los dispositivos de lectura/escritura y el host con la aplicación
G. Host con la aplicación
H. Comunicación entre el host con la aplicación y los servidores con el Backend de la aplicación
I. Servidores con el Backend de la aplicación
A continuación se describe en detalle cada uno de estos elementos y la forma más adecuada de implementarlos:
A. Dispositivos de control con módulos de lectura/escritura: Son
los dispositivos de control que permiten la automatización de los procesos en el punto final, estos dispositivos pueden ser los torniquetes en los controles de acceso, los medidores de agua, gas o energía prepago, entre otros. Estos deben poseer además de un PLC, un módulo de lectura/escritura de tarjetas inteligentes sin contacto que cumpla con el estándar 14443A y una estructura simple de memoria fija donde almacenar los datos.
Además deben tener la capacidad de realizar diversificación de claves a través de un módulo SAM (Secure Application Module)
pág. 37
B. Señal RFID entre las tarjetas y los elementos de control: La
señal RFID entre las TISC y los dispositivos de control debe ser cifrada con el fin de proteger la confidencialidad de los datos que a través de ella se transmiten.
C. Tarjetas Inteligentes sin Contacto MIFARE Plus: Estas tarjetas
deben ser en lo posible de 4K, con diversificación de llaves, no debe poseer valores por defecto, UID de 7Bytes y llaves diferentes en cada sector. Además deben estar configuradas en Seguridad Nivel 3 (SL3).
Además durante la personalización de las tarjetas en el nivel de seguridad 0 (SL0), se debe configurar que el texto durante la comunicación sea cifrado.
D. Señal RFID entre las TISC y los dispositivos de
lectura/escritura: La señal RFID entre las TISC y los dispositivos de
control debe ser cifrada con el fin de proteger la confidencialidad de los datos que a través de ella se transmiten.
E. Dispositivos de lectura/Escritura: Estos dispositivos deben
cumplir con el estándar 14443A para la comunicación con las TISC, modulo SAM que permita la comunicación segura con las TISC a través de la diversificación de llaves y con el host de la aplicación a través del SAC. Además para una mayor facilidad de la implementación y desarrollo de la aplicación debe cumplir con el estándar PC/SC.
pág. 38
F. Comunicación entre los dispositivos de lectura/escritura y el
host con la aplicación: Comunicación segura a través del
mecanismo SAC (Secure Authenticated Channel) , la cual se puede realizar a través de puerto serial, USB o Ethernet, empleando para ello el módulo SAM.
G. Host con la aplicación: Equipo con la capacidad de soportar la aplicación y los drivers de los lectores que cumplan con el estándar PS/SC. Asi mismo debe poder comunicarse de forma segura con los dispositivos de lectura/escritura a través del mecanismo SAC.
H. Comunicación entre el host con la aplicación y los servidores
con el Backend de la aplicación: Comunicación entre el host con
la aplicación y los servidores con el Backend de la aplicación: La comunicación entre estos dispositivos se debe realizar a través de un canal seguro, que puede ser VPN o implementación SSL o TSL.
I. Servidores con el Backend de la aplicación: Deben poseer
servicios expuestos del tipo WCF, los cuales se comunican con la capa lógica del negocio, capa de acceso a datos y finalmente con la fuente de datos, con el fin de proporcionar una seguridad robusta que minimice los riesgos de un ataque informático.
pág. 39 8. REFERENCIAS BIBLIOGRÁFICAS
[1] NXP, AN155010 – End to end system security risk considerations
for implementing contactless card, REV 1.0 - 1 June 2008.
[2] Chun-Chieh Chen; Inn-Tung Chen; Chen-Mou Cheng; Ming-Yang
Chih; Jie-Ren Shih; "A Practical Experience with RFID Security," pp.395-396, 18-20 May 2009.
[3] NXP, AN10833- MIFARE Type Identification Procedure, REV 3.2-
29 August 2011.
[4] ISO/IEC 14443-1: 2008, Identification cards - Contactless
integrated circuit(s) cards - Proximity cards, Part 1: Physical characteristics.
[5] ISO/IEC 14443-2: 2008, Identification cards - Contactless
integrated circuit(s) cards - Proximity cards, Part 2: Radio frequency power and signal interface
[6] ISO/IEC 14443-3: 2008, Identification cards - Contactless
integrated circuit(s) cards - Proximity cards, Part 3: Initialization and anticollision.
[7] ISO/IEC 14443-4: 2008, Identification cards - Contactless
integrated circuit(s) cards - Proximity cards, Part 4: Transmission protocol
[8] Apple, Axalto, Gemplus, Hewlett-Packard, IBM, Infineon, Ingenico,
pág. 40 VeriFone. Interoperability Specification for ICCs and Personal Computer Systems - Part 1. Introduction and Architecture Overview. Revision 2.01.01. September 2005.
[9] Gerhard de Koning Gans; Jaap-Henk Hoepman; Flavio D. Garcia.
A Practical Attack on the MIFARE Classic; Institute for Computing and Information Sciences.
[10] NXP, MF1PLUSx0y1 - Mainstream contactless smart card IC for fast and easy solution development. Rev 3.2 del 21 de febrero de 2011.
[11] Chavez Proaño Edwin; Guamiliamá Pazmiño Gyovanny. Implementación de un prototipo de control, monitoreo y autenticación vehicular, utilizando tecnología RFID. Quito. Eneroo de 2010.
pág. 41 LISTA DE TABLAS
Tabla No 1. Tipos de amenazas en las tarjetas Mifare …………. 4 Tabla No 2. Tipos de ataques en las tarjetas Mifare ………. 5 Tabla No 3. Tipos de riesgos en las tarjetas Mifare ……….. 8 Tabla No 4. Tipos y características de tarjetas Mifare ………….. 13 Tabla No 5. Tipos y características de tarjetas Mifare ………….. 23
LISTA DE FIGURAS
Figura No 1. Estructura Sistema RFID ……….. 11 Figura No 2. Ubicación de una antena de PICC clase 1 …………. 14 Figura No 3. Tipos de Antena para Tarjetas Inteligentes sin
contacto ………. 15
Figura No 4. Procedimiento de selección y anticolisión …………. 17 Figura No 5. Detección de colisiones por el PCD ……….. 18 Figura No 6. Arquitectura PC/SC ………... 21 Figura No 7. Estructura de datos de Mifare Classic de 4K ……… 24 Figura No 8. Principio de diversificación de llaves ………. 27 Figura No 9. Diversificación de llaves en una TISC Mifare Classic
de con UID de 4Bytes ……….. 28
Figura No 10. Componentes de un lector RFID ……….. 29 Figura No 11. Arquitectura ideal en la implementación de TISC ... 31 Figura No 12. Elementos de una aplicación implementada con
tarjetas MIFARE Classic ……….………. 32 Figura No 13. Elementos de una aplicación implementada con