HTTPS协议

目录

一、什么是HTTPS?

二、为什么需要HTTPS呢?

三、什么是TLS和SSL?

四、什么是对称加密和非对称加密?

什么是中间人攻击?

什么是数字签名、数字证书?

HTTPS 的工作模式

HTTPS和HTTP有什么区别呢?


一、什么是HTTPS?

HTTPS 协议(超文本传输安全协议)是由 HTTP 加上 TLS/SSL 协议构建的可进行加密传输身份认证的网络协议,主要通过数字证书、加密算法、非对称密钥等技术完成互联网数据传输加密,实现互联网传输安全保护。

HTTPS涉及到了很多概念,我们要搞清楚 SSL/TLS协议,对称加密,非对称加密,数字证书、数字签名,认证等

二、为什么需要HTTPS呢?

HTTP协议由于是明文传送,所以存在三大风险:

  • 被窃听的风险:第三方可以截获并查看你的内容
  • 被篡改的危险:第三方可以截获并修改你的内容
  • 被冒充的风险:第三方可以伪装成通信方与你通信

三、什么是TLS和SSL?

SSL及其继任者TLS是为网络通信提供安全及数据完整性的一种安全协议。

  • SSL (Secure Socket Layer),译为安全套接层。SSLNetscape公司在1994开发的,广泛应用于基于万维网的各种网络应用
  • TLS (Transport Layer Security),译为传输层安全。TLS1995IETFSSL 基础上设计的。

我们需要知道的是:

  • TLS(传输层安全)是更为安全的升级版 SSL(安全套接层)
  • TLS与SSL位于传输层和应用层之间的协议。在传输层对网络连接进行加密。
  • 在发送方,SSL 接收应用层的数据(如 HTTP报文),对数据进行加密,然后把加了密的数据送往 TCP 套接字。在接收方,SSL 从 TCP 套接字读取数据,解密后把数据交给应用层。

四、什么是对称加密和非对称加密?

对称加密

1、加密和解密时使用的是同一个秘钥。

2、算法公开,计算量小,加密速度快,加密效率高 ,但是使用相同密钥,安全性不高。

3、经典的三种加密算法: DES、3DES、AES

非对称加密

1、公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。

2、算法强度复杂,安全性依赖于算法与密钥。 加密解密速度慢。

3、RSA加密算法是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的。

1、人物张大胖给人物Bill发送消息时,由于在网络上通信是明文的,所以就有了对称加密算法。但是双方怎么约定这个密钥呢?如果这个密钥在网络上传输也是有可能被黑客截获。一旦黑客截获就可以佯装不知,静静等双方通信,截获消息查看。

2、于是就有了非对称加密算法RSA。比如,人物张大胖给人物Bill发送消息时,用Bill的公钥去加密(Bill的公钥是公开的),等消息被Bill收到后,他用自己的私钥解密(只有Bill才能解开,因为私钥是保密的)

3、但是你能确定网络那边就是Bill嘛?于是产生了中间人攻击的问题

什么是中间人攻击?

中间人截获了Bill 和 张大胖的公钥冒充他们两个和对方通信。

当Bill给张大胖发公钥的时候, 有个中间人,截取了Bill的公钥, 然后将自己的公钥发给了张大胖,冒充Bill 。张大胖发的消息就用了中间人的公钥加了密,那么中间人就可以解密看到消息。中间人解密后还可以用Bill的公钥加密,发给Bill。然而双方都意识不到。

4、为了解决中间人攻击的问题,证明这个公钥是Bill的而不是别人的,于是就需要第三方权威部门颁发证书。这个证书里有最重要的公钥,证书的所有者,证书的颁发机构和证书的有效期。证书的生成需要发起请求,将这个请求发给一个权威机构去认证。这个权威机构称CA(Certifcate Authority)。但是证书如何安全传输呢?于是有了数字签名和数字证书。

什么是数字签名、数字证书?

 5、数字签名:就是将Bill的公钥和个人信息用一个Hash算法生成一个 消息摘要,Hash算法具有不可逆性而且只要输入数据有一点点变化,那生成的消息摘要就会有巨变,这样就可以防止别人修改原始内容。然后CA用自己的私钥对消息摘要进行加密,形成数字签名。

6、这还不算,还把原始信息数据签名进行合并,形成 “数字证书

7、当张大胖收到Bill的数字证书时,用同样的Hash算法,再次生成消息摘要;再用CA的公钥对数字签名进行解密,得到CA创建的消息摘要,二者一对比就知道消息有没有篡改。获取了Bill的公钥就可以进行接下来的通信了。这样中间人攻击的问题就解决了。

8、但是新问题又来了,想要验证证书,就需要CA的公钥,但是怎么保证CA的公钥就是对的呢?所以,CA 的公钥也需要更牛的 CA 给它签名,然后形成 CA 的证书。要想知道某个CA 的证书 是否可靠,要看 CA 的上级证书的公钥,能不能解开这个 CA 的签名。而操作系统/浏览器中会内置一些顶层的CA的证书,相当于你自动信任了他们。

HTTPS 的工作模式

由于非对称加密算法RSA加密解密速度慢。于是把对称加密算法的密钥,通过非对称加密算法RSA的方式发送给对方,以后就不用RSA,而采用对称加密算法进行通信。

下面就是 HTTPS 协议的总体思路。

小结:

  • 加密分对称加密和非对称加密。对称加密效率高,但是解决不了密钥传输问题;非对称加密 可以解决这个问题,但是效率不高。
  • 非对称加密需要通过证书和权威机构来验证公钥的合法性。
  • HTTPS 是综合了对称加密和非对称加密算法的 HTTP 协议。既保证传输安全,也保证传输效率

HTTPS和HTTP有什么区别呢?

1. 安全性不同

  • HTTP协议位于TCP之上,明文传输,通信双方无法验证对方身份;
  • HTTPS协议是在HTTP和TCP之间添加了SSL协议构建的可进行**加密传输**、**身份认证**的网络协议

2. 端口不同。

  •    HTTP端口是80;
  •    HTTPS是443

3. 消耗资源不同
    和HTTP通信相比,HTTPS通信会由于加密解密密会消耗更多的CPU和内存资源;

4. 开销不同
    HTTPS通信需要证书,而证书一般需要向认证机构购买

 

参考:

推荐《码农翻身》中的一个故事讲完https  

《趣谈网络协议》中的 HTTPS协议:点外卖的过程原来这么复杂

常见三种加密(MD5、非对称加密,对称加密)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值