访问控制技术原理与应用

目录

    • 访问控制概述
    • 实现访问控制目标
    • 访问控制参考模型
    • 常见访问控制模型
    • 访问控制模型-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岁,肯定拒绝,这个是基于属性的访问控制,相对而言,他会比较灵活,可以根据我们主客体的属性去自定义,第一个是自主访问控制,第二个是强访问控制,第三个基于决策的访问控制

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

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

相关文章

nginx配置转发到elk的kibana的服务器

服务器准备 在135服务器上安装nginx服务 编辑kibana服务器的配置文件 将端口改为监听自己 杀掉之前kibana进程 重新启动kibana服务 因为设置了监听自身,所以前台访问kibana页面报错 此时我们修改nginx配置文件,用grep命令反选不含#和空行的行 将其覆盖原…

【Android】View的事件分发机制

文章目录 分发顺序ActivityViewGroupView 协作方法整体流程注意 Activity事件分发ViewGroup事件分发View点击事件总结 分发顺序 Activity->ViewGroup->View Activity 分发事件:Activity 通过 dispatchTouchEvent 方法分发事件,首先尝试将事件传递…

湘潭市学生公交卡线上申领流程及一寸照片自拍方法

在湘潭市,学生公交卡的线上申领流程已经非常便捷,同时,为了满足学生公交卡申领时所需的一寸照片要求,本文将详细介绍整个申领流程以及如何使用手机自拍并制作线上申领学生公交卡所需的一寸照片电子版。 一、湘潭市学生公交卡线上申…

翻译工具体验分享:deepl翻译等10款神器对比

作为一位在外贸行业摸爬滚打多年的客服,我深知在与国际客户沟通时,准确、高效的翻译工具是多么的重要。今天,我就来和大家分享一下我使用过的几款翻译工具,一共是十款,大家可以先看看。 一、福昕在线翻译 传送门&…

Linux入门(2)

林纳斯托瓦兹 Linux之父 1. echo echo是向指定文件打印内容 ehco要打印的内容,不加任何操作就默认打印到显示器文件上。 知识点 在Linux下,一切皆文件。 打印到显示器,显示器也是文件。 2.重定向 >重定向操作,>指向的…

六 在WEB中应用MyBatis(使用MVC架构模式)

六、在WEB中应用MyBatis(使用MVC架构模式) 实现功能: 银行账户转账 使用技术: HTML Servlet MyBatis WEB应用的名称: bank 6.1 需求描述 6.2 数据库表的设计和准备数据 6.3 实现步骤 第一步:环境…

React + Vite + TypeScript + React router项目搭建教程

一、创建项目 运行项目 二、目录结构 项目目录: ├─node_modules //第三方依赖 ├─public //静态资源(不参与打包) └─src├─assets //静态资源├─components //组件├─config //配置├─http //请求方法封装├─layout //页面…

Java-I/O框架09:InputStreamReader、OutputStreamWriter使用

视频链接:16.24 转换流的使用_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Tz4y1X7H7?spm_id_from333.788.videopod.episodes&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5&p24 1.InputStreamReader使用 package com.yundait.Demo05;import java…

一键AI换衣-可图AI试衣

我们的真的实现了穿衣自由了吗?上传一张人物图片和衣服的图片,就能实现一键换衣。 这就是可图AI试衣项目 魔塔地址:https://www.modelscope.cn/studio ... lors-Virtual-Try-On 参考: 一键AI换衣-可图AI试衣 https://www.jinsh…

Linux的IP网路命令: 用于显示和操作网络接口(网络设备)的命令ip link详解

目录 一、概述 二、用法 1、基本语法 2、常用选项 3、常用参数 4、获取帮助 三、示例 1. 显示所有网络接口的信息 (1)命令 (2)输出示例 (3)实际操作 2. 启动网络接口 3. 停止网络接口 4. 更改…

程序员记笔记有没有必要?如何高效记笔记?

本文转载自:https://fangcaicoding.cn/article/57 大家好!我是方才,目前是8人后端研发团队的负责人,拥有6年后端经验&3年团队管理经验,截止目前面试过近200位候选人,主导过单表上10亿、累计上100亿数据…

lust变频器维修电梯变频器CDD34.014.W2.1LSPC1

LUST伺服在安装时须注意,不可有任何的铁屑、螺丝、导线等掉人驱动器内。在安装完成后应作基本的检测动作,如对地阻抗,和短路检测等。 所有的安装及使用事项需要符合安全规定,并且也需要符合当地的相关规定和灾害预防措施。DC BUS…

NFTScan Site:以蓝标认证与高级项目管理功能赋能 NFT 项目

自 NFTScan Site 上线以来,它迅速成为 NFT 市场中的一支重要力量,凭借对各类 NFT 集合、市场以及 NFTfi 项目的认证获得了广泛认可。这个平台帮助许多项目提升了曝光度和可见性,为它们在竞争激烈的 NFT 市场中创造了更大的成功机会。 在最新更…

深度学习在复杂系统中的应用

引言 复杂系统由多个相互作用的组成部分构成,这些部分之间的关系往往是非线性的,整体行为难以通过简单的线性组合来预测。这类系统广泛存在于生态学、气象学、经济学和社会科学等多个领域,具有动态演变、自组织、涌现现象以及多尺度与异质性…

Vue computed watch

computed watch watch current prev

批量提取当前文件夹内的文件名

在需要提取的文件夹内新建一个txt文件,输入: dir ./b>name.txt 然后将该txt文件的扩展名改为.bat 如图 双击即可提取当前文件夹文件名,并保存到name.txt内

Android OpenGL ES详解——模板Stencil

目录 一、概念 1、模板测试 2、模板缓冲 二、模板测试如何使用 1、开启和关闭模板测试 2、开启/禁止模板缓冲区写入 3、模板测试策略函数 4、更新模板缓冲 5、模板测试应用——物体轮廓 三、模板缓冲如何使用 1、创建模板缓冲 2、使用模板缓冲 3、模板缓冲应用——…

QML基础语法2

函数 函数格式: function关键字 函数名(参数名1:参数类型,参数名2:参数类型,...):返回值类型{} 其中: 函数名必须以小写字符开头,后面驼峰可以有多个参数或者没有参数参数类型可以不写返回值类型也可以不写 如何调用:通过id点…

Qt自定义控件:汽车速度表

1、功能 制作一个汽车速度表 2、实现 从外到内进行绘制,初始化画布,画渐变色外圈,画刻度,写刻度文字,画指针,画扇形,画内圈渐变色,画黑色内圈,写当前值 3、效果 4、源…

Rust 力扣 - 1461. 检查一个字符串是否包含所有长度为 K 的二进制子串

文章目录 题目描述题解思路题解代码题目链接 题目描述 题解思路 长度为k的二进制子串所有取值的集合为[0, sum(k)]&#xff0c;其中sum(k)为1 2 4 … 1 << (k - 1) 我们只需要创建一个长度为sum(k) 1的数组 f &#xff0c;其中下标为 i 的元素用来标记字符串中子串…