首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在BlueEz5.x外设中硬编码BLE配对密码?

如何在BlueEz5.x外设中硬编码BLE配对密码?
EN

Stack Overflow用户
提问于 2019-12-11 07:09:28
回答 1查看 1.1K关注 0票数 1

我需要在我的外围设备上有一个硬编码的密码引脚(例如"123456"),这样android手机就必须在配对时输入这段代码。

我使用的是ubuntu 18.04,bluez 5.48和TI BLE4.0 + wifi芯片。

目前,我能够使用堆栈提供的所有其他方法(noinputoutput、Keyboardonly、displayonly和keyboarddisplay)建立配对。

我的外围设备在生产中没有显示和键盘,因此计划使用存储在.文件中的唯一键。

我尝试过修改简单的代理代码以返回一个固定的密钥.我还尝试调整bt代理代码以传递一个密码文件.但是所有这些方法都不能使用,因为堆栈正在创建一个随机密钥,而不是接受我的静态硬编码密钥 :(

我可以在网上看到几十个类似的问题,但没有一个问题的答案是正确的。我以前做过很少的其他BLE芯片,并达到了同样的要求(cc2650等与他们的控制器芯片和栈),但我不能用布卢兹堆栈。

我听说旧堆栈有从文件中读取引脚的功能,但是在新堆栈中如何实现?

我希望以下几点是强制性的: 1)我必须禁用hci0 sspmode 2)我需要蓝牙守护进程服务才能运行3)我需要一个代理来配对

,请告诉我,如果有谁和布卢兹一样的话.

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2019-12-11 09:15:59

蓝牙标准规定,每次尝试时,密码应该是随机的。这有一个很好的理由:如果重复使用密码(至少对于LE安全连接),协议的安全属性就会中断。所以你应该坚持“只工作”的方法。如果需要身份验证,请在应用程序层中使用PAKE算法。

有关更长的描述,请参见https://devzone.nordicsemi.com/f/nordic-q-a/35856/questions-about-lesc-mitm-and-passkey/138216#138216

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59280473

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档