CIBERSEGURIDAD DE LAS TARJETAS DE PAGO ELECTRÓNICO
Partiendo de una pregunta de @Jngorria hace un par de días, vamos a hablar un poco de cómo hacer el mal a bajo nivel.
CIBERSEGURIDAD DE LAS TARJETAS DE PAGO ELECTRÓNICO
Partiendo de una pregunta de @Jngorria hace un par de días, vamos a hablar un poco de cómo hacer el mal a bajo nivel.
Las tarjetas bancarias ofrecen 3 formas de comunicación para autorizar los pagos: Banda magnética, chip, y cuando metemos los numericos en páginas random de internes. Cada uno de los 3 protocolos ofrece un nivel distinto de ciberseguridad.
Bueno, eso es en teoría, porque esto es una cadena, y la fortaleza de la cadena la marca el eslabón más débil. De nada sirve que los pagos mediante chip incluyan encriptado asimétrico RSA si luego la banda magnética te suelta todos los datos en un momento.
SPOILER: Es lo que pasa
Vamos uno a uno:
BANDA MAGNÉTICA
Las características de una tarjeta de crédito/débito vienen definidas por los estándares ISO/IEC 7810 al 7813. Para vuestra desgracia, he tenido acceso a ellos y hace demasiado sol pa salir de casa todavía.
Estos estándares lo controlan todo en las tarjetas de crédito: Lugar donde se colocan las letras, la banda magnética, cómo se tiene que poder doblar, algún relieve para que los ciegos puedan distinguirlas, si tienen varias...
Por ejemplo, el ISO/IEC 7811 especifica que la señal debe insertarse con una señal de reloj que indique el momento en el que se tiene que leer la información, para que independientemente de la velocidad con la que pases la tarjeta por el lector, el resultado sea el mismo.
Según la misma norma, la información se debe condificar con la técnica F/2F, por lo que si al pasar la tarjeta por el lector la frecuencia de un ciclo es del doble que el de otro, eso es un 1 lógico, y si no, un 0. El lector tiene que amplificar, limpiar y digitalizar esta señal antes de poder hacer operaciones con ella.
También se definen distintas pistas y códigos de detección de errores como CRCs y columnas de paridad, para que el lector pueda detectar si la lectura no se ha producido como debería.
Una vez tenemos el chorro de 1s y 0s, nos tenemos que fijar en la información contenida en las pistas 1 y 2 (IATA y ABA). La diferencia entre ambas es que la pista 1 incluye también el nombre del titular, pero no es necesario para la mayoría de transacciones..
Para hacer un pago mediante tarjeta vía banda magnética, lo único que hace el TPV es juntar estos datos que gratuítamente la tarjeta le ha brindado con el PIN y enviarle una petición al banco.
El PIN es el único elemento de seguridad en esta operación. 10.000 combinaciones, que de conocerlas por haber colocado una cámara, o simplemente por haber mirado por encima del hombro, hacen que la tarjeta sea jodidamente fácil de duplicar, porque toda la información es fácilmente copiable a una tarjeta en blanco.
Es por eso que los pagos con banda magnética tienen los días contados: Hasta 2029.
A partir de esa fecha, todos los pagos deberán hacerse mediante:
CHIP INALÁMBRICO
Aquí hacemos el salto al ISO/IEC 7816. Del PIN a las claves asimétricas. Que qué es la criptografía asimétrica? Pues si estás por navegador, puedes ver sus detalles pulsando sobre el candadico arriba a la izquierda, porque la estás usando ahora mismo sin darte cuenta.
El emisor y el receptor utilizan cada uno 2 pares de claves: Una clave pública, que se utiliza para descifrar los mensajes, y una clave privada, sólo conoce el emisor, y es la que se utiliza para cifrarlos. Si se implementa correctamente, esto hace que la comunicación cumpla con los principios de la criptografía:
- Confidencialidad: Que Charlie no pueda leer el mensaje entre Alice y Bob. Esto se consigue aplicando algoritmos de cifrado, que básicamente alteran algunos bits de lo que se quiere enviar aplicando una operación XOR con la clave, se realiza una operación matemática, y se vuelve a aplicar otro XOR... También hay que meter relleno para que los mensajes muy cortos no resulten evidentes.
- Autenticidad: Que Bob pueda comprobar que el mensaje que le ha llegado realmente ha sido enviado por Alice, y no por Charlie. Esto se consigue con firmas o tokens.
- No-repudio: Que Alice no pueda negar haber enviado un mensaje a Bob. Esto se consigue con firmas.
- Manejo de claves: La creación, distribución y uso correctos de claves es vital para que el cifrado sea eficaz. Hay que hacerle llegar la clave de descifrado a Bob de forma segura sin que Charlie sea capaz de leerla.
Os dejo un artículo de Wikipedia llamado Alice and Bob: https://en.wikipedia.org/wiki/Alice_and_Bob
En el estándar ISO/IEC 7816 se especifican los comandos que debe realizar un TPV para realizar un pago, y las respuestas que tiene que dar el chip de la tarjeta.
Por ejemplo, estos:
Bobinas P4G is a social network. It runs on GNU social, version 2.0.1-beta0, available under the GNU Affero General Public License.
All Bobinas P4G content and data are available under the Creative Commons Attribution 3.0 license.