Windows 认证与访问控制核心流程
阶段一:身份认证 (Authentication)
1. 应用请求
应用通过
SSPI
接口发起身份认证请求
▼
2. 凭据校验
SSP
(如 NTLM / Kerberos)计算密文并完成身份验证
▼
3. 上下文提取
LSASS
验证通过,提取用户的
SID
与
RID
标识
▼
4. 令牌生成
构建 Access Token,生成进程绑定的
Primary Token
或线程挂载的
Impersonation Token
阶段二:访问控制 (Authorization)
1. 发起请求
线程携带 Token 申请打开对象,提交期望权限
Desired Access
▼
2. 特权检查
SRM
接管,检查 Token 中是否启用能绕过检查的
Privilege
(特权)
▼
3. 描述符比对
读取对象的
Security Descriptor
:
• 遍历
DACL
中的
ACE
(比对
Access Mask
决定放行/拒绝)
• 匹配
SACL
规则写日志
▼
4. 判定结果
允许访问则返回对象句柄,拒绝则返回 Access Denied