访问控制系列

目录

一、基本概念

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://www.mzph.cn/bicheng/47673.shtml

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

相关文章

使用TableConvert API将CSV转换为JSON数组

TableConvert API 是一款多功能工具,旨在简化不同数据格式之间的转换过程。通过访问370种不同的转换器,该API可以在包括CSV、Excel、HTML、JSON、Markdown等多种文件类型和结构之间实现无缝数据转换。 为什么选择TableConvert的CSV到JSON数组API&#x…

面试问题:react的Reconciler(调度器)为什么在做异步可中断不用原生Generator,自己做了一个Fiber

首先Generator也是有异步中断功能的但是能他是有传染性的,使用了Generator则需要上下文的其他函数也需要做主改变,这样心智负担比较重,就比如说我定义一个Generator方法,里面有ABC三个函数我分别在B的前面和C的前面放一个yield打断…

Linux: network: device事件注册机制 chatGPT; notify

ChatGPT 在 Linux 内核中,有关网络设备(net-device)的事件注册机制,允许用户在网络设备的状态发生变化(例如设备被删除、添加或修改)时接收通知。这主要通过 netdev 事件通知机制实现。具体来说,内核提供了一组用于注册和处理网络设备事件的 API。 以下是一些关键组件…

memcached 高性能内存对象缓存

memcached 高性能内存对象缓存 memcache是一款开源的高性能分布式内存对象缓存系统,常用于做大型动态web服务器的中间件缓存。 mamcached做web服务的中间缓存示意图 当web服务器接收到请求需要处理动态页面元素时,通常要去数据库调用数据,但…

【快速逆向一/无过程/有源码】《大学》在线投稿系统

逆向日期:2024.07.18 使用工具:Node.js 加密工具:Crypto-js标准库 文章全程已做去敏处理!!! 【需要做的可联系我】 【点赞 收藏 关注 】仅供学习,仅供学习, 本文为快速逆向&#x…

如果制作红星照耀中国思维导图?6个软件帮助你快速制作思维导图

如果制作红星照耀中国思维导图?6个软件帮助你快速制作思维导图 制作《红星照耀中国》思维导图可以帮助更好地理解和梳理书中的重要信息和内容。以下是六款推荐的思维导图软件及其特点和使用方法,帮助你快速制作高质量的思维导图。 迅捷画图 特点与功…

Milvus核心组件(2)---- etcd 详解

目录 背景 etcd 简介 1. 基本概念 2. 数据存储特性 3. KVS的操作 4. 租约(Lease)机制 5. 实际应用场景 Milvus 下的 etcd 服务及存储结构 etcd 服务 端口 存储位置 安全连接信息 嵌入式方式运行 etcd 文件存储结构 解析etcd 文件 连接 etcd server 注意事项…

n2. Web相关知识和工具

Web相关知识和工具 1. http协议相关基础知识2. http协议状态码3. Web相关工具2.1 links2.2 wget2.3 curl2.4 httpie 4. httpd的压力测试工具 1. http协议相关基础知识 URI: Uniform Resource Identifier 统一资源标识,分为URL 和 URN URN:U…

Python基础语法篇(下)+ 数据可视化

Python基础语法(下) 数据可视化 一、函数(一)函数的定义(二)函数的调用和传参 二、文件操作(一)文件读取和写入(二)文件对象及方法(三&#xff09…

【数学建模】——【线性规划】及其在资源优化中的应用

目录 线性规划问题的两类主要应用: 线性规划的数学模型的三要素: 线性规划的一般步骤: 例1: 人数选择 例2 :任务分配问题 例3: 饮食问题 线性规划模型 线性规划的模型一般可表示为 线性规划的模型标准型&…

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

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

【MySQL篇】Percona XtraBackup工具备份指南:常用备份命令详解与实践(第二篇,总共五篇)

💫《博主介绍》:✨又是一天没白过,我是奈斯,DBA一名✨ 💫《擅长领域》:✌️擅长Oracle、MySQL、SQLserver、阿里云AnalyticDB for MySQL(分布式数据仓库)、Linux,也在扩展大数据方向的知识面✌️…

银河麒麟搭建ftp服务器

1.先 查看系统架构,我常遇到的一般银河麒麟是arrch64的 lscpu uname -a cat /etc/os-release 去下载对应版本的vsftp.rpm包和ftp包 Index of /NS/ (cs2c.com.cn) 1.安装rpm rpm -ivh *.rpm --nodeps --force #强制安装 2.修改配置文件 vi /etc/vsftpd/vsftpd.co…

Qt Android Native Error: JNI DETECTED ERROR IN APPLICATION: java_object == null

开发的qt android程序在低版本上运行正常&#xff0c;在高版本上启动时崩溃&#xff0c;报如下错误 W java.lang.RuntimeException: Cant create handler inside thread Thread[qtMainLoopThread,5,main] that has not called Looper.prepare()at android.os.Handler.<ini…

如何使用Python调用颜值评分接口

引言 在当今社会&#xff0c;人工智能技术被应用于各个领域&#xff0c;包括图像识别和分析。今天&#xff0c;我们将利用Python来调用小思框架颜值评分接口&#xff0c;该接口可以接收一张人脸图片&#xff0c;并返回一个表示颜值水平的分数。 接口功能与参数 方法URL参数描…

PiT : 基于池化层Pooling layer的Vision Transformer

CNN的降维原理;随着深度的增加,传统CNN的通道维数增加,空间维数减少。经验表明,这样的空间降维对变压器结构也是有益的,并在原有的ViT模型的基础上提出了一种新的基于池的视觉变压器(PiT)。 1. 引言 ViT与卷积神经网络(CNN)有很大的不同。将输入图像分成1616小块馈送到变压…

C++ 匹配并提取包括加中括号的日期时间的正则表达式

在C中&#xff0c;你可以使用std::regex库来匹配包含日期和时间的字符串。以下是一个简单的例子&#xff0c;它展示了如何使用正则表达式来匹配形如[YYYY-MM-DD HH:MM:SS]的字符串。include <iostream> #include <string> #include <regex> int main() { …

学懂C#编程:精通C#、.NET开发之核心编程知识学习指南

无论你是编程新手&#xff0c;还是想要深化.NET技能的开发者&#xff0c;本文都将为你提供一条清晰的学习路径&#xff0c;从C#基础到高级特性&#xff0c;每一站都配有详尽解析和实用示例&#xff0c;旨在帮助你建立坚实的知识体系&#xff0c;并激发你对C#及.NET生态的热情。…

LabVIEW软件开发的雷区在哪里?

在LabVIEW软件开发中&#xff0c;有几个需要注意的雷区&#xff0c;以避免常见的错误和提高开发效率&#xff1a; 1. 不良的代码结构 雷区&#xff1a;混乱的代码结构和不清晰的程序逻辑。 后果&#xff1a;导致难以维护和调试的代码&#xff0c;增加了错误和故障的风险。 …

Web3时代的教育技术革新:智能合约在学习管理中的应用

随着区块链技术的发展和普及&#xff0c;Web3时代正在为教育技术带来前所未有的革新和机遇。智能合约作为区块链技术的核心应用之一&#xff0c;不仅在金融和供应链管理等领域展示了其巨大的潜力&#xff0c;也在教育领域中逐渐探索和应用。本文将探讨智能合约在学习管理中的具…