首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WolfSSL和ATECC508A的配置问题

WolfSSL和ATECC508A的配置问题
EN

Stack Overflow用户
提问于 2019-06-13 13:29:47
回答 2查看 275关注 0票数 1

我们使用ATECC508ARenesas RX600 CPU上支持WolfSSL (抱歉-客户规范)。我们正在尝试在TLS 1.3设备上执行IoT操作。软件ECC模式使用WolfSSL -工作良好。ATECC硬件支持模式-错误-248 (0xF4 in cryptoauthlib)失败。将调试器中的程序跟踪到TLS 1.3握手的预主秘密步骤,在该步骤中,它无法从ATECC芯片的一个槽中读取。我们正在使用微芯片的默认配置为ATECC508A。看起来,预主秘密是在内部使用私钥计算的,并通过从ATECC slot3加密读取返回。但是,默认的ATECC配置的槽3设置为“永不读取”模式。所以,难怪它会出错。

但是,这是使用ATECC508A插槽的默认配置、来自cryptoauthib库的默认设置以及WolfSSL中不变的代码(除了添加的调试器)。我是不是漏掉了什么?

版本: WOlfSSL 4.0.0,CryptoAuthLib 20190304 Renesas RI600v4

对于其他事情有什么建议吗?我可以提供user_settings.h,所有你可能想要的日志,等等。谢谢你的任何想法。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-06-14 14:47:26

发帖的原始答案:https://www.wolfssl.com/forums/topic1396-configuration-issue-with-wolfssl-and-atecc508a.html

开始引用

生成ECC共享秘密的调用使用需要配对加密密钥的加密通道。默认的wolfSSL示例使用atmel_get_enc_key_default,这是所有0xFF的,我们应该用自己的实现和键覆盖这个函数。这可以在构建时使用ATECC_GET_ENC_KEY完成. 如果希望使用不同的插槽来生成短暂的密钥,用户可以在构建时使用宏ATECC_SLOT_ECDHE_PRIV覆盖,或者在运行时使用atmel_set_slot_allocator注册插槽分配器。用户可以通过将atcab_ecdh_enc替换为atcab_ecdh中的atmel_ecc_create_pms来测试其加密密钥。 此外,ATECC芯片有一个看门狗,当芯片没有进入空闲状态时,它就会发生。用户会注意到在[] wolfcrypt/port/atmel/atmel.c中调用atcab_idle来解决这个问题。 您可以直接用[] wolfSSL和日志给support@wolfssl.com的支持团队发电子邮件。这些电子邮件被直接发送到wolfSSL ZenDesk系统,我们的一名工程师将确保并获取收到的票。 谢谢, D.G.,wolfSSL

尾引

票数 0
EN

Stack Overflow用户

发布于 2019-06-19 13:35:03

结果发现,在内部,WolfSSL调用了atcab_ecdh_enc(),后者打算进行加密读取(slot+1)。ATECC芯片的默认配置将插槽3设置为永不读取。WolfSSL提出了一种与MicroChip标准不同的配置,因为像我这样的公司不愿意为其支付额外费用。因此,它适用于WolfSSL指定的ATECC配置,但不适用于默认的配置。

我们的解决方法是调用atcab_ecdh(),这避免了加密的读取,并直接从临时寄存器中传回预主密钥。这似乎是正确的(虽然我还在测试)。MicroChip FAE向我保证,这不是一个安全风险。

谢谢你的回应。

基特泰勒

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

https://stackoverflow.com/questions/56581652

复制
相关文章

相似问题

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