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?
fuente
Respuestas:
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)
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.
fuente