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.

[参考译文] AM6442:如果我无法获取 RSA 私钥、是否不能使用安全启动?

Guru**** 2466550 points
Other Parts Discussed in Thread: AM6442

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1466883/am6442-does-secure-boot-can-not-used-if-i-could-not-get-the-rsa-private-key

器件型号:AM6442

工具与软件:

大家好、我在 am6442 HS-SE 上工作、已经使用 TI 虚拟密钥(SDK 的 uboot/board/ti/keys/中的密钥)运行安全引导。

现在、我正在了解如何使用公司的安全密钥使 am64520的安全启动运行。

在我工作的公司中、我们无法以任何方式获取私钥。

我们能做的就是将文件的散列值提供给安全系统,然后我们将收到一个 PKCS7格式的签名。 我们可以获取签名者的证书(其中的公钥)。

就这些。

但是、当我读取创建 OTP Keywriter 输入的脚本 keycert.h

我发现、需要私钥

1.签署用于加密其他密钥的 AES256密钥。

2.获取公钥。

3.创建自签名 x509证书,其中包括"加密的 AES256密钥"加密的 AES256密钥数字签名"加密的公钥散列"加密的密钥启动"。

我想我可以在"1"和"2"的脚本中做一些更改,而不需要私钥,这不是什么大问题。

但如果是3个人、我无法想象在没有私钥的情况下如何创建 x509。

我不是 RSA 密钥/加密/解密/证书方面的专家、但我已经在这方面工作了很长时间。

所以,这是否意味着有了公司的安全规则,我们没有办法使用 am3644的安全启动?

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

    您好!

    [报价用户 id="57575784" url="~/support/processors-group/processors/f/processors-forum/1466883/am6442-does-secure-boot-can-not-used-if-i-could-not-get-the-rsa-private-key ]但是对于3个问题、我无法想象如何在我手中没有私钥的情况下创建 x509。

    在 Keywriter 证书生成脚本中、使用 OpenSSL 工具对证书进行签名。 同样、您可以向您的安全系统提供证书并要求其返回签名的证书。

    此致、

    Prashant

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

    感谢您的建议。

    同样、您可以向您的安全系统提供证书并要求其返回签名的证书。

    在将证书提交给我们的安全系统之前、我认为必须创建证书。

    我的理解是、创建证书需要私钥。

    但在我们的安全系统中,我们只能提供文件的散列来获取一个 CMS 格式的证书(只有散列的数字签名,不能在证书中添加其他属性或内容)。 没有其他 API 可使用私钥进行其他操作。

    也许我的理解是错误的,我希望。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在向我们的安全系统提交证书之前、我认为必须创建证书。

    证书作为模板文本文件提供给 OpenSSL、后者包含扩展名、然后生成签名证书 blob。

    同样、您的安全系统也可以支持此类程序。

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

    证书作为模板文本文件提供给 OpenSSL、后者包含扩展名、然后生成签名证书 blob。

    同样、您的安全系统也可以支持此类程序。

    我们的安全系统是一个网络系统,它有一个网页上载文件的散列,我们想要签名。 这就是我们对网络系统所能做的一切。

    在 Web 系统后面、它可能使用 OpenSSL 或其他工具。

    此外、您是否建议网络系统可以添加一个新函数(新网页)来按模板文件创建证书?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    并且您建议、Web 系统可以添加一个新函数(新网页)以按模板文件创建证书?

    理论上讲、是的。

    请注意、这不是建议或任何内容。 这是您的安全系统、因此您有责任评估如何生成证书块。 TI 提供了参考脚本、该脚本旨在假设本地文件系统中有密钥、从而生成证书。 如果您的设计偏离了这一点、您有责任评估如何生成最终证书斑点。

    以下文档介绍了生成 Keywriter 证书的过程:

    https://software-dl.ti.com/tisci/esd/latest/6_topic_user_guides/key_writer.html#procedure

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

    请注意、这不是建议或任何内容。  

    我明白这一点。 我只是想确保这确实不是创建证书的其他方法、除非我可以获取私钥或在安全系统中添加新功能。

    因为我不确定我对 RSA 密钥的理解是否足够。

    感谢您的答复、我将尝试与我的同事讨论这种情况。

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

    您好!

    我只想确保创建证书真的没有其他方法、除非我可以获取私钥或在我们的安全系统中添加新功能。

    当然还有其他方法、但您需要在互联网上搜索该方法。

    例如下面的"堆栈溢出"讨论

    https://stackoverflow.com/questions/28692034/sign-certificate-in-pkcs11

    社区也在以下 E2E 上做出了类似的响应:

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1469566/am6442-extending-yocto-tiboot3-bin-build-to-support-hsm/5657046#5657046

    此致、

    Prashant