¿Cómo genero una contraseña única basada en el tiempo con IFTTT?

9

Recientemente me registré con IFTTT , que parece un servicio fantástico para encadenar eventos para crear un hogar inteligente o automatizar varios servicios.

Acabo de encontrar el canal Maker que le permite realizar solicitudes HTTP simples (por ejemplo, GET y POST), y espero usar esto para enviar de forma segura un mensaje a un Raspberry Pi que estoy ejecutando y que está esperando cualquier solicitud de API en una ruta determinada (digamos, por ejemplo POST /foo).

El artículo de Makezine que vinculé sugiere este método de seguridad:

Ahora, lo que hice arriba fue terriblemente inseguro, básicamente expuse al mundo un script, una aplicación web en otras palabras, que podría activar y desactivar un interruptor que controla una luz en mi casa. Obviamente, esto no es algo que desee hacer, pero es por eso que los servicios de IFTTT brindan la capacidad de pasar más información al servicio remoto.

No sería difícil configurar un enlace autenticado TOTP entre los dos, por ejemplo, o un token o intercambio de claves, y proteger su cuenta IFTTT. Acaban de agregar la autenticación de dos factores.

Leí más sobre Contraseñas de un solo uso basadas en el tiempo en Wikipedia, lo que parece sugerir que hay un elemento de cómputo involucrado para generar la contraseña de un solo uso.

Dado que IFTTT no admite el encadenamiento de tareas o ninguna secuencia de comandos, ¿cómo genero el TOTP como se sugiere en el artículo? ¿Es posible hacer esto, ya que se requieren algunos cálculos y no parece haber una manera de hacerlo?

Aurora0001
fuente
¿Está enviando datos específicos de IFTTT (contenido de correo, ...)? Si es así, puede incluir una parte del mismo (asunto) como contraseña para su consulta. ¿También es suficiente SSL para enviar un mensaje o realmente necesita una contraseña?
Goufalite
2
@Goufalite, el objetivo de la contraseña es más para la autenticación: SSL proporciona seguridad en la capa de transporte pero no garantiza que la solicitud sea realmente de mi applet.
Aurora0001
Si tiene un conjunto de contraseñas almacenadas en algún lugar, generadas regularmente, ¡IFTTT no tendría ningún problema en enviarlas una por una! ¿Correcto?
Prashanth Benny
@PrashanthBenny, mi pregunta es específicamente sobre la generación. No se puede hacer ningún operaciones matemáticas en IFTTT, sin embargo, el artículo recomienda este algoritmo , que hace requerir algún cálculo, por lo que no parece ser posible.
Aurora0001
1
¡Permítanme asegurarme de que no haya fuentes que hablen de otra manera! :)
Prashanth Benny

Respuestas:

3

El artículo vinculado es un poco engañoso. La interfaz proporcionada por IFTTT no está completamente abierta, requiere una clave en la solicitud. Dado que la solicitud se realiza utilizando HTTPS, el secreto no se puede observar directamente (siempre que su cliente siempre se conecte de manera confiable a IFTTT, no a un proxy mitm).

Desde la página de información del canal del creador (específico del usuario)

Para activar un evento Realice una solicitud web POST o GET para:

https://maker.ifttt.com/trigger/ {event} / with / key / my-secret-key Con un cuerpo JSON opcional de:

{"value1": "", "value2": "", "value3": ""}

Los datos son completamente opcionales, y también puede pasar value1, value2 y value3 como parámetros de consulta o variables de formulario. Este contenido se pasará a la Acción en su Receta.

También puedes probarlo con curl desde una línea de comando.

curl -X POST https://maker.ifttt.com/trigger/ {event} / with / key / my-secret-key

Ahora la clave es solo baja entropía, por lo que podría revertirse al monitorear sus solicitudes (a menos que las rellene con ruido de alta calidad), pero la solicitud de seguridad por sesión es satisfecha en este caso por TLS, que maneja la configuración del canal HTTPS .

Hacer que la comunicación sea significativamente más segura requeriría que IFTTT admita específicamente la autenticación de punto final, pero esto parece exceder la seguridad que se aplica a los otros enlaces del lado del servicio. Esto significa que su canal creador para IFTTT es actualmente igual de seguro que el canal IFTTT para sus electrodomésticos.

Sean Houlihane
fuente