We would like to start using digital signatures and possibly encryption for e-mails in our company. My knowledge of public-key cryptography is entirely theoretical with no practical experience.

In public-key cryptography, e-mails or documents are signed with the signer's private key. It is crucial that the private key is stored securely, ideally on a piece of hardware like a smart card.

I can see how this was feasible a couple of years ago with employees having just one computer. But how is this handled in present-day enterprises with people using multiple devices (desktop computers, smartphones etc.) to read and write (and sign) e-mails?

Are there solutions available on the market to store the employees' private keys on a device in a secure data center, and whenever someone sends an e-mail the mail server talks to the "private key server" to get the private key and the user then types in their passphrase?

If not, is it common practice to transfer keys to other devices (using a USB connection perhaps), and how would you secure a private key stored on, say, an iPhone that is easily lost or stolen, and probably secured with nothing more than a 4-digit passcode?

  • 1
    Believe me when I say that if your company is big is better to outsource the key management. I won't give you any names since stack exchange doesn't allow this, but you will easily find them using google. Key Management is a hard task, require specific servers, specific security knowledge and it is time consuming to maintain it up to date. And you will find troubles when dealing with customers and clients. – kiBytes Jan 23 '14 at 14:15
  • 1
    You'd be surprised! The private key to the web server's SSL cert is just sitting there, on disk, on the network drive! – Chloe Jan 23 '14 at 19:31

Encryption and signatures are two distinct activities, and the difference matters a lot in that respect.

Encryption is about maintaining data confidentiality, except for "authorized users". When these users have private keys, encryption is said to be "end-to-end" in that the decryption will occur on the recipient's device, and can be done only with the help of a private key made accessible to that device by its owner. Corporations, generally speaking, don't like that at all. Encryption prevents them from performing some automatic processing, in particular antivirus scanning (for incoming emails) and detection of information leakage (for outgoing emails). Moreover, encryption raises the issue of data loss: if the private key becomes unavailable, the encrypted emails are no longer readable, since they are typically stored encrypted. Notably, when the user becomes unavailable (he was fired; he retired; he was killed in an accident;...) then the new tenant of his function in the organization must be able to read the corporate emails which were received by that previous user.

Therefore, in a business context, it is often preferred when encryption is centralized -- if there is encryption at all. Emails would often be stored "as is" on servers for which security is done on an "intrusion prevention" basis, rather than mathematically (with cryptography). Encryption is used for data in transit (typically SSL). Users authenticate with the central server when reading or sending emails, but this does not necessarily entails a RSA private key in a smart card. When an email is sent to an external recipient (outside of the organization) then, even if encryption is to be applied, it will be done on a dedicated gateway system, after all due analysis systems have inspected the outgoing email contents and have given the go for further email propagation.

Signatures are avoided. Strictly speaking, a signature is a legal weapon that you build and then point toward yourself. The point of the signature is it is a proof, convincing for third parties, that the email contents are indeed what the signer sent. This can only serve as a way to coerce the signer into accepting extra responsibilities.

If you think properly, then you do not want to sign. You want other people to sign what they send to you. So business try to avoid signatures, and will deploy a system for signing emails only if it is to replace another pre-existing system where there already are signatures done in some other way which is even more inconvenient.

This sums up as the following: if you want to support end-to-end encryption for emails, and/or email signatures, then... think again. Chances are that it is not that good an idea.

Private keys on smart cards, though, are deployed for authentication. Users receive smart cards (possibly with USB token format) containing private keys, and they use that for client SSL connections with a Web server; the client is then their Web browser. This will be for access to sensitive data, so, generally, the corporation will ban such access from "home devices": the employee is not supposed to connect from his own iPad. He shall use only the approved, company-provided laptop computer that is riddled with company-approved antivirus software, and suitably "locked down".

If the daily business calls for some signatures (e.g. medical prescription, in a world of computerized medical file: physicians must be accountable for what they prescribe), then this will not be a basic email, but a strictly formatted "message", signed through a local specific application or some similar trickery (ActiveX control or signed Java applet in a Web site). There again, home devices will not be considered acceptable.

All that being said, some companies have tried, over the years, to sell "virtual smart cards" which usually boil down to some secret value (e.g. a RSA private key) stored with password-based encryption on a server. To a large extent, a GnuPG keyring is an instance of such a system: contains a private key, protected through encryption with a password; put a copy of that keyring on a backup server, and you are all set. "Virtual smart card" commercial solutions mostly aim at making this process easier and more integrated with existing applications (in particular Outlook and Internet Explorer).

To my knowledge, none of such systems was a true commercial success, for the reasons explained above: the added value of these "virtual smart cards" is for situations which you would like, company-wise, to avoid altogether.

| improve this answer | |
  • Thank you for this detailed answer and for mentioning points that go beyond technical details. I am aware that encryption and signatures are distinct activities that serve different security goals. We were thinking that signing e-mails would be seen as a sign of quality by our customers. Encryption is more of an afterthought, being able to offer it in case a client would like to communicate in that fashion. I will accept this answer for its level of detail. All answers, providing different points of view, have been tremendously helpful. – jgxvx Jan 27 '14 at 7:25

[Disclosure: I work for CoSign]

Are there solutions available on the market to store the employees' private keys on a device in a secure data center, and whenever someone sends an e-mail the mail server talks to the "private key server" to get the private key and the user then types in their passphrase?

Yes, there are hardened (FIPS 140) centralized digital signature appliances available. We make a leading model, CoSign Central. The appliance signs requests that come in over the network, just as the OP describes. It also acts as a PKI Certificate Authority (CA), automatically creating and maintaining signers' certificates. Its certificates can be subordinate to a higher level cert, or its master cert (the organization's cert) can be self-signed.

It is impossible to get the private keys out of the appliance. If you try to crack open the covers, everything is erased via hardware protections.

The idea of centralized PKI signing is about 10 years old. It has quite a few advantages over smart card / edge signing:

  • Works very well with today's mobile-first computing style. (No local smart-card slot.)
  • Also works well with web-style computing where there is no or only very limited access to local hardware / smart card reader
  • Dramatically lowers on-going administrative costs of a PKI system by centralizing the digital signature certificates--no issues about creating/distributing/losing/replacing smart cards or tokens.
  • Lowers on-going administrative costs via auto-synchronization with Active Directory or LDAP directory systems--people added to the appropriate groups in the corp directory are automatically issued digital certificates by the box.
  • Authentication requirements, per signer, can be adjusted as needed: name/pw, two factor authentication, etc.
  • Supports the Microsoft CAPI and CAPI NG APIs for digital signing. So any Windows app that uses those APIs will automatically work with CoSign.
  • Supports many additional APIs, and works well with Outlook to digitally sign email messages.

Cost is low with fast ROI. More info: www.arx.com

| improve this answer | |
  • Thank you for your input, it is appreciated. The list of advantages helps identifying some of the shortcomings of the "conventional approach" and makes this a very helpful answer. – jgxvx Jan 27 '14 at 6:52

Most Enterprises do not actually use PKI for document or email encryption/signing. The costs of implementing and maintaining a system is generally considered higher than the security benefit for a number of reasons:

  • As the enterprise already controls its own infrastructure it can implement SSL/TLS encryption for all internal emails, a PKI solution is overkill
  • Many enterprises have enough document tracking and backups that if validation of a message or document was ever required they'd be able to do it without PKI
  • Centralized authentication/authorization generally means that senders are trusted, if you can log in and send an email using an account it's got to be you. If it isn't than it's cause for investigation of course, but it is rare
  • Few other businesses have PKI signing/encryption solutions for email, and since sending and receiving PKI email requires both sides to have compatible systems there's often no point. Businesses with links will ensure that they have SSL/TLS enabled between their email servers and leave it at that
| improve this answer | |
  • Careful! "Most Enterprises" are still signing documents with pen and ink. Those that are signing electronically are either using proprietary, non-standard SAAS apps or are using true, open, standard PKI digital signatures, often via centralized signing appliances. Especially true in regulated industries (Pharma, Health, etc) and government. – Larry K Jan 24 '14 at 6:00
  • 1
    You should add that digital signatures are only as secure as the key management, which means the actual security and authenticity guarantees offered by a full PKI solution fall far short of the theoretical promise. (If someone gets a keylogger onto your machine they can steal your keys, so you are back to looking at logs and audit trails to prove authenticity just as you were without PKI). – Ben Jan 24 '14 at 12:38
  • I could add that @Ben, it's not really answering the question. – GdD Jan 24 '14 at 13:54
  • @GdD, true, but neither is your whole answer! :-) I agree with you that generally PKI is little used, and that this is for good reason. I just wanted to add a significant reason to your list. – Ben Jan 24 '14 at 14:23
  • Thank you for sharing this point of view, it is very helpful. We are not a huge enterprise, but some of the holding's companies work in branches (company foundation, accounting, trust) where we thought digital signatures could be considered a sign of quality by their customers. – jgxvx Jan 27 '14 at 7:07

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.