gpt4 book ai didi

c++ - 除了生成证书和 key 之外,openssl 是否需要熵用于其他目的?

转载 作者:搜寻专家 更新时间:2023-10-31 01:29:44 34 4
gpt4 key购买 nike

环境:程序是用 c/c++ 为 ubuntu 16.04 编写的——不需要跨平台解决方案。

我正在编写一个 http 网络守护程序,我在 chroot 中没有/dev/urandom,或者在 chroot 中没有任何其他熵系统。

我知道为了生成 key /证书,openssl 肯定需要熵。但是一旦生成它们,并且您仅使用 key /证书来加密与服务器的客户端通信 - 服务器守护程序是否仍然需要熵源?

最佳答案

是的。

它需要熵来生成随机数,以及一些非对称签名方案。

或许可以在没有熵源的情况下安全地保护客户端通信——但我会非常紧张,因为有人错过了协议(protocol)中需要那一点熵的关键部分。

此外,如果您想要完美的前向保密,您将需要熵来生成临时 [EC]DH key 。

您的选择是:

  • 咨询专家密码学家设计一个不需要熵的协议(protocol)(除了初始 key )。确保他们可以构造/指向协议(protocol)安全的证据。
  • 在您的 chroot 中获取 /dev/urandom
  • 作为James K Polk在评论中建议:在用户空间中实现一个熵收集守护进程。然而,您随后可能需要咨询专家以确定您是否有足够的熵。

旁白:当您说“加密客户端通信”时,我假设您实际上使用了某种经过身份验证的加密方案(例如 AES+HMAC 或 AES-GCM)。如果不是,您可能遇到比缺乏熵更大的问题。

如果您有关于您的通信协议(protocol)是否需要额外熵的具体问题,https//crypto.stackexchange.com 上到处都是很乐意讨论如何做的细节的人。

关于c++ - 除了生成证书和 key 之外,openssl 是否需要熵用于其他目的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49379552/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com