披上了SSL战甲的HTTP战士——HTTPS
这篇文章我来梳理一下HTTPS的前世今生
目录
1.对称加密算法
2.非对称加密算法(RSA)
3.非对称加密+对称加密
4.中间人攻击劫持
5.CA证书
HTTP我们都知道它存在很多问题,例如:
1).通信使用明文,内容可以被监听
2).不验证通信方的身份,可能遭遇伪装
3).无法证明报文的完整性,所以有可能已遭篡改
互联网上的任何角落都存在通信内容被监听的风险,所以前辈们就想到了为我们的信息制定,加密、认证、完整性保护的措施。通过这些措施,为我们的通信制造出一个安全的通道。
开头说过HTTP是“披上了SSL战甲的HTTP战士”,那么SSL是什么呢?
SSL(Secure Socket Layer)是由浏览器开发商景通信公司率先倡导的,是为网络通信提供安全及数据完整性的一种安全协议。SSL1.0设计之初就发现了问题,并没有投入使用。SSL2.0也发现存在问题,所以很多浏览器直接废除了这个版本。所以目前主流版本是SSL3.0。
下面来聊一下HTTP的升阶之路吧:
1.对称加密算法
定义:加密和解密用的是同一把密钥
如果通信使用明文,就相当于一丝不挂的逛街,所以前辈想到了,为我们的通信加密。决定通过密钥解开密文的方式解决这个问题。
问题:加密和解密都需要用到密钥,密钥也需要通过网络传送,很容易被劫持,一旦被劫持,加密也就失去了意义。
2.非对称加密算法(RSA)
定义:一对钥匙,一个是保密的(私钥);一个是公开的(公钥)。只有对应的私钥和公钥可以互相解密。
上面的对称加密算法,很容易被劫持,所以不安全。那么使用非对称加密算法的时候,小红把自己的公钥发给小名,小名把要发给小红的消息通过小红的公钥加密,发送给小红。小红收到小名的消息后,拿自己密钥解锁就可以了。
问题:非对称算法的方式的公钥加密方式比对称加密的方式复杂百倍,所以在通信的时候使用这种方式,效率会很低。
3.非对称加密+对称加密
方法:
1).小红生成一个对称加密算法的密钥,通过非对称加密的算法(小红用公钥加密对称算法的密钥)发送给小名。
2).小名接收到对称加密算法的密钥后,小名、小红之间就直接通过对称加密算法通信了。
问题:存在中间人劫持的问题,无法确保此时小名收到的是小红的公钥。
4.中间人攻击劫持
原理如下图:
过程:
1).中间人截取小名和小红互发的公钥,并给两人发送自己的公钥,此时小名和小红误以为街道的是对方的公钥,但是此时他俩手持的是中间人的公钥;
2).小名使用 公钥(中间人) 加密要发送给小红的消息;
3).中间人接到小名发给小红的消息,用 私钥(中间人)解密读取信息,并用 公钥(小红) 加密,发送给小红;
4).小红用自己的 私钥(小红) 解密,读取信息。
5.CA证书
为了解决上面的问题,前辈们决定使用由数字证书认证机构(CA)颁发的数字证书。
1.数字证书:
数字证书的组成:
1).小红的公钥以及小红的个人信息通过Hash算法得到消息摘要;
2).将消息摘要通过CA的私钥加密得到数字签名.
2.数字证书的验证:
验证方法:
1).通过相同的Hash算法,得到消息摘要,
2).通过CA的公钥对数字签名解密,得到CA的消息摘要,
3).两者对比,看是否被篡改
把上文中的小名换做客户端,小红换做服务器就是HTTPS的流程图了。
文章是通过阅读《码农翻身》、《图解HTTP》的一些个人学习总结,所以如果各位发现我的理解有误,希望大家能够留言帮我指正,谢谢大家啦
披上了SSL战甲的HTTP战士——HTTPS相关推荐
- tomcat配置重定向_在Tomcat上配置SSL以及从HTTP到HTTPS的设置自动重定向的步骤
tomcat配置重定向 Secured Socket Layer (SSL) is the cryptography protocol to provide message security over ...
- WINDOWS SERVER 2003从入门到精通之使用证书在WEB服务器上设置SSL(下)
7.提交证书申请: 使用IE浏览器打开本地WEB站点进入证书申请页面,如下: 选择申请证书 选择"高级证书申请": 在提交一个证书申请中选择后者"BASE64编码的证书申 ...
- 在Jetty服务器上安装SSL证书
在Jetty服务器上安装SSL证书 阿里云SSL证书服务支持下载证书安装到Jetty服务器,从而使Jetty服务器支持HTTPS安全访问.本文介绍了证书安装的具体操作. Jetty服务器版本确认.建议 ...
- 在Apache服务器上安装SSL证书
在Apache服务器上安装SSL证书 本页目录 前提条件 操作步骤 后续操作 相关文档 阿里云SSL证书服务支持下载证书安装到Apache服务器,从而使Apache服务器支持HTTPS安全访问.本文介 ...
- 在IIS服务器上安装SSL证书
在IIS服务器上安装SSL证书 本页目录 前提条件 操作步骤 相关文档 阿里云SSL证书服务支持下载SSL证书安装到IIS服务器上,从而使IIS服务器支持HTTPS安全访问.本文介绍了证书安装的具体操 ...
- 在Nginx/Tengine服务器上安装SSL证书
在Nginx/Tengine服务器上安装SSL证书 阿里云SSL证书服务支持下载证书安装到Nginx/Tengine服务器上,本文介绍了证书安装的具体操作. 背景信息 本文档以CentOS 7.Ngi ...
- Mac 上制作 SSL 证书
前言 我们在开发 https 服务时,需要引入相应的 SSL 证书. 今天,我就自己在 Mac 上制作 SSL 证书的过程做个记录. 环境 MacOS 10.15.7 工具 openssl 步骤 第一 ...
- 让我们在Ubuntu 18.04上加密SSL证书来保护Nginx
什么是SSL证书? (What is SSL Certificate?) Over time, cases of internet related security breaches have bee ...
- 如何在苹果iPhone或iPad上启用SSL证书
SSL被称为安全套接字层,它通过强加密来保护发送方和接收方之间发生的通信.SSL可以在使用IMAP邮件协议的电子邮件交换服务器上实现.在苹果iPhone或iPad上启用SSL之前,有必要了解您的POP ...
最新文章
- 利用pandas读写HDF5文件
- 都说 WebP 厉害,究竟厉害在哪里?
- 巧解SEP杀毒软件卸载需要密码才能完全卸载问题
- Android ContentProvider介绍
- java converttostring_由 ToString()和Convert.ToString() 引发的问题
- spark executor内存分配_二十二、Spark之图解Executor端内存管理
- c语言用什么能暂存结构指针,c语言中什么是指针
- 空间说说html,空间说说大全(共100句)
- 从0到1,手把手教你如何使用哈工大NLP工具——PyLTP
- MySQL/MariaDB Tips
- python神器pandas_Python中的神器Pandas,但是有人说Pandas慢...
- 【渝粤教育】国家开放大学2018年春季 8662-22T特色课(1) 参考试题
- css实现风车转动,纯CSS实现的风车转动效果特效演示
- fastdfs原理及过程
- win11怎么关闭触控板?win11关闭触控板的三种解决方法
- 自媒体必死 大家不要被马化腾忽悠了
- 移动定位业务之“Cell ID + RTT(小区识别+往返时间)”
- centos添加互信
- 毕业设计超市进销存管理系统源码
- 3dsmax部分基础快捷键