pqcstatus
Guida

Cos'è un CBOM, la distinta base crittografica?

Il formato di inventario che trasforma la tua crittografia in dati da interrogare, confrontare e condividere.

· 7 min

Una distinta base crittografica (CBOM, Cryptographic Bill of Materials) è un inventario leggibile dalle macchine della crittografia usata da un sistema: algoritmi e relativi parametri, chiavi, certificati, protocolli e librerie che li implementano. Risponde a domande a cui un foglio di calcolo non può rispondere in modo affidabile su larga scala: dove usiamo ancora RSA-2048? Quali servizi dipendono da una libreria senza supporto a ML-KEM? Cosa è cambiato dall'ultimo trimestre?

CBOM e SBOM a confronto

Una distinta base software (SBOM) elenca i componenti software e le loro versioni. Ti dice che un servizio usa OpenSSL 3.0, ma non quali algoritmi quel servizio richiama effettivamente, con quali dimensioni di chiave, né quali certificati presenta. Un CBOM aggiunge questo livello crittografico. I due sono complementari e lo standard CycloneDX li supporta entrambi nello stesso documento.

Il formato CycloneDX 1.6

Dalla versione 1.6, CycloneDX definisce un tipo di componente cryptographic-asset con cryptoProperties. Un asset può essere un algoritmo, un certificato, un protocollo o materiale correlato come una chiave. Una voce minima per una firma RSA-2048 si presenta così:

{
  "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
        }
      }
    }
  ]
}

Il campo nistQuantumSecurityLevel è ciò che rende un CBOM utile per la pianificazione post-quantistica: 0 significa che l'algoritmo non offre alcuna sicurezza contro un attaccante quantistico, come nel caso di RSA ed ECDSA, mentre ML-KEM-768 raggiunge il livello 3.

Chi richiede un CBOM

Come produrne uno

Un CBOM completo combina diverse fonti:

  1. Rilevamento di rete di ciò che i servizi espongono: versioni TLS, suite di cifratura, gruppi di scambio di chiavi e certificati. È ciò che fa il nostro scanner gratuito per gli endpoint pubblici.
  2. Analisi statica del codice sorgente per individuare chiamate crittografiche, dimensioni delle chiavi e algoritmi codificati in modo fisso.
  3. Analisi della configurazione di web server, proxy e infrastructure as code.
  4. Analisi delle dipendenze per sapere quali librerie crittografiche, e in quali versioni, include ogni applicazione.

Esistono strumenti open source per parti di questo lavoro, come CBOMkit e il plugin di crittografia per Sonar mantenuti nell'ambito della Post-Quantum Cryptography Alliance. PQC Status sta sviluppando uno scanner a riga di comando che viene eseguito in locale, così il tuo codice non lascia mai la tua macchina, e che produce un CBOM CycloneDX.

Mantenerlo aggiornato

Un CBOM è utile solo se resta aggiornato. Generalo in integrazione continua a ogni release, conserva ogni versione e confrontale: un nuovo asset vulnerabile ai computer quantistici in un servizio critico dovrebbe essere visibile quanto una nuova dipendenza vulnerabile.

Domande frequenti

Un CBOM è obbligatorio?

Per le agenzie federali statunitensi, un inventario crittografico automatizzato è richiesto dal memorandum OMB M-26-15. Altrove, le normative richiedono un inventario o politiche crittografiche senza imporre il formato CBOM, che resta però il modo più strutturato per conformarsi.

Qual è la differenza tra un CBOM e un SBOM?

Un SBOM elenca componenti software e versioni. Un CBOM elenca gli asset crittografici: algoritmi con i relativi parametri, chiavi, certificati e protocolli, e il punto in cui vengono usati.

Quale formato dovrebbe usare un CBOM?

CycloneDX 1.6 o successivo è il formato più diffuso, con un tipo di componente dedicato cryptographic-asset.

Un CBOM può contenere segreti?

Non dovrebbe. Un CBOM descrive chiavi e certificati, ad esempio tipo, dimensione e posizione, ma non include mai materiale di chiavi private.