数据安全-接口数据混合加密笔记

接口数据传输安全设计方案

采用非对称加密+对称加密混合方式,接口混合加、解密过程梳理:

  1. 后端准备sm2公钥和私钥
  2. 后端将SM2公钥传输到前端
  3. 前端生成SM4密钥
  4. 前端使用SM2公钥加密SM4秘钥,获得密文
  5. 使用SM4秘钥加密数据
  6. 将密文和加密数据传输至后端
  7. 后端使用SM2私钥解密密文,获得SM4秘钥
  8. 使用SM4秘钥解密加密数据,获取真实传输数据信息
  9. 其中、sm4秘钥由前端动态生成,可每个接口都动态生成回传,后端统一拦截解密, 后端响应也采用同一sm4加密回传(前端是知道其每次生成的sm4公钥的);
  10. 或者,同理采用请求发送的方式,后端也动态生成响应的sm4秘钥,由另一对中的公钥加密返回给前端私钥解密。那就需要两对公私钥,前、后端各保留一公一私钥(都仅成对中的一个)
  11. 后者更推荐,更灵活,要是由后端主动推送的情况下,前者无法满足;前者需要主动请求才会存在sm4对称加密的生成
  12. 采用RSA+AES混合加密替换亦可。

为啥采用混合加密方式

非对称加密+对称加密混合方式更不容易被破解。每次接口的对称密钥是动态生成,加密后放到请求头或响应头中回传,而非固定。

相关推荐
FungLeo2 小时前
成为全栈·React 管理后台篇·总复盘:从“接口能调通”到“后台值得使用”
前端·react.js·前端框架·项目复盘·成为全栈
andyweike2 小时前
php笔记
开发语言·笔记·php
EatFan2 小时前
Spring Boot 4 落地观察:从 yudao-cloud、matecloud、JPower 看国产脚手架的升级路线与迁移清单
java·spring boot·后端·spring cloud·微服务·后端开发·jdk 21
xian_wwq4 小时前
【学习笔记】等保合规安全基线核查实战
笔记·学习
Csvn4 小时前
并发模式:让渲染学会排队、插队和让路
前端
可乐鸡翅yeah_4 小时前
新手梳理:M3U8 线上问题,哪些是前端锅,哪些是后端锅
前端·ios·音视频·实时音视频·m3u8·音视频在线播放
Flynt4 小时前
Linear 用 1000 个 PR 换掉 styled-components,我写了 200 个按钮,把这笔账复现了一遍
前端·css·preact
波力海苔夹心脆6754 小时前
C# 序列化与反序列化详解:System.Text.Json、Newtonsoft.Json、XmlSerializer 用法、特性选项与安全实践
经验分享·后端·c#·json·.net
M78佐菲5 小时前
ARM学习笔记(11)
linux·arm开发·笔记·嵌入式硬件·学习