Https的加密过程 / 对称加密和非对称加密

先说具体过程

  • client请求服务端(指定SSL版本和加密组件)
  • server返回CA证书+公钥
  • client用机构公钥认证server返回的CA证书上的签名是否正确
  • client生成一个密钥R,用公钥对密钥R加密发送给server server用服务器的私钥解密获取密钥R
  • 后续通信都是采用密钥R进行加密

 

Https和Http区别

WEB服务存在http和https两种通信方式,http默认采用80作为通讯端口,对于传输采用不加密的方式,https默认采用443,对于传输的数据进行加密传输

目前主流的网站基本上开始默认采用HTTPS作为通信方式,一切的考虑都基于对安全的要求,那么如何对自己的网站配置HTTPS通信,是本文着重介绍的

本文的主要内容包括:https加密传输的原理、如何申请https所用的CA证书,如何配置WEB服务支持https

https=http+ssl,顾名思义,https是在http的基础上加上了SSL保护壳,信息的加密过程就是在SSL中完成的

首先我们先不谈https,先从一个简单的通讯原理图讲起:

图片.png

http通信原理

客户端发送一句client hello给服务器端,服务器端返回一句serverhello给客户端,鉴于本文讨论是https的加密主题,我们只讨论信息传输的加密问题, 欲实现客户端和服务端发送的信息client hello 和server hello,即使中间的包被窃取了,也无法解密传输的内容

http:client hello和server hello在通讯的过程中,以明文的形式进行传输,采用wireshark抓包的效果如下图:图片.png

 有没有感觉这个的信息传输是完全暴露在互联网上面,你请求的所有信息都可以被窥测到,不过不用担心,我们的安全信息现在都是采用https的传输,后面讲到https的时候大家心里会顿时轻松。但这不是最关键的,http的传输最大的隐患是信息劫持和篡改,如下图:

http×××1.png

可以看到,http的信息传输中,信息很容易被×××给劫持,更有甚者,×××可以伪装服务器将篡改后的信息返回给用户,试想一下,如果×××劫持的是你的银行信息,是不是很可怕。所以对于http传出存在的问题可以总结如下:

(1)信息篡改:修改通信的内容

(2)信息劫持:拦截到信息通信的内容

这些是http不安全的体现,说完http,我们回到本文的主题https,看下人家是怎么保护信息的,所有的请求信息都采用了TLS加密,如果没有秘钥是无法解析传输的是什么信息

图片.png

对于加密传输存在对称加密和非对称加密

对称加密传输

当客户端发送Hello字符串的时候,在进行信息传输前,采用加密算法(上图中的秘钥S)将hello加密程JDuEW8&*21!@#进行传输,即使中间被×××劫持了,如果没有对应的秘钥S也无法知道传出的信息为何物,在上图中信息的加密和解密都是通过同一个秘钥进行的,对于这种加密我们称之为对称加密,只要A和B之间知道加解密的秘钥,任何第三方都无法获取秘钥S,则在一定条件下,基本上解决了信息通信的安全问题。但在现实的情况下(www),实际的通讯模型远比上图复杂,下图为实际的通信模型

图片.png

server和所有的client都采用同一个秘钥S进行加解密,但大家思考下,如果这样的话

  • 15
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值