认证与会话

来源:互联网 发布:淘宝文案招聘 编辑:程序博客网 时间:2024/05/18 15:26

认证的目的是为了认出用户是谁,而授权的目的是为了决定用户能够做什么。

认证实际上就是一个验证凭证的过程。

认证感觉就是一套房子,你拥有的房子的钥匙,而认证就是开锁的过程。

而授权就是你进入房子后所可以做的事情。


暴力破解是指对一个账户的密码进行尝试,然后最终获得正确的密码

而弱口令破解则是指收集一堆用户,然后使用弱口令来尝试密码,得到一个弱口令的用户


密码必须以不可逆的加密算法,或者是单向散列函数算法,加密后存储在数据库中。(一般是通过MD5或者sha-1来加密)


黑客为了破解md5,广泛采用彩虹表的方法。

彩虹表就是尽可能多的收集密码明文和明文对应的MD5值,这样通过查询MD5的值就可以找到MD5值对应的明文。


为了避免密码哈希值泄露,在计算密码明文的哈希值时,增加一个“salt”。salt是一个字符串,它的作用是为了增加明文的复杂度,并能使得彩虹表一类的攻击失效。

MD5(username+password+salt)

salt是随机的字符串。


session

sessionID加密后保存在cookie中,因为Cookie会随着http请求头发送,且受到浏览器同源策略的保护。

如果sessionID在生命期内被窃取,就等同于账户失窃。

所以cookie是很重要的。


单点登录(SSO)

是指用户只要登陆一次,就可以访问所有系统。


0 0