Se requiere SSL mutuo del proveedor en nombre de diferentes organizaciones

1

Soy un diseñador de software (antiguo IT SysAdmin) que trata de envolver mi cabeza en torno a algunos requisitos de autenticación en un documento de especificación de API.

Digamos que el departamento de gobierno ( abc.gov ) ha creado un nuevo portal web en línea para recibir 'reportes de incidentes' de manera electrónica a través de una API RESTful JSON (Swagger) asegurada con Mutual SSL (TLS).

Varios proveedores de servicios (los llamaremos one xyz.org ) deben solicitar a sus proveedores de software que proporcionen un sistema actualizado que pueda conectarse a la API abc.gov .

Nuestro software está basado en la nube (ASP.NET, IIS8, digamos jkl.net ). Varias organizaciones iniciarían sesión en nuestro sistema web (nombre de usuario + contraseña), luego nuestro software tendría que conectarse a abc.gov y suplantar (a falta de una palabra mejor) xyz.org .

abc.gov proporciona la siguiente información junto con las especificaciones de la API:

  • Los certificados de cliente deberán ser emitidos por una Autoridad de Certificación de Confianza
  • Los certificados de cliente no se pueden compartir entre diferentes organizaciones.
  • Este certificado de cliente solo debe compartirse con la clave pública del certificado.
  • Si el mismo proveedor está enviando incidentes en nombre de múltiples proveedores de servicios, el proveedor debe usar un certificado de cliente diferente para cada proveedor de servicios.
  • Cuando los certificados de cliente caduquen, los nuevos certificados de cliente deberán ser emitidos por el proveedor de servicios y proporcionados a abc.gov , sin las claves privadas.

Por la investigación que he realizado hasta ahora, casi sé que podemos:

  • almacenar múltiples certificados,
  • asigne el nombre del certificado a una organización en nuestra base de datos,
  • y luego seleccione el correcto para presentar al establecer una conexión. ( enlace )

Preguntas

  • En lo que no estoy seguro, ¿de dónde son estos certificados de cliente?
  • ¿Qué tipo de certificado se requiere y cómo funcionaría dado que los nombres de dominio no coincidirán? (Es decir, xyz.org solicita un nuevo certificado, lo otorga a jkl.net , para autenticarse con abc.gov ).
  • ¿El personal de TI de los proveedores de servicios concluiría que esta práctica no es segura?

Gracias de antemano, deseando aprender más sobre esto.

    
pregunta Ryan_R 04.05.2017 - 05:08
fuente

1 respuesta

1
  

¿Qué tipo de certificado se requiere?

Un certificado adecuado para la autenticación como cliente. En cuanto a los requisitos exactos en los que abc.gov confía en los CA, consulte la documentación que recibió de abc.gov.

  

cómo funcionaría dado que los nombres de dominio no coincidirán

Los certificados de cliente generalmente no se verifican con los nombres de dominio, ya que generalmente no hay un dominio específico asociado con el cliente. No hay una norma sobre lo que debe contener el tema, por lo que deberá revisar nuevamente la documentación proporcionada, lo que se espera. Una opción sería, por ejemplo, la dirección de correo electrónico del cliente.

  

¿El personal de TI de los proveedores de servicios concluiría que esta práctica no es segura?

Supongo que lo harían. Darle a alguien un certificado de cliente para que pueda hacerse pasar por el cliente es similar a darle a alguien el nombre de usuario y la contraseña, es decir, abandonar cualquier control de lo que se puede hacer al hacerse pasar por el cliente. Por lo tanto, generalmente está prohibido por varias pautas de seguridad. Y dudo que a abc.gov también le guste esa práctica.

    
respondido por el Steffen Ullrich 04.05.2017 - 05:59
fuente

Lea otras preguntas en las etiquetas