HTTPS加密流程

HTTP与HTTPS什么关系?为什么需要加密?

HTTP的缺点

HTTP主要有以下不足:

  • 通信使用明文(不加密),可能会被窃听
  • 不验证通信方身份,因此可能遭遇伪装
  • 无法证明报文的完整性,报文有可能已遭篡改

不仅HTTP协议会出现以上问题,其他的一些未加密的协议也会出现这些问题

HTTPS的产生

原因:

HTTP 报文使用明文(指未经过加密的报文)方式发送。而TCP/IP协议同样是不加密的,主要是在当时大佬设计TCP/IP协议首要目标就是可靠传输并非是保密性。

解决方案:加密处理

通信加密

HTTP 协议中没有加密机制,但可以通过和 SSL(安全套接层)或 TLS( 安全层传输协议)的组合使用,加密 HTTP 的通信内容。这种方式是通信加密。用 SSL 建立安全通信线路之后,就可以在这条线路上进行 HTTP通信了。与 SSL 组合使用的 HTTP 被称为 HTTPS

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

注意这是加密的一种方式,因为本文主要描述HTTPS加密流程,因此主要表述HTTPS加密的一些细节。

HTTPS加密方式

对称密钥加密

对称密钥加密是加密解密都用一种密钥的一种加密方式,也叫共享密钥加密。画个图看看

加密和解密都会用到密钥。 没有密钥就无法对密码解密,也就是说,任何人只要持有密钥就能解密了。

如果黑客入侵了路由器等这些设备,那么密钥被攻击者获得,那加密也没意义了。
发送密钥就有被窃听的风险,不发密钥对方又不能解密,给密钥再加密?

不行,总有一个密钥需要公开发送,得让接收方知道并且解密啊,非对称加密就解决了这个问题。

不对称密钥加密

也叫公开密钥加密,公开密钥加密使用一对非对称的密钥。 一把叫做私有密钥,另一把叫做公开密钥。顾名思义,私有密钥不能让其他任何人知道,而公开密钥则可以随意发布,任何人都可以获得。

发送密文的一方使用公开密钥进行加密,接受密文的一方使用自己的私有密钥解密,利用这种方式, 不需要发送用来解密的私有密钥,也不必担心密钥被攻击者窃听而盗走。

那么根据密文和公开密钥能否破解出所传递的信息呢?

就目前的技术来看是不太现实的,因为解密过程就是在对离散对数进行求值, 这并非轻而易举就能办到。退一步讲,如果能对一个非常大的整数做到快速地因式分解,那么密码破解还是存在希望的。

HTTPS采用混合加密的方式

HTTPS 采用共享密钥加密和公开密钥加密两者并用的混合加密机制。主要是因为对称加密运算速度快,开销小;非对称加密运算速度慢,开销大。若密钥能够实现安全交换, 那么有可能会考虑仅使用公开密钥加密来通信。
所以应充分利用两者各自的优势, 将多种方法组合起来用于通信。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值