0

I have reviewed several discussions here regarding offline root CA management. While useful, none quite capture my question.

Firstly it presumably would not be generally assessed as an 'offline' root if its key is in a network connected HSM, no matter how protected (with a PIN, behind firewall, etc)?

In my setup a physical laptop or desktop, which can be disconnected and off and physically secured is probably not feasible. So I'm thinking of something like a Tails bootable USB. Boot from this on a host and use an encrypted partition of Tails to store the root key and thus issue the root CA from that environment. As the online intermediate signing CA cert has to be issued by the root and be online (with key via an HSM), how do I get that issuing CA certificate request into Tails to create the certificate sufficiently securely? This seems that sneaker-net is essential and the use of USB storage is mandatory.

Does having two HSMs make a good solution? One contains the root CA key, which is powered off except when needed, and another online one for managing the issuing certificate's key?

Publishing a CRL by the root CA is another component of the ecosystem that is tricky.

Another aspect of which I am unsure is if creating, as far as is possible, a known untampered Tails USB instance is possible, is its use on a general use laptop or desktop safe enough? If the USB is read-only I can't store anything on it - such as an issued certificate. If it is read/write then a vector exists to compromise it from the laptop/desktop on which it is used.

I'm seeking opinions on the workflow for using 'offline' root CAs more than the technical steps involved. I realise these design decisions are driven by risk appetite and consequences. Guidance and the lived experience would help. Thank you.

1 Answer 1

0

Firstly it presumably would not be generally assessed as an 'offline' root if its key is in a network connected HSM, no matter how protected (with a PIN, behind firewall, etc)?

any reason for such assumption? HSM ports are not switched (at least this is the case in nShield net-HSMs). In my opinion, offline CA is CA that cannot be accessed over network and is physically secured. From what I know Tails OS doesn't equal HSM.

sufficiently securely

this is a too broad term. You should clarify what is "sufficiently securely" for you.

Does having two HSMs make a good solution? One contains the root CA key, which is powered off except when needed, and another online one for managing the issuing certificate's key?

single net-attached HSM is sufficient (though, this creates a single point of failure. If single HSM fails, you are screwed) for normal operation. HSMs support partitioning (key isolation) using different techniques, such as operator card set. Having one card set (quorum), you can access only subset of keys stored on HSM, not entire HSM.

If the USB is read-only I can't store anything on it - such as an issued certificate. If it is read/write then a vector exists to compromise it from the laptop/desktop on which it is used.

The purpose of secure cryptographic storage is to store keys. CA software is installed on a standard/normal OS installation, Windows, Linux or Mac and executes its workflows, such as accepting and signing requests, signing CRLs, maintain internal database, configuration and so on. The highest value of CA is its private key which is stored on secure device such as HSM. This means that booting from custom USB OS doesn't give you any benefit since you cannot activate CA software from USB OS unless such functionality is offered by USB OS.

I would say that Tails USB OS doesn't solve your problem and you should take a look at HSM technology.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.