Menu

CA private key storage and security

Help
Mukesh
2017-07-11
2017-07-11
  • Mukesh

    Mukesh - 2017-07-11

    Hi,
    I am concern about how ejbca store the private key in database, what algo, keys it use to encrypt the private key so it is secure? is token stored encrypted using the pin/password?

     
  • Tomas Gustavsson

    Hi,

    If you use an HSM al CA private keys are generated and stored in the HSM. This is used by high-security environments of course.

    When using soft keystores stored in the database, these are stored as PKCS#12 files, protected by the password you supply when creating the crypto token.

    If you are unfamiliar with PKCS#12, it's a standard and you can find the specification available.

    Regards,
    Tomas

     
  • Mukesh

    Mukesh - 2017-07-13

    Hi Tomas,
    Thank you for the clarification. I am using soft keys. So basically private keys are encrypted using token password(private keys stored in pkcs12 keystore protected by token password). How is the token password stored/protected? For example i make token Auto-activation:true so now i don't have to manually activate token, everytime application restart, it will be automatically activated. Any idea where does it store token password? is it encrypted?

     
  • Tomas Gustavsson

    When using auto activation you can not get absolute security. The password is stored in the database. I think it's documented if you click on the question mark.
    In the latest version of EJBCA Enterprise, you can configure the encryption password, so you at least can separate the roles between app administrator and database administrator, but in your version it is only "obfuscatted" in the database and can easily be found out by a database administrator.

     
  • Mukesh

    Mukesh - 2017-07-17

    Thank you Tomas :)

     

Log in to post a comment.

MongoDB Logo MongoDB