web基础系列(五)---https是如何实现安全通信的
来源:互联网 发布:淘宝电影在线 编辑:程序博客网 时间:2024/06/06 00:41
https是如何实现安全通信的如果有不正确的地方,还望指出!
web基础系列目录总结几种常见web攻击手段极其防御方式
总结几种常见的安全算法
这是我的博客目录,欢迎阅读
回顾总结几个概念(具体描述可以看上一篇文章)
数字签名和数字证书的应用场景是这样的:rose给jiajun写情书
刚开始用非对称加密的方式,rose用jiajun的公钥对情书进行加密,那么这样的话,如果Billy截获到情书,也无法对情书进行解密,因为只有jiajun有私钥,除非私钥泄露了
jiajun收到,要回信给rose,这个时候jiajun要证明这封信是他自己写的,而且中途没有被别人修改
这个时候,jiajun将信进行摘要,然后对摘要用私钥进行加密,这就是一个数字签名,然后我将数字签名和信一起发送给rose
rose接到后,用公钥对数字签名进行解密,得到的是一个摘要(这个时候不知道有没有被人修改过),然后对信进行摘要,这样的话,对两个摘要进行比较,如果不同那么说明这封信被修改过。
后来,Billy想冒充jiajun(让rose和jiajun分手),他把jiajun的公钥换成他自己的公钥,然后按照上面的一样的操作发送给rose。这样Billy就可以得手
再后来,为了不让Billy得逞,jiajun想出一个方法,要解决这个问题就是要向rose确定这个公钥是否是jiajun的,所以jiajun去找证书中心(CA),为公钥做认证,证书中心用自己的私钥对公钥和一些相关中心进行加密,这样产生的就是数字证书
那么以后,jiajun发送消息给rose的时候,就将数字签名和数字证书发送个rose,这样rose通过数字证书就可以得到真实的公钥,就可以通过数字签名判断是否更改过
https的安全通信SSL/TLSSSL(Secure Sockets Layer安全套接层),是一种网络安全协议
TLS(Transport Layer Security传输层安全协议),是基于SSL协议的通用化协议,正逐步替代SSL。
SSL/TLS分为两层,一层是记录协议(建立在可靠的传输协议上(比如tcp),提供数据封装,加密解密,数据建议等基本功能),一层是握手协议(建立在记录协议上,在实际的数据传输开始前,进行加密算法的协商,通信密钥的交换等)。成都双流阴茎延长医院哪家好
什么是https全称是hypertext protocol over secure socket layer,也就是基于ssl的http协议,http的安全版,可以理解为https=http+ssl
https支持单向认证(只验证服务端证书的有效性),也支持双向验证(既验证服务端证书的有效性也验证客户端证书的有效性)
https协议在http协议与tcp协议之间增加一层安全层,数据在网络传输之前,会先进行加密,再进行传输
为什么用https有时候,我们访问一个国外的http站点,发现下面会有国内的一些小广告,事实上是中间人(一些网络节点,比如wifi热点,路由器,防火墙等)劫持,在html注入了一段广告的html。而只是注入广告的话还只是小问题,如果有一些有一些重要的信息被抓取的话,那么问题就挺严重的
打个比喻,http是三轮车,没有封闭,里面装的什么东西可以被看到,https是封闭的汽车,看不到里面装了什么
https功能内容加密,用对称密钥进行加密
身份认证,数字证书验证身份
https协商过程浏览器向服务器发出请求
服务器响应浏览器,将证书发送给浏览器,浏览器确认证书有效
浏览器和服务器通过非对称密钥算法协商好对话密钥(用于对称加密)
后面双方都使用对话密钥做对称加解密就能完成整个通信
总的来说,通信内容用对称加密算法机密,而对称加密的加密密钥通过非对称加密协商
握手过程(以RSA密钥协商为例,不同的算法实现不一样)客户端发送消息,消息包含协议的版本信息,客户端支持的加密算法,客户端产生的随机数
服务端响应消息,消息包括服务端产生的随机数,协议版本信息,服务端数字证书,从客户端提供的加密算法确认使用的加密算法
客户端根据证书管理器,验证服务端证书(验证有效期,证书中的域名和浏览器中域名是否匹配等)的有效性
验证通过后,从证书获取公钥,生成随机数,此时通过这3个随机数经过一定的算法生成一个对话密钥,然后发送随机数(用证书的公钥进行加密),成都前列腺炎的治疗哪家医院好
服务器端用私钥解密第三个随机数,然后通过3个随机数计算生成对话密钥
握手阶段结束,客户端和服务端进入加密通信,用对话密钥加密内容
https的性能问题对比http,我们多了一个ssl握手的过程,而这个过程,有对称加密和非对称加密的过程,那么自然会消耗cpu资源了
用故事总结本文内容场景一样,同样是rose给jiajun写情书
rose和jiajun协商好用对称加密的方式给情书加密,可是现在有一个问题对称密钥怎么解决,无法安全地生成和保管对称密钥成都哪家包皮过长医院要好
于是jiajun想了办法,jiajun生成一对公钥和私钥,公钥是公开的,于是rose生成一个用于对称加密的对话密钥,然后用公钥加密这个对话密钥,那么这样的话,即使中间lBilly截获了这部分内容,因为对话密钥很安全,所以无法获取内容
Billy很聪明,想到一个方法,伪装成jiajun,把他的公钥给rose,此时非对称协商密钥协商的对象是Billy
jiajun也不笨,很快他发现问题,要解决这个问题根本上就是要向rose证明这个公钥是谁的。于是jiajun找到了认证中心CA,生成一份数字证书
- web基础系列(五)---https是如何实现安全通信的
- HTTPS是如何保证连接安全的?
- HTTPS 是如何保证安全的?
- HTTPS 是如何保证安全的?[转帖]
- HTTPS 是如何保证安全的?
- https是如何保证数据传输的安全
- 详解https是如何确保安全的
- 详解https是如何确保安全的?
- 详解Https是如何确保安全的?
- 详解https是如何确保安全的?
- Https是如何保证安全的
- 详解 https 是如何确保安全的?
- 详解https是如何确保安全的?
- HTTPS 是如何保证安全的?
- 详解https是如何确保安全的?
- 详解https是如何确保安全的?
- HTTPS 是如何保证安全的?
- HTTPS是如何确保安全的?
- nginx 配置
- gitlab服务器迁移
- dpkg install 出现问题解决办法
- C#实现对SQLite数据库的数据批量提交
- iRedMail0.9.7搭建邮件服务器安装过程
- web基础系列(五)---https是如何实现安全通信的
- 优秀工程师-NSUserDefault
- intellij idea远程debug调试resin4教程
- web.xml配置详解
- idea2017.1.4破解
- pandas值替换
- SQl判断空格 VS Oracle分页
- Sql server还原失败(数据库正在使用,无法获得对数据库的独占访问权)
- iOS 使用swift开发的优缺点开发的优缺点