1.HTTP有什么缺点
HTTP,即超文本传输协议,是一个基于TCP/IP通信协议来传递铭文数据的协议。 HTTP会存在这几个问题: (1)请求信息是明文传输,容易被窃听截取 (2)没有验证对方身份,存在被冒充的风险 (3)数据的完整性未校验,容易被中间人篡改 所以后面提出了https来解决这些问题
2.HTTPS是什么
HTTPS=HTTP+SSL/TLS,可以理解HTTPS是身披SSL(Secure Socket Layer,安全套接层)的HTTP,也就是在Http的基础上进行了加密
| Http | Https |
|---|---|
| 不安全 | 安全 |
| 80 | 443 |
| 较少 | 消耗资源较多 |
| 不需要 | 需要 |
| 明文 | 密文 |
3.HTTPS的具体加密传输流程
思路:公私钥、数字证书、加密、对称加密、非对称加密 HTTPS = HTTP+SSL/TLS,也就是用SSL/TLS对数据进行加密和解密,HTTP进行传输。 SSL,即Secure Sockets Layer (安全套接层协议),是网络通信提供安全及数据完整性的一种安全协议。 TLS,即Transport Layer Security(安全传输层协议),它是SSL3.0的后续版本。 具体的加密工作流程如下: (1)客户端发起Https请求,连接到服务器的443端口 (2)服务器必须有一套数字证书(证书内容由公钥、证书颁发机构、失效日期等) (3)服务器将自己的数字证书发送给客户端(公钥在证书里里面,私钥由服务器持有) (4)客户端收到数字证书之后,会验证证书的合法性。如果证书验证通过,就会生成一个随机的对称密钥,用证书的公钥加密 (5)客户端将公钥加密后的密钥发送到服务器。 (6)服务器接收到客户端发来的密文密钥之后,用自己之前保留的私钥对其进行非对称解密,解密之后就得到客户端的密钥,然后用客户端密钥对返回数据进行对称加密,这样子传输的数据都是密文 (7)服务端将加密后的密文返回到客户端 (8)客户端收到后,用自己的密钥对其进行对称解密,得到服务器返回的数据
4.什么是数字证书
数字证书就是指在互联网通讯中标志通讯各方身份信息的一个数字认证,人们可以在网上用它来识别对方的身份。它的出现,是为了避免身份被篡改冒充的。 比如Http的数字证书,就是为了避免公钥被中间人冒充或者篡改
5.什么是数字签名
数字签名被数字证书包含: 公钥和个人等信息,经过Hash摘要算法加密,形成消息摘要;将消息摘要拿到拥有公信力的认证中心(CA),用它的私钥对消息摘要加密,形成数字签名
6.什么是对称加密和非对称加密,有什么区别
对称加密:指加密和解密使用同一密钥,优点是运算速度较快,缺点是如何安全将密钥传输给另一方。常见的对称加密算法由:DES、AES等 非对称加密:值得是加密和解密使用不同的密钥(即公钥和私钥)。公钥与私钥是成对存在的,如果用公钥对数据进行加密,只有对应的私钥才能解密。常见的非对称加密算法有RSA。