本文由GoGetSSL赞助提供。感谢您支持使SitePoint成为可能的合作伙伴。
网络犯罪的发生率在过去十年中急剧上升。许多尚未实施充分网络安全措施的知名企业组织和政府机构已经遭受损失。谷歌已开始对不使用HTTPS的网站采取强硬立场。如果访客即将通过不安全的连接提交任何信息,系统会发出警告。
本文将指导您如何保护客户和企业免受隐私侵犯和数据盗窃。您将学习如何使用SSL技术来保护您的网站和应用程序,防止敏感数据泄露给窃听者。
本文不会讲解SSL的安装方法,因为这是一个高级主题。您可以在此处找到有关安装过程的更多信息。
想象一下,您在酒店房间里,使用笔记本电脑连接到酒店的WIFI。您即将登录银行的在线门户网站。与此同时,一个恶意黑客巧妙地预订了您隔壁的房间,并设置了一个简单的工位来监听酒店大楼中的所有网络流量。使用HTTP协议的所有流量都可以被黑客以纯文本形式查看。
假设银行的网站仅使用HTTP,那么一旦您按下提交按钮,用户名和密码等表单详细信息就会被黑客看到。那么我们如何保护这些数据呢?答案显然是加密。数据加密涉及将纯文本数据转换为看起来乱码的东西——也就是加密数据。要加密纯文本数据,您需要所谓的加密算法和密码密钥。
假设您要加密以下数据:
<code>Come on over for hot dogs and soda!</code>
加密后的形式如下所示:
<code>Come on over for hot dogs and soda!</code>
使用当前的计算能力,在没有密码密钥的情况下解密上述消息可能需要超过一生。除非他们拥有用于加密它的密码密钥,否则没有人能够阅读它。这种类型的加密称为对称加密。既然我们已经弄清楚了如何保护数据,我们需要一种安全的方法来安全地将密码密钥传输给消息的接收者。我们可以通过使用称为公钥加密的非对称加密系统来做到这一点。
公钥加密使用一对数学相关的密码密钥:
当一个密钥用于加密时,另一个密钥用于解密。相同的密钥不能用于解密它加密的内容。以下是其工作原理的描述:
但是,我们不能信任任何发给我们的公钥,因为它们可以由任何人生成。为了确保公钥的真实性,需要将它们打包到所谓的SSL证书中。这是一个签名的数字文件,包含以下信息:
我只列出了必需项。SSL证书通常包含更多信息。这是一个真实的例子:
如您所见,上述证书已签名(请参阅缩略图部分)。数字签名只是文件的加密哈希。让我们首先解释什么是哈希。假设您有一份包含100个单词的文档,并且您将其通过哈希程序运行。您将获得以下哈希值:
<code>wUwDPglyJu9LOnkBAf4vxSpQgQZltcz7LWwEquhdm5kSQIkQlZtfxtSTsmaw q6gVH8SimlC3W6TDOhhL2FdgvdIC7sDv7G1Z7pCNzFLp0lgB9ACm8r5RZOBi N5ske9cBVjlVfgmQ9VpFzSwzLLODhCU7/2THg2iDrW3NGQZfz3SSWviwCe7G mNIvp5jEkGPCGcla4Fgdp/xuyewPk6NDlBewftLtHJVf =PAb3</code>
如果您更改文档中的任何内容,即使是添加一个句点,当您再次运行哈希函数时,也会生成一个全新的哈希值:
<code>46798b5cfca45c46a84b7419f8b74735</code>
发送的哈希值与生成的哈希值不匹配,这意味着该文件已被更改。这是确保SSL证书未被更改的第一道防线。但是,我们需要验证发送的哈希值是由证书的颁发者创建的。这是通过使用颁发者的私钥加密哈希值来完成的。当我们对证书执行本地哈希,然后解密证书的签名以获得发送的哈希值时,我们可以比较两者。如果匹配,则表示:
现在,您可能想知道我们从哪里获得颁发者的公钥以及为什么我们应该信任它。颁发者的公钥已预先安装在我们的操作系统和浏览器中。颁发者是一个值得信赖的证书颁发机构 (CA),它根据官方 CA/浏览器论坛指南和 NIST 建议签署证书。例如,以下是一些您会在 Microsoft 操作系统上找到的值得信赖的颁发者/CA 的列表。即使是智能手机和平板电脑,操作系统和浏览器上也预装了类似的列表。
根据W3Techs在2018年5月进行的一项调查,以下颁发机构约占全球签发的有效证书的90%:
既然您已经了解了加密和SSL技术,最好回顾一下如何使用HTTPS安全地登录银行门户网站,而不会让隔壁的黑客读取您的流量。
这意味着从笔记本电脑发送的表单数据以及来自服务器的HTML数据都将使用黑客无法访问的密码密钥进行加密。在捕获的流量日志中看到的将只是乱码的字母和数字。您的信息现在已受到保护,并免受窥探之眼。
既然您了解了SSL的一般工作原理,让我们继续下一节,了解我们可以使用的不同类型的SSL证书。
域验证是最经济实惠且最常见的SSL证书类型,可以颁发给任何人以保护公共域网站。为了购买这种类型的SSL证书,您需要证明您是您想要保护的域的所有者。这就是为什么它被称为域验证。这是通过以下一种或多种方式完成的:
截至2019年9月,谷歌Chrome浏览器目前是最流行的网络浏览器,约占全球桌面浏览器市场份额的70%。谷歌最近加强了其对网站所有者强制执行安全协议的立场,以确保保护最终用户的隐私。未受保护的网站会被标记为不安全。如果用户尝试向未受保护的网站提交表单,也会强烈建议他们不要这样做。如果网站的SSL证书过期或无效,则该网站将被暂时阻止。
如果您不想因为您的网站不受保护而丢失宝贵的流量,您需要确保至少获得域验证SSL证书。获得一个证书只需要5-8分钟。
SSL证书通常用于保护完全限定的域名,例如www.domain.com。如果您想保护公共IP地址,则需要获取公共IP SAN SSL证书。SAN代表主体备用名称,它是证书字段上的一个字段,可用于保存IP地址。
普通的SSL证书仅适用于单个域,例如www.domain.com。如果您想保护子域,则必须为此购买新的SSL证书。您可以简单地购买通配符SSL证书,而不是为管理的每个子域购买新的SSL证书,它将适用于您的子域,即*.domain.com。它比购买多个SSL证书更经济有效。使用一个SSL证书也更容易管理。
但是,如果子域受到损害,则意味着使用相同证书的所有子域都受到损害。您需要吊销它并请求新的证书。如果您不想遇到此类问题,也可以单独购买一个。
顾名思义,您可以购买多域SSL证书,它最多可以保护250个域和子域。这种类型的证书对于保护可能跨越不同地理区域的数百个办公通信服务器特别有用。即使流量仅限于公司网络内,最好也使用SSL进行保护,因为流氓员工很容易监控和记录每个人的流量。
自2019年以来,可以使用LEI(法律实体标识符)代码在全球范围内验证组织。这简化并显著加快了验证过程。企业可以通过官方的GLEIF注册机构获得LEI代码。
法律实体标识符 (LEI) 是一个用于识别参与金融交易的任何全球公司的唯一代码。该流程是根据国际标准ISO 17442进行的。目标是帮助监控和衡量系统性风险,并有效且廉价地支持遵守监管报告要求。
我希望您现在有足够的信息来决定购买哪种SSL证书。请注意,SSL证书仅有效期为两年。这是一项安全功能,可确保证书上的信息保持最新。它还确保不会使用任何丢失的密钥来渗透流量。免费SSL证书通常有效期为90天。如果您想确保您不会忘记购买续订,您可以获得3年或4年的订阅计划。请注意,两年限制费率适用。您将在到期日期结束时收到联系,以将证书替换为新的证书。选择较长订阅计划的优势在于,与每年购买相比,您可以节省资金。
什么是SSL?SSL(安全套接字层)是一种加密协议,旨在提供计算机网络上的安全通信。它通常用于保护用户浏览器和网站服务器之间的数据传输。
为什么SSL很重要?SSL对于保护通过互联网传输的敏感信息(例如登录凭据、信用卡详细信息和其他个人数据)非常重要。它会加密数据以防止未经授权的访问和窃听。
什么是SSL证书?SSL证书是一种数字证书,用于验证网站的身份并启用安全、加密的通信。它由证书颁发机构 (CA) 颁发,并包含有关证书持有人的信息。
如何为我的网站获取SSL证书?要获得SSL证书,您可以从证书颁发机构 (CA) 购买一个,或使用受信任的CA提供的证书,例如Let's Encrypt。获得证书后,需要将其安装在您的Web服务器上。
什么是HTTPS?HTTPS(超文本传输协议安全)是HTTP的安全版本。它使用SSL/TLS协议来加密用户浏览器和网站服务器之间传输的数据。使用HTTPS的网站在地址栏中显示锁形符号。
以上是什么是SSL,哪种证书类型适合您的详细内容。更多信息请关注PHP中文网其他相关文章!