安全防御之授权和访问控制技术

授权和访问控制技术是安全防御中的重要组成部分,主要用于管理和限制对系统资源(如数据、应用程序等)的访问。授权控制用户可访问和操作的系统资源,而访问控制技术则负责在授权的基础上,确保只有经过授权的用户才能访问相应的资源。

一、授权

授权技术通常包括身份认证和权限管理。
身份认证是验证用户身份的过程,确保用户是系统中的合法用户;
权限管理则是根据用户的角色和身份,为其分配相应的访问权限。通过授权技术,可以有效地防止非法用户或未授权的用户访问系统资源,从而保护系统的安全。
授权是确定用户访问权限的机制。用户访问权限必须始终遵循最小特权原则,该原则规定用户只拥有执行他们的作业功能所必须的访问权限,而不能拥有其他权限。为了保证网络资源在受控、合法地情况下使用,用户只能根据自己的权限大小访问系统资源,不得越权访问。

二、访问控制

访问控制是网络安全防范和保护的主要核心策略,它的主要任务是保证网络资源不被非法使用和访问。
访问控制包括三个要素:主体、客体和控制策略。
主体S(Subject):是指提出访问资源具体请求或某一操作动作的发起者,但不一定是动作的执行者,可能是某一用户,也可以是用户启动的进程、服务和设备等。
客体O(Object):是指被访问资源的实体。所有可以被操作的信息、资源、对象都可以是客体。客体可以是信息、文件、记录等集合体,也可以是网络上的硬件设施、无限通信中的终端,甚至可以包含另外一个客体。
控制策略A(Attribution):是主体对客体的相关访问规则集合,即属性集合。访问策略体现了一种授权行为,也是客体对主体某些操作行为的默认。

1、访问控制模型

典型访问控制模型如图所示:
在这里插入图片描述

访问控制模型的组成

2、访问控制的机制

访问控制机制是检测和防止系统被未授权访问,并保护资源所采取的各种措施。是在文件系统中广泛应用的安全防护方法,一般在操作系统的控制下,按照事先确定的规则决定是否允许主体访问客体,贯穿于系统全过程。
访问控制矩阵(Access Contro1 Matrix)是最初实现访问控制机制的概念模型,以二维矩阵规定主体和客体间的访问权限。行表示主体的访问权限属性,列表示客体的访问权限属性,矩阵格表示所在行的主体对所在列的客体的访问授权,空格为未授权,Y为有操作授权。以确保系统操作按此矩阵授权进行访问。通过引用监控器协调客体对主体访问,实现认证与访问控制的分离。在实际应用中,对于较大系统,由于访问控制矩阵将变得非常大,其中许多空格,造成较大的存储空间浪费,因此,较少利用矩阵方式,主要采用以下2种方法:
1)访问控制列表
访问控制列表(Access Control List,ACL)是应用在路由器接口的指令列表,用于路由器利用源地址、目的地址、端口号等的特定指示条件对数据包的抉择。是以文件为中心建立访问权限表,表中记载了该文件的访问用户名和隶属关系。利用ACL,容易判断出对特定客体的授权访问,可访问的主体和访问权限等。当将该客体的ACL置为空,可撤消特定客体的授权访问。
2)能力关系表
能力关系表(Capabilities List)是以用户为中心建立访问权限表。与ACL相反,表中规定了该用户可访问的文件名及权限,利用此表可方便地查询一个主体的所有授权。相反,检索具有授权访问特定客体的所有主体,则需查遍所有主体的能力关系表。

3、访问控制的策略

访问控制的安全策略是指在某个自治区域内(属于某个组织的一系列处理和通信资源范畴),用于所有与安全相关活动的一套访问控制规则。访问控制的安全策略有三种类型:基于身份的安全策略、基于规则的安全策略和综合访问控制方式。

1)基于身份的安全策略

基于身份的策略包括基于个体的策略和基于组的策略。

  • 基于个体的策略:一个基于个体的策略根据哪些用户可对一个目标实施哪一种行为的列表来表示。这个等价于用一个目标的访问矩阵列来描述。
  • 基于组的策略:一个基于组的策略是基于身份的策略的另一种情形,一些用户被允许对一个目标具有同样的访问许可。
2)基于规则的安全策略

基于规则的策略包括多级策略和基于间隔的策略。
多级策略:通过分配给每个目标一个密级来操作。密级由低到高分为:无密级、限制、机密、秘密、绝密。每个用户从相同的层次中分配一个等级。
基于间隔的策略:在基于间隔的策略中,目标集合关联于安全间隔或安全类别,通过他们来分离其他目标。用户需要给一个间隔分配一个不同的等级,以便能够访问间隔中的目标。

3)综合访问控制方式

综合访问控制策略(HAC)继承和吸取了多种主流访问控制技术的优点,有效地解决了信息安全领域的访问控制问题,保护了数据的保密性和完整性,保证授权主体能访问客体和拒绝非授权访问。综合访问控制策略主要包括:

  • 入网访问控制
    入网访问控制是网络访问的第一层访问控制。对用户可规定所能登入到的服务器及获取的网络资源,控制准许用户入网的时间和登入入网的工作站点。
  • 网络的权限控制
    网络的权限控制是防止网络非法操作而采取的一种安全保护措施。用户对网络资源的访问权限通常用一个访问控制列表来描述。
  • 目录级安全控制
    目录级安全控制主要是为了控制用户对目录、文件和设备的访问,或指定对目录下的子目录和文件的使用权限。用户在目录一级制定的权限对所有目录下的文件仍然有效,还可进一步指定子目录的权限。
  • 属性安全控制
    属性安全控制可将特定的属性与网络服务器的文件及目录网络设备相关联。在权限安全的基础上,对属性安全提供更进一步的安全控制。网络上的资源都应先标示其安全属性,将用户对应网络资源的访问权限存入访问控制列表中,记录用户对网络资源的访问能力,以便进行访问控制。
  • 网络服务器安全控制
    网络服务器安全控制允许通过服务器控制台执行的安全控制操作包括:用户利用控制台装载和卸载操作模块、安装和删除软件等。操作网络服务器的安全控制还包括设置口令锁定服务器控制台,主要防止非法用户修改、删除重要信息。
  • 网络监控和锁定控制
    在网络系统中,通常服务器自动记录用户对网络资源的访问,如有非法的网络访问,服务器将以图形、文字或声音等形式向网络管理员报警,以便引起警觉进行审查。
  • 网络端口和结点的安全控制
    网络中服务器的端口常用自动回复器、静默调制解调器等安全设施进行保护,并以加密的形式来识别结点的身份。自动回复器主要用于防范假冒合法用户,静默调制解调器用于防范黑客利用自动拨号程序进行网络攻击。

4、访问控制技术

访问控制技术则是在授权的基础上,进一步控制用户对系统资源的访问。它根据用户的角色和权限,决定用户可以访问哪些资源以及可以进行哪些操作。常见的访问控制技术包括:

  1. 强制访问控制(Mandatory Access Control):这是一种基于安全策略的访问控制方法,由系统管理员设定安全级别,并按照安全级别对资源进行访问控制。
  2. 自主访问控制(Discretionary Access Control):这是一种基于用户身份的访问控制方法,由资源的拥有者自行设定访问权限。
  3. 基于角色的访问控制(Role-Based Access Control):这是一种基于用户角色的访问控制方法,通过将权限分配给角色,再将角色分配给用户,来实现访问控制。
1)强制访问控制技术(Mandatory Access Control)

强制访问控制(MAC),将系统中的信息分密级和类进行管理,以保证每个用户只能访问到那些被标明可以由他访问的信息的一种访问约束机制。通俗的来说,在强制访问控制下,主体与客体都被标记了固定的安全属性(如安全级、访问权限等),在每次访问发生时,系统检测安全属性以便确定该主体是否有权访问该客体。基于规则的多级策略就是一种强制访问控制策略。

2)自主访问控制技术(Discretionary Access Control)

自主访问控制又被称为“基于身份的访问控制”,允许合法用户以用户或用户组的身份访问策略规定的客体,同时阻止非授权用户访问客体。自主访问控制模型的特点是授权的实施主体(可以授权的主体、管理授权的客体、授权组)自主负责赋予和收回其他主体对客体资源的访问权限。
在自主访问控制机制中,存取模式主要有:

  • 读:允许主体对客体进行读和拷贝的操作。
  • 写:允许主体写入或修改信息,包括扩展、压缩机删除等。
  • 执行:允许将客体作为一种可执行文件运行,在一些系统中该模式还需要同时拥有读模式。
  • 空模式:主体对客体不具有任何的存取权。

自主访问控制的具体实施可采用以下四种方法:

  • 目录表
    在目录表访问控制方法中,借用了系统对文件的目录管理机制,为每一个欲实施访问权限的主体建立一个能被其访问的“客体目录表(文件目录表)”。如某个主体的客体目录表可能是:
    客体1 :权限1 客体2:权限2…
    客体目录表中各个客体的访问权限的修改只能由该客体的合法属主确定,不允许其他任何用户在客体目录表中进行写操作,否则将可能出现对客体访问权限的伪造。操作系统必须在客体的拥有者控制下维护所有的客体目录。
  • 访问控制列表
    访问控制列表是从客体角度进行设置的,是面向客体的访问控制。每个客体都有一个访问控制列表,用来说明有权访问该客体的所有主体及其访问权限。
  • 访问控制矩阵
    访问控制矩阵是对上面两种方法的综合,直观地看,访问控制矩阵是一张表格,每行代表一个主体,每列代表一个客体,表中纵横对应的项是该主体对该客体的访问权集合。
  • 能力表
    能力表是访问控制矩阵的改进,将矩阵的每一列作为一个客体而形成一个存取表,每个存取表只由主体、访问权集合组成。
3)基于角色的访问控制技术(Role-Based Access Control)

基于角色的访问控制(RBAC)是实施面向企业安全策略的一种有效的访问控制方式。其基本思想是:对系统操作的各种权限不是直接授予具体的用户,而是在用户集合与权限集合之间建立一个角色集合。每一种角色对应一组相应的权限。一旦用户被分配了适当的角色后,该用户就拥有此角色的所有操作权限。这样做的好处是,不必在每次创建用户时都进行分配权限的操作,只要分配用户相应的角色即可,而且角色的权限变更比用户的权限变更要少得多,这样将简化用户的权限管理,减少系统的开销。
在一个组织内部,角色是相对稳定的,而用户和权限之间的关系则是易变的,比如因用户职务变化而随之发生权限变化。通过角色,可以减少授权管理的复杂度,降低管理开销,它是传统访问控制技术的有效补充。通常角色和用户组在概念上容易混淆,它们之间有本质的区别,组是用户的集合,而角色作为中介,既是用户的集合,又是权限的集合。
在一个组织内,安全管理员可以根据完成某项工作所需的权限,创建适当的角色;然后根据用户所要完成的任务,授予不同的角色,从而授予访问权限。用户与角色,角色与权限之间关系都是多对多的关系。用户与特定的一个或多个角色相联系,角色与一个或多个访问权限相联系。用户根据自己的需求动态地激活自己拥有的角色,完成特定的任务,避免误操作造成的危害。

授权和访问控制技术是安全防御的重要组成部分,可以有效防止未经授权的用户访问系统资源,保护系统的安全。在实际应用中,需要根据具体的安全需求和场景,选择合适的授权和访问控制技术,以达到最佳的安全防护效果。


博客:http://xiejava.ishareread.com/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/289408.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

K8S集群部署MySql

挂载MySQL数据卷 在k8s集群中挂载MySQL数据卷 需要安装一个NFS。 在主节点安装NFS yum install -y nfs-utils rpcbind 在主节点创建目录 mkdir -p /nfs chmod 777 /nfs 更改归属组与用户 chown -R nfsnobody:nfsnobody /nfs 配置共享目录 echo "/nfs *(insecure,rw,s…

半导体设备系列:半导体制造产能扩张,设备零部件需求旺盛

近年来国内半导体制造产能不断扩张,半导体设备厂商加速成长。我们认为下游发展将拉动上游本地化配套需求,半导体设备零部件迎来高增长阶段。 摘要 半导体设备零部件包含密封圈、EFEM、射频电源、静电吸盘、硅电极、真空泵、气体流量计、喷淋头等产品&a…

如何做好档案数字化前的鉴定工作

要做好档案数字化前的鉴定工作,可以按照以下步骤进行: 1. 确定鉴定目标:明确要鉴定的档案的内容、数量和性质,确定鉴定的范围和目标。 2. 进行档案清点:对档案进行全面清点和登记,包括数量、种类、状况等信…

【稳定检索|投稿优惠】2024年创新设计与经济发展国际学术会议(IACLDED 2024)

2024年创新设计与经济发展国际学术会议(IACLDED 2024) 2024 International Academic Conference on Innovative Design and Economic Development(IACLDED) 一、【会议简介】 2024年创新设计与经济发展国际学术会议(IACLDED 2024),将于繁华的成都盛大召开。本次会议…

Vue3 使用路由 Router

Vue3 使用路由 Router 之前几篇博文说了一下 vue 的基本语法和 vue 的传参,今天这篇博文稍微说一下 vue3 里面使用路由。 介绍 众所周知,vue 是用来构建单页面应用的前端框架,大于大多数此类型应用来讲,都推荐使用官方支持的 vue…

阿赵UE学习笔记——6、免费资源获取

阿赵UE学习笔记目录 大家好,我是阿赵。   接下来准备要往UE引擎里面放美术资源了。美术资源可以自己做,不过也有一些免费的资源可以供我们使用的,这里介绍一些获得免费美术资源的方法。 一、Quixel 1、Quixel网站下载 Quixel资源库&#…

小H靶场笔记:DC-3

DC-3 January 3, 2024 4:11 PM Tags:Joomla owner:只惠摸鱼 信息收集 探测靶机ip: 192.168.199.133 nmap 扫描端口、 系统版本 漏洞 发现只有80端口开发, 且有cve-2017-8917漏洞存在是Joomla的SQL注入漏洞 Joomla版本为3.7.0…

【Java】接口和抽象类有什么共同点和区别?

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ 【Java】接口和抽象类有什么共同点和区别&…

李沐机器学习系列3---深度学习计算

1 层和块 1.1 定义块 用class表示层,并只需要实现构造函数和前向传播函数 class MLP(nn.Module):# 用模型参数声明层。这里,我们声明两个全连接的层def __init__(self):# 调用MLP的父类Module的构造函数来执行必要的初始化。# 这样,在类实…

流媒体学习之路(WebRTC)——GCC分析(4)

流媒体学习之路(WebRTC)——GCC分析(4) —— 我正在的github给大家开发一个用于做实验的项目 —— github.com/qw225967/Bifrost目标:可以让大家熟悉各类Qos能力、带宽估计能力,提供每个环节关键参数调节接口并实现一个json全配置…

代码审查那些事

代码审查(code review)是指对源代码进行系统化地审查,是软件开发中的最佳实践之一,代码合并之前必须审查通过才行,可及时发现隐藏问题,提高代码质量。 1 为什么要代码审查 代码审查环节,或者流于形式,或者…

依赖注入实现原理

依赖注入实现原理 一、Autowire 流程图: Autowire的后置处理器类是AutowiredAnnotationBeanPostProcessor,在启动时会执行这里面的方法 步骤一:寻找注入点 在创建一个Bean的过程中,Spring会利用AutowiredAnnotationBeanPostPro…

Go Lang Fiber介绍

利用GoLang Fiber进行高性能Web开发 在不断发展的Web开发世界中,选择合适的框架至关重要。速度、简洁性和强大的功能集是每个开发者都追求的品质。在使用Go构建Web应用时,“Fiber”作为一个强大且轻量级的框架在众多选择中脱颖而出。在这份全面的指南中…

Contextcapture(iTwin capture)倾斜建模教程

Contextcapture(iTwin capture)倾斜建模教程 前言步骤1.1 准备数据1.2 新建项目1.3 新建Block1.4 空三 Submit Aerotriangulation1.5 查看空三结果1.6 提交三维重建1.6.1 编辑重建(Reconstruction)的空间框架(spatial …

谷歌Gemini模型,碾压GPT-4!

谷歌Gemini 1.0革新,推出Gemini Ultra、Gemini Pro和Gemini Nano模型。Gemini Ultra强大但慢,Gemini Pro通用,Gemini Nano高效。Gemini模型在多领域与ChatGPT竞争,尤其Gemini Pro已应用于Bard。Gemini模型预计将在2024年通过Bard …

【docker】如何编写dockerfile文件,构建docker镜像

如何编写dockerfile文件,构建docker镜像 一、docker 镜像与 dockerfile1.1 什么是Docker镜像1.2 Docker 镜像的结构 二、dockerfile 中常用的构建指令三、dockerfile 内容示例四、构建 docker 镜像 一、docker 镜像与 dockerfile 1.1 什么是Docker镜像 Docker镜像…

Intel SGX -- The Life Cycle of an SGX Enclave

文章目录 前言一、The Life Cycle of an SGX Enclave1.1 Creation1.2 Loading1.3 Initialization1.4 Teardown 二、The Life Cycle of an SGX Thread2.1 Synchronous Enclave Entry2.2 Synchronous Enclave Exit2.3 Asynchronous Enclave Exit (AEX)2.4 Recovering from an Asy…

solidity案例详解(七)复杂众筹合约

自己原创智能合约,有作业需求可加下面的图片中的裙 1、在 Remix 中,以 Account1 完成“众筹项目”合约的编译和部署。(显示合约、函数、状态变量、结构体、事件的命名) 2、在 Remix 中,以 Account2 完成“参与众筹”合…

Python数据分析之pandas的SQL风格

一、select选择 SELECT username, password, secret, login_ip FROM tz_admin LIMIT 5; data[[username, password, secret, login_ip]].head(5) #在SQL中,选择是使用逗号分隔的列(或选择所有列)来完成的 #Pandas中,列的选择是通过传递列名到DataFrame:…

长见识!!!Java中除了消息队列之外,竟然还能这样实现异步任务

今年IT寒冬,大厂都裁员或者准备裁员,作为开猿节流主要目标之一,我们更应该时刻保持竞争力。为了抱团取暖,林老师开通了《知识星球》,并邀请我阿里、快手、腾讯等的朋友加入,分享八股文、项目经验、管理经验…