seguridad REST utilizando solo la clave API y SSL

5

Estoy buscando construir una serie de servicios web REST simples donde:

  • solo necesitan ser llamados por los clientes del lado del servidor (es decir, sin dispositivo móvil / javascript / desktop)
  • solo se puede acceder a ellos mediante HTTPS (sin degradar a HTTP)
  • los clientes solo se implementarán en ubicaciones seguras y confiables
  • cada cliente tendrá una clave API única
  • cada servicio contendrá una lista de claves de cliente permitidas

Al acceder a un servicio web, un cliente proporcionará su clave de cliente única en cada cuerpo de solicitud para la autenticación de ese servicio.

Pregunta: ¿Este enfoque simple es suficiente para restringir el acceso a los servicios solo a clientes conocidos?

    
pregunta rogersillito 02.04.2014 - 15:29
fuente

1 respuesta

5

Entonces, en principio, si tiene una situación en la que se trata de una comunicación de servidor a servidor, algunas de las preocupaciones estándar sobre la autenticación de usuarios no están en juego y lo que tiene suena razonable, algunas cosas en las que pensar (y si estos son relevantes dependerá mucho de su modelo de amenaza)

  • ¿Las claves API utilizadas tienen suficiente entropía para evitar ataques de adivinanzas o forzados?
  • ¿Tiene implementado un proceso para la revocación / reedición de claves en caso de que se comprometa la seguridad de uno de los clientes?
  • ¿Está utilizando la fijación de certificados o algo similar para mitigar los riesgos de las máquinas cliente que sufren un ataque MITM, donde el atacante tiene la capacidad de emitir un certificado de una CA "confiable"?
  • ¿El proceso para cargar las claves en los clientes y servidores mitiga el riesgo de que un participante en el proceso copie / abuse de la clave?
  • ¿Cómo está almacenando las claves del servidor? ¿Está claro, en formato cifrado reversiblemente, o en un formato hash?
respondido por el Rоry McCune 02.04.2014 - 15:48
fuente

Lea otras preguntas en las etiquetas