-1

According to the guide at How to Run Your Own Certificate Authority, my organization have a plan to issue our own digital certificates for internal use only (the managers will sign PDF documents to send the staff). We are considering some solutions such as:

  1. For issuing: Simple Authority (Free-verion), Keystore Explore, Certificate Services in Windows Server...
  2. For PDF signing: JSignPDF, iSafePDF...

Some of my questions are the following:

  1. If only internal use, is it really safe? I mean that if a signed document or a digital signature can be faked or not? How to make sure that document is signed by the right manager? In fact, I have deployed in tested environment. However, I am not sure about our own security, whether it is really safe or not, and how to test it.
  2. What features/considerations should we carefully take?

Since I am a newbie in security, any explanation and/or suggestions are appreciated.

BNK
  • 101
  • 6
  • It would be good if you do a little research. As it is I think this question is too broad and will probably be closed. –  Aug 24 '15 at 02:28
  • @Xavierjazz: of course I have done some research. In fact, I have deployed in tested envrionment. However, I am not sure about our own security, where it is really safe or not, how to test it. So I ask here. –  Aug 24 '15 at 02:31
  • You don't even imply that in your question. It would be good to share the research you did so people can see what you've done. You can edit your question. –  Aug 24 '15 at 02:34

2 Answers2

6

Big certificate authorities use the same technology (mathematical principles) for their certificates as you would when using an internal CA. So from that standpoint there is no disadvantage. However a CA needs to do more than just sign certificates:

  • Deliver the root certificate to the end-users thrust-store. Big CA's have their root certificate shipped with the end-users OS. You will need to make sure every computer in your organization has this root certificate.

  • Secure the private key(s) used to sign the certificates. This is a big potential weak-point in the certificate chain, if the private key of for example the root certificate is obtained by someone they could impersonate anyone in the organization.

  • Ensure the identity of the organization/person that is requesting the signing of a certificate. Your organization will need proper procedures to ensure the identities of the individuals requesting signing. Using social engineering one could exploit bad procedures.

There are also some other things you need to be careful of:

  • Your organization should also have procedures in place to make sure people also check signatures and take appropriate action should some signature be missing or not match. Else this whole certificate setup would be rather pointless. Best practice would be to have an automated solution.

  • You need to deliver the keys of the signed certificates to the correct persons in a secure way and have them use them. One approach for this is to have them put on their laptops (assuming those are stored securely) and have for example their email-clients setup to sign all outgoing mail.

Selenog
  • 994
  • 4
  • 8
1

Yes, creating an internal PKI infrastructure is often very complicated and insecure unless many different issues are understood and handled correctly. See Selenog's answer for more information.

Because of these reasons, it is typical that only government agencies and large companies build a PKI infrastructure from the ground up. In this regard the dream of PKI has not succeeded.

Centralized Signing, an Alternate Approach

Disclaimer: I work for DocuSign. We sell the CoSign Central digital signature appliances.

This type of appliance is also available from Ascertia and perhaps other companies too.

Most CoSign Central customers, including many government agencies, use the product in "Internal CA" mode. This means that the appliance acts as a CA.

To get around the many security issues of securely distributing the certs, the appliance never distributes the certificates. Instead, documents and data are sent to the appliance to be signed.

The appliance should be a hardened hardware box. Private keys should never be stored on an ordinary computer or server's filesystem--doing so is insecure.

Larry K
  • 591
  • 2
  • 11