
Acronimo di Enterprise JavaBeans Certificate Authority, EJBCA è un interessante software open-source per mettere in piedi un’infrastruttura a chiave pubblica (PKI) in grado di avvalersi di crittografia PQC (Post Quantum Cryptography) per emettere e proteggere i certificati digitali dei propri utenti e dispositivi.
Gestito e sponsorizzato dalla società svedese PrimeKey Solutions AB, il pacchetto software EJBCA può essere utilizzato per installare un’autorità di certificazione (una CA), un’autorità di convalida e un’autorità di registrazione gestibili privatamente.
Ormai giunto alla versione 9.4.2 nel momento in cui sto scrivendo, il software EJBCA è utilizzato per gestire autorità di certificazione (CA) in diversi contesti, tra cui e-Government, endpoint management, sistemi IoT, energia, telecomunicazioni, eIDAS, networking e perfino nell’ambito delle PMI.

Ma perché adottare una CA privata quando sono già disponibili quelle pubbliche? Il caso della compromissione della CA DigiNotar, nel 2011, rappresenta probabilmente uno degli esempi più emblematici dei rischi associati all’adozione di autorità di certificazione (CA) pubbliche. In un’infrastruttura PKI (Public Key Infrastructure), una Certification Authority (CA) è responsabile dell’emissione e della firma digitale dei certificati che attestano l’associazione tra una chiave pubblica e l’identità di un dominio o di un’entità. Nel modello delle CA pubbliche, tali certificati sono implicitamente considerati affidabili dai browser e dai sistemi operativi poiché inclusi nei trust store globali. Nel caso di DigiNotar, un attacker riuscì a compromettere l’infrastruttura della CA e a generare certificati fraudolenti per domini di alto profilo, tra cui servizi di Google. Poiché i certificati risultavano firmati da una CA pubblica riconosciuta, i browser li accettavano automaticamente come validi. Questo rese possibile l’esecuzione di attacchi MiTM (man-in-the-middle) su larga scala, intercettando comunicazioni HTTPS apparentemente sicure. L’incidente dimostrò come la compromissione di una singola CA pubblica possa avere conseguenze sistemiche sull’intero ecosistema di fiducia del web.
Una CA privata, al contrario, opera in un contesto di fiducia limitato (private trust domain). I certificati emessi non sono riconosciuti universalmente, ma solo dai sistemi configurati esplicitamente per fidarsi di quella specifica root CA. Questo riduce significativamente la superficie di attacco e l’impatto di un’eventuale compromissione: un certificato fraudolento sarebbe accettato solo all’interno dell’infrastruttura organizzativa e non dall’intera Internet.
Dal punto di vista della sicurezza operativa, inoltre, una CA privata consente un controllo più rigoroso delle policy di emissione, dei processi di autenticazione delle entità richiedenti nonché della protezione delle chiavi critiche (ad esempio tramite HSM e segmentazione della rete). In sintesi, mentre le CA pubbliche offrono scalabilità e interoperabilità globale, le CA private riducono il rischio sistemico limitando l’ambito di fiducia e migliorando il controllo amministrativo dell’infrastruttura crittografica 🔐












