- 认证实际上就是一个验证凭证的过程
- 如果只有一个凭证被用于认证,则被称为“单因素认证";如果有两个或多个凭证被用于认证,则称为"双因素认证"或"多因素认证"。一般来说,多因素认证的强度要高于单因认证,但是在用户体验上,多因素认证或多或少都会带来一些不方便的地方。
-
密码的那些事儿
- 密码策略
- 密码长度:普通应用要求长度6位以上;重要应用要求长度为8位以上,并考虑双因素认证。
- 密码复杂度方面:面膜区分大小写字母;密码为大小写字母、小写字母、数字、特殊符号中两种以上的组合;不要有连续性的字符,比如1234abcd;尽量避免出现重复的字符。
- 密码必须以不可逆的加密算法,或者是单向散列函数算法,加密后存储在数据库中。
- 密码策略
-
多因素认证
-
session与认证
- 生成SessionID时,需要保证求购的随机性,比如采用足够强的伪随机数生成算法,现在的网站开发中,都有很多成熟的开发框架可以使用,这些成熟的开发框架一般会提供Cookie管理、Session管理的函数,可以善用这些函数和功能。
-
Session Fixation攻击
-
Session 保持攻击
- 一般应用都会给session设置一个失效时间,但有一些系统,出于用户体验的考虑,只要用户还“活着”,就不会让这个用户的Session失效,从而攻击者可以通过不停地发起访问请求,让Session一直“活”下去
- 对抗Session 保持攻击:一定时间后,强制销毁Session,还可以,检查http信息,如果发生变化,则销毁Session,要求用户重新登陆。
-
单点登陆(SSO)
- OpenID模式仍然存在一些问题,OpenID的提供者服务水平也有高有低,作为OpenID的提供者,一旦网站中断服务或者关闭,都将给用户带来很多的不便,因此目前不部分网站仍是很谨慎的使用OpenID。
网友评论