为量子时代而生
UniAuth 从根本设计就以安全性为缺省 — 而非日后才补上。每个哈希、每个权杖、每个工作阶段,都以能同时抵御当今与未来攻击的密码学守护。
密码学基石
静态 AES-256-GCM 加密
每个机敏值 — TOTP 密钥、OAuth 访问权杖、PQC 私密密钥、LDAP 绑定密码 — 都会在写入数据库之前以 AES-256-GCM 加密。格式为 iv:tag:ciphertext。
加密密钥是独立的 256 比特密钥(ENCRYPTION_KEY),并非从 JWT 密钥衍生而来。轮替其中一个并不会危及另一个。
ML-DSA-44 工作阶段签章
每个工作阶段都带有后量子数字签章(FIPS 204 ML-DSA-44,前身为 CRYSTALS-Dilithium)。每次请求时,touchSession() 都会验证该签章;一旦不符,立即撤销工作阶段并记录事件。
即使传统的 ECDSA 或 RSA 签章被量子电脑破解,ML-DSA 工作阶段依然安全无虞。
Argon2id 密码哈希
新密码采用 Argon2id(OWASP 建议值:64 MB 内存、3 次迭代、4 路平行)。旧有的 bcrypt 哈希会在登录时自动移转。密码强度以 zxcvbn 评分(须达分数 ≥ 2),并通过 HaveIBeenPwned 的 k-匿名 API 进行比对。
成对的主体识别码
已链接的应用程序绝对看不到您真正的 UUID。每个应用程序都会取得一个唯一、具决定性且专属于该应用程序的识别码:HMAC-SHA256(userId:clientId, secret)。应用程序无法跨服务串连用户身分 — 您的隐私是结构性的保障,而非仅靠政策。
运行阶段防护
自适应威胁侦测
跨 6 项因子的统计式登录风险评分:新 IP、新 user-agent、异常时段、连续失败突发、地理异常与设备信任。高风险登录会自动触发升级 2FA 或 CAPTCHA。
渐进式帐户锁定
5 次失败 = 1 分钟、10 次 = 5 分钟、15 次 = 15 分钟、20 次以上 = 1 小时。一律回传通用的 401(不泄漏帐户是否存在)。验证成功后即重设。锁定同样适用于密码、密码密钥与魔术链接等流程。
工作阶段生命周期
24 小时闲置逾时 + 30 天绝对效期。每次请求都会验证 SHA-256 指纹(IP + UA);一旦不符,立即终止工作阶段。每位用户最多 10 个并行工作阶段,最旧的会被淘汰。
防 SSRF 的对外连接
每个对外的 HTTP 请求(Webhook、OIDC 探索、后端信道注销)都会经过 safeFetch — 先做 DNS 解析,再将连接固定到已验证的 IP。在检查与 socket 连接之间发动 DNS 重新绑定是不可能的。
CORS + CSP + 速率限制
所有 API 路由皆采严格的同源 CORS。CSP 设置 frame-ancestors 'none'。双层速率限制(内存内 + Redis 滑动窗口)。各路由的门槛皆依端点的风险样态调校。
全面固定时间防护
每一次哈希比对、权杖验证、备援码检查与 SCIM 权杖查找,都使用 crypto.timingSafeEqual。任何地方都没有时间旁路。
合规与稽核
每项操作都会记录,每条链都会验证,每次导出都会屏蔽敏感内容。