La creación de una nueva normativa de certificación de ciberseguridad siempre es algo apasionante porque implica explorar nuevas tecnologías y establecer las bases sobre cómo debería ser un adecuado diseño de los aspectos claves de ciberseguridad para la tipología de productos bajo estudio. No obstante, esta no suele estar exenta de problemas o inconcreciones que normalmente son sufridos por los fabricantes que se aventuran a ser punta de lanza y estar a la vanguardia no solo desde el punto de vista tecnológico sino también del cumplimiento.
El Concilio PCI y el estándar de seguridad PCI DSS
Conocida por sus siglas PCI o PCI SSC, el Payment Card Industry Security Standards Council, es un foro creado en 2006 por los principales promotores de la industria de tarjetas financieras (American Express, MasterCard, VISA, ...). El concilio se creó con la intención de fomentar la industria de pago con tarjeta mediante, entre otras acciones, la creación de estándares de seguridad que eleven el nivel de confianza de los ciudadanos securizando el presente y el futuro de este tipo de transacciones financieras, y de manera concreta, asegurando la protección del PIN y de los datos del titular de la tarjeta.
Quizás el estándar más popular creado por PCI sea el conocido como PCI DSS (Data Security Standard). PCI DSS proporciona una referencia de requisitos técnicos y operativos desarrollados para proteger los datos de cuentas y se aplica a todas las entidades que participan en el procesamiento de las tarjetas de pago, entre las que se incluyen comerciantes, procesadores, adquirentes, entidades emisoras y proveedores de servicios. La norma PCI DSS se aplica a todas las entidades que almacenan, procesan o transmiten datos del titular de la tarjeta (CHD) y/o datos confidenciales de autenticación (SAD).
Es decir, que, si tu aplicación procesa datos de tarjetas de créditos, por ejemplo, para implementar transacciones a través de Internet, entonces con toda probabilidad estés afectado por PCI-DSS, aunque probablemente prefieras delegar esa responsabilidad en las conocidas pasarelas de pago, y evitar hacer por ti mismo este procesamiento.
PCI-DSS mantiene 12 requisitos a cumplir para los sistemas que procesen datos de tarjetas de crédito y requiere de la implementación de un SGSI (Sistema de Gestión de la Seguridad de la Información) de manera similar a otras normas también muy conocidas en el sector, como ISO 27001, si bien PCI-DSS actúa como única entidad de acreditación central manteniendo un estrecho control sobre quién puede o no auditar estos sistemas. La norma realiza especial hincapié en, por ejemplo, la segmentación adecuada de la red o la realización de análisis de vulnerabilidades a los sistemas de manera regular.
No obstante, como todos bien sabemos, no solo de pagos a través de Internet vive el hombre, y es por ello que además de PCI-DSS, el concilio ha creado normativa de seguridad para probablemente el medio por el que la mayoría de usuarios hacemos uso de nuestras tarjetas de crédito, los terminales de pago.
Una norma para los terminales de pago, PCI PTS
La norma PCI PTS (Pin Transaction Security) aborda la protección lógica y/o física del titular de la tarjeta y otros datos sensibles en dispositivos de punto de interacción (POI) y módulos de seguridad de hardware (HSM). Un punto de interacción, sería por ejemplo el terminal de pago que todos usamos prácticamente a diario para pagar en un comercio, mientras que un HSM es un dispositivo hardware capaz de realizar y custodiar claves criptográficas y que muy comúnmente suele ser evaluado contra otras normas de la industria como FIPS 140-2.
PCI-PTS sigue una aproximación modular según la cual tu producto deberá ser evaluado contra un módulo común de requisitos que son considerados nucleares y que se refieren a la construcción y diseño seguros del dispositivo, y otra serie de requisitos opcionales en función de si el producto implementa o no ciertas características, como por ejemplo la comunicación con estándares inalámbricos (WiFi, Bluetooth, ...) o la capacidad de cifrado de datos de la cuenta (SRED).
La ciberseguridad es una carrera sin fin contra los potenciales atacantes, y a resultas de la misma, es necesario revisar, actualizar y mejorar las normativas de seguridad y las técnicas usadas para verificar el cumplimiento desde el punto de vista técnico. Por ello, el concilio actualiza la normativa y todos sus requisitos normalmente cada tres años.
Los nuevos medios de pago
Sin embargo, la evolución social y tecnológica crea escenarios de uso que no fueron previstos y que escapan a los contenidos de la norma, requiriendo el desarrollo de nuevos estándares.
Ante la proliferación de smartphones conectados a Internet, en ciertos paises se ha hecho habitual ver cómo los conductores de taxi que no disponen de una terminal de pago certificada PCI-PTS, copian de manera manual los datos de las tarjetas en su smartphone, usando una aplicación en la nube, para así poder admitir pagos con tarjeta. Por supuesto esta costumbre está falta de las más mínimas medidas de seguridad, y sin embargo responde a una necesidad que la propia tecnología ha creado.
Por otro lado, las capacidades de los smartphones de nueva generación fomentan el uso del pago a través del móvil mediante tecnologías como Apple Pay o Samsung Pay que permiten el pago utilizando una tarjeta de crédito almacenada de manera virtual en el móvil.
Ante dicha situación, ¿no sería deseable poder disponer de un terminal PTS en el bolsillo de manera que se puedan no solo realizar pagos con tarjeta desde el móvil sino también aceptarlos? ¿Acaso no estamos tecnológicamente preparados para algo así?
La proliferación de tecnología como los Secure Elements ha permitido realizar pago con el móvil y también permitirá recibirlo, pero antes, la industria de pago, a través del PCI-SSC debe establecer las reglas que garanticen la seguridad de este tipo de transacciones.
PCI SPoC
Es por ello que, en abril de 2018, hace ya un año, el concilio publica la norma PCI-SPoC Software-based PIN Entry on COTS (Commercial off-the-shelf). El objetivo de esta nueva norma es sentar las bases de qué requisitos de ciberseguridad deben ser exigibles a una aplicación de smartphone, tablet o wearable, al dispositivo sobre el que se ejecuta, al lector de tarjetas y a la infraestructura en la nube que sostiene la transacción financiera. Este tipo de aplicaciones son también conocidas como "PIN-on-glass", puesto que permiten la entrada segura de un número PIN y es capaz de comunicarse con una tarjeta mediante el uso de un dispositivo lector de tarjetas (SCRP).
PCI-SPoC evalúa una solución completa formada por la aplicación móvil, el sistema de procesamiento, monitoreo y atestamiento, que debe cumplir una serie de requisitos similares a los establecidos por PCI-DSS, y el lector de tarjetas, que debe haber sido previamente evaluado contra el estándar PCI-PTS.
En esta ocasión sin embargo, la norma parece no haber llegado a tiempo y la industria se ha desarrollado al margen de la normativa, especialmente en aquellos países donde no está tan extendido el uso al que estamos acostumbrados de las tarjetas bancarias, donde es normal encontrar ciudadanos que no poseen una cuenta corriente y donde las transacciones casi nunca usan PIN con independencia del importe, existiendo ya aplicaciones que realizan funcionalidad muy similar a la que pretende cubrir el estándar y que sin embargo están lejos con lo que se piden, contando a veces ya con una base de usuarios considerablemente grande, lo que pone a los fabricantes que ya han creado su propio ecosistema en la tesitura de tener que abandonarlo y empezar de cero para lograr cumplir los requisitos.
Por ejemplo, el test TF1.1 establece que la única manera de introducir datos de la tarjeta en la aplicación debe ser a través de un dispositivo aprobado PCI-PTS, de manera que si una aplicación utilizaba un dispositivo no aprobado, a priori no es posible proporcionar ambas capacidades en la misma aplicación, sino que debería hacer un fork, con la consiguiente confusión y potencial pérdida de usuarios finales.
Además, la norma parece haber sido redactada con el sistema operativo de Google en mente, estableciendo requisitos de WhiteBox Cryptography o Trusted Execution Environment que no son ni mucho menos evidentes de implementar en sistemas operativos donde la capacidad de los desarrolladores de aplicaciones está mucho más limitada como es el caso de iOS, que por cierto lleva mucho más camino andando en cuanto a ciberseguridad que Android.
Este tipo de problemas son realmente comunes en cualquier certificación de ciberseguridad, y es por ello que los responsables de la redacción de este tipo de normas las mantienen actualizadas o bien publican guías específicas, como es el caso de la Implementation Guidance de FIPS 140-2, con incontables versiones publicadas en estos últimos 16 años, o las FAQ que PCI publica para cada uno de sus programas.
PCI-SPoC ya publicó una primera versión de su FAQ sólo un mes después de su liberación, y en la actualidad va por la versión 1.2 de junio de 2018. Esperemos que las siguientes versiones resuelvan las dudas aquí planteadas y otras muchas no tarden en llegar, quizás así algún fabricante consiga certificar su solución bajo el estándar PCI-SPoC y así estemos un pasito más cerca del momento en que podamos realizar transacciones seguras basadas en PIN únicamente acercando nuestro móvil al de la tienda en la que compremos.