什么时候可以在生产中使用自签名证书?

问题描述:

自签名证书始终被视为仅测试证书。但根据低估,如果使用正确的理由,将其用于生产是完全没有问题的。我正试图为我的客户提供一些关于使用什么的指南。例如: -什么时候可以在生产中使用自签名证书?

  1. 认证:绝不允许使用自签名的布劳尔不会相信“自我”的发行人。因此,对于服务对服务或服务对客户端的身份验证不适用于使用自签名。除非在验证之前有预先指纹/ CN白名单进程。很多人会这样做,例如Azure上传管理证书公钥,用于验证其API。
  2. 签署:没问题,因为没有发行人的信任。除非在验证前有预先指纹白名单过程。除非在验证之前有预先指纹/ CN白名单进程。
  3. 加密:完全可以使用自签名,因为没有链式信任要求。如果发生攻击,MIM证书将无法解密,不会产生其他影响。

我希望社区提出一些想法/建议/指导方针,以确保我的建议朝着正确的方向发展。

谢谢。

+0

但是,您为什么要首先使用自签名证书?与受信任的CA签名证书相比,没有任何优势。 – 1615903

+0

CA签署了成本费用,我的客户生成20000+证书,因此他们节省了大量资金。这就是为什么。 – Bhaskar

+0

[让我们加密](https://letsencrypt.org/)证书是不可能的? – 1615903

验证:绝不允许使用自签名的布劳尔不会相信“自我”的发行人。

只要存在可信的脱机证书分发流程,就可以使用。不能通过“全部信任”代码使用。

签名:没问题,因为没有发行人的信任。

只要存在可信的脱机证书分发流程,就可以使用。

加密:完全可以使用自签名,因为不需要链式信任。如果发生攻击,MIM证书将无法解密,不会产生其他影响。

只要存在可信的脱机证书分发流程,就可以使用。关于'MI [T] M证书的部分根本不解密'是没有意义的。证书不执行解密,而设法提供自己的证书而不是目标的MITM将拥有相应的私钥,否则攻击毫无意义。在没有信任的情况下,如果发件人使用不受信任的证书中的公钥加密任何内容,他不知道谁可以解密,所以他不安全。

+0

@EJB对于原始加密构造,没有MiTM,例如PKCS#7/CMS /(S/MIME)EnvelopedData的实现,它使用它创建会话密钥(对称密钥)并使用证书公钥对其进行加密。并用私钥解密会话密钥。所以,我可以用这个自签名。 SSL,正如我提到的情况下,我需要CA标志,除非它的白色上市。对于例如MS Azure,我上传公钥,然后使用该证书来授权所有REST调用。对于这个自我标志也没有问题,因为MiTM指纹不是白色的。 – Bhaskar

+0

@Bhaskar不会。正如我前两天在我的评论中所说的,MITM攻击是通过提供他的证书而不是正确的证书来实现的。如果您采取预防措施应对这种攻击,您只能使用自签名证书,即为其组织某种信任,这通过CA签名最容易完成。仅仅获得别人的证书不会构成任何类型的MITM攻击。按照定义,MITM假装是同行。他不仅仅是一个窥探者。 – EJP

我可以在其中找到一个值得信赖的CA是不是真的需要

  • VPN几个真实的例子:证书服务器和客户端

  • SSL/TLS客户端认证:客户端身份验证证书时相互认证是必需的

  • 专用网络中的SSL/TLS:内部服务或服务器场

  • 非对称加密:只需要密钥,而不是证书。

  • 标志&权威性在一个封闭的环境中:像一个组织使用的服务之间abprivate CA

  • 消息认证颁发的密码令牌的员工:JWT或SAML SOAP消息签署。接收器部分包括在其信任的服务器签名证书显式地验证签名者的身份

+0

所有这些都解决了一种情况:通过某个脱机进程可以使对等方信任自签名证书。 – EJP

+0

正是@EJP,信任颁发者一个私人认证中心可以完全替代任何情况下的已知“可信”CA,签名,授权或加密。我的清单是使用它们的真实案例 – pedrofb