域名不是HTTPs会发生什么......

小明在一家公司上班,有一天突然被人事约谈,鉴于你最近表现,管理层讨论决定给你加薪了,按20%加?

小明突然意识到自己前几天浏览了求职网站,难道被发现了?他用的域名是http。

为什么说https是安全的呢?下面先看看详细的https原理。

协议概念

7c0b71fb8df6c8a5a3d93b04bf2f80eb.png

1. HTTP 协议(HyperText Transfer Protocol,超文本传输协议):是客户端浏览器或其他程序与Web服务器之间的应用层通信协议 。HTTP 协议是一种基于文本的传输协议,它位于 OSI 网络模型中的应用层。

2. HTTPS 协议(HyperText Transfer Protocol over Secure Socket Layer):可以理解为HTTP+SSL/TLS, 即 HTTP 下加入SSL 层,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL,用于安全的 HTTP 数据传输。

ea3bc29e07efa7a672383793b11c6f12.png

SSL和TLS是一种加密算法,这里不详细介绍SSL和TLS。

HTTP访问过程

466a425356ffa8c6f33f260dab2bbf4d.png

HTTP请求过程中,客户端与服务器之间没有任何身份确认的过程,数据全部明文(明文意思就是没有加密的信息,一眼就可以看出客户端和服务器端发送的内容)传输,“裸奔”在互联网上,所以很容易遭到黑客的攻击,如下:

0196218918474e4a7dfebc6e0bb0f3f9.png

黑客能看到并且修改 HTTP 通讯中所有的请求和响应内容,所以使用 HTTP 是非常的不安全的。

防止访问进行攻击

对称加密

为了防止上述问题,那我们使用对称加密的方式将报文进行加密,这样黑客就看不到明文了。

948b5a346b6faa96c9265fcbb513afc5.png

如上图所示,此种方式属于对称加密,双方拥有相同的密钥,信息得到安全传输,但此种方式的缺点是:

  1. 不同的客户端、服务器数量庞大,所以双方都需要维护大量的密钥,维护成本很高。

  2. 因每个客户端、服务器的安全级别不同,密钥极易泄露。

上面的问题是在通讯过程中还是会以明文的方式暴露加密方式和秘钥,如果第一次通信被拦截到了,那么秘钥就会泄露给中间人,黑客仍然可以解密后续的通信。

那么我们考虑能不能将密钥进行加密,不让黑客看到呢?

非对称加密

2607cfce383700414c43760468311d64.png

客户端用公钥对请求内容加密,服务器使用私钥对内容解密。

但也存在缺陷:公钥是公开的(也就是黑客也会有公钥),所以第 ④ 步私钥加密的信息,如果被黑客截获,其可以使用公钥进行解密,获取其中的内容。

对称加密+非对称加密

1a83743b8b4f7ecd51105f945aa79dd5.png

如上图所示:

  1. 第 ③ 步时,客户端说:(咱们后续回话采用对称加密吧,这是对称加密的算法和对称密钥)这段话用公钥进行加密,然后传给服务器。

  2. 服务器收到信息后,用私钥解密,提取出对称加密算法和对称密钥后,服务器说:(好的)对称密钥加密。

  3. 后续两者之间信息的传输就可以使用对称加密的方式了。

也还存在缺陷:

  1. 客户端如何获得公钥。

  2. 如何确认服务器是真实的而不是黑客。

获取公钥和确认服务器的身份

409ddd8c21b07cd1e2515bf6d87ea037.png

如上图所示,在第 ② 步时服务器发送了一个SSL证书给客户端。

 

SSL是什么呢?

SSL使用数据加密、身份验证和消息完整性验证机制,基于TCP和其他的应用层协议提供可靠的连接安全保障。

真正的SSL 握手会比这个复杂的多,但是性质还是差不多,而且我们这里需要关注的重点在于 HTTPS 是如何防止中间人攻击的。

服务器是通过 SSL 证书来传递公钥,客户端会对 SSL 证书进行验证,其中证书认证体系(CA)就是确保SSL安全的关键。

上面会引入第三方,一个权威的证书颁发机构(CA)来解决。

证书包含如下信息:

0e341acbb4319906a21e0f05791eaaf7.png

为了便于说明,我们这里做了简化,只列出了一些关键信息。至于这些证书信息的用处,我们看看具体的通信流程就能够弄明白了。

流程如下:

1. 服务端首先把自己的公钥发给证书颁发机构,向证书颁发机构申请证书。

2. 证书颁发机构自己也有一对公钥私钥。机构利用自己的私钥来加密Key1,并且通过服务端网址等信息生成一个证书签名,证书签名同样经过机构的私钥加密。证书制作完成后,机构把证书发送给了服务端。

3. 当客户端向服务器端请求通信的时候,服务器端不再直接返回自己的公钥,而是把自己申请的证书返回给客户端。

4. 客户端收到证书以后,要做的第一件事情是验证证书的真伪。需要说明的是,各大浏览器和操作系统已经维护了所有权威证书机构的名称和公钥。所以客户端只需要知道是哪个机构颁布的证书,就可以从本地找到对应的机构公钥,解密出证书签名。

接下来,客户端按照同样的签名规则,自己也生成一个证书签名,如果两个签名一致,说明证书是有效的。

验证成功后,客户端就可以放心地再次利用机构公钥,解密出服务端服务器端的公钥Key1。

5. 像之前一样,客户端生成自己的对称加密密钥Key2,并且用服务端公钥Key1加密Key2,发送给服务器端。

6. 最后,服务器端用自己的私钥解开加密,得到对称加密密钥Key2。于是两人开始用Key2进行对称加密的通信。

证书的签名是由服务器端网址等信息生成的,并且经过机构私钥加密,中间人也无法篡改。

4f75c240a00971940ef64ff2c51bddc4.png

HTTPS在HTTP协议的基础上增加了SSL安全层。

综上所述,相比 HTTP 协议,HTTPS 协议增加了很多握手、加密解密等流程,虽然过程很复杂,但其可以保证数据传输的安全。所以在这个互联网膨胀的时代,其中隐藏着各种看不见的危机,为了保证数据的安全,维护网络稳定,建议大家多多推广HTTPS。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
开源域名注册系统 BoxBilling 客户管理和计费软件   完整的客户管理,计费和支持软件。BoxBilling是免费的,将永远是免费的! 你可以卖任何可以想象的产品 - 虚拟主机,软件许可,服务器,可下载的产品,并设置任何自定义的产品。 您可以为您的客户提供域名注册,您将需要设置附加域名注册顶级域名。 版本v2.7.4 新SolusVM VPS产品类型。能力导入从SolusVM主服务器的客户和现有的服务器。从管理和客户区的完全控制。 新产品类型BoxBiling许可证。能力出售从任何BoxBilling的安装BoxBilling许可证。启用 电子邮件模板上产生的第一个事件发生。直到这时,它不能进行管理。 筛选发票选项:问题发票手动或自动的订单的能力。 预览电子邮件模板的能力。旧的电子邮件模板已被弃用。 能够把新秩序,为客户提供从管理区 有能力改变货币价格的格式 过时bb-library/Hook绑定。现在绑定从模块Service.php的类的事件挂钩 现在是强制性的PHP mcrypt扩展 电子邮件设置现在存储在加密格式 新增能力重置默认邮件模板 移动电子邮件发送电子邮件模板菜单设置,一般设置 新的Dashboard widget,显示活跃的订单计数分组产品 更新嫩枝到1.8.2版本 添加禁用/启用自动发票发出订单的能力 SpamChecker是一个模块。谷歌recapthca和stopforumspam.com数据库检查可以简单地启用或禁用任何其他模块 所有的扩展可以调用其他的扩展事件挂钩 所有的扩展可以挂接到cron作业事件 添加新的API的方法extension_config_get和extension_config_save存储加密的扩展配置数据 管理布局包含多块。提供了更多的自由扩展开发。 现在,管理区的仪表板统计链接过滤昨天和今天的数据 加载顺序索引页定制的上市模板文件的能力 检查模板文件,如果存在功能为客人的API guest.system_template_exists({“文件”:“mod_index_dashboard.phtml”}) 创建管理员帐户,如果没有从管理区,而不是登录表单界面存在的能力。 新产品的默认排序顺序 按类型分组的产品现在可以责令滑块类型的形式 在子文件夹中安装时的错误修复名为同一个模块 客户端配置管理页面更新 - 第分裂 添加dotTk域名注册正式版 添加Interkassa支付网关 电子邮件处长bug修复 internetbs处长bug修复 创建自定义产品的能力。现在可以启用和禁用这些产品可以作为一个扩展 管理区的登录表单添加装载机微调 每周新增产品定价选项 货币的汇率被保存在发票上的付款事件 谷歌的reCAPTCHA现在使用HTTPS 能够添加/删除收藏的论坛主题 订阅/退订论坛邮件通知 添加新的领域扩展的元表 - CLIENT_ID 您可以使用电子邮件(域是不是通过在这种情况下boxbilling设置,您将需要手动在您的注册登记),或使用支持的域名注册。   目前,我们支持这些域名注册商API接口: ENOM; ResellerClub; Internet.bs; NameCheap; ResellOne; OpenSRS; CentralNic; CNZ; 要创建你自己的域名注册商

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值