在过去十年中,网络犯罪率急剧上升。许多尚未实施足够的在线安全性的知名商业组织和政府机构已经陷入困境。Google已开始坚决反对不使用HTTPS的网站。如果网站访问者即将通过不安全的连接提交任何信息,则会收到通知。
在本文中,您将学习如何保护客户和企业免遭隐私入侵和数据盗窃。您将学习如何使用SSL技术来保护您的网站和应用程序,以免将敏感数据泄漏给窃听者。
我将无法向您展示如何安装SSL,因为这是高级主题。您可以在此处找到有关安装过程的更多信息。
SSL如何以简单的英语工作
想象一下,您在笔记本电脑上的酒店房间中,已连接到酒店的WIFI。您将要登录到银行的在线门户。同时,一个邪恶的黑客巧妙地在您房间旁边预订了一个房间,并建立了一个简单的工作站来监听酒店大楼中的所有网络流量。黑客可以用纯文本格式查看使用HTTP协议的所有流量。
假设银行的网站仅使用HTTP,那么在您按下“提交”后,黑客就会看到诸如用户名和密码之类的表格详细信息。那么我们如何保护这些数据呢?答案显然是加密。数据加密涉及将纯文本数据转换为看起来很乱的东西,也就是加密数据。要加密纯文本数据,您需要所谓的加密算法和密码密钥。
假设您要加密以下数据:
Come on over for hot dogs and soda!
看起来像这样的加密形式:
wUwDPglyJu9LOnkBAf4vxSpQgQZltcz7LWwEquhdm5kSQIkQlZtfxtSTsmaw
q6gVH8SimlC3W6TDOhhL2FdgvdIC7sDv7G1Z7pCNzFLp0lgB9ACm8r5RZOBi
N5ske9cBVjlVfgmQ9VpFzSwzLLODhCU7/2THg2iDrW3NGQZfz3SSWviwCe7G
mNIvp5jEkGPCGcla4Fgdp/xuyewPk6NDlBewftLtHJVf
=PAb3
使用当前的计算能力,不使用密码密钥对上述消息进行解密可能要花费一生以上的时间。除非他们拥有用于加密它的密码密钥,否则任何人都无法读取它。这种加密方式称为对称加密。现在,我们已经找到了保护数据的方法,我们需要一种安全的方法来将密码密钥安全地传输到邮件的收件人。我们可以通过使用称为公钥加密的非对称加密系统来做到这一点。
公钥密码术使用一对数学上相关的密码密钥:
- 公钥:可以与任何人安全共享
- 私钥:绝不能传输,秘密存储
当一个密钥用于加密时,另一密钥用于解密。不能使用同一密钥来解密它加密的内容。以下是其工作方式的描述:
但是,我们不能信任任何发给我们的公钥,因为它们可以由任何人生成。为了确保公钥的真实性,需要将它们打包在所谓的SSL证书中。这是一个签名的数字文件,包含以下信息:
- 主题名称:个人,组织或机器名称
- 公钥
- 数字签名(证书的指纹)
- 颁发者(签署证书的实体)
- 有效日期(开始和到期)
我只列出了必需品。SSL证书通常包含更多信息。这是一个真实的示例:
如您所见,以上证书已签名(请参见缩略图部分)。数字签名只是文件的加密哈希。让我们首先解释什么是哈希。假设您有一个100字的文档,并通过一个哈希程序运行它。您将获得以下哈希值:
46798b5cfca45c46a84b7419f8b74735
如果您更改文档中的任何内容,即使添加单个句号,当您再次运行哈希函数时,也会生成一个全新的哈希:
bc527343c7ffc103111f3a694b004e2f
发送的散列和生成的散列之间的散列不匹配意味着该文件已被更改。这是确保未更改SSL证书的第一道防线。但是,我们需要验证发送的哈希是由证书的颁发者创建的。这是通过使用发行者的私钥加密哈希来完成的。当我们执行证书的本地哈希,然后解密证书的签名以获得发送的哈希时,我们可以将两者进行比较。如果有匹配项,则表示:
- 证书未被其他人更改
- 我们已经证明证书来自颁发者,因为我们已经使用他们的公钥成功解密了签名
- 我们可以信任SSL证书中附加的公钥的真实性。
现在,您可能想知道我们在哪里获得发行者的公钥以及为什么我们应该信任它。好吧,发行人的公钥已经预先安装在我们的操作系统和浏览器中。发行者是受信任的证书颁发机构(CA),它按照官方的CA /浏览器论坛指南和NIST的建议对证书进行签名。例如,这是您可以在Microsoft操作系统上找到的受信任的颁发者/ CA 的列表。甚至智能手机和平板电脑都在操作系统和浏览器上预装了类似的列表。
根据W3Techs在2018年5月进行的一项调查,以下发行人约占全球签署的有效证书的90%:
- IdenTrust
- 科摩多
- DigiCert(赛门铁克收购)
- 去吧爸爸
- GlobalSign
既然您已经了解了加密和SSL技术,那么最好再研究一下如何使用HTTPS安全地登录银行门户,而无需让隔壁的黑客阅读您的流量。
- 您的笔记本电脑的浏览器首先请求银行的服务器获取SSL证书。
- 服务器发送它。然后,浏览器根据受信任的CA列表检查证书的真实性。它还会检查它是否尚未过期并且尚未被撤销。
- 如果一切顺利,浏览器将生成一个新的密码密钥(也称为会话密钥)。使用SSL证书上的公共密钥,将其加密,然后发送到服务器。
- 服务器使用其私钥解密会话密钥。
- 从现在开始,所有来回发送的通信都将使用会话密钥进行加密。对称加密比非对称加密更快。
这意味着来自笔记本电脑的表单数据和来自服务器的HTML数据都将使用黑客无法访问的密码密钥进行加密。在捕获的流量日志中将看到的所有字母和数字都是乱码。您的信息现已受到保护,并且不会被他人窥探。
既然您已经了解了SSL的一般工作原理,那么让我们继续下一部分,看看我们可以使用的不同类型的SSL证书。
SSL类型
域验证SSL证书
域验证是最经济,最常见的SSL证书类型,可以颁发给任何人以保护公共域网站。为了购买这种SSL证书,您需要证明自己是要保护的域的所有者。这就是为什么将其称为域验证的原因。通过以下一种或多种方式完成此操作:
- 创建DNS TXT记录
- 回复发送给在域Whois记录中注册的电子邮件联系人的电子邮件
- 回复发送给您域中知名管理联系人的电子邮件,例如
admin@domain.com
- 发布由自动证书颁发系统提供的现时
截至2019年9月,谷歌浏览器是目前最受欢迎的Web浏览器,在全球桌面浏览器市场中占有约70%的份额。谷歌最近加强了对网站所有者实施安全协议的立场,以确保最终用户的隐私得到保护。未受保护的网站被标记为不安全。如果用户尝试向不受保护的网站提交表单,也强烈建议用户不要这样做。如果该网站具有过期或无效的SSL证书,则该网站将被暂时阻止。
如果您不想因为网站不受保护而损失宝贵的流量,则需要确保至少获得“ 域验证SSL”证书。只需要5到8分钟即可获得一张证书。
公共IP San SSL
通常颁发SSL证书来保护完全限定的域名,例如www.domain.com
。如果您想保护公共IP地址,则需要获取公共IP SAN SSL证书。SAN代表主观备用名称,这是证书字段中的一个字段,可用于保存IP地址。
通配符SSL
普通SSL证书仅适用于单个域,例如www.domain.com
。如果要保护子域,则必须为其购买新的SSL证书。您无需为所管理的每个子域购买新的SSL证书,只需购买通配符SSL证书即可,该证书将应用于您的子域,即*.domain.com
。比购买多个SSL证书更具成本效益。使用一个SSL证书进行管理也更容易。
但是,如果某个子域遭到破坏,则意味着使用同一证书的所有子域都受到破坏。您需要吊销它并请求新证书。如果您不面对此类问题,也可以单独购买。
多域SSL证书
顾名思义,您可以购买一个多域SSL证书,该证书最多可保护250个域和子域。这种类型的证书对于保护可能跨越不同地理区域的数百个办公室通信服务器特别有用。即使流量仅限于公司网络内,最好还是使用SSL对其进行保护,因为流氓员工很容易监视和记录每个人的流量。
摘要
我希望您现在有足够的信息来决定要购买哪个SSL证书。请注意,SSL证书仅有效两年。这是一项安全功能,可确保有关证书的信息保持最新。它还可确保不会将任何放错位置的密钥用于渗透流量。免费的SSL证书通常有效期为90天。如果您想确保自己不会忘记购买续订,则可以获取3或4年的订阅计划。请注意,适用两年限制率。将会在有效期结束时与您联系,以将证书替换为新证书。选择更长的订阅计划的优势在于,与每年购买相比,您可以节省金钱。