¿Cuál de estas opciones está realmente en línea con los estándares?
En el software que genera certificados de cliente SSL para entregar al software del cliente para la autenticación en un sistema cerrado, si el campo NotBefore
se establece en el tiempo de generación , o ese tiempo restado por cierto margen de maniobra ?
Los principales puntos de preocupación aquí son:
- Inclinación del reloj entre el servidor de generación y el servidor de autenticación.
- Inclinación del reloj en el sistema operativo del cliente.
- Cualquier vulnerabilidad que surja de ser demasiado permisiva en la fecha
NotBefore
.
Las opciones son:
- Incluya el margen de maniobra en la fecha
NotBefore
. - No agregue margen de maniobra a la fecha
NotBefore
, sino que atiéndala durante la validación. (De un vistazo, esto no parece ser una opción común, por lo que probablemente implique piratear la implementación de SSL de bajo nivel en el software del servidor). - No agregue margen de maniobra ni maneje la inclinación del reloj directamente en los servidores. (Esto no lo controla el cliente, pero a una pequeña muestra de las API que observé (a saber, .NET Framework) no parece importarles el hecho de elegir certificados válidos).