低功耗蓝牙安全

腊肠犬的一切

在遇到C#BLE连接问题时,我在“蓝牙低功耗连接”部分中进行了更深入的研究。如果我100%理解这部分内容,我就不会感到惊讶。

在我的情况下,我想连接到需要绑定才能开始数据传输的设备,否则我会收到适当数量的字节,但只能为零。我的应用程序somtimes正常工作,并且我收到了预期的值,有时我只收到零,有时在mscorlib.dll中收到错误“ System.ArgumentException”,并且我的应用程序崩溃了。在开始更改代码之前,请确保我正确了解Connection部分。
使用BLE,我可以进行绑定,配对和连接。键合通常是指相同的配对。交换加密密钥,并且在进行绑定的情况下,密钥将永久保存并重新用于两个特定设备之间的将来会话。配对密钥仅对一个会话有效。https://eewiki.net/display/Wireless/A+Basic+Introduction+to+BLE+Security基于此链接,蓝牙使用AES防护服。因此,对我来说,这两个选项很明确(当然,以防我理解它们是正确的)。因此,现在我读到自Windows Creators更新以来,无需绑定或配对就可以建立连接。我了解没有密钥交换,根据我对AES的了解,无法使用。仅使用两个设备之间的连接进行通信是否真的完全不安全,或者我丢失了某些东西?谢谢

优素福·赛义德

没错,无需配对/绑定,BLE链接不会被加密,来回传输的所有数据都可以使用嗅探器轻松读取。另一方面,如果使用配对/绑定,则来回传输的所有数据都会被加密,除非使用嗅探器端也使用了加密密钥,否则无法使用嗅探器读取。

有关更多信息,请参阅蓝牙规范,版本5.0,第3卷,H部分,C.2节(身份验证和加密)。

我希望这回答了你的问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章