Deteccion de vida e identidad digital en Indonesia: enfoques tecnicos para la prevencion del fraude
Engineering Team
¿Que es la deteccion de vida y por que la necesita Indonesia?
La deteccion de vida es una tecnologia que determina si una muestra biometrica (como una imagen facial) proviene de una persona real, fisicamente presente en lugar de un artefacto de suplantacion como una fotografia impresa, una reproduccion de pantalla, una mascara de silicona o un video deepfake. En el contexto del Reglamento KOMDIGI No. 7 de 2026 de Indonesia, la deteccion de vida es un componente obligatorio de todos los sistemas de verificacion biometrica de tarjetas SIM.
Los riesgos son enormes. Indonesia perdio aproximadamente 7 billones de rupias (407 millones de dolares) por ciberdelincuencia en 2025, segun datos de la Agencia Nacional de Ciberseguridad y Criptografia (BSSN). Solo el fraude por SIM-swap represento 1,2 billones de rupias (70 millones de dolares) de esas perdidas. Sin una deteccion de vida robusta, un sistema de verificacion biometrica es solo teatro de seguridad — un atacante puede presentar una foto o video de alta resolucion de la victima y pasar los controles de reconocimiento facial.
El panorama de amenazas: ataques de presentacion
Los ataques de presentacion (tambien llamados ataques de suplantacion) contra sistemas de reconocimiento facial se dividen en varias categorias, cada una requiriendo diferentes estrategias de deteccion:
Nivel 1: Ataques de impresion
El ataque mas simple usa una fotografia impresa de la persona objetivo. Es sorprendentemente efectivo contra sistemas basicos de reconocimiento facial sin deteccion de vida. El atacante imprime una foto de alta resolucion en papel satinado y la sostiene frente a la camara.
Metodos de deteccion:
- Analisis de textura (deteccion de patrones de impresion, efecto moire)
- Deteccion de bordes (los bordes del papel son visibles en el cuadro)
- Analisis de reflexion (el papel refleja la luz de manera diferente a la piel)
- Analisis de movimiento (los patrones de movimiento de una superficie 2D difieren de un rostro 3D)
Nivel 2: Ataques de reproduccion de pantalla
El atacante muestra un video del objetivo en una pantalla de telefono, tableta o laptop. Mas sofisticado que el ataque de impresion porque puede simular movimientos faciales como parpadeo y movimientos de cabeza.
Metodos de deteccion:
- Deteccion de pantalla (identificacion de patrones de cuadricula de pixeles, bordes de pantalla)
- Analisis de patron moire (los pixeles mostrados en pantalla producen patrones de interferencia)
- Prueba de reflexion con flash (uso del flash del dispositivo para detectar la uniformidad de la reflexion de la pantalla)
- Analisis de flujo optico (el video en pantalla tiene diferentes caracteristicas opticas)
Nivel 3: Ataques de mascara 3D
El ataque mas sofisticado usa mascaras impresas en 3D o de silicona que replican el rostro del objetivo. Estas mascaras pueden incluir texturas de piel realistas, agujeros para los ojos y aberturas para la boca.
Metodos de deteccion:
- Deteccion de profundidad (uso de sensores de luz estructurada o ToF para detectar areas planas)
- Analisis espectral de la piel (la piel real tiene caracteristicas de reflexion unicas en el espectro infrarrojo cercano)
- Analisis de micro-movimientos (las microexpresiones y los movimientos cutaneos causados por el pulso no existen en las mascaras)
- Deteccion de temperatura (requiere camara termica — las mascaras tienen una temperatura diferente al rostro)
Nivel 4: Deepfakes e inyeccion digital
Los ataques mas avanzados usan videos deepfake generados por IA o inyectan directamente cuadros sinteticos en la pipeline de la camara. El atacante puede secuestrar el controlador de la camara o usar software de camara virtual.
Metodos de deteccion:
- Verificacion de integridad del dispositivo (verificar que el hardware de la camara no ha sido manipulado)
- Deteccion de inyeccion (detectar controladores de camara virtual o inyeccion de cuadros)
- Analisis de artefactos GAN (los deepfakes tipicamente tienen artefactos en bordes, cabello y dientes)
- Prueba de desafio-respuesta (solicitar al usuario ejecutar una secuencia de acciones aleatorias — los deepfakes en tiempo real tienen dificultad para reproducir con precision)
ISO/IEC 30107-3: estandar de deteccion de ataques de presentacion
ISO/IEC 30107-3 es el estandar internacional para evaluar las capacidades de Deteccion de Ataques de Presentacion (PAD) de los sistemas biometricos. El reglamento KOMDIGI requiere que todos los proveedores de SDK biometricos aprueben las pruebas PAD de nivel 2 o superior.
El estandar define dos metricas clave:
- APCER (Tasa de Error de Clasificacion de Presentacion de Ataque): Porcentaje de ataques incorrectamente aceptados como reales
- BPCER (Tasa de Error de Clasificacion de Presentacion Genuina): Porcentaje de usuarios reales incorrectamente rechazados como ataques
| Nivel PAD | Requisito APCER | Tipos de ataque |
|---|---|---|
| Nivel 1 | ≤ 5% | Fotos impresas, reproduccion de pantalla |
| Nivel 2 | ≤ 2,5% | Nivel 1 + mascaras de papel, ataques 2D curvados |
| Nivel 3 | ≤ 1% | Nivel 2 + mascaras 3D, ataques parciales |
Para la verificacion SIM en Indonesia, el cumplimiento de nivel 2 es el requisito minimo. Los servicios financieros (bajo regulacion OJK) pueden requerir cumplimiento de nivel 3 para un mayor nivel de seguridad.
Arquitectura tecnica de deteccion de vida
Deteccion de vida pasiva vs activa
Los dos enfoques principales de deteccion de vida tienen sus respectivas ventajas y desventajas:
La deteccion de vida pasiva analiza una sola imagen o un video corto sin que el usuario lo sepa. La experiencia del usuario es fluida — solo necesita mirar a la camara.
- Ventajas: excelente UX, rapida, accesible
- Desventajas: menor resistencia a ataques avanzados
La deteccion de vida activa requiere que el usuario realice acciones especificas (girar la cabeza, parpadear, sonreir) para demostrar que es una persona real.
- Ventajas: mayor resistencia a ataques de suplantacion
- Desventajas: UX inferior, potencialmente inaccesible para personas con discapacidad, mayor duracion
Enfoque hibrido recomendado
Para el escenario de verificacion SIM en Indonesia, recomendamos un enfoque hibrido que combine las ventajas de ambas tecnicas:
- Verificacion pasiva inicial: Ejecucion de la deteccion de vida pasiva durante la captura (<500ms)
- Evaluacion de riesgo: Si la confianza de la deteccion pasiva esta por debajo del umbral (ej. <0.85), activar desafio activo
- Desafio activo: Solicitar al usuario realizar una accion aleatoria simple (ej. girar la cabeza a la izquierda)
- Decision final: Combinacion de puntajes pasivo y activo para la decision final
Pipeline de deteccion de vida en Rust
use serde::{Deserialize, Serialize};
#[derive(Debug, Serialize, Deserialize)]
pub struct LivenessResult {
pub is_live: bool,
pub confidence: f64,
pub method: LivenessMethod,
pub attack_scores: AttackScores,
}
impl LivenessDetector {
pub async fn check_hybrid(
&self,
frames: &[CaptureFrame],
challenge: &Challenge,
) -> Result<LivenessResult, LivenessError> {
// 1. Verificacion pasiva primero
let passive = self.check_passive(&frames[0]).await?;
if passive.confidence >= 0.95 {
return Ok(passive);
}
// 2. Verificacion activa si el puntaje pasivo es insuficiente
let active_features = self.active_model
.analyze_sequence(frames, challenge)?;
let combined_confidence =
passive.confidence * 0.4 + active_features.confidence * 0.6;
Ok(LivenessResult {
is_live: combined_confidence >= self.threshold_active,
confidence: combined_confidence,
method: LivenessMethod::Hybrid,
attack_scores: passive.attack_scores,
})
}
}
Despliegue de modelos y optimizacion
El despliegue de deteccion de vida en Indonesia requiere considerar varios factores practicos:
Diversidad de dispositivos
Indonesia tiene un ecosistema de smartphones extremadamente diverso. Entre los 345 millones de tarjetas SIM activas, muchos dispositivos son telefonos Android de gama baja a media. Su solucion de deteccion de vida debe funcionar de forma fiable en:
- Gama baja: 2GB RAM, procesador quad-core, camara frontal VGA
- Gama media: 4-6GB RAM, procesador octa-core, camara frontal 8MP
- Gama alta: 8GB+ RAM, procesador flagship, camara frontal con deteccion de profundidad
Tamano del modelo y tiempo de inferencia
| Metodo de despliegue | Tamano del modelo | Tiempo de inferencia | Precision |
|---|---|---|---|
| En dispositivo (TensorFlow Lite) | 5-15 MB | 50-200ms | 92-96% |
| En dispositivo (ONNX Runtime) | 10-25 MB | 30-150ms | 93-97% |
| Lado servidor (TensorRT) | 50-200 MB | 10-50ms | 97-99% |
| Hibrido | 10 MB (dispositivo) + 100 MB (servidor) | 100-250ms total | 96-99% |
Preguntas frecuentes
¿Se puede eludir la deteccion de vida?
Ningun sistema de deteccion de vida es perfecto. Los ataques mas avanzados (particularmente los ataques de inyeccion digital de nivel 4) pueden eludir la tecnologia actual. Por eso un enfoque multicapa es esencial — combinando deteccion pasiva, desafio activo, verificacion de integridad del dispositivo y analisis de comportamiento. El objetivo de seguridad no es alcanzar el 100% de proteccion, sino hacer que el costo del ataque sea suficientemente alto para disuadir a la mayoria de los atacantes.
¿Cual es la precision de los sistemas de deteccion de vida?
Los sistemas modernos de deteccion de vida pueden alcanzar una precision del 97-99% en condiciones estandar. Sin embargo, la precision se ve afectada por las condiciones de iluminacion, la calidad de la camara y la cooperacion del usuario. El reglamento KOMDIGI exige una precision minima del 95%, con un margen del 5% para la tasa de falso rechazo (FRR).
¿Como elegir un SDK de deteccion de vida?
Al elegir un SDK, considere: estado de certificacion KOMDIGI, nivel de conformidad ISO/IEC 30107-3, rango de compatibilidad de dispositivos, capacidades offline, impacto del tamano del SDK en el tamano de la app, modelo de precios y calidad del soporte tecnico. Recomendamos realizar benchmarks con su propio conjunto de datos antes de decidir.