Detección de ataques de inyección
- /iad (Injection Attack Detection)
Esta API, en el contexto de captura y evaluación facial, permite la detección de:
Vectores de ataque: cámaras virtuales, dispositivos externos, ataques al navegador, ataques de red.
Contenido de ataque: renderizado 3D, morphing facial, intercambio facial (face swap), cheap fake, deep fake.
Esta API requiere la integración del lado del cliente de las bibliotecas de captura IAD. La biblioteca de captura IAD (incluida en Selphi™) controla el proceso de captura en el cliente y genera el bundle IAD (paquete cifrado de metadatos e imágenes).
La API sabe cómo desempaquetar el bundle IAD del cliente para realizar tanto la detección de ataques por inyección como la detección de ataques de presentación.
Las operaciones soportadas son:
Detección de Ataques por Inyección: detección de ataques por inyección y de presentación.
Detección de Ataques de Inyección (Injection Attack Detection)
Solicitud:
bash
curl --location '{IDENTITY_API_BASE_URL}/iad' \
--header 'x-api-key: {API_KEY}' \
--header 'Content-Type: application/octet-stream' \
--data 'IAD_BUNDLE'Parámetros de la solicitud:
Campo
Requerido
Descripción
IAD_BUNDLE
Sí
Paquete cifrado de metadatos e imágenes. El bundle debe enviarse como una solicitud application/octet-stream.
Ejemplo de respuesta exitosa:
200 OK
Content-Type: application/json
json
Campo
Descripción
attack
Valor booleano que indica si se ha detectado un ataque. true: se detectó un ataque, false: no se detectó ningún ataque.
Ejemplo de respuesta fallida:
400 Bad Request
Content-Type: application/json
json
Código HTTP
Mensaje
Código de Error
Descripción en Español
400
Rostro no encontrado
FACE_NOT_FOUND
No se han detectado rostros en la imagen.
400
Rostro recortado
FACE_CROPPED
El rostro está solo parcialmente dentro de la imagen.
400
Rostro ocluido
FACE_IS_OCCLUDED
El rostro está parcialmente oculto detrás de un objeto.
400
Demasiados rostros detectados
TOO_MANY_FACES
Hay más de un rostro visible en la imagen.
400
El ángulo de rotación facial fuera del plano es extremadamente grande
FACE_ANGLE_TOO_LARGE
El ángulo del rostro correspondiente al punto de vista de la cámara es demasiado grande.
400
El tamaño absoluto del rostro es demasiado pequeño
FACE_TOO_SMALL
La densidad de píxeles del rostro es demasiado baja; debería estar más cerca del punto de vista de la cámara o la imagen debería tener mayor resolución.
400
El tamaño relativo del rostro es demasiado pequeño
FACE_TOO_SMALL
El rostro es demasiado pequeño; debería estar más cerca del punto de vista de la cámara para que ocupe una porción mayor de la imagen.
400
El rostro está demasiado cerca de uno o más bordes
FACE_CLOSE_TO_BORDER
El rostro está demasiado cerca del límite del punto de vista de la cámara; debería estar centrado respecto a la vista de la cámara.
400
Error al analizar el archivo
UNKNOWN
El archivo no es un payload blob cifrado correcto o está corrupto.
400
Error al leer los metadatos
UNKNOWN
Los datos del blob cifrado no se generaron con el formato correcto.
400
Error al descifrar el mensaje
UNKNOWN
El par de claves pública-privada configurado en el servidor y la biblioteca de captura es incorrecto.
Integración del lado del cliente
Para generar el payload blob cifrado, necesita utilizar la versión del Widget Antispoof de Selphi y capturar el evento "onExtractionFinished". El evento devolverá un objeto con los resultados del proceso de extracción facial. Una de las propiedades de este objeto es "encryptedLivenessRaw", que contiene el payload blob cifrado.
Ahora estamos listos para enviar el payload blob cifrado a su servidor utilizando una solicitud POST. Puede utilizar cualquier biblioteca cliente HTTP que prefiera, como Axios o Fetch.
Su servidor debe recibir este payload y enviarlo al endpoint IAD de Identity Api. Identity Api devolverá los resultados en un objeto JSON indicando si pasa las validaciones.
javascript
Last updated