我无法理解为什么我们可以使用openSSL在本地生成SSL证书时需要购买SSL证书。我购买的证书和本地生成的测试证书有什么区别?这只是一个大骗局吗?
我无法理解为什么我们可以使用openSSL在本地生成SSL证书时需要购买SSL证书。我购买的证书和本地生成的测试证书有什么区别?这只是一个大骗局吗?
Answers:
一个字-信任。您的浏览器信任的提供者提供的SSL证书意味着他们至少已完成基本验证才能证明您是您的身份。
否则,我可以为google.com或yourbank.com制作自己的证书,并假装成为证书。
付费证书通常不提供超过自签名的任何额外级别的加密。但是自签名证书会导致浏览器抛出错误。
是的,SSL的一部分是骗局(verisign证书与geotrust相比,verisign的价格要贵100倍),但不是全部。
如果这全部是内部的东西,那么就不需要付费证书,因为您可以使用自己的信任方法(例如,不执行任何操作,或者仅进行指纹检查)。
SSL证书的重点是使浏览器对用于HTTPS事务的服务器公钥具有合理的信任度。
首先,让我们探讨如果不使用证书会发生什么。取而代之的是,服务器将以明文形式发送公钥,而浏览器将使用该公钥来发起加密通信(它要做的第一件事就是加密自己的公钥并安全地发送出去)。如果我和攻击者把自己陷在中间怎么办?我可以用我的即时替换您的公共密钥,与浏览器进行加密连接,解密我收到的所有内容,用您的公共密钥加密,然后发送出去(反之亦然,以响应型流量)。没有人会注意到差异,因为没有人事先知道公钥。
好的,因此我们已经确定我们需要某种方式让浏览器信任我的公钥。一种方法是将所有注册的公共密钥存储在浏览器中。当然,每次有人注册公共密钥时,这都需要更新,这会导致膨胀。也可以将公钥掌握在DNS服务器1的手中,但是DNS服务器也可以被欺骗,并且DNS不是安全协议。
因此,剩下的唯一选择是通过签名机制“链接”信任。浏览器将存储一些CA的详细信息,并且您的证书将与其他证书链一起发送,每个证书都对下一个证书进行签名,并转到根/受信任/内置的CA。CA的工作是在为您签名证书之前确保域属于您。
由于成为CA是一项业务,因此他们要为此付费。一些比其他更多。
如果您制作了自己的证书,则会收到类似于以下内容的错误:
未签名的证书没有任何价值。这就像拿铅笔和一本小册子,画一本护照,声称你是巴拉克·奥巴马。没有人会相信它。
1.毕竟,注册域时会创建DNS条目。使用更健壮的协议(使您可以同时注册公共密钥)将是一个有趣的概念。
您问题的答案取决于您的听众:由于证书的整个系统都是基于“信任”的,因此您的用户必须有能力自己证明自己的证书,或信任进行此检查并通过签名来显示成功的第三方。您的证书。我使用的“证明您的证书”一词有点不准确:长版本应为:“证明您是证书的所有者并被允许使用”。
如果您的所有用户本人都认识您,并且具有证明您自己签发证书的技术能力,那么使用“认证”提供商的证书就没有技术上的需要。在这种情况下,自签名证书甚至可能比其中一个提供者中的证书更好。
但是在大多数情况下,用户不可能自己执行此过程。这些SSL提供商在这里进入市场。他们提供服务来进行这些检查并通过签署证书来表示检查结果。但是要记住的一个重要事实是:SSL提供商通过签署证书,表示它已根据自己的签名策略检查了证书颁发者的身份。因此,用户必须决定此策略是否足够精确,以及他/她是否可以信任提供者。
要点是,如果证书是自行生成的,那么普通用户将无法验证其真实性。对于购买的证书,他们认为至少要验证证书中打印的内容正确无误。想法:如果您将电话和地址放在证书中,则CA会进行验证,但很少这样做。
另外,购买证书是可追溯的,这意味着他们用户始终可以跟踪证书的来源,而自签名证书只是一个随机身份。
对于许多系统而言,过去需要从授权的CA进行“代码签名”,这是策略驱动的,但是由于自签名证书数量众多,因此现在不再100%强制执行。
只是组织上没有技术上的差异(您自己的安全也不会降低):您的CA证书不是浏览器标准安装的一部分。这使大多数人都无法连接到您的证书。但是为内部网络购买证书没有任何意义。
最近,LetsEncrypt宣布了其命令行工具可用于生成有效证书的可用性。
没有验证电子邮件,没有复杂的配置编辑,没有过期的证书破坏了您的网站。当然,由于Let's Encrypt免费提供证书,因此无需安排付款。
对于那些想知道这些证书在主流浏览器中是否有效的人,答案是“是”:
2015年10月19日,中间证书被IdenTrust交叉签名,从而使所有主流浏览器都信任Let's Encrypt颁发的所有证书。[20]
..... 2016年3月8日,让我们加密了七个月后颁发的百万分之一证书。[39]
2016年4月12日,Let's Encrypt离开测试版。
系统管理员和开发人员的链接:https : //letsencrypt.org/getting-started/
在区块链技术时代和取消第三方信任系统的时代,是时候开始质疑一些选定机构发行昂贵证书的时候了。
尽管Letsencrypt与区块链技术无关,但这是朝着正确方向迈出的第一步。希望每年向昂贵的证书颁发机构支付高额费用的要求已合乎逻辑。
简而言之,自签名SSL证书没有任何意义。它对外部世界没有任何价值。就像说“我拥有西班牙”。您可能会诚实地认为自己做到了,但是没人会承认您的主张。
类似的类比是发明某些东西,然后声称您拥有该发明的权利,但是除非您在办公室注册了专利,否则很难说出这句话,是吗?
证书的全部意义在于它是由人们信任的权威机构签署的。如果某个网站拥有有效的SSL证书,则意味着所有者已经费事费力地注册自己的网站,为SSL证书付费并从某个真实世界的证书颁发机构获得了官方证书,因此它可能不是一个廉价的网络钓鱼网站。另一方面,如果您信任自签名证书,则该网络钓鱼网站可以简单地生成他自己的伪造证书(您将很乐意接受)并瞧瞧。
当然,如果这是私有Intranet上的内部网络,则您可能已经相互信任,因此在这种情况下,权威证书实际上并没有添加任何内容,因此您可以放心地忽略浏览器对您发出的鲜红色的光。 。对于小型网站,您仍然希望对客户端-服务器流量进行加密,但威胁模型不保证进行强身份验证,情况与此相同,在这种情况下,您可以使用自签名证书来接受并接受(对于您的威胁模型可以忽略) MITM的风险。
考虑到受信任的SSL证书的价格可能会很令人满意。
换句话说,一张自签名证书相当于说“我证明我就是我- 信任我!”。