乐鑫技术交流
直播中

李麒铭

7年用户 1402经验值
私信 关注
[问答]

请问esp-now的安全模型是什么?

尝试使用 esp-now 开发一些东西。

似乎,发送者和接收者在通信之前无法就一些共同的秘密达成一致。只要发送方知道接收方的MAC地址,发送方就可以随时向接收方发送数据。

我试过了esp_now_set_kok,无论有没有esp_now_add_peer,都不起作用。发送方始终可以使用默认 kok 向接收方发送数据,并使用带有接收方 mac 地址的esp_now_send。

这是正确的实现吗?

回帖(1)

他在笑

2024-7-10 17:49:17
ESP-NOW(ESP Open Now)是乐鑫(Espressif)提供的一种快速、简单的无线通信协议,用于ESP8266和ESP32系列芯片。它允许设备在没有路由器或接入点的情况下直接进行通信。然而,ESP-NOW的安全性相对较低,因为它主要依赖于MAC地址过滤和一些基本的加密措施。

关于您提到的安全模型问题,我们可以从以下几个方面来分析:

1. **MAC地址过滤**:ESP-NOW使用MAC地址作为设备的唯一标识,通过设置允许的MAC地址列表来实现通信的过滤。然而,这种方法的安全性相对较低,因为MAC地址可以被伪造。

2. **加密**:ESP-NOW支持AES加密,可以在一定程度上保护数据传输的安全性。但是,加密密钥(KOK)需要在发送方和接收方之间共享。如果没有共享密钥,加密功能将无法发挥作用。

3. **ESP-NOW的实现问题**:您提到的`esp_now_set_kok`和`esp_now_add_peer`函数是用于设置加密密钥和添加通信对等体的。然而,这些函数的实现可能存在一些问题,导致加密功能无法正常工作。这可能是由于固件版本、API使用不当或其他原因造成的。

针对您的问题,我建议您尝试以下解决方案:

1. **确保固件版本**:检查您的设备是否使用的是最新版本的固件,以确保ESP-NOW功能的完整性和安全性。

2. **正确使用API**:仔细阅读ESP-NOW的API文档,确保您正确使用了`esp_now_set_kok`和`esp_now_add_peer`函数。例如,您需要先设置KOK,然后添加通信对等体,最后才能实现加密通信。

3. **检查加密模式**:ESP-NOW支持不同的加密模式,如AES-128、AES-256等。确保您选择了正确的加密模式,并在发送方和接收方之间共享相同的密钥。

4. **考虑使用其他安全措施**:如果ESP-NOW的安全性无法满足您的需求,您可以考虑使用其他更安全的通信协议,如WPA2、WPA3等。

5. **寻求社区帮助**:如果您在实现过程中遇到问题,可以寻求ESP8266/ESP32社区的帮助,那里有很多经验丰富的开发者可以为您提供指导和建议。

总之,ESP-NOW的安全性取决于多种因素,包括MAC地址过滤、加密措施以及API的正确使用。通过确保固件版本、正确使用API和选择合适的加密模式,您可以提高ESP-NOW的安全性。然而,如果您需要更高级别的安全性,可能需要考虑使用其他通信协议。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分