Blog de Amazon Web Services (AWS)
Mejorar la prevención de fraudes en las instituciones financieras mediante la creación de una solución de detección de vida
Por Rafael Werneck, Arquitecto de Soluciones de R&D con sede en Brasil en AWS
Henrique Fugita, Arquitecto de R&D en AWS en Brasil
João Paulo Aragão, Arquitecto de Soluciones de AWS centrado en el sector de servicios financieros (LATAM)
El reconocimiento facial es una herramienta importante para identificar a una persona. Los sistemas de reconocimiento facial son populares en Brasil y en todo el mundo, se utilizan para prevenir el fraude, especialmente en instituciones financieras como bancos y aseguradoras.
Aunque los sistemas de reconocimiento facial son relativamente nuevos, los falsificadores ya han descubierto formas de eludirlos, incluyendo caras falsas, usando máscaras, fotos o videos. Estos ataques de suplantación pueden debilitar el flujo de reconocimiento facial para autenticar o autorizar cualquier pago. Sin embargo, este fracaso en el reconocimiento puede superarse mediante la detección de vida. Nuestro enfoque para realizar la detección de vida es mediante un desafío (por ejemplo movimiento de nariz) y respuesta usando los servicios de AWS como Amazon Rekognition, Amazon API Gateway, AWS Lambda y Amazon DynamoDB.
Por ejemplo, en el nuevo Sistema de Pago Instantáneo (PIX) del Banco Central de Brasil (BACEN), se permite el reconocimiento biométrico, incluido el reconocimiento facial, como opción para autorizar pagos y transacciones. Las validaciones de seguridad pueden incluir una solicitud de autenticación sin conexión al generar un código QR, como el uso de biometría. Al agregar el paso de detección de vida, puede mejorar la prevención y mitigación del fraude en este tipo de operaciones financieras.
La idea de esta solución es encontrar un equilibrio entre un flujo sin fricción, mejorando la experiencia del usuario y tratando de reducir los intentos de suplantación falsa.
Ventajas
Las ventajas de una solución de detección de vida para las instituciones financieras incluyen:
- Múltiples aplicaciones (sitios web, aplicaciones móviles, cajeros automáticos, quioscos, etc.).
- Capacidad de implementarse como autenticación sin contraseña (sin fricción).
- Alternativa a la demanda actual sin contacto, debido a la contaminación por contacto (pandemia COVID-19).
- La capacidad de detectar si hay más de una persona en el cuadro delimitador.
- Rastreador facial en el cuadro delimitador, evitando que otra persona continúe el proceso una vez iniciado.
- Coincidencia de cara.
- Detección de vida.
- Capacidad de proporcionar un desafío activo (movimiento de la nariz a puntos aleatorios, evitando movimientos repetitivos, etc.)
- Solución de bajo costo.
- Utilizar los servicios de AWS en la arquitectura back-end de la solución, lo que facilita la integración con otros servicios de AWS como Amazon S3 o Amazon Textract (identifique el contenido de los campos de los formularios y la información almacenada en las tablas).
- Solución escalable y de alta disponibilidad.
- El almacenamiento de fotos del cliente es opcional.
¿Qué es la prueba de la vida?
La detección de vida es cualquier técnica utilizada para detectar un intento de falsificación, determinando si la fuente de una muestra biométrica es un ser humano vivo o una representación falsa. Esto se logra a través de algoritmos, que analizan los datos recopilados de sensores/cámaras para determinar si la fuente está viva o reproducida.
Existen dos categorías principales de detección de vida:
- Activo: pide al usuario que realice una acción que no se puede replicar fácilmente con una suplantación. También puede incorporar diversas modalidades, como el reconocimiento de voz. Puede analizar el movimiento de la boca, los ojos, la nariz, etc. para determinar la vivacidad.
- Pasivo: utiliza algoritmos para detectar indicadores de una imagen no viva sin interacción del usuario. La captura de datos biométricos de alta calidad durante el registro, por ejemplo, mejora el rendimiento de la correspondencia facial.
¿Por qué prueba de vida?
La importancia de la identificación en la sociedad moderna se ha visto reforzada por la necesidad de sistemas de gestión de la identidad a gran escala, cuya funcionalidad depende de la identificación precisa de una persona en la estructura de aplicaciones de las instituciones financieras.
Ejemplos de estas aplicaciones incluyen la realización de transacciones financieras remotas o el enrolamiento de un nuevo usuario/miembro/participante. La tarea principal de un sistema de seguridad es verificar la identidad de una persona, y uno de los principales desafíos mencionados por los bancos es prevenir el fraude y la posible pérdida de datos y dinero, incluso a través de canales de acceso digital. Actualmente, las instituciones financieras se centran en impedir el acceso no autorizado a las cuentas bancarias de los clientes.
A continuación, se presentan otras razones que apoyan el uso del reconocimiento biométrico (facial) asociado con la detección de vida:
- Evite pérdidas recurrentes de dinero con estafas.
- Alternativa a la contraseña en el proceso de autenticación/autorización.
- Registro de nuevos clientes en regiones remotas de un país.
¿Dónde podría aplicarse esta solución?
En resumen, se puede aplicar en situaciones en las que se requiere autenticación y autorización, para cualquier institución financiera:
- Aplicaciones de bancos, aseguradoras de dispositivos móviles personales.
- Cajeros de autoservicio.
- Asociación con reguladores como el Servicio de Protección del Crédito, Federaciones Bancarias, etc.
- Tarjeta de beneficios para revalidar usuarios.
- Incorporar en el proceso de incorporación de empleados y clientes de Instituciones Financieras.
¿Cómo?
Los métodos de biometría facial tienen en cuenta algunos puntos en la cara durante el proceso de identificación. La mayoría de ellos se pueden dividir en soluciones 2D (dos dimensiones) y 3D (3 dimensiones).
La solución dos dimensiones (2D)
- Tiene en cuenta la altura y el ancho de la cara durante el proceso de identificación y medición de los puntos nodales de la cara (distancia entre los ojos o la boca de la nariz, etc.).
- Depende de la cooperación del usuario, que debe mirar directamente a la cámara (móvil o portátil) para capturar su imagen y hacer reconocimiento.
La solución tres dimensiones (3D):
- Captura la topografía de la cara en detalle. Al igual que en el sistema 2D, la imagen se transforma en un código biométrico, una especie de firma facial única.
- El individuo no necesita ponerse de pie mirando la cámara para hacer el reconocimiento.
La idea de nuestra solución es imitar una solución 3D, utilizando un sistema de reconocimiento facial (Amazon Rekognition) y calculando la distancia euclidiana, normalizada por el número total de puntos, resultando en una solución de detección de vida en modo activo.
En nuestro caso, tenemos 30 puntos de referencia faciales, capturados por Amazon Rekognition (operación DetectFaces). Esto permite capturar el movimiento de la nariz y la rotación de la cabeza.
El desafío del movimiento de la nariz se realiza con un cuadrado en la pantalla, que aparece al azar, en el que el cliente/usuario debe asociar la punta de la nariz al cuadrado una vez. La aplicación podría incluir más de un desafío, como 2 movimientos de la nariz y en consecuencia de la cabeza, o parpadeo de los ojos, etc.
La operación DetectFaces devuelve la siguiente información para cada cara detectada:
- Cuadro delimitador: las coordenadas del cuadro delimitador que rodea la cara.
- Confianza: nivel de confianza de que el cuadro delimitador contiene una cara.
- Puntos faciales — Una variedad de puntos de referencia faciales. Para cada punto de referencia (como el ojo izquierdo, el ojo derecho y la boca), la respuesta proporciona coordenadas x,y.
- Atributos faciales: comprueba si la cara tiene barba o no. Para cada atributo, la respuesta proporciona un valor. El valor puede ser de diferentes tipos, como una secuencia (si la persona es hombre o mujer). Además, para la mayoría de los atributos, la respuesta también proporciona confianza en el valor detectado para el atributo.
- Calidad — Descripción del brillo y nitidez de la cara.
- Pose: describe la rotación de la cara dentro de la imagen.
- Emociones — un conjunto de emociones con tasas de confianza.
Puede utilizar la combinación de datos BoundingBox y Pose para dibujar el cuadro delimitador alrededor de las caras mostradas por la aplicación.
De forma predeterminada, la API DetectFaces devuelve sólo los siguientes 5 atributos faciales: Cuadro delimitador, confianza, pose, calidad y puntos faciales. Los puntos de referencia predeterminados devueltos son: Ojo izquierdo, ojo derecho, nariz, boca izquierda y boca derecha (5). Para obtener todos los puntos de referencia faciales (30), representados en la siguiente ilustración, en la respuesta, debe llamar a la API que especifica el parámetro de atributo con el valor ALL.
Definición de la arquitectura
La arquitectura sin servidor (servlerless) que se presenta a continuación, es una posible solución para detección de vida en un proceso de autenticación y autorización de pago, por ejemplo, utilizando una aplicación en un teléfono móvil o computadora.
La siguiente tabla describe cada componente de la arquitectura:
Componente | Descripción | |
Aplicación cliente | Aplicación cliente a través de la cual los usuarios finales pueden acceder a la experiencia de desafío de detección de animación. La aplicación puede capturar y cargar fotogramas de vídeo y llamar a una API del lado del servidor para ejecutar la lógica de detección de animación en la nube. Además, para proporcionar retroalimentación en tiempo real a los usuarios mientras interactúan con la cámara en el dispositivo, parte de la lógica de desafío también se puede ejecutar localmente en la aplicación cliente. | |
Terminal de puerta de enlace de API | Amazon API Gateway se puede utilizar para exponer una API REST/HTTP para iniciar y verificar un desafío de detección de vida. | |
Lambda (función) |
|
|
Imagen de Amazon Rekognition | La función AWS Lambda puede utilizar Amazon Rekognition Image para verificar un desafío. Proporciona las API de detección facial, capaces de identificar caras en una imagen, junto con su posición y puntos de referencia (ojos, nariz o boca, etc.) | |
DynamoDB (tabla) | Una tabla de Amazon DynamoDB puede almacenar información sobre los intentos de desafío de cada usuario, como el ID de usuario, la marca de tiempo y los parámetros relacionados con el desafío (coordenadas de posición del área de cara, coordenadas de posición de nariz, etc.) |
Aplicación de cliente móvil
Una aplicación móvil se puede diseñar para permitir a los usuarios acceder al desafío de detección de animación proporcionado por la arquitectura anterior.
- Para iniciar un desafío en la aplicación, se envía una solicitud a la API de back-end; la respuesta de API contiene todos los parámetros de desafío. En caso de que el usuario tenga que mover la punta de la nariz a un área, el área de la nariz objetivo se incluirá en la respuesta de la API.
- Se mostrará una pantalla con la vista previa en tiempo real de la cámara del dispositivo, proporcionando instrucciones sobre lo que el usuario debe hacer, como se muestra en las siguientes capturas de pantalla:
- La lógica de desafío también se ejecuta localmente en la aplicación cliente para proporcionar comentarios en tiempo real al usuario. Una vez completada con éxito el desafío localmente (por ejemplo, el usuario movió la punta de la nariz al área de destino), los fotogramas capturados durante el proceso se enviarían a la API para la validación final del desafío en la nube.
El desafío puede fallar por las siguientes razones:
- Más de una cara detectada;
- La cara detectada es diferente de la primera cara que se detectó (función de seguimiento facial);
- No se detecta ninguna cara después de que se detectó la primera cara (por ejemplo, el usuario deja de mirar la cámara);
- La cara se mueve fuera de la zona Exceder el límite de tiempo en uno de los estados (por ejemplo, el usuario tarda más de 10 segundos en mover la nariz a la posición designada).
Conclusión
En este blog (parte 1 de 2), mostramos una arquitectura para crear una solución de detección de vida, con el fin de complementar el reconocimiento facial. Se puede utilizar en el proceso de autenticación y autorización combinando solo servicios de AWS como Amazon Rekognition, Amazon API Gateway, AWS Lambda y Amazon DynamoDB. Además, puede mejorar el factor de seguridad encadenando otros desafíos en función de los números de documento (recopilando a través de Amazon Textract) y otros tipos de autenticación, como Multi-Factor (Amazon Cognito).
El punto de partida para la construcción de la solución fue satisfacer una creciente demanda de la mayoría de las Instituciones Financieras de la región latinoamericana. Por esta razón, se están construyendo soluciones web y móviles. Esto se está logrando como un trabajo transversal entre el equipo de innovación en I+D de AWS LATAM y el Arquitecto de Soluciones centrado en Servicios Financieros (LATAM).
Este artículo fue traducido del Blog de AWS en Portugués.
Sobre los autores
Rafael Werneck es un arquitecto de soluciones de R&D con sede en Brasil en AWS. Anteriormente, trabajó como ingeniero de desarrollo de software en Amazon.com y Amazon RDS Performance Insights.
Henrique Fugita es arquitecto de R&D en AWS en Brasil. Ayuda a los clientes a innovar utilizando la nube de AWS mediante la creación de prototipos funcionales. Con más de 15 años de experiencia en desarrollo de software y arquitectura de soluciones, actualmente se centra en la inteligencia artificial y el aprendizaje automático.
João Paulo Aragão Pereira es un arquitecto de soluciones de AWS centrado en el sector de servicios financieros (LATAM) y sus principales áreas de interés son: prevención y detección de fraudes, API abierta, modernización de sistemas heredados. Ha trabajado con arquitectura en bancos y aseguradoras durante más de 15 años.
Revisor
Gabriel Gasca Torres es Solutions Architect WWPS en AWS México.