10、系统访问

一、系统访问的概念

系统访问是限制授权用户为特定业务目的的访问业务应用程序、移动设备、系统和网络的能力。系统访问包括以下三种不同功能:
认证(Authentication):认证指验证用户、进程或设备的身份,通常作为允许访问信息系统中的资源的先决条件。此功能通常被称为用户认证,以区别消息认证和数据认证。
授权(Authorization):在系统访问的场景中,授权指授予用户、程序或访问系统资源的进程的访问权限或其他权限。
访问控制(Acccess control):是一个过程,该过程允许或拒绝试图访问和使用信息及相关信息处理服务的特殊请求,以及试图进入特定物理设施的特殊请求。访问控制确保访问的资产是根据业务和安全需求进行授权和限制的。

二、用户身份认证

用户身份认证是最复杂、最具挑战性的安全功能之一。每种身份认证方法都有其相关的威胁、风险和对策。在大多数计算机安全环境中,用户身份认证都是基本的组成部分和基本防线。用户身份认证是大多数访问控制类型和用户可追踪性的基础。用户身份认证包括以下两个功能:
识别(Identification)步骤:这一步骤涉及像安全系统提供标识符(仔细分配标识符,因为已验证的标识是其他安全服务的基础)。
验证(Verification)步骤:这一步骤涉及呈现或生成验证信息,以确认实体和标识符之间的绑定关系。
从本质上讲,识别是用户向系统提供其声称的身份的方法,而身份认证是确定该声称的有效性的手段。

2.1 电子用户身份认证模型

NIST SP 800-83《数字身份指南》定义了用户身份认证的通用模型,该模型涉及许多实体和过程。

这个模型设计了三个重要概念:
数字身份(Digital Identity):数字身份是参与在线交易的主题的独特表现形式。该表现形式由一个或一组属性组成,这些属性在数字服务的给定环境中唯一地描述主题,但不一定唯一地标识所有环境中地主题。
身份确认(Identity proofing):确定一个主体是他声称的身份的过程,该过程能够达到一定程度的确定性。这个过程包括个人信息的收集(collectiong)、确认(validata)和验证(verify)。
数字认证(Digital authentication):该过程包括确定用于声明数字身份的一个或躲各认证器的有效性,身份认证确保试图访问数字服务的主题都在身份认证技术的控制之下。成功的身份认证提供了基于风险的合理保证,即今天访问服务的主题与以前访问服务的主题是相同的。
上图定义了6个实体:
证书服务提供商(Cerdential Service Provider,CSP):证书服务提供商是发布或注册订阅者身份认证其的可信实体。为此,CSP为每个订阅者建立一个数字凭证,并向订阅者发布电子凭据。CSP可以是独立第三方,也可以签发凭证为自己所用。
验证者(Verifier):验证者是一个实体,它使用身份认证的协议,通过验证请求这对一个或两个认证器的所有权和控制权来验证请求者的身份。为此,验证者可能还需要验证将身份认证其链接到订阅方标识符并检查其状态的凭据。
依赖方(Relying Party,RP):依赖方是一个实体,它以来订阅者的身份认证器和凭据,或验证者对请求者身份的断言,通常用于处理事务或对信息或系统授予访问权。
申请人(Applicant):正在进行注册和身份认证的主题。
请求者(Claimant):需要使用一个或多个身份验证协议验证其身份的主体。
订阅者(Subscriber):从CSP获得证书或认证器的一方。
上图的左边部分说明了申请人为了访问某些服务和资源而在系统中注册的过程:
1)申请人向CSP提交拥有与该数字身份相关的属性的证书。在CSP成功校对后,申请人成为订阅人。
2)根据,根据整个身份认证系统的详细信息,CSP向订阅者颁发某种电子凭证。

凭证:是一种数据结构,将身份和其他属性授权绑定到订阅者拥有的一个或多个认证器。认证器可以是加密密钥,也可以是用于识别用户的加密后的口令。身份认证器由CSP办法,由订阅者直接生成,或由第三方提供。

上图的右边部分说明了:
1)一旦用户注册成为订阅者,身份认证过程就在订阅者和一个或多个执行身份认证的系统之间进行。被认证的一方称为请求者,验证该身份的一方称为验证者。
2)当请求者通过身份验证协议成功地向验证者演示身份认证器的所有权和控制权时,验证者将验证请求者是相应凭据中的订阅者。
3)验证者将关于订阅者身份的断言传递给依赖方,该断言包含有关订阅者的标识信息。依赖方使用验证者提供的经过验证的信息来制定访问控制或授权决策
在某些情况下,验证者与CSP交互,以访问绑定订阅器的身份和身份认证器的凭据,并可选地获取请求者属性。在其他情况下,验证者不需要与CSP实时通信以完成身份认证活动。

2.2 身份认证方式

认证用户身份的通用方法有三种,它们叫做身份认证因素(authentication factors),且可以单独使用或组合使用。
知识因素(你知道什么):用户必须战术其关于私密信息的知识。例如,口令、个人识别码或私密问题。
所有权因素(你拥有什么):授权用户必须提供一个物理实体来连接到客户计算机或门户。所有权分为两类因素:
连接硬件令牌:它逻辑或物理地连接到计算机以验证身份。例如,智能卡、USB令牌等。
无连接硬件令牌:它不直接连接到客户计算机,但需要试图登录的个人输入。通常,无连接的硬件令牌设备使用内置屏幕,显示身份认证数据,然后用户使用这些数据在提示时登录。
内在因素(生物因素):对个体来说是独一无二或几乎是独一无二的。这些技术包括静态生物识别技术,如指纹、视网膜等;以及动态生物技术,如语音、字体等。

2.3 多因素身份认证

多因素身份认证是指使用前面列表中的多种身份认证方法。认证系统的强度在很大程度上取决于系统所包含的因素数量

三、基于口令的身份认证

口令系统要求用户不仅要提供名称或标识符(ID),还需要提供口令。系统将口令与以前保存在系统口令文件中的用户ID的口令进行比较。口令用于验证登录系统的个人ID。该ID以下列方式提供安全性:
ID决定用户是否被授予访问系统。
ID决定给予用户的特权。
ID用于所谓的自由访问控制。

3.1 口令弱点

通常情况下,使用基于口令的身份认证服务器维护由用户ID索引的口令文件。当用户登录或发出访问请求时,他将同时提供ID和口令。服务器在口令文件中查找该ID的口令,以确定是否匹配。
攻击策略及其对策如下:
离线字典攻击:黑客通过绕过保护口令文件的安全控制获得口令文件的访问权限,获得口令文件的攻击者将口令哈希与常用口令的哈希进行比较。这种情况的应对策略包括:访问对口令文件未经授权的访问,确定这种的入侵检测措施,如果口令文件被消弱了就立即重新发布口令。
特定账户攻击:在这种攻击中,攻击者以特定的账户为目标,提交口令猜测直到找到正确的口令。标准对策是账户锁定机制。
流行口令攻击:使用流行的口令并对各种用户ID进行尝试。对策包括禁止用户选择常用的口令,扫描身份认证请求的IP地址和提交模式的客户端cookies。
针对单个用户的口令猜测:攻击者可能试图获取有关账户持有人和系统口令策略的知识,并使用这些知识猜测用户口令。对策包括培训执行口令策略。
工作站劫持:在这种类型攻击中,攻击者会等待直到一个已登录的工作站无人值守。对策是在一段时间内不活动后自动推出工作站。
利用用户错误:如果系统分配了一个口令,那么用户更有可能把它写下来,因为它很难记住。黑客就可以通过社工等方式获得这个密码。对策包括用户培训、入侵检测和与另一种身份认证机制相结合的更简单的口令。
利用多个口令的使用:如果不同的网络设备为给定用户共享相同或相似的口令,攻击将变得更有效或更具破坏性。对策包括禁止在特定网络设备上使用相同或类似的口令的策略。
电子监控:如果口令通过网络进行通信以登录远程系统,那么很容易被窃听。简单加密并不能解决这个问题,因为加密的口令实际上就是口令,可以被攻击者观察和重用。

3.2 哈希口令的使用

一种广泛使用的口令安全及时是哈希口令和盐值(salt value)的使用。

要将新口令加载到系统中,用户需要选择或分配一个口令。系统将口令与固定长度的盐值(在旧实现中,这个盐值与口令分配用户的时间有关;在较新实现中使用了伪随机数)进行组合。口令和盐值作为哈希算法的输入,以生成固定长度的哈希代码。然后,哈希口令与盐值的纯文本副本一起存储在对应用户ID的口令文件中。
当用户试图登录UNIX系统时,用户提供ID和口令。操作系统使用ID索引到口令文件,并检索明文盐值和哈希口令。盐值和用户提供的口令作为哈希算法的输入。如果结果与存储值匹配,则接收口令。
盐值有以下三个用途:
1)它可以防止口令文件中出现重复口令。即使两个用户使用相同的口令,这些口令也会被分配不同的盐值。因此,这两个用户的哈希口令是不同的。
2)它大大增加了离线字典攻击的难度。
3)在两个或多个系统上拥有口令的人是否在所有系统上使用了相同的口令变成几乎不可能被发现的事情。
UNIX口令方案存在两种威胁:
1)攻击者可以通过使用客户账户或其他方式访问计算机,然后再计算机上运行口令猜测程序。
2)攻击者能够获得口令文件的副本,那么攻击者就可以再另一台计算机上轻松运行,这使得攻击者能够再合理的时间内运行数百万个口令。

四、基于所有权的身份认证

用户为进行用户身份认证而拥有的课题有时称为硬件令牌。

4.1 基于所有权的身份认证的威胁

硬件令牌容易受到各种威胁,包括以下威胁:
盗窃:攻击者可以窃取令牌设备。
复制:攻击者获得设备的访问权并克隆它。
窃听/重放:当订阅者进行身份认证时,身份认证器加密或输出将显示给攻击者。
重放:如果攻击者能够再令牌设备和服务器之间进行干预,那么就构成了中间人攻击。
拒绝服务:攻击者对服务器的多次尝试可能导致服务器锁定合法客户端。
主机攻击:攻击者可以获得对身份认证服务器的足够控制,以便对应用程序进行身份认证。

4.2 基于所有权的身份认证的安全控制

安全控制增强了硬件令牌的安全性,包括以下内容:
使用需要通过PIN或生物特征激活的多因素硬件令牌。
在身份认证器的知识不能帮助派生后续身份认证器的情况下,使用具有动态身份认证器的硬件令牌。
使用在多次激活尝试失败后会锁定的硬件令牌。
将防盗相关知识加入用户培训和意识方案。
作为初始令牌设备分发的一部分,验证接收身份认证器的个人信息。,
确保身份认证器具有足够的机制来满足其预期用途。
为初始身份认证器分发、丢失/损坏的身份认证器以及撤销身份认证器建立并实行管理程序。
为令牌设备建立最大生存限制和重用条件。

五、生物特征认证

生物特征认证系统试图根据个人独特的生理特征进行认证。这包括静态特征(例如,指纹、面部特征、视网膜和虹膜等)和动态特征(例如,声纹、签名、步态等)。从本质上讲,生物识别时基于模式识别。

5.1 生物特征指标

在涉及生物特征识别系统时,必须考虑两组指标:生物特征的性质和生物特征识别系统的要求。关于生物特征必须具有下列特征:
普遍性:一个很高的人口百分比,接近100%,应该具有这一特征。
独特性:没有两个人应该有相同的特征。
持久型:特性不应随时间的改变而改变。
可收集性:获取和测量生物特征应该是简单的、非侵入性的、可靠的和耐用的,并且对应用程序具有成本效益。
生物识别系统也必须符合下列标准:
性能:系统必须满足要求的精度水平,在要求的环境范围内正常运行,并具有成本效益。
规避:规避系统的难度必须满足要求的阈值。在无人看管的环境中,使用此类对策和指纹假肢或面部照片更容易。
可接受性:系统必须为用户普遍接受。对用户来说不舒服的系统,看起来有威胁性,需要引起卫生问题的接触,或者基本上不直观的系统,很可能不为普通人群所接受。

5.2 生物特征认证系统的操作

每个被纳入授权用户数据库的人都必须首先在系统中注册。根据应用程序的不同,生物识别系统上的用户涉及验证或身份认证。

5.3 生物识别的准确率

错误匹配率(False Match Rate,FMR)是指来自不同来源的生物特征样本被错误地评估为来自同意来源地频率。
错误不匹配率(False Non-Match Rate,FNMR)是指来自同一来源的样本被错误地评估为来自不同来源的频率。

知识点补充(来自CISSP):
错误拒绝率:当未对有效主体进行身份验证时,会发生错误拒绝,也被称为I型错误。
错误接受率:当对无效主体进行身份验证时,发生错误接受,也被称为II型错误。

错误匹配会导致不应该接受的用户被接受,而错误不匹配会触发有效用户被拒绝。但是请注意,FMR的减少会导致FNMR的增加,反之亦然。

5.4 生物特征认证的威胁


上图描述了一个系统中的11个受攻击面点,攻击者可能会在其中插入流以干扰身份认证决策。这11个元素可以在单个设备中,也可以分布在多个物理系统中。

5.5 生物特征认证的安全控制

生物特征认证最重要的安全控制是演示攻击检测(Presentation Attack Detection,PAD)。
PAD涉及两种类型的方法来直接对抗生物识别中对传感器的欺骗尝试:伪像检测和活体检测。伪像检测试图回答:”传感器上的生物特征样本是否是人造的?“;活体检测试图回答:”生物传感器中的生物样本是否来自活着的人类呈现的样本?“。
PAD的错误率必须通过经检验测试来确定。PAD测试的目标是测试一组测试素材表示攻击的潜力级别,并确定在这些材料中发现攻击时可能出现的最大错误率。攻击的潜在级别代表发起攻击所需的努力级别。对于给定的生物识别系统,安全人员需要确定什么样的攻击潜在级别才值得开发安全控制。

六、用户身份认证的风险评估

6.1 身份认证保证级别

NIST SP 800-63使用身份认证保证级别(Authenticatin Assurance Level,AAL)的概念,提供了一种描述身份认证系统风险的有效方法。较高的AAL表示攻击者必须具有更好的能力并花费更多的资源才能成功地破坏身份认证过程。
NISP SP 800-63根据身份认证因素指定了与三个定义的AAL对应的安全控制类型。因此,管理人员可以评估用于安全控制的各级资源的风险级别,并决定需要哪些控制来满足组织在各种上下文中对身份认证的风险需求。
由低至高的三个AAL分别是:
AAL1:保证请求人控制并绑定到订阅者账户的身份认证程序。AAL1需要使用各种可用的身份认证技术进行单因素或多因素身份认证。成功的身份认证请求者通过安全的身份认证协议对认证器的拥有和控制。
AAL2:请求者控制绑定到用户账户的认证器的高度信任。通过安全认证协议,需要证明拥有和控制两个不同的身份认证因素。ALL2和AAL3需要经过批准的加密技术。
AAL3:AAL3提供了足够的信息,即请求者控制绑定到订阅者账户的认证器。AAL3上的身份认证基于通过加密协议拥有密钥的证明。AAL3身份认证要求使用基于硬件的加密身份认证器和提供认证器模拟阻力的身份认证器;同样的设备可以满足这两个要求。为了在AAL3上进行身份认证,请求者必须通过安全身份认证协议证明拥有和控制两个不同的身份认证因素,需要经过批准的加密技术。

如下表示了,选择AAL的决策过程:

6.2 选择认证方式

NIST SP 800-63B定义了9种不同的身份认证类型,它们可以单独使用,也可以组合起来使用:
记忆的秘密:口令或PIN。
查找秘密:存储请求者和CSP之间共享的一组秘密的物理或电子记录。请求者使用认证器查找响应验证者提示所需的适当秘密。
带外设备:一种物理设备,它是唯一可寻址的,可以通过称为辅助通道的不同通信通道与认证安全地通信。该设备由请求者拥有和控制,并支持通过该辅助通道进行私有通信。
单因素OTP设备:一次性口令,用于身份认证的唯一因素。
多因素OTP设备:与单因素OTP设备类似,除了它需要输入已记忆的秘密或使用生物特征来获得一次性口令。
单因素加密软件:存储在磁盘或其他软媒体上的加密密钥。身份认证是通过证明密钥的拥有和控制来完成的。认证器(authenticator)输出高度依赖于特定的加密协议,但它通常是使用公钥密码加密的某种签名消息。
单因素加密硬件:一种硬件设备,它使用受保护的加密密钥执行加密操作,并通过与用户端点的直接连接提供身份认证器的输出。该设备使用嵌入的堆成或非堆成加密密钥,不需要通过第二个身份认证因素进行激活。身份认证是通过验证协议证明设备的所有权来完成的。
多因素加密软件:类似于单因素加密软件的软件,但需要第二个身份认证因素才能激活。
多因素加密硬件:类似于单因素加密硬件的硬件,但需要第二个身份认证因素才能激活。
一旦确定了身份认证级别,身份认证方法的选择就由上述身份认证器类型的一个或多个组成。
对于AAL1,这9种类型中的任何一种都可以单独使用,这反映了安全性要求低于更高级别的事实。
对于AAL2,有两种选择:第一种是使用结合了两个身份认证因素的硬件或软件;第二种是将口令与单因素身份认证器的类型结合起来。
对于AAL3,要获得较高的可信度,它必须包括通过加密协议拥有密钥的证明,以防止验证者实体的模拟的身份认证器。

七、访问控制

访问控制有以下术语:
访问:与系统通信或以其他方式与系统交互、使用系统资源处理信息、获取系统所包含信息的知识或控制系统组件和功能的能力和手段。
访问控制:授权或拒绝获取和使用信息以及相关处理服务进入特定物理设施的特定请求的过程。
访问控制机制:指用于检测和拒绝未经授权的访问以及允许对信息系统进行授权访问的安全保障措施。
访问控制服务:一种安全服务,该服务以系统安全策略未对系统实体授权的方式,阻止其使用系统资源。

7.1 主体、客体和访问权限

访问控制的基本要素是主体、客体和访问权限。
主体是能够访问客体的实体。主体的概念一般等同于进程中主体的概念。任何用户或应用程序实际上都可以代表该用户或应用程序的进程访问客体。该进程具有用户的属性。
主体通常对其发起的操作负责,审计可用于记录主体与主体对客体执行的安全相关操作的关联关系。
基本访问控制系统通常定义三类主体,每一类具有不同的访问权限:
所有者:它是资源的创建者。对于系统资源,所有权可以术语系统管理员。对于项目资源,项目管理员或领导可以被分配所有权。
组:除了分配给所有者的特权之外,还可以授予指定用户组访问权限,这样组中的成员便具有行使这些访问权限的资格。在大多数方案中,用户可以属于多个组。
其他用户:授予这些用户能够访问系统的最少访问权限,这些权限不包括在所有者和组中用户所拥有的权限。
客体是访问受到控制时所能访问的资源。一般来说,客体是用来包含和接受信息的实体。
访问控制系统要保护的客体的数量和类型取决于访问控制所处的环境,以及在安全性与复杂性、处理负担和易用性之间的权衡。
访问权限描述主体访问客体的方式:读、写、执行、删除、创建、搜索。

7.2 访问控制策略

访问控制策略规定允许的访问类型、在什么情况下以及由谁进行访问。访问控制策略通常分为以下几类:
自主访问控制(DAC):基于请求者的身份和声明对允许(或不允许)请求者做什么的访问控制(授权)的访问控制。在具有特定访问权限的主体能够将该权限(可能是间接地)传递给任何其他主体的意义上,这些控制是可自主决定的。
强制访问控制(MAC):基于比较安全标签(表明系统资源的敏感程度或关键程度)和安全许可(表明系统实体有资源访问某些资源)的访问控制。这种策略被称为强制性,因为具有访问资源权限的实体可能无法仅凭其自身的意愿使另一个实体访问该资源。
基于角色的访问控制(RBAC):基于用户角色的访问控制(即,用户根据给定角色的显示或隐式假设接收的访问授权的集合)。角色权限可以通过角色层次结构继承,通常反映在组织中执行定义的功能所需的权限。一个给定的角色可以应用于一个人,也可以应用于多个人。
基于属性的访问控制(ABAC):基于与主体、客体、目标、发起者、资源或环境相关的属性的访问控制。访问控制规则集定义所进行的访问的属性组和。

7.3 访问控制度量指标

NISTIR 7874《访问控制系统评估指标指南》,讨论了访问控制评估中使用的一些指标,这些指标分为以下四类:
管理:通常涌向访问控制系统管理的成本、效率和性能的属性。
实施:访问控制系统用于实时嵌入式访问控制模型和规则的机制或算法的属性。这些属性影响展现访问控制决策的效率。
性能:影响访问控制系统流程执行之外的性能的属性。
支持:不是必须的属性,但是增加了访问控制系统的可用性和可移植性。

八、客户访问

客户访问是指个人对业务应用程序的访问。客户访问还提出了其他涉及员工系统访问之外的考虑事项和安全挑战。

8.1 客户访问安排

为员工访问业务应用程序提供安全性而实现的许多安全控制也适用于客户。然而,管理需要确定在每个单独的情况下都应用这些控制,以确保客户在访问组织的业务应用程序的所有方面时都满足安全要求。
在向客户提供访问特定应用程序和信息资源的权限之前,必须进行风险评估并确定所需的控制。组织内的个人或团体应负责授权每个客户访问安排。此外,每个客户都需要由应用程序所有者唯一地标识和批准,应用程序所有者为该客户指定访问权限。
如果合适,我们应为客户提供与客户访问相关的威胁相关的意识培训和教育,以及向他们科普事件访问中可能造成的后果。
咨询组织内的各个利益相关方,以确定一方为客户提供满意和便利,另一方满足安全需求之间的适当平衡。

8.2 客户合同

在组织和客户之间就安全安排达成一致的、认可的合同是至关重要的。合同的主要特点包括:
由信息安全专家进行评估。
由行政管理层(或同等职位)签署。
定期评估(例如,每年进行一次)。
由适当的业务职能部门保管(例如,采购或法律部门)。

8.3 客户关系

定义每个客户的访问权限,然后,与任何访问应用程序或其他资源的用户一样,确定身份认证保证级别并选择适当的身份认证过程。

8.4 保护客户数据

从法律和道德上讲,组织也需要保护客户的相关数据,需要指定一个计划来保护客户数据。

posted @ 2023-05-29 16:41  Diligent_Maple  阅读(176)  评论(0编辑  收藏  举报