成为您自己的证书颁发机构并为您的电子邮件加密进行自签名有啥问题?
Posted
技术标签:
【中文标题】成为您自己的证书颁发机构并为您的电子邮件加密进行自签名有啥问题?【英文标题】:Whats wrong with being your own Certificate Authority and self-signing for your email encryption?成为您自己的证书颁发机构并为您的电子邮件加密进行自签名有什么问题? 【发布时间】:2012-08-13 08:06:16 【问题描述】:是否有任何真正的理由为您自己的电子邮件安全使用第 3 方证书颁发机构?
(使用 S/MIME 的意思)
我发现我能够成为我自己的 CAuthority 并创建我自己的自签名根证书……它们安装在我的机器和移动设备上就可以正常工作。
是否有令人信服的理由使用第 3 方的付费证书,而不是我自己控制的自行生成和签名的证书?
我一直在想 - 我最信任的人或实体拥有经过验证的加密电子邮件的权限……就是我!……我为什么要让另一个无法由我验证的实体进入该通信链? - 如果我向谁发送电子邮件是其他认识我并相信是我的人..?我为什么要付钱给他们?
如果通信是在我的商业网站和不认识我并正在交易金钱的未知外部个人之间进行的,我可以理解......但对于个人电子邮件?在家人和知名朋友或同事之间?
关于公私钥加密还有什么我不理解的地方,这使得拥有经过验证的第三者可以为我提供值得支付的证书?
我了解在处理网站上的商业或使用您的安全连接信任网站时需要 SSL 3rd 方验证。但是个人之间呢?看起来不一样……你个人认识的人更不一样。没有?
【问题讨论】:
如果你要使用它,你可以将证书添加到机器上。 是的,私钥只适用于我......我亲自将它添加到我使用的机器中......没有其他人可以访问这些机器并且它们已经很好地固定了。那么为什么要使用第三者呢?通过介绍另一家机构...我觉得实际上增加了更多风险... Comodo 或任何人没有受到损害吗?我不认识这些人......我无法验证他们的有效性或他们是谁!我怎么知道里面没有人只是打开我发送的任何东西? 我相信 MS Outlook 只接受受信任的证书。 【参考方案1】:使用外部 CA 的唯一原因是您和另一方之间有一个共享的信任根。如果您控制所有机器,例如域中的所有机器,那么您完全没有理由不能使用自己的 CA。我们有自己的 Exchange 域 CA。它实际上比外部 CA 容易得多,因为服务器和客户端会自动获取 CA 证书。
【讨论】:
与家人和朋友相处时遇到的麻烦是分发和安装 CA 证书。这就是“适当的”第三方 CA 的好处,他们已经对您朋友的机器有一定程度的信任。老实说,我不确定基于证书的电子邮件身份验证是否值得。这对各方来说都有点棘手,而且总是会造成比它保证的更多的麻烦。几乎没有人会因为这个原因而这样做。真的很令人惊讶,当欺骗一封电子邮件是如此愚蠢的容易,但写一封纸信并假装你是别人也是如此。只需使用同一个标题的信纸。 顺便说一句,您现在可以非常便宜地获得第三方证书,有些甚至是免费的,但最后我不知道您是否想要加密所有电子邮件的麻烦。如果是身份验证,您担心还有其他防御措施可以避免欺骗(如 spf 记录),这些防御措施得到了很好的支持。它是防止窥探你需要的加密,你真的是詹姆斯邦德,然后你总是可以压缩并加密一个包含你想要发送的任何秘密的文件。就窥探而言,如今在实践中不太可能(尽管并非不可能),因为它们通常是直接发送的 ...点对点。因此,您的电子邮件服务器将使用安全 SMTP 发送到您朋友在 GMAIL (SSL) 上持有的地址,他们将通过 SSL 下载它。如果您只是想阻止您的 ISP 阅读您的电子邮件,那么对于大多数电子邮件提供商来说,这可能不是问题。 正如我之前所说,您的家人和朋友可能确实信任您。我不是在暗示其他。我并没有“迷失在它是如何工作的”,我只是在说明问题(正如你所问的那样)第三方 CA 的原因是什么。简而言之,这一点是“易于分发您的公钥”。我强调了它解决的问题——如果你以另一种方式解决了这个问题,那就太好了。如果您有解决方案来安全地交换您的公钥,那么您就没有理由不能成为您自己的 CA。请记住,除非您想打开一个漏洞,否则您不能简单地将其通过电子邮件发送给其他人.. ...如果您已经在没有任何身份验证的情况下“明文”发送了您的公钥,那么您的家人和朋友就无法判断他们从您那里收到的密钥是否真的是您的.您当然可以给他们打电话并口头验证签名,或者邮寄给他们。为清楚起见,通过明文发送您的公钥,您将自己(或更确切地说是您的朋友)向中间人攻击敞开大门,所以我相信您不会那样做。顺便说一句,我不确定您在哪里读到第三方 CA(例如 comodo)会存储您的私钥。他们不会。这就是重点【参考方案2】:这篇文章描述得很好:
http://www.davidpashley.com/articles/cert-authority.html
而且这个也很不错——看看侧边栏的评论:
http://www.area536.com/projects/be-your-own-certificate-authority-with-openssl/
他没有特别提到 SMIME 电子邮件 - 但我认为它属于这一类。
我相信在我的情况下(小的个人安全)成为您自己的 CA 是一种有效且可行的做事方式 - 只要您能全神贯注于流程并在仔细了解限制的情况下进行操作。
我仍然会等待有人说服我,否则我会在这里......感谢所有答案,每个人都有帮助!
【讨论】:
【参考方案3】:当人们加密他们的电子邮件时,他们只是希望电子邮件通过网络传输并作为加密数据集存储在目标系统上,只有私钥持有者才能读取。
签署电子邮件是一项附加功能,应识别电子邮件的发件人。传统上,在西半球使用纸上签名,这很容易伪造。因此,重要文件需要签名证明。 SMIME 的数字证书授权机构通常只证明请求者可以访问某个电子邮件地址,这可能一文不值 - 当然不是 20 美元/年。
对我来说,通过电子邮件发送我的私钥或在记忆棒上交换它是完全可以的。更重要的是在您真正想要安全通信时保护您的私钥。通常,每个可以访问您的 PC 的人也可以访问您的私钥!我正在使用智能卡来生成和存储私钥。钥匙永远不会离开卡片。但是,您必须信任智能卡。我确实信任我的卡,因为它是由我的团队开发的。这当然不是很多人的选择。
【讨论】:
【参考方案4】:在我看来,使用自签名 CA 是绝对有效的选择。由该 CA 颁发并用于电子邮件加密的证书的工作方式与从全球受信任的 CA 颁发的证书相同,唯一的例外是最终用户必须手动信任该 CA 一次。
这意味着关键步骤是信任自签名 CA。但是,您可以确保自签名 CA 是正确的,这一步甚至比依赖全球信任公司更安全您必须信任但没有选择权。
例如,我们在网络上发布我们的公共 CA 证书,询问我们希望与谁交换加密邮件的其他人下载、导入和信任它。通过与我们检查证书的指纹,很容易确保他们没有获得伪造的证书。
一旦他们信任我们的 CA,加密电子邮件交换就与使用商业“专业”(中级)证书没有区别。
【讨论】:
【参考方案5】:现在可以免费获得证书。上面的很多答案都是有效的,但我仍然选择使用证书来给像 gmail/yahoo/hotmail 这样的主机更少的理由让我进入垃圾邮件(虽然并不总是有效)。
Spf,dkim,certs.. 它们都是免费的,为什么不呢?
我正在使用 postfix+letsencrypt 并且工作出色。
【讨论】:
以上是关于成为您自己的证书颁发机构并为您的电子邮件加密进行自签名有啥问题?的主要内容,如果未能解决你的问题,请参考以下文章