Cifrado, gestión de claves y destrucción de datos

Referencia para CISO, arquitectos de seguridad y auditores: perfil TLS, AES-256-GCM en reposo, rotación en AWS KMS, BYOK, gestión de secretos y garantías de destrucción.

Alcance de este documento

Esta página es la referencia criptográfica canónica de Zeuslock. Está dirigida a arquitectos de seguridad que realizan evaluaciones de proveedores, a CISOs que preparan revisiones de riesgo y a auditores que mapean nuestros controles frente a SOC 2 Tipo II, ISO 27001 y el ENS. Cada algoritmo, región y cadencia de rotación que aparece aquí coincide con la configuración desplegada en producción. Si necesita aclaraciones, su equipo de cuenta puede facilitarle bajo solicitud los identificadores de claves KMS, muestras de CloudTrail y el DPA.

Nuestro modelo de amenazas asume un adversario sofisticado y bien financiado, con acceso intermitente a rutas de red y la posibilidad de coacción legal sobre los proveedores de nube. Los controles descritos a continuación están diseñados para mantener la confidencialidad de los datos incluso en esos escenarios y para que los clientes de la Edición Soberana puedan revocar nuestro acceso en cualquier momento.

Cifrado en tránsito

Todo el tráfico entre la extensión de navegador, el agente de escritorio, la CLI y la Consola del Operador termina exclusivamente en TLS 1.3. Los protocolos anteriores (TLS 1.0, 1.1, 1.2) están desactivados en el balanceador. La selección de suites sigue el perfil Mozilla Modern: solo suites AEAD, ECDHE para Perfect Forward Secrecy y HTTP/2 como protocolo de aplicación.

La cabecera Strict-Transport-Security se sirve en cada respuesta con max-age=31536000; includeSubDomains; preload, y zeuslock.ai figura en la lista de precarga HSTS de Chromium. El agente de escritorio aplica además el pinning de certificado. Utilizamos varias ranuras de pin con ventanas de validez solapadas, de modo que la rotación de certificado nunca deje a un agente fuera de servicio: los operadores pueden desplegar un certificado nuevo semanas antes de retirar el pin antiguo.

Perfil TLS de un vistazo

PropiedadValor
ProtocoloTLS 1.3 únicamente
Intercambio de clavesECDHE (X25519, secp384r1)
SuitesAES-256-GCM, ChaCha20-Poly1305
HSTSmax-age=31536000; includeSubDomains; preload
PinningAgente de escritorio, multi-ranura
ALPNHTTP/2

Cifrado en reposo

Todos los datos persistidos se cifran con AES-256-GCM. Cada tenant de cliente está particionado a nivel de almacenamiento; ninguna consulta puede cruzar fronteras de tenant, ni siquiera con credenciales elevadas de base de datos. Las copias de seguridad se escriben en una cuenta de AWS independiente, cifradas con una clave KMS distinta y bloqueadas en regiones UE. La replicación entre regiones está desactivada por defecto y solo se habilita a petición explícita del cliente.

Matriz de cifrado

Clase de datosAlgoritmoCustodio de la clave (por defecto)Custodio (Soberana)
Incidentes y hallazgosAES-256-GCMKMS de Zeuslock (eu-west-3)KMS del cliente (BYOK)
Configuración de políticasAES-256-GCMKMS de Zeuslock (eu-west-3)KMS del cliente (BYOK)
Registros de auditoríaAES-256-GCMKMS de Zeuslock (eu-west-3)KMS del cliente (BYOK)
Copias de seguridadAES-256-GCMClave KMS dedicada a backupsKMS del cliente (BYOK)
Cargas en tránsitoTLS 1.3 (AES-256-GCM)Claves de sesión efímerasClaves de sesión efímeras

Gestión de claves

Tenants estándar: KMS gestionado por Zeuslock

Los planes estándar utilizan AWS KMS en eu-west-3 (París). Las claves maestras (CMK) se rotan automáticamente cada 365 días; existe rotación bajo demanda mediante nuestra API interna que se propaga a todos los recursos cifrados en cuestión de minutos. Las claves de datos se generan por objeto mediante GenerateDataKey, por lo que la misma DEK nunca se reutiliza entre clientes ni entre incidentes del mismo tenant.

El acceso a las operaciones administrativas de KMS está sujeto a doble control: ningún ingeniero por sí solo puede descifrar material del cliente ni deshabilitar una clave. Las políticas de clave restringen kms:Decrypt al rol de servicio de producción, y el acceso de emergencia (break-glass) exige dos SRE y un responsable de seguridad con tokens hardware independientes. Cada llamada Encrypt, Decrypt o GenerateDataKey emite un evento CloudTrail con el principal invocante, la IP de origen, el contexto de cifrado y el ID de la solicitud.

Edición Soberana: claves gestionadas por el cliente (BYOK)

Los clientes de la Edición Soberana aportan una clave AWS KMS en su propia cuenta AWS. Zeuslock recibe un grant entre cuentas, nunca una copia de la clave. El grant se limita a las operaciones estrictamente necesarias (Decrypt, GenerateDataKey) y excluye de forma explícita los verbos destructivos. Si el cliente revoca el grant o deshabilita la clave, Zeuslock pierde el acceso de inmediato y todo el material cifrado — incidentes, instantáneas de payload, registros de auditoría — queda ilegible.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ZeuslockProdGrant",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::ZEUSLOCK_PROD_ACCOUNT_ID:role/zeuslock-data-plane"
      },
      "Action": [
        "kms:Decrypt",
        "kms:GenerateDataKey",
        "kms:GenerateDataKeyWithoutPlaintext",
        "kms:DescribeKey"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "kms:ViaService": "dynamodb.eu-west-3.amazonaws.com",
          "kms:EncryptionContext:tenant_id": "${aws:PrincipalTag/TenantId}"
        }
      }
    },
    {
      "Sid": "DenyDestructive",
      "Effect": "Deny",
      "Principal": {
        "AWS": "arn:aws:iam::ZEUSLOCK_PROD_ACCOUNT_ID:role/zeuslock-data-plane"
      },
      "Action": [
        "kms:ScheduleKeyDeletion",
        "kms:DisableKey",
        "kms:PutKeyPolicy",
        "kms:RevokeGrant"
      ],
      "Resource": "*"
    }
  ]
}

El contexto de cifrado vincula cada operación a un identificador de tenant concreto: incluso un rol de plano de datos comprometido no podría descifrar datos de otro cliente. Recomendamos reproducir esta política tal cual, adaptando únicamente el ARN del principal y el esquema de etiqueta de tenant.

Cadencia de rotación

  • Claves de datos (DEK): rotación automática por objeto mediante GenerateDataKey. Sin reutilización.
  • Claves maestras (CMK): rotación anual por AWS KMS; recifrado inmediato de cabeceras, recifrado perezoso de cargas.
  • Bajo demanda: cualquier cliente puede solicitar una rotación fuera de ciclo mediante soporte o la API de gestión; la completamos en 24 horas y la confirmamos con un extracto CloudTrail.
  • Certificados TLS: rotados cada 90 días; las ranuras de pin se solapan al menos 30 días.

Gestión interna de secretos

Ningún secreto en claro reside jamás en el código fuente, en imágenes de contenedor, en variables de entorno ni en registros de CI. Las credenciales de producción se almacenan en AWS Secrets Manager y se obtienen en tiempo de ejecución mediante tokens de federación de corta duración (TTL de 1 hora) emitidos por AWS STS. Las claves de acceso IAM estáticas están prohibidas en producción y bloqueadas por una Service Control Policy.

Los desarrolladores no reciben nunca secretos de producción en sus estaciones de trabajo. El desarrollo local utiliza cuentas sandbox aisladas con datos sintéticos, y tanto los hooks pre-commit como la propia CLI de Zeuslock analizan cada commit en busca de patrones de credenciales antes del push.

Garantías de destrucción

Derecho de supresión (RGPD artículo 17)

Una solicitud de supresión enviada a través de la Consola del Operador o de la API REST desencadena un borrado definitivo en menos de 24 horas en el plano de datos vivo. Los mismos identificadores se purgan después de las copias rolling en un plazo de 30 días, en línea con la ventana de retención. Emitimos un certificado de supresión firmado al finalizar.

Baja de cliente

Cuando un cliente rescinde el contrato, primero realizamos el triturado criptográfico: se elimina la clave maestra del tenant, lo que vuelve matemáticamente irrecuperable cualquier blob cifrado en cuestión de segundos, incluidas las copias en curso. La eliminación física de los objetos de almacenamiento subyacentes se planifica y completa después en un máximo de 30 días. Los clientes de la Edición Soberana pueden ejecutar el triturado por sí mismos eliminando su clave KMS; no podemos bloquear ni retrasar esta acción.

Retención de copias

Las copias de seguridad se conservan en una ventana rolling de 30 días. Las instantáneas más antiguas se sobreescriben in situ; nunca archivamos datos de cliente en capas de almacenamiento frío sin consentimiento explícito.

Auditoría y transparencia

Cada operación criptográfica — handshakes TLS, llamadas KMS, recuperaciones de secretos — genera un registro estructurado reenviado a nuestro SIEM. Los registros de eventos KMS se conservan durante un año y pueden exportarse al cliente bajo solicitud, ya sea como volcado JSON de CloudTrail o como conciliación CSV. Los clientes de la Edición Soberana visualizan estos eventos directamente en su propio CloudTrail, sin intermediación.

Nuestros controles están alineados con SOC 2 Tipo II (Security, Availability, Confidentiality) y el Anexo A de ISO 27001. Nos auditan anualmente; el último informe y su bridge letter están disponibles bajo NDA.

FAQ

¿Puede Zeuslock descifrar mis datos si recibe un requerimiento de autoridades estadounidenses?

Edición Soberana: no. No tenemos la clave. Podemos entregar texto cifrado que somos incapaces de leer, y le notificaremos salvo prohibición legal expresa. Plan estándar: los datos se alojan en Francia y se procesan bajo derecho francés. Rechazamos las solicitudes extraterritoriales, exigimos el cauce de asistencia judicial recíproca (MLAT) y publicamos un informe de transparencia anual.

¿Qué algoritmos hash utilizan para identificadores sensibles?

SHA-256 con sal por tenant para cualquier uso criptográfico (búsquedas deterministas, huellas, deduplicación de identificadores sensibles). Empleamos BLAKE3 para la deduplicación no criptográfica de cargas grandes, donde prima la velocidad y las colisiones adversariales no forman parte del modelo de amenazas. MD5 y SHA-1 están proscritos en todo código nuevo.