引言:身份和访问管理IAM侧重于授予和撤销访问数据或在系统上执行操作的权限相关问题。
该知识领域涉及如下考点,具体内容分布于如下各个子章节:
访问控制解决的不仅是控制哪些用户可访问哪些文件或服务。它是关于实体(主体和客体)之间的关系。
主体:活动实体,它访问被动客体以从客体接收信息或数据。主体可以是用户、程序、进程、服务、计算机或可访问资源的任何其他内容。
客户:被动实体,它向活动主体提供信息。客体可以是文件、数据库、计算机、程序、进程、服务、存储介质等。
访问控制有以下步骤:
1、一般分类
预防控制:试图阻止违反安全策略。如防火墙、闭路电视、栅栏、SOD、IPS、渗透测试等
威慑控制:试图阻止违反安全策略,但威慑控制往往取决于个人决定不采取不必要行动,而预防性控制阻止了该动作。策略、安全意识培训、保安、陷阱、安全摄像头
检测控制:试图发现或检测不必要或未经授权的活动。如岗位轮换、IDS、蜜罐
补偿控制:补偿控制是对其他控制的补充或替代。如加密
纠正控制:使环境在出现问题后恢复到原始状态。终止恶意活动、重启等
恢复控制:试图在安全策略违反后修复或恢复资源和功能。如镜像、热站点、冷站点等
指示控制:试图指导、限制或控制主体的操作,以强拆同或鼓励遵守安全策略。如安全策略、逃生出口标记、监控等
2、按实现方式分类
技术性控制措施 也称逻辑访问控制,依靠硬件或软件来保护系统和数据。
管理性控制措施 基于法规、要求和组织自己的政策。
物理性控制措施
身份识别 是主体声明或宣称身份的过程。核心原则是所有主体必须具有唯一的身份。
身份验证 通过将一个或多个因素与有效身份数据库进行比较来验证主机的身份。
身份识别和身份验证始终作为一个两步过程一起发生。提供身份是第一步,验证身份信息是第二步。
当用户首次获得身份时,将发生注册过程。越安全的身份验证方法,其注册过程越复杂。如采集用户指纹、从客户那里收集信息、提供和绑定的手机的银行卡号等。
授权:主体基于已证实的身份被授予对客体的访问权限。
问责:实施审计时,用户和其他主体可以对其行为负责。
三种基本的身份验证方法、类型或因素:
你在什么地方?
根据特定的计算机识别主体的位置,主要通过IP地址或者来电显示识别地理位置。
上下文感知身份验证
移动设备管理(Moblie Device Management,MDM)系统使用上下文感知身份验证来识别移动设备用户。可识别多个元素,如用户位置、时间和移动设备。
创建强密码
密码短语:如1P@ssedTheC1SSPEx@m
认知密码:如你的第一只宠物的名字是什么?
密码的复杂性是由长度驱动的,较长的密码比较短的密码更有效地抵御暴力攻击。每个额外长度的字符都会增加潜在字符集大小的难度(例如,一个小写字符会使密码破解难度增加26倍)。虽然其他设置对强密码策略都很有用,但它们不会对暴力攻击产生同样的影响。
智能卡
信用卡大小的ID或徽章,其中嵌入了集成电路芯片。智能卡包含用于标识身份验证目的的授权用户信息。
通用访问卡(Common Access Card,CAC)和个人身份验证(Personal Identity Verification,PIV)卡都是智能卡。
令牌是基于时间或算法生成一次性密码的硬件设备(您拥有的东西)。它们通常与另一个因素(如密码)相结合,以对用户进行身份验证。CAC和PIV卡是美国政府发行的智能卡。
令牌
令牌设备或硬件令牌是用户可随身携带的密码生成设备。如今通用令牌包括显示6-8位数字的显示器。令牌有两种类型:
异步令牌使用质询/响应过程,在该过程中,系统发送质询,用户使用PIN和对质询的计算响应进行响应。服务器执行相同的计算,如果两者匹配,则对用户进行身份验证。同步令牌使用基于时间的计算来生成代码。
1. 生物特征因素误差评级
生物识别设备通过检查它们产生的不同类型的错误来评定性能。
FRR与FAR百分比相等的点是CER,CER用作标准评估值来比较不同生物识别设备的准确度。CER较你的设备比CER较高的设备更准确。
2. 生物识别登记
注册时长 由于注册时间,吞吐率和接受度等因素,生物识别设备可能无效或不可接受。
验证时长 用户不太愿意接受花费很长时间的生物识别方法;
吞吐率 是系统扫描主体并批准或拒绝访问所需的时间。主体通常接受不超过6秒的吞吐率。
多因素身份验证必须使用多种类型或因素,例如你知道的因素和你拥有的因素。
要求用户输入密码和PIN不是多因素验证,因为这两种方法都来自单一身份验证因素(你知道什么)。
身份管理技术通常分为两类:
集中式访问控制管理开销低,但单个更改会影响整个系统。
分布式访问控制管理开销大,随着访问控制点数量增加,保持系统一致性变得更困难。
单点登录(Single Sign-on,SSO)是一种集中访问控制技术,允许主体在系统上进行一次身份验证,并且不需要再次进行身份验证即可访问多个资源。
优点:方便,安全;
缺点:一旦入侵,攻击者就可以获得对所有授权资源的无限制访问。
Kerberos、Active Directory联合身份验证服务(Active Directory Federation Services,ADFS)和中央验证服务(Central Authentication Services,CAS)都是SSO实现。RADIUS不是一个单一的登录实现,尽管一些供应商在幕后使用它来为专有SSO提供身份验证。
目录服务是一个集中数据库,其中包含有关主体和客体的信息。许多目录服务都基于轻量级目录访问协议(Lightweight Directory Access Protocol,LDAP)
LDAP的简单身份验证和安全层(Simple Authentication and Security Layer,SASL)支持一系列身份验证类型,包括安全方法。
PKI在将数字证书集成到传输中时会使用LDAP。LDAP和集中式访问控制系统可用于支持SSO。
票据认证是一种利用第三方实体来证明身份并提供身份验证的机制。常见的票据系统是Kerberos。Kerberos为用户提供SSO解决方案,并为登录凭据提供保护。关键元素有:
Kerberos登录过程如下:
(1)用户在客户端输入用户名和密码;
(2)客户端采用AES加密用户名以传输到KDC;
(3)KDC根据已知凭据的数据库验证用户名;
(4)KDC生成将由客户端和Kerberos服务器使用的对称密钥。它使用用户密码的散列对此进行加密,KDC还生成加密的带时间戳的TGT;
(5)KDC将加密的对称密钥和加密的带时间戳的TGT发送客户端;
(6)客户端安装TGT以供使用,直到它过期。客户端还使用用户密码的散列来解密对称密钥。
官方端的密码永远不会通过网络传输,但会经过验证。
Kerberos存在单点故障KDC。如果KDC受到威胁,网络上的每个系统的密也会受到损害。
Kerberos依赖于连接两端正确同步的时间来发挥作用。如果本地系统时间不同步超过五分钟,有效的TGT将无效,系统将不会收到任何新的票证。
许多基于云的应用程序使用联合身份管理(Federated Identify Management,FIM),也是一种SSO形式,多个组织可加入联盟或组,在这些组织中共享身份的方法达到一致。
联合身份系统通过使用安全断言标记语言(Security Assertion Markup Language,SAML)和/或服务配置标记语言(Service Provisioning Markup Language,SPML)以便在各个公司在联合身份管理中使用共同语言。
SAML是互联网上流行的SSO语言。OAuth和OpenID Connect与许多基于Web的应用程序一起使用,不需要共享凭据即可共享身份验证信息。
混合身份验证服务(hybrid authentication )可以在云中和本地提供身份验证服务,确保最大限度地减少因链接中断而导致的服务中断
OAuth(Open Authorization,开放式身份验证)是一种用于访问委派的开放标准。假如你有一个github账户,然后你去访问另一个网站,可以与你的微信账户进行交换,当你尝试使用此功能时,它会将你重定向到gitHub,如果你尚未登录,则会提示你登录github。
OpenID也是一个开放标准,由OpenID基金会维护。它提供分散式身份验证,允许用户使用由第三方服务维护的一组凭据登录多个不相关的网站。
OpenIDConnect是一个RESTful、基于JSON的身份验证协议,当与OAuth配对时,它可以提供身份验证和基本配置文件信息。
凭据管理系统为用户提供存储空间,以便在SSO不可用性保留其凭据。如Windows系统包括凭据管理器,用户将凭据输入凭据管理器,必要时OS将检索用户的凭据并自动提交。
KeePass是一个免费软件工具,可将凭据存储在加密数据库中,用户使用主密码解锁数据库。
身份服务提供了额外的身份识别和身份验证工具。
身份即服务(Identify as a Service,IDaaS)是提供身份和访问管理的第三方服务。
使用任何类型的身份验证系统时,管理会话以防止未授权的访问。包括计算机上的会话(通过屏保中断)及在线应用程序中的会话(Session)。
身份验证、授权和问责,称为AAA(Athentication、Authorization和Accounting)协议。常见AAA协议如下:
远程身份验证拨入用户服务(RADIDS)集中了远程连接的身份验证。它通常在组织具有多个 网络访问服务器时使用。用户可连接到任何网络访问服务器,然后它将用户的凭据传递给RADIUS服务器,以验证身份、授权以及问责。
RADIUS在网络访问服务器和共享身份验证服务之间提供AAA服务。网络访问服务器是RADIUS身份验证服务器的客户端。
终端访问控制器控制系统(TACACS)是RADIUS的替代方案。TACACS扩展(XTACACS+)成为一个常用的公开协议。TACSACS+对早期版本和RADIUS作了改进,将身份验证、授权和问责分离为单独的进行,甚至可将这些进程托管在三个单独的服务器上。
TACACS+加密所有身份验证信息,而RADIUS仅加密密码。但TACACS+和XTACACS+都是Cisco专有协议
在TACSACS和TACSACS+成功的基础上,开发了名为Diameter的增强版RADIDS。它支持多种协议,包括IP、VoIP。Diameter使用TCP端口3868或流控制传输协议(Stream Control Transmission Protocol,SCTP)提供比RADIUS使用用UDP更好的可靠性。还不支持IPsec和TLS。
最初创建用户账户通常称为登记或注册,适当的配置可确保人员在创建账户时遵循特定程序。
应定期审核账户,以确保正在执行安全策略。
权限蠕变(Privilege creep)涉及用户账户随着工作角色和分工的更改而累积权限。
当员工出于任何原因离开组织时,务必尽快信用其账户。包括员工请假的时间。
访问控制模型使用多种类型的授权机制或方法来控制谁可访问特定客体:
前期章节回顾: