
🔐加密方式
对称加密
对称加密:加密(encryption)与解密(decryption)用的是同样的密钥(secret key)或者同一套加密逻辑的加密方式。
对称加密有很多种算法,由于它效率很高,所以被广泛使用在很多加密协议中。由于加密解密的密钥相同,所以一旦密钥泄漏就会使改加密失效。
通常来讲,密钥越大,破解的难度就越大,加密的开销就越大,密钥的大小既要顾及到安全性,也要考虑到效率(当然,密钥泄漏就什么都没有了)。
常用的对称加密方法有:
- DES(Data Encryption Standard):数据加密标准,速度较快
- 3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密
- AES(Advanced Encryption Standard):高级加密标准,速度快,安全级别高
非对称加密
非对称加密用的是一对秘钥,分别叫做公钥(public key)和私钥(private key),非对称加密也可以用于认证(JWT)。
私钥只能由一方安全保管,不能外泄,而公钥则可以发给任何请求它的人。非对称加密使用这对密钥中的一个进行加密,而解密则需要另一个密钥。
比如,向服务请求公钥,服务端将公钥返回,使用公钥对消息加密,只有持有私钥次啊能解密消息。与对称加密不同的是,服务端不需要将私钥通过网络发送出去,因此安全性大大提高。
RSA加密
RSA的安全性是基于极大整数因数分解的难度。换言之,对一极大整数做因数分解愈困难,RSA算法愈可靠。
假如有人找到一种快速因数分解的算法的话,那么用RSA加密的信息的可靠性就肯定会极度下降。但找到这样的算法的可能性是非常小的。
📡HTTPS加密策略
HTTP 是明文传输的,也就是说客户端和服务端的通信信息是肉眼可见的,随便的一个抓包工具都可以拿到传输内容。为了解决 HTTP 存在的安全风险 HTTPS 在 HTTP 与 TCP 层之间加入 TLS/SSL 加密协议来避免安全风险
🙋TLS握手
TLS(Transport Layer Security) 是 SSL(Secure Sockets Laye) 的升级版本,作用是一样的
TLS的主要目的包括:
- 认证网站,确保数据发送到了争取的网站,而非假冒的钓鱼网站
- 建立加密链接,防止数据在传输过程中被他人获取
- 保证数据完整性,确保在传输过程中不会被改变
TLS握手过程
- 客户端 发出请求:”Hello!” 并将客户端支持的TLS版本和加密算法发送给服务器
- 服务器 接受并返回请求:”Hello!” 并将TLS证书和公钥发送给客户端
- 客户端校验证书,如有效则使用公钥构建
pre-master secret
,并将其发送到服务器 - 服务器使用私钥解密
pre-master secret
,并将其当作这次回话的Session Key
此时客户端和服务器建立了加密的安全链接。
即,每次建立 TLS 链接时,通过非对称加密协商一个 Session Key
并使用该 Key 构建对称加密的密钥。
本次链接后续所有的数据都是用该密钥进行对称加密后传输。该 Key 在本次链接传输完成之后销毁。
- Post title:网络数据加密
- Post author:Varsion
- Create time:2021-05-25 10:29:19
- Post link:https://blog.varsion.cn/post/515465b0.html
- Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.