¿Es seguro almacenar las claves de API en la sesión?

1

Escenario:

  • La aplicación está alojada en un servidor compartido (el proveedor de alojamiento puede ver los archivos de configuración si lo desean).
  • La aplicación debe usar una clave API de un servicio de terceros.

Teniendo en cuenta este escenario de "presupuesto ajustado", ¿sería mejor ingresar la clave de la API en cada inicio de sesión y almacenarla en una variable de sesión en lugar de almacenarla de forma rígida (por ejemplo, dentro de config.php )? O, ¿cuáles son las mejores maneras de almacenar claves de API de terceros dentro de su software?

    
pregunta IMB 06.09.2016 - 00:15
fuente

1 respuesta

4

No, almacenarlo en una variable de sesión no lo protegerá contra el robo de su proveedor de alojamiento.

La variable de sesión será una cookie enviada de un lado a otro con cada solicitud o una sesión del lado del servidor. De cualquier manera, el servidor tiene acceso a la clave y cualquiera que controle el servidor también.

Por lo tanto, no agrega seguridad, suena como un gran inconveniente y podría exponerlo a otras amenazas (como filtrar la cookie a un tercero).

Como regla general, las claves de API deben ser accesibles para quien las use. Si el servidor es el que usa la clave, el cliente no tiene ningún negocio con él.

Puede almacenarlo encriptado en el servidor y descifrarlo con su información de inicio de sesión al iniciar sesión. Sigue siendo el teatro de seguridad, pero al menos no le molesta (al usuario) más allá de la configuración inicial.

    
respondido por el GnP 06.09.2016 - 16:28
fuente

Lea otras preguntas en las etiquetas