Caché de sesión
Junto con el equilibrio de carga, funciona un sistema de caché de sesiones, cuyo objetivo es optimizar el uso del ancho de banda de red y la asignación y liberación de recursos en el HSM y en el servidor de la aplicación. Cuando la aplicación solicita al HSM que finalice la sesión, esta se cierra lógicamente (para la aplicación, la sesión se ha cerrado correctamente); la biblioteca del HSM (cargada en el espacio de direcciones del proceso de la aplicación) mantiene durante un tiempo determinado la sesión física con el HSM; si se solicita una nueva sesión, la biblioteca reutiliza esa sesión física (reautenticando al usuario localmente). Al reutilizar una sesión ya establecida, se obtiene una ventaja al no tener que volver a negociar la sesión física, especialmente si la aplicación utiliza sesiones cifradas (TLS). El tipo de la nueva sesión (abierta o cifrada) debe ser el mismo que el de la sesión física existente. En caso de que la sesión física en la caché no se reutilice dentro del tiempo de espera, se cierra físicamente en la siguiente apertura de sesión.
Si el tiempo de espera de la red (envío/recepción) es inferior al tiempo de espera de la caché de sesión, prevalecerá el más corto para evitar la devolución de sesiones inactivas.
Características de la caché de sesión:
- Intraproceso: la caché se realiza por proceso. Esto significa que 2 aplicaciones en la misma máquina tendrán cada una una caché, sin compartir sesiones entre los procesos;
- Centralizada: implementada en la biblioteca HSM. De este modo, la caché se habilita en un punto central y todas las demás bibliotecas que dependen de ella heredan la funcionalidad;
- Transparente: para habilitar la caché de sesión basta con activar una variable de entorno. No es necesario realizar cambios en el código fuente de la aplicación.