pqcstatus
Guia

O que é um CBOM, a lista de materiais criptográficos?

O formato de inventário que transforma sua criptografia em dados que você pode consultar, comparar e compartilhar.

· 7 min

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

Como produzir um

Um CBOM completo combina várias fontes:

  1. 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.
  2. Análise estática do código-fonte para encontrar chamadas criptográficas, tamanhos de chave e algoritmos fixos no código.
  3. Análise de configuração de servidores web, proxies e infraestrutura como código.
  4. 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.

Perguntas frequentes

Um CBOM é obrigatório?

Para as agências federais dos EUA, um inventário criptográfico automatizado é exigido pelo OMB M-26-15. Em outros lugares, as regulamentações exigem um inventário ou políticas de criptografia sem impor o formato CBOM, mas ele é a forma mais estruturada de estar em conformidade.

Qual é a diferença entre um CBOM e um SBOM?

Um SBOM lista componentes de software e versões. Um CBOM lista ativos criptográficos: algoritmos com parâmetros, chaves, certificados e protocolos, e onde são usados.

Qual formato um CBOM deve usar?

O CycloneDX 1.6 ou posterior é o formato mais utilizado, com um tipo de componente dedicado, cryptographic-asset.

Um CBOM pode conter segredos?

Não deveria. Um CBOM descreve chaves e certificados, como tipo, tamanho e localização, mas nunca inclui material de chave privada.