1.BL模型
Bell-LaPaclula模型,简称为BLP模型,是D.Elliott Bell和Leonard J.LaPaclula于1973年提出的一种模拟军事安全策略的计算机访问控制模型,它是最早、也是最常用的一种多级访问控制模型,该模型用于保证系统信息的机密性。
BLP模型是1个状态机模型,它形式化地定义了系统、系统状态以及系统状态间的转换规则,定义了安全概念和一组安全特性,以便对系统状态和状态转换规则进行限制和约束。 对于一个初始状态安全的系统,经过一系列规则转换都保持安全,那么可以证明该系统是安全的。
该模型可有效防止低级用户和进程访问安全级别更高的信息资源。同时,安全级别高的用户和进程也不能向比起安全级别低的用户和进程写入数据。BLP模型基于以下两个规则保障数据的机密性:
◇不上读,主体不可读,安全级别高于它的客体;
◇不下写,主体不可将信息写入安全级别低于它的客体。
BLP模型的安全策略包括两个部分:自主安全策略和强制安全策略。自主安全策略使用一个访问控制矩阵表示,矩阵中的元素表示主体对客体所有允许的访问模式,主体按照在访问矩阵中被授予的对客体的访问权限对客体进行相应的访问。强制安全策略包括简单安全性和术特性,系统对所有的主体和客体都分配了一个访问类属性,包括主体和客体的密级和范畴,系统通过比较主体与客体的访问类属性控制主体对客体的访问。
BLP模型的安全目标是通过安全级来保护信息的机密性,适用于军事、政府等安全要求较高的部门,在一些相关计算机系统中得到了广泛应用。BLP模型是一个严格形式化的安全模型,并对模型的安全性给出了严格的形式化证明,这一特点是大部分访问控制模型所不具备的。
BLP模型也存在一些局限性。例如,在主体创建客体时,将客体的安全级定义为该主体的安全级,在实际应用中,上级常常要向下级下发文件‘,这就需要允许系统的安全员对该客体的安全级进行降级定义;又如,内存管理必须允许所有级别进行读和写,解决方法是通过将其抽象化,并且假设内存管理是“可信主体”,但这将导致真实系统信息的泄露。在文件管理方面,假设一个高安全级用户建立了一个名为“代理商”的文件,而低安全级用户也在做同样的事情。如果采用BLP模型的操作系统阻止了他,那么,将会泄露系统中有一个具有高密级且名为“代理商”的文件。如果操作系统允许低安全级用户进行此项操作,又将会出现两个同名文件。这种问题经常通过惯例命名来解决,即分别给高安全级用户和低安全级用户分配不同的目录。