ZTXBAS
Autenticación biométrica resistente al phishing para aplicaciones modernas
Como producto independiente, ZTXBAS es un servidor de autenticación biométrica gratuito y autoalojado para desarrolladores que quieren añadir autenticación biométrica a sus propias aplicaciones. Ejecute un contenedor, apunte una aplicación de ejemplo hacia él, escanee un QR con la aplicación móvil ZTXBAS y obtenga un inicio de sesión biométrico resistente al phishing sin cuenta de CoreZT, servidor de licencias ni dependencia de conexión a servicios de CoreZT.
ZTXBAS también está disponible como capacidad licenciada dentro de ZTXGate. En ese modelo está estrechamente integrado como biblioteca y no requiere un despliegue separado del servidor ZTXBAS. La capacidad integrada funciona en despliegues ZTXGate conectados, locales, híbridos y completamente aislados.
El problema de la MFA tradicional
- Los códigos SMS pueden ser interceptados mediante SIM swapping.
- Los tokens TOTP pueden ser capturados por proxies de phishing en tiempo real.
- Las notificaciones push pueden caer ante ataques de fatiga de MFA.
- Los tokens de hardware son costosos y fáciles de perder.
La MFA tradicional fue diseñada para otra época. El phishing moderno opera en tiempo real, retransmitiendo credenciales y códigos al instante.
Cómo funciona ZTXBAS
ZTXBAS combina verificación biométrica con vinculación al origen criptográfica: cada solicitud de autenticación queda vinculada al origen de su aplicación, por lo que una aprobación robada en phishing.example.com no puede reutilizarse contra app.example.com.

Flujo de autenticación
- El usuario inicia sesión en su aplicación.
- Su aplicación llama a
POST /v1/auth/challengecon el identificador del usuario y el origen. - ZTXBAS valida el origen frente a los registrados para su aplicación y envía un desafío al teléfono del usuario.
- El usuario aprueba mediante Face ID / Touch ID / huella dactilar.
- Su aplicación consulta
GET /v1/auth/status/{id}o recibe un webhook firmado. Si tiene éxito, obtiene una aserción de identidad JWT ES256 de corta duración vinculada al usuario y al origen. - Su aplicación verifica el JWT frente al JWKS público en
/.well-known/jwks.jsony crea su propia sesión.
El JWT es el límite de seguridad: las RP nunca tienen que confiar únicamente en el transporte.
Por qué ZTXBAS es resistente al phishing
- Vinculación al origen. Cada desafío se vincula a un origen registrado; la aplicación móvil muestra ese origen al usuario antes de que lo apruebe.
- Claves vinculadas al dispositivo. Las claves privadas permanecen en Secure Enclave / TEE. Las plantillas biométricas nunca salen del dispositivo.
- Sin secretos compartidos. No hay nada que interceptar, capturar mediante phishing o reutilizar: solo aserciones firmadas de corta duración.
Qué obtiene
Servidor ZTXBAS
Un único contenedor. SQLite (WAL) para almacenamiento; no hay nada más que desplegar.
- API firmada con HMAC-SHA256, aproximadamente una docena de endpoints
- Aserciones de identidad JWT firmadas + JWKS público
- Webhooks con payloads firmados mediante HMAC y reintentos
- Consola de administración integrada (aplicaciones, usuarios, orígenes y desafíos activos)
- Registros JSON estructurados y limitación de tasa por aplicación
- HTTPS en producción; HTTP permitido en
127.0.0.1para desarrollo
Distribución:
- Imagen OCI en GitHub Container Registry:
ghcr.io/corezt/ztxbas - Binarios Linux estáticos (amd64, arm64) en la página de releases de GitHub
Aplicación móvil ZTXBAS
La misma aplicación se utiliza tanto para ZTXBAS como para ZTXGate: actualice el servidor más adelante sin tocar los teléfonos.
- iOS — Face ID / Touch ID, almacenamiento de claves en Secure Enclave, iOS 14+ App Store
- Android — huella dactilar / rostro, keystore respaldado por hardware, Android 8+ Google Play
SDK
Los SDK oficiales gestionan la firma HMAC, el polling y la verificación JWT:
- Go —
github.com/corezt/ztxbas/sdk-go - Node / TypeScript —
@corezt/ztxbas - Python —
corezt-ztxbas
ZTXBAS con ZTXGate
ZTXBAS independiente y ZTXBAS integrado en ZTXGate utilizan el mismo autenticador móvil, pero tienen modelos de despliegue diferentes.
| Modelo de uso | ZTXBAS independiente | ZTXBAS con ZTXGate |
|---|---|---|
| Propósito principal | Añadir autenticación biométrica a su propia aplicación | Autenticación biométrica adicional dentro de la política de acceso de ZTXGate |
| Modelo de precios | Producto independiente gratuito | Capacidad licenciada de ZTXGate |
| Despliegue de servidor | Servidor/contenedor ZTXBAS separado | Sin servidor ZTXBAS separado; estrechamente integrado como biblioteca |
| Despliegue conectado | Sí | Sí |
| Despliegue aislado | Sí | Sí |
| Aplicación móvil | Aplicación móvil ZTXBAS | La misma aplicación móvil ZTXBAS |
Si integra autenticación biométrica directamente en una aplicación, utilice ZTXBAS independiente. Si utiliza ZTXGate, la capacidad integrada licenciada forma parte de la arquitectura de acceso de ZTXGate, en lugar de ser otro servidor que deba instalarse y mantenerse.
Integración
# Solicitar un desafío de autenticación
curl -X POST https://ztxbas.example.com/v1/auth/challenge \
-H "X-Application-ID: app_a1b2c3d4e5" \
-H "X-Signature: <HMAC-SHA256 signature>" \
-H "Content-Type: application/json" \
-d '{
"email": "alice@example.com",
"origin": "https://app.example.com"
}'
# Respuesta
{
"challenge_id": "ch_abc123",
"expires_in": 120,
"origin_display": "Example App",
"origin_url": "https://app.example.com",
"challenge_hmac": "..."
}
Los SDK firman por usted; hacerlo a mano resulta engorroso. Consulte la guía Primeros pasos para ver un ejemplo completo de extremo a extremo.
Postura de seguridad
- HTTPS obligatorio en producción; HTTP solo en loopback
- Firmas de solicitudes HMAC-SHA256 y comparaciones resistentes a ataques de temporización
- Clave de firma JWT generada automáticamente en la primera ejecución, modo de archivo 0600
- Consola de administración: hash de contraseña PBKDF2-HMAC-SHA256 (600 mil iteraciones), cookies de sesión y protección biométrica opcional mediante el propio ZTXBAS
- SQLite en modo WAL, modo de archivo 0600
- Sin secretos en los registros; JSON estructurado en stdout
- Limitación de tasa por aplicación en endpoints públicos y por IP en administración
Todos los detalles están en la guía de endurecimiento.
Precios del producto independiente
ZTXBAS independiente es gratuito. Los binarios descargables y las imágenes de contenedor están disponibles en GitHub bajo el EULA de CoreZT. No se requiere cuenta de CoreZT, telemetría ni servidor de licencias para el producto independiente.
La capacidad ZTXBAS integrada con ZTXGate se licencia como parte del modelo de despliegue de ZTXGate.
Preguntas frecuentes
¿Qué ocurre si un usuario pierde su teléfono?
Anule el registro del usuario mediante DELETE /v1/users/{id} (o desde la consola de administración): las claves del dispositivo quedan invalidadas inmediatamente. Regístrelo de nuevo con un dispositivo nuevo mediante su flujo de recuperación de cuenta.
¿Funciona ZTXBAS independiente sin conexión a Internet?
Sí. ZTXBAS independiente es autoalojado y puede ejecutarse en una red aislada. Se requiere SMTP para los correos de registro, por lo que un despliegue aislado puede utilizar un relay interno. La capacidad ZTXBAS licenciada e integrada con ZTXGate también funciona en despliegues ZTXGate aislados sin un servidor ZTXBAS separado.
¿Cómo se compara ZTXBAS con passkeys / WebAuthn?
Ambos son resistentes al phishing. Las passkeys son nativas del navegador y resultan excelentes cuando el cliente es un navegador que usted controla. ZTXBAS es un flujo push mediado por servidor que funciona desde cualquier cliente (aplicación móvil, CLI, servicio a servicio) y le proporciona un único JWT firmado para consumir en el servidor. Son complementarios: utilice passkeys para el inicio de sesión en navegador y ZTXBAS para autenticación adicional, móvil o flujos sin navegador.
¿Está ZTXBAS certificado por FIDO?
No. ZTXBAS utiliza primitivas criptográficas similares (ECDSA en el dispositivo, HMAC en el canal y JWT hacia la RP), pero no está certificado por FIDO.
¿Cuándo necesito ZTXGate en su lugar?
ZTXBAS independiente gestiona una aplicación por instancia, de forma autoalojada, con una consola de administración local. Si necesita multitenencia, RBAC y SSO administrativos, SCIM, integración de postura del dispositivo, exportación SIEM o aplicación a nivel de red (VPN / RDP / SSH / aplicaciones heredadas), eso es ZTXGate. Cuando ZTXBAS se licencia con ZTXGate, se integra como biblioteca en lugar de desplegarse como un servidor ZTXBAS separado.
Empezar
Desarrollado por CoreZT · Para Zero Trust a nivel de red, consulte ZTXGate →