ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

HTTPS

2021-06-16 11:30:54  阅读:160  来源: 互联网

标签:TLS HTTP SSL HTTPS 加密 公开密钥


1. HTTPS为什么会出现?

  1. HTTP(80端口)明文传输。在HTTP的传输过程中,任何人都可能截取、修改或者伪造请求发送。
  2. HTTP不支持用户验证。在HTTP在传输过程中不会验证通信方的身份,因此,HTTP信息交换的双方可能会遭到伪装。
  3. 接收方和发送方都不会验证报文的完整性。

综合上述三个原因,认为HTTP传输协议是不安全的。故,引出HTTPS(443端口)。

2. 什么是HTTPS?

HTTPS:Hypertext Transfer Protocol Secure,即 安全的超文本传输协议。HTTPS 是HTTP协议的一种扩展,它本身不保证传输的安全性,而是利用传输层安全(TLS)或者安全套接字层(SSL)对通信协议进行加密,即:HTTP+SSL(TLS)=HTTPS.

通常情况下,HTTP会直接和TCP进行通信,在使用SSL的HTTPS后,则会先和SSL进行通信,然后再由SSL和TCP进行通信。

3. HTTPS做了什么?

  1. 加密:HTTPS通过对数据加密来使其免受窃听者对数据的监听。
  2. 数据一致性:数据在传输的过程中不会被窃听者所修改,用户发送的数据会完整的传输到服务端,保证用户发送什么,服务器就接收什么。
  3. 身份认证:是指确认对方的真实身份,他可以防止中间人攻击并建立用户信任。

4. 什么是TLS/SSL?

TLS是SSL的后续版本,他们是用于在互联网两台计算机之间用于身份验证和加密的一种协议。

SSL即安全套接字层,他在OSI七层网络模型中处于第五层,SSL在1999年被IEIF更名为TLS,即传输层安全。

TLS用于两个通信应用程序之间提供保密性和数据完整性。TLS由记录协议、握手协议、警告协议、变更密码规范协议、扩展协议等几个子协议组成,综合使用了对称加密、非对称加密、身份认证等许多密码学前沿技术。

5. 加密

首先指出,TLS是使用对称加密非对称加密混合加密方式来实现的。

对称加密:加密和解密使用相同的密钥。只要保证密钥的安全性,那么整个通信过程也就具有了机密性。加密算法:DES/3DES/AEF/AES/…
但是,对称加密的加密方必须对原始数据进行加密,然后再把密钥交给解密方进行解密。即,如果密钥被拦截,就会暴露数据信息。所以,对称加密存在风险。

非对称加密:也称公钥加密。非对称加密中有两个密钥,一个是公钥,一个是私钥,公钥进行加密,私钥进行解密。公钥可以供任何人使用,私钥只有解密方知道。非对称加密可以解决密钥交换的问题。非对称加密算法:RSA/ECC/DSA…

混合加密:用对称密码来加密明文,用公钥密码来加密对称密码中所使用的密钥。通过使用混合密码系统,就能够将在通信中对称密码与公有密码的优势结合起来。

6. 数据一致性

摘要算法:可以理解为一种特殊的压缩算法,它可以把任意长度的数据压缩成固定长度的字符串。通过对比接收的数据生成的文件摘要和原始的文件摘要来判断数据是否完整。
MD5 (Message Digest Algorithm 5) 可用于从任意长度的字符串创建128位字符串值。
常用的算法:MD5/SHA-2/MAC/HMAC…

7. 身份认证

公开密钥加密的方式仍存在一些问题,那就是无法验证公开密钥本身的真实性。例如,A在与B通信时,A如何证明拿到的公开密钥就是B发行的公开密钥,很有可能在公开密钥传输过程中被攻击者替换掉。 为了解决上述问题,可以使用由数字证书认证机构(CA)和其相关机构颁发的公开密钥证书。

  1. 服务器向CA申请公开密钥
  2. CA人员在判明申请者身份后,对已申请的公开密钥做数字签名
  3. 将该公开密钥与公钥证书绑定在一起

附:HTTP和HTTPS常问面试题

附一:HTTP和HTTPS的区别?

附二:HTTP Get和Post的区别?

附三:什么是无状态协议,HTTP是无状态协议吗,怎么解决?

附四:UDP和TCP的区别?

附五:TCP 三次握手和四次挥手

附六:地址栏输入URL发生了什么?

附七:HTTPS的工作原理?

标签:TLS,HTTP,SSL,HTTPS,加密,公开密钥
来源: https://blog.csdn.net/weixin_44804108/article/details/117929267

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有