This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC2652R:如何使用小于7字节的密钥

Guru**** 2390755 points
Other Parts Discussed in Thread: SYSCONFIG, CC2652R

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1206127/cc2652r-how-to-use-a-key-size-less-then-7-bytes

器件型号:CC2652R
主题中讨论的其他器件:SysConfig

您好!

我使用 CC2652R 和 BLE5堆栈、并使用 SysConfig、我配置了密钥大小为16字节的 Bond Manager。 现在我要将其更改为6字节、因为我希望当智能手机连接到我的器件并请求 PIN 时、不能插入6字节以外的密钥。

如果我试图把6作为密钥大小,我有以下

我想得看情况而定  

GAP_PARAM_SM_MIN_KEY_LEN

GAP_PARAM_SM_MAX_KEY_LEN

但我在 SysConfig 中找不到它。 那么,如何设置一个小于7字节的密钥大小并获取我想要的信息?

谢谢你

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Stefano:

    您是想使用6位数的 PIN 码进行密码回复吗? 密码回复和 LTK (长期密钥)不同。

    要了解有关密码配对的更多信息、我建议执行"安全基础"任务3.

    文件:///C/C:/ti/simplelink_cc23xx_sdk_6_40_00_16_eng/docs/ble5stack/ble_user_guide/html/ble-stack-5.x/overview-cc23xx.html

    或查看用户指南的 GAP Bond Manager 和 LE Security 部分。

    此致、

    Rogelio

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我查看了您建议的资源、但我没有找到我的问题的答案。

    是的、我是说密码回复。 我在密码响应中输入了6位密钥、但我想知道是否可以强制其他配对设备(在本例中为 Android 智能手机)使用6位密钥。 我注意到在智能手机上可以放置一个最多16位的 PIN。 它是否仅依赖于另一台设备上的 BT 配置?

    关于 GAP Bond Manager,我有一个函数 setBondManagerParameters(),其中有  

    GAPBondMgr_SetParameter (GAPBOND_keysize、sizeof (uint8_t)、&KeySize);

    而 KeySize 为16。

    函数  setBondManagerParameters()在由 SysConfig 生成的源文件 ti_ble_config.c 中实现,不能修改。

    正如我在上一篇文章中所写的,在 SysConfig 中,在 Bond Manager 部分我只能看到长期密钥大小配置,如果我尝试将其从16更改为6我有我显示的错误。

    因此、我的目标是让智能手机使用6位密钥、这与我在设备(这是 GAP 服务器)上执行的相同。 是否仅取决于智能手机或密钥大小配置,可以将其设置为通知另一台设备我只需要6位数的密钥?

    谢谢你

     

     

      

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Stefano:

    KeySize 参数指的是 LTK 尺寸而不是密钥。  

    如果配置正确、它将根据设备 I/O 功能决定哪个设备输入密码。

    https://dev.ti.com/tirex/explore/node?node=A__AOSAeLRs0L8SG8AQXVpVDA__com.ti.SIMPLELINK_ACADEMY_CC13XX_CC26XX_SDK__AfkT0vQ__LATEST

    您可以将密码硬编码为6个数字或随机生成代码以防止中间人攻击。

    默认情况下、它已经在项目0示例中为6

    此致、

    Rogelio

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    谢谢你的答案和链接,但有一些东西我不能理解。 我正在使用6位数字密钥返回 processPasscode 函数、例如、默认的密码123456。 在智能手机上,当通过对话框请求 PIN 时,如果我输入1234562或123456222222222 (15位数字),则配对正常(!);如果我输入1234562222222222 (16位数字,智能手机上的最大允许值),则配对失败。

    有一些奇怪的东西。

      

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Stefano:

    这很奇怪。 给我留出一天的时间对此进行测试、但明智的一面似乎是您现在可以将器件配置为至少需要6位密钥。

    此致、

    Rogelio

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    有新闻吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Stefano、您好!

    我对延误深表歉意,上周我的双手有点忙,但我将优先考虑明天的试验。 我在一天结束前跟进。

    此致、

    Rogelio

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Stefano:  

    我不能复制的情况,你可以发送一个 zip 文件的项目你用以及你正在使用什么型号手机,我测试了一个 Android 13设备.

    此致、

    Rogelio

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    因此,您只能插入一个6位数字的按键,而且在配对过程中无法在电话上插入更多的数字?

    抱歉、我无法向您发送代码、但它基本上与 SDK 的 Project Zero 类似。 我使用的三星 A52与 Android 13。

    也许您可以将您正在使用的项目的 zip 文件发送给我、以便我检查配置、以防操作错误。

    谢谢你