确保web安全的https


1.http的主要缺点

  • 通信使用明文(不加密), 内容可能会被窃听
  • 不验证通信方的身份, 因此有可能遭遇伪装
  • 无法证明报文的完整性, 所以有可能已遭篡改

2.HTTPS和HTTP的主要区别

1、https协议需要到CA申请证书,一般免费证书较少,因而需要一定费用

2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl/tls加密传输协议。
3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
4、http的连接很简单,是无状态的;HTTPS协议是由SSL/TLS+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

3.什么是https?

HTTP+ 加密 + 认证 + 完整性保护 =HTTPS ,就在http和tcp之间加了一层ssl。

4.https通信过程

1.浏览器和服务器协商决定加密组件

2.服务端向客户端发送公钥证书,客户端确认证书的有效性,拿到公钥

3.客户端发送用服务端公钥加密的Pre-master secret 的随机密码串 和提示服务端后面报文都用此密码加密

4.服务端解密客户端的报文并发送协议,之后SSL连接就算建立完成。

5.然后就是http请求,http响应

5.数字证书主要包括以下内容:

  • 证书颁发机构的名称
  • 证书持有者公钥
  • 证书签名用到的Hash算法
  • 有效期等等其他信息

6.数字签名是什么?

CA对已申请的公开密钥做数字签名,然后分配这个已签名的公开密钥,并将该公开密钥放入公钥证书 后绑定在一起。

数字签名技术是将摘要信息用发送者的私钥加密,与原文一起传送给接收者。接收者用自己的公钥解密被加密的摘要信息,然后用HASH函数对收到的原文产生一个摘要信息,与解密的摘要信息对比。如果相同,则说明收到的信息是完整的,在传输过程中没有被修改,否则说明信息被修改过,因此数字签名能够验证信息的完整性。 [4]

数字签名是个加密的过程,数字签名验证是个解密的过程。

7.https如何保证安全?

  • 加密防窃听

  • 认证防伪装

  • 在https通信流程中,应用层发送数据时会附加一种叫做 MAC(Message Authentication Code)的报文摘要。MAC 能够查知报文是否遭到篡改,从而保护报文的完整性。

8.HTTPS如何防范中间人攻击?


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!