Una lista de materiales criptográficos (CBOM, por sus siglas en inglés) es un inventario legible por máquina de la criptografía que utiliza un sistema: algoritmos y sus parámetros, claves, certificados, protocolos y las bibliotecas que los implementan. Responde a preguntas que una hoja de cálculo no puede responder de forma fiable a gran escala: ¿dónde seguimos utilizando RSA-2048? ¿Qué servicios dependen de una biblioteca sin compatibilidad con ML-KEM? ¿Qué ha cambiado desde el último trimestre?
CBOM frente a SBOM
Una lista de materiales de software (SBOM) enumera los componentes de software y sus versiones. Le indica que un servicio utiliza OpenSSL 3.0, pero no qué algoritmos invoca realmente ese servicio, con qué tamaños de clave ni qué certificados presenta. Un CBOM añade esa capa criptográfica. Ambos son complementarios, y el estándar CycloneDX admite los dos en el mismo documento.
El formato CycloneDX 1.6
Desde la versión 1.6, CycloneDX define un tipo de componente cryptographic-asset con cryptoProperties. Un activo puede ser un algoritmo, un certificado, un protocolo o material relacionado, como una clave. Una entrada mínima para una firma RSA-2048 tiene este aspecto:
{
"bomFormat": "CycloneDX",
"specVersion": "1.6",
"components": [
{
"type": "cryptographic-asset",
"bom-ref": "crypto/algorithm/rsa-2048",
"name": "RSA-2048",
"cryptoProperties": {
"assetType": "algorithm",
"algorithmProperties": {
"primitive": "signature",
"parameterSetIdentifier": "2048",
"cryptoFunctions": ["sign", "verify"],
"classicalSecurityLevel": 112,
"nistQuantumSecurityLevel": 0
}
}
}
]
}
El campo nistQuantumSecurityLevel es lo que hace que un CBOM resulte útil para planificar la transición poscuántica: 0 significa que el algoritmo no ofrece ninguna seguridad frente a un atacante cuántico, como ocurre con RSA y ECDSA, mientras que ML-KEM-768 alcanza el nivel 3.
Quién pide un CBOM
- Gobierno federal de EE. UU. El memorando M-26-15 de la OMB exige a las agencias mantener un inventario criptográfico automatizado y actualizado de forma continua, y la Orden Ejecutiva 14412 pide a la CISA que publique los elementos mínimos de un CBOM. Los proveedores de software que venden a agencias federales deberían prever que se les pida uno.
- Normativa europea, de forma indirecta. PCI DSS 12.3.3, DORA y NIS2 exigen un inventario o políticas de criptografía sin imponer un formato. Un CBOM es la forma más estructurada de cumplirlos.
- Planes de migración de las agencias. El NIST, la ANSSI, la BSI y el NCSC británico sitúan el descubrimiento y el inventario en primer lugar.
Cómo generarlo
Un CBOM completo combina varias fuentes:
- Descubrimiento en red de lo que exponen los servicios: versiones de TLS, conjuntos de cifrado, grupos de intercambio de claves y certificados. Es lo que hace nuestro escáner gratuito para los puntos de conexión públicos.
- Análisis estático del código fuente para encontrar llamadas criptográficas, tamaños de clave y algoritmos codificados de forma fija.
- Análisis de la configuración de servidores web, proxies e infraestructura como código.
- Análisis de dependencias para saber qué bibliotecas criptográficas, y en qué versiones, incluye cada aplicación.
Existen herramientas de código abierto para partes de este trabajo, como CBOMkit y el complemento de criptografía para Sonar, mantenidos en el marco de la Post-Quantum Cryptography Alliance. PQC Status está desarrollando un escáner de línea de comandos que se ejecuta en local, de modo que su código nunca sale de su máquina, y que genera un CBOM en formato CycloneDX.
Mantenerlo vivo
Un CBOM solo es útil si se mantiene actualizado. Genérelo en la integración continua con cada versión, guarde cada edición y compárelas: un nuevo activo vulnerable a la computación cuántica en un servicio crítico debería ser tan visible como una nueva dependencia vulnerable.