在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
HTTPS传输协议加密安全原理是什么?在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTPS和HTTP的区别主要区别:ca申请证书、http是超文本传输协议,https则是具有安全性的ssl加密传输协议;http和https使用的是完全不同的连接方式;链接方式不同。
HTTPS其实是SSL+HTTP的简称,当然现在SSL基本已经被TLS取代,统一以SSL作为简称,SSL协议其实不止是应用在HTTP协议上,还在应用在各种应用层协议上,例如:FTP、WebSocket。
其实SSL协议大致就和上一节非对称加密的性质一样,握手的过程中主要也是为了交换秘钥,然后再通讯过程中使用对称加密进行通讯,大概流程如下:
其实真正的SSL握手会比这个复杂的多,但是性质还是差不多,而且这里需要关注的重点在于HTTPS是如何防止中间人攻击的。服务器是通过SSL证书来传递公钥,客户端会对SSL证书进行验证,其中证书认证体系就是确保SSL安全的关键,接下来就来讲解下CA认证体系,看看它是如何防止中间人攻击的。
2.2CA认证体系,上一节客户端需要对服务器返回的SSL证书进行校验,那么客户端是如何校验服务器SSL证书的安全性?
权威认证机构,在CA认证体系中,所有的证书都是由权威机构来颁发,而权威机构的CA证书都是已经在操作系统中内置。
应用服务器如果想要使用SSL的话,需要通过权威认证机构来签发CA证书,将服务器生成的公钥和站点相关信息发送给CA签发机构,再由CA签发机构通过服务器发送的相关信息用CA签发机构进行加签,由此得到应用服务器的证书,证书会对应的生成证书内容的签名,并将该签名使用CA签发机构的私钥进行加密得到证书指纹,并且与上级证书生成关系链。
百度是受信于GlobalSignG2,同样的GlobalSignG2是受信于GlobalSignR1,当客户端(浏览器)做证书校验时,会一级一级的向上做检查,直到最后的根证书,如果没有问题说明服务器证书是可以被信任的。
如何验证服务器证书?客户端(浏览器)又是如何对服务器证书做校验?
首先会通过层级关系找到上级证书,通过上级证书里的公钥来对服务器的证书指纹进行解密得到签名(sign1),再通过签名算法算出服务器证书的签名(sign2),通过对比sign1和sign2,如果相等就说明证书是没有被篡改也不是伪造的。
这里有趣的是,证书校验用的RSA是通过私钥加密证书签名,公钥解密来巧妙的验证证书有效性。这样通过证书的认证体系,就可以避免了中间人窃取AES_KEY从而发起拦截和修改HTTP通讯的报文。
HTTPS和HTTP的区别:https协议要到ca申请证书,一般免费证书很少需要交费;http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议;http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443;http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
入行IT编程,学前端开发好还是学后台开发好?
入行IT编程,学前端开发好还是学后台开发好?前端开发和后台开发都是产品开发的重要环节,下面小编将从学习难易程度、技术前景以及就业情况三个方面与大家一起探讨。
8590
2019-08-09 18:03:59
前端学习第一步:HTML标签基本知识
HTML是进入互联网开发岗位的第一步。尤其是前端开发岗位与HTML的接触是最多的。根据HTML4版本的参考手册共计有89个标签(HTML5变动较大作为后期重点学习的知识内容)。每一个标签都有独特的意思。在刚开始学习的时候,追求的是记住标签,而在真正的工作运用中,一定要理解它。下面我们一起来看看其中最常用的一些HTML标签吧。
7941
2019-07-15 17:51:42
Web前端开发语言有哪些?各自有什么优势?
Web前端开发语言有哪些?各自有哪些优势?就目前Web前端开发可能涉及的语言来讲,有PHP语言、JavaScript、Ruby、HTML5、Java和Python。当然并不是说以上这些语言前端开发工程师都必须掌握,其实只选择一两门熟练掌握即可。下面我们来看看这些Web前端开发语言的具体介绍和自身的优势。
14019
2020-01-12 16:30:51
Uni-App入门教程学习路线分享
Uni、app 使用 Vue.js 开发跨平台应用前端框架。上手简单易学易用,开发者编写一套代码可发布到iOS、Android、H5、以及各种小程序等多个平台。有一定Vue基础或需要学习小程序开发的学员掌握uni、app多种原生小程序快速上手。
5513
2020-04-10 15:08:59
前端jQuery基础学习笔记
众所周知,选择jQuery,可以写更少的代码,做更多的事情。jQuery作为前端开发和全栈开发必备的基础技术,我们都应该学习并熟练掌握它。本文为广大学习者总结和归纳了jQuery的基础知识,内容包括jQuery的概念、jQuery快速入门、JQuery对象和JS对象区别与转换和选择器。
4271
2020-05-06 11:39:28
热门文章
- 前端是什么
- 前端开发的工作职责
- 前端开发需要会什么?先掌握这三大核心关键技术
- 前端开发的工作方向有哪些?
- 简历加分-4步写出HR想要的简历
- 程序员如何突击面试?两大招带你拿下面试官
- 程序员面试技巧
- 架构师的厉害之处竟然是这……
- 架构师书籍推荐
- 懂了这些,才能成为架构师 查看更多
扫描二维码,了解更多信息