前后端通信安全RSA+AES混合加密

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

前言

前后端安全通信一直是头疼的问题如何保证前后端安全通信
读完这篇文章教你学会前后端安全通信。

什么是前后端通信

在这里插入图片描述

客户端向服务端获取资源如html/css/js/jpg/json/api接口数据的过程需要通信常见的通信有TCP/UDP等。

什么是通信安全

通信安全是指用户在使用登录、注册、用户列表等功能时请求被拦截导致用户数据泄露请求过程如下图
在这里插入图片描述
如上图不管是请求被拦截还是响应被拦截用户和系统提供方都是无法接受的。
那么如何保证通信安全

那么如何保证通信安全

1.使用https通信

在这里插入图片描述
如果你觉得https就一定能保证前后端安全那就打错特错了使用不安全证书通信很容易被黑客拦截后伪造证书导致数据被窃取如下图
在这里插入图片描述
黑客通过拦截用户请求or响应并伪造证书一样可以达到破解数据目的
配置免费安全的证书地址https://www.saintnong.com/#/info?blogOid=33

2.使用AES加密

我们通过在前端使用约定好的加密Private Key。
众所周知前端Private Key是存在客户端的而前端代码又是开源的无法保证Key的安全。

3.使用RSA+AES混合加密

为什么使用RSA+AES混合加密因为RSA具有公钥加密私钥才能解密的特点能保证加密的key无法使用其本身解密但是RSA缺点也很明显使用RSA加密效率太低使得系统吞吐量降低而AES加密恰恰相反。
由于用户不会频繁的登录所以登录成功后使用AES加密提高系统吞吐量流程如图
在这里插入图片描述

步骤一前端生成RSA的公钥和私钥。
步骤二前端将用户信息如用户名、密码、短信验证码、前端生成的公钥使用约定好的公钥加密传输给后端。
步骤三后端使用约定好的私钥进行内容解密。
步骤四查询出用户信息后使用解密好的公钥把参数用户信息、生成的AES密钥加密传给前端。
步骤五前端使用生成好的私钥对响应内容解密。

以上步骤就是前后端通信安全解决方案后续会使用后端AES密钥加密、解密所有请求、响应参数。

原文地址https://www.saintnong.com/#/info?blogOid=41

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6