自己担任证书颁发机构并为电子邮件加密进行自签名有什么问题?

10

在您自己的电子邮件安全方面使用第三方证书机构是否有任何真正的理由? (即使用S / MIME)

我发现我可以成为自己的CA并创建自己的自签名根证书...而且只要安装在我的设备上就可以正常工作。

是否有强制使用第三方付费证书而不是我自己生成和签名的控制权的原因? 我一直在想-我最信任验证加密电子邮件的权威人士或实体是我自己!...为什么我要让另一个未经我验证的实体进入那条通信链中呢?-如果我发送电子邮件给其他知道我的人并信任它是我吗? 而且我为什么要付款给他们?

我可以理解,如果通信是在我的商业网站和不认识我的外部个人之间进行,并且正在进行交易...但对于个人电子邮件呢? 在家人、熟悉的朋友或同事之间?

是否有关于公私钥加密我不了解的东西,使得拥有经过验证的大型第三方提供给我的证书值得支付?

我理解在处理网站上的商务或信任网站时需要SSL第三方验证。 但是在个人之间呢? 对于您个人认识的人,甚至更加不同。对吗?


1
如果只有您自己使用,您可以将证书添加到计算机中。 - Rui Lima
是的,私钥只属于我自己...而且我个人会将其添加到我使用的机器上...没有其他人可以访问这些机器,它们已经被很好地保护起来了。那么为什么要使用第三方呢?通过引入另一个机构...我觉得实际上增加了更多的风险...难道不是Comodo或其他公司遭到了攻击吗?我不认识这些人...我无法验证他们的合法性,甚至不知道他们是谁!我怎么知道没有人在里面窃取我发送的任何信息呢? - tbarbe
我相信微软Outlook只接受可信任的证书。 - MrCalvin
5个回答

10

使用外部 CA 的唯一原因是在你和另一方之间建立共享的信任根。如果你控制所有机器,例如在域中,则根本没有理由不使用自己的 CA。我们为 Exchange 拥有自己的域 CA。实际上,这比使用外部 CA 更容易,因为服务器和客户端会自动获取 CA 证书。


1
点对点传输。因此,您的电子邮件服务器将使用安全SMTP发送到GMAIL上保存的地址(SSL),并且他们将通过SSL下载它。如果您只是想阻止ISP阅读您的电子邮件,则对大多数电子邮件提供商来说可能并不重要。 - cirrus
1
就像我之前所说的,你的家人和朋友可能确实信任你。我并不是在暗示其他方面。我并不是“对它的工作原理感到困惑”,我只是在阐述一个观点(因为你问了这个问题),即第三方CA的原因。简而言之,这一点是为了“公钥易于分发”。我强调了它解决的问题——如果你已经用其他方式解决了这个问题,那太好了。如果你有一种安全地交换公钥的解决方案,那么你完全可以成为自己的CA。请记住,除非你想打开一个洞,否则你不能简单地将其通过电子邮件发送给他人。 - cirrus
1
......如果你已经在没有任何身份验证的情况下将你的公钥“明文”发送了出去,那么你的家人和朋友无法确定他们从你那里收到的密钥是否真的属于你。当然,你可以打电话给他们并口头验证签名,或者通过邮寄方式。为了清楚起见,通过以明文形式发送你的公钥,你将使自己(或者更确切地说是你的朋友)容易受到中间人攻击,所以我相信你不会这么做的。顺便提一下,我不确定你在哪里看到第三方证书颁发机构(如Comodo)会存储你的私钥,他们不会这样做,这就是重点。 - cirrus
1
这并不是什么秘密,你必须确保它没有被篡改。如果有人通过互联网(比如电子邮件)获取了你的公钥,他们怎么能确定它真的是你的呢?有什么办法阻止我发送一封假冒你的电子邮件,其中包含我的公钥?答案:没有。如果我拦截了你和朋友之间的邮件,他们认为自己正在发送加密信息,但实际上使用的是我的公钥(而不是你的)。我读取所有内容,然后使用你的公钥重新加密,再传递给你。你们两个都不知道,但我却在读取你们所有的邮件。 - cirrus
1
如果你是第三方,你可以生成和验证自己的证书。然而,你如何将CA的公钥传递给你的朋友呢?苹果/微软没有在安装CD中提供它,所以你有一个先有鸡还是先有蛋的问题。你也不能通过电子邮件发送CA的公钥。因此,这就是第三方CA解决的问题。我之前提到在组织内部使用自己的CA的观点是可行的,因为公司控制所有员工的笔记本电脑,所以他们可以安全地安装自己的CA根证书。有很多安全的选项可以做到这一点。 - cirrus
显示剩余16条评论

1

这篇文章对IT方面的内容描述得非常好:

http://www.davidpashley.com/articles/cert-authority.html

这个也非常好 - 看看侧边栏的评论:

http://www.area536.com/projects/be-your-own-certificate-authority-with-openssl/

他没有特别提到SMIME电子邮件,但我认为它属于这个类别。

我相信在我的情况下(小型个人安全),成为自己的CA是一种有效和可行的方法 - 只要您能理解该过程并且以谨慎的理解限制进行操作。

不过,我仍然会等待有人说服我改变想法...感谢所有回答,每个人都很有帮助!


0

在我看来,使用自签名的 CA 是一个绝对有效的选择。由此 CA 颁发并用于电子邮件加密的证书与从全球信任的 CA 颁发的证书工作方式相同,唯一的例外是最终用户必须手动信任该 CA 一次。

这意味着关键步骤是信任自签名的 CA。然而,您可以确保自签名的 CA 是正确的,这一步甚至比依赖全球信任公司更安全 虽然您必须信任它们,但没有选择

例如,我们在网上发布我们的公共 CA 证书,要求其他人下载、导入和信任它,以便我们进行加密邮件交换。通过检查证书的指纹,很容易确保他们没有获得伪造的证书。

一旦他们信任了我们的 CA,加密电子邮件交换就与使用商业的“专业”(中间)证书没有区别。


-1

现在可以免费获得证书。以上很多答案都是正确的,但我仍然选择使用证书来让像gmail/yahoo/hotmail这样的主机少一些将我扔进垃圾邮件的理由(虽然并不总是有效)。

SPF、DKIM、证书...它们都是免费的,为什么不用呢?

我正在使用postfix+letsencrypt,效果非常好。


-3

当人们加密他们的电子邮件时,他们只希望电子邮件在网络上传输并以加密数据集的形式存储在目标系统上,只有私钥持有者才能阅读。

签署电子邮件是一个附加功能,应该识别电子邮件的发送者。在西半球,传统上使用纸质签名,很容易伪造。因此,对于重要文件需要签名的证明。SMIME的数字证书机构通常仅证明请求者可以访问某个电子邮件地址,这可能毫无价值-肯定不值20美元/年。

对我来说,通过电子邮件发送我的私钥或在存储设备上交换私钥是完全可以接受的。更重要的是,在您真正需要安全通信时保护您的私钥。通常,每个可以访问您的PC的人也可以访问您的私钥!我使用智能卡生成和存储私钥。密钥永远不会离开卡。但是,您必须信任智能卡。我信任我的卡片,因为它是由我的团队开发的。这显然不是许多人拥有的选择。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接