HTTP与HTTPS,HTTPS为什么比HTTP更安全?

一、安全性

HTTP在通信中:

  • 通信使用明文,不对内容进行加密,容易被窃听
  • 不验证通信方的身份,内容可能被伪装分子窃取

HTTPS则解决了上述问题:

  • 内容加密,建立一个信息安全通道,来保证数据传输的安全
  • 身份认证,确认网站的真实性
  • 数据完整性,防止内容被第三方冒充或者篡改

HTTPS=HTTP+SSL/TLS ,如今SSL已废弃,所以只关注HTTP+TLS,在开始传输数据之前,通过安全可靠的TLS协议进行加密,从而保证后续加密传输数据的安全性。

TLS协议:传输层安全性协议,目的是为了保证网络通信安全和数据完整性。

受TLS协议保护的通信过程:先对传输的数据进行加密(使用对称加密算法)。并且对称加密的密钥是为每一个连接唯一生成的(基于TLS握手阶段协商的加密算法和共享密钥),然后发送的每条消息都会通过消息验证码(Message authentication code, MAC),来进行消息完整性检查,最后还可以使用公钥对通信双方进行身份验证。

二、HTTPS如何实现安全性

HTTPS主要依赖与这几种手段

  • 对称加密:   采用协商的密钥对数据加密
  • 非对称加密:实现身份认证和密钥协商
  • 摘要算法:    验证信息的完整性
  • 数字签名:    身份验证

 1、对称加密

对称加密指的是加密和解密使用的密钥都是同一个,是对称的。只需要保证密钥的安全,整个通信过程就有了机密性。

2、非对称加密

非对称加密,存在两个密钥,一个公钥,一个私钥。两个密钥是不同的,公钥可以公开给任何人,私钥则需要保密。公钥和私钥都可以用来加密解密,但公钥加密后只能用私钥解密,反过来私钥加密后也只能用公钥解密。

3、混合加密

在HTTPS通信中采用了混合加密:对称加密+非对称加密。

对称加密能够保证密钥的安全,整个通信过程具有机密性,而HTTPS采用非对称加密解决密钥交换的问题

具体做法 为:发送密文的一方使用对方的公钥进行加密处理“对称密钥”,任何对方用自己的私钥解密拿到的“对称密钥”,可以确保交换密钥是安全的前提下,使用对称加密方式进行通信。

4、摘要算法

实现传输数据的完整性:摘要算法,也就是常说的散列函数、哈希函数

可以理解为一种特殊的压缩算法,可以将任意长度的数据“压缩”成固定长度、且独一无二的“摘要”字符串,就好比生成这段数据的指纹。(收到数据后,再生成摘要,进行比对,便可知道数据是否一样,确保其完整性)

5、数字签名

数字签名能确定消息确实是由发送方签名并发送出来的,因为别人假冒不了发送方的签名

原理:私钥加密,公钥解密

签名和公钥一样完全公开,任何人都可以获取。但这个签名只有私钥对应的公钥才能解开,(私钥将数字摘要加密),拿到摘要后,使用对应公钥打开数字签名,再比对原文验证完整性,就像可以签署文件一样证明消息确实是你发的。和消息本身一样,因为谁都可以发布公钥,第三方(证书验证机构),可以判定公钥是你的公钥。

6、CA验证机构

数字认证机构处于客户端与服务器双方都可信赖的第三方的立场

CA对公钥的签名认证要求包括序列号、用途、颁发者、有效时间等等,把这些打成一个包再签名,完整地证明公钥关联的各种信息,形成“数字证书”

流程:

  • 服务器的运营人员向数字认证机构提出公开密钥的申请
  • 数字证书认证机构在判明提出申请者的身份之后,会对已申请的公开密钥做数字签名
  • 然后分配这个已签名的公开密钥,并将该公开密钥放入公钥证书后绑定在一起
  • 服务器会将这份数字证书认证机构颁发的数字证书发送给客户端,以进行非对称加密方式通信

接到证书的客户可使用数字证书认证机构的公开密钥,对那张证书上的数字签名进行验证,一旦通过,则证明:

  • 认证服务器的公开密钥是真实有效的数字证书认证机构
  • 服务器的公开密钥是值得信赖的 
  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值