HTTP 与 HTTPS 的区别

目录

传输信息安全性不同

响应速度

连接方式不同

端口不同

展示方式

证书申请方式不同

https 做了什么保证它是安全的?

对称加密

⾮对称加密

怎么提升非对称加密速度?

如何防止数字证书被篡改


浏览网站时,我们会发现网址有两种‘格式’,一种以 http:// 开头,一种以  https:// 开头。好像这两种‘格式’差别不大,只多一个 s,实际上它们有天壤之别。

HTTP 与 HTTPS 主要区别如下

传输信息安全性不同

  • http 协议:HTTP 协议运行在 TCP 之上,所有传输的内容都是明文,客户端和服务器端都无法验证对方的身份。

  • https 协议:HTTP 运行在 SSL/TLS 之上,SSL/TLS 运行在 TCP 之上,所有传输的内容都经过加密, 加密采用对称加密,但对称加密的密钥用服务器方的证书进行了非对称加密。客户端可以验证服务器端的身份,如果配置了客户端验证,服务器方也可以验证客户端的身份。

响应速度

  • 理论上,http 响应速度更快,因为 http 只需三次握手,也就是 3 个包即可建立连接
  • https 除了三次握手,还需要进行 ssl 握手,一共需要 12 个包

连接方式不同

  • http 协议:http 的连接很简单,是无状态的。

  • https 协议:是由 SSL+HTTP 协议构建的可进行加密传输、身份认证的网络协议。

端口不同

  • http 协议:默认端口80

  • https 协议:默认端口443

展示方式

  • 由于 http 是一种没有加密的协议,各大浏览器厂商开始支持 https 站点,例如 http 站点,会被谷歌浏览器标记为 “不安全”等等
  • https 站点,则会被各大浏览器加上"绿色安全锁"标记,如果网站配置增强级 SSL 证书,地址栏还会变为“绿色地址栏”

证书申请方式不同

  • http 协议:免费申请
  • https 协议:需要到第三⽅颁发证书(CA)申请证书,一般免费证书很少,需要交费

https 做了什么保证它是安全的?

在HTTPS数据传输过程中对数据进行加密处理,HTTPS是使用对称加密和非对称加密、签名算法(签名算法不是用来做加密的)以及证书机制来对消息进行处理,以此达到一个安全的有效传输。

  • 对称加密

通信的双⽅都使⽤同⼀个秘钥进⾏加解密,⽐如特务接头的暗号,就属于对称加密。
对称加密虽然很简单性能也好,但是⽆法解决⾸次把秘钥发给对⽅的问题,很容易被⿊客拦截秘钥。

  • ⾮对称加密

私钥 + 公钥 = 密钥对。⽤私钥加密的数据,只有对应的公钥才能解密,⽤公钥加密的数据,只有对应的私钥才能解密。公钥和私钥是相对而言的,通常而言,保留在己方不对外泄露称之为私钥,可公布公开的称之为公钥

因为通信双⽅的⼿⾥都有⼀套⾃⼰的密钥对,通信之前双⽅会先把⾃⼰的公钥都先发给对⽅,然后对⽅再拿着这个公钥来加密数据响应给对⽅,等到到了对⽅那⾥,对⽅再⽤⾃⼰的私钥进⾏解密。

⾮对称加密虽然安全性更⾼,但是带来的问题就是速度很慢,影响性能。

怎么提升非对称加密速度?

结合两种加密⽅式,将对称加密的密钥使⽤⾮对称加密的公钥进⾏加密,然后发送出去,接收⽅使⽤私钥进⾏解密,得到对称加密的密钥,然后双⽅可以使⽤对称加密来进⾏沟通。

此时⼜带来⼀个问题,中间⼈问题:

如果此时在客户端和服务器之间存在⼀个中间⼈,这个中间⼈只需要把原本双⽅通信互发的公钥,换成⾃⼰的公钥,这样中间⼈就可以轻松解密通信双⽅所发送的所有数据。
所以这个时候需要⼀个安全的第三⽅颁发证书(CA),证明身份,防⽌被中间⼈攻击。

证书中包括:

签发者、证书⽤途、使⽤者公钥、使⽤者私钥、使⽤者的 HASH 算法、证书到期时间等

但是问题来了,如果中间⼈篡改了证书,那么身份证明是不是就⽆效了?这个证明就⽩买了,这个时候需要⼀个新的技术,数字签名。

如何防止数字证书被篡改

数字签名就是⽤ CA ⾃带的 HASH 算法对证书的内容进⾏ HASH 得到⼀个摘要,再⽤ CA 的私钥加密,最终组成数字签名。

当别⼈把他的证书发过来的时候,⽤同样的Hash算法,再次⽣成消息摘要,然后⽤ CA 的公钥对数字签名解密,得到 CA 创建的消息摘要,两者⼀⽐,就知道中间有没有被⼈篡改了。

这个时候就能最⼤程度保证通信的安全了。

https 会对传输数据的内容进行加密,也只能保证相对安全,而不能保证绝对安全。

这是因为,在建立通信时,会使用到 SSL 证书里的公钥,如果 SSL 证书的数字证书颁发机构不可信,反而会更容易导致数据被窃取。一些网站为了节省成本,可能会使用自签名的 SSL 证书,这种证书没有第三方监督和审核,也不受浏览器和操作系统的信任。

  • 18
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

橘子味的冰淇淋~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值