¿Cómo funcionan las claves y certificados específicos del cliente?

2

Tengo clientes que se comunican con mi servidor. Los clientes envían su ID única (guid) al servidor con su solicitud a través de un canal https seguro. También para aumentar la seguridad, uso mi propio par de claves públicas y privadas para cifrar las solicitudes & respuestas.

Si alguien encuentra esta clave pública (viene con el software del cliente) y realiza una ingeniería inversa del software, creo que puede enviar solicitudes hechas a mano con una identificación personalizada. Quiero evitar este tipo de ataques. Tengo un par de preguntas:

  • ¿Es una buena práctica generar un par de claves público-privadas para cada cliente? Dado que cada cliente envía sus solicitudes con su propia clave pública, será fácil detectar este tipo de anomalías.
  • ¿Es posible dar a los clientes certificados que los identifiquen solo? Veo esta cosa del certificado de cliente en todas partes pero no hay una explicación clara. ¿Pueden explicarme cómo funcionan los certificados de cliente? Creo que esto es lo que necesito, pero no tengo idea de ello.
pregunta Batuhan 24.02.2015 - 09:38
fuente

1 respuesta

1

Si desea autenticar un cliente en su servidor, necesitará una clave privada para cada cliente.

El método habitual HTTPS (TLS) usa solo un certificado para autenticar un servidor. El servidor tiene su clave pública publicada y firmada por alguna autoridad, el cliente verifica el certificado y la firma de la autoridad del certificado, entonces el cliente está seguro de comunicarse con el servidor correcto, ya que solo este servidor puede firmar la comunicación con el suyo ( correspondiente) clave privada.

El método

Usual HTTPS solo autentica el servidor .

Si desea que el cliente también se autentique, necesitan su propio par de claves privadas / públicas. Después de autenticar el servidor, el cliente enviará su clave pública y el servidor podrá verificar el certificado en una base de datos local o en una infraestructura más global si los certificados (de los clientes) están firmados por una autoridad.

Otras partes del protocolo HTTPS admiten la autenticación de clientes de esta manera.

    
respondido por el M'vy 24.02.2015 - 15:40
fuente

Lea otras preguntas en las etiquetas