3.1 什么是访问控制
访问控制听起来很有技术性,好像只针对高安全等级的计算设施,但实际上我们每天都要进行访问控制。
·当你锁闭或打开房门时,你使用的是一种基于钥匙的物理访问控制。(如第2章所述,钥匙是你所拥有的东西;在这种情况下,钥匙既是身份验证方式,也是授权方式。)
·当你发动汽车时,你也可能会使用钥匙。对于较新的汽车,钥匙甚至可能包括带有射频识别(RFID)标签的额外安全层,这些标签是钥匙上存储的类似证书的识别符。
·在抵达工作地点后,你可能会使用徽章(同样是你所拥有的东西)进入大楼。
·当坐在计算机前输入密码(你所知道的事项)时,你正在验证自己,并使用逻辑访问控制系统来访问你已被授予权限的资源。
在每天工作、上学和参与其他活动时,我们中的大多数人经常会遇到许多执行访问控制的情况。
你可能希望通过访问控制来实现四个基本任务:允许访问、拒绝访问、限制访问和撤销访问。这四个操作可以描述大多数访问控制问题或情况。
允许访问,就是授予一方访问给定资源的权限。例如,你可能想授予用户访问某个文件的权限,或者你可能想授予一整组人访问给定目录中所有文件的权限。你还可以通过向员工提供你的钥匙或进入设施的徽章,允许其对资源进行物理访问。
拒绝访问,与授权访问相反。当你拒绝访问时,就是阻止给定方访问某些资源。你可以根据一天当中的不同时间,对尝试登录计算机的人员进行拒绝访问,或者阻止未经授权的人员在营业以外的时间进入大厅。许多访问控制系统都默认设置为拒绝。
限制访问,是指允许一定程度地访问你的资源。在物理安全方案中,你可能拥有一把可以打开大楼内任何门的主钥匙,一把只能打开几扇门的中级钥匙,和一把只能打开一扇门的低级钥匙。当你在易受攻击的环境中使用应用程序时,如在互联网中使用Web浏览器,你也可以执行限制访问。
限制访问的方法之一是在沙箱中运行敏感的应用程序。沙箱是包含特定目资源的隔离环境(见图3-1)。
图3-1 沙箱是用于保护资源的隔离环境
我们使用沙箱来防止内容访问不应该交互的文件、内存和其他系统资源。沙箱对于包含你不信任的内容非常有用,例如来自公共网站的代码。沙箱的一个示例是Java虚拟机(Java Virtual Machine,JVM),用于运行Java编程语言所编写的程序。JVM专门用于保护用户免受潜在的恶意下载软件的攻击。
撤销访问是指在授予访问方访问权限后,再将访问权撤回。撤销访问权限对系统的安全性至关重要。例如,如果你要解雇一名员工,会想到撤销他们可能拥有的任何访问权限,包括访问他们的电子邮件账户、你的虚拟专用网络(VPN)和你的设施。当你使用计算机资源时,快速撤销对给定资源的访问也可能特别重要。