产品数据安全架构
一、安全架构
5A方法论指身份认证、授权、访问控制、可审计、资产保护。
CIA是保密性、完整性、可用性。
CIA是目标,5A是技术性手段。
二、身份认证
- 业务系统应尽可能使用统一的单点登录系统(SSO),而不是各业务系统设计一套身份认证模块。不管访问哪个业务,只用一个身份认证入口。
- SSO一方面避免系统重复建设,减少工作量。另一方面,可以统一强化用户隐私保护,且可以与HR系统关联,提高离职销户等权限调整操作效率。
- 用户在SSO输入用户名密码后,SSO验证通过会返回一个ticket,用户其实是用这个ticket访问各个业务系统,业务系统验证ticket无误后,通过Cookie与用户建立会话(session)。
- 会话管理可以记录用户当前登录的IP、User Agent信息,可以通过校验IP等信息是否发生变化来限制登录。
- Coolie也需要额外保护,通过httponly和Secure属性,使用HTTP Only可以规避document.cookie获取信息,使用Secure只能通过https传递。Cookie中不要存敏感信息。
- 对于业务来说,不要做敏感信息二传手,不要收集用户口令。
- 口令的保护一方面是不能明文存储,且在服务器侧加盐散列,另一方面,用户身份认证必须使用https传输,且用户侧不能直接发送铭文口令。
- 生物认证口令需要更高强度的保护,不能上传生物识别图像。根据GDPR条款,原则上禁止处理用户生物识别数据。如指纹数据不出手机。生物认证口令的保护不同,一方面是对称加密,另一方面是认证携带时间戳,防止重放攻击。