linux - BlueZ:从命令行使用椭圆曲线 Diffie-Hellman 进行 LE 安全配对

标签 linux bluetooth-lowenergy bluez diffie-hellman

蓝牙 v4.2 的主要特性之一是 LE 安全连接,其中椭圆曲线 Diffie-Hellman (ECDH) 用于 key 协商协议(protocol)。从 BlueZ v5.26 开始,添加了对 LE 安全连接的支持,如下所示:-

BlueZ 5.26 是第一个支持 Blueooth 4.2 功能的版本。也许其中最值得注意的一个是低功耗安全连接,它需要 3.19 或更新的内核。”[1]

有没有办法通过命令行测试 ECDH 配对?如果没有,最简单的测试方法是什么?

我在内核 3.19 上使用 BlueZ v5.38,但我不知道该怎么做。

[1] http://www.bluez.org/release-of-bluez-5-26/

最佳答案

在 Linux 中,可以通过在两个蓝牙 v4.2 设备之间执行配对(使用 bluetoothctl)并通过 btmon 观察输出来验证使用 ECDH 的安全连接功能。查找 HCI 事件:链接 key 通知并观察 key 类型。如果它显示 P-256,则安全连接功能已验证。如果它显示 P-192,则它正在使用安全简单配对 (SSP)。

有关此内容的更多背景信息,请参阅第 1 卷 A 部分第 5.1 节的蓝牙核心规范 v4.2:安全架构。

希望对您有所帮助。

关于linux - BlueZ:从命令行使用椭圆曲线 Diffie-Hellman 进行 LE 安全配对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36260101/

相关文章:

c++ - Gcc - undefined reference ,但库包含匹配的符号

iOS 核心蓝牙 : active connection to the same target peripheral in app and widget simultaneously?

低功耗蓝牙 : Read/Write to sensors attached to RedBearLab Shield

php - 为什么 "exec"在我打印它的输出之前不执行命令?

linux - 按关键字和权限搜索文件

linux - 与 Xmonad 一起使用时 Xmobar 不可见

java - 如何从此类中取出字节值?

ios - 将发现外围设备的UUID存储在CoreBluetooth LE iOS中

c - 如何使用 Bluez Profile1 DBus API 注册连接回调

c++ - BlueZ5 : Event when inbound pairing is complete