确保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 协议 ,转载请注明出处!