Re: Loss of TLS private key - are there any published real life cases ?



"CarefulKeyHolder" <key@xxxxxxxxxxxxxxx> wrote:

I work for a company where we use HTTPS (with 2-way TLS authentication
and RSA) to protect sensitive commercial data that flows over public
communications networks. Unfortunately, the system I work on has been
designed in a way that currently requires the same RSA private key to
be installed on approximately 100 computers, some of which may not be
physically secure. The method of distributing new private keys to
these computers is not as secure as I would like either.

I am trying to explain to my colleagues the importance of keeping the
private key secret. Are there any real-life cases where a private key
has been lost and a real-life "Eve" has been able to passive or
actively attack systems using using it? Published accounts involving
money being lost and people being fired would be very
useful. Ultimately I want to change the design of the system so that
the private key is less vulnerable.

Also, how often to people replace their private keys? In a system such
as mine, it seems that the private key is more likely to be lost than
in a system using 1-way TLS authentication where the private key never
leaves the webserver, so maybe I should be replacing the certificate
and private key more frequently?

Other than backups, in most scenarios, there is no reason to store
private keys in multiple places. Consider that two-way TLS
authentication doesn't require the server and client keys to be the
same. Also, each client should have an own, distinct key.

Implementation idea: Set up a CA (somewhere outside of the clients and
the server), then let the server generate a key and let the clients
generate their individual keys, sign all of then through the CA.
Install the CA certificate everywhere. Clients and the server should
only accept certificates, which are signed by the CA. To have more
fine-grained control, use the various certificate fields to
differentiate between the server and the individual clients. This even
allows you to implement certificate-based access control.


Greets,
Ertugrul.


--
nightmare = unsafePerformIO (getWrongWife >>= sex)

.



Relevant Pages

  • Re: Private key generation
    ... As I wrote in my first answer to that thread - there are many situations when key pair is generated on trusted server. ... identity based encryption) simply requires generation of private key on server... ... High assurance keys (especially these that afterward are split in multiple shares using secret sharing schemes) may also require use of specialized equipment and computers that runs in a tempest/EM shielded locations. ... Default scenario supported by Microsoft Certificate Server is the most standard CA mode when CA just signs X509 certificate with emedded public keys. ...
    (microsoft.public.dotnet.security)
  • Re: Certificate key access under Network Service in IIS 6
    ... Haven't done that because I've been remoted in to the customer's server. ... It is likely the private key file but might be a registry key as well. ... I can get the signing process to work if I have the IIS Application Pool configured to run under SYSTEM but running under the preferred NETWORK SERVICE account the private key access of the certificate fails. ...
    (microsoft.public.dotnet.security)
  • Re: How to use certificates?
    ... I expect that server will know the client public key, ... > private key for that certificate. ...
    (microsoft.public.dotnet.framework.webservices.enhancements)
  • Re: Private key generation
    ... Some encryption schemes (like f.e. ... identity based encryption) simply requires generation of private key on server... ... Default scenario supported by Microsoft Certificate Server is the most standard CA mode when CA just signs X509 certificate with emedded public keys. ...
    (microsoft.public.dotnet.security)
  • Re: Client Certificates Issue
    ... "Active Directory User Objects" where the certificate is available, ... the Store Name for that store or, how can I access it using C#.Net code? ... not on your server. ... of the private key for the certificate they provided to the server. ...
    (microsoft.public.dotnet.framework.aspnet.security)