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.

[参考译文] BQ26100:BQ26100EVM

Guru**** 2327930 points
Other Parts Discussed in Thread: BQ26100, BQ26100EVM
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1221408/bq26100-bq26100evm

器件型号:BQ26100

我运行了软件、并将 EV2300连接到 EVM。  我知道闪存间的关系很好、因为我可以使用数据选项卡读取存储器中的内容。

我似乎无法把握 KEYPGM 按钮的操作。  我看到 Message0和 Message1框、因为我假设我要将它们放入密钥值。  我只是不知道把它们放在哪里。  比我的64位密钥所需的箱数多得多。  我阅读了填充说明、但添加1和 0的数量也不会合计。  所以我选择了随机、然后按"生成密钥"按钮、以查看密钥的放置位置。   这将在消息0中填充一个密钥。 但有误差。

然后以此作为指南、我在消息0中输入一个64位密钥、然后点击"生成密钥"。 这也会产生误差。

我知道我缺少一些应该是明显的东西,但我似乎不能绕过它。

如上所述、请告诉我如何填写方框、以便它可以存储密钥。

谢谢

DPK

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

    尊敬的 Corbin:  

    仔细看了一下细节后、我想检查一下/建议几件事。  

    在密钥编程期间、您是否已设置器件以对 OTP 进行编程(PWR 引脚的外部电源)、如所示 图 20外部电源连接 应用和产品说明书? 对密钥进行编程后、器件将对私钥进行 OTP 编程、并在点击 SW 工具的 KEYPGM 选项卡中的"Generate Key"后向您显示密钥。  

    在 BQ26100评估软件用户指南: https://www.ti.com/lit/ug/sluu244a/sluu244a.pdf 部分中 4.5键 PGM  这里提到了这一过程。

    在上面的过程中、您提到您只有一个64位密钥。 意味着您需要对128位密钥的高64位或低64位进行编程。 如果是这种情况、您可以使用"消息生成"框中的"随机"键。 我认为此处可能缺少的部分是选择要编程的钥匙(K0或 K1)。 当您点击"Generate "时、我相信该程序将填充其中一个字段。 然后、您将输入自己的64位密钥、然后点击"生成密钥"。  

    如果一切正常、您将看到一个完成对话框、其中会显示编程到专用 OTP 中的密钥。  

    希望这对您有所帮助!

    此致!  

    -Luis Torres

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

    我确实有如您提到的评估数据表中所述的链接。  7VDC 和3.3VDC 电源。  

    您是正确的、我总共要输入128位的身份验证密钥、我想一次性将整个密钥编程到器件中、因此我选中了 K1和 K2框。  我 不明白的是、共有40个框可用于输入数据。 20个框消息0和20个消息1。  每个框似乎容纳一个字节。  因此、我总共只需要16个框即可容纳我的128位密钥。  我把钥匙放在什么箱子里、把钥匙放在什么箱子里、如果有什么东西、我要把钥匙放在什么箱子里。

    我也不明白为什么我尝试随机方法时会出现错误。

    DPK

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

    另外、在尝试设置密钥之前、我是否需要在其他地方对位进行编程或设置?  我直接转到键 PGM。

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

    当我读取状态时、它显示所有 FFs。

    我安装了跳线 J3、用于 OTP 编程。

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

    尊敬的 Corbin:  

    对于延迟、很抱歉、我已经深入研究了这个、尝试帮助解决此问题。 有几个问题:  

    使用"user input"选项时:在输入两个20字节条目时、该选项执行什么操作?  

    我还在熟悉密钥生成、但您要尝试输入的密钥是如何生成的?

    您是否还可以尝试生成2条随机的20字节消息? 您提到该程序仅填充一行、然后给出错误。

    此致!  

    -Luis Torres

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

    在延迟上没有问题。

    您的第一个问题实际上是我的问题的基础。  SHA1的安全密钥长度始终为128位或16字节。 这就是为什么我不明白为什么要填写40个方框。  我不知道将密钥的16个字节放入什么框、然后将剩余的框中放入什么。   

    对于我生成密钥的方式、我只需随机放入128位作为密钥

    如果您看一下我原始通信的第一张图片、您将看到当我选择随机而不是用户输入并按"生成密钥"时生成了什么。  您还将看到误差。

    如果您不熟悉 SHA1中的 Key 的使用,请单击 AUTH 选项卡。  此屏幕在我看来很合理、因为我已将其用于其他 BQ。  您将看到128位密钥的放置位置。  然后是20字节的随机质询值。  然后发送至器件。  如果使用我们使用密钥 PGM 输入部分的密钥的部分结果与使用我们在顶行中输入的密钥生成的主机结果和质询的结果匹配,则表明我们的身份验证已成功。  显然、这需要我们首先使用密钥 PGM 将密钥置入器件中。

    我很抱歉没有得到它。  我知道它将是一个简单的东西,并将正常的工作。

    DPK

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

    尊敬的 Corbin:  

    不用担心、我们会以一种或另一种方式解决这个问题!

    我设法获得了 BQ26100EVM 并开始使用 EVSW 工具(仅讨论相关领域)。

    我认为 EVSW 中20字节块的答案是为了增加安全性。 器件 DS:

    "为了进一步保护128位密钥、写入每个64位非易失性密钥空间的值是在160位输入上输出 SHA-1计算结果。"

    因此、对于 BQ26100、它将生成28位输入=160bit (填充消息)+128位(128位拆分密钥)

    在此基础上、"生成的输入"部分的输入可能如下所示:

    "消息0:80 00 00 00 00 00 00 00 00 00 00 00 00 00 XX XX

     

     

     

     

     

     

    XX XX XX XX XX XX XX XX "用于第1个64位密钥... "消息1:80 ---填充的消息----- ----- ----第2个64位密钥--- --" 请记住、128位密钥的总格式为两条64位消息、密钥的每个部分以160位(20字节)的 SHA-1输出的形式写入、如果是重复写入、则表示抱歉。 试一下、让我知道这是否合理/可以解决问题。 另一个注意事项是、我能够生成随机密钥、但在发出密钥时出现错误(我认为是因为我没有针对 OTP 进行设置)。 还仔细检查了状态页、确实注意到00 Lock Page 是0x3F、而不是像您之前提到的那样整个板上的 FF。 我主要是想让它开始并运行,玩这个工具,以更好地告知你。 如果有任何进展、敬请告知。 此致! -Luis Torres
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我确实取得了一些进展。  我想。

    我使用了以下安全密钥

    -------------------------------------------------------

    身份验证密钥3  0x30372046

    身份验证密钥2  0x65627275

    身份验证密钥1  0x61727920

    身份验证密钥0  0x32303132

    -------------------------------------------------------

    我使用您建议的格式将数据输入框中、然后点击"生成密钥"。 无错误。 结果:

    您可以看到、"生成的密钥"字段中的结果与我为密钥输入的数据不匹配。

    此外、我现在显示了与页面锁定字段中状态寄存器3F 相同的结果。

    如果我正确阅读数据表、这意味着钥匙锁位被置位。   我在按"按键密码"页面上的"转接密钥"按钮之前没有预料到会出现这种情况。

    这是否意味着我已将生成的密钥写入器件而未命中转移密钥?

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

    尊敬的 Corbin:

    从我认为可能已经对器件进行编程的文档中看、按 Transfer Key 按钮似乎会将生成的密钥复制到 AUTH 页面。 您是否能够检查是否写入了 LOCKK0/LOCKK1位? 如果是这样,则钥匙可能已编程到 OTP。  

    此外、生成的密钥是否通常不匹配、因为 SHA1/HMAC 算法在 BQ26100上运行两次?

    此致!  

    -Luis Torres

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

    这就是我想说的。  不幸的是、正如我在上面提到的、当我读取状态时、显示锁定页为3F。 这似乎表示 LOCK 位已设置为0或锁定。  我注意到您在生成密钥后找到了相同的结果。  我不确定这种情况是怎么发生的、因为您说没有3.3V VDC 电源。

    对我来说、大问题仍然存在、如何放入方框中以生成所需的密钥。  显然用80000来填数据...... 不是答案?

    DPK

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

    我想我要订购一些未使用过的26100器件、然后重新开始使用。  我尝试使用生成的密钥和我想要使用的密钥进行身份验证、但都失败了。  因此、我不知道此时我将什么编程为密钥。 这可能发生在我开始在周围熏蒸的时候。

    我会让你知道它是怎样的。

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

    听起来不错的 Corbin

    我已经在继续并订购了一些全新的 EVM、您刚才提到过我可能已经编写的 EVM。 请在新版本发布时及时通知我进度!   

    我认为 Padding +密钥方法是正确的、我在此参考了此文档:"如何为 bq26100实现 SHA-1/HMAC 认证"  https://www.ti.com/lit/an/slua389a/slua389a.pdf

    其中包含的示例说明了 BQ26100如何获取输入和生成密钥。  

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

    我的器件应该在星期一提供。 我订购了25个、所以我应该在销毁这么多之前弄清楚。

     我将再次查看您参考的文档。  我之前认为文档只针对主机如何计算正确的身份验证响应来与 bq26100的响应进行比较、而不是针对如何设置 bq26100中的密钥、因此、我没有将它作为解决方案来给予太多关注。

    DPK

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

    听起来不错的 Corbin!  

    我有一对夫妇在路上,让我知道,如果你取得进展,一旦你得到他们!

    此致!

    -Luis Torres

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

    你好,Luis

    取得了一些进展。

    我放置了一个新的部分,并输入了所需的密钥和填充80 ... 与您建议的相同。  

    然后点击"生成密钥"

    它生成了一个密钥、但不是我想要的密钥。

    我点击"transfer"、然后它将其发送到身份验证页面。

    我单击发送和身份验证、并且...

    …… 验证成功。  因此、除了如何将所需密钥放入器件之外、我们知道一切都能正常工作。

    有什么建议吗?

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

    尊敬的 Corbin:  

    这当然很有趣、但这似乎是器件的正常操作。 用户毕竟可能无法输入自定义密钥、而是输入两个消息输入、然后使用 sha1 algo 对每个输入进行哈希处理以生成最终密钥。 这将不允许键的反向计算。  

    此致!  

    -Luis Torres