切换深色模式
附录 D:练习题与参考答案
先独立作答,再看答案。参考答案描述核心判断,不是唯一实现。
D.1 基础题
- 为什么认证成功不代表可以读取工资表?
- 为什么账号不能作为现实主体的永久唯一标识?
- JWT 已正确签名,还需要验证哪些内容?
- TLS、mTLS、业务授权分别回答什么?
- 盐为何可和密码哈希同库,pepper 为何应分离?
答案
- 认证只证明认证器控制权;授权还需角色/关系、资源、动作、上下文和策略。
- 一人可能多账号、重雇、合并/注销;账号属于具体系统生命周期。
- 允许算法、可信密钥、issuer、audience、时间,按场景还需 nonce/azp/jti/授权上下文。
- TLS 认证服务并保护传输;mTLS 也认证客户端连接方;业务授权判断该身份能否做具体动作。
- 盐用于阻止预计算/相同密码同哈希,不依赖保密;pepper 作为额外秘密,与数据库同失陷会失去价值。
D.2 认证与协议题
- state、nonce、PKCE 的职责分别是什么?
- 为什么 ID Token 不该交给 API 当 Access Token?
- Passkey 抗钓鱼,为何恢复仍可能导致接管?
- Refresh Token rotation 如何发现重用?
- SCIM API 返回 200,为什么仍要周期对账?
答案
- state 绑定浏览器请求/响应;nonce 绑定 OIDC 请求与 ID Token;PKCE 绑定授权请求方与 code 兑换方。
- ID Token 的受众和语义是 Client 的登录结果;API 需要为自己签发、含合适 scope/audience 的 Access Token。
- 攻击者可能通过邮箱/客服/弱证明添加新认证器,绕过原强认证器。
- 每次刷新作废旧 token;若旧 token 再出现,说明 token 家族可能泄漏,撤销整个家族。
- 下游可能异步失败、人工修改、事件遗漏或语义不一致;对账发现长期漂移并形成证据。
D.3 授权与治理题
- RBAC 角色爆炸的根因是什么?
- ABAC 中属性缺失应怎样处理?
- ReBAC 如何解释允许决策,又如何避免解释泄密?
- 为什么 UI 隐藏按钮不是授权?
- 离职撤权怎样证明在五分钟内完成?
答案
- 将部门、地区、项目、例外等每种组合固化为新角色,且缺少生命周期治理。
- 安全关键属性通常默认拒绝/要求补充,不能把 null 当低风险;具体按显式策略。
- 返回主体到资源的命中关系路径;对调用者不可见节点做脱敏或只给理由码。
- 客户端可被绕过,攻击者可直接请求 API;PEP 必须位于服务端不可绕过边界。
- 离职事件有时间戳和 correlation ID;各目标返回禁用/撤销证据;持续对账;指标计算最后完成时间并告警超时。
D.4 工作负载与零信任题
- 为什么共享 Kubernetes 节点角色会破坏工作负载隔离?
- SPIRE 如何在不给工作负载 bootstrap secret 的情况下发身份?
- mTLS 已建立,为什么还要策略引擎?
- 短期证书是不是不需要撤销?
- 零信任是否意味着每个请求都让用户重新登录?
答案
- 所有 Pod 继承同一云权限,无法按工作负载最小授权和归因。
- 本地 Agent 依据调用进程及平台 selectors 做 workload attestation,与注册条目匹配后提供 SVID。
- mTLS 只证明对端身份;策略决定该身份可调用哪些资源/动作。
- 短期降低暴露窗口,但高风险泄漏仍需删除注册、拒绝身份、轮换信任或其他快速控制。
- 不是;可延续受控会话并结合设备、风险和资源敏感度,仅在必要时 step-up。
D.5 检测与 AI 题
- 攻击率 0.1% 时“全部判正常”的 accuracy 是多少?为何无用?
- 为什么身份模型应按时间切分训练测试?
- RAG 加引用为何仍可能越权?
- LLM 何时适合身份调查,何时不适合?
- 模型阈值为什么是业务决策?
答案
- 99.9%,但 recall 为 0,一个攻击也没发现。
- 模拟上线只用过去预测未来,避免同一事件/实体未来信息泄漏,并暴露漂移。
- 若检索前未强制 ACL,未经授权片段已进入上下文;引用只展示来源,不阻止泄漏。
- 适合汇总证据、自然语言查询和调查建议;不适合替代验签、硬授权和无监督高风险封禁。
- 不同资源的误报/漏报损失、用户摩擦和处置成本不同,不能由离线模型指标单独决定。
D.6 Agent 安全题
- Agent 为什么既需要自身身份又需要用户委托?
- token passthrough 的问题是什么?
- 为什么提示注入分类器不是安全边界?
- 有效 Agent 权限为何是交集?
- 怎样设计有效的人类确认?
答案
- 自身身份用于验证代码/实例和归因;用户委托说明代表谁、为何、可做什么。缺一无法形成责任链。
- 下游可能误把 token 当为自己签发,丢失 audience/主体边界,让中间服务成为混淆代理。
- 攻击可变形且与正常内容混合;分类会漏报,必须用权限、隔离、审批限制成功后的影响。
- 用户有权不代表 Agent 应全部获得;Agent 被配置的能力也不能超出用户;任务和实时风险进一步收窄。
- 显示并绑定真实目标、动作、关键参数、数据范围和影响;高风险 step-up;批准后参数不可被替换;避免泛化和确认疲劳。
D.7 设计题
- 为“员工让 Agent 汇总邮件并自动创建工单”画信任边界,列五个威胁和五条不变量。
- 为 1000 万用户 App 设计账号恢复,平衡接管风险与成功率。
- 为跨三朵云的支付服务消除静态密钥,设计身份、授权、迁移和回滚。
- 为季度权限复核设计排序模型,防止自动撤权伤害业务。
- 设计 IdP 签名密钥泄漏的检测、遏制、恢复与沟通。
参考评分点
每题至少覆盖:主体/资源/动作、权威源、信任边界、正常与失败流程、攻击路径、最小权限、密钥、审计、指标、灰度/回滚、用户与业务影响。若包含 AI,补数据、eval、人工监督和漂移;若包含 Agent,补实例身份、委托、tool audience、沙箱、审批和 kill switch。