我正在家里构建一个小型服务器,我想要一种“智能”板来控制它的电源。该板在开始时只需将其打开或关闭(稍后将添加更多功能)。
该设备将基于 Arduino(实际上它是一个更强大的微控制器,但我使用 Arduino 环境对其进行编程)。
现在,服务器将通过 VPN 提供对所有网络的访问,但显然不能仅通过 VPN 访问交换机(因为如果服务器关闭则无法访问,因此我将无法打开它) . 因此,它需要直接访问互联网。
我想确保操作安全,因为允许任何人打开和关闭我的服务器有点问题。
我想的是使用一组预先共享的对称密钥(考虑 AES);每次加载网页时,微控制器都会发送一个种子(例如日期),客户端通过 JavaScript 评估要与加密请求一起发送的令牌,例如,种子和带有传入密钥的请求文本框。
你怎么认为?是否有已知的更简单的解决方案?这个问题一般是怎么处理的?
请注意,HTTPS 不是解决方案,因为在微控制器上实现它非常困难......
编辑:由于询问了一些其他信息,这里有一些更具体的信息:
我打算使用的板子是Maple Mini;处理器是STM32-F103RCBT6(72 MHz、120 KB 闪存、20 KB SRAM)。我将使用 ENC28J60 以太网接口(因此没有硬件堆栈)。
我将从我的路由器转发一个端口到它,因为我希望这个功能可以从“外部世界”获得;界面将是一个网页。如果闪光灯太紧,我可以将页面放在外部 SD 卡上。