Cómo funcionan las carteras móviles en el ejemplo de la aplicación "Mir Pay"

Como saben, en 2015 lanzamos el sistema de pago Mir y las tarjetas Mir se aceptan en todas partes de Rusia. Esto, por supuesto, es muy bueno, pero ahora el uso de billeteras móviles para pagar las compras está ganando popularidad. Según las estadísticas, en 2019, el 19% de todas las transacciones son pagos mediante un teléfono inteligente. En 2017, solo había un 3% de ellos. En 2018, el sistema de pago Mir Pay también presentó su propia aplicación de pago Mir Pay . Mir Pay está escrito en Kotlin y puede ejecutarse en teléfonos con soporte NFC y Android 6.0 y superior.







Mi nombre es Valery Bogdanov, soy el jefe del grupo de prueba en el equipo de pagos móviles del departamento de tecnología de la información de NSPK, y les contaré cómo funcionan las billeteras móviles usando nuestra aplicación Mir Pay como ejemplo .



Primero, veamos cómo funciona el pago con tarjeta de plástico. En el caso clásico, la tarjeta es emitida al titular por el banco emisor. En este caso, la tarjeta en un área protegida de la memoria almacena la clave MK-AC ( clave maestra del criptograma de aplicación ) compartida con el emisor . En el momento del pago (si es operación online ) genera un mapa basado en la clave de sesión MK-AC SK-AC ( Application Cryptogram Session Key ) y sobre el mismo, utilizando los datos del mapa y los datos sobre la operación recibidos desde el terminal, genera un criptograma ARQC ( Autorización Solicitar criptograma ). La generación del criptograma se basa en el algoritmo 3DES (Triple DES ). En el caso general, los datos de la transacción se envían desde la tarjeta al terminal, luego al anfitrión del banco adquirente (es decir, que atiende al comerciante), luego al sistema de pago y en la última etapa al banco emisor (es decir, que emite la tarjeta) para autorización.







El emisor verifica el criptograma generándolo él mismo basándose en los datos de la transacción que vienen con el ARQC y comparándolo con el valor de los datos recibidos. El banco emisor puede aprobar o rechazar la operación en base a los resultados del análisis de datos de tarjetas, criptogramas, límites establecidos, evaluación de riesgos y otros parámetros.



Ahora echemos un vistazo a la diferencia entre pagar con una billetera móvil. Aquí, el banco emisor no entrega nada al titular de la billetera (excepto la tarjeta, por supuesto, pero no participa directamente en el pago), en cambio, el titular de la tarjeta ingresa sus datos en la billetera y "aparece" en ella, o mejor dicho, no, sino un token especial. -perfil generado en base a este mapa. Ya está claro que no será posible organizar el pago, como en el caso clásico, ya que el teléfono carece de los datos de la tarjeta y la clave del emisor MK-AC ; en lugar de ellos, se utilizan el perfil del token y sus claves especiales. Antes de ocuparnos del pago, comprendamos qué sucede cuando se "agrega" una tarjeta a una billetera móvil.







El titular de la tarjeta ingresa los datos en la aplicación (1), que los transfiere en forma encriptada (más sobre eso más adelante) a través de los hosts del proveedor de servicios de billetera móvil ( WSP - Wallet Service Provider ) al sistema de pago. En el caso de Mir Pay, el proveedor del servicio de billetera es el NSPK, por lo que los datos van inmediatamente al sistema de pago (2) . El procesamiento adicional se lleva a cabo en la plataforma de pago móvil (PMP). El PMP descifra los datos, determina por el número de tarjeta por qué emisor fue emitido y le pide confirmación de la posibilidad de agregar la tarjeta al monedero (3) . En caso de una respuesta positiva (4) para esta tarjeta, el procedimiento para generar un perfil de token (5) y enviarlo al teléfono (6)... Por lo tanto, en lugar de los datos de la tarjeta, el dispositivo móvil almacenará un perfil de token asociado con esta tarjeta y este dispositivo. Tenga en cuenta que la conversión del perfil del token a los datos de la tarjeta original no es posible fuera de la plataforma de pago móvil. Después de guardar el perfil del token en el dispositivo del usuario, Mir Pay solicita un paquete de claves de un solo uso del PMP (7) , que será utilizado por la aplicación al realizar una compra como claves de sesión, similar al SK-AC mencionado anteriormente . Como su nombre lo indica, una clave de un solo uso no se puede usar más de una vez, por lo tanto, durante el uso, la aplicación Mir Pay descarga periódicamente nuevas porciones de claves del PMP. Esto completa la adición del mapa a la aplicación.



Veamos ahora cómo ha cambiado el proceso de pago en comparación con el pago con tarjeta de plástico.







La primera etapa es casi la misma, solo se usan los datos del perfil del token en lugar de los datos de la tarjeta, y el criptograma ARQC se genera en una clave única recibida del PMP como una sesión SK-AC . Otra diferencia entre Mir Pay y las tarjetas de plástico es que al generar un criptograma, en lugar de 3DES , se utiliza un algoritmo de cifrado de bloques simétrico más moderno, AES ( Advanced Encryption Standard ).



Además, los datos sobre la operación también pasan a través del terminal, el anfitrión del banco adquirente y entran en el sistema de pago. Por el número de token (del perfil del token), el sistema de pago determina que no se trata de una tarjeta normal, sino de un token, y envía la operación al PMP para verificar el criptograma y la llamada destokenización, convirtiendo el token en datos reales de la tarjeta. Sí, el criptograma ahora es verificado no por el emisor, sino por el PMP, ya que es en las profundidades de la plataforma donde se generan las claves únicas y el perfil del token. Además, la operación con datos de la tarjeta ya se envía al banco emisor para su autorización. En el camino de regreso - transformación inversa.



En Mir PaySe utiliza el esquema con claves de un solo uso, pero hay otro enfoque: almacenar una clave en el dispositivo. Este enfoque requiere un elemento de seguridad en el dispositivo y algunas billeteras pueden aplicarlo dado que ciertos dispositivos tienen dicho elemento de seguridad. En nuestro caso, dada la gran variedad de teléfonos Android, esto simplemente no se puede lograr. Esta especificidad explica el esquema elegido.



Teniendo en cuenta el proceso de tokenización descrito anteriormente, se puede notar un punto sutil: cuando se paga con una billetera, se utilizan los datos del perfil del token, sin embargo, cuando se agrega una tarjeta, sus datos se envían a los hosts del sistema de pago, y estos datos son estrictamente confidenciales. Para proteger los datos de la tarjeta en Mir PaySe proporciona un sistema de protección de varias etapas. Al inicio, se habilita automáticamente un mecanismo para controlar la integridad de la aplicación y verificar el entorno, lo que no permite el uso de una aplicación falsa modificada por personas no autorizadas. Si se detecta un riesgo significativo, la aplicación informa al usuario sobre esto y elimina automáticamente todos los perfiles de token almacenados. Además, los resultados de estas verificaciones también se analizan en el lado del PMP.



Para el intercambio de datos confidenciales PMP y Mir Paygenerar pares de claves e intercambiar componentes públicos. Debido al hecho de que no podemos confiar al 100% en el almacén de claves incorporado, se desarrolló un esquema con el almacenamiento de diferentes componentes clave en diferentes lugares: tanto en el almacén de claves como en la RAM. Es decir, para iniciar una operación fraudulenta, es necesario, en primer lugar, extraer los criptogramas de todas estas claves, y en segundo lugar, ¡también es necesario descifrarlas! Pero esto no es tan fácil ni muy efectivo, ya que para las operaciones se utilizan claves estrictamente de un solo uso. Y solo después de Mir Payy PMP intercambiaron claves públicas, es decir, en realidad crearon un canal seguro, se permite la transferencia de datos sensibles, que se encripta con algoritmos cripto-resistentes. A través de este mecanismo, el perfil de token y las claves de un solo uso para realizar operaciones y los datos sobre operaciones ya completadas se entregan al dispositivo del usuario.



Como puedes ver en esta descripción, la seguridad de los pagos basados ​​en billeteras móviles no solo se mantiene a nivel de tarjetas plásticas, ¡y en algunos casos incluso la supera! La aplicación Mir Pay cumple con los requisitos de seguridad nacionales e internacionales y permite a los titulares de tarjetas Mir utilizar su teléfono móvil para realizar pagos sin temor a la fuga de datos personales.



Actualmente el desarrollo de Mir Paycontinúa - habiendo lanzado las primeras versiones en poco tiempo, ya estamos introduciendo nuevos desarrollos en la aplicación, sin olvidar mejorar lo que ya se ha hecho.



Varios puntos requieren desarrollo: debe tener en cuenta los modelos de teléfonos inteligentes recientemente lanzados y planificados, sin servicios de Google, cambiar a contrapartes rusas o desarrollar su propia solución.



All Articles