Access Control 访问控制

Access Control 访问控制


本文涉及的概念:

  • Access Control
    • Identity
    • Authentication
      • JWT (JSON Web Tokens)
      • OIDC (Open ID Connect)
        • ID Token
        • Access Token
        • Refresh Token
      • CAS (Central Authentication Service)
      • LDAP (Lightweight Directory Access Protocol)
    • Authorization
      • OAuth 2.0
      • SSO (Single Sign-On、Single Sign-Off)
    • Access Control Models
      • DAC
      • MAC
      • RBAC
    • Access Control Methods and Techniques
      • Rule-Based Access Control
      • Access Control Matrix
        • Capability
        • ACL
    • Access Control Management
    • Account
    • Audit
  • 4A (Authentication、Authorization、Account、Audit)
  • IAM (Identity and Access Management)
  • IDaaS (Identity as a service)

TODO:画一张图体现各种概念的关系

关于 4A 与 IAM的区别,有人做了二者差异的对比(下图):

  • 国内企业信息化管理早期多数采用用户名+密码方式进行认证,很多认证厂商以此为突破点,推出产品来加强认证手段。一个证书代表着一个身份,但认证会涉及多个应用,因此他们不得不在认证的基础上,去实现相应的身份管理、认证管理、授权管理和审计管理,即4A的概念。立意的差别,造成了4A产品无论是身份、还是授权、审计等都是为认证服务,因此会导致功能偏向性明显。例如只能提供证书相关的身份管理,不能将身份数据同步给其他应用系统;或只能让所有应用到该证书服务来认证,不能支持跨平台跨域认证,同时不能和其他的认证IDP服务做互信。因此4A、身份认证、SSO都是强认证、弱管理
  • 而IAM的第一个关键词是“身份管理”,是侧重在以Identity身份为基础,在身份治理的基础上来解决组织管理问题、业务流程问题,从内部到外部、从PC端到移动端、从线下到线上、从人到物等多维度、全方位地构建身份安全管理体系。IAM的第二个关键词是“连接”,可把IAM理解为双面插排,作为组织的基础安全设施;向上对接各种认证手段,向下连接各种应用。各种认证方式可理解为该插排上的插头,可换可替;应用系统和IAM之间通过“连接器”可直接插拔。

1 相关场景 #

在看 Access Control、SSO、4A、IAM、IDaaS之前,我们来看下相关场景。

1.1 作为员工/用户 #

  • 多套账号密码:在CRM中是老杨/密码1234,在OA中是小杨/密码9527,由于账号过多,经常忘记账号、密码,或者干脆设置同样的或简单的密码。
  • 反复注册登录:在不同系统/APP中需要反复地输入账号密码登录,或者反复注册、申请审批。

1.2 作为企业管理员 #

  • 管理员工的账号/权限费时费力:无法统一管理员工在公司内不同系统的账号/权限,导致员工缺少账号或拥有过多账号/权限;员工入职、转岗、离职时需要手动开通/收回员工的账号。
  • 无法追踪员工的行为:员工的活动分散在企业内各个系统中,无法及时发现、统计员工的行为轨迹,制止风险行为。

1.3 作为开发者 #

  • 反复造轮子:针对账号体系、注册登录、第三方登录、用户自主服务等常规和基础的功能需要反复开发。
  • 用户数据难打通:即使在公司内部,也容易出现不同系统之间账号体系的设计、口径不一致的情况,导致系统之间的用户数据难以打通。

2 Access Control 访问控制 #

信息安全的根本所在就是通过控制如何访问信息资源来防范资源泄漏或未经授权的修改。访问控制的实现手段在本质上都处于技术性、物理性或行政管理性层面。基于政策的文档、软件和技术、网络设计和物理安全组件都需要实施这种控制方法。

访问控制是一种安全手段,它控制用户和系统如何与其他系统和资源进行通信和交互。访问控制能够保护系统和资源免受未经授权的访问,并且在身份验证过程成功结束之后确定授权访问的等级。

在访问控制的环境中,正确理解主体和客体的概念非常重要:

  • 访问是在主体和客体之间进行的信息流动。
  • 主体是一个主动的实体,它请求对客体或客体内的数据进行访问。
  • 客体是包含被访问信息或者所需功能的被动实体。

TODO: 画一个主体、客体的图

2.1 主体访问客体的过程 #

一位用户为了能够访问资源,首先必须证明他是自己所声明的人,拥有必需的凭证,并且具有执行所请求动作的必要权限或特权。一旦这些步骤成功完成,这位用户就能够访问和使用网络资源;然而,我们还需要跟踪该用户的活动以及对其动作实施可问责性

身份标识(Identity) 描述了一种能够确保主体(用户、程序或进程)就是其所声称实体的方法。通过使用用户名或账号就能够提供身份标识。

为了能够进行正确的身份验证,主体往往需要提供进一步的凭证,这些凭证可以是密码、密码短语、密钥、个人身份号码(Personal Identification Number, PIN)、生物特征或令牌。这两种凭证项将会与先前为该主体存储的信息进行比较。如果这些凭证与存储的信息相匹配,那么主体就通过了身份验证。但验证工作并未结束。

一旦主体提供了其凭证并且被正确标识了身份,主体试图访问的系统就需要确定该主体是否具有执行请求的动作所需的权限和特权。系统会查看某种访问控制矩阵或比较安全标签,以便验证该主体是否确实能够访问请求的资源和执行试图完成的动作。如果系统确定主体可以访问特定的资源,那么就会为该主体授权。

尽管身份标识、身份验证、授权与可问责性都具有完整和互补的定义,然而它们在访问控制过程中都有着自己明确的作用

  • 一个用户可能能够顺利地通过网络上的身份标识和身份验证,但是可能不被授权访问文件服务器上的文件。
  • 另一方面,用户能够被授权访问文件服务器上的文件,但是在未顺利通过身份标识和身份验证之前,他们将无法获取这些资源。

主体在一个系统或区域内的动作应当可问责。确保可问责性的唯一方法是主体能够被唯一标识,并且主体的动作被记录在案。

TODO:画一个主体访问客体的4个步骤

2.2 Authentication 身份验证/认证 #

详细见: Authentication 身份验证/认证

2.3 Authorization 授权 #

既然现在我知道你是谁了, 我们看看能让你做些什么。

尽管身份验证和授权完全不同,但是它们需要互相配合完成两步骤操作才能确认用户是否被允许访问特定的资源。

  1. 第一个步骤是身份验证,用户必须向系统证明他就是自己声称的人,即被许可的系统用户。
  2. 身份验证成功之后,系统必须确认用户已被授权访问特定资源以及被许可对该资源执行哪些操作。

2.3.1 OAuth 2.0 #

详细见: OAuth 2.0

2.3.2 SSO #

详细见: SSO

2.4 Access Control Models 访问控制模型 #

访问控制模型是规定主体如何访问客体的一种架构,它使用访问控制技术和安全机制来实现模型的规则和目标。

2.4.1 DAC,自主访问控制 #

  • 定义:DAC(Discretionary Access Control),自主访问控制。使用自主访问控制的系统使资源所有者能够指定哪些主体可以访问资源。因为对访问的控制基于所有者的自主决定,所以这种模型成为自主型。在DAC模型中,基于为用户授予的权限限制访问。这意味着,用户被允许指定对其拥有的客体的访问类型
  • 实现方式DAC的最常见实现方式是访问控制列表(ACL),ACL由所有者规定和设置,由系统实施。我们使用的大多数操作系统都基于DAC模型,如所有的Windows、Linux以及主流的Unix系统。查看文件或目录的属性,了解哪些用户可以访问这些资源,允许什么类型的访问,这些都是使用ACL实现DAC模型的实例。
  • 优点:对于用户来讲,DAC系统提供了大量的灵活性,需要进行信息技术管理工作较少,能够让用户对数据/资源自主控制权限。
  • 缺点:容易被病毒攻击。恶意软件可以自己安装且在用户的安全环境下运行。比如,如果用户打开了一个感染了病毒的附件,那么该代码便可以在用户毫不知情的情况下在后台进行自我安装。一般情况下,这个代码拥有用户拥有的所有权限和许可,且可以执行用户在这个系统上执行的任何活动,可以胡作非为了。

2.4.2 MAC,强制访问控制 #

  • 定义:MAC(Mandatory Access Control),强制访问控制。在强制访问控制(MAC)中,用户不像在DAC模型中那样拥有决定谁能访问客体的权力。出于安全的考虑,基于MAC模型的操作形态大大减少了用户的权利、许可和可用功能。在基于MAC模型的多数系统中,用户不能安装软件、改变软件许可级别和添加新用户等。这个系统仅供用户从事非常特定且具体的活动。这些系统等用途通常非常具体,它们的使用是为了保护高密级数据。多数普通人都没有用到过MAC型系统,因为这些系统多由政府机构使用,用来存储最高机密的信息。

  • 实现方式:MAC模型更为结构化、更为严格,并且基于安全标签系统。用户被赋予一个安全许可(秘密、绝密、机密等),并且数据以相同的方式分类。安全许可和分类数据存储在安全标签内,安全标签则绑定在特定的主体和客体上。当系统收到一个对客体的访问请求时,它会根据主体的安全许可、客体的分类以及系统的安全策略来做出决策。例如,A资源拥有敏感标签B,C用户拥有敏感标签D,如果D不小于B,则B可以访问A主体如何访问客体的规则由安全政策确定,由管理员配置,由操作系统实施,由安全技术支持。

  • 优点:MAC系统实施了严格的访问控制,提供了很大的安全性,对于恶意软件尤为奏效。

  • 缺点:不够灵活,如供用户使用的功能非常有限,需要大量的管理费用,本身价格昂贵,不方便用户使用。

DAC系统适用于通用计算机,而MAC系统只适用于具有某些特定用途的计算机、用于信息分类和机密性要求非常高的环境,如军队、政府机构和与政府接触的公司。

DAC系统是自主访问型的,而MAC系统被认为是非自主访问型的,因为用户不能根据他们自己的权力(选择)做出访问决策。

注:“安全标签”和“敏感度标签”可以交换使用。

2.4.3 RBAC,角色型访问控制 #

  • 定义:RBAC(Role-Based Access Control),角色型访问控制。

2.4.4 RBAC的行业特例-涉密系统三员分立 #

详细见: RBAC的行业特例-涉密系统三员分立

2.4.5 ABAC,基于属性的访问控制 #

详细见: ABAC(Attribute-Based Access Control)

2.5 Access Control Methods and Techniques 访问控制方法和技术 #

2.5.1 Rule-Based Access Control 规则型访问控制 #

2.5.2 限制性用户接口 #

2.5.3 Access Control Matrix 访问控制矩阵 #

2.5.3.1 Capability 功能表 #
2.5.3.2 ACL,Access Control List #

2.5.4 内容相关访问控制 #

2.5.5 上下文相关访问控制 #

2.6 访问控制管理 #

2.7 可问责性 #

2.7.1 Audit #

3 Account #

4 4A #

4.1 系统背景 #

随着信息技术的不断发展和信息化建设的不断进步,业务应用、办公系统、商务平台不断推出和投入运行,信息系统在企业的运营中全面渗透。电信行业、财政、税务、公安、金融、电力、石油、大中型企业和门户网站,使用数量众多的网络设备、服务器主机来提供基础网络服务、运行关键业务,提供电子商务、数据库应用、ERP和协同工作群件等服务。由于设备和服务器众多,系统管理员压力太大等因素,越权访问、误操作、滥用、恶意破坏等情况时有发生,这严重影响企业的经济运行效能,并对企业声誉造成重大影响。另外黑客的恶意访问也有可能获取系统权限,闯入部门或企业内部网络,造成不可估量的损失。如何提高系统运维管理水平,跟踪服务器上用户的操作行为,防止黑客的入侵和破坏,提供控制和审计依据,降低运维成本,满足相关标准要求,越来越成为企业关心的问题。

1995年,国际网安界最早提出4A(认证Authentication、授权Authorization、账户Accounting、审计Audit)统一安全管理平台解决方案概念,正式将身份认证作为整个网络安全的基础及不可或缺的组成部分,即将身份认证、授权、账户和审计,定义为网络安全的四大组成部分,从而确立了身份认证在整个网络安全系统中的地位与作用。

2002年由美国总统布什签发的萨班斯法案(Sarbanes-Oxley Act)开始生效。其中要求企业的经营活动,企业管理、项目和投资等,都要有控制和审计手段。因此,管理人员需要有有效的技术手段和专业的技术工具和安全产品按照行业的标准来做细粒度的管理,真正做到对于内部网络的严格管理,可以控制、限制和追踪用户的行为,判定用户的行为是否对企业内部网络的安全运行带来威胁。

2007年,由公安部、国家保密局、国家密码管理局、国务院信息工作办公室四部门联合印发了《信息安全等级保护管理办法》,为我国信息系统等级保护工作的迅速展开起到了有力的促进作用。配合该《管理办法》的发布,一系列相关国家标准也进入紧锣密鼓的制定和审批当中。如:《信息系统安全等级保护基本要求》(以下简称《基本要求》)、《信息系统安全等级保护-定级指南》、《信息系统安全等级保护-实施指南》、《信息系统安全等级保护-测评准则》等。其中《基本要求》针对每个等级的信息系统提出相应安全保护要求,按照《基本要求》进行保护后,信息系统达到一种相对安全的状态,即具备了相应等级的信息安全保护能力。

4.2 4A 是什么 #

4A是指:Authentication(认证)、Authorization(授权)、Account(账号)、Audit(审计),中文名称为统一安全管理平台解决方案。即将身份认证、授权、账号和审计定义为网络安全的四大组成部分,从而确立了身份认证在整个网络安全系统中的地位与作用。

所谓4A统一安全管理平台解决方案,即融合统一用户账号管理、统一认证管理、统一授权管理和统一安全审计四要素后的解决方案将涵盖单点登录(SSO)等安全功能,既能够为客户提供功能完善的、高安全级别的4A管理,也能够为用户提供符合萨班斯法案(SOX)要求的内控报表。

4.3 4A 关注点 #

  1. 关注用户、认证、权限和审计
  2. 面向内部员工、具备人员生命周期管理
  3. 具备用户登录时的访问控制
  4. 关注权限统一管理
  5. 用户身份变化和访问信息记录后可以事后审计

5 IAM #

5.1 IAM,Identity and Access Management #

IAM (Identity and Access Management),即身份认证和访问管理。Gartner 对 IAM 的定义是:“让正确的人在正确的时间以正确的理由访问正确的资源”。

IAM 定义和管理个人网络用户的角色和访问权限,以及规定用户获得授权(或被拒绝授权)的条件。IAM系统的核心目标是为每个用户赋予一个身份。该数字身份一经建立,在用户的整个“访问生命周期”存续期间都应受到良好的维护、调整与监视。因此,IAM的目标就是:从用户登录系统到权限授予到登出系统的整个过程中,根据需要在恰当的条件下及时赋予正确的用户对企业内适当资产的访问权。

换句话说,IAM 是一种 IT 解决方案,使用身份这种唯一用户配置文件管理用户并将用户安全连接到 IT 资源,包括设备、应用、文件、网络等。每个用户都能配置一个唯一的身份,从而控制对 WiFi 和企业服务器等资源的访问,同时限制其访问工作内容以外的数字资产。

IAM 核心功能包括:

  • 认证(Authentication)管理
  • 授权(Authorization)管理
  • 账号(Account)管理
  • 审计(Audit)管理

传统的 IAM 提供商又被称为 4A 厂商,他们为企业集成现有系统,构建用户管理、身份认证、权限管理、审计整合于一体的集成应用平台。

基于场景划分,IAM可以分为三大类:

  1. EIAM (Employee Identity and Access Management)
  2. CIAM (Customer Identity and Access Management)
  3. RAM (Resource and Access Management)

5.1.1 EIAM #

EIAM (Employee Identity and Access Management),指管理企业内部员工的IAM,主要解决员工使用的便捷性和企业管理的安全性相关问题。

在产品形态上,EIAM有以下特点:

  • 需要集成企业的云应用、本地应用
  • 需要集成不同的身份源
  • SSO和MFA很常用
  • 不同企业所需的访问控制力度不同

5.1.2 CIAM #

CIAM (Customer Identity and Access Management),指管理企业外部客户/用户的IAM,主要解决用户数据打通和开发成本与标准化相关问题。

在产品形态上,CIAM有以下特点:

  • 在用户端常见到的是单点登录和授权登录
  • 提供通用的组件给开发者直接使用
  • 更强调高性能和高可用

5.1.3 RAM #

云厂商的IAM,有时称为RAM (Resource and Access Management),指管理企业云资源的IAM,主要用于管理云资源的访问控制。

在产品形态上,云厂商IAM有以下特点:

  • 强调授权的灵活性和企业管理的安全性
  • 支持多种类型的账号进行认证或被调用
  • 一般只关注管理自家的云资源

5.2 IAM 关注点 #

  1. 面向员工、合作伙伴、顾客、设备、应用、特权账号、物理设备等,实现全生命周期管理
  2. 实现 Service All In 的大点,将B/S、C/S不同类别的应用、不同浏览器的访问统一纳管
  3. 实现应用级别的细粒度权限、AP操作、数据权限统一管理
  4. 访问控制从静态转向动态,具备实时风险发现极致和风险闭环管理的能力
  5. 实现身份能力的云服务化,增强用户隐私管理

5.3 企业为什么需要IAM #

IAM 是任何企业安全计划的重要一环,因为在今天的数字化经济中,它与企业的安全和生产力密不可分。IAM 可以通过为用户设备添加指纹并部署多因素身份验证(MFA)来检测和拒绝来自无法识别平台的登录尝试,从而防止凭据填充攻击。IAM解决方案还限制了每个用户登录后能够访问的应用程序和服务范围。因此,即使恶意行为者获得了有效的凭据并可以绕过MFA,IAM解决方案也将严格限制攻击面和减少“横向移动”,做到“可防可控”。

凭证填充攻击的日益增长是许多公司采用IAM进行自我保护的原因之一。被盗用户凭证往往是进入企业网络及其信息资产的入口点。企业运用身份管理来守护信息资产,使其不受日渐增多的勒索软件、犯罪黑客活动、网络钓鱼和其他恶意软件攻击的影响。很多企业里,用户有时候会拥有超出工作所需的访问权限。而健壮的IAM系统可以贯彻用户访问规则和策略,为整个企业加上一层重要的防护。

由于混合办公和远程办公证逐渐成为常态,企业不得不考虑部署 IAM 策略。数据泄露的首要原因就是身份泄露,而要解决身份泄露,IAM 或许是企业首选的安全工具。远程环境迫使企业将 IT 总体战略的重心从网络转向人员。今天的 IT 部门主要负责最大限度保护远程员工的身份安全,同时帮助他们安全访问办公所需资源。而 IAM 则进一步推动了这一战略转变,因为 IAM 的核心内容就是个人安全。全面的云 IAM 平台包括目录服务和单点登录(SSO)功能,基于零信任原则将用户连接到所需的 IT 资源,同时让 IT 部门对身份进行主要控制。现代化的 IAM 平台让用户可以记住并使用唯一身份,也为 IT 管理员提供最高级别的集中控制。

6 IDaaS #

参考资料 #

  1. SSO、4A到IAM 的进化
  2. 4A
  3. 单点登录
  4. SSO
  5. Introduction to Single Sign-On
  6. IDaaS 已经替代传统 IAM 成为企业标配
  7. 一文读懂IAM(身份与访问管理)
  8. 守护沃土数字平台的“闸门”:OneAccess统一身份与访问管理
  9. 【涨知识】认识IAM,向着“零信任”安全架构迈进
  10. 什么是身份和访问管理(IAM)?
  11. RFC6749: The OAuth 2.0 Authorization Framework
  12. CISSP 认证考试指南(第6版)
  13. Types of Authentication Protocols
  14. LDAP 协议相关, Geekby’s Blog
  15. 浅谈涉密系统三员管理
  16. Authing - 概念
© 2024 lyremelody.cn All Rights Reserved
访问量: