访问控制系列

目录

一、基本概念

1.客体与主体

2.引用监控器与引用验证机制

3.安全策略与安全模型

4.安全内核

5.可信计算基

二、访问矩阵

三、访问控制策略

1.主体属性

2.客体属性

3.授权者组成

4.访问控制粒度

5.主体、客体状态

6.历史记录和上下文环境

7.数据内容

8.决策层次

9.策略扩展


一、基本概念

1.客体与主体

客体是一种蕴涵或接收信息得被动实体。例如,操作系统中的文件、目录、管道、消息、信号量、进程和内存页等,数据库系统中的库、表和字段等,信息网络中的通信线路和计算节点等,都是信息系统中的常见客体。

主体是一种主动实体,它的活动引起信息在客体之间流动。例如,用户、用户组和进程等。在信息系统中,最基本的主体是用户(包括一般用户和系统管理员、系统安全员、系统审计员等特殊用户)。

在操作系统中,进程(包括用户进程和系统进程)一般有着双重身份,它即可能是主体,也可能是客体。当一个进程运行时,它必定直接或间接地为某一用户服务,处理该用户地操作要求,而用户的所有操作请求都要通过进程来代理其进行。进程既是用户行为的客体,又是其访问对象的主体。例如,在编辑一个文件时,编辑器进程代表用户执行文件编辑操作,相当于用户行为,它是客体;而相当于它所编辑的文件,它又是主体。

2.引用监控器与引用验证机制

引用监控器是一种对主体访问客体的行为进行仲裁的抽象装置,是访问控制机制的理论基础。访问控制数据库中存放主体、客体、主体对客体的访问模式等信息,引用监控器以访问数据库中的信息为依据,对主体访问客体的行为进行安全判决。显然,随着主体和客体的产生、删除或其权限的变更,访问控制数据库中的内容要做相应的增删或修改。引用监控器的关键需求是控制主体对客体的每一次访问,并对安全敏感事件进行审计。

引用监控器的具体实现称为引用验证机制,它是实现引用监控起思想的硬件和软件的组合,引用验证机制需要同时满足一下三个原则:

(1)必须具有自我保护能力;

(2)必须总是处于活跃状态;

(3)必须设计得足够小,以利于分析和测试。

第一个原则保证引用验证机制即使受到攻击也能保持自身得完整性;第二个原则保证主体对客体得所有引用,都应得到引用验证机制得仲裁;第三个原则保证引用验证机制得实现是正确的。

3.安全策略与安全模型

安全策略是一种声明,它将系统状态划分为安全态(或称已授权态)和非安全态(或称未授权态)。安全系统是一种始于安全态,且不会进入非安全态的系统。而如果系统进入了非安全态,则称其发生了一次安全破坏。

安全策略由一整套严密的规则组成,这些规则是实施访问控制的依据。说一个信息系统是安全的,是指它满足特定的安全策略。同样进行信息系统的安全设计和开发时,也要围绕一个给定的安全策略进行。许多系统的安全控制失效,主要不是因为程序错误,而是没有明确的安全策略。

安全模型是对安全策略所表达的安全需求得简单、抽象和无歧义得描述。它为安全策略和安全策略的实现机制的关联提供了一种框架。Anderson指出,要开发安全系统首先必须建立系统的安全模型。安全模型给出了安全系统的形式化定义,并且正确地综合系统地各类因素,包括系统的使用方式、使用环境类型、授权定义、共享资源和共享类型等。

4.安全内核

在引用监控器思想的基础上,Anderson定义了安全内核的概念。安全内核是指系统中与安全性实现相关的部分,包括引用验证机制和授权管理机制等部分。安全内核是实现引用监控器概念的一种技术,其理论依据是:在一个大型的操作系统中,仅有一小部分软件是用于安全目的。所以,可用其中与安全相关的软件,来构成操作系统的一个可信内核,称为安全内核。安全内核法是建立安全操作系统的一种最常用的方法。

大多数情况下,安全内核是一个简单的系统,如同操作系统为应用程序提供服务一样,它为操作系统提供服务。而且正如操作系统给应用程序施加限制,安全内核也同样对操作系统施加限制。当安全策略完全由安全内核而不是由操作系统实现时,仍需要操作系统维持系统的正常运行,并防止由于应用程序的致命错误而引发的拒绝服务。但是操作系统和应用程序的任何错误均不能破坏安全内核的安全策略。

5.可信计算基

操作系统的安全依赖于一些具体实施安全策略的可信的软件和硬件。这些软件、硬件和负责系统安全管理的人员一起组成了系统的可信计算基(TCB)。具体来说可信计算基由一下几部分组成。

(1)操作系统的安全内核。

(2)具有特权的程序和命令。

(3)处理敏感信息的程序,如系统管理命令等。

(4)与TCB实施安全策略有关的文件。

(5)其他有关的固件、硬件和设备。这里要求为使系统安全,系统的固件和硬件部分必须能可信地完成它们的设计任务。原因在于固定和硬件故障,可能引起信息的丢失、改变或生产违反安全策略的事件。因此把安全操作系统中的固件和硬件也作为TCB的一部分来看待。

(6)负责系统管理的人员。由于系统管理员的误操作或恶意操作也会引起系统的安全性问题,因此他们也被看做是TCB的一部分。系统安全管理员必须经过严格的培训,并慎重地进行系统操作。

(7)保障固件和硬件正确的程序和诊断软件。

以上所列的TCB的各组成部分中,软件部分是安全操作系统的核心内容,它们完成下述工作:

(1)内核的良好定义和安全运行方式;

(2)标识系统中的每个用户;

(3)保持用户到TCB登录的可信路径;

(4)实施主体对客体的存取控制;

(5)维持TCB功能的正确性;

(6)监视和记录系统中的有关事件。

在一个通用安全操作系统中,TCB是用来构成一个安全操作系统的所有安全保护装置的组合体。一个TCB可以包含多个安全功能,每个安全功能模块实现一个安全策略,这些安全策略共同构成一个安全域,以防止不可信主体的干扰和篡改。

实现安全功能的方法有两种,一种是设置前端过滤器,另一种是设置访问监督器。两者都是在一定硬件基础上,通过软件实现确定的安全策略,并且提供所要求的附件服务。例如作为前端过滤器的安全功能,能防止非法进入系统;作为访问监督器的安全功能,则能防止越权访问,等等。

在单处理机环境的操作系统中,根据系统设计方法的不同,TCB可以是一个安全内核,也可以是一个前端过滤器,或者就是操作系统的关键单元或包括全部操作系统。对于网络环境下的多处理机操作系统,一个安全功能可能跨网络实现,这种情况要比单处理机操作系统更为复杂。这些安全功能协同工作,构成一个物理上分散、逻辑上同一的分布式安全系统,其所能提供的安全策略和附加服务则为各个安全功能的总和。


二、访问矩阵

访问矩阵是以主体标识为行索引、以客体标识为列索引的矩阵,矩阵中的每一个元素表示一组访问权限的集合。

访问矩阵中的一行表示一个主体的所有权限,一列则是关于一个客体的所有访问属性,矩阵中的元素是该元素所在行对应的主体对该元素所在列对应的客体的访问权限。从本质上来说,任何访问控制策略都可以用矩阵直观表示:行对应于主体,列对应于客体,矩阵元素对应于授权。

由于信息系统的资源量和用户数较多,访问矩阵一般庞大而稀疏,如果把整个矩阵保存下来,不仅实现起来不方便,而且效率很低。因此,在实际中,很少用它直接描述或实现访问控制策略。


三、访问控制策略

访问控制策略是在系统安全系统安全较高层次上对方问控制和相关授权的描述,它的表达模型常被称为访问控制模型,是一种访问控制方法的高层抽象和独立于软、硬件实现的概念模型。在制定访问控制策略时,首先要考虑系统的安全性为目标,有的还要求提供可记账和可用性。这些要求,都会影响访问控制策略的制定。此外,在制定访问控制策略时,通常还要考虑如下要素。

1.主体属性

主体属性主要有用户的级别和类别。在信息系统中,可以将用户分为多种普通用户和管理员用户,使之具有组别属性;还可以根据用户的工作职责,赋予其不同角色属性。主体属性还可能包括相关执行程序的性质、所处的网络或物理地址等,它们也可能使授权的依据。例如,很多单位约定,不能从家中访问办公室的资源。在安全性要求更高的情况下,主体属性还可能包括其安全状态。例如,访问控制系统在允许某计算机接入到系统之前,可以首先评估该主机自身健康状况,如果发现其未安装杀毒软件,则认为其感染病毒的概率较大,此时可能不予授权连接。

2.客体属性

客体属性主要有客体的信息级别、可对其执行的操作等。例如,在操作系统中,资源的访问属性有是否可读、是否可写、是否可执行、是否可连接等属性;在普通信息系统中,客体属性还可能包括密级、是否可查询、是否可删除、是否可增加等。在安全性要求更高的情况下,客体属性也可能包括其安全状态。例如,系统可能认为某些客体已经感染计算基病毒或来源不可信,因而不允许用户访问。

3.授权者组成

在信息系统中,可能的授权者包括资源的属主(一般是资源的创建者)和系统管理者。因此,策略的制定,需要考虑资源所有者和系统分别在多大程度参与授权的问题。

4.访问控制粒度

访问控制粒度是指将访问控制中的主体和客体分为不同尺度的实体来实施管理。例如,主体粒度可以分为用户、用户组等;在数据库系统中,客体的粒度可以分为数据库、数据库表、数据记录和数据项等不同粒度。

5.主体、客体状态

主体、客体状态包括它们所处的地点、当前时间和当前受访状态等,例如,一些系统不但不允许单位员工从外部网络访问内部数据,对访问的时间也有限制;并且,当一个客体被多个连接访问时,还可能要求阻止其他连接请求。

6.历史记录和上下文环境

有时,信息系统会要求根据主体曾经访问过的客体、客体的被访问记录和当前状况、被访问客体之间的关系等历史记录和上下文环境,动态地进行访问控制决策。例如,在数据库安全中,有的系统要求仅当主体没有访问过雇员姓名数据,才允许其访问雇员工资数据。

7.数据内容

可以对数据内容作多种分类,并分类实施授权和访问控制。例如,可以按照数值大小或内容性质分类。例如,在数据库访问控制策略中,仅当某项数值大于一定值时,才允许用户查看,这个数值可能是雇员工资、合同金额或考试成绩。

8.决策层次

即要确定在信息系统中地哪个层次上实施访问控制决策。例如,操作系统中存在低层地磁盘读/写和高层地文件读/写指令,计算机网络中包括不同层次地通信协议。在制定访问控制策略时,需要确定该策略在系统地决策层次。

9.策略扩展

访问控制策略应该可以提供一定地可扩展性。这里可扩展性主要是指所扩展的功能能够由已有的系统部件自动实施,所扩展的规则也可以用已有的规则描述。

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

【QGroundControl二次开发】二.使用QT编译QGC(Windows)

【QGroundControl二次开发】一.开发环境准备(Windows) 二. 使用QT编译QGC(Windows) 2.1 打开QT Creator,选择打开项目,打开之前下载的QGC项目源码。 编译器选择Desktop Qt 6.6.3 MSVC2019 64bit。 点击运…

第四章:服务-让客户端发现pod并与之通信

本章内容包括: 创建服务资源,利用单个地址访问一组pod发现集群中的服务将服务公开给外部客户端从集群内部连接外部服务控制pod与服务关联排除服务故障 上一章学习了如何通过ReplicaSet以及类似的资源部署运行pod的事。尽管特定的pod可以独立的应对外部刺…

C++之类与对象(1)

目录 前言 1.类的定义 1.1类定义的格式 1.2访问限定符 1.3类域 1.3.1类定义一个作用域 1.3.2类成员在类的作用域中 1.3.3在类体外定义成员 2.实例化 2.1实例化概念 2.2对象大小 3.this指针 4.选择题补充练习 结束语 前言 Hello,友友们,好久…

使用Python Turtle绘制圣诞树和装饰

简介(❤ ω ❤) 在这篇文章中,我们将探索如何使用Python的Turtle模块来绘制一个充满节日气氛的圣诞树,以及一些可爱的装饰品。Turtle是一个受Logo语言启发的图形库,非常适合初学者学习编程和创建图形。 码农不是吗喽(大学生版&…

SpringBoot以及swagger的基本使用

1、SpringBoot是什么? 一种快速开发、启动Spring的框架、脚手架 遵循“约定优于配置”的思想,使得能够快速创建和配置Spring应用 2、SpringBoot的核心特性 自动配置,一些依赖、默认配置都预设好了,减少了配置量起步依赖&#x…

实现给Nginx的指定站点开启目录浏览功能

一、问题描述 需要实现在浏览器上可以浏览Nginx部署网站内容并下载一些常用的软件安装包、文件资料等内容;并且针对一些文件夹或内容需要进行认证后才能查看;有一些格式类型的文件也不能够访问查看。 二、问题分析 1、实现浏览器上可以浏览下载文件内容; 2、针对一些文件…

Android Studio 不再支持windows 7

Android Studio 一打开就报错: 无法找到入口 无法定位程序输入点 CreateAppContainerProfle 于动态链接库USERENV.dII 上。 截图如下: 经调查,是因为系统版本不兼容。 我目前的电脑环境:windows 7,但是现在的Android Studio要…

四六级词汇小程序的设计

管理员账户功能包括:系统首页,个人中心,用户管理,英语词汇管理,易错词管理,学习笔记管理,签到打卡管理,论坛管理 微信端账号功能包括:系统首页,英语词汇&…

【C++】认识C++(一)

前言 📚作者简介:爱编程的小马,是一名大厂后端c程序员。 📚本文收录于c系列,本专栏主要是分享我所了解的c知识,带领大家慢慢从了解c到认识c,持续更新! 📚本文主要内容&a…

纵向倾斜角、横向倾斜角、全方面监测:输电线路杆塔倾斜在线监测装置

纵向倾斜角、横向倾斜角、全方面监测:输电线路杆塔倾斜在线监测装置 随着我国电网建设的不断加速和电力设施分布范围的扩大,杆塔作为电网的重要组成部分,其安全稳定运行对于保障电力供应具有至关重要的意义。然而,由于地质条件复…

transformer论文讲解

1.标题 作者 Transformer 开创了继 MLP 、CNN和 RN 之后的第四大类模型。200页综述(来自评论区: https://arxiv.org/pdf/2108.07258.pdf )建议将Transformer作为基础模型。 标题:XXX is all you need. 头条标题。 Attention i…

达梦数据库的系统视图v$sqltext

达梦数据库的系统视图v$sqltext 在达梦数据库(DM Database)中,V$SQLTEXT 是一个系统视图,用于显示当前正在执行或最近执行的SQL语句的文本信息。这个视图对于监控和分析数据库中的SQL活动非常有用,尤其是在需要调试性…

C语言 | Leetcode C语言题解之第235题二叉搜索树的最近公共祖先

题目&#xff1a; 题解&#xff1a; struct TreeNode* lowestCommonAncestor(struct TreeNode* root, struct TreeNode* p, struct TreeNode* q) {struct TreeNode* ancestor root;while (true) {if (p->val < ancestor->val && q->val < ancestor-&g…

结构体和联合体的区别

1. 结构体(Struct) 在 C 语言中&#xff0c;结构体是一种自定义的复合数据类型&#xff0c;允许将不同数据类型的变量组合成一个单一的实体。结构体可以包含多个成员&#xff0c;每个成员可以是不同的数据类型&#xff0c;如整数、浮点数、字符、数组等。 结构体的定义通常在函…

【接口自动化_12课_基于Flask搭建MockServer】

知识非核心点,面试题较少。框架搭建的过程中的细节才是面试要点 第三方接口,不方便进行测试, 自己要一个接口去进行模拟。去作为我们项目访问模拟接口。自己写一个接口,需要怎样写 一、flask:轻量级的web应用的框架 安装命令 pip install flask 1、flask-web应用 1)…

Blackbox AI:你的智能编程伙伴

目录 Blackbox AI 产品介绍 Blackbox AI 产品使用教程 Blackbox AI体验 AI问答 代码验证 实时搜索 探索&代理 拓展集成 总结 Blackbox AI 产品介绍 Blackbox是专门为程序员量身定制的语言大模型&#xff0c;它针对20多种编程语言进行了特别训练和深度优化&#xff0c;在AI代…

Qt第十二章 样式表

样式表 文章目录 样式表1.样式表盒子模型 2.选择器选择器类型伪状态选择器Pseudo-State 3.控件示例4继承自QWidget的类&#xff0c;设置qss样式表没有效果&#xff0c;需要重写paintEvent 1.样式表 盒子模型 2.选择器 样式表语法&#xff0c;选择器{属性1:值;属性2:值;}如果只…

七款热门企业数据加密软件推荐|2024年加密软件最新整理出炉!

古言到&#xff1a;“知己知彼&#xff0c;百战不殆。” 当今时代&#xff0c;数据为王&#xff01; 企业数据的保护已成为竞争中的关键一环。 数据加密软件作为守护企业数字资产的利剑&#xff0c;其重要性日益凸显。 2024年&#xff0c;市场上涌现出一批功能强大、特色鲜…

Vue入门之v-on、v-model、v-if

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

高效实现GIS地图可视化,这款免费工具不可错过

GIS地图可视化怎么做&#xff1f;山海鲸可视化这款免费可视化工具帮你轻松搞定。从三维GIS地图可视化需求出发&#xff0c;山海鲸可视化提供了强大的GIS场景编辑功能&#xff0c;包括支持添加倾斜摄影和地形编辑。无论是复杂的地形调整还是细致的倾斜摄影添加&#xff0c;这款工…