WebApi框架数据安全、信息安全与接口安全六大机制
WebApi框架数据安全、信息安全与接口安全六大机制
WebApi框架数据安全、信息安全与接口安全六大机制

一、Token机制
Token:令牌,访问接口的身份标识。
每次登录系统生成一个标识,存储在Api_UserToken表。 有过期特征,若要维持Token不过期,要保持访问接口活动状态。因此访问接口时会刷新当前用户的活动时间,重置初始状态。类似心跳机制。
Token过期:web.config设置,TokenExpireMinutes参数(默认值5分钟)。
若api_user表的TokenExpires=null, 则取web.config的TokenExpiresMinutes参数。
应用:手机APP程序、Web系统, 基于C/S架构的WCF服务。
Web端或移动端,访问接口要传递令牌参数。
WebApi Token相关参考文章:
基于Web前端用户调用CSFramework.WebApi服务端登录登出接口实现
CSFramework.WebApi令牌管理器(Token Provider)实现添加、删除、刷新令牌过期控制
CSFramework.WebApi后端服务器框架:客户端调用WebApi接口方式(签名+Token令牌)
CSFramework.WebApi开发框架模拟Web用户端登录、调用WebApi接口增删改查数据
CSFramework.WebApi后端框架Token令牌工作机制以及Token刷新原理
WebApi开发框架:Token生成、Token缓存原理、Token验证、令牌机制与原理
二、ApiKey(公钥)Secret Key(私钥)
ApiKey(公钥)开发者编号
给应用程序开发者分配的公钥(用户身份证,唯一标识, 明文传输), 提供给:平台的合作伙伴、供应商、客户等。
比如我们的WebApi服务器,要开放接口给客户使用,分配给喜鹊科技一个Apikey:
公钥:5A02D19B-0397-497E-87EF-B4C8263F741E
私钥:6A02D19B-0397-497E-87EF-B4C826366666
安全机制:当用户访问接口时,最先判断ApiKey是否在WebApi服务器存在!!!
HTTPPOST: act.aspx?apikey=5A02D19B-0397-497E-87EF-B4C8263F741E
SecreKey(私钥):用于数字签名,MD5加密。
私钥的特点:WebAPI接口不传输参数,公钥和私钥是1对1,一个公钥配对一个私钥。
ApiKey表(Api_UserKeys表)

三、平台用户表(Api_User)

平台用户表用于管理和维护系统登录账号,登录用户。根据手机号、密码、登录时间等信息以及用户登录登出时间可以分析用户行为。
通过Status状态可以锁定用户禁止登录。
TokenExpires:Token过期时间(minutes), 15分、7天,15天,月,用不过期。
四、数据签名、加密
WebApi接口的数字签名(Data Sign)机制
WebApi接口的数字签名用于接口数据安全以及用户认证防篡改。
防篡改,顾名思义就是防止有人恶意篡改请求数据以达到恶意攻击的目的。
基本原理:
将要请求的数据加上ApiKey(公钥)、SecreKey(私钥),按规则组织成一个字符串,获取对应的MD5摘要,然后将该摘要及公钥同时作为请求的参数一起传递(私钥禁止传递)给WebApi服务器。
基本流程:
1. 客户端数字签名(MD5数据加密)
格式:partner=公钥&orderNo=业务数据&sign=MD5签名
格式:partner=3122131212&orderNo=1234567&sign=EBFE84D02E8E40952899EE5CDFE5404C
签名算法:MD5(partner+orderNo+私钥), MD5三个参数的值。
2. 服务端签名校验(解密)
首先通过请求的ApiKey获取对应的私钥,然后通过上述签名算法计算MD5值,
对比请求的sign参数与计算结果是否一致,若不一致,数据被篡改。
JSON Code:
{
Apikey: 5A02D19B-0397-497E-87EF-B4C8263F741E
Data:“我要获取数据”
Sign: 8dfa959cd5db1ead40a29c56cfe176ec
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
Apikey: 5A02D19B-0397-497E-87EF-B4C8263F741E
Data:“我要获取数据”
Sign: 8dfa959cd5db1ead40a29c56cfe176ec
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
五、接口限流(Throttling)
限流:Throttling, 针对用户访问接口的频率进行控制,如限制同一个IP每秒种对XX接口访问3次。
结合路由器的ddos+WebApi的限流,确保服务器及应用程序安全。
Throttling是三方插件(dll)。
参考文章:
WebApi接口安全机制:API接口限流防止恶意访问 ThrottlingHandler消息处理机制
六、黑、白名单用户
黑名单:sys_IP_Blacklist
客户端请求(Request)会带有终端信息,比如:IP,操作系统,时间。
WebApi后台判断当前IP是否在黑名单存在,黑名单用户拒绝访问接口。
判断黑名单的优先级最高!!!
白名单:sys_IP_Whitelist
优先通道用户,享有特权用户。如:后台系统有5级安全检查,若是白名单用户只需3级检查即可。

参考文档:
CSFramework WebApi开发框架集成PostgreSql数据库及测试报告|C/S开发框架
CS软件授权注册系统|WebApi服务器介绍|C/S开发框架
C/S软件授权注册系统V3.0(Winform+WebApi+.NET8+EFCore版本)|C/S开发框架
CSFrameworkV6.1前端+WebApiV3后端测试报告(前后端分离)|C/S开发框架
C/S开发框架两种后台连接:直连模式与WebApi模式(ADODirect与WebApi)|C/S开发框架
CSFramework.WebApi框架提供两种登录接口(PC端登录、APP登录)|C/S开发框架
.NETCore WebApi运行报错:System.AggregateException:“Some services are not able to be constructed|C/S开发框架
.NETCore WebApi后端开发框架+达梦数据库测试报告|C/S开发框架
Postman工具设置Bearer Token与调试WebApi接口|C/S开发框架
.NET8 WebApi框架接口认证方式:Bearer Token/Jwt Token详解|C/S开发框架
代码生成器:直连模式+WebApi生成的源码集成到VS解决方案|C/S开发框架
CSFramework.WebapiV3(.NET7/NetCore) 系统安全及Token令牌介绍|C/S开发框架
.NETCore WebApi框架request/response模型介绍(req_XXX/res_XXX)|C/S开发框架
.NETCore WebApi框架:从appsettings.json 读取参数配置|C/S开发框架
CSFramework.WebApi V3.0 WebApi开发框架(.NETCore+EFCore)
.NET5 启动WebApi服务完成事件|C/S开发框架
CSFramework WebApi开发框架集成PostgreSql数据库及测试报告|C/S开发框架
CS软件授权注册系统|WebApi服务器介绍|C/S开发框架
C/S软件授权注册系统V3.0(Winform+WebApi+.NET8+EFCore版本)|C/S开发框架
CSFrameworkV6.1前端+WebApiV3后端测试报告(前后端分离)|C/S开发框架
C/S开发框架两种后台连接:直连模式与WebApi模式(ADODirect与WebApi)|C/S开发框架
CSFramework.WebApi框架提供两种登录接口(PC端登录、APP登录)|C/S开发框架
.NETCore WebApi运行报错:System.AggregateException:“Some services are not able to be constructed|C/S开发框架
.NETCore WebApi后端开发框架+达梦数据库测试报告|C/S开发框架
Postman工具设置Bearer Token与调试WebApi接口|C/S开发框架
.NET8 WebApi框架接口认证方式:Bearer Token/Jwt Token详解|C/S开发框架
代码生成器:直连模式+WebApi生成的源码集成到VS解决方案|C/S开发框架
CSFramework.WebapiV3(.NET7/NetCore) 系统安全及Token令牌介绍|C/S开发框架
.NETCore WebApi框架request/response模型介绍(req_XXX/res_XXX)|C/S开发框架
.NETCore WebApi框架:从appsettings.json 读取参数配置|C/S开发框架
CSFramework.WebApi V3.0 WebApi开发框架(.NETCore+EFCore)
.NET5 启动WebApi服务完成事件|C/S开发框架
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服
