在开发或者管理一个应用程序的时候,我们往往会看到两个名词——认证和授权,在英文中这两个词更为相近 —— authentication 和 authorization。尽管这两个术语经常出现在相同的上下文中,但是两者在概念上是非常不同的。
认证意味着确认你自己的身份,而授权意味着授予对系统的访问权限。简单来说,认证是验证你的身份的过程,而授权是验证你有权访问的过程。
什么是认证认证是关于验证你的凭据,如用户名/邮箱和密码,以验证访问者的身份。系统确定你是否就是你所说的使用凭据。在公共和专用网络中,系统通过登录密码验证用户身份。身份认证通常通过用户名和密码完成,有时与认证可以不仅仅通过密码的形式,也可以通过手机验证码或者生物特征等其他因素。
在某些应用系统中,为了追求更高的安全性,往往会要求多种认证因素叠加使用,这就是我们经常说的多因素认证。
常见的认证方式
- 用户名密码认证
- 手机和短信验证码认证
- 邮箱和邮件验证码认证
- 人脸识别/指纹识别的生物因素认证
- OTP 认证
- Radius 网络认证
授权发生在系统完成身份认证之后,最终会授予你访问资源(如信息,文件,数据库,资金,位置,几乎任何内容)的完全权限。简单来说,授权决定了你访问系统的能力以及达到的程度。
授权是确定经过身份验证的用户是否可以访问特定资源的过程。它验证你是否有权授予你访问信息,数据库,文件等资源的权限。授权通常在验证后确认你的权限。简单来说,就像给予某人官方许可做某事或任何事情。
例如,验证和确认组织中的邮箱和密码的过程称为认证,但确定哪个员工可以访问哪个楼层称为授权。假设你正在旅行而且即将登机。当你在登记前出示机票和一些身份证明时,你会收到一张登机牌,证明机场管理局已对你的身份进行了身份验证。但那不是它。乘务员必须授权你登上你应该乘坐的航班,让你可以进入飞机内部及其资源。
认证与授权的对比 认证授权验证确认身份以授予对系统的访问权限。授权确定你是否有权访问资源。这是验证用户凭据以获得用户访问权限的过程。这是验证是否允许访问的过程。它决定用户是否是他声称的用户。它确定用户可以访问和不访问的内容。身份验证通常需要用户名和密码。授权所需的身份验证因素可能有所不同,具体取决于安全级别。身份验证是授权的第一步,因此始终是第一步。授权在成功验证后完成。例如,特定大学的学生在访问大学官方网站的学生链接之前需要进行身份验证。这称为身份验证。例如,授权确定成功验证后学生有权在大学网站上访问哪些信息。以下转自http://blog.csdn.net/cruise_h/article/details/50749652
以前一直分不清 authentication 和 authorization,其实很简单,举个例子来说:
你要登机,你需要出示你的 passport 和 ticket,passport 是为了证明你张三确实是你张三,这就是 authentication;而机票是为了证明你张三确实买了票可以上飞机,这就是 authorization。
在 computer science 领域再举个例子:
你要登陆论坛,输入用户名张三,密码1234,密码正确,证明你张三确实是张三,这就是 authentication;再一check用户张三是个版主,所以有权限加精删别人帖,这就是 authorization。
----------------------------------------------------------------------------------------------------------
>>分割线
----------------------------------------------------------------------------------------------------------
Authentication 鉴别 判断使用者是不是他所宣称的那个人, 如帐号密码机制,是基于帐号密码为 只有本人跟系统本身才知道的shared secret,所以只要可以正确输入密码,系统就可判断使用者为这个帐号所代表的人物。 主要回答这些问题:- 用户是谁?
- 用户真的是他/她代表自己的那个人吗?
- 用户 X 是否有权访问资源 R?
- 用户 X 是否被授权执行操作 P?
- 用户 X 是否有权对资源 R 执行操作 P?
主要回答这些问题:
- 用户是谁?
上面三者的关系:
系统要知道某个使用者对系统资源的存取权力,包含三个部分- 使用者告诉系统他是谁(Identification 机制)。例:输入ID
- 系统判断使用者是否真的是他宣称的那个人(Authentication 机制)。例:输入Password
- 系统根据该帐号所拥有的权限验证该使用者(Auorization 机制)。例:系统判断该使用者为会员,给予读及写的权利