domingo, 21 de marzo de 2010

Porqué dejaron de funcionar las tarjetas EMV en Alemania en Enero del 2010 ?

Seguramente para unos pasó desapercibido pero para otros no, fue una noticia de alcance mundial. Resulta que con el cambio de año del 2009 al 2010 en Alemania, repentinamente dejaron de funcionar aproximadamente 30 millones de tarjetas tanto de crédito como de débito. Justamente estas tarjetas usaban la tecnología EMV que es la tendencia actual hacia la cual nos estamos moviendo, el problema básicamente fue de tipo técnico y la forma de cómo se interpretan los datos y es lo que voy a explicar a continuación.

Sin duda, para la gente de Gemalto, proveedores de este tipo de tarjeta, el inicio de año no fue tan alegre como se esperaba, sobre ellos recaía la responsabilidad de solucionar esta novedad, pues si no se encontraba la forma de seguir usando las mismas tarjetas que ya estaban en poder de los clientes, cambiarlas a todos tendría un costo millonario, teniendo en cuenta el costo mismo de la tarjeta como tal, mas toda la logística de distribución, y las implicaciones e incomodidades que sufrirían los clientes por el servicio, esto incluso causo una caída del valor de la acciones de esta empresa, pero bueno felizmente lograron solucionarlo sin tener que cambiarla.

Resulta que actualmente estoy trabajando en un proyecto para la migración hacia este nuevo estándar y por lo tanto he tenido que penetrar a las propias “tripas” de esta tecnología, ante lo cual me quedaba la duda y la inquietud sobre lo que realmente pasó en Alemania, para así poder tener en cuenta este tipo de novedades así como también poder derivar e imaginar en otras situaciones que se podrían presentar.

A continuación trataré de explicar qué es lo que pasó, realmente, es un problema de tipo técnico, un poquito complejo de entender para quienes no están familiarizados con la forma en que se almacenan los unos y ceros en los componentes de los aparatos digitales, sin embargo trataré de explicarlo de la forma más didáctica posible.

La tecnología EMV por sí misma es bastante complicada de entenderla, las especificaciones incluso son vagas e insuficientes, a pesar de que las primeras versiones públicas datan desde 1996, los diferentes campos que almacenan la información se conocen como TAGs, y a vez cada TAG almacenada los datos es un formato llamado TLV (tag-long-value).

Ahora, con estos antecedentes vamos al problema propiamente dicho, resulta que dentro de los campos que maneja la tarjeta, se almacena la fecha actual (current date) en 3 bytes con formato YYMMDD en binary-code-decimal (BCD). Por ejemplo 1 de Enero del 2010 se almacenaría así “100101” sin embargo esto fue interpretado como si estuviera en hexadecimal y por lo tanto la tarjeta pensaba de que se trataba del año 2016 y por lo tanto las tarjetas se trataban como tarjetas expiradas, para almacenar en hexadecimal 1 de Enero del 2010 correctamente es “0A0101”. Como sabemos mientras los números vayan del 0-9 tanto en BCD como hexadecimal es lo mismo pero si hay problema justamente a partir del 2010.

Al analizar esta novedad, podemos ver que incluso se puede tratar de una novedad que justamente no fue bien manejada en le migración hacia Y2K, y claro por supuesto también hay responsabilidad con quienes programaron, pero sobre todo parece que a nadie en las pruebas y/o controles de calidad se les ocurrió probar con fechas futuras justamente para generar el escenario de tarjetas expiradas.

sábado, 13 de marzo de 2010

Típica forma de clonar tarjetas

jueves, 31 de diciembre de 2009

!Feliz Año 2010!



Para todos los visitantes del blog, amigos, compañeros y colegas, les deseo una excelente año 2010.

domingo, 8 de noviembre de 2009

Seleccionando una tarjeta EMV: Método de autenticación

El flujo de datos hacia y desde una tarjeta con chip se cifra de manera que no puede ser interceptada o manipulada en tránsito por terceros no autorizados. Hay tres métodos de autenticación que pueden ser utilizados por las partes que procesan las transacciones de tarjetas con chip: con datos estáticos SDA (Static Data Authentication), de forma dinámica DDA (Dynamic Data Authentication) y combinada CDA(Combined Data Authentication).

SDA utiliza la infraestructura de clave pública (PKI) para verificar que el contenido de una tarjeta con chip sea original, una debilidad de la SDA es que no pueden identificar la falsificación de tarjetas EMV que tengan todos los datos de de la tarjeta original copiados en la tarjeta falsificada.

Igual que SDA, DDA verifica el contenido de los elementos de las tarjeta EMV y además también detecta si la tarjeta EMV ha sido copiada y/o falsificado al forzar a la tarjeta a responder correctamente a una prueba específica. Las tarjetas DDA requieren un procesador criptográfico adicional y por lo tanto son más caras.

CDA es el tipo más avanzado y seguro de autenticación. CDA es similar a DDA con la funcionalidad adicional de que la verificación de la autenticidad se realiza mediante el uso de un criptograma. Como las tarjetas de CDA son más caros que las tarjetas DDA y proporcionan un nivel de seguridad que excede los requisitos de la mayoría de las aplicaciones pocos emisores han optado por implementar esta tecnología.

Visa, MasterCard y American Express exigen sus emisores utilizar como mínimo SDA para las transacciones EMV, sin embargo en todos aquellos terminales que aceptan transacciones fuere de línea es recomendable usar DDA.

Seleccionando una tarjeta EMV: Tamaño de la memoria

El tamaño de la memoria de una tarjeta con chip, también conocido como EEPROM, determina el número y la complejidad de las aplicaciones que se pueden utilizar en una sola tarjeta. En general, entre mas complejo es el set de aplicaciones se requiere más memoria. Más memoria también es necesaria para los datos avanzados de métodos de autenticación.

Una tarjeta de chip muy básica requiere un mínimo de 4K de EEPROM para permitir una solicitud de pago único, aunque la flexibilidad y escalabilidad de las aplicaciones de las tarjetas se vería seriamente restringido, lógicamente cada K de memoria adicional incremente el costo de la misma.

También hay que señalar que el costo de las tarjetas de memoria se reduce constantemente por lo que se supone para para un futuro mas cercano ya no tengamos que pensar en este tipo de restricciones.

Seleccionando una tarjeta EMV: La Plataforma

Como cualquier computador, las tarjetas con chip requieren de un sistema operativo antes de que se pueda cargar y usar aplicaciones de software. Las aplicaciones diseñadas para usar en las tarjetas con chip están escritas en un determinado lenguaje de programación y cada aplicación requiere de un sistema operativo, o "plataforma", que entienda el lenguaje de la aplicación.

Hay 3 tipos principales de plataformas para las tarjetas con chip Propietarias, GlobalPlatform y MULTOS.

Las plataformas propietarias pertenecen a proveedores individuales los mismos que tienen aplicaciones diseñadas específicamente para esa plataforma. Normalmente, las aplicaciones escritas para una plataforma propietaria no pueden ser utilizadas en otro plataforma o en una tarjeta fabricada por otro proveedor.

La principal ventaja de las plataformas propietarias es que, dependiendo del proveedor y la aplicación, pueden ser menos costosas que los ambientes abiertos como GlobalPlatform o MULTOS, la principal desventajas son la falta de interoperabilidad y la dependencia de un único proveedor para las tarjetas y aplicaciones.

GlobalPlatform es una plataforma abierta que utiliza el lenguaje de programación JavaCard para el desarrollo de las aplicaciones. GlobalPlatform es la plataforma abierta más comúnmente utilizada en el mundo, aunque la mayoría de las aplicaciones GlobalPlatform se utilizan en las tarjetas SIM de teléfonos celulares en lugar de las tarjetas bancarias.

MULTOS es la otra plataforma abierta y ofrece las ventajas de un standard abierto y un entorno competitivo para la adquisición de tarjetas y aplicaciones.

Multos también ofrece la ventaja adicional de garantizar la interoperabilidad de aplicaciones para todos las tarjetas Multos, para esto mantienen un estricto proceso de certificación de interoperabilidad.

Multos ofrece un alto nivel de seguridad puesto que separa las aplicaciones de forma que una aplicación no puede afectar, modificar ó dañar a otra aplicación Multos en la misma tarjeta.

sábado, 7 de noviembre de 2009

Alternativas de tarjetas EMV

1) Especificaciones EMV según las marcas.- Hoy en día las instituciones financieras emisoras de tarjetas de todo el mundo, si aún no lo han realizado, se encuentran en el proceso de ejecución o de planificación de la migración a EMV.

En el caso de los miembros de MasterCard, las especificaciones EMV que deben cumplir es M/Chip, en el caso de VISA se llama Visa Smart Debit Credit (VSDC). Además, tanto American Express y JCB también han definido su propias versiones de EMV a utilizar. En el caso de JCB esto se llama "J-Smart".

2) Static vs Dynamic Data Authentication (SDA vs DDA).- Los terminales EMV deben ser capaces de autenticar que los datos generados por una transacción EMV proceden de una tarjeta original. Esto se puede realizar sin necesidad de que la terminal este en línea tanto con SDA como con DDA.

En el caso de SDA, la misma firma digital es usada por la tarjeta para autenticarse asimismo cada vez que se realiza una transacción fuera de línea, esto significa de que puede ser posible copiar los datos de la tarjeta, y crear un duplicado de la tarjeta usando tarjetas inteligentes programables.

Tarjetas SDA clonadas no pueden ser bloqueada si se utilizan en terminales fuera de línea, pero puede ser detectado tan pronto como la terminal ejecute una transacción en línea. Sin embargo
esta amenaza de clonación de las tarjetas SDA se considera una amenaza menor que la que actualmente se da con la tecnología de banda magnética.

A la fecha el uso de tarjetas SDA como tarjetas inteligentes EMV es lo más común ya que no requieren del co-procesador criptográfico RSA en el chip lo que hacen a las tarjetas mas costosas que una simple tarjeta SDA.

La solución recomendada para una mayor seguridad es usar DDA, porque protege contra la clonación, esto debido a que los terminales DDA pueden dinámicamente autenticar la tarjeta fuera de línea mediante el uso de co-procesador criptográfico RSA.

La desventaja de las DDA es que la exigencia de un co-procesador de RSA hace la tarjeta inteligente más cara que una tarjeta de SDA.

En todo caso MasterCard y VISA han definido las opciones de tarjetas inteligentes EMV de aplicación para SDA y DDA.