¿Existen buenos métodos para autenticar que un usuario es un ingeniero de mantenimiento, o al menos lo suficientemente confiable para usar el acceso de mantenimiento? El entorno es un código que se ejecuta en sitios de clientes, sin acceso a Internet, y se ejecuta durante muchos años entre visitas.
Piense en una máquina expendedora como ejemplo. ¿Cómo puedo saber si es de una compañía de servicios O está hablando con un ingeniero de servicio que le da la contraseña? Quiero evitar que puedas usar esta contraseña nuevamente semanas más tarde, aunque nuevamente dentro de las próximas horas está bien si ayuda.
Actualmente usamos una contraseña de largo plazo, por lo que primero inicia sesión (seguridad del sitio) y luego ingresa la contraseña principal para pasar al modo súper. El único problema es que una vez que se conoce esta contraseña, no podemos cambiarla realmente.
No estoy buscando una seguridad perfecta, solo que los usuarios deben tener una confianza razonable para acceder al modo de mantenimiento. Estaba pensando en algún desafío / respuesta, donde la pregunta de desafío cambia cada 24 horas aproximadamente, pero si el código podría necesitar almacenar 10 años (vida de lanzamiento único) de desafío / respuestas, me pregunto si realmente es una buena idea. Solo tenemos teclados como dispositivos de captura de autenticación.