¿Qué problemas surgen al compartir la clave privada de un certificado SSL?

21

Escenario: estoy hospedando un sitio web para un cliente, a quien llamaremos S. S es dueño del dominio s.com y yo soy el propietario de los servidores que realmente hospedan el sitio web. S ahora quiere habilitar SSL en su sitio web.

He generado una clave privada y una CSR en mi servidor, y he enviado la CSR a S para que puedan enviarla a su CA.

Sin embargo, como todos los clientes, S es barato. No quieren gastar el dinero en un nuevo certificado. En su lugar, quieren darme su certificado SSL existente para *.s.com y su clave privada correspondiente. Este certificado y la clave ya están en uso por parte de S y algunos de los otros proveedores de S.

Ya sé que es una mala idea, pero ¿por qué? ¿Qué problemas causa esto ahora y potencialmente en el futuro?

Para obtener puntos de bonificación, ¿el hecho de compartir una clave privada como esta causa algún problema en el contexto de los estándares PCI?

    
pregunta josh3736 14.12.2012 - 18:00
fuente

3 respuestas

24

Hay varias razones por las que los certificados comodín son malos:

  • La misma clave privada debe ir a los sistemas que tienen diferentes niveles de seguridad, por lo que su clave es tan buena como su sistema menos protegido. Repartirlo a proveedores de terceros es realmente una mala idea , ya que entonces se escapa por completo de su control.
  • Debe mantener registros meticulosos que muestren exactamente dónde está instalada su clave privada comodín, de modo que cuando tenga que reemplazarla, no tenga que jugar "¿Dónde está Waldo" en todos sus sitios?
  • Y, lo que es más importante, si la clave privada y el certificado de comodín se roban en algún momento, los atacantes pueden hacerse pasar por el sistema de cualquier en ese espacio de comodín. El error común es decir "usaremos caracteres comodín en sistemas de baja seguridad, pero certificados con nombre en todos los sistemas importantes": ¡tiene que hacer exactamente lo contrario! Si los atacantes tienen * .s.com, pueden hacerse pasar por cualquier dominio en el espacio .s.com, sin importar si está utilizando algún otro certificado. Entonces, si tiene "www.s.com" con un comodín y "login.s.com" con un certificado único, los atacantes pueden hacerse pasar por "login.s.com" independientemente de lo que haya en "login.s.com" .
  • La forma más fácil de aprovechar las claves de comodín robadas es mediante el envenenamiento de DNS o mediante puntos de acceso inalámbricos ilegales.

Todo lo que se dice, tienes que evaluar los riesgos. Si su amigo S ya está entregando este certificado de comodín y la clave para todos los proveedores, entonces negarse a aceptarlo no reduce sus riesgos de manera significativa. Simplemente parecerás obstinado y poco cooperativo y perderás su negocio. Haz tu mejor esfuerzo para educar, pero también comprende que a algunas personas simplemente no les importa.

Sin embargo, si está obligado a cumplir con PCI-DSS, entonces estoy bastante seguro de que no cumple, ya que creo que se supone que debes tener registros de todos los accesos a las claves de cifrado privadas. Dejaré que otros más familiarizados con PCI-DSS amplíen eso.

    
respondido por el mricon 14.12.2012 - 18:58
fuente
11

El que tenga acceso a la clave privada utilizada por un servidor SSL tiene el poder técnico para:

  • Suplantar cualquier servidor con un nombre que coincida con el que está inscrito en el certificado.
  • Descifre las sesiones que hayan sido escuchadas de forma pasiva (a menos que la sesión SSL utilice uno de los conjuntos de cifrado "DHE" que proporcionan perfecto secreto hacia adelante , pero tales suites rara vez se seleccionan de forma predeterminada, alguien debe configurarlas explícitamente).

Por lo tanto, otorgar la misma clave privada a muchas personas es realmente confiar en todos ellos, y hacer que confíen unos en otros. Recuerda que "alguien en quien confías" es una expresión que realmente significa "alguien que tiene el poder de traicionarte".

En general, una vez que un valor secreto es conocido por más de dos personas, ya no es un secreto, sino un poco discreto. Además, no puede forzar el olvido, por lo que si su cliente S quiere dejar de hacer negocios con uno de los proveedores a los que S le dio una copia de la clave privada, tiene que cancelar todo (revocar el certificado, crear una nueva con una nueva clave, y distribúyala) - alternativamente, S puede subir un nivel en la escala de la credibilidad, y simplemente asumir que todos son honestos y competentes, y que los proveedores con los que ya no tienen Sin embargo, cualquier relación comercial se hará cargo de su clave privada, ya que no se filtrará a través de una cinta de copia de seguridad o de un interno poco amable.

Además, se sabe que el soporte para los certificados comodín es un poco inestable, ya que históricamente han sido una fuente de problemas (no per se, pero amplifican el poder de la molestia de un malhechor que consigue robar la clave privada correspondiente) . Los proveedores de navegadores tienden a restringirlos de maneras arbitrarias y cambiantes.

Hay CA que proporcionan certificados de servidor SSL de forma gratuita . ¿Qué tan barato tiene que ser para encontrar certificados gratuitos demasiado caros?

    
respondido por el Thomas Pornin 28.12.2012 - 15:50
fuente
7

El uso del mismo certificado en muchos servidores (de confianza) no causa problemas por sí mismo.

El problema principal será en el caso de que la clave privada caiga en las manos equivocadas (de cualquiera de los muchos proveedores, incluido).

  • Es más difícil saber acerca de una infracción: si muchas personas / máquinas tienen el certificado, la probabilidad de una infracción aumenta y la probabilidad de descubrir la infracción disminuye. Si S.com es un objetivo de valor relativamente alto, usar el mismo certificado en todos los servicios también significa que los piratas informáticos potenciales pueden elegir y elegir el servidor más débil para explotar.

  • Cuando se debe revocar el certificado, todos los proveedores deben reemplazar el certificado de inmediato por uno nuevo para evitar que los clientes lo rechacen. Esto también significa que es posible que el cliente no quiera revocar el certificado (ya que "causaría demasiados problemas"). Si diferentes proveedores tuvieran certificados diferentes, solo el certificado filtrado tendría que ser revocado, y solo ese único proveedor tendría que instalar un nuevo certificado.

respondido por el Joel L 14.12.2012 - 18:41
fuente

Lea otras preguntas en las etiquetas