认证授权与数据安全专题:JWT、SSO、权限系统、加密、脱敏与数据校验
登录、鉴权、加密、脱敏、校验,这些话题单独看都不难,难的是它们共同构成一条链:任何一个环节失守,其他环节做得再好也白搭。本文把这条链拆成五个主题分组,给出一条由浅入深的学习路径,方便按需取用。
为什么安全要成体系地学
安全问题很少出在”不知道某个算法”,而出在边界假设错误:以为前端校验能挡攻击、以为加密存储的密码能找回、以为 JWT 签了就万无一失。成体系地学,价值在于建立”信任边界”思维——每经过一个边界(浏览器→网关→服务→数据库),都要重新问一遍:这里该验证什么、该相信什么。
主题分组
第一组:认证与授权基础。 回答两个最根本的问题——“你是谁”(Authentication)和”你能做什么”(Authorization),以及 Session、Token、OAuth2 这些身份载体各自适合什么场景。
第二组:身份令牌。 JWT 的结构、签名原理、优缺点与失效治理;SSO 单点登录如何在多系统间同步登录态。
第三组:权限模型。 以 RBAC 为主线的权限系统设计:用户、角色、权限、资源如何建模,数据级权限怎么处理。
第四组:数据保护。 加密算法选型(对称/非对称/哈希/HMAC)、密码存储、敏感数据脱敏展示。
第五组:输入边界与内容安全。 服务端数据校验、SQL 注入防御、敏感词过滤,守住”外部数据进系统”的第一道门。
推荐学习顺序
- 先立概念:读认证授权基础概念,把认证、授权、Session、Token、OAuth2 分清楚,后面所有话题都建立在这套词汇上。
- 再攻令牌:读 JWT 基础概念 和 JWT 优缺点分析,重点理解签名解决了什么、无状态的代价是什么;需要多系统统一登录时补 SSO。
- 落到权限:读权限系统设计详解,把前两步的概念落到 RBAC 模型和后台权限实现。
- 补数据安全:读常见加密算法总结建立算法选型地图,再用密码为什么只能重置把”哈希 + 盐”这个最高频考点吃透。
- 守输入边界:读数据校验理解前后端校验的分工,内容型业务再读敏感词过滤。
每个主题一句话
- 认证授权基础:认证确认身份,授权决定权限,两者必须在服务端独立完成,不能混为一谈。
- JWT:自包含的签名令牌,省去服务端会话存储,代价是难以主动失效,续期和吊销要额外设计。
- SSO:一次登录、多系统通行,核心是统一认证中心与登录态的安全传递。
- RBAC 权限系统:用户挂角色、角色挂权限,用间接层换取可管理性,是绝大多数后台系统的权限答案。
- 加密算法:AES 管数据机密,RSA/ECC 管密钥分发与签名,SHA-256 管完整性,HMAC 管来源认证,按目标选型。
- 密码存储与重置:加盐慢哈希让服务器只验证不存储,”能找回原密码”的系统等于承认明文可逆。
- 数据脱敏:展示层对手机号、身份证等打码,减少泄露面,但不能替代存储层的加密与权限控制。
- 数据校验:前端校验管体验,服务端校验管安全,SQL 注入靠参数化查询根治。
- 敏感词过滤:DFA/AC 自动机解决匹配性能,归一化对抗变体绕过,本质是多模式匹配加持续运营。
小结
- 按”基础概念 → 令牌 → 权限 → 数据保护 → 输入边界”的顺序学,每一步都建立在前一步的词汇上。
- 核心思维是信任边界:跨边界必重新验证,服务端永远不信客户端。
- 安全是运行出来的系统而非文档:把失败登录、越权拒绝、校验失败纳入监控,方案才算落地。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Dai Wei!
评论

