小白de架构哲学 - 客户端、服务端交互数据脱敏处理
2020-06-29 04:59
1271 查看
一、需求描述:
等保三级要求:客户端、服务端交互数据脱敏处理
翻译:客户端、服务端Api接口交互涉及敏感数据(身份证号、手机号、详细地址等)防抓包
二、业务流程图
三、实现&场景应用
(一)客户端请求服务端
- 客户端
对含有敏感数据的请求入参整体参数流进行
对称加密
; - 对
对称加密后的密文
进行自定义混淆
处理并得到Data
参数; - 对
Data
参数按约定好的格式设置到Request
管道参数流; Header
添加请求参数加密标识X-IsEncrypt
。
-
服务端
Request请求管道根据
Header客户端给的标识来判断并处理参数流;
Header的
X-IsEncrypt为密文标识则出现以下处理:
1.获取管道参数流、并序列化得到
Data参数;
2.对不为空的
Data参数进行
自定义混淆处理并得到待解密的
对称加密后的密文;
3.对
对称加密后的密文进行
对称解密得到明文参数流;
4.把明文参数流设置到
Request管道参数流。
ps: 入参格式密文格式约定
- GET:
GET请求方式参数流长度有限制,直接选择POST。
- POST
{ "Data": "PTBUUlVoRldHRm1kSmxYWVlCWFJObFdSd2dFT1BGbVdRRlRPaTEwYjRVVlN2WjNja1ZHUlJwMlJRWmtN" }
(二)服务端响应客户端
业务状态码200
- 服务端
对含有敏感数据的业务整体参数流进行
对称加密
; - 对
对称加密后的密文
进行自定义混淆
处理并得到Data
参数; - 对
Data
参数按约定好的格式设置到Request
管道参数流; - 返回值基类
IsEncrypt
设置参数加密标识。
-
客户端
Response响应管道根据返回值
IsEncrypt客户端给的标识来判断并处理参数流;
IsEncrypt为密文标识则出现以下处理:
1.获取
Data参数,并对不为空的
Data参数进行
自定义混淆处理并得到待解密的
对称加密后的密文;
2.对
对称加密后的密文进行
对称解密得到明文参数流;
ps: 响应参数格式密文格式约定
/// <summary> /// 返回值基类约束 /// </summary> public interface IResultBase { /// <summary> /// 业务状态码 /// </summary> ushort Code { get; set; } /// <summary> /// 提示消息 /// </summary> string Msg { get; set; } /// <summary> /// 密文标识,<see langword="true"/>:表示已加密,默认<see langword="false"/>:表示明文 /// </summary> bool IsEncrypt { get; set; } /// <summary> /// 记录 /// </summary> TSource Data { get; set; } }
示例:
{ "code": 200, "msg": "", "isEncrypt": true, "data": "PTBUU1RSRGVFbGxlUDlTWUhSV1QzcDFVb0puYTRjamIyTVRjbkJYU3haRlQxWkhNc1pUTkJWWGRvTldR" }
相关文章推荐
- 基于TCP/IP协议的Java服务端与Android客户端的Socket通信及数据交互
- Android客户端采用Http 协议Post方式请求与服务端进行数据交互(转)
- Android客户端配合Servlert服务端实现简单的数据交互
- 客户端 于 服务器 数据交互架构(支持同步)
- json数据客户端和服务端的处理方法
- Android客户端采用Http 协议Post方式请求与服务端进行数据交互
- Android客户端采用Http 协议Post方式请求与服务端进行数据交互
- 黑马程序员_Java基础_网络编程_客户端服务端数据传输,交互,客户端请求服务原理,自定义浏览器,URL统一资源定位符
- Android客户端采用Http 协议Post方式请求与服务端进行数据交互
- (九)springmvc之json的处理(服务端发送json数据到客户端)
- 【Android 开发】: Android客户端与服务端之间使用JSON交互数据。
- 提问:如何设计含复杂数据客户端存储交互的前端架构
- IOS 客户端与服务端之间数据交互框架
- Android客户端采用Http 协议Post方式请求与服务端进行数据交互
- 用.Net打造一个移动客户端(Android/IOS)的服务端框架NHM(二)——“请求”“交互”与传输数据(服务器端)
- 客户端与服务端的数据交互 PageMethods + JSON
- 服务端数据校验及客户端js脚本验证集成处理初探(附源码)
- 使用CXF开发WebService程序的总结(五):基于Map数据类型处理的的客户端和服务端代码的编写
- jquery 实现客户端与服务端数据交互
- Android客户端与PHP服务端的数据交互