我最近在IFTTT注册,这看起来像是一项很棒的服务,可以将事件链接在一起,以创建智能家居或自动执行各种服务。
我刚刚找到了Maker频道,该频道可让您发出简单的HTTP请求(例如GET和POST),我希望使用它安全地向正在运行的Raspberry Pi发送消息,该消息正在等待某个路由上的任何API请求(例如POST /foo)。我链接的Makezine文章建议使用这种安全性方法:

现在我在上面所做的操作非常不安全,我基本上向世人展示了一个脚本-换句话说就是Web应用程序-可以切换开关控制打开和关闭我家的灯。显然,这不是您要做的事情,但这就是IFTTT的服务提供了将更多信息传递给远程服务的功能的原因。例如,在这两者之间建立TOTP身份验证链接并不难,还是令牌或密钥交换-并保护您的IFTTT帐户本身?他们刚刚添加了两因素身份验证。密码。
由于IFTTT不支持链接任务或任何脚本,因此如何按照本文中的建议生成TOTP?完全有可能这样做,因为需要进行一些计算并且似乎没有办法进行?

评论

您是否正在从IFTTT发送特定数据(邮件内容,...)?如果是这样,您可以将其一部分(主题)作为查询密码。 SSL是否足以发送消息或您确实需要密码?

@Goufalite密码的目的更多是用于身份验证-SSL提供传输层安全性,但不能保证请求实际上来自我的applet。

如果您有一组定期存储的密码,则IFTTT不会一个个地发送它们!对吧?

@PrashanthBenny,我的问题专门针对一代。您无法在IFTTT上进行任何数学运算,但是本文推荐此算法,因为它确实需要进行一些计算,因此似乎不可能。

让我确保没有其他消息来源在说! :)

#1 楼

链接的文章有点误导。 IFTTT提供的接口未完全打开,它需要请求中的密钥。由于请求是使用HTTPS发出的,因此无法直接观察到机密(前提是您的客户端始终可靠地连接到IFTTT,而不是mitm代理)。 />

触发事件发出POST或GET Web请求至:

https://maker.ifttt.com/trigger/{event}/with/key / my-secret-key
带有可选的JSON主体:

{“ value1”:“”,“ value2”:“”,“ value3”:“”}

数据是完全可选的,您还可以将value1,value2,
和value3传递为查询参数或表单变量。此内容将
传递到食谱中的操作上。

您也可以从命令行使用curl进行尝试。 br /> https://maker.ifttt.com/trigger/{event}/with/key/my-secret-key


现在,密钥只是低熵,因此可能可以从监视您的请求中撤消(除非您用高质量的噪声填充它们),但是在这种情况下,TLS可以满足每个会话安全性的请求,该TLS可以处理HTTPS通道的设置。

为了使通信更加安全,将需要IFTTT特别支持端点身份验证,但这似乎超出了应用于其他服务端链接的安全性。这意味着您通往IFTTT的制造商渠道目前与通往家用电器的IFTTT渠道同样安全。