Sugerencia de seguridad del bot de Telegram

-1

Estoy desarrollando un bot a través de Telegram que puedo controlar de forma remota algunos parámetros de mi computadora, como encender / apagar la pantalla, bloquear (pero no desbloquear) la pantalla, montar y desmontar unidades, etc.

Para evitar que alguien más tome el control de mi computadora, el bot comprueba el nombre de usuario del remitente y solo ejecuta los comandos si coinciden con los míos. Sin embargo, me gustaría hacer que el bot sea más seguro, utilizando algún tipo de autenticación antes de ejecutar cada comando. Por supuesto, simplemente podría solicitar una contraseña, pero eso no sería seguro ya que tendría que enviarla en texto sin formato, y básicamente cualquier persona que vea mis mensajes podría tenerla. Así que pensé en algo así como una contraseña de un solo uso que puedo calcular mentalmente. Aquí hay un ejemplo demasiado simple para que lo entiendas mejor: el bot me pide la contraseña y me dice una palabra al azar de una lista de palabras. Entonces reviso la hora actual; si termina con un dígito par, la contraseña será sinónimo de la palabra; mientras que si termina con un dígito impar, la contraseña será la opuesta a esa palabra.

Entonces, si, por ejemplo, el bot me envía "fácil" y es 12.32, respondo "trivial". Si el bot me envía "oscuro" y es 09.47, respondo "brillante". Sé que esto no es bueno en absoluto: es bastante fácil de adivinar, las palabras pueden tener más de un sinónimo, etc. Así que le pregunto si puede sugerirme un algoritmo similar (pero espero que sea mejor), para que pueda Calcular mentalmente contraseñas de un solo uso para autenticarme de forma fácil pero segura con mi bot.

Gracias de antemano.

    
pregunta profpython 12.08.2016 - 13:59
fuente

2 respuestas

1

Su sistema se basa en la seguridad a través de la oscuridad. Se supone que el intruso no conoce su sistema. Cuando el atacante lo sabe, no tiene sentido. Y acaba de publicar su sistema en Internet, por lo que ya está comprometido.

Un sistema de autenticación común de dos factores que no se basa en ningún canal de autenticación alternativo o dispositivos electrónicos está utilizando una lista TAN (Número de transacción).

  1. Genere una lista de números de transacciones aleatorias numeradas
  2. guarda la lista donde tu programa puede leerlo
  3. Imprímelo y guárdalo en tu bolsillo
  4. Cuando da un comando, el servidor responde con el número de TAN que espera ("ingrese TAN # 47")
  5. Busca el número en su lista y lo ingresa

Cada TAN solo debe usarse una vez, sin importar si su respuesta es correcta o no.

Alternativamente, puedes usar un sistema de mensajería más seguro con una autenticación de usuario más confiable.

O simplemente use SSH para controlar a distancia su computadora.

    
respondido por el Philipp 12.08.2016 - 15:30
fuente
-2

Buen sistema r / a.
Tal vez una lista de palabras con palabras complejas múltiples y hexadecimal?

r: rana?
a: sapo de espadas
passwd: Spadefoot746f6164

r: 1942?
contraseña: george6f7277656c6c

    
respondido por el anonyman 12.08.2016 - 15:01
fuente

Lea otras preguntas en las etiquetas