当前位置: PHP > 关于ssl https

关于ssl https

2021-03-24 分类:PHP 作者:admin 阅读(30)

HTTPS 协议并非是应用层的一种新协议,只是将 HTTP 通信接口部分用 SSL 协议代替。通常,HTTP 会直接和 TCP 通信,当使用 SSL 时,则演变成先和 SSL 通信,再由 SSL 和 TCP 通信。所以,所谓的 HTTPS,就是身披 SSL 协议外壳的 HTTP 而已。

采用 SSL 后,HTTP 就拥有了 HTTPS 的加密、证书和完整性保护等功能。

SSL 是独立于 HTTP 的协议,所以不光是 HTTP 协议,其它运行在应用层的 SMTP 和 Telnet 等协议均可配合 SSL 协议使用。可以说 SSL 是当今世界上应用最为广泛的网络安全技术。

数字证书

SSL只是一个协议,openssl则是SSL的实现版,另外openssl还包含了公钥私钥的生成、摘要生成等各种工具。

通过 OpenSSL 提供的命令就可以生成私钥和公钥,但是需要权威机构颁发证书(Certificate)才能被承认,否则我们无法判断通信中传递的公钥是否是目标服务器返回的。

生成证书需要发起一个证书请求,然后将这个请求发给一个权威机构(客户端和服务端都信任的第三方结构)去认证,这个权威机构我们称之为 CA(Certificate Authority)。权威机构会给证书敲一个章,也就是所谓的签名算法。

签名算法大概是这样工作的:一般是对信息做一个 Hash 计算,得到一个 Hash 值,这个过程是不可逆的,也就是说无法通过 Hash 值得出原来的信息内容。在把信息发送出去时,把这个 Hash 值通过 CA 的私钥加密后,作为一个签名和信息一起发出去。

CA 用自己的私钥给网站的公钥签名,就相当于给网站背书,形成了网站的证书。

服务器会将这份 CA 颁发的公钥证书(也可以叫做数字证书)发送给客户端,以进行非对称加密方式通信。

接到证书的客户端可使用 CA 提供的公钥,对那张证书上的数字签名进行验证,一旦验证通过,客户端便可明确两件事:

  1. 认证服务器公钥的是真实有效的数字证书认证机构;
  2. 服务器的公钥是值得信赖的。

此处 CA 的公钥必须安全转交给客户端,如何安全转交是件很困难的事,因此,大多数浏览器开发商发布版本时,会事先在内部植入常见 CA 的公钥。

非对称加密在性能上不如对称加密,但是安全性上要更好,因此 HTTPS 综合运用了这两种加密方式的优势,使用非对称加密传输对称加密需要用到的密钥,而真正的双方大数据量的通信都是通过对称加密进行的,结合数字证书(包含公钥信息)验证服务端公钥的真实性,HTTPS 的底层原理如下:

来源:https://laravelacademy.org/post/21149

nginx配置https:Nginx配置Https(详细、完整) - huiblog - 博客园 (cnblogs.com)

「三年博客,如果觉得我的文章对您有用,请帮助本站成长」

赞(0) 打赏

支付宝
微信
0

支付宝
微信
标签:

上一篇:

下一篇:

你可能感兴趣

共有 0 - 关于ssl https

博客简介

精彩评论

  • admin(6年前 (2020-03-09))

    分别用不同厚度的筏板定义,画图后这设置筏板变截面处理。 http://f.fwxgx.co...

    评:新文章!
  • admin(6年前 (2020-03-09))

    分别用不同厚度的筏板定义,画图后这设置筏板变截面处理。 http://f.fwxgx.co...

    评:新文章!
  • admin(6年前 (2020-03-09))

    新增一个框架图! http://biji.jinli.vip/wp-content/upl...

    评:新文章!
  • 一位WordPress评论者(6年前 (2020-02-13))

    嗨,这是一条评论。 要开始审核、编辑及删除评论,请访问仪表盘的“评论”页面。 评论者头像来自...

    评:世界,您好!