HTTPS
HTTPS是身披SSL外壳的HTTP。HTTPS是一种通过计算机网络进行安全通信的传输协议,经由HTTP进行通信,利用SSL/TLS建立全信道,加密数据包。HTTPS使用的主要目的是提供对网站服务器的身份认证,同时保护交换数据的隐私与完整性。
PS:TLS是传输层加密协议,前身是SSL协议,由网景公司1995年发布,有时候两者不区分。
(1)内容加密
采用混合加密技术,中间者无法直接查看明文内容
混合加密:结合非对称加密和对称加密技术。
客户端使用对称加密生成密钥对传输数据进行加密,然后使用非对称加密的公钥再对秘钥进行加密,所以网络上传输的数据是被秘钥加密的密文和用公钥加密后的秘密秘钥,因此即使被黑客截取,由于没有私钥,无法获取到加密明文的秘钥,便无法获取到明文数据。
(2)身份认证
通过证书认证客户端访问的是自己的服务器
-
申请受信任数字证书流程
-
防伪标签——数字签名
-
数字摘要:通过单向hash函数对原文进行哈希,将需加密的明文“摘要”成一串固定长度(如128bit)的密文,不同的明文摘要成的密文其结果总是不相同,同样的明文其摘要必定一致,并且即使知道了摘要也不能反推出明文。
数字签名技术:数字签名建立在公钥加密体制基础上,是公钥加密技术的另一类应用。它把公钥加密技术和数字摘要结合起来,形成了实用的数字签名技术。
- 收方能够证实发送方的真实身份;
- 发送方事后不能否认所发送过的报文;
- 收方或非法者不能伪造、篡改报文
(3)数据完整性
防止传输的内容被中间人冒充或者篡改
非对称加密过程需要用到公钥进行加密,那么公钥从何而来?其实公钥就被包含在数字证书中,数字证书通常来说是由受信任的数字证书颁发机构CA,在验证服务器身份后颁发,证书中包含了一个密钥对(公钥和私钥)和所有者识别信息。数字证书被放到服务端,具有服务器身份验证和数据传输加密功能。
非对称加密:
保险箱有一个特别的锁,这个锁又两种钥匙:A和B,用钥匙A锁上后只能用B打开,反之亦然。
服务器有一把钥匙A(私钥),一把钥匙B(公钥)。此时有个客户需要建立非对称加密通讯,于是服务器配了一把钥匙B后,把保险箱和配的钥匙B一起给了客户,客户把明文锁进保险箱以后用钥匙B锁上然后发给服务器,服务器就可以用钥匙A打开保险箱拿出明文。这样一来任何人都能自由的发送密文给服务器(钥匙B要多少配多少),但只有服务器能解密密文(钥匙A只有服务器留的一把,不会配一把给其他人)
详情:https://blog.csdn.net/xiaoming100001/article/details/81109617
https://www.bilibili.com/video/BV1j7411H7vV?from=search&seid=15514404902914799643