访问控制技术原理与应用
目录
- 访问控制概述
- 实现访问控制目标
- 访问控制参考模型
- 常见访问控制模型
- 访问控制模型-DAC自主访问控制
- 访问控制模型-MAC强制访问控制
- 访问控制模型-RBAC基于角色的访问控制
- 访问控制模型-ABAC基于属性的访问控制
访问控制概述
访问控制是对资源对象的访问授权控制的方法以及运行机制
访问控制又叫访问者,又称为主体,他可以是我们的用户,也可以是系统的进程或者应用程序,资源对象又称为客体,他是被访问的对象,可以是文件应用服务或者数据,另外两个关键字授权和控制
它指的是访问者可以对资源对象进行访问的方式,是读、写、删除或者是有其他的这种权力,不同的用户群体权力是不一样的
就对访问者是否允许用户访问的资源对象做出决策,本来是只可以读的用户,你搞一个可以写的文件,这个肯定是有问题的,我们做出的决策可以是拒绝访问,或者是允许、禁止操作,根据我们相应的权限来对我们访问的过程进行控制
访问控制的目标有两个,第一个防止非法的用户进入系统,通过认证进入我们的系统,第二个阻止合法用户对系统资源非法的访问,以及禁止合法用户的越权访问,你本来只能读的,你就不能写,这就是访问控制的目标
实现访问控制目标
首先要对用户进行身份认证,然后根据不同的用户授予不同的访问权限。第二个就是授权,从而保护系统的资源,同时还可以进行系统的安全审计和监控检测,检测用户对系统的攻击企图,我们的审计一般是事后的,我们来做分析,所以实际的应用当中一般是访问控制,他会与认证、授权、审计机制相互去协同使用,这是访问控制跟其他安全机制的一个关系,前置有一个认证,后置有一个审计,中间是访问控制,这三个是经常联合起来用的
访问控制参考模型
主体比如说是我,文件就是客体,中间有访问控制数据库、参考监视器、审计库这三个东西来控制我们访问的,参考监视器,具体能不能访问是在这里去执行和决策的,相当于它就是一个判断机制,根据我们的访问控制数据库去判断能不能访问,访问控制数据库它里面存的是一些访问控制的策略,比如说,我能访问这个文件吗,是能读还是能写,审计库主要是存储我们操作的信息,比如说访问成功或者失败、连续失败,比如说我在访问这个文件,可能需要密码,我尝试了一万遍,都没有成功,最后我们审计库里面是不是会有记录,证明我可能是攻击者,我在攻击这个文件,我想去获得越权的访问,但是没成功,所以审计库记录下这些信息可以供我们管理员来进行安全的防护、安全的加固
常见访问控制模型
常见的访问控制模型有这几种,重点理解的是标黄的这几种,其中重点是自主访问控制、强制访问控制和基于角色的访问控制模型,他们常被用于操作系统、数据库等等这些资源的访问
基于属性的访问控制模型,比如张三是个男人,这个就是属性,像女厕所肯定只有女人能进,男人进不了
基于行为的访问控制模型,常见的上网管理,它可以对我们的用户一些行为进行控制,比如你要浏览非法的网站,他给你阻止了,干违法的操作把你阻止了,比如说典型的上网行为管理、电子支付等等
基于时间的访问控制,我们写acl的时候,可以写time range,时间范围,比如,我上班的时候不能聊QQ,不能下迅雷,不能看在线的视频,但是你下下来就可以随便看
访问控制模型-DAC自主访问控制
自主访问控制(Discretionary Access Control,DAC)指客体的所有者按照自己的安全策略授予系统中的其他用户对其的访问权,他实现方式有两大类,基于行的访问控制和基于列的自主访问控制
自主访问控制是最常用的一种对网络资源进行访问约束的机制,其好处是用户自己根据其安全需求,自行设置访问控制权限,访问机制简单、灵活。但这种机制的实施依赖于用户的安全意识和技能,不能满足高安全等级的安全要求。例如,网络用户由于操作不当,将敏感的文件用电子邮件发送到外部网则造成泄密事件。所以在一些高安全场景不太适用
访问控制模型-MAC强制访问控制
强制访问控制(MAC)是指根据主体和客体的安全属性,以强制方式控制主体对客体的访问。安全操作系统中的每个进程、每个文件等客体都被赋予了相应的安全级别和范畴,当一个进程访问一个文件时,系统调用强制访问控制机制,当且仅当进程的安全级别不小于客体的安全级别,并且进程的范畴包含文件的范畴时,进程才能访问客体,否则就拒绝。
我们现在常用的一些操作系统,他底层都是有用强制访问控制的
与自主访问控制相比较,强制访问控制更加严格,用户使用自主访问控制虽然能够防止其他用户非法入侵自己的网络资源,但对于用户的意外事件或误操作则无效,因此,自主访问控制不能适应高安全等级需求。在政府部门、军事和金融等领域,常利用强制访问控制机制,将系统中的资源划分安全等级和不同类别,然后进行安全管理。
访问控制模型-RBAC基于角色的访问控制
基于角色的访问控制(RBAC)是目前国际上流行的先进的安全访问控制方法。它通过分配和取消角色来完成用户权限的授予和取消,并且提供角色分配规则。RBAC包括用户(U)、角色®、会话(S)和权限§四个基本要素。
不同的角色,他的权限是不一样的,你也可以理解成不同的分组,他的权限也不一样,像我们windows里面,他其实有很多用户组,administrator超级管理员、user、power、back-up 备份,这些就是用户组,其它对应的就是角色
角色简单理解就是用户组,我们通过用户组来集中的授权,我们权限管理就会简单很多,比如我这个系统里面有1千个用户,我要实现1千个用户的一个授权管理,对1千个用户进行操作是不是很麻烦,但是我如果把1千个用户划分成不同的角色,一个是管理员,一个是访客,或者三个,还有一个是内部工作人员,相当于只是对三个角色的权限进行划分,整个操作就简单很多,这是基于角色的访问控制,应用非常广泛
访问控制模型-ABAC基于属性的访问控制
基于属性的访问控制(ABAC):访问控制方法是根据主体的属性、客体的属性、环境的条件以及访问控制策略对主体的请求操作进行授权许可或拒绝。
比如说有些电影要求我们满18岁才能看,这个电影是涉及到暴力血腥,这里面我们对主体属性的要求是你要大于等于18岁,客体属性就是暴力血腥这一类的,如果小于18岁,肯定拒绝,这个是基于属性的访问控制,相对而言,他会比较灵活,可以根据我们主客体的属性去自定义,第一个是自主访问控制,第二个是强访问控制,第三个基于决策的访问控制
相关文章:

访问控制技术原理与应用
目录 访问控制概述实现访问控制目标访问控制参考模型常见访问控制模型访问控制模型-DAC自主访问控制访问控制模型-MAC强制访问控制访问控制模型-RBAC基于角色的访问控制访问控制模型-ABAC基于属性的访问控制 访问控制概述 访问控制是对资源对象的访问授权控制的方法以及运行机…...
详解Rust标准库:Vec向量
查看本地官方文档 安装rust后运行 rustup doc查看The Standard Library即可获取标准库内容 std::vec::Vec定义 Vec除了可以作为动态数组还可以模拟为一个栈,仅使用push、pop即可 Vec默认分配在堆上,对于一个容量为4,有两个元素a、b的向量…...

网络原理(初一,TCP/IP五层(或四层)模型面试问题)
TCP/IP五层(或四层)模型 TCP/IP是⼀组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇。 TCP/IP通讯协议采⽤了5层的层级结构,每⼀层都呼叫它的下⼀层所提供的⽹络来完成⾃⼰的需求。 • 应⽤层:负责…...

Unity引擎材质球残留贴图引用的处理
大家好,我是阿赵。 这次来分享一下Unity引擎材质球残留贴图引用的处理 一、 问题 在使用Unity调整美术效果的时候,我们很经常会有这样的操作,比如: 1、 同一个材质球切换不同的Shader、 比如我现在有2个Shader,…...
Flutter鸿蒙next中封装一个列表组件
1. 创建Flutter项目 首先,确保你已经安装了Flutter SDK,并创建一个新的Flutter项目: flutter create podcast_app cd podcast_app2. 封装列表组件 我们将在lib目录下创建一个新的文件,命名为podcast_list.dart,用于…...

层次与网络的视觉对话:树图与力引导布局的双剑合璧
目录 目的内容树图绘制目的步骤参考代码结果与分析 力引导布局算法目的参考代码结果与分析 总结 目的 掌握常用可视化软件与工具:学习和熟练使用常用的数据可视化软件和工具,如Matplotlib、Seaborn、Plotly、Tableau等。这些工具提供了用于创建图表、图…...

python将数据集中所有文件名升序制作txt文件(医学影像)
import os import re # 设定图像文件所在的路径 img_path ./2d/images/ #需修改路径 # 获取该路径下的所有文件名 img_list os.listdir(img_path) # 过滤出以.nii结尾的文件名 nii_list [f for f in img_list if f.endswith(.nii)] # 使用正则表达式从文件名中提…...

【The Art of Unit Testing 3_自学笔记06】3.4 + 3.5 单元测试核心技能之:函数式注入与模块化注入的解决方案简介
文章目录 3.4 函数式依赖注入技术 Functional injection techniques3.5 模块化依赖注入技术 Modular injection techniques 写在前面 上一篇的最后部分对第三章后续内容做了一个概括性的梳理,并给出了断开依赖项的最简单的实现方案,函数参数值注入法。本…...

【VSCode】配置
安装插件 C vscode-icons gdb调试 https://www.bilibili.com/video/BV15U4y1x7b2/?spm_id_from333.999.0.0&vd_sourcedf0ce73d9b9b61e6d4771898f1441f7f https://www.bilibili.com/video/BV1pU4y1W74Z?spm_id_from333.788.recommend_more_video.-1&vd_sourcedf0…...
Linux 常用命令整理大全及命令使用心得
本文章是为了总结自己用过的命令,以及一些心得,网上有很多类似的,但自己总结才能更好的理解。 文章目录 一、文件和目录管理01、 ls :列出目录内容02、cd:更改当前目录03、pwd:显示当前工作目录04、mkdir&a…...
计算器的实现
计算器的⼀般实现 计算器的一般实现:优化:使⽤函数指针数组的实现: 计算器的一般实现: #include <stdio.h> int add(int a, int b) {return a b; } int sub(int a, int b) {return a - b; } int mul(int a, int b) {retur…...

这个工具帮你快速实现数据集成和同步
在这个信息爆炸的时代,数据的流动和同步逐渐成为企业运营的命脉。然而,企业正面临着前所未有的数据挑战,无论是跨地域的分公司协作,还是云服务与本地数据库的交互,数据的集成、清洗、转换和加载(ETL&#x…...

论文阅读:Computational Long Exposure Mobile Photography (一)
这篇文章是谷歌发表在 2023 ACM transaction on Graphic 上的一篇文章,介绍如何在手机摄影中实现长曝光的一些拍摄效果。 Abstract 长曝光摄影能拍出令人惊叹的影像,用运动模糊来呈现场景中的移动元素。它通常有两种模式,分别产生前景模糊或…...

项目解决方案:多地连锁药店高清视频监控系统建设解决方案(设计方案)
目录 一.项目背景 1.1背景描述 1.2需求分析 二.设计依据和建设目标 2.1设计依据 2.2建设目标 三.系统设计实现 3.1系统方案设计 3.2网络组网说明 四.建设系统特色 4.1安全性 4.2节约建设成本 4.3原有资源的再利用 4.4可扩展性 五.产品介绍 5.1概述 5.2设备…...
utf-8、pbkdf2_sha
#utf-8加密、解密 import base64 base64.b64encode(lienlien123.encode(utf-8)) bbGllbmxpZW4xMjM base64.b64decode(bbGllbmxpZW4xMjM.decode(utf-8)) blienlien123 #pbkdf2_sha加密,校验 # 该种密码在不同时刻会有产生不同的加密结果 # 该加密方法使用的是散列…...

Java之包,抽象类,接口
目录 包 导入包 静态导入 将类放入包 常见的系统包 抽象类 语法规则 注意事项: 抽象类的作用 接口 实现多个接口 接口间的继承 接口使用实例 (法一)实现Comparable接口的compareTo()方法 (法二)实现Comp…...

HarmonyOS鸿蒙开发入门,常用ArkUI组件学习(二)
书接上回,让我们继续来学习ArkUI的其他组件 目录,可以点击跳转到想要了解的组件详细内容 组件四:Button组件五:Slider组件六: Column & Row组件七:循环控制组件八: List 组件四:…...

斩!JavaScript语法进阶
一、DOM 概述 DOM 是 JavaScript 操作网页的接口,全称为“文档对象模型”(Document Object Model)。当网页被加载时,浏览器将网页转为一个DOM,并用JS进行各种操作。比如:改变页面中的HTML 元素及其属性&am…...

UFO:Windows操作系统的具象智能代理
近年来,随着AI技术的发展,智能代理在各种应用中扮演着越来越重要的角色。微软推出的UFO(User-Focused Operator)正是这样一个出色的多代理框架,旨在通过无缝导航和操作,满足用户在Windows操作系统中跨多个应…...

win10/11无休眠设置和断电后电池模式自动休眠而不是睡眠-用以省电
1、打开休眠设置选项 打开控制面板\所有控制面板项\电源选项\ 左侧的选择电源按钮的功能 默认状态没有休眠 1、管理员权限打开cmd或者power shell 2、输入一下指令,打开休眠选项 powercfg -hibernate on关闭后重新打开 控制面板\所有控制面板项\电源选项\左侧的选…...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...
【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...

《通信之道——从微积分到 5G》读书总结
第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序
一、开发环境准备 工具安装: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 项目初始化: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...

3-11单元格区域边界定位(End属性)学习笔记
返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...

视觉slam十四讲实践部分记录——ch2、ch3
ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...
音视频——I2S 协议详解
I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议,专门用于在数字音频设备之间传输数字音频数据。它由飞利浦(Philips)公司开发,以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...
站群服务器的应用场景都有哪些?
站群服务器主要是为了多个网站的托管和管理所设计的,可以通过集中管理和高效资源的分配,来支持多个独立的网站同时运行,让每一个网站都可以分配到独立的IP地址,避免出现IP关联的风险,用户还可以通过控制面板进行管理功…...