Prácticas de seguridad para sondear de forma segura las API de terceros autenticadas en nombre de los clientes

1

Resulta que es necesario que nuestra aplicación pueda sondear datos en un horario específico desde una API externa en nombre de los clientes. La API puede ser cualquier API de descanso que el cliente elija. Debemos poder sondear la API sin entradas del cliente después de la configuración inicial. Todos los componentes de la aplicación se alojarán en la nube utilizando el sistema de gestión de clústeres.

Nota: las API del cliente pueden o no ser compatibles con Oauth.

Para admitir esto, nos hemos dado cuenta de que tenemos que almacenar las credenciales de la API de forma segura y reversible.

Para lograr esto, creemos que se requieren los siguientes pasos:

  1. Cuando se configura la programación de API, el cliente debe proporcionar credenciales a la API
  2. Esto se transfiere de forma segura utilizando HTTPS a los servidores
  3. Los servidores cifran las credenciales mediante el cifrado de clave simétrica
  4. Cuando el programador detecte que se debe realizar una llamada a la API, descifre las credenciales - > Autentíquese con la API - > Llame a la API
  5. Almacena los datos

Pasos 3 y 4 Creo que debemos ser muy cautos.

  1. Necesitamos mantener las claves de cifrado disponibles para descifrar los datos. Estamos pensando en utilizar soluciones KMS en la nube (AWS o Google o algo más)

  2. El almacenamiento de datos cifrados creemos que es un aspecto importante también.

Entonces las preguntas son:

  1. En un nivel alto, ¿hemos perdido un paso / proceso de seguridad? Si es así, donde puedo aprender mas al respecto
  2. ¿Dónde debemos almacenar el datos encriptados? ¿Podemos mantenerlo en una base de datos (SQL, No-SQL)? Esta ahí un mejor enfoque que la base de datos, como el administrador de credenciales en ventanas o algo mas
  3. si almacenamos datos cifrados en el base de datos, qué pasos deben ser necesarios para garantizar que la base de datos es seguro?

He leído los siguientes enlaces, por lo que mis preguntas se centran más en el almacenamiento y la comprensión de si faltan elementos:

¿Cómo cifrar datos confidenciales del usuario y transportarlos de forma segura entre el cliente y el servidor?

Cómo almacenar y usar de manera segura 3er ¿Claves API de la fiesta?

    
pregunta Varun Dave 02.11.2017 - 13:55
fuente

0 respuestas

Lea otras preguntas en las etiquetas