2009年4月10日星期五

好文转:访问控制Access Control专业术语详解2

Pass Phrase
是一种很长的密码,比如ThisIsMyFirstPassPhrasePasswordInMyLife,这种密码被转换成为Virtual Password输入系统来进行验证。由于这种密码很长,因此很难被攻破。

Memory Card和Smart Card
Memory Card和Smart Card都是Some他hing you have的认证方式,他们之间的区别在于是否具有处理能力。没有处理能力的是Memory Card。Memory Card内部含有用户的认证信息,当 Card Reader读到卡内的信息时,这些信息用来向系统提供用户身份的验证。由于Smart Card本身具有处理能力,因此本身就可以提供双因子认证。用户首先向Smart Card输入自己的PIN,Smart Card验证后用户才可以使用。Smart Card分为两种类型,一种是接触式Contact的,另外一种是非接触式Contactless的。

Single Sign On(SSO)
很多时候,用户需要访问很多的系统。由于每个系统的认证信息不同,用户需要记住很多的密码,为了记住这些密码,用户喜欢用笔记录在某个地方,从而增加了密码泄露的危险。SSO的出现解决了这些问题,用户只需要登录一次,就可以访问他可以访问的所有的资源。当然,这同时也带来了风险。如果用户密码泄露,则入侵者可以最大限度地访问所有的资源SSO可以通过Scripts实现,也可以通过Kerberos, SESAME, NetSP, KryptoKnight等等实现。

Kerberos  --对称密钥
Kerberos是MIT开发Athena计划的一部分。Windows 2000,2003操作系统中已经实现。Kerberos采用的是对称秘钥加密算法,包括有Key Distribution Center(KDC), Ticket Granting Service(TGS), Authentication Service(AS)三个组成部分。其中KDC为包括Users, Applications和Services在内的Principals提供安全服务。KDC必须和所有的这些Principals有共享秘钥,用来加密之间的信息。
Kerberos认证过程如下:



Kerberos的弱点有:

KDC是单一故障点。(容易造成)
由于共享密钥Secret Key和会话密钥Session Key临时会存放在工作站中,会出现泄露的危险
KDC无法发现字典式密码猜测攻击。

SESAME:  --对称密钥
SESAME是Secure European System for Applications in a Multi-vendor Environment的简称,是为了解决Kerberos的弱点而提出的。SESAME使用公开加密算法和对称加密算法来实现对通信的保护SESAME使用公开加密算法来实现对称密钥的交换和访问控制,使用Needham-Schroeder协议和认证服务器AS解决密钥管理,采用MD5和CRC32来保护密钥的安全。与Kerberos不同的是,SESAME提供两种Certificates或者Tickets,一个用来提供认证,另外的一个提供给客户访问许可SESAME的同样也容易被字典式攻击。

KryptoKnight
KryptoKnight是IBM开发的提供认证、SSO和密钥分发服务的系统。与Kerberos相同,它依赖于一个知道所有主体/客体密钥的可信的Key Distribution Center(KDC)来管理密钥和密钥分发。与Kerberos不同,KryptoKnight的KDC和需要认证服务的主体/客体在结构上是Peer-to-peer的。

NetSP是采用一个工作站实现的KryptoKnight认证方法。

访问控制管理方法
访问控制方法可以分为两个大类,一类是集中式访问控制Centralized Access Control,另一类是分布式访问控制decentralized/distributed access control

Centralized Access Control:
集中式访问控制方法就是有一个实体检查对所有资源的访问。主要有RADIUS, TACACS, DIAMETER等等,按照认证协议的不同,有PAP,CHAP和EAP三种

RADIUS
RADIUS(RFC2138,2139)是Remote Authentication Dial-In User Service的简称,是一种基于客户机/服务器 (Client/Server)的开放式的认证和授权协议,采用UDP方式通信,主要用于ISP服务提供商提供远程拨号用户的认证,不能提供双向认证。用户提供username和passoword,通过PPP协议传送到接入服务器Access Server,然后接入服务器和RADIUS服务器通过RADIUS协议通信。如果用户认证通过,则系统会为用户分配一个IP地址和连接参数,以便用户访问网络服务。RADIUS服务器可以作为客户认证请求的代理另外的认证服务器进行认证请求标准的RADIUS认证不能按照时间限制用户访问也不能在某个时间取消某个用户的访问。

TACACS
Terminal Access Controller Access Control System (TACACS)最早是在ARPANET时期发展起来的,最初基于的是UDP协议,后来改为基于TCP协议。TACACS有三个版本TACACS,XTACACS,TATACS+,这三个版本的区别在于TACACS的认证和授权是合并在一起的,并且只能使用静态口令;XTACACS将认证、授权和审计(Authentication, Authorization, Accounting ,AAA)完全分开,TACACS+是扩展了双因子认证的XTACACS,用户可以使用动态或者一次性口令。

TACACS与RADIUS的不同
TACACS提供与RADIUS基本相同的功能。主要的不同有:
TACACS+采用TCP,而RADIUS采用UDP
RADIUS只对用户的口令进行加密,而在TACACS+中,用户名、口令、审计和认证信息等所有信息都被加密
RADIUS的认证和授权服务是合并在一起的,而TACACS+中,认证,授权和审计都分开实现,实现了真正的AAA结构。这种结构可以让管理员自由决定采用何种认证协议,比如PAP,CHAP或者EAP等

DIAMETER
随着日益复杂和多样的网络,比如VOIP,Mobile IP的出现,传统的RADIUS,TACACS已经不能满足需要,DIAMETER应运而生,它克服了RADIUS的缺点,提供了更为灵活的功能。Diameter只定义了defines header formats, security options, commands, and AVPs,以便可以方便的扩展。与RADIUS和TACACS不同的是,DIAMETER采用的对等模式,允许任意的一方发起通信请求。同时,DIAMETER允许采用IPSec或者TLS提供端到端的加密服务

Decentralized/distributed access control
在分布式访问控制方法中,访问控制被赋予距离资源最近的人来管理主要是为了更好的实现对资源的访问控制。但由于控制人员的不同,会出现权力分配冲突的情况发生。同时,也不能很好的实现安全策略最好的分布式访问控制方法是使用一个数据库来管理

Access Control Models访问控制模型
访问控制模型主要有Mandatory Access Control(MAC),Discretionary Access Control(DAC)和Non-Discretionary Access Control(也称role-based access control (RBAC)).三种。分别适用于不同的访问控制。

Mandatory Access Control(MAC)强制性访问控制
MAC是基于BLP开发的,也就是基于安全标签Security Label或者敏感性标签Sensitive Label,用于对信息机密性分类非常严格的环境。在这种模型中,资源所有者不能决定资源的访问,所有的访问控制都由操作系统按照安全策略Security Policy来决定,因此,这样的操作系统都是专用的。用户(主体subject)被赋予机密,秘密,保密等安全许可,资源(客体object)也按照这个分类,主体和客体都由安全标签,其中包含有安全许可和分类信息。系统依赖于安全标签和安全策略来实现访问控制。主体的安全标签必须要高于或者等于客体的安全标签才可以访问客体。(例子: Rule-Based Access Control)


Discretionary Access Control(DAC)
DAC是把分配资源访问权限的职责给了资源的所有者。资源所有者可以通过ACL控制那些用户(Identity)可以访问资源,因此也叫Identity-Based Access Control。常见的大部分的操作系统比如Windows, LINUX等等都是基于DAC开发的。 
(例子ACL , IBAC)

Non-Discretionary Access Control(role-based access control (RBAC))
这种安全控制模型是由一个单一的授权控制机构,根据用户所属的组或者在公司中的职责来确定对资源的访问许可,因此非常适合人员流动性大的公司资源的访问许可基于职责或者角色Role的,每个角色确定了本角色所需要的访问许可
(例子 RBAC)

访问控制实现技术

Rule-Based Access Control
基于规则的访问控制实现技术是按照如果X,那么Y的方式来确定主体是否可以访问客体,它可以是基于个体的规则,也可以是全局的规则,也可以二者兼顾。许多防火墙和路由器都是采取基于规则的访问实现技术来实现对内部网络的保护。

原文:http://butian.org/security/server/133_2.html

没有评论:

发表评论