¿Quién debería emitir el certificado de cliente?
Una autoridad aprobada en la que confía el proveedor de servicios API. No es necesario que el proveedor de servicios API en sí mismo (sin embargo, es común), esta tarea puede delegarse a otra entidad que seguirá los requisitos establecidos por el proveedor de API. Cuando esté delegado, el proveedor de API debe tener la seguridad de que solo los clientes legítimos y debidamente autenticados reciben certificados de cliente.
Ciertamente, no el cliente es responsable de crear certificados de cliente.
Actualizar
Según el caso particular, puede haber varios escenarios comunes:
- el proveedor de servicios emite todos los certificados de cliente. El servidor API está configurado para confiar solo en los certificados emitidos por las CA del proveedor de servicios.
Este es el enfoque más simple. El cliente genera CSR y lo envía a la CA del proveedor de servicios. Cuando la solicitud se autentica y valida correctamente, el cliente recibe un certificado firmado que luego se utiliza para acceder a la API.
Pros: el proveedor de servicios rastrea a todos los clientes individuales y sus certificados.
Contras: el proveedor de servicios debe mantener toda la infraestructura para trabajar con la validación de las solicitudes de los clientes y mantenerlas (renovar, volver a emitir, revocar, etc.). Puede tener una sobrecarga notable (para ambas partes) cuando las entidades clientes no están estrictamente definidas. Es decir, cuando tiene solo 5 clientes, este enfoque es ciertamente bueno. Cuando tiene miles, esto puede ser un problema, porque el proveedor de servicios tendrá que seguir el SLA.
- hay relaciones B2B (de empresa a empresa). La CA del proveedor del servicio puede emitir un certificado cruzado calificado (con las restricciones requeridas) a la CA emisora del cliente. La CA de la organización del cliente emite un certificado a su propio personal para acceder a la API del proveedor de servicios remotos
Esta opción es necesaria para tener un PKI privado operable en ambas organizaciones, proveedor de servicios y organización cliente. La organización del cliente puede tener un gran número de entidades cliente que pueden acceder al proveedor de servicios.
Pros: reduce los costos de administración de certificados en el extremo del proveedor de servicios. Especialmente cuando el número exacto y el nombre de las entidades cliente no se conocen de antemano (por ejemplo, el acceso se otorga por departamento). Permite una mejor gestión del ciclo de vida de los certificados dentro de la organización del cliente.
Contras: requiere una confianza cualificada entre la organización cliente y la organización proveedora de servicios. Esto abre un agujero cuando la organización del cliente puede perder los certificados de los clientes y no se considera confiable. Esta pregunta generalmente se resuelve mediante el uso de auditorías PKI por parte de una compañía de auditoría de terceros. Habrá una política escrita que describa todas las relaciones técnicas y legales entre las organizaciones. Pero este enfoque también es costoso (auditorías, políticas de redacción, etc.).
En algunos casos, este escenario se amplía a más de 2 organizaciones y, para limitar un número de certificados cruzados, se construye una CA de Bridge para organizar una confianza entre organizaciones.