基于时间的认证
k-ID 在其各种验证和同意流程中实现了先进的基于时间的认证机制。这些时间敏感的元素有助于防止未经授权的访问,同时为合法用户提供合理的操作窗口。
基于时间的安全概述
基于时间的认证在 k-ID 中有多重目的:
- 安全性:防止重放攻击和未授权访问
- 用户体验:为用户提供合理的操作时间
- 合规性:确保遵守数据处理和同意的隐私法规
家长同意认证
当玩家触发年龄门槛验证流程时,k-ID 会生成多个时间敏感的认证要素:
一次性密码 (OTP)
每个挑战都会生成唯一的 OTP,家长可用其访问同意门户。OTP 特点:
- 挑战创建时自动生成
- 出于安全考虑,OTP 有效期短
- 可通过
/challenge/generate-otp
API 刷新
{
"otp": "123ABC",
"expiresAt": "2022-12-31T23:59:59Z"
}
二维码 URL
挑战响应中包含可渲染为二维码的 URL,便于移动端访问。该 URL:
- 包含嵌入的 OTP
- 与 OTP 同步过期
- 为家长提供无缝的移动体验
邮件认证
k-ID 提供了带有自身时间安全机制的可选邮件流程:
邮件链接过期
使用 /challenge/send-email
API 发送同意请求时:
- 邮件链接两周后过期
- 链接包含加密签名令牌
- 过期后需重新生成邮件请求
环境特定超时
k-ID 根据环境实现了不同的超时时间,以优化安全性和开发体验:
测试环境
- 更短的超时(通常不超过10分钟)
- 便于开发时快速测试
- 简化超时场景测试
生产环境
- 更长的超时以提升用户体验
- 家长同意邮件链接有效期为14天
k-ID 的基于时间的认证系统在安全性和用户体验之间取得平衡,确保家长同意等敏感操作既安全又有合理的完成窗口。