Tema representativo de entrevista

Entrevista de diseño de sistemas: ¿Cómo construirías un servicio de inventario criptográfico auditable?

Diseño de sistemasDifícil
Equipo editorial de Offer.ccPublicado Actualizado

Pregunta

Una empresa se está preparando para la migración poscuántica, pero no puede identificar qué sistemas utilizan RSA, curvas elípticas o claves compartidas. Diseña un servicio de inventario criptográfico que cubra recolección, deduplicación, puntuación de riesgos, control de acceso, detección de cambios y traspaso para la migración.

Planteamiento y alcance

Una empresa se está preparando para la migración poscuántica, pero no puede identificar qué sistemas utilizan RSA, curvas elípticas o claves compartidas. Diseña un servicio de inventario criptográfico que cubra recolección, deduplicación, puntuación de riesgos, control de acceso, detección de cambios y traspaso para la migración.

Esta es una pregunta de diseño de gobernanza de activos, no una solicitud para predecir cuándo llegarán las computadoras cuánticas. El RFC 9958 vincula inventarios, uso de establecimiento de claves versus firmas, agilidad criptográfica y evidencia de migración; el NIST ha finalizado los estándares ML-KEM, ML-DSA y SLH-DSA.

Qué evalúa el entrevistador

  • Distinguir entre algoritmos, claves, certificados, suites de protocolos y tiempos de vida de los datos.
  • Conectar escaneos de código, telemetría en tiempo de ejecución, datos de certificados y API de HSM en hechos rastreables.
  • Manejar hallazgos duplicados, registros obsoletos, algoritmos desconocidos y proveedores opacos.
  • Diseñar aislamiento de inquilinos, privilegio mínimo, evidencia versionada y consultas de auditoría.
  • Vincular las puntuaciones de riesgo a lotes de migración, líneas de parada y reversiones (rollbacks) en lugar de limitarse a producir un panel de control.

Preguntas aclaratorias

  • ¿Qué entornos están dentro del alcance: código fuente, contenedores, clientes móviles, firmware, KMS en la nube, HSM y proveedores SaaS?
  • ¿La identidad corresponde a una clave, un certificado, un punto de llamada, un servicio o un flujo de datos? ¿Se permite la reutilización de claves entre sistemas?
  • ¿Durante cuánto tiempo debe conservarse el historial y quién puede ver los nombres de los algoritmos o las etiquetas comerciales sensibles?
  • ¿La puntuación sirve como evidencia de cumplimiento, planificación de ingeniería o bloqueo automático de despliegues?
  • Cuando la recolección falla, ¿el sistema puede estimar o debe marcar como desconocido e impedir que se dé por completada una declaración?

Diseño de extremo a extremo

Los recolectores escriben resultados de escaneos estáticos, análisis de certificados, eventos de auditoría de KMS/HSM, configuraciones de servicios y resúmenes de handshakes en tiempo de ejecución en un flujo de eventos inmutable. Una capa de normalización mapea algoritmo, propósito, identificador de clave, emisor de la llamada, tiempo de vida de la confidencialidad, fuente, hora y nivel de confianza en un esquema versionado. La resolución de entidades utiliza tenant_id + asset_namespace + provider_id + local_id como clave candidata y deduplica mediante huellas digitales de certificados, ARN de claves, ID de despliegue y ventanas de tiempo. Los registros que no pueden demostrarse idénticos se mantienen vinculados en lugar de fusionarse.

La API de consultas devuelve metadatos y enlaces a la evidencia, nunca claves privadas ni textos cifrados completos. Una capa de políticas califica los activos según el tiempo de vida de los datos, el estado del algoritmo, la exposición, la proporción de clientes no actualizables y la frescura de la evidencia. Las puntuaciones almacenan la instantánea de entrada, la versión de la regla y el motivo de la anulación. Un orquestador de migración consume los activos de alto riesgo para crear lotes, responsables, matrices de compatibilidad y métricas de aceptación; no debe reemplazar claves de producción directamente.

Consistencia y detección de cambios

Dado que el flujo es de entrega al menos una vez (at-least-once), cada hallazgo lleva source_event_id y la versión del recolector; los consumidores utilizan escrituras idempotentes. El estado del activo se pliega a partir de eventos, y la eliminación es un evento de revocación programado para que la falta de un escaneo no parezca una desaparición. Los escaneos programados y los latidos (heartbeats) en tiempo de ejecución actualizan last_seen; los registros fuera de la ventana de frescura pasan a ser desconocidos.

Calcula resúmenes de contenido (digests) separados para código, certificados y configuración. Un cambio de resumen crea una nueva versión en lugar de sobrescribir el historial. Las actualizaciones de reglas recalculan las puntuaciones mientras conservan las antiguas, lo que permite auditar por qué un activo fue aprobado en su momento. Los conflictos muestran campos, precedencia de fuentes y una tarea de confirmación; el sistema no debe seleccionar una fuente de manera silenciosa.

Acceso, privacidad y confiabilidad

Aplica autorización a nivel de fila por inquilino, dominio y etiquetas de activos. Seguridad puede ver algoritmos y exposición; los equipos de aplicaciones solo ven sus tareas de migración. El material de claves, los tokens y el tráfico sin procesar nunca ingresan al inventario; la recolección en tiempo de ejecución conserva los metadatos de los handshakes y los identificadores redactados. Cada lectura y edición manual se audita.

Los recolectores fuera de línea almacenan en búfer localmente y retransmiten. Las cuotas y la contrapresión (backpressure) protegen el flujo de eventos. Las consultas exponen una marca temporal "a la fecha" (as-of time) y la frescura de la evidencia para que los inventarios obsoletos no se presenten como la verdad en tiempo real. Los despliegues multirregión utilizan escrituras particionadas y un índice de lectura global; las fallas de replicación informan brechas de cobertura en lugar de reclamar un estado completo.

Compensaciones y límites

Los escaneos estáticos ofrecen una cobertura amplia, pero pueden perderse la negociación dinámica; la telemetría en tiempo de ejecución está más cerca del uso real, pero se encuentra restringida por el tráfico y la privacidad. Almacena ambos con niveles de confianza diferenciados. Un grafo central simplifica las consultas de dependencias pero aumenta el radio de impacto; las particiones de dominio simplifican la autorización, con enlaces de solo lectura entre dominios.

Bloquear nuevos algoritmos de forma automática reduce la deuda técnica futura, pero puede romper la compatibilidad con proveedores desconocidos. Comienza con compuertas de aprobación para reglas de alto riesgo y luego decide la aplicación estricta en función de la tasa de falsos positivos, la proporción de activos desconocidos y el éxito de las reversiones. El inventario gestiona los hechos y la priorización; las actualizaciones de bibliotecas, la emisión de certificados y la migración del negocio se mantienen en canalizaciones (pipelines) separadas.

Simulacros de fallas y rúbrica de evaluación

Si un HSM no expone el propósito de la clave, registra "propósito desconocido" y crea una tarea de evidencia; nunca lo infieras a partir del nombre de un servicio. Si un certificado aparece en múltiples inquilinos, conserva la relación compartida y activa una revisión de aislamiento. Si una actualización del recolector provoca un aumento repentino de activos, compara los eventos sin procesar y las versiones de las reglas antes de aceptar una nueva línea base.

Una respuesta sólida incluye múltiples tipos de fuentes, evidencia inmutable, semántica de idempotencia y caducidad, mínimo privilegio, puntuación explicable y traspaso para la migración. Se otorga crédito adicional por el manejo explícito de estados desconocidos, retención, resolución de conflictos, límites de reversión y métricas de completitud del inventario. Una base de datos y un panel de control por sí solos son insuficientes.

Preguntas de seguimiento y respuestas de referencia

¿Por qué no inferir el algoritmo a partir del nombre de un servicio?

Un servicio puede invocar múltiples bibliotecas, protocolos o proveedores; su nombre no demuestra el propósito de la clave ni el comportamiento negociado. Conserva la evidencia de origen y marca la inferencia con baja confianza.

¿Cómo se define la completitud del inventario?

Utiliza la cobertura del entorno, la frescura de las fuentes, la proporción de activos desconocidos, la tasa de duplicados, la latencia de eventos y la precisión de la verificación humana por muestreo. El recuento de activos por sí solo no es prueba de completitud.

¿Cómo consume la migración el inventario?

El orquestador agrupa los activos en lotes por riesgo y capacidad de actualización, lee presupuestos de compatibilidad y rendimiento, y ejecuta despliegues canarios, observación y reversiones. El inventario suministra hechos y evidencia; no modifica las configuraciones criptográficas de producción.

Fuentes públicas

Preguntas relacionadas

Herramienta de entrevista relacionada

Usa Resolver para una respuesta de diseño de sistemas

Aclara primero los requisitos y luego avanza a través de la escala, la arquitectura, la elección de componentes y las compensaciones (trade-offs).

Ver la herramienta