# 1. NIST SP 800-63B(Digital Identity Guidelines)的密码与认证标准 A 它强制要求密码必须包含大小写和特殊字符 B 它要求密码必须每 30 天更换一次 C 它主张密码长度优先于复杂度,要求检查已知泄露密码、限制尝试次数并推荐 MFA ✓ 正确答案 D 它不关心密码如何存储
# 2. OAuth 2.0 的安全实践中 PKCE(RFC 7636)、state 参数、redirect_uri 白名单 A state 参数用于防止授权码被拦截 B PKCE 用于防止授权码被拦截后复用,state 用于防 CSRF,redirect_uri 白名单用于防止授权码被重定向到恶意地址 ✓ 正确答案 C redirect_uri 白名单用于防止密码爆破 D PKCE 只能用于服务端到服务端
# 3. OAuth 2.0(RFC 6749)的授权框架中 Authorization Code、Client Credentials、Implicit、Password A Authorization Code + PKCE 是主流推荐,Client Credentials 用于机器对机器,Implicit 与 Password 因安全缺陷被弃用 ✓ 正确答案 B Implicit 模式是最安全的推荐模式 C Password 模式不接触用户密码,最安全 D Client Credentials 模式需要用户参与
# 4. OWASP A07(Identification and Authentication Failures)的预防 A A07 只关注密码强度,不涉及会话管理 B 认证失败和应用授权是同一类问题 C A07 涵盖弱认证、凭证泄露、会话缺陷与暴力破解等,需通过强密码、MFA、加盐哈希存储和安全会话管理来预防 ✓ 正确答案 D 使用明文存储密码是 A07 推荐做法
# 5. OpenID Connect(OIDC)的身份层中 ID Token、UserInfo、Discovery A OIDC 与 OAuth 2.0 完全无关 B OIDC 在 OAuth 2.0 之上增加身份认证层,ID Token 是携带用户身份的 JWT,UserInfo 与 Discovery 提供资料与元数据 ✓ 正确答案 C ID Token 用于访问资源,Access Token 用于认证 D OIDC 不提供 Discovery 机制
# 6. 认证(Authentication)vs 授权(Authorization)的边界中 who vs what A 认证是"你能做什么",授权是"你是谁" B 认证失败返回 403,授权失败返回 401 C 认证与授权是同义概念 D 认证确认身份(who),授权决定权限(what),须先认证后授权,登录成功不等于有权限 ✓ 正确答案
# 7. JWT 的结构(header/payload/signature)与常见攻击中 alg=none 绕过、弱密钥爆破、RS256/HS256 算法混淆 A alg=none 是安全的做法 B HS256 密钥越短越安全 C 服务端应固定并校验允许的算法(白名单)、禁用 none、避免弱密钥,并区分对称/非对称,防止算法混淆与伪造 ✓ 正确答案 D JWT 无需校验过期时间
# 8. Session Fixation 攻击与登录后会话 ID 轮换(session fixation protection) A 会话固定攻击与登录前会话 ID 是否固定无关 B 会话固定攻击只能通过 HTTPS 传输防御 C 用户成功登录后必须重新生成会话 ID(轮换),使攻击者预置的会话 ID 失效,是防御会话固定的核心 ✓ 正确答案 D 登录前后保持同一会话 ID 是安全的
# 9. Cookie 安全属性(HttpOnly 防 XSS 读取、Secure 仅 HTTPS、SameSite 防 CSRF)的工程配置 A HttpOnly 用于防御 CSRF B Secure 属性可以防御 XSS C HttpOnly 防 XSS 读取 cookie,Secure 保证仅 HTTPS 传输,SameSite 限制跨站携带防 CSRF,三者应叠加配置 ✓ 正确答案 D SameSite 属性与 CSRF 无关
# 10. 密码哈希的参数调优中 work factor、memory cost、parallelism A 应在目标硬件上基准测试,把工作因子/内存成本调到延迟可接受范围内的最大值,并随硬件发展定期上调 ✓ 正确答案 B 参数越高越好,无需考虑延迟 C parallelism 越大越安全,无需权衡 D 参数一旦确定就永远不需要调整
# 11. 密码存储中 bcrypt、scrypt、Argon2 的工程选择 A MD5/SHA-256 是存储密码的推荐算法 B Argon2id 是当前推荐的现代密码哈希(内存硬、抗侧信道),bcrypt 成熟生态广,均应加盐并调好参数 ✓ 正确答案 C 密码只需加密存储,无需加盐 D 所有哈希算法对密码存储等效
# 12. 认证方案中 Session、Token 与 SSO? A Session 是无状态的,最适合微服务 B Token 无状态但撤销难,Session 有状态但易撤销,SSO 用于多系统集中身份,常组合使用 ✓ 正确答案 C Token 认证天然支持即时撤销 D SSO 与 OAuth 完全无关
# 13. Token 存储取舍中 localStorage(易受 XSS)vs HttpOnly cookie(需配 CSRF 防护)的风险联动 A localStorage 存储令牌无任何安全风险 B 令牌放内存与放 localStorage 等价 C HttpOnly cookie 不会自动携带,无 CSRF 风险 D localStorage 易受 XSS 窃取,HttpOnly cookie 防 XSS 窃取但需配 CSRF 防护,应避免在 localStorage 存高价值长生命周期令牌 ✓ 正确答案
# 14. JWT 无状态撤销难题中短有效期 + refresh token 与黑名单(denylist)的权衡 A access token 有效期越长越安全 B JWT 无状态天然支持即时撤销 C 黑名单方案不引入任何服务端状态 D 短有效期 + refresh token 与黑名单(denylist)是两种权衡方案,前者控制暴露窗口、后者可即时撤销但引入状态存储 ✓ 正确答案
# 15. 授权模型中 RBAC、ABAC 与 OAuth 作用域? A RBAC 比 ABAC 更细粒度 B RBAC 基于角色、ABAC 基于属性、OAuth scope 是令牌级访问范围,三者可组合使用 ✓ 正确答案 C OAuth scope 是一种独立于令牌的授权模型 D ABAC 不需要任何属性
# 16. 会话安全中固定攻击、过期与刷新? A 登录后无需轮换会话 ID B 会话 ID 无需随机即可安全 C 会话过期时间越长越好 D 应设置绝对过期与空闲超时、登录后轮换会话 ID、用 HttpOnly cookie 传输并显式销毁,同时限制滚动续期避免会话无限存活 ✓ 正确答案
# 17. 密码存储中加盐哈希与强度策略? A 密码应加唯一随机盐并使用 bcrypt/scrypt/Argon2 等慢哈希,强度策略上长度优先并检查已知泄露密码 ✓ 正确答案 B 密码用 MD5 哈希即可安全存储 C 所有用户密码存同一个哈希即可 D 密码可以明文存储,只需数据库加密
# 18. MFA 与无密码认证中现代实践? A 短信 OTP 是最安全的 MFA 方式 B 现代实践推荐基于 WebAuthn/FIDO2 的通行密钥(公钥 + 设备绑定),抗钓鱼,优于 TOTP 和 SMS OTP ✓ 正确答案 C MFA 只需两种已知因素即可 D 无密码认证不需要账户恢复机制