我有一个基于MCU的设计,基本上控制其他硬件,这个MCU是通过一个应用程序控制的。我希望有人能帮我弄清楚如何确保应用程序和MCU之间的通信安全。我尝试过像SipHash这样的东西,它本质上是用纯文本消息附加消息的散列,这对于对付中间人攻击特别有用。我尝试过的另一种方法是使用AES加密两者之间的命令包。然而,这两种方法都需要在应用程序和设备上存储一个秘密密钥。假设这将投入生产,将会有多个设备和应用程序下载。在所有的MCU设备上拥有相同的密钥是非常不安全的。有没有办法在设备上获得随机密钥,然后以某种方式让应用程序获得这个密钥?
发布于 2016-07-18 06:41:34
你可以使用diffie算法(https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_钥匙_交换)来分享香奈儿的秘密。在您的情况下,我认为您还应该有一个中央服务器来跟踪谁拥有哪个设备。每个设备都应该有唯一的标识符,当用户购买设备时,应该有一个注册过程来标记中央数据库中该用户拥有的设备。
https://softwareengineering.stackexchange.com/questions/325095
复制相似问题