Uma lista de materiais criptográficos (CBOM, cryptographic bill of materials) é um inventário legível por máquina da criptografia usada por um sistema: algoritmos e seus parâmetros, chaves, certificados, protocolos e as bibliotecas que os implementam. Ela responde a perguntas que uma planilha não consegue responder de forma confiável em larga escala: onde ainda usamos RSA-2048? Quais serviços dependem de uma biblioteca sem suporte ao ML-KEM? O que mudou desde o último trimestre?
CBOM versus SBOM
Uma lista de materiais de software (SBOM) lista os componentes de software e suas versões. Ela informa que um serviço usa o OpenSSL 3.0, mas não quais algoritmos esse serviço realmente chama, com quais tamanhos de chave, nem quais certificados ele apresenta. Um CBOM acrescenta essa camada criptográfica. Os dois são complementares, e o padrão CycloneDX suporta ambos no mesmo documento.
O formato CycloneDX 1.6
Desde a versão 1.6, o CycloneDX define um tipo de componente cryptographic-asset com cryptoProperties. Um ativo pode ser um algoritmo, um certificado, um protocolo ou material relacionado, como uma chave. Uma entrada mínima para uma assinatura RSA-2048 fica assim:
{
"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
}
}
}
]
}
O campo nistQuantumSecurityLevel é o que torna um CBOM útil para o planejamento pós-quântico: 0 significa que o algoritmo não oferece segurança contra um atacante quântico, como no caso do RSA e do ECDSA, enquanto o ML-KEM-768 atinge o nível 3.
Quem pede um CBOM
- Governo federal dos EUA. O memorando M-26-15 do OMB exige que as agências mantenham um inventário criptográfico automatizado e atualizado continuamente, e a Executive Order 14412 pede à CISA que publique os elementos mínimos de um CBOM. Fornecedores de software que vendem para agências federais devem esperar que um CBOM lhes seja solicitado.
- Regulamentações europeias, indiretamente. O PCI DSS 12.3.3, o DORA e a NIS2 exigem um inventário ou políticas de criptografia sem impor um formato. Um CBOM é a forma mais estruturada de atendê-los.
- Planos de migração das agências. O NIST, a ANSSI, o BSI e o NCSC do Reino Unido colocam o levantamento e o inventário em primeiro lugar.
Como produzir um
Um CBOM completo combina várias fontes:
- Descoberta de rede do que os serviços expõem: versões de TLS, suítes de cifras, grupos de troca de chaves e certificados. É o que o nosso scanner gratuito faz para endpoints públicos.
- Análise estática do código-fonte para encontrar chamadas criptográficas, tamanhos de chave e algoritmos fixos no código.
- Análise de configuração de servidores web, proxies e infraestrutura como código.
- Análise de dependências para saber quais bibliotecas criptográficas, e em quais versões, cada aplicação inclui.
Existem ferramentas de código aberto para partes desse trabalho, como o CBOMkit e o plugin de criptografia do Sonar, mantidos no âmbito da Post-Quantum Cryptography Alliance. A PQC Status está desenvolvendo um scanner de linha de comando que roda localmente, para que seu código nunca saia da sua máquina, e que gera um CBOM CycloneDX.
Mantendo-o vivo
Um CBOM só é útil se permanecer atualizado. Gere-o na integração contínua a cada release, armazene cada versão e compare-as: um novo ativo vulnerável à computação quântica em um serviço crítico deve ser tão visível quanto uma nova dependência vulnerável.