你好,
我们目前使用的是SE050E2 (小程序 7.2.0,在两个设计中,芯片报告为“SE051”(ATR,AppletConfig 0x3F9F),我们正在评估SE052,以用于下一个硬件版本。在做出决定之前,我们阅读了 SE052 数据表(修订版 1.5)、AN14028、AN14277、AN13904、AN12543(修订版 4.5)和 Plug & Trust MW 文档(AN13030 修订版 2.7),但有几点阻碍了我们做出决定。希望您能澄清一下。
我们的两个应用案例:
问题:
变体。AN14277 指出 SE052F (OEF B501, FIPS 140-3) 是“唯一发布的变体”,其 GetInfo 显示没有 EDDSA / 没有 DH_MONT。是否有针对非 FIPS SE052 配置(相当于启用 CONFIG_EDDSA 和 CONFIG_DH_MONT 的 SE050E / SE051)的路线图?如果属实,大致时间范围和OEF是多少?
在 SE052F 上启用 EdDSA / Montgomery DH。由于 SetAppletFeatures 需要 RESERVED_ID_FEATURE (0x7FFF0204),而 RESERVED_ID_FEATURE 是 NXP 拥有的,那么客户是否有任何途径在 SE052F 上启用 Ed25519/X25519(例如,通过 EdgeLock 2GO 进行自定义配置),同时接受失去 FIPS 批准模式?或者说,无论小程序功能位如何,FIPS OS 版本都会阻止这些曲线?
FIPS 和 EdDSA。FIPS 186-5 批准 EdDSA。未来是否有计划推出支持 Ed25519 和 X25519 且符合 FIPS 140-3 标准的未来 SE052 小程序/操作系统版本(通过 SEMS Lite 或新的 OEF)?
APDU吞吐量限制。AN14028 §2.3.1 / AN13904 §8.4 描述了 1,000,000 APDU / 34 天的限制 (SW 66A6) 以及每 500,000 APDU 进行一次 FIPS 自检。这些是否仅与 FIPS 认证有关,在假设的非 FIPS SE052 变体中是否会缺失?通过 RST_N 重置是否足以清除计数器而不会对 NVM 产生影响?
针对签名用例的 Applet 功能路线图。我们在 AN12543 Rev 4.5 中找不到以下任何内容。7.2.x 版本有相关计划吗?一行代码还是未来的小程序?
小程序 7.2.22 中的 UserID 行为。在 SE050E2 (7.2.0) 中,我们观察到,TAG_MAX_ATTEMPTS 耗尽的 UserID 对象无法再被删除(即使在 SCP03 平台上,DeleteSecureObject → 6986),并且尝试计数器属性始终显示为 0。AN14028 表 1 指出,属性现在显示最大尝试次数。2022年7月2日:(a)是否报告剩余/已用计数器?(b)SCP03 平台用户能否删除已耗尽的 UserID?
ECDH NVM 磨损(也适用于我们目前的 SE050E2)。AN12543 §4.10.3 指出,当公钥作为字节数组(TAG_2)传递时,MONT_DH_25519 上的 ECDHGenerateSharedSecret 会在每次调用时写入 NVM,但当通过瞬态ECPublicKey 对象(TAG_3)传递时则不会写入 NVM。您能否确认这同样适用于带有 applet 7.2.0 的 SE050E,并且在调用之间使用 WriteECKey 更新瞬态对象的内容本身不会写入 NVM?
长寿。SE050E2 是否在恩智浦的产品生命周期计划范围内?是否有计划中的产品生命周期结束?这将决定我们下一次修订是否继续使用 SE050E2 版本。
提前谢谢您。
嗨@cvaldess ,
感谢您的联系!让我逐一解答。
第一季度 — 非 FIPS SE052 变体路线图
正如您正确指出的那样,SE052F (OEF B501) 目前是唯一发布的 SE052 变体,其 AppletConfig 0x26F2 不包含 EdDSA 或 DH_MONT。我们不能在公共论坛上分享具体的路线图时间表,但我建议您联系当地的 Disti/NXP FAE,在签署保密协议 (NDA) 的情况下讨论您的需求,届时可以直接讨论路线图细节。
Q2 — 在 SE052F 上启用 EdDSA / Montgomery DH
SE052F 上没有客户路径可以启用这些算法。RESERVED_ID_FEATURE (0x7FFF0204) 是 NXP 拥有的对象,客户无法修改或删除它——EdgeLock2GO 不是启用它的机制。更根本的是,SE052F FIPS 140-3 OS 版本在认证配置中排除了操作系统/硬件级别的 Twisted Edwards (Ed25519) 和 Montgomery (Curve25519) 曲线支持。即使通过 SEMS Lite 加载自定义小程序也无法重新启用操作系统层中不存在的曲线——而且这样做无论如何都会使模块不符合 FIPS 标准,正如 AN14277 明确指出的那样。
第三季度——未来 SE052 小程序/OEF 将支持 FIPS 140-3 和 EdDSA。
FIPS 186-5(2023 年 2 月)确实批准了 EdDSA,因此标准基础是存在的。但是,任何在新 FIPS 140-3 证书下支持 Ed25519/X25519 的 SE052 OEF 都需要提交完整的 CMVP 重新认证申请。我们不便在公共场合确认相关计划或时间表。请与您当地的 Disti/NXP FAE 联系,就此问题进行保密协议 (NDA) 谈判。
第四季度 — APDU 吞吐量限制(SW 66A6)
是的,1,000,000 APDU / 34 天计数器和 500,000 APDU 定期自检是 FIPS 140-3 合规性要求,专门针对 SE052F。假设存在非 FIPS SE052 变体,则该变体不受这些限制。
关于 RESET:T=1oI2C 芯片 RESET(RST_N 切换或电源循环)是官方记录的恢复路径。APDU 计数器是会话驻留在 RAM 中的值——冷 RESET 时,如果没有 NVM 写入,它将被清除。Plug & Trust MW 包含一个 apdu_throughput_limit 演示,该演示使用 phNxpEse_reset 精确地演示了这种恢复。对于您的网状/传输节点用例,持续每分钟约 340 个 APDU,此限制在实践中应该不会造成问题,但请确保您的主机驱动程序能够通过自动重置优雅地处理 SW_66A6。
Q5 — Applet 功能路线图(BIP32、Schnorr、RFC 6979、Ed25519ph)
您列出的特性——片上 BIP32 强化子密钥派生、Schnorr/BIP340、确定性 ECDSA nonce(RFC 6979)、低 S 归一化或 Ed25519ph——均未出现在 AN12543 Rev 4.5 或任何当前的 SE05x 文档中,并且在 7.2.x 版本中也没有任何关于这些特性的公开声明。线。我建议您通过您当地的 Disti/NXP FAE 提交正式的产品改进请求,以便我们的产品团队可以跟踪这些请求。
关于 Ed25519 的 T=1 链接问题:该小程序支持 IFSC (0xFE) 之外的 APDU 数据的多块 T=1 链接,因此消息长度在传输层处理,并且不是 EdDSA 操作的功能限制。
Q6 — 小程序 7.2.22 中的 UserID 行为
(a)计数器可读性: GetAttributes 响应返回配置的TAG_MAX_ATTEMPTS值(最大值),而不是剩余计数。当前小程序版本中,内部递减计数器并未作为直接可读属性公开。
(b)通过 SCP03 删除已耗尽的用户 ID:您在 7.2.0 版本中观察到的删除锁定用户 ID 时出现的 6986 错误是一个已知的限制。AN13904 没有明确记录在平台 SCP03 删除的背景下,7.2.22 的此行为发生了变化。我建议直接在 SE052F 评估硬件(或运行 7.2.22 的 SE051 样品)上验证这一点。作为一种变通方法,如果锁定的用户 ID 阻止了对象管理,则通过平台 SCP03 上的 RESERVED_ID_FACTORY_RESET 进行恢复出厂设置是已确认的路径——尽管这会清除所有用户对象,因此对象布局规划在这里很重要。
Q7 — ECDH NVM 磨损(SE050E,小程序版本 7.2.0)
确认的。AN12543 明确指出, ECDHGenerateSharedSecret on ID_ECC_MONT_DH_25519仅当公钥作为字节数组 (TAG_2) 传递时才会导致每次调用写入 NVM。当公钥通过瞬态 ECPublicKey 对象 (TAG_3) 传递时,不会发生 NVM 写入。此行为适用于带有 applet 7.2.0 的 SE050E,因为 SE050E2 使用的是相同的 7.x applet 版本(SE051 芯片和 applet 系列,正如您的 GetInfo ATR 所确认的那样)。
WriteECKey 对瞬态对象进行写入操作时,仅写入 SRAM——在调用之间更新瞬态对象的内容不会造成 NVM 损耗。建议的节点模式是:在启动时分配一个持久的瞬态 ECPublicKey,在每次 ECDH 操作之前调用 WriteECKey(仅限 SRAM),然后调用 ECDHGenerateSharedSecret 并引用该瞬态对象 TAG_3。这样就完全避免了每次通话造成的非易失性存储器损耗。
Q8 — SE050E2 产品寿命
SE050E2于2022年发布。NXP 的产品寿命计划承诺,对于已注册的产品,自上市之日起至少可供货 10 或 15 年。有关 SE050E2 的最终注册状态和使用寿命期限,请查看NXP 产品使用寿命页面(完整表格需要登录)或请您的 NXP FAE 确认。
针对您的两个用例的总体建议
鉴于您的设计依赖于 Ed25519 (EdDSASign) 和 X25519 (MONT_DH_25519 上的 ECDHGenerateSharedSecret), SE052F 目前无法满足您的加密要求。在具有这些算法的 SE052 型号推出之前,SE050E2 / SE051 系列仍然是合适的选择。我们建议您向 NXP FAE 确认 SE050E2 的长期有效状态,并注册对非 FIPS SE052 等效产品的需求。
希望这能帮助您更好地做出决定。如果您还有其他问题,请告诉我。
祝你有美好的一天,
坎
-------------------------------------------------------------------------------
笔记:
- 如果此回复解答了您的问题,请点击“标记为正确答案”按钮。谢谢你!
- 我们会持续关注帖子,从最后一条回复发出后持续7周,之后的回复将被忽略。
如果您之后有相关问题,请另开新帖并引用已关闭的帖子。
-------------------------------------------------------------------------------