使用BlueZ加强蓝牙安全性和身份验证

时间:2018-11-29 19:24:38

标签: security authentication bluetooth bluez hci

我正在使用BlueZ 5.49,并尝试在两个不同的蓝牙设备之间连接,配对和传递信息。 似乎我在执行两者之间的安全性和身份验证时遇到问题。

我正在为每个hci设备配置: 据我所读,hciconfig hci0 pscan auth encrypt正在将设备设置为安全模式3。

此外,我正在双方手动创建此路径:/var/lib/bluetooth/<local_bdaddr>/<remote_bdaddr>/infoLinkKey

我注意到,如果我仅创建一个设备的路径,然后尝试使用rfcomm connect从没有info文件的设备进行连接,即使连接成功,设备缺少包含info的{​​{1}}文件。 如果我尝试使用具有LinkKey文件的设备尝试rfcomm connect,则会收到info错误,这是可以接受的,因为另一台设备没有密钥。

我的底线是似乎未实施安全性和身份验证。

非常感谢, 利亚德

1 个答案:

答案 0 :(得分:0)

显然hci设备默认设置为在安全简单配对中工作 为sspmode。产生了简单配对原始信息,以支持在配对过程中无法插入个人识别码的设备(例如耳机)。

因此,当设备启用sspmode时,它将使用默认的PIN密钥(例如0000),然后基于该PIN生成LinkKey进行加密和认证,因此不能真正地执行认证正如我之前提到的。

hciconfig hci0 sspmode disable行禁用了安全简单配对模式,最后使用您提供的静态LinkKey强制执行身份验证 在/var/lib/bluetooth/<your_mac>/<remote_mac>/info中的信息文件中。