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

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

一、授权

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

二、访问控制

访问控制是网络安全防范和保护的主要核心策略,它的主要任务是保证网络资源不被非法使用和访问。
访问控制包括三个要素:主体、客体和控制策略。
主体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/

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端插件库-VUE3 使用 vue-codemirror 插件

VUE3 插件 vue-codemirror 使用步骤和实例、基于 CodeMirror ,适用于 Vue 的 Web 代码编辑器。 第一步:安装 vue-codemirror & codemirror 包 , 以及语言包 npm install codemirror --save npm install vue-codemirror --savenpm insta…

VS2022 创建windows服务-Windows Service

vs2022 2023等版本出现,似乎被忘记的早期的Windows Service服务是如何创建的呢?本文介绍了如何用新版本VS进行C#创建、安装、启动、监控、卸载简单的Windows Service 的内容步骤和注意事项。windows服务可以在windows中自动运行。 一、创建一个Windows …

Android 多线程简单使用

在Android中,可以使用Java的Thread类或者使用AsyncTask类来实现多线程功能。 使用Thread类实现多线程: public class MyThread extends Thread {Overridepublic void run() {// 在这里执行多线程任务// 可以通过调用Thread的静态方法sleep()模拟耗时操…

若依 参数验证、数据校验使用

参数验证 spring boot中可以用@Validated来校验数据,如果数据异常则会统一抛出异常,方便异常中心统一处理。 1、基础使用 因为spring boot已经引入了基础包,所以直接使用就可以了。首先在controller上声明@Validated需要对数据进行校验。 public AjaxResult add(@Validate…

基于价值认同的需求侧电能共享分布式交易策略(matlab完全复现)

目录 1 主要内容 2 部分程序 3 程序结果 4 下载链接 1 主要内容 该程序完全复现《基于价值认同的需求侧电能共享分布式交易策略》,针对电能共享市场的交易机制进行研究,提出了基于价值认同的需求侧电能共享分布式交易策略,旨在降低电力市…

基于SpringBoot的旅游网站281

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于SpringBoot的旅游网站281,java项目。…

电锯切割狂

欢迎来到程序小院 电锯切割狂 玩法:把木块切成等分的碎片,每关都会有切割次数,木块数,切割越均匀分数越搞, 有简单、正常、困难、专家版,快去解锁不同版本进行切割吧^^。开始游戏https://www.ormcc.com/pl…

你vue有写过自定义指令吗?知道自定义指令的应用场景有哪些吗?

一、什么是指令 开始之前我们先学习一下指令系统这个词 指令系统是计算机硬件的语言系统,也叫机器语言,它是系统程序员看到的计算机的主要属性。因此指令系统表征了计算机的基本功能决定了机器所要求的能力 在vue中提供了一套为数据驱动视图更为方便的…

MySQL的基础架构之内部执行过程

MySQL的逻辑架构图 如上图所示,MySQL可以分为Server层和存储引擎层两部分: 1)Server层涵盖了MySQL的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎…

linux新M2固态挂载

一、普通挂载 查看硬盘信息 sudo fdisk -l创建文件系统 sudo mkfs.ext4 /dev/nvme0n1创建挂载点 sudo mkdir /home/zain挂载 sudo mount /dev/nvme0n1 /home/zain二、永久挂载 vi /etc/fstabinsert: /dev/nvme0n1 /home/zain ext4 defaults 0 2 wqs…

知识笔记(六十九)———缓冲区溢出攻击

1. 什么是缓冲区溢出 (1)缓冲区 缓冲区是一块连续的计算机内存区域,用于在将数据从一个位置移到另一位置时临时存储数据。这些缓冲区通常位于 RAM 内存中,可保存相同数据类型的多个实例,如字符数组。 计算机经常使用…

3.10 Android eBPF HelloWorld调试(四)

一,读取eBPF map的android应用程序示例 1.1 C++源码及源码解读 /system/memory/bpfmapparsed/hello_world_map_parser.cpp //基于aosp android12#define LOG_TAG "BPF_MAP_PARSER"#include <log/log.h> #include <stdlib.h> #include <unistd.h&g…

Day22 112路径总和 113路径总和II 106中后构造二叉树/中前构造二叉树 654最大二叉树

给定一个二叉树和一个目标和&#xff0c;判断该树中是否存在根节点到叶子节点的路径&#xff0c;这条路径上所有节点值相加等于目标和。 递归&#xff1a; 可以采用深度优先的递归方式&#xff0c;前中后序都可以&#xff08;因为中节点没有处理逻辑&#xff09;。首先确定参…

放大镜Scratch-第14届蓝桥杯Scratch省赛真题第3题

3. 放大镜&#xff08;50分&#xff09; 评判标准&#xff1a; 10分&#xff1a;满足"具体要求"中的1&#xff09;&#xff1b; 15分&#xff1a;满足"具体要求"中的2&#xff09;&#xff1b; 25分&#xff0c;满足"具体要求"中的3&#xff…

C#高级:Lambda表达式分组处理2(WITH ROLLUP关键字)

目录 一、问题引入 二、with rollup查询 三、去掉多余数据 四、拓展 一、问题引入 查询SQL后结果如下&#xff0c;字段分别是用户、项目、批次、工作时间&#xff1a; SELECT UserID,ProjectID,ProBatchesID,WorkHour FROM MAINTABLE GROUP BY HourFiller ,ProjectID ,…

【ESP32接入国产大模型之文心一言】

1. 怎样接入文心一言 随着人工智能技术的不断发展&#xff0c;自然语言处理领域也得到了广泛的关注和应用。在这个领域中&#xff0c;文心一言作为一款强大的自然语言处理工具&#xff0c;具有许多重要的应用价值。本文将重点介绍如何通过ESP32接入国产大模型之文心一言api&am…

图片中src属性绑定不同的路径

vue3 需求是按钮disable的时候&#xff0c;显示灰色的icon&#xff1b;非disable状态&#xff0c;显示白色的icon 一开始src写成三元表达式&#xff0c;发现不行&#xff0c;网上说src不能写成三元表达式&#xff0c;vue会识别成字符串 最后的解决方案 同时&#xff0c;发现…

软件测试基础理论学习-软件测试概论(流程,bug,测试用例)

测试的流程 也可以理解为测试工程师在软件开发中需要介入的部分&#xff0c;个人总结如下&#xff1a; 需求分析。这个部分主要就是针对需求提出一些不合理的地方&#xff0c;也可以让测试人员对整个软件模型和需求进行整体的掌握和把控&#xff0c;如果出现了不合理的地方&am…

2401d,d随机选择类

原文 我有一个许多类实现的接口,我想随机选择其中一个实现.还有两个约束:首先,不是均匀分布,所有类都可定义被选中的机会(反映在"weight()"函数中).而且根据运行时信息,并非所有类都可用. 我搞了个最小工作示例,但它很重(特别是因为有中间枚举),可更漂亮,更易于理解…

在Cadence中单独添加或删除器件与修改网络的方法

首先需要在设置中使能 ,添加或修改逻辑选项。 添加或删除器件&#xff0c;点击logic-part&#xff0c;选择需要添加或删除的器件&#xff0c;这里的器件必须是PCB中已经有的器件&#xff0c;Refdes中输入添加或删除的器件标号&#xff0c;点击Add添加。 添加完成后就会显示在R1…