设计 ABAC 策略引擎时,主体、资源、环境属性从哪里来,策略求值的性能瓶颈通常在哪?
设计 ABAC 策略引擎时,主体、资源、环境属性从哪里来,策略求值的性能瓶颈通常在哪? 本文先给出可直接复述的结论,再用最小代码说明ABAC 策略引擎 属性 求值 性能的工作方式、判断依据、项目边界和常见误区。
身份与权限 · 安全面试题第 1 页,显示第 1–45 题,共找到 45 道完整解析,可继续按分类、标签与关键词缩小范围。
按稳定语义路径排序
设计 ABAC 策略引擎时,主体、资源、环境属性从哪里来,策略求值的性能瓶颈通常在哪? 本文先给出可直接复述的结论,再用最小代码说明ABAC 策略引擎 属性 求值 性能的工作方式、判断依据、项目边界和常见误区。
ABAC 与 RBAC 的核心差异是什么,什么业务信号出现时应该从 RBAC 演进到 ABAC? 本文先给出可直接复述的结论,再用最小代码说明ABAC 与 RBAC 区别 选型 演进的工作方式、判断依据、项目边界和常见误区。
API Key 与 OAuth 2.0 Access Token 都能做接口认证,在身份表达、过期与权限粒度上有什么本质差异? 本文先给出可直接复述的结论,再用最小代码说明API Key 与 OAuth Token 区别 接口认证的工作方式、判断依据、项目边界和常见误区。
OAuth 2.0 授权码被重复使用或截获后换取令牌会有什么后果,服务端应如何防止 code 重放? 本文先给出可直接复述的结论,再用最小代码说明OAuth 授权码 重放 一次性 防御的工作方式、判断依据、项目边界和常见误区。
Cookie 的 HttpOnly、Secure、SameSite 三个属性分别防什么攻击,SameSite=None 有什么前提条件? 本文先给出可直接复述的结论,再用最小代码说明Cookie HttpOnly Secure SameSite 属性的工作方式、判断依据、项目边界和常见误区。
撞库攻击与暴力破解有什么区别,针对泄露密码库的撞库应如何检测和缓解? 本文先给出可直接复述的结论,再用最小代码说明撞库攻击 credential stuffing 检测 缓解的工作方式、判断依据、项目边界和常见误区。
一个用户属于多个租户时,登录令牌里的租户声明如何设计,切换租户时为什么必须重新鉴权而不是只改前端参数? 本文先给出可直接复述的结论,再用最小代码说明多租户 令牌 租户声明 切换租户 鉴权的工作方式、判断依据、项目边界和常见误区。
多实例部署下 Session 集中存储选 Redis 还是数据库,各自的延迟、可用性与过期管理差异是什么? 本文先给出可直接复述的结论,再用最小代码说明分布式 Session Redis 数据库存储 选型的工作方式、判断依据、项目边界和常见误区。
越权访问(IDOR/水平越权)是怎么发生的,为什么校验了登录态仍然可能被横向访问他人数据? 本文先给出可直接复述的结论,再用最小代码说明IDOR 越权访问 水平越权 防御的工作方式、判断依据、项目边界和常见误区。
JWT 验证中 alg=none 与 RS256/HS256 算法混淆攻击是如何发生的,如何防御? 本文先给出可直接复述的结论,再用最小代码说明JWT alg none 算法混淆攻击 防御的工作方式、判断依据、项目边界和常见误区。
JWT 的 exp、iat、nbf 与签发方时钟偏差(clock skew)在验证时该如何处理,容差设多大合理? 本文先给出可直接复述的结论,再用最小代码说明JWT exp nbf iat 时钟偏差 验证的工作方式、判断依据、项目边界和常见误区。
JWT 本身无状态无法主动失效,如何实现登出、改密后立即撤销已签发的令牌? 本文先给出可直接复述的结论,再用最小代码说明JWT 撤销 黑名单 短有效期 登出的工作方式、判断依据、项目边界和常见误区。
HS256 的 JWT 密钥应该如何生成、存储和轮换,硬编码在代码里有什么风险? 本文先给出可直接复述的结论,再用最小代码说明JWT 密钥管理 轮换 硬编码风险的工作方式、判断依据、项目边界和常见误区。
前端把 JWT 存在 localStorage 还是 HttpOnly Cookie,各自面临的 XSS 与 CSRF 风险如何权衡? 本文先给出可直接复述的结论,再用最小代码说明JWT localStorage Cookie XSS CSRF 存储的工作方式、判断依据、项目边界和常见误区。
JWT 的三个部分分别是什么,服务端验证 JWT 时具体校验哪些内容? 本文先给出可直接复述的结论,再用最小代码说明JWT 结构 header payload signature 校验的工作方式、判断依据、项目边界和常见误区。
基于 TOTP 的二次认证原理是什么,时间窗口与密钥存储在设计时要注意哪些问题? 本文先给出可直接复述的结论,再用最小代码说明MFA TOTP 二次认证 原理 设计的工作方式、判断依据、项目边界和常见误区。
多租户 SaaS 中共享库加 tenant_id、独立 Schema、独立库三种隔离方案的成本与隔离强度如何权衡? 本文先给出可直接复述的结论,再用最小代码说明多租户 数据隔离 共享库 独立库 方案的工作方式、判断依据、项目边界和常见误区。
资源服务器收到 Bearer Token 后有哪些校验方式,本地验签与内省(introspection)端点各适合什么情况? 本文先给出可直接复述的结论,再用最小代码说明OAuth token introspection 资源服务器校验的工作方式、判断依据、项目边界和常见误区。
OAuth 2.0 授权码模式完整流程是什么,为什么用授权码换令牌而不是直接返回令牌? 本文先给出可直接复述的结论,再用最小代码说明OAuth 授权码模式 流程 为什么 code 换 token的工作方式、判断依据、项目边界和常见误区。
OAuth 2.0 客户端凭证模式适用于什么场景,服务间调用时如何保管 client_secret? 本文先给出可直接复述的结论,再用最小代码说明OAuth client credentials 服务间认证的工作方式、判断依据、项目边界和常见误区。
OAuth 2.0 的四种授权模式分别适用于什么客户端场景,为什么隐式模式已被废弃? 本文先给出可直接复述的结论,再用最小代码说明OAuth 2.0 授权模式 授权码 客户端凭证 隐式的工作方式、判断依据、项目边界和常见误区。
OAuth 2.0 的 PKCE 解决了什么问题,为什么纯前端 SPA 和移动应用必须使用它? 本文先给出可直接复述的结论,再用最小代码说明OAuth PKCE code_verifier SPA 安全的工作方式、判断依据、项目边界和常见误区。
OAuth 2.0 中 redirect_uri 为什么必须精确匹配校验,宽松匹配会导致什么攻击? 本文先给出可直接复述的结论,再用最小代码说明OAuth redirect_uri 校验 开放重定向 授权码窃取的工作方式、判断依据、项目边界和常见误区。
OAuth 2.0 回调中 state 参数防什么攻击,缺失 state 会导致什么后果? 本文先给出可直接复述的结论,再用最小代码说明OAuth state 参数 CSRF 登录跨站请求伪造的工作方式、判断依据、项目边界和常见误区。
OIDC 的 Discovery 文档与 JWKS 端点解决了什么问题,公钥轮换时客户端如何平滑处理? 本文先给出可直接复述的结论,再用最小代码说明OIDC Discovery JWKS 公钥轮换 kid的工作方式、判断依据、项目边界和常见误区。
客户端拿到 OIDC ID Token 后必须校验哪些声明,iss、aud、exp、nonce 各自防什么? 本文先给出可直接复述的结论,再用最小代码说明OIDC ID Token 校验 iss aud nonce的工作方式、判断依据、项目边界和常见误区。
OIDC 的 ID Token 与 OAuth 2.0 的 Access Token 用途有什么区别,为什么不能拿 Access Token 当登录凭证? 本文先给出可直接复述的结论,再用最小代码说明OIDC ID Token 与 Access Token 区别的工作方式、判断依据、项目边界和常见误区。
OIDC 中 ID Token 声明与 UserInfo 端点都能拿用户信息,设计上该如何取舍? 本文先给出可直接复述的结论,再用最小代码说明OIDC UserInfo 端点 ID Token 取舍的工作方式、判断依据、项目边界和常见误区。
密码存储为什么要用 Argon2、bcrypt 这类慢哈希,MD5+盐为什么仍然不安全? 本文先给出可直接复述的结论,再用最小代码说明密码哈希 Argon2 bcrypt 加盐 慢哈希的工作方式、判断依据、项目边界和常见误区。
防密码暴力破解有哪些手段,限流、验证码、账户锁定各有什么副作用和绕过方式? 本文先给出可直接复述的结论,再用最小代码说明密码 暴力破解 限流 验证码 账户锁定的工作方式、判断依据、项目边界和常见误区。
找回密码链接里的重置令牌应该如何生成和存储,为什么不能直接发明文令牌入库? 本文先给出可直接复述的结论,再用最小代码说明忘记密码 重置令牌 安全设计的工作方式、判断依据、项目边界和常见误区。
密码学上盐(salt)和胡椒(pepper)的区别是什么,pepper 应该存在哪里才有意义? 本文先给出可直接复述的结论,再用最小代码说明密码 salt 与 pepper 区别 存储的工作方式、判断依据、项目边界和常见误区。
权限校验放在网关、服务层还是数据层各有什么利弊,为什么前端隐藏按钮不能替代后端鉴权? 本文先给出可直接复述的结论,再用最小代码说明接口权限校验位置 网关 服务层 越权的工作方式、判断依据、项目边界和常见误区。
RBAC 角色继承(层级)如何表达「高级角色拥有低级角色全部权限」,实现时要注意什么陷阱? 本文先给出可直接复述的结论,再用最小代码说明RBAC 角色继承 层级 实现的工作方式、判断依据、项目边界和常见误区。
RBAC 中用户、角色、权限三者的关系如何建模,为什么权限不直接挂在用户上? 本文先给出可直接复述的结论,再用最小代码说明RBAC 角色 权限 用户 建模的工作方式、判断依据、项目边界和常见误区。
RBAC 中的职责分离(SoD)是什么,如何用互斥角色约束实现「制单与审批不能同人」? 本文先给出可直接复述的结论,再用最小代码说明RBAC 职责分离 互斥角色 SoD的工作方式、判断依据、项目边界和常见误区。
为什么需要 Refresh Token,它与 Access Token 在有效期、存储和传输上有哪些不同设计要求? 本文先给出可直接复述的结论,再用最小代码说明Refresh Token 与 Access Token 区别 设计的工作方式、判断依据、项目边界和常见误区。
Refresh Token 轮换(Rotation)如何工作,重放检测发现旧令牌被复用时应该怎么处理? 本文先给出可直接复述的结论,再用最小代码说明Refresh Token Rotation 重放检测的工作方式、判断依据、项目边界和常见误区。
如何限制同一账号的并发会话数,踢出旧设备与会话列表管理在实现上需要什么数据支撑? 本文先给出可直接复述的结论,再用最小代码说明并发会话 限制 踢出设备 会话管理的工作方式、判断依据、项目边界和常见误区。
Session 固定攻击与 Session 劫持分别怎么发生,登录成功后为什么要重新生成 Session ID? 本文先给出可直接复述的结论,再用最小代码说明Session 固定攻击 劫持 重新生成 Session ID的工作方式、判断依据、项目边界和常见误区。
服务端 Session 的绝对超时与滑动(空闲)超时应该怎么设,为什么只设滑动超时不够? 本文先给出可直接复述的结论,再用最小代码说明Session 超时 绝对超时 滑动超时的工作方式、判断依据、项目边界和常见误区。
Session 与 JWT 两种认证方式在服务端状态、扩展性和登出处理上各有什么取舍? 本文先给出可直接复述的结论,再用最小代码说明Session 与 JWT 认证方式对比 取舍的工作方式、判断依据、项目边界和常见误区。
单点登录场景下如何实现单点登出,为什么只清本地 Session 不等于真正登出? 本文先给出可直接复述的结论,再用最小代码说明SSO 单点登出 front-channel back-channel logout的工作方式、判断依据、项目边界和常见误区。
为什么多租户系统要在请求进入时建立租户上下文并强制所有查询携带 tenant_id,漏掉一个查询会怎样? 本文先给出可直接复述的结论,再用最小代码说明多租户 租户上下文 tenant_id 查询过滤的工作方式、判断依据、项目边界和常见误区。
访问令牌被盗后攻击者直接重放怎么办,DPoP 这类发送方约束令牌如何缓解令牌重放? 本文先给出可直接复述的结论,再用最小代码说明访问令牌被盗重放 DPoP 发送方约束的工作方式、判断依据、项目边界和常见误区。