图解HTTPS协议加密解密全过程

所属分类: 网络 / 网络协议 阅读数: 1820
收藏 0 赞 0 分享

我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取。所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议。

HTTPS简介

HTTPS其实是有两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加密后的数据。具体是如何进行加密,解密,验证的,且看下图。

1. 客户端发起HTTPS请求

这个没什么好说的,就是用户在浏览器里输入一个https网址,然后连接到server的443端口。

2. 服务端的配置

采用HTTPS协议的服务器必须要有一套数字证书,可以自己制作,也可以向组织申请。区别就是自己颁发的证书需要客户端验证通过,才可以继续访问,而使用受信任的公司申请的证书则不会弹出提示页面(startssl就是个不错的选择,有1年的免费服务)。这套证书其实就是一对公钥和私钥。如果对公钥和私钥不太理解,可以想象成一把钥匙和一个锁头,只是全世界只有你一个人有这把钥匙,你可以把锁头给别人,别人可以用这个锁把重要的东西锁起来,然后发给你,因为只有你一个人有这把钥匙,所以只有你才能看到被这把锁锁起来的东西。

3. 传送证书

这个证书其实就是公钥,只是包含了很多信息,如证书的颁发机构,过期时间等等。

4. 客户端解析证书

这部分工作是有客户端的TLS来完成的,首先会验证公钥是否有效,比如颁发机构,过期时间等等,如果发现异常,则会弹出一个警告框,提示证书存在问题。如果证书没有问题,那么就生成一个随机值。然后用证书对该随机值进行加密。就好像上面说的,把随机值用锁头锁起来,这样除非有钥匙,不然看不到被锁住的内容。

5. 传送加密信息

这部分传送的是用证书加密后的随机值,目的就是让服务端得到这个随机值,以后客户端和服务端的通信就可以通过这个随机值来进行加密解密了。

6. 服务段解密信息

服务端用私钥解密后,得到了客户端传过来的随机值(私钥),然后把内容通过该值进行对称加密。所谓对称加密就是,将信息和私钥通过某种算法混合在一起,这样除非知道私钥,不然无法获取内容,而正好客户端和服务端都知道这个私钥,所以只要加密算法够彪悍,私钥够复杂,数据就够安全。

7. 传输加密后的信息

这部分信息是服务段用私钥加密后的信息,可以在客户端被还原。

8. 客户端解密信息

客户端用之前生成的私钥解密服务段传过来的信息,于是获取了解密后的内容。整个过程第三方即使监听到了数据,也束手无策。

更多精彩内容其他人还在看

最常见的TCP/IP中3688端口是什么?

最常见的是TCP和UDP端口,这是用来在互联网上的计算机之间的数据交换,3688/udp端口使用服务类型简单的推- S- S简单的推协议,基础概念不是很了解的朋友可以参考下本文
收藏 0 赞 0 分享

NetBEUI协议怎么安装浏览网上邻居提示需要NetBEUI协议

浏览网上邻居时提示需要NetBEUI协议,说明NetBEUI协议没有安装或安装不正确,由于NetBEUI协议不是TCP/IP必备协议所以需要手动安装,下面是具体的安装步骤,感兴趣的朋友不要错过
收藏 0 赞 0 分享

IP地址剖析以及如何设置Windows7的IPv6协议

当电脑的IP地址相同,就会发生冲突,IP地址就好像你电脑的“门牌号”,只有有了这个“门牌号”,其他用户和电脑才能找到你的电脑,接下来为大家介绍下如何设置Windows7的IPv6协议,感兴趣的朋友可以参考下
收藏 0 赞 0 分享

怎么配置局域网中的各机器的TCP/IP协议

xp系统下载SyGate安装好后,不能马上就使用,还必须对局域网内各机器的TCP/IP协议进行一些设定。下面是具体的设置过程,感兴趣的朋友可以参考下
收藏 0 赞 0 分享

VRRP虚拟路由器冗余协议介绍

VRRP(VirtualRouterRedundancyProtocol,虚拟路由冗余协议)是一种容错协议,需要的朋友可以看下
收藏 0 赞 0 分享

反掩码简介、计算方法实例、常见反掩码

这篇文章主要介绍了反掩码简介、计算方法实例、常见反掩码,需要的朋友可以参考下
收藏 0 赞 0 分享

HTTP协议Keep-Alive模式详解和HTTP头字段总结

这篇文章主要介绍了HTTP协议Keep-Alive模式详解和HTTP头字段总结,需要的朋友可以参考下
收藏 0 赞 0 分享

分享下TCP/IP、Http、Socket的区别

传输层的TCP是基于网络层的IP协议的,而应用层的HTTP协议又是基于传输层的TCP协议的,而Socket本身不算是协议,就像上面所说,它只是提供了一个针对TCP或者UDP编程的接口
收藏 0 赞 0 分享

网络协议是什么?网络协议三要素是什么?

本文向大家详细介绍网络协议是什么以及网络协议三要素是什么的基础知识,不懂的朋友可以通过本文了解学习
收藏 0 赞 0 分享

如何定义网络协议?网络协议有哪些意义?

本文将向大家详细介绍如何定义网络协议以及网络协议有哪些意义的基础知识,不明白的朋友可以过来学习一下
收藏 0 赞 0 分享
查看更多