为 Intranet 创建自己的 CA 有什么问题?

信息安全 证书 证书颁发机构
2021-08-10 16:21:34

为 Intranet 创建我自己的 CA的评论中,有几个人强烈建议不要为 Intranet 创建自己的 CA。

尤其:

不要这样做。不。馊主意。改为购买 10 美元的 CA 签名证书。不要成为你自己的 CA。不,不。坏主意 — KristoferA

但是也:

echo "放弃所有希望,进入这里的你们。" 汤姆·李克

为什么人们应该更信任以 10 美元出售证书的任意 CA,而不是公司自己的 IT 部门?

(我什至更倾向于信任供应商或客户1、2签署的证书,而不是信任由公共根 CA 签署的证书。)

  • 保持 CA 服务器的安全是问题吗?
  • 分发和安装根证书有问题吗?
  • RA 和/或最新 CRL 的分发是否存在问题?
  • 限制谁或什么接收证书以及谁或什么签署证书是一个问题吗?
  • 还有其他问题吗?(也许我的知识有限,以及其他 IT 专业人员的有限知识,关于安全 CA 的所有基本方面。这就是为什么KristoferATom Leek和其他人强烈建议不要使用“自制”CA。

可能一个专业的 CA 将在前三个领域拥有更多的专业知识,并且他们可以比任何创建自己的 CA 的“自鸣得意”做得更好。但是仍然会想到信任因素,尤其是在最后一部分。


1.) 鉴于我公司与这些供应商和客户有长期关系。

2.) 仅限于关于他们自己的服务器和员工的证书。

1个回答

运行您自己的内部证书颁发机构没有任何问题;我接触过的绝大多数大公司都有自己的内部 CA。

好处

  • 当分摊到足够多的系统和用户时,证书的名义成本几乎为零;当您从外部 CA 购买证书时,这种情况永远不会发生。
  • 管理证书到期和续订会容易得多,因为您可以将所有权分配给内部组,而不是请求它的单个用户。
  • 您可以使用外部 CA 做各种非常困难或昂贵的巧妙事情,例如为子域创建通配符证书,如 *.test.company.com,或为测试目的创建奇怪的无效证书 (SHA-1 2017 , 512 位 RSA 等)

缺点

  • 运行 CA 真的很难。对于您自己的内部 CA,您显然不需要拥有真正 CA 的安全控制级别,但它仍然相当复杂。
  • 能够创建和运行 CA 的人当然不便宜。至少在美国,您可以期望对密码学和/或 PKI 有深入了解的人将获得六位数的收入。
  • 拥有 CA 还不够,您还需要围绕它们构建系统。用于请求证书和处理撤销的网站/API、用于证书更新的通知系统、用于推出根证书的安装包等。您可以购买一个软件包来为您管理很多这些,但这当然也不是免费的。

对于足够大的公司来说,购买所有这些外部证书的成本以及其中所带来的灵活性损失成为一个足以创建您自己的 CA 的重要问题。

否则,我同意那些警告过你的人的观点:对于绝大多数中小型公司来说,运行自己的 CA 根本不经济;简单地与专门从事这方面工作的公司打交道更有意义。与设置运行良好的内部 CA 的成本相比,即使是每年 10 美元的一千个证书也是一笔小数目。

概括

这不是关于信任,而是关于成本。