验证和授权

JerryXia 发表于 , 阅读 (2,185)

关于验证和授权,很多计算机程序员都分不清楚,举个例子。

美女许天仙在上网聊天。慕名已久的王二狗邀她见面,为了表示诚意,二狗开通了视频。天仙看到二狗的真面目后说:“我只和帅哥见面。”

张三风听闻此事,也去约天仙见面,他发了一张照片过去。天仙还是拒绝了。三风不解:“你不是喜欢帅哥吗?”天仙答曰:“你竟然想用我的男神竹野内丰(读者如认为他不是帅哥可自行换成金秀贤,笔者十分好奇“美男”、“帅哥”之类的概念外延有多大,长相差异如此大的两人怎么能被划定为一类人)的照片骗我?”

上面的场景用计算机技术的术语来解读就是:王二狗验证成功,授权失败。张三风授权没问题,如果验证不失败。

在对用户名和密码的讨论里,我们已经谈到身份验证。不过一个用户通过验证并不表示他就可以进行系统里所有的操作,对很多有限制的操作,验证还仅仅是整个安全审核过程的第一步。

我们在使用软件和浏览网站时,经常会遇到一个词——权限。游戏里很多装备要付费之后才能使用,论坛里不同级别的用户有不等的阅读和发帖权限,公司里的软件系统各个账户具备不同的功能,甚至你电脑上运行的不同软件本身也有不同的权限。

“您没有权限进行以下操作”是一个令人懊恼的提示。

何谓权限?一个系统里注册了很多账号,有很多操作、功能和资源,有一部分功能只有一部分账号能使用,一部分资源只有一部分账户能访问,这种账号和功能、资源间关系的差异就是权限的来源,换句话说,只要不是所有账户都能无差别地执行系统的所有操作,就存在权限的概念。

而系统对账户的权限进行分配和验证的过程就称为授权。

授权(authorization)和验证(authentication)在计算机技术里含义相差很远,英文拼写却有些相似,在实际的软件系统中,这两个过程也总是相继发生,合作构成系统的安全机制。验证首先确认某个用户是否具有他所声称的身份(identity),也就是排除冒名顶替。用户通过验证后,系统就明确了他是谁。但是哪些事情他能做,哪些不能做就是授权所解决的问题。

添加新评论