iOS Developer程序员

iOS安全概要-3-验证与授权(Authentication a

2016-06-20  本文已影响292人  Doris_Lee

3 验证与授权(Authentication and Authorization)

代码安全保护正常的、日常操作的应用程序、工具、或守护进程。但当你的代码被围攻时发生了什么?通常必须知道不仅是用户在做什么,还包括用户是谁,是否是用户允许这么做。这是身份验证和授权发挥作用的地方。

3.1 验证(Authentication)

“If you know yourself but not your enemy, for every victory gained you will also suffer a defeat.”(知己知彼,百战不殆_
—Sun Tzu, The Art of War

保护软件,你必须做的第一件事就是找到一种方法来区分朋友和敌人。这个过程称为身份验证(authentication)。
在计算机安全学中,身份验证核实用户或服务器的身份。身份验证通常有两个目的:

最常见的三种身份验证方式:

3.2 授权(Authorization)

授权是哪个用户或服务器会得到执行限制操作的权限的过程。这个词也经常用来指权利本身,如“士兵有进入指挥战壕的权利。”
身份验证和授权的区别有点微妙。通常,用户本身拥有一个账户意味着用户被授权做某事,在这种情况下,身份验证和授权是一样的。然而,在更复杂的系统中,变得更加明显的区别。
考虑一台电脑的两个用户。系统知道每个用户。因此,用户可以登录到计算机,并进行身份验证。然而,两个用户都没有被授权修改其他用户的文件,因此,没有用户可以这样做。
授权的细节取决于您使用的是iOS或OS X。
在iOS中,用户可以设置一个密码(默认情况下是一个四位数的个人识别号码),以防止未经授权的使用设备。进入这个密码后,用户假定是授权使用设备。此外,每个应用程序都是经过数字签名,因此可以由操作系统身份验证。因此,在iOS中没有用户身份验证或授权的API。
在OS X中,有几层授权:

此外,OS X和iOS,一些应用程序可能需要您登录到一个远程服务器,进而执行身份验证和授权。

上一篇 下一篇

猜你喜欢

热点阅读