Autenticación de ingenieros de soporte en sistemas cliente

3

¿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.

    
pregunta rlb 04.10.2013 - 22:28
fuente

1 respuesta

3

Utilizaría algún tipo de sistema HOTP-esque: contraseña de un solo uso basada en eventos. Piense en los pequeños llaveros RSA que algunas personas usan con números aleatorios. Puede comprar un montón de ellos y entregárselos a sus ingenieros (sin embargo, tienen que ser programados en las máquinas), o configurar un sistema telefónico para que sus ingenieros llamen para obtener el OTP.

Un problema es que no puedes revocar las claves robadas. Si se los da a sus ingenieros, y lo pierden o se van y no lo devuelven, todavía pueden entrar. Si estos sistemas tienen relojes precisos (+/- 30 segundos de tiempo real), puede obtener un tiempo- sistema basado en OTP en su lugar. Use el mismo código numérico de 6 dígitos, pero luego sus ingenieros no podrán acumular una docena de números antes de abandonar el trabajo con la identificación de su compañía y los códigos de acceso.

Puedes hacer esto sin los mandos. El inconveniente es que, si alguien tiene acceso a la clave privada en el código, puede acceder a cualquier máquina en cualquier lugar. Si puedes compilarlo, estás listo.

Los dongles HOTP o TOTP se pueden comprar, o simplemente puede usar un comando de Linux para generarlos a voluntad.

Forma más sencilla

La forma más sencilla es tener un número aleatorio generado por un algoritmo. El número cambia diariamente a una hora específica. De esa manera, un código nuevo que no sea empleado o un código robado no se podría usar durante más de un día. Puede usar el ejemplo HOTP de arriba en esto, usando el método HOTP para generar el código diario y validarlo.

    
respondido por el Mat Carlson 04.10.2013 - 22:55
fuente

Lea otras preguntas en las etiquetas