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 五、接口限流(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服务端框架开发微信支付接口成功案例 ASPNET WebAPI后端框架全局异常跟踪及处理机制,保存系统异常消息日志 AspNet WebAPI后端框架消息处理机制(配置属性HttpConfiguration.MessageHandlers) CSFramework.WebApi框架快速搭建后端服务支持APP、B/S、C/S、微信小程序、公众号、Web客户端 WebApi接口安全机制:API接口限流防止恶意访问 ThrottlingHandler消息处理机制 WebApi框架:命名空间"System.Web"中不存在类型或命令空间名"Http"(是否缺少程序集引用?) 关于CSFramework.WebApi框架NuGet程序包版本升级版本统一问题 WebApi框架CmdLogin.Login方法返回的数据是加密的 CSFramework.WebApi开发框架模拟Web用户端登录、调用WebApi接口增删改查数据 【原创】WebApi开发框架:Token生成、Token缓存原理、Token验证、令牌机制与原理 使用WebApi框架开发微信小程序后端程序详细设计说明书模板docx文件 WebApi接口安全之用户认证防篡改数字签名(Data Sign)机制 WebApi开发框架:使用HttpGet方式调用WebAPI接口 数据库信息管理开发平台 - C/S结构+Winform+ADO.NET快速开发框架 企业级应用WebApi框架, 服务端WebApi接口开发框架
其它资料:
什么是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内容管理系统 | |