HTTPS的连接建立流程

时间:2018-08-04 10:36:40来源:杰瑞文章网点击:作文字数:700字
HTTPS的连接建立流程 HTTPS为了兼顾安全与效率,同时使用了对称加密和非对称加密。在传输的过程中会涉及到三个密钥: 服务器端的公钥和私钥,用来进行非对称加密 客户端生成的随机密钥,用来进行对称加密 图片 如上图,HTTPS连接过程大致可分为八步: 1、客户端访问HTTPS连接。 客户端会把安全协议版本号、客户端支持的加密算法列表、随机数C发给服务端。 2、服务端发送证书给客户端 服务端接收密钥算法配件后,会和自己支持的加密算法列表进行比对,如果不符合,则断开连接。否则,服务端会在该算法列表中,选择一种对称算法(如AES)、一种公钥算法(如具有特定秘钥长度的RSA)和一种MAC算法发给客户端。 服务器端有一个密钥对,即公钥和私钥,是用来进行非对称加密使用的,服务器端保存着私钥,不能将其泄露,公钥可以发送给任何人。 在发送加密算法的同时还会把数字证书和随机数S发送给客户端 3、客户端验证server证书 会对server公钥进行检查,验证其合法性,如果发现发现公钥有问题,那么HTTPS传输就无法继续。 4、客户端组装会话秘钥 如果公钥合格,那么客户端会用服务器公钥来生成一个前主秘钥(Pre-Master Secret,PMS),并通过该前主秘钥和随机数C、S来组装成会话秘钥 5、客户端将前主秘钥加密发送给服务端 是通过服务端的公钥来对前主秘钥进行非对称加密,发送给服务端 6、服务端通过私钥解密得到前主秘钥 服务端接收到加密信息后,用私钥解密得到主秘钥。 7、服务端组装会话秘钥 服务端通过前主秘钥和随机数C、S来组装会话秘钥。 至此,服务端和客户端都已经知道了用于此次会话的主秘钥。 8、数据传输 客户端收到服务器发送来的密文,用客户端密钥对其进行对称解密,得到服务器发送的数据。 同理,服务端收到客户端发送来的密文,用服务端密钥对其进行对称解密,得到客户端发送的数据。 作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的iOS交流群:413038000,不管你是大牛还是小白都欢迎入驻 ,分享BAT,阿里面试题、面试经验,讨论技术, 大家一起交流学习成长! 推荐阅读 iOS开发——最新 BAT面试题合集(持续更新中)
作文投稿

HTTPS的连接建立流程一文由杰瑞文章网免费提供,本站为公益性作文网站,此作文为网上收集或网友提供,版权归原作者所有,如果侵犯了您的权益,请及时与我们联系,我们会立即删除!

杰瑞文章网友情提示:请不要直接抄作文用来交作业。你可以学习、借鉴、期待你写出更好的作文。

说说你对这篇作文的看法吧