No | 验证内容 | 等级 | |||
1 | 2 | 3 | |||
v1.1 | 验证除了认定可以公开的资源,其它资源需要登录认证后才能访问。 | V | V | V | |
v1.2 | 验证应用的口令输入框不会回显用户输入的口令,并且口令输入框AUTOCOMPLETE的标签属性设置为”off”。 | V | V | V | |
v1.3 | 验证应用的认证机制能够fail securely(安全地处理失效的情况)。 | V | V | V | |
v1.4 | 验证应用的敏感信息不会通过明文或弱加密通道进行传输。 | V | V | V | |
v1.5 | 验证应用“忘记密码”以及其它取回密码的模块不会将用户当前忘记的密码返回给用户,也不会直接给用户分配一个新的密码。 | V | V | V | |
v1.6 | 验证不能通过应用上的登录和密码重置等功能对用户账户进行枚举。 | V | V | V | |
v1.7 | 验证应用本身和使用的第三方组件不存在默认口令。 | V | V | V | |
v1.8 | 验证应用拥有防暴力破解的手段(参考安全开发指南之暴力破解)。 |
| V | V | |
v1.9 | 验证应用的认证都是在服务器端执行的。 |
| V | V | |
v1.10 | 验证应用存在有效的口令复杂度策略(参考安全开发指南之口令策略)。 |
| V | V | |
v1.11 | 验证应用系统对修改密码等模块(即能够取回对账户的访问权限的模块)实施了和登录认证同等强度的安全策略。 |
| V | V | |
v1.12 | 验证应用系统对修改用户凭证的机制实施和登录认证同等强度的安全策略。 |
| V | V | |
v1.13 | 验证应用系统可对认证凭证(口令)的有效期进行配置。 |
| V | V | |
v1.14 | 验证应用系统的日志对所有认证事件进行记录(比如账户锁定等)。 |
| V | V | |
v1.15 | 验证应用系统会为每一个账户口令添加独立的salt值(比如userid),并进行hash后再存储。 |
| V | V | |
v1.16 | 验证应用系统用于访问外部接口或服务的凭证是经过足够安全的可逆算法(比如AES256)进行加密后再存储在安全区域的(不允许存放在源码中)。 |
| V | V | |
v1.17 | 验证“忘记密码”或者其它可以取回密码的模块不会直接将新密码发送给用户,而是使用有时间限制的随机token或者双因素手段(比如短信验证码) |
| V | V | |
v1.18 | 验证当用户通过“忘记密码”的验证后,在用户没有修改新的密码之前,应用系统会对账户进行禁用或锁定。 |
| V | V | |
v1.19 | 验证当应用系统使用回答问题的方式进行密码重置时,答案是难以猜测的。 |
| V | V | |
v1.20 | 验证应用系统支持记录历史密码和设置使用相同密码的周期。 |
| V | V | |
v1.21 | 验证所有身份验证控件(包括调用外部认证服务)有一个集中的实现。 |
|
| V | |
v1.22 | 验证用户在执行和应用强相关的敏感操作时,需要进行二次身份认证(可以是双因素的,比如短信验证码,数字证书等)。 |
|
| V |