51

我想加密我网站的身份验证和注册部分(出于显而易见的原因)。这个网站是目前和旧的网站,我和一些朋友从中学开始,至今仍在使用。在不久的将来,我可能会也可能不会将其注册为非营利组织,但无论哪种方式,CA 都需要花钱,而且该组织没有,而且我们目前是大学生。

威瑞信不合理,GoDaddy 每年 30 美元。GoDaddy 不是太不合理,我认为他们的证书被大多数网络浏览器接受。GoDaddy 的问题是我不知道他们为什么有不同的 SSL 产品(即:为什么不验证我很便宜?这对证书有任何影响吗?如果它只包含域名,浏览器如何处理它? ?)

另外,使用我自己的证书有问题吗?登录页面是否可以是 http,并且有一行说明我使用自签名证书,这是指纹,然后将表单发布到 https 页面?Safari 的方法并不算太糟糕或听起来太吓人。然而,我担心 firefox 3 的方法会吓跑人们并给我大量的电子邮件,说我的网站被黑客入侵了。我不知道 IE 如何响应自签名证书。(还有一个问题,为什么要为我可以毫不费力地自己创造的东西付费,但我不会提出其中的哲学部分,这是一个更实际的问题。)

总而言之,我是每年给 GoDaddy 30 美元,还是只用一小段话告诉人们我在做什么,然后给少数真正想要我指纹的人?

编辑:我正在阅读更多信息的论坛上的一些人提到,只有在 GoDaddy 服务器上时才会提供 GoDaddy 证书,但事实并非如此。两件事:(1)这是真的吗?并且还有其他 CA 的价格大致相同,因此论点应该仍然相同。

4

9 回答 9

53

有一个普遍的误解,认为自签名证书本质上不如 GoDaddy 和 Verisign 等商业 CA 出售的证书安全,并且如果使用它们,您必须忍受浏览器警告/异常;这是不正确的

如果您安全地分发自签名证书(或 CA 证书,如 bobince 建议的那样)并将其安装在将使用您的站点的浏览器中,则它与购买的证书一样安全,并且不易受中间人攻击攻击和证书伪造。显然,这意味着只有少数人需要安全访问您的站点(例如,内部应用程序、个人博客等)才可行。

为了提高认识并鼓励像我这样的小型博客作者保护自己,我编写了一个入门级教程,解释了证书背后的概念以及如何安全地创建和使用自己的自签名证书(完整带有代码示例和屏幕截图)在这里

于 2009-02-05T02:00:33.610 回答
39

SSL 证书解决了两个目的:流量加密(至少用于 RSA 密钥交换)和信任验证。如您所知,您可以使用(或不使用,如果我们谈论的是 SSL 3.0 或 TLS)任何自签名证书来加密流量。但是信任是通过一系列证书来实现的。我不认识你,但我确实信任威瑞信(或者至少微软信任,因为他们已经支付了很多钱来默认将它安装在他们的操作系统中),并且由于威瑞信信任你,所以我信任你也。结果,当我在我的 Web 浏览器中访问这样的 SSL 页面时,没有可怕的警告,因为我信任的某个人说你就是你。

通常,证书越贵,颁发证书机构的调查就越多。因此,对于扩展验证证书,请求者必须提交更多文件以证明他们是他们所说的人,作为回报,他们会在现代 Web 浏览器中获得一个明亮、快乐的绿色条(我认为 Safari 与它还没有)。

最后,一些公司与威瑞信这样的大公司合作纯粹是为了品牌名称;他们知道他们的客户至少听说过 Verisign,因此对于在他们的在线商店购物的人来说,他们的印章看起来不像 GoDaddy 的那样简单。

如果品牌对您来说并不重要,或者您的网站不容易受到网络钓鱼攻击,那么您可以购买的最便宜的 SSL 证书(默认情况下在大多数 Web 浏览器中安装其根目录)就可以了。通常,唯一完成的验证是您必须能够回复发送给 DNS 管理联系人的电子邮件,从而“证明”您“拥有”该域名。

当然,您可以在非 GoDaddy 服务器上使用这些便宜的证书,但您可能必须首先在服务器上安装中间证书。这是一个介于 30 美元的廉价证书和 GoDaddy “真实交易”根证书之间的证书。访问您网站的 Web 浏览器会说“嗯,看起来这是用中间人签名的,你明白吗?” 这需要 可能需要额外的旅行。但是随后它会从您的服务器请求中间体,看到它链接到它知道的受信任的根证书,并且没有问题。

但是,如果您不允许在服务器上安装中间件(例如在共享主机场景中),那么您就不走运了。这就是为什么大多数人说 GoDaddy 证书不能在非 GoDaddy 服务器上使用的原因。不正确,但对于许多场景来说足够真实。

(在工作中,我们为我们的在线商店使用 Comodo 证书,并使用便宜的 30 美元 GoDaddy 证书来保护与数据库的内部连接。)

以斜体编辑,以反映埃里克森在下面的富有洞察力的澄清。每天学些新东西!

于 2008-11-15T17:24:22.227 回答
8

从Let's Encrypt获得证书,这是一个新十年的免费 CA,被浏览器广泛支持。

我还没有尝试过,但在回答类似问题时提到了StartCom。显然你可以免费获得一年的证书,它被 Firefox 3 接受。

即使您必须付费,我也建议您使用 CA 而不是自签名证书。有些人不会看到您的解释,假冒网站可能会像您建议的那样发布他们自己的假证书指纹。我怀疑普通用户是否知道证书指纹是什么或如何检查它。

于 2008-11-15T16:52:21.510 回答
7

与其创建自签名证书,不如创建一个自签名 CA,然后用它签署您的 HTTPS 证书。要求用户安装 CA 比单个服务器证书更容易,并且您可以创建新证书(例如,用于子域,或更新过期的证书),而无需用户再次安装服务器证书。

然后,您可以稍后决定是否值得花 30 美元从您自己的 CA 签名的证书切换到由 GoDaddy 或其他人签名的相同证书。

无论哪种方式,都不要有一个带有发布到 HTTPS 的表单的 HTTP 页面。用户看不到它要去的地方;他们必须查看源代码以检查表单是否被劫持以指向其他地方,并且没有人会这样做。您必须有一个带有 CA 链接的 HTTP 首页和一个指向 HTTPS 登录表单的单独链接。

要求用户安装一个通过普通 HTTP 下载的证书的 CA 有点淘气:如果有中间人,他们可以即时替换你的 CA 并劫持随后的 HTTPS 连接。实际发生这种情况的可能性非常低,因为它必须是有针对性的攻击,而不是普通的旧式自动嗅探,但实际上您应该将 CA 下载链接托管在其他一些受 HTTPS 保护的服务上。

客户接受度是只有您可以回答的问题,您知道您的用户是谁。当然,火狐的界面太吓人了。如果这些天像 GoDaddy 这样的 CA 降到 30 美元,我可能会选择它;它曾经很多,更糟。

假设对旧浏览器和小众浏览器的支持不是什么大问题,只需选择最便宜的 CA。您应该付费让 CA 正确验证您的身份,但实际上这不是它的工作方式,而且从未如此,因此为更彻底的检查支付额外费用几乎不会让您一无所获。威瑞信高昂的价格仅靠企业惯性生存下来。

CA 只需要拥有几百比特的私钥就可以收钱。本应属于 CA 授权的身份验证内容已移至 EV 证书。这更像是一个骗局。喜悦。

于 2008-11-15T17:00:07.563 回答
3

自签名证书是不安全的。对真的。“至少它是加密的”根本没有帮助。来自文章:

世界级加密*零认证=零安全

如果您的网站是为您和您的几个朋友准备的,那么您可以创建自己的 CA 并将您的证书分发给朋友。

否则要么从已知的 CA 获得证书(免费),要么根本不使用自签名证书,因为你得到的只是一种虚假的安全感。


为什么只是加密的流量不安全?您总是允许另一端解密您的流量(您必须这样做,否则您会发送乱码)。

如果你不检查另一端的人,你就允许任何人解密你的流量。如果您将数据安全或不安全地发送给攻击者,这并没有什么不同——攻击者无论如何都会获取数据。

我不是在谈论检查例如 paypal.com 是否属于值得信赖的金融机构(这是一个更大的问题)。我说的是检查您是在向 paypal.com 发送数据还是只是向拐角处的一辆面包车发送证书,上面写着“是的,我完全像 paypal.com,你相信这是真的!”

于 2008-11-15T17:05:28.020 回答
2

昨晚我终于崩溃了,将我的服务器从自签名证书切换到了 GoDaddy 证书,这没什么大不了的,除了他们的流程还不够清晰。每年 30 美元是一个合理的成本,在非 GoDaddy 服务器上使用证书不是问题。

如果您要与公众谈论 SSL,请获取由真实 CA 签名的真实证书。即使您正在为最低工资工作,您每年也可以节省超过 30 美元的浪费时间来处理用户的恐惧或不信任,这甚至还没有考虑到由于他们害怕离开您的网站而可能造成的任何收入损失。

于 2008-11-15T17:19:51.567 回答
2

为了回答您关于 Internet Explorer 的问题,它会警告用户有关其证书未由 IE 已知(不幸地称为“受信任”)CA 签名的任何站点。这包括您自己的 CA 和自签名证书。如果证书中的域不是被访问的域,它也会发出警告。

如果这是一个私人网站,您可能不会在意,只要您获得链接级加密(您是否害怕有人嗅探您的流量?)。如果有公共访问权限并且您想要 SSL,则从公认的 CA 获取签名证书,正如其他人已经建议的那样。

于 2008-11-15T20:13:33.057 回答
1

如果拐角处的那辆面包车已经能够劫持您的互联网连接,那么您遇到的问题比自签名证书更严重。

银行应使用客户证书进行身份验证。那将使那辆货车无法做任何事情……因为它没有银行私钥。

自签名证书非常好......假设您的互联网连接没有受到损害。如果您的连接被破坏......无论如何,您可能都会受到困扰。

于 2009-11-19T14:52:35.257 回答
0

GoDaddy 通过本网站上的“立即购买”链接以每年 15 美元的价格提供 SSL 证书。不要使用优惠券代码,因为这样价格会回到每年 30 美元,并从那里打折。

http://www.sslshopper.com/ssl-certificate-comparison.html?ids=17,25,34,37,62

于 2008-11-18T10:49:11.773 回答