精华内容
下载资源
问答
  • 面试题:PCB包括哪些内容

    千次阅读 2018-01-28 21:22:57
    PCB : 进程控制块 系统利用PCB来控制和管理进程,所以PCB是系统感知进程存在的唯一标志。进程与PCB是一一对应的。 通常PCB应包含如下一些信息:  1、进程标识符 name  每个进程都必须有一个唯一的标识符,可以是...

    PCB : 进程控制块

    系统利用PCB来控制和管理进程,所以PCB是系统感知进程存在的唯一标志。进程与PCB是一一对应的。

    通常PCB应包含如下一些信息:
      1、进程标识符 name
            每个进程都必须有一个唯一的标识符,可以是字符串,也可以是一个数字。
      2、进程当前状态 status
           说明进程当前所处的状态。为了管理的方便,系统设计时会将相同的状态的 进程组成一个队列,如就绪进程队列,等待                进程则要根据等待的事件组成多个等待队列,如等待打印机队列。
      3、进程相应的程序和数据地址 

                  以便把PCB与其程序和数据联系起来。
      4、进程资源清单

                  列出所拥有的除CPU外的资源记录,如拥有的I/O设备, 打开的文件列表等。
      5、进程优先级 priority
            进程的优先级反映进程的紧迫程度,通常由用户指定和系统设置。
      6、CPU现场保护区 cpustatus
            当进程因某种原因不能继续占用CPU时(如等待打印机),释放CPU,这时就要将CPU的各种状态信息保护起来,为将                 来再次得到处理机恢复CPU的各种状态,继续运行。
      7、进程同步与通信机制

                  用于实现进程间互斥、同步和通信所需的信号量等。
      8、进程所在队列PCB的链接字

                  根据进程所处的现行状态,进程相应的PCB参加到不同队列中。PCB链接字指出该进程所在队列中下一个进程PCB的首                 地址。
      9、与进程有关的其他信息

                  如进程记账信息,进程占用CPU的时间等。

    

    展开全文
  • 控制理论】滑模控制最强解析

    万次阅读 多人点赞 2019-05-16 21:01:20
    更新,在知乎创建了一个专栏,主要包括一些控制理论和机器人控制方面的知识。 https://zhuanlan.zhihu.com/p/78549442 滑模控制是一种相当简单而且控制性能优越的控制方法,但是绝大多数的工厂在做过程控制时还是...

    更新,在知乎创建了一个专栏,主要包括一些控制理论和机器人控制方面的知识。

    https://zhuanlan.zhihu.com/p/78549442


    滑模控制是一种相当简单而且控制性能优越的控制方法,但是绝大多数的工厂在做过程控制时还是只考虑PID控制,我觉得有必要写一篇文章详细的解释一下它的工作原理。

    它的控制效果优越体现在哪里呢?主要是两点:1、滑动模态可以进行设计,调节的参数少,响应速度快。2、对扰动不灵敏。什么是干扰?如果你的机器好端端地在工作,突然来了一个熊孩子拿起一钉锤就是一顿敲;或者工厂附近有高铁,每隔一段时间地面就要抖两下。滑模控制对扰动有很强的抑制能力,这对于在复杂环境工作下的机器来说非常友好。

    滑模控制本质上是非线性控制的一种,简单的说,它的非线性表现为控制的不连续性,即系统的“结构”不固定,可以在动态过程中根据系统当前的状态有目的地不断变化,迫使系统按照预定“滑动模态”的状态轨迹运动。

     

    针对一个真实的系统来解释,现在假设光滑的平面上有一个小木块,它在坐标轴X=2处,它存在一个向坐标轴远离的速度\dot{x}=2,现在的问题就是如何设计一个控制器让它最后能停在原点。

                                                

    1、根据上面的描述,可以写出这个小木块的状态方程:

                                                                                       

    x1,x2分别代表木块的位置和速度,u代表控制器的输出,控制目标很明确,最终要让x_1=0,x_2=0。用系统框图来表示为:

                       

    2、设计滑模面

                                                                             

    这里可能有人就要问了,滑模面是个什么东西?凭什么要写成这种形式而不是其他形式?

    之前说过了控制器的目的是为了使得x_1=0,x_2=0,那如果s=0,会有什么结果呢?

    可以看出状态量最终都会趋于零,而且是以指数速度趋近,指数趋近速度什么意思,也就是说当t=1/c时,趋近到零的这个过程它已经完成了63.2%,当t=3/c时,它已经完成了95.021%。调节c的大小可以调节状态趋近于零的速度。c越大,速度也就越快。所以如果满足s=cx_1+x_2=0,那么系统的状态将沿着滑模面趋于零,(s=0称之为滑模面)。用相平面来表示这个指数趋近的过程为,沿着箭头的方向移动到原点的这个过程就是设计滑模面要实现的效果。                                     

    3、设计趋近律,寻找s与控制u之间的关系

    上面说到如果s=0状态变量最终会趋于零,可是如何保证s=0呢?这就是控制率u所要实现的内容了。

    s=cx_1+x_2,在这个方程里面并没有u,我们想到可能和u有关系,果然:

                                                         

    趋近律就是指的\dot{x},趋近律一般有如下几种设计:

                                                       

    根据以上的趋近律,可以求出控制器u的表达式,对于\dot{s}=-\varepsilon sgn(s),\varepsilon >0来说,u=-cx_2-\varepsilon sgn(s),对木块施加该u的控制,那么最终木块会稳定在原点。

    再回来解释为什么趋近律\dot{s}这么设计会保证s=0。

    在控制原理中,用Lyapunov函数来判断系统的稳定性,对于系统状态方程\dot{s}=cx_2+u(目标已经变成s=0,因此现在写成s的状态方程),对于平衡点s,如果存在一个连续函数V满足

    那么系统将在平衡点s=0处稳定,即\lim_{t\rightarrow \infty}s=0

    V(s,t)=1/2s^2,很明显满足第一个条件,第二个条件也满足。满足Lyapunov函数的条件,s最终会稳定滑模面,也就是s=0。

    讲到这里,我们可以稍微总结一下滑模控制的设计步骤。首先根据被控对象的状态方程设计滑模面s=CX,状态一旦到达滑模面,将以指数趋近方式达到稳定状态。然后设计趋近律\dot{s}求出控制器的表达,李雅普诺夫函数作为稳定性的保证,即保证s=0可达,(相平面中的其他点能到达滑模面)。

     


    细心的朋友可能发现了一个问题,Lyapunov函数的两个条件能保证\lim_{t\rightarrow \infty}s=0,但是这个几乎没有什么用处。为什么这么说呢,因为它对到达的时间没有任何的要求,t=2s时s=0和t=200s时s=0都满足Lyapunov函数的要求,万一真的出现那种长时间才到达滑模面的情况,在实际情况下,是没有意义的。

    对Lyapunov函数的第二个条件做修改,让它能实现有限时间达到稳定点。

    对于改进后的第二个条件,分离变量然后积分,假设积分时间为t。

                          

                                                                                     \int _0^t \frac{\dot V}{V^{1/2}}dt\leq -\alpha t

    得到:

                                                              

    根据这个不等式可以看出V将在有限时间tr内到稳定点,\alpha越大,到达稳定点的时间越快。

                                                                     

    因为Lyapunov条件的改变,控制器u也要相应做出改变:

    只有满足才能实现有限时间到达滑模面。

     

     


    咱们继续分析,因为以上的讨论都还没有涉及干扰项d,现在将干扰加入系统状态方程,看看滑模控制是怎么做到对干扰不敏感的,这是真的牛。

    加入干扰项后,有新的状态方程:

                                                                              

    当然,这对滑模面的设计没有影响,滑模面还是,变化的是趋近律\dot{s},控制率u还是保持上面的形式

    为了满足Lyapunov函数,有:

                                                    

    上式中的L表示干扰的上界,

    对比\dot{V}的条件,只有当时,Lyapunov函数既满足有限时间收敛又负定。因此,系统仍按照先滑动到滑模面,再沿滑模面做指数趋近运动。干扰没有对系统造成影响。

     

    因为几天前老师给我开了小灶,花了几个小时专门讲滑模,所以心血来潮总结了这一篇文章,用viso画图、敲公式尽量想把这篇博客写得好一点,结果断断续续花了一天的时就按才搞完,心累。另外,CSDN的编辑器是真的难用

     

    展开全文
  • 第一章 访问控制的概念  访问控制分类  网络访问控制  主机/操作系统访问控制  应用程序访问控制  加密方式在访问控制系统中的应用 第二章 强制访问控制与自主访问控制  强制访问控制(MAC)  ...

    第一章 访问控制的概念

     访问控制分类

     网络访问控制

     主机/操作系统访问控制

     应用程序访问控制

     加密方式在访问控制系统中的应用

    第二章 强制访问控制与自主访问控制

     强制访问控制(MAC)

     自主访问控制(DAC)

    第三章 访问控制模型

     BELL-LAPADULA保密性模型

     LATTICE安全模型

     BIBA完整性模型

     CLARK WILSON完整性模型

     CHINESE WALL模型


    第一讲 访问控制概念


    绪论

      访问控制,作为提供信息安全保障的主要手段,及最为突出的安全机制, 被广泛地应用于防火墙、文件访问、VPN及物理安全等多个方面。 所有这些技术可归诸于几类访问控制模型,本文将一一介绍并以实例说明,以帮助设计者在多变的环境中解决相关安全问题。

    第一章 访问控制的概念

      访问控制是信息安全保障机制的核心内容,它是实现数据保密性和完整性机制的主要手段。访问控制是为了限制访问主体(或称为发起者,是一个主动的实体;如用户、进程、服务等),对访问客体(需要保护的资源)的访问权限,从而使计算机系统在合法范围内使用;访问控制机制决定用户及代表一定用户利益的程序能做什么,及做到什么程度。

    访问控制的两个重要过程:
    1、通过"鉴别(authentication)"来检验主体的合法身份
    2、通过"授权(authorization)"来限制用户对资源的访问级别

    访问包括读取数据,更改数据,运行程序,发起连接等。

    访问控制分类

    因实现的基本理念不同,访问控制可分为以下两种:

    • 强制访问控制(Mandatory access control)
    • 自主访问控制(Discretionary access control)
      (关于强制访问控制与自主访问控制,本文将在第二章作详细介绍。)

      例如,当一个用户通过身份认证机制登陆到某一WINDOWS系统时,WINDOWS文件访问控制机制将检查系统中哪些文件该用户可以访问。

      访问控制所要控制的行为有以下几类:读取数据、运行可执行文件、发起网络连接等等。

    访问控制应用类型

    根据应用环境的不同,访问控制主要有以下三种:

    • 网络访问控制
    • 主机、操作系统访问控制
    • 应用程序访问控制

    网络访问控制


    图1-1                   

      访问控制机制应用在网络安全环境中,主要是限制用户可以建立什么样的连接以及通过网络传输什么样的数据,这就是传统的网络防火墙。防火墙作为网络边界阻塞点来过滤网络会话和数据传输。根据防火墙的性能和功能,这种控制可以达到不同的级别。

     防火墙可实现以下几类访问控制:

      1) 连接控制,控制哪些应用程序终结点之间可建立连接。例如,防火墙可控制内部的某些用户可以发起对外部WEB站点间的的连接。

      2) 协议控制,控制用户通过一个应用程序可以进行什么操作,例如,防火墙可以允许用户浏览一个页面,同时拒绝用户在非信任的服务器上发布数据。

      3) 数据控制,防火墙可以控制应用数据流的通过。如防火墙可以阻塞邮件附件中的病毒。

    防火墙实现访问控制的尺度依赖于它所能实现的技术。

    主机/操作系统访问控制


    图1-2

      目前主流的操作系统均提供不同级别的访问控制功能。通常,操作系统借助访问控制机制来限制对文件及系统设备的访问。

      例如:Windows NT/2000操作系统应用访问控制列表来对本地文件进行保护,访问控制列表指定某个用户可以读、写或执行某个文件。文件的所有者可以改变该文件访问控制列表的属性。

    应用程序访问控制


       访问控制往往嵌入应用程序(或中间件)中以提供更细粒度的数据访问控制。当访问控制需要基于数据记录或更小的数据单元实现时,应用程序将提供其内置的访问控制模型。

     例如,大多数数据库(如Oracle)都提供独立于操作系统的访问控制机制,Oracle使用其内部用户数据库,且数据库中的每个表都有自己的访问控制策略来支配对其记录的访问。

      另外比较典型的例子是电子商务应用程序,该程序认证用户的身份并将其置于特定的组中,这些组对应用程序中的某一部分数据拥有访问权限。

    加密方式在访问控制系统中的应用

      加密方法也经常被用来提供实现访问控制。或者独立实施访问控制,或者作为其它访问控制机制的加强手段。例如,采用加密可以限定只有拥有解密密钥的用户才有权限访问特定资源。

      IPsec VPN采用强加密机制来提供访问控制以非可信网络中的用户访问经由VPN传输的数据。此外,加密和密钥管理也可实现访问控制机制,只有拥有相应的密钥(IPsec安全关联协商成功),才可以解密及访问数据。

      存储于本地硬盘的数据也可以被加密,所以同一系统中的用户若无相应解密密钥也不可读取相关数据。如此就可以代替传统的文件权限控制方式。个别数据库产品可以加密位于本地磁盘上的数据库文件,这样就可弥补操作系统访问控制机制的不足。



    第二章 强制访问控制与自主访问控制

    强制访问控制(MAC)

      用来保护系统确定的对象,对此对象用户不能进行更改。也就是说,系统独立于用户行为强制执行访问控制,用户不能改变他们的安全级别或对象的安全属性。这样的访问控制规则通常对数据和用户按照安全等级划分标签,访问控制机制通过比较安全标签来确定的授予还是拒绝用户对资源的访问。强制访问控制进行了很强的等级划分,所以经常用于军事用途。


                  图2-1

      在强制访问控制系统中,所有主体(用户,进程)和客体(文件,数据)都被分配了安全标签,安全标签标识一个安全等级。

    •  主体 (用户, 进程) 被分配一个安全等级
    •  客体 (文件, 数据) 也被分配一个安全等级
    •  访问控制执行时对主体和客体的安全级别进行比较

      用一个例子来说明强制访问控制规则的应用,如WEB服务以"秘密"的安全级别运行。假如WEB服务器被攻击,攻击者在目标系统中以"秘密"的安全级别进行操作,他将不能访问系统中安全级为"机密"及"高密"的数据。

    自主访问控制(DAC)

      自主访问控制机制允许对象的属主来制定针对该对象的保护策略。通常DAC通过授权列表(或访问控制列表)来限定哪些主体针对哪些客体可以执行什么操作。如此将可以非常灵活地对策略进行调整。由于其易用性与可扩展性,自主访问控制机制经常被用于商业系统。

    自主访问控制中,用户可以针对被保护对象制定自己的保护策略。

    •  每个主体拥有一个用户名并属于一个组或具有一个角色
    •  每个客体都拥有一个限定主体对其访问权限的访问控制列表(ACL
    •  每次访问发生时都会基于访问控制列表检查用户标志以实现对其访问权限的控制

      在商业环境中,你会经常遇到自主访问控制机制,由于它易于扩展和理解。大多数系统仅基于自主访问控制机制来实现访问控制,如主流操作系统(Windows NT Server, UNIX 系统),防火墙(ACLs)等。

      强制访问控制和自主访问控制有时会结合使用。例如,系统可能首先执行强制访问控制来检查用户是否有权限访问一个文件组(这种保护是强制的,也就是说:这些策略不能被用户更改),然后再针对该组中的各个文件制定相关的访问控制列表(自主访问控制策略)。

     

    第三章 访问控制模型 之 强制访问控制(MAC)

    Bell-LaPadula保密性模型是第一个能够提供分级别数据机密性保障的安全策略模型(多级安全)。

    1973年,David BellLen LaPadula提出了第一个正式的安全模型,该模型基于强制访问控制系统,以敏感度来划分资源的安全级别。将数据划分为多安全级别与敏感度的系统称之为多级安全系统

    Bell-LaPadula (BLP) 安全模型对主体和客体按照强制访问控制系统的哲学进行分类,这种分类方法一般应用于军事用途。

    数据和用户被划分为以下安全等级

    •  公开(Unclassified
    •  受限(Restricted
    •  秘密(Confidential
    •  机密(Secret
    •  高密(Top Secret

    BLP 保密模型基于两种规则来保障数据的机秘度与敏感度:

    •  上读(NRU) , 主体不可读安全级别高于它的数据
    •  下写(NWD) , 主体不可写安全级别低于它的数据

      直接来讲,要考虑数据的保秘性. 例如.假如一个用户,他的安全级别为"高密",想要访问安全级别为"秘密"的文档,他将能够成功读取该文件,但不能写入;而安全级别为"秘密"的用户访问安全级别为"高密"的文档,则会读取失败,但他能够写入。这样,文档的保秘性就得到了保障。

      另外,目前不能在原有操作系统中直接进行安全分级。也就是说,在解决其易用性与功能单一性之前,BLP模型不能直接用于商业系统。


     

    图3-1 图3-1为一个用户和资源安全分级的例子。 BLP模型允许用户读取安全级别比他低的资源;相反地,写入对象的安全级别只能高于用户级别。简言之,信息系统是一个由低到高的层次化结构。
     

     

                          图3-2

    图3-2示例在通讯过程中如何体现BLP模型思想,尽管这种应用在BLP模型的实际应用中并不多见。当企业的两个分支网络要跨越非可信网络进行互联时,我们可以为两个网络及其间传输的数据设定虚拟的安全标签,可以假设两个分支机构的安全级别均为"机秘",而Internet,作为VPN的传输媒介,它的安全级别为"公开",因此依照BLP模型,Internet上的用户仅可以看到"公开"的数据。而两个分支网络间的数据安全级别为"机秘",因此,访问控制机制导致Internet用户不能访问"机秘"数据,而这是由于VPN使用了加密技术以实现访问控制机制。

      另外的一个例子是防火墙所实现的单向访问机制,它不允许敏感数据从内部网络(例如,其安全级别为"机秘")流向Internet(安全级别为"公开"),所有内部数据被标志为"机密"或"高密"。防火墙提供"上读"功能来阻止Internet对内部网络的访问,提供"下写"功能来限制进入内部的数据流只能经由由内向外发起的连接流入(例如,允许HTTP的"GET"操作而拒绝"POST"操作,或阻止任何外发的邮件)。

    Lattice安全模型



    Lattice 模型通过划分安全边界对BLP模型进行了扩充,它将用户和资源进行分类,并允许它们之间交换信息,这是多边安全体系的基础。

      多边安全的焦点是在不同的安全集束(部门,组织等)间控制信息的流动,而不仅是垂直检验其敏感级别。

      建立多边安全的基础是为分属不同安全集束的主体划分安全等级,同样在不同安全集束中的客体也必须进行安全等级划分,一个主体可同时从属于多个安全集束,而一个客体仅能位于一个安全集束。

      在执行访问控制功能时,lattice模型本质上同BLP模型是相同的,而lattice模型更注重形成"安全集束"。BLP模型中的"上读下写"原则在此仍然适用,但前提条件必须是各对象位于相同的安全集束中。主体和客体位于不同的安全集束时不具有可比性,因此在它们中没有信息可以流通。

      例如,某用户有安全级别为"高密"并从属于安全集束"ALPHA",另一个安全级别为"机密"的集束"BETA"中的用户试图访问从属于多个安全集束中的文件,若他需要访问集束"ALPHA"中安全级别为"机密"的文件,访问将被允许;而他访问集束"BETA"中的"机密"文件的试图将被拒绝。试图访问集束"GAMMA"中的任何对象都将被拒绝,因为其在集束"GAMMA"中不具有任何安全等级

    Biba完整性模型


      七十年代,Ken Biba提出了Biba访问控制模型,该模型对数据提供了分级别的完整性保证,类似于BLP保密性模型,BIBA模型也使用强制访问控制系统。

      Biba完整性模型对主体和客体按照强制访问控制系统的哲学进行分类,这种分类方法一般应用于军事用途

     数据和用户被划分为以下安全等级

    •  公开(Unclassified
    •  受限(Restricted
    •  秘密(Confidential
    •  机密(Secret
    •  高密(Top Secret

    BIBA模型基于两种规则来保障数据的完整性的保密性。

    •  下读(NRU) 属性, 主体不能读取安全级别低于它的数据
    •  上写(NWD) 属性, 主体不能写入安全级别高于它的数据

      从这两个属性来看,我们发现BibaBLP模型的两个属性是相反的,BLP模型提供保密性,而BIBA模型对于数据的完整性提供保障。

      BIBA模型并没有被用来设计安全操作系统,但大多数完整性保障机制都基于Biba模型的两个基本属性构建。

      如图3-4,一个安全级别为"机密"的用户要访问级别为"秘密"的文档,他将被允许写入该文档,而不能读取。如果他试图访问"高密"级的文档,那么,读取操作将被允许,而写入操作将被拒绝。这样,就使资源的完整性得到了保障。

      因此,只有用户的安全级别高于资源的安全级别时可对资源进行写操作,相反地,只有用户的安全级别低于资源的安全经别时可读取该资源。简而言之,信息在系统中只能自上而下进行流动。

    应用举例:


    Biba模型在应用中的一个例子是对WEB服务器的访问过程。如图形-5,定义Web服务器上发布的资源安全级别为"秘密",Internet上用户的安全级别为"公开",依照Biba模型,Web服务器上数据的完整性将得到保障,Internet上的用户只能读取服务器上的数据而不能更改它,因此,任何"POST"操作将被拒绝。

      另一个例子是对系统状态信息的收集,网络设备作为对象,被分配的安全等级为"机密",网管工作站的安全级别为"秘密",那么网管工作站将只能使用SNMP的"get"命令来收集网络设备的状态信息,而不能使用"set"命令来更改该设备的设置。这样,网络设备的配置完整性就得到了保障。

     

    Clark Wilson完整性模型

      Clark-Wilson数据完整性安全模型是在1987年被提出的,通常被用在银行系统中来保证数据的完整性,该模型略显复杂,是为现代数据存储技术量身定制的。

      Clark Wilson完整性模型经常应用在银行应用中以保证数据完整性,它的实现基于成形的事务处理机制。

    •  系统接受"自由数据条目 (UDI)"并将其转换为 "受限数据条目 (CDI)"
    •  "受限数据条目 (CDI)"仅能被"转换程序(TP)"所改变
    •  "转换程序 (TP)" 保证"受限数据条目
      CDI"的完整性
    •  每个受限数据条目(CDI) 拥有一个完整性检查程序 (IVP)
    •  访问控制机制由三个元素组成 (主体, TP, CDI)

    应用举例:
     

    图3-6所示为Clark Wilson完整性模型在电子商务程序中的应用,用户接到自主数据条目(UDI)并由转换程序(TP)将其转换为受限数据条目(CDICDI1CDI1用来更新CDI2(例如客户的订单)和CDI3(如客户的帐单),完整性检查程序(IVP)总是要检查是否CDI2(订单)和CDI3(帐单)是否出入平衡,因此可确保整个交易的完整性。

    Chinese Wall模型

    Chinese Wall模型是应用在多边安全系统中的安全模型(也就是多个组织间的访问控制系统),应用在可能存在利益冲突的组织中。最初是为投资银行设计的,但也可应用在其它相似的场合。

    Chinese Wall安全策略的基础是客户访问的信息不会与目前他们可支配的信息产生冲突。在投资银行中,一个银行会同时拥有多个互为竞争者的客户,一个银行家可能为一个客户工作,但他可以访问所有客户的信息。因此,应当制止该银行家访问其它客户的数据。

    Chinese Wall安全模型的两个主要属性:

    •  用户必须选择一个他可以访问的区域
    •  用户必须自动拒绝来自其它与用户所选区域的利益冲突区域的访问

      这种模型同时包括了DACMAC的属性:银行家可以选择为谁工作(DAC),但是一旦选定,他就被只能为该客户工作(MAC)。

    应用示例:


    图3-7

      Chinese Wall安全模型在网络安全体系中应用的一个典型的例子是位于防火墙内部的一台服务器,连接着内部与外部网络。假如策略禁止经由此服务器转发数据,该服务器将曝露于外部网络(也就是说,该服务器仅能与外部网络通讯,而不能与内部网络通讯)


    图3-8

      另外用远程访问VPN来举例说明,位于Internet上的用户与内部网络建立VPN会话之后。依照中国墙安全模型所建议,在任何时候,用户或与Internet通讯,或与公司网络进行通讯,二者只可选其一(也就是说:隧道不可分割)

      单向会话只发生在有限的时间内,本安全模型的核心在于--用户选择与其中一方进行通讯,则放弃了与另一方会话的权利。

    第二讲 传统的访问控制

    一、基本概念

    访问控制的基本任务是:防止非法用户进入系统及合法用户对系统资源的非法使用,它保证主体对客体的所有直接访问都是经过授权的。

    1.客体:

    是一种能够从其它主体或客体接收信息的实体(文件、目录、数据块、记录、程序、存储器段、网络节点等),即包含有信息,又可以被访问的实体。

    2.主体

    是一种可以使信息在客体之间流动的实体(进程、作业或任务(代表用户),用户也称为是主体)或能访问或使用客体的活动实体。

    通常,我们把主体也看作是一个客体。因为当一个程序存放在内存或硬盘上时,那么它就与其它数据一样被当作客体,可供其它主体访问,但当这个程序运行时,它就成为了主体,可以去访问别的客体。

    3.访问模式(访问权限)
          是指主体对客体可进行的特定访问操作如:读(r)、写(w可读可写或修改)、添加(a)、删除(d)、运行(e)等。

    二种特殊的访问权限是控制权(c)、拥有权(o)。

           c是指某个主体具有改变其它主体对某客体的访问权限的能力。

           o若主体S创建客体O,则SO具有拥有权(每一客体O只有唯一的拥有者)。对O具有拥有权的主体必对O具有控制权,但反之则不然。

    4.自主访问控制

    是指对某个客体具有拥有权(或控制权)的主体能够将对该客体的一种访问权或多种访问权自主地授予其它主体,并在随后的任何时刻将这些权限回收。

    自主访问控制是保护计算机系统资源不被非法访问的一种有效手段,但是,它有一个明显的缺点:这种控制是自主的,虽然这种自主性为用户提供了很大的灵活性,得同时也带来了严重的安全问题。为此人们认识到必须采取更强有力的访问控制手段,这就是强制访问控制。

    5.强制访问控制

          系统根据主体被信任的程度和客体所包含的信息的机密性或敏感程度来决定主体对客体的访问权,这种控制往往可以通过给主、客体赋以安全标记来实现。

          强制访问控制一般与自主访问控制结合使用,在自主访问控制的基础上,施加一些更强的访问限制。一个主体只有通过了自主与强制性访问控制检查后,才能访问某个客体。

          用户可以利用自主访问控制来防范其它用户对自己客体的攻击,强制访问则提供了一个不可逾越的、更强的安全保护层。

    二、自主访问控制(Discretionary Access Control

    1、自主访问控制的矩阵模型
        系统状态用一个有序三元组表示Q=(S,O,A)

    其中        S——主体的集合

                  O——客体的集合

                  A——访问矩阵,行对应于主体,列对应客体。A(i,j)项元素a­­­ij是一个集合,该集合中列出了主体Si对客体Oj所允许的访问权限。

    例:设S={s1,s2},O={m1,m2,f1,f2,s1,s2,}系统当前的状态如下:

    m1         m2         f1          f      s1    s2

           

    注:“拥有权”与“控制权”在有的系统中有区别。

    系统中设置监控程序用来监控主体对客体的访问,某一主体Si要对客体oj进行访问时,监控程序要检查aij以决定Si是否可对oj进行访问以及可以进行什么样的访问,当aij中不包含主体Si对客体oj的某种访问权时,监控程序就禁止Sioj进行相应的访问操作。监控程序可以由硬件、软件或者硬件与软件共同完成。

    系统状态的变化
          
    系统状态是在不断变化的,变化是由于用户的一系列操作引起来的,系统状态变化,则相应的访问控制矩阵也就要发生变化。引起状态变化的操作基本上有如下几种:

    1Enter p into aij         (oj拥有者授予主体SiOjp”访问权)

    2Delete p from aij        (oj拥有者撤销主体SiOjp”访问权)

    3. Create Subject s’

    4. Create Object o’

    5. Delete Subject s’

    6. Delete Object o’

    这些操作将引起访问控制矩阵的变化,且使得状态由Q=(S,O,A)转换到Q’=(S’,O’,A’)

    2、自主访问控制的实现方法

          为了实现自主访问控制,必须将访问控制矩阵所提供的信息以某种形式保存在计算机系统中,实际上在实现自主访问控制时,并不是将矩阵整个存放在系统中,这样做,效率是很低的,因为这个矩阵很可能是一个许多项都为空的一个稀疏矩阵,这对于存储空间和查询时间都是一个很大的浪费。

    实际上的实现方法可分为如下几类:

    基于行的自主访问控制——权力表

    每个主体Si都有一个相应的权力表,Si的权力表由访问控制矩阵中Si所对应的行中所有的非空项所组成,它是一张Si可以访问的所有客体的明细表。如:上例中

    O

    P

    m1

    m2

    f1

    {r,w,e}

    {r}

    {c,r,w}

    S1的权力表

    O

    P

    m1

    m2

    f1

    {r,w,e}

    {r}

    {c,r,e}

    S2的权力表

    根据每一主体Si的权力表,可决定该主体可否对客体进行访问以及可以进行哪种模式的访问。

    基于列的自主访问控制——授权表(或访问控制表)

    第一个客体都有一个相应的授权表,oj的授权表由访问控制矩阵中oj所对应的列中所有非空项所组成,它是一张可以访问oj的所有主体的明细表。如上例中

    S

    P

    S1

    S2

    {r,w,e}

    {r}

    m1的授权表

    S

    P

    S2

     

    {c,r,e}

    f2的授权表

    根据每一客体oj的授权表可以决定哪些主体可以访问该客体以及可以进行什么样的访问。

    3.授权的管理方式

          主体对客体的控制权“c“在系统中有两种管理方式:一种是集中式管理,一种是分散式管理。

    集中式管理

          一个主体si在创建某个客体oj后,该主体就获得了对这一客体的“c”权和其它所有可能权限。“c”权意味着可以将它对oj所有其它(除“c”权以外)的访问权限授予系统中任何一个主休,也可以撤销系统中任何主体对oj的其它访问权限。其它主体因为对oj不具有“c”权,因此即使他们对oj具有某些访问权限,但它们也无权将这些权限转授给别的主体、或撤销别的主体对oj的任何访问权限——在这种管理模式下,对于任一客体oj,哪些主体可以对其进行访问,可以进行什么样的访问,完全由oj的拥有者决定。(在此管理模式下,“拥有权”和“控制权”是一致的。)

    分散式管理

          在这种管理模式下,一个客体oj的拥有者不仅可以授予其它主体对oj的所有其它的访问权,而且还可以授予他们对oj的某些访问权的授予权,因此,对于一客体oj的访问权,不仅oj的拥有者可以授权,其他的主体也有可能得到全部或部分的授予权。

          例如:下图表示数据库中对某个关系X的授权情况:

    图中:ABCD分别表示四个主体,表示AB授权。10152030表示授权的时刻,R(y)表示所授予的权限R可以再转授别的主体,R(n)表示所授予的权

    D

    C

    A

    B

    10

    R(y),I(y)

    20

    R(y),I(y)

    30

    R(y),I(n)

    15

    R(n)

    A

    B


    R 不允许再转授给别的主体。

          由图中可看出:在时刻15——时刻30之间的一段时间,D虽得到了对点系XRRead)访问权,但他不能将此权再授给其它主体。而在时刻30以后,C授予了DRI的权限后,D仅可将R权限授予其它的主体。

          在这种管理模式下,一个主体在撤销他所授予的对某个客体的某种权限时,必须将由于这一授权而引起的所有授权都予以撤销,系统的状态应该是好像该主体从来未对该权限授予过。

          例如:上例中,若时刻40后的某个时刻A撤销对B所授予的对关系XR权,则此时不公B失去了对XR权,且由此而引起CXR权,DXR权都被撤销,此时虽然D保留了由A处得到的R权,但D不能将此权转授出去。

          对授权提出分散式管理的模式虽然有它的实际需要,但是分散式管理的缺陷是,一旦oj的拥有者将对oj的访问权的授予权授予出去后,他便无法控制系统中哪些主体可对oj进行访问,哪些主体不能进行访问,哪些主体对oj具有授予权,哪些主体对oj不具有授予权。例如该例中的DA不让其具有R的授予权,但C却将R的授予授给了他。因此又有人提出了发“黑令牌”的方法,即oj的主体可对不允许访问oj的主体发放黑令牌。这样凡被发放黑令牌的主体,其它主体不得向他授权。(当然,可对某种访问权)

          在这种管理模式下,“拥有权”和“控制权”是不一致的。

    第三讲 安全策略与安全模型

    一、安全策略

    1、安全策略的概念

          计算机系统的安全策略是为了描述系统的安全需求而制定的对用户行为进行约束的一整套严谨的规则。这些规则规定系统中所有授权的访问,是实施访问控制的依据。

          一个计算机系统的安全策略应能说明系统在各种情形下,哪些主体对哪些信息的访问是允许的,什么样的访问是不允许的。

          相对于系统中实施安全策略的访问控制机制来说,安全策略是抽象的,指导性的原则,然而安全策略的制定是有强烈的实际背景的。

    2、安全策略举例

          以军事安全策略和商业安全策略为例来说明这一概念。军事部门的安全主要关心的是数据的保密性,而商业部门的安全主要关心的是数据的完整性,由于这一出发点不同使得他们的安全策略也有很大的不同。

    军事安全策略:

          分为两部分:自主安全策略(discretionary)和强制安全策略( mandatory

          ·自主安全策略:一个主体对客体的任何一种方式的访问都必须是该客体的拥有者事先对其进行了授权的。

    复习数学概念:

    1. 笛卡尔积:A×B

    2. 集合A的幂集:P(A)=2A={s|sA}

    3. 集合A上的偏序关系:集合A上的关系、自反、反对称、可传递的定义、次序图、偏序集、全序关系。

    4. 有用的结论:

    <A;><B;>是,定义A×B上的关系:对任意(a1,b1), (a2,b2) A×B当且仅当a1a2b1b2时,有(a1,b1)(a2,b2)。可以证明:<A×B;>也是一个偏序集。

    ·强制安全策略

           1.系统中每个主体和每个客体都有安全标记

          客体的安全级表示该客体所包含的信息的敏感程度或机密程度;

          主体的安全级表示该主休被信任的程度或访问信息的能力。

           2.安全标记由两个部分组成(密级,部门集)

          密级一般定义为四个级别:一般(U),秘密(C),机密(S)和绝密(TS)。

          用全序描述:一般≤秘密≤机密≤绝密。

          A={U,C,S,TS},则<A;>是一个偏序集

          设某单位的部门集如下:{科技处,干部处,生产处,情报处}

    B={科技处,干部处,生产处,情报处},则PB=2B={S|SB}PB中的元素均是B的子集,如{科技处,干部处}PB{科技处,生产处,情报处}PB<PB;>也是一个偏序集。

    定义笛卡尔积A×PB={(a,H)|aA,HPB}

    例如:(C{科技处}=class(o1)                           (可读)

            S{科技处,干部处}=class(u)

            (TS,{科技处,情报处,干部处})=class(o2)            (可写)

            C{情报处}=class(o3)                           (不读,不写)

    oi

    u

    oj

    均是 A × PB 中的元素,系统中主、客体的安全级由这些二元组来定义。

    3.访问权的控制原则(即安全策略)

          一个主体仅能读安全级比自已安全级低或相等的客体,即“向下读”。

                 一个主体仅能写安全级比自己高或相等的客体,即“向上写”。

           4.安全级如何比较高低

    <A;>是一个偏序集,<PB;>也是一个偏序集。

    在集合A×PB上定义关系≤:对于a1,H1,a2,H2)∈A×PB,a1,H1)≤(a2,H2)当且仅当a1a2H1H2,可以证明:≤是A×PB上的一个偏序关系,即<A×PB;>也构成一个偏序集。在此,若(a1,H1)≤(a2,H2)则称(a1,H1)低于(a2,H2)。

    例如:

    C{科技处})≤(S{科技处,干部处});

    S{科技处,干部处})≤(TS{科技处,情报处,干部处})。

    因此,(C{科技处})≤(TS{科技处,情报处,干部处});

    但(C{情报处})与(C{科技处})不可比,(C{情报处})与(S{科技处,干部处})不可比。

    对于上述控制原则具体化:若主体u和客体o的安全级满足

    class(u)class(o),u可“写”o,

    class(o)class(u),u可“读”o.

    于是上述u可读o1,u可写o2,uo3不能读,也不能写,又如,若class(o4)=(TS,{科技处}),则u不能读,也不能写。

    商业安全策略

    主要的目的是防欺诈,防错误,防篡改,保护信息的完整性。虽然它也要防止非授权的泄露,但没有必要像军事安全中那样复杂的要求,其安全策略主要体现在以下两个方面:

    良形事务(Well-formed transaction

    用户对数据的操纵不能任意进行,而应该按照可保证数据完整性的受控方式进行,即数据应该用规定的程序,按照定义好的约束进行处理。

    例:保存记录(包括修改数据的前后记录)

    双入口规则,保持帐面平衡。

    职责分散(Separation duty)

    把一个操作分成几个子操作,不同的子操作由不同的用户执行,使得任何一个职员都不具有完成该任务的所有权限,尽量减少出现欺诈和错误的机会。

    当然欺诈行为并不一定能就此消除,但它会在众多的职员的合作性行为中变得显而易见。

    例如,购买原材料、进货并付款的过程可分解为以下几个操作来完成:

    购买订单——记录到货——记录到货发票——付款

    最后一个步骤只有在前三个步骤完成后才执行。

    军事安全策略与商业安全策略的比较

    区别:

    1.军事安全策略——主要关心的是数据的机密性

       商业安全策略——主要关心的是数据的完整性

    2.军事安全策略——将数据与一个安全级相联系,通过数据的安全级来控制用户对数据的访问。

     商业安全策略——将数据与一组允许对其进行操作的程序相联系,通过这组程序来控制用户对数据的访问。

    3.军事安全策略——用户被授权去读或写某一数据。

    商业安全策略——用户被授权去执行与某一数据相关的程序。

           4.军事安全策略——用户只要获得了相应的访问权限,则他可以任意地去读或写访问该数据。

            商业安全策略——用户对数据的读、写方式不是任意的,而是隐含在那些被执行的程序动作之中。

           这一条使前者更容易受到病毒或特洛依木马的攻击。

    相同之处:

    1.计算机系统中必须有一种机制来保证系统实施了相应的安全策略;

    2.系统中的安全机制必须防止破坏,即防止非授权的修改。

    二、安全模型

    1.安全模型

           安全模型是对安全策略所表达的安全需求简单、抽象和无歧义的描述。它为安全系统的设计提供指导。

           安全模型应具有如下一些特点:

    它是精确的、无二义性的;

    它是简单、抽象的,也是易于理解的;

    它仅涉及安全性,不过分限制系统的功能及实现;

    它是安全策略的一个清晰的表达方式。

    分为:

    非形式化的安全模型:用自然语言对系统的安全性进行描述。其优点是直观、易于理解但不严谨,往往有二义性,表达不简洁。

    形式化的安全模型:使用数学语言精确地描述系统的安全性质或规则。优点是简洁、准确、严谨,可以从理论上进行严格的证明其安全性;缺点是抽象、难于理解。

    按照TCSEC的评估标准,B1级要求既有自主访问控制又要有强制访问控制,这也就是要求它要制定安全策略,即非形式化的安全模型,指导系统如何进行上述两种访问控制;B2级的计算机系统要求具有形式化的安全模型,A1级并要求对安全模型进行形式化的证明。

    由上可看出,若设计开发具有B类及以上的安全计算机系统必须要有安全模型作指导,对高安全级的计算机系统,形式化的安全模型则是不可少的必要条件。


    第三章 BLP模型(Bell-La Padula模型)

    是对安全策略形式化的第一个数学模型,是一个状态机模型,用状态变量表示系统的安全状态,用状态转换规则来描述系统的变化过程。

    一、模型的基本元素

    模型定义了如下的集合:

    S={s1,s2,,sn主体的集合,主体:用户或代表用户的进程,能使信息流动的实体。

    O={o1,o2,,om}客体的集合,客体:文件、程序、存贮器段等。(主体也看作客体SO

    C={c1,c2,,cq主体或客体的密级(元素之间呈全序关系),c1c2≤…≤cq.

    K={k1,k2,,kr部门或类别的集合

    A={r,w,e,a,c}   访问属性集,其中,r:只读;w:读写;e:执行;a:添加(只写);                          c:控制。

    RA={g,r,c,d}   请求元素集

                                gget(得到),give(赋予)

                                rrelease(释放),rescind(撤销)

                                cchange(改变客体的安全级),create(创建客体)

                                ddelete(删除客体)

    D={yes,no,error,?}判断集(结果集),其中

                                yes:请求被执行;

                                no请求被拒绝;

                                error:系统出错,有多个规则适合于这一请求;

                                ?  请求出错,规则不适用于这一请求。

    μ={M1,M2,,Mp访问矩阵集,其中元素Mk是一n×m的矩阵,Mk的元素MijA

    F=CS×CO×(PK)S×(PK)O,其中,

           CS={f1|f1SC}              f1给出每一主体的密级;

           CO={f2|f2OC}             f2给出每一客体的密级;

           (PK)S={f3|f3SPK} f3给出每一主体的部门集;

           (PK)O={f4|f4OPK}f4给出每一客体的部门集。

    其中,PK表示K的幂集(PK=2K)。

    F的元素记作f=(f1,f2,f3,f4),给出在某状态下每一主体的密级和部门集,每一客体的密级和部门集,即主体的许可证级(f1,f3),客体的安全级(f2,f4)。

    二、系统状态

    V=P(S×O×A)×μ×F是状态的集合,状态v=(b,M,f)用有序三元组表示,其中

           bS×O×A,是当前访问集。

           M是访问矩阵,它的第i行,第j列的元素MijA表示在当前状态下,主体Si对客体Oj所拥有的访问权限。

           f=(f1,f2,f3,f4),其中,f1(s)和f3(s)分别表示主体s的密级和部门集,f2(s)和f4(s)分别表示客体O的密级和部门集。

           


    三、安全特性

           自主安全性

           状态v=(b,M,f)满足自主安全性,当且仅当对所有的(si,oj,x)b,有xMij

           简单安全性

           状态v=(b,M,f)满足简单安全性,当且仅当对所有的(s,o,x)b,有

                  ix=ex=ax=c

              (ii) (x=rx=w)(f1(s)f2(o)f3(s)f4(o))

    S

    O

    e,c,a

    S

    ()

    O

    ()

    r,w

     

           *—性质

    S

    O1

    ()

    O2

    ()

    a

    r

    S

    O1

    ()

    O2

    ()

    a

    w


           状态 v=(b,M,f) 满足 * —性质,当且仅当对所有的 s S ,若 o1 b(S:w,a) o2 b(S:r,w), f2(o1) f2(o2) f4(o1)f4(o2) ,其中符号 b(S:x1, ,xn) 表示 b 中主体 s 对其具有访问特权 xi(1 i n) 的所有客体的集合。

           解释:

    S

    O1

    ()

    O2

    ()

    w

    r

    S

    O1

    O2

    w

    w

    (级别)

    (级别)

    相等


           一个状态v如果满足上述三条性质,那么v才是安全状态。

    四、请求

           R=S+×RA×S+×O×请求集(不是请求元素集),它的元素是一个完整的请求。其中S+=S{}X=A{}F

           R中的元素是一个五元组,代表一次请求或一个操作。

           T={1,2,,t,离散时刻的集合(标识)。用作请求序列,结果序列和状态序列的下标;

    X=RT={x|x:TR},其中元素x可表示为x=xx2x3xt…是一个请求序列,每一时刻有一请求,构成一个请求序列,因此X是请求序列的集合;

    Y=DT={y|y:TD},其中元素y=y1y2y3yt…是一个结果序列,每一时刻的请求导致一个判断(或结果),构成一个结果序列,Y是结果序列的集合;

    Z=VT={z|z:TV},其中元素z=z1z2z3zt…是一个状态序列,每一ztV,表示时刻t时系统的状态。Z是状态序列的集合

    五、状态转换规则

           系统状态的转换由一组规则定义,一个规则P定义为:R×VD×V。其中:R是请求集,D为判断集,V是状态集。

           也就是说,P规定对于给定的一个状态和一个请求,系统产生一个判断和下一个状态,只有当D的取值为“yes”时,请求才被执行,状态才发生转换。

           BLP模型定义了十条基本规则(后来又有所扩充):

           规则1~规则4分别用于主体请求对客体的读(r),添加(a),执行(e)和写(w)的访问权。(φ,g,si,oj,r), (φ,g,si,oj,a), (φ,g,si,oj,e), (φ,g,si,oj,w)

           规则5用于主体释放它对某客体的访问权(包括r,或a,或e,或w)。(φ,r,si,oj,x)

           规则6和规则7分别用于一个主体授予和撤销另一个主体对某客体的访问权。

    (sλ,g,si,oj,r)     (sλ,r,si,oj,r)

           规则8用于改变静止客体的密级和类别集。(φ,c,φ,oj,f*)

           规则9和规则10分别用于创建和删除(使之成为静止)一个客体。

    (φ,c,sj, oj,e)     (φ,d, si,oj,φ)

    (φ,c, si,oj,φ)

    规则1:主体si请求得到对客体ojr访问权

    get-read P1(Rk,v)

           if σ1φ or γg or xr or σ2=φ then

                  P1(RK,v)=(?,v)

           if rMij or (f1(si)<f2(oj) or f3(si)    f4(oj))

                  then P(RK,v)=(no,v)

           if ={o|ob(si:w,a) and [f2(oj)>f2(o) or f4(oj) f4(o)]}= φ

                  then P(RK,v)=(yes,v*=(b{(si,oj,r)},M,f))

                  else P(RK,v)=(no,v)

           end

    规则2:主体si请求得到对客体oja访问权

    get-appendP2(RK,v)

           如果 σ1φ or γg or xa or σ2,则P2(RK,v)=(?,v)

           如果 aMij,则P2(RK,v)=(no,v)

           如果 ={o|ob(si:r,w) and [f2(oj)<f2(o) or f4(oj)f4(o)]}=φ

              P2(RK,v)=(yes,v*=(b{(si,oj,a)},M,f))

           否则 P2(RK,v)=(no,v)

           end

    规则3:主体si请求得到对客体oje访问权

    get-executeP3(RK,v)

           if σ1φ or γg or xe or σ2=φ then P3(RK,v)=(?,v)

           if eMij then P3(RK,v)=(no,v)

                          else P3(RK,v)=(yes,v*=(b{(si,oj,e)},M,f))

           end

    规则4:主体si请求得到对客体ojw访问权

    get-writeP4(RK,v)

           if σ1φ or γg or xw or σ2=φ then P4(RK,v)=(?,v)

           if wMij or [f1(s)<f2(oj) or f3(si) f4(oj)]

                  then P4(RK,v)=(no,v)

           if ={o|ob(si:r) and [f2(o)<f2(o) orf4(o)   f4(o)]}

                  {o|ob(si:a) and [f2(o)>f2(o) or f4(o) f4(o)]}

                  {o|ob(si:w) and [f2(o)f2(o) or f4(o)f4(o)]}=φ

           then P4(RK,v)=(yes,v*=(b{(si,oj,w)},M,f))

           else P4(RK,v)=(no,v)

           end

    规则5:主体si请求释放对客体ojrwea访问权

    release-read/write/append/executeP5(RK,v)

           if (σ1φ) or (γr) or (xr,w,a and e) or (σ2=φ)

                  then P5(RK,v)=(?,v)

                  else P5(RK,v)=(yes,v*=(b-{(si,oj,x)},M,f))

           end

    规则6:主体sλ请求授予主体si对客体ojrwea访问权

    give-read/write/append/execute P6(RK,v)

           if (σ1S) or (γg) or (xr,w,a and e) or (σ2=φ)

                  then P6(RK,v)=(?,v)

           if xMλj or cMλj then P6(RK,v)=(no,v)

                  else P6(RK,v)=(yes,(b,M[x]ij,f))

           end

    规则7:主体sλ请求撤销主体si对客体ojrwea访问权

    rescind-read/write/append/executeP7(RK,v)

           if (σ1S) or (γr) or (xr,w,a and e) or (σ2=φ) then

                  P7(RK,v)=(?,v)

           if xMλj or cMλj then P7(RK,v)=(no,v)

                  else P7(RK,v)=(yes, (b-{(si,oj,x)},M [x]ij,f))

           end

    规则8:改变静止客体的安全级

    change-fP8(RK,v)

           if (σ1φ) or (γc) or (σ2φ) or xF

    then P8(RK,v)=(?,v)

           if f1 or f3 or [(oj)f2(oj) or (oj)f4(oj) for jA(m)]

                                                           注:A(m)表示活动客体的集合

                  then P8(RK,v)=(no,v)

                  else P8(RK,v)=(yes,(b,M,f*))

           end

    规则9:主体s请求创建客体oj

    create-objectP9(RK,v)

           if σ1φ or γc or σ2=φ or (xe and φ) then

                  P9(RK,v)=(?,v)

           if jA(m) then P9(RK,v)=(no,v)

           if x=φ then P9(RK,v)=(yes,(b,M[{r,w,a,c}]ij,f))

                  else P9(RK,v)=(yes,(b,M[{r,w,a,c,e}]ij,f))

           end

    规则10:主体s请求删除客体oj

    delete-objectP10(RK,v)

           if σ1φ or γd or σ2=φ or xφ then

                  P10(RK,v)=(?,v)

           if cMij then P10(RK,v)=(no,v)

                  else P10(RK,v)=(yes,b,M [{r,w,a,c,e}]ij,1in,f))

           end

    六、系统的定义

    1R×D×V×V={(rK,dm,v*,v) | rKR,dmD,v*,vV}

           即,任意一个请求,任意一个结果(判断)和任意两个状态都可组成一个上述的有序四元组,这些有序四元组便构成集合R×D×V×V

           2.设ω={P1,P2,Ps}是一组规则的集合,定义W(ω)R×D×V×V.

                  (rk,?,v,v)W(ω) iff对每个i,1is,Pi(rk,v)=(?,v)

                  (rk,error,v,v)W(ω) iff存在i1,i2,1i1,i2s,使得对于任意的v*VPi1(rk,v)(?,v*)Pi2(rk,v)(?,v*)

    (rk,dm,v*,v)W(ω),dm?,dmerroriff存在唯一的i1is,使得对某个v*和任意的v**vPi(rk,v)(?,v**)Pi(rk,v)=(dm,v*)

    以上定义说明W(ω)只包含R×D×V×V中一部分四元组,或某些特定的四元组。若某(rk,dm,v*,v)W(ω),则说明该四元组一定满足上述定义中(3条)的某一条,亦即意味着在状态v下,发出某请求rk后,按照某条规则,其结果为dm,状态v转换成状态v*。因此W(ω)是由ω中的一组规则所定义的有序四元组所组成。

           3X×Y×Z={(x,y,z)|xX,yY,zZ},其中,

                  x=x1x2xt…是请求序列,X是请求序列集;

                  y=y1y2yt…是结果序列,Y是结果序列集;

                  z=z1z2zt…是状态序列,Z是状态序列集。

           任意一个请求序列,任意一个结果序列和任意一个状态序列均可组成一个有序三元组,X×Y×Z即由所有这样的有序三元组所构成。

           4.系统表示为∑(R,D,W(ω),z0),定义为:

           ∑(R,D,W(ω),z0)X×Y×Z,只含有其中一部分有序三元组,X×Y×Z中的有序三元组(x,y,z)∑(R,D,W(ω),z0),iff对每一个tT(xt,yt,zt,zt-1)W(ω)

           z0是系统的初始状态,通常表示为(φ,M,f)

              x=x1x2xt…是请求序列

                  y=y1y2yt…是结果序列;

                  z=z1z2zt…是状态序列

           (x,y,z)∑(R,D,W(ω),z0),则意味着对于所有的tT(xt,yt,zt,zt-1)W(ω),即符合ω所规定的操作规则。

    z0

    z1

    z2

    zt-1

    zt

    x1

    x2

    xt

    y1

    y2

    yt


           因此系统∑(R,D,W(ω),z0)是一个状态机,它从一个特定的初始状态z0开始,接受用户的一系列请求,按照W(ω)的规则给出相应的结果,并进行相应的状态转换,符合上述条件的所有可能的(x,y,z)组成系统。系统R就是由所有这些有序三元组(x,y,z)所组成。

           从初始状态z0出发,任何一个请求序列均可导致出一结果序列和状态序列,引起一系列的状态转换。

    七、系统安全的定义

           1.安全状态

                  一个状态v=(b,M,f)V,若它满足自主安全性,简单安全性和*—性质,那么这个状态就是安全的。

           2.安全状态序列

                  zZ是一状态序列,若对于每一个tTzt都是安全状态,则z是安全状态序列。

           3.系统的一次安全出现

                  (x,y,z)∑(R,D,W(ω),z0)称为系统的一次出现。

                  (x,y,z)是系统的一次出现,且z是一安全状态序列,则称(x,y,z)是系统∑(R,D,W(ω),z0)的一次安全出现。

           4.安全系统

                  若系统∑(R,D,W(ω),z0)的每次出现都是安全的,则称该系统是一安全系统。

    八、模型中的有关安全的结论

           BLP模型中证明了:

           1.这十条规则都是安全性保持的。(即若v是安全状态,则经过这十条规则转换后的状态v*也一定是安全状态)

           2.若z0是安全状态,ω是一组安全性保持的规则,则系统∑(R,D,W(ω),z0)是安全的。

           说明BLP模型所描述的系统是一个安全的系统。

    九、对BLP安全模型的评价

           BLP模型是最早的一种安全模型,也是最有名的多级安全策略模型。它给出了军事安全策略的一种数学描述,用计算机可实现的方式定义。它已为许多操作系统所使用。

           由于它描述的是军事安全策略,受到美国国防部的特别推崇,以致于在很长一段时期人们将多级安全策略等同于强制访问控制策略。

           优点:是一个最早地对多级安全策略进行描述的模型;

                   是一个严格形式化的模型,并给出了形式化的证明;

    是一个很安全的模型,既有自主访问控制,又有强制访问控制。

    控制信息只能由低向高流动,能满足军事部门等一类对数据保密性要求特别高的机构的需求。

                 

           1.总的来说,BLP模型“过于安全”。

                  上级对下级发文受到限制;

                  部门之间信息的横向流动被禁止;

                  缺乏灵活、安全的授权机制。

           不安全的地方:

                  低安全级的信息向高安全级流动,可能破坏高安全客体中数据完整性,被病毒和黑客利用。

    只要信息由低向高流动即合法(高读低),不管工作是否有需求,这不符合最小特权原则。

    高级别的信息大多是由低级别的信息通过组装而成的,要解决推理控制的问题。

    2.仔细分析BLP模型,其描述上尚有不安全的地方,还有待改进,缺乏记忆,造成不安全性。

    S

    r

    o2

    o3

    r

    时刻t1

    时刻t2

    释放对o2o3的访问权


    例如:设 o1> o2> o3> o4 S 的安全级同 o1

    S

    a

    o3

    o4

    r

    时刻t3

    S已含有o2o3的信息

    此时S可将o2的信息传送到o3

    (无记忆)

    又例如:

    oo

    r

    s2

    更高

    s1

    a


           改进:针对过安全:

    1.允许高安全级的主体在受控的情况下创建低安全级的客体。(解决从上到下流的问题)。

           .对客体安全级的动态约束,如(秘级,部门级,时限)。随客体内容进行动态约束(解决自上向下和横向)。

    .给主体发临时许可证,如(密级,部门级,时限)或(客体,权限,时限)。

           针对不安全问题:

           1.可否用“推”和“拉”来解决。用“拉”,而不用“推”。在计算机中“推”和“拉”如何实现?  “同级写”

           2.基于语义的动态控制;

           3.问题比较复杂。

    展开全文
  • b、完善质量管理体系:通过在规划中进行需求分类控制,在设计中采用多方案选择和使用共享成果,在过程中进行严格的测试、验证、评审、文档管理以及产品发布后的问题归零处理等手段减低质量风险,实现在设计中构建...

    转自:http://www.360doc.com/content/17/0215/19/33578855_629254120.shtml


    多年前笔者所在公司作为甲方和融智咨询进行全面合作,按照融智咨询提供的“四四四”模型系统性的对公司的研发体系进行了变革,并且取得不错了效果。

     

    “四四四”模型如下图:


           四四四代表了四大团队、四个流程、四个支撑体系。

    根据“四四四”模型,笔者公司分别完成了以下调整和变革。

    1.  四大团队建设

    a、建立集成产品管理团队(IPMT):由市场、研发、营销、财务、人力资源、项目管理等高层管理者构成跨部门团队,负责整个产品线的市场成功和财务成功。

    b、建立产品市场团队(PMT):作为集成产品管理团队的决策参谋机构,负责需求管理、产品策略、产品路标规划和产品开发任务书的制定以及配合进行产品早期销售。

    c、建立产品开发团队(PDT):负责全流程全要素的产品开发,成员来自各职能部门和专业领域,对该产品的市场成功和财务成功负责。

    d、建立技术开发团队(TDT):包括技术探索、技术攻关和平台开发三类团队。技术开发团队成员将随着成果的成熟度状态转换而流动到产品开发团队,技术开发团队对技术开发成果转化为产品并带来收益负责。

    2.  四大流程建设

    a、建立产品战略流程:明确公司的核心产品、核心领域、核心技术及战略愿景、战略规划和总体经营目标、,梳理商业模式、产品及市场扩张战略,最终形成产品线业务计划书。

    b、建立需求管理流程:完成需求收集、需求分析,选择要进入的客户群或领域,根据竞争需要确定待开发产品的功能规格及卖点,并据此确认技术需求,同时结合细分客户群的市场潜力和公司的资源确定新产品开发的路标规划和任务书,实现基于客户需求的产品开发。

    c、健全产品开发流程:在路标规划的指导下开展包括市场、技术、工艺结构、测试、生产、采购等全要素的产品开发活动,按照概念、计划、开发、验证、发布、生命周期等六个阶段进行管理;同时通过四个决策评审点和六个技术评审点分阶段投入和评审,降低开发风险,实现资源在一段时间内的聚焦,基于市场需求和共享平台准确、快速、低成本、高质量地开发出新产品。

    d、建立技术开发及平台开发流程:通过技术开发及平台开发流程与产品开发流程分离,在产品开发前先进行技术开发,及时规划和开发或沉淀平台,建立技术货架和产品货架,实现异步开发,降低产品开发过程中的技术风险,实现共享。

    3.  四个支撑体系建设

    a、建设项目管理体系:通过项目分类分级、项目计划管理、项目绩效考核、项目排序和资源配置等手段和方法,保证项目开发过程的顺利进行,提高项目产出效率。

    b、完善质量管理体系:通过在规划中进行需求分类控制,在设计中采用多方案选择和使用共享成果,在过程中进行严格的测试、验证、评审、文档管理以及产品发布后的问题归零处理等手段减低质量风险,实现在设计中构建质量优势。

    c、完善绩效管理体系:任职资格作为研发人员的能力考核依据,行为准则和个人绩效承诺作为过程考核依据,关键绩效指标作为结果考核依据,通过三者结合,保证在产出的同时提升人员的能力、规范流程体系。

    d、完善成本管理体系:加强产品开发过程中的综合成本(物料、开发、服务成本)控制和外部价格的联动,最终实现产品开发的财务成功。


    展开全文
  • SEO网站内部优化包含哪些内容

    千次阅读 2017-10-13 14:44:17
    SEO网站的优化工作主要分为内部优化和外部优化,其中内部优化主要指在网站上可以控制的因素,这些因素包括网站的大小,网站的结构。内部导航、标题标签、关键词标签、文件大小、URL的静态化、目录和文件的命名、...
  • SQL语言包括数据定义(DDL)、数据操纵(DML),数据控制(DCL)和数据查询(DQL)四个部分。 数据定义:Create Table,Alter Table,Drop Table, Create/Drop Index等 数据操纵:Select ,insert,update,delete, 数据控制...
  • 机器人编队控制总结

    万次阅读 多人点赞 2019-01-09 21:14:58
    文章目录简介基于领航者-跟随者(Leader-follower)的编队控制方法基于虚拟结构...  目前,实现多 AUV 系统编队航行的控制方法主要包括基于领航者-跟随者的方法、 基于虚拟结构的方法、基于人工势场的方法、...
  • 控制性详细规划的控制指标

    万次阅读 2018-07-19 14:15:54
    控制性详细规划的控制指标 ... 1、控制指标的内容构成  (1)地块划分  控制性详细规划的规划范围,应从城市的一个完整地域结构出发,其第一步是根据建设用地的区位、土地使用性质、土地出让和房地...
  • 财务管理模块包含哪些内容

    万次阅读 2012-11-24 14:20:59
    ERP中的财务模块与一般的财务软件不同,作为ERP系统中的一部分,它和系统的其它模块有相应的接口,能够相互集成,比如:它可将由生产活动、采购活动输入的信息自动计入财务模块生成总账、会计报表,取消了输入凭证...
  • C语言中的格式控制

    万次阅读 多人点赞 2018-07-13 13:13:17
     用在输入输出函数scanf( )和printf( )中的格式控制部分,即第一个逗号前的双引号内,用来对输出的数据(标识符或表达式)进行格式说明,包括数据类型、长度、对齐方式、小数位数等。1.格式控制符的形式% [-] ...
  • 什么是访问控制策略

    千次阅读 2013-03-29 18:44:22
    访问控制策略包括入网访问控制策略、操作权限控制策略、目录安全控制策略、属性安全控制策略、网络服务器安全控制策略、网络监测、锁定控制策略和防火墙控制策略等7个方面的内容。 1.入网访问控制策略  入网访问...
  • 树莓派GPIO控制

    万次阅读 多人点赞 2018-07-15 12:21:35
    树莓派GPIO控制 陈拓chentuo@ms.xab.ac.cn 2018.06.09/2018.06.10 0. 概述 本文介绍树莓派 Zero W的GPIO控制,并用LED看效果。也适宜于树莓派3B+。 0.1 树莓派GPIO编号方式 功能物理引脚 从左到右,从上到下:...
  • 设计一个彩灯循环控制

    万次阅读 多人点赞 2017-06-30 22:36:35
    一、设计的内容 设计一个彩灯循环控制器二、课程设计的要求与数据 设计要求包括: 1.10路彩灯分别用10个发光二极管L0、L1…..L9模拟,发光二极管L0、L1…..L9从左到右排列。 2.要求显示四种不同的花型:1)10路...
  • Jenkins的安全控制

    万次阅读 多人点赞 2013-08-08 18:38:34
    安全控制主要解决两个问题:哪些用户可以进入Jenkins;进入Jenkins的用户可以做些什么事。 Jenkins提供了用户认证和权限控制两种维度的安全策略: 1) Security Realm(安全域):决定用户名和密码,且指定用户属于...
  • 树莓派3B--WiringPi控制GPIO

    万次阅读 2017-12-06 21:25:55
     WiringPi是应用于树莓派平台的GPIO控制库函数,WiringPi遵守GUN Lv3。wiringPi使用C或者C++开发并且可以被其他语言包转,例如python、ruby或者PHP等。WiringPi中的函数类似于Arduino的wiring系统,这使得熟悉...
  • 网络远程控制原理及技术实现

    万次阅读 2018-10-30 20:30:54
    网络远程控制技术即利用一台电脑远距离控制另一台电脑,在这个控制过程中,将TCP/IP协议网络数据通信作为基础,在控制计算机与被控计算机内运行,确保网络通讯等各项功能可以顺利实现。现在IP协议中主要存在UDP与TCP...
  • DELL iDRAC服务器远程控制设置

    万次阅读 多人点赞 2018-03-21 10:43:30
    iDRAC又称为Integrated Dell Remote Access Controller,也就是集成戴尔远程控制卡,这是戴尔服务器的独有功能,iDRAC卡相当于是附加在服务器上的一计算机,可以实现一对一的服务器远程管理与监控,通过与服务器主板...
  • 手机与手机、电脑之间的远程控制方法

    万次阅读 多人点赞 2018-05-14 18:03:43
    控制的设备包括:手机控制手机(含界面),系统包括android和IOS。手机控制电脑(含界面),系统包括Windows和Linux。具体的方法如下:1、被控制端(手机)被控制端,这里以Android为例了,如果被控制设备是root过的...
  • ABAC基于属性的访问控制

    万次阅读 2018-08-20 10:51:03
    常用的基于角色的访问控制,最近研究关于基于属性的访问控制,感觉这个东西确实是个好东西,把自己的研究内容拿出来跟大家分享下。先简单了解下    用户在携带自身的属性值包括主题属性,资源属性,环境属性,...
  • 上位机与s7-200通讯控制伺服电机

    千次阅读 2018-12-18 21:34:11
    内容简介:根据所做项目情况与大家分享学习内容,本篇文章主要从上位机和下位机两部分分享plc控制伺服电机的连线、控制方式及上位机部分,包括程序,如有错误,还望指出。 伺服控制系统硬件:松下伺服电机、MLDN25...
  • 永磁同步电机(PMSM)的FOC闭环控制详解

    万次阅读 多人点赞 2018-02-08 09:35:39
    在学习FOC控制前,我对于FOC控制完全不懂,只知道中文叫做磁场定向控制,因公司产品开发需要用到对永磁同步电机(PMSM)进行精确的位置控制,才开始从网上了解什么是FOC,有哪些数学公式,控制的过程是怎么样的,但...
  • 进程控制块PCB详解

    万次阅读 多人点赞 2015-06-12 11:23:44
    PCB(process control block),进程控制块,是我们学习操作系统后遇到的第一个数据结构描述,它是对系统的进程进行管理的重要依据,和进程管理相关的操作无一不用到PCB中的内容一般情况下,PCB中包含以下内容: (1...
  • 为了便于系统控制和描述进程的活动过程,在操作系统核心中定义了一个专门的数据结构,称为进程控制块( Process Control block,PCB)。 操作系统利用PCB来描述进程的基本情况以及进程的运行变化...1.PCB的内容 进程...
  • 为什么版本控制如此重要?

    千次阅读 2016-07-12 20:21:49
    如果说什么是软件开发项目一定要使用的基础工具,那么版本控制系统应该算最重要的部分。不管是个人开发或是团队协作开发,都可以通过版本控制系统获得巨大的好处。
  • 51单片机控制LCD1602模块

    万次阅读 多人点赞 2018-01-28 22:41:37
    51单片机控制LCD1602模块视频播放:LCD1602视频(1)LCD1602概述先来看看LCD1602什么意思?Liquid Crystal Display(LCD)表示液晶显示,1602 表示一行可以显示16个字符,一共有两行。现在我们来看看如何使用简单的IO...
  • 项目管理的主要内容

    万次阅读 2017-08-08 10:40:10
    一般项目管理的内容主要包括以下九个方面:  (一) 范围管理 基本内容是定义和控制列入或未列入项目的事项,重要包括包括: 1 项目立项:项目的开始。 ...
  • 树莓派笔记15:手机控制树莓派小车

    万次阅读 多人点赞 2018-09-01 12:03:53
    花了点时间做了简单的手机控制树莓派小车项目,其实主要是对之前各种学习内容的一个综合利用,也特地抽出时间学习了一下最基本的Android开发。下面的图片是成果的展示,树莓派小车由树莓派、小车地盘、电机及电机...
  • c#winform开发运动控制卡实例

    热门讨论 2014-12-04 16:48:27
    C#,MOTION CARD,ACCESS等应用实例

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,151,423
精华内容 460,569
关键字:

一般控制包括哪些内容