【问题标题】:Certificates for SSL-enabled embedded systems支持 SSL 的嵌入式系统的证书
【发布时间】:2011-02-28 00:59:48
【问题描述】:

我有一个嵌入式系统,预计将在未来 15 年左右使用,它有一个基于 https 的管理控制台。据我了解:

  • 如果我有自签名证书,Web 浏览器会抱怨。
  • 如果我有一个 CA 签名的证书,它会在产品的整个生命周期内很快过期,并且 Web 浏览器会抱怨。

有没有什么办法可以拥有一个长寿命的证书,这样浏览器就不会抱怨了,还是每次证书在产品生命周期内过期时都需要发布新固件?或者为用户提供一种加载新证书的方法?

【问题讨论】:

  • 我现在的情况完全一样;即开发具有启用 SSL 的 Web 服务器的批量生产的嵌入式系统,仅用于一小部分最终用户的远程管理。我目前正在研究是否可以(以及如何)部署 CA 签名证书(考虑到 CA 需要预先知道设备的域,这非常困难),或者使用自签名证书。你最后用了什么解决方案?您是否遵循 Paul McMillan 关于更新机制的建议,并为每个设备使用唯一的自签名证书?
  • @Trevor:我附带了一个自签名证书,并为用户提供了一种上传自己的私钥 + 证书的方法。实际上,我怀疑是否有任何客户上传过他们自己的证书,但这至少让我感觉好多了。
  • 感谢您这么快回复。你介意我还问你选择什么样的机制和格式来上传密钥和证书吗?例如是通过 PC / USB 更新工具,密钥和证书本身是否基本上作为二进制文件(例如 PEM 格式)被传输到闪存中?
  • 而且,大概每个设备都附带一个唯一的自签名证书,可能在首次启动时使用唯一生成的密钥在内部生成?
  • @Trevor:我要求用户通过网络界面上传一个包含 pkey 和 cert 的文件。在尽可能多地检查它之后,我将它写入闪存,它会在下一次电源循环时生效。我在闪存中有一个文件系统,所以很容易。您应该在证书不存在时生成证书,这会处理首次启动和闪存损坏。

标签: ssl embedded https certificate


【解决方案1】:

这可能是自签名证书是正确方法的少数情况之一。需要多少人来管理这个盒子?我认为很少,该盒子的部分部署是将证书安装到管理员浏览器的信任库中。

【讨论】:

  • 对于我的特定设备,您是对的,只有几个专业人士会管理该盒子或通过 https 登录来监控它。我们已经提供了自签名证书,但我不确定其他人会做什么。
【解决方案2】:

Geotrust 颁发的证书最长可达 6 年。

无论如何,我可能会建立一个固件更新机制,以防您的发行者(或其他人)受到威胁并被添加到证书吊销列表中。

您的设备是否需要连接到互联网?建立一个重新颁发流程以便每隔几年通过网络获得一个新的、受信任的证书应该不会太难。

如果您的安全模型允许您使用自签名证书,您是否考虑过为什么要对通信进行加密?在许多情况下,不受信任的证书(并教导用户忽略警告)与完全不加密一样糟糕(或更糟)。

顺便说一句,我真的希望您不打算为您构建的每台设备推出完全相同的证书。如果是这样,并且您有一个下载过程,可以通过固件更新向公众提供证书,那么您就回到了容易欺骗通信的第 1 方。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-15
    • 2021-10-20
    • 1970-01-01
    • 2020-06-21
    • 2017-08-15
    • 2014-09-08
    • 2011-05-27
    相关资源
    最近更新 更多