一种基于信息流控制的多级安全通道模型

2023-03-27 02:18李海华
计算机技术与发展 2023年3期
关键词:密级信息流客体

李海华

(1.中国人民解放军战略支援部队信息工程大学,河南 郑州 450002;2.河南工业贸易职业学院,河南 郑州 450012)

0 引 言

网络通信中,数据读写的安全十分重要,不同数据要求的安全级别也不相同,这就迫切需要构建等级保护理论模型,并明确其中的关键技术,提出一个面对网络中信息的等级保护的思路。当前,面对等级保护的网络安全通信,采用了面向等级保护的安全访问控制与安全数据传输保护这两项技术,而现有的这两项技术在应对等级保护问题上,均存在一些不理想的地方。例如,对不同密级的网络数据流没有建立多密级安全通道来隔离与保护信息;提出的网络信息流安全规则也不够完备,要精确地控制与保护网络中的信息流是十分困难的;并且信息也容易被泄露,还会出现隐蔽通道问题;对“安全标记保护级”中主体安全标记调整及客体安全标记绑定机制的研究也不充分,影响了系统的安全性、灵活性。

该文提出了一种基于安全标记的网络安全通信模型NSMBL(Network Security Model Based on Label),对模型元素进行说明;对模型的安全性规则从形式化的角度加以描述;给出了模型定理并加以证明;给出一个模型实例并与相关模型进行了性能对比[1]。

1 模型元素

1.1 元素定义

下面对模型中使用到的重要元素,从形式化角度定义如下[2]:

定义1 安全通道(T):为数据流信息传输提供安全路径,并且对安全级别划分出不同的安全级别,安全通道中保护本通道级别及以下所有级别的信息通信。

定义2 实体(E):

实体指系统中的对象,包含主体与客体,用(e)表示实体,用(E)表示所有实体的集合。

主体是访问操作的实施者,如用户执行某段代码产生的进程,用(s)表示某个主体,(S)表示所有主体的集合。

客体是访问操作的实施对象,如文件、共享内存、进程或其他数据,用(o)表示某个客体,用(O)表示所有客体的集合[3]。

定义3 安全客体(OS):是传输信息跟安全标记绑定构成的对象。在安全通道中进行传输的数据一定是信息与安全标记绑定后形成的物理客体。

定义4 系统状态(V):

由主体、客体(包含安全客体)、安全属性、主体的安全标记函数与客体的安全标记函数构成系统状态,可以用一个四元组v=(b,M,F,OS)表示[4],其中b是主体对客体的访问属性集合,M是访问控制矩阵,F是主体或客体的安全标记函数,OS是安全客体。

定义5 安全系统(VS):

1.2 操作集

在信息安全传输过程中,需要“打开”通道操作,接着,“写(write)”操作完成“发送(send)”操作抽象定义的对象;信息到接收端后,“读(read)”操作完成“接收(receive)”操作抽象定义的对象,最后,“关闭”操作[5],严格限制信息的流入与流出。设∃P,p∈S,操作集的定义如下:

①create(P1,P2)。一个主体创建了一个新的主体,那么,该新主体的安全标记继承于原主体的安全标记。比如一个进程创建了另一个新进程,那么新进程的安全标记继承于原进程的安全标记。

②create(p,o)。若客体o由主体p创建,那么o的安全标记继承于p的安全标记。比如某进程创建了一个文件,那么,该文件的安全标记继承于进程的安全标记。

③open(T=)。在向安全通道中发送数据前,先要打开安全通道T=,之后才能向安全通道中“写”入数据。

④open(T=)。在从安全通道中取出数据前,先要打开安全通道T=,之后才能从安全通道中“读”出数据。。

⑤open(T=)。在主题P1与P2之间交换数据时,需要先打开安全通道T=,这一通道中数据流是单向的P1→P2,即主题P1实施“写”操作,主题实施“读”操作。

⑥write(P,OS)。打开安全通道后,由主体P向客体OS写入数据,这一通道中数据流是单向的P→OS,即主题P实施“写”操作,客体OS实施“读”操作。

⑦read(P,OS)。打开安全通道后,主体P从安全客体OS中读取数据,这一通道中数据流是单向的OS→P,即主题P实施“读”操作,客体OS实施“写”操作。

⑧write(P1,P2,OS)。打开主体P1与P2之间的安全通道,P1将信息与安全标记绑定的数据写入安全客体OS,P2从OS中读取数据。信息流在安全通道中是单向流动的,也即P1→P2。

precondition::∈Tread(,open(P1,P2))

⑨read(P1,P2,OS)。首先打开安全通道,主体P1接收从主体P2发送来的数据。P2将数据写入安全客体OS,并发送至安全通道,P1从OS中读取数据,信息流在安全通道中是单向流动的,也即P2→P1。

2 模型安全规则

2.1 安全通道操作规则

通信双方实体之间能够建立不同密级的安全通道,不同密级的安全通道用于传输与保护不同密级的数据流信息。不同级别的主体依据其权限可以“打开”不同密级的安全通道,对通道中的安全客体实施“读(接收)”或“写(发送)”等操作。为了保证主体对安全通道及通道中安全客体操作的安全性,NSMBL模型给出了安全通道操作规则的集合[6]。

安全通道集合表示为T={T1,T2,…,Ti,…Tl},其中Ti表示是密级为i的安全通道,安全通道能够为不同密级数据信息流的传输提供安全保护。安全通道中数据流信息的流动具有方向性,Ti=表示P1,P2之间存在密级为i的安全通道Ti,且通道Ti中信息流动的方向为P1→P2;若Ti=,则表示通道中信息的流动方向为P2→P1;若安全通道中的数据信息可以双向流动,则表示为Ti={},P2↔P1。

规则一(选择安全通道):

密级为i的安全通道Ti,安全通道中数据信息(安全客体)的密级必须小于或等于通道的密级,即∀o∈OS,Fo(o)≤i,即不同密级的安全通道中只能够流动小于或等于当前安全通道密级的数据信息。

规则二(建立安全通道):

若主体P1的安全级为Fs(P1),主体P2的安全级为Fs(P2),若Fs(P1);若Fs(P1)>Fs(P2),则能够建立安全通道Ti=;若Fs(P1)=Fs(P2),则能够建立安全通道Ti=

规则三(打开安全通道):

密级为i的安全通道只能够被安全级别大于或等于通道安全级别的主体执行“打开”操作、发送(或接收)信息,密级低于安全通道密级的主体不能执行“打开”通道操作。

规则四(关闭安全通道):

安全通道建立的双方是成对出现的,如果通道的一方关闭,则另一方也必须关闭相应的通道;如果系统在运行过程中对主体的安全标记进行了调整,那么,必须依照安全规则对当前的安全通道进行相应处理,规则表示如下:

规则五(写入通道信息):

写入通道是指主体将数据信息以安全客体的方式发送至安全通道中进行网络传输,发送数据信息之前,首先必须打开安全通道,规则表示如下:

规则六(读取通道信息):

打开安全通道,主题P1或P2从安全通道接收客体OS中的数据,表示如下:

2.2 安全通道处理约束

(1)基本控制约束。

信息流从总体上可以分为单向信息流(a→b∨a←b)与双向信息流(a↔b)。

①信息流单向控制约束。

单向信息流发生的条件:当实体a的安全标记小于b的安全标记时,且通道Tab= “打开”,那么能够产生单向信息流(a→b),当实体a的安全标记大于b的安全标记时,且通道Tba= “打开”,那么能够产生单向信息流(b→a)。单向信息流规则表示为:

②信息流双向控制约束。

双向信息流发生的条件为实体a与实体b的安全标记相等,且通道Tab=与通道Tba=同时都“打开”。双向信息流规则表示为:

(a,b∈S,o∈OS,(F(a)=F(b))∧(open∧open))⟹(a↔b)

(2)主客体信息流控制约束。

具体的信息流规则包含有主体与主体之间的信息流规则,主体与客体之间的信息流规则,分别存在有双向信息流及单向信息流,下面分别进行讨论[7]。

①主体-主体间信息流控制约束。

·主体间信息流单向控制约束。

该文将安全客体OS作为中间媒介进行数据信息交换,安全客体OS的安全标记等于其包含信息的最高密级。∃i∈l,Ti=,且(∀a,b∈S;o∈OS;open)=open ∧open,(∀a,b∈S;o∈OS;open)=open∧open主体之间的单向信息流规则表示如下:

·主体间信息流双向控制约束。

②主体-客体间信息流控制约束。

·主客体间信息流单向控制。

·主客体间信息流双向控制。

(a∈S,o∈OS,(F(a)=F(o))∧(open∧open))⟹(a↔o)

(3)隐蔽通道避免规则。

多级安全网络中的隐蔽通道一般可以分为两种:网络存储隐蔽通道与网络时间隐蔽通道,前一种隐蔽通道是将数据信息加入至协议控制信息的选项中实现隐蔽信息流,如IP包头选项字段等;后一种则利用网络传输确认信息来构成隐蔽时间通道。对于前一种隐蔽通道需要具体对数据协议进行解析与分析来避免,比如当网络信息由高密级实体传输至低密级时,必须经过相应的协议分析检测设备等措施。这里对隐蔽时间通道进行分析,防止由于网络确认信号的传输而造成隐蔽时间通道,从而带来信息的泄露[8]。

当信息流由低级别实体流至高级别实体时LOW→HIGH,符合通道信息流安全规则,当信息流由高级别实体流至低级别实体时HIGH→LOW,不符合安全通道信息流安全规则,这里将“向下(↓)”的信息流分为如下两种[7]。

(1)如果向下的数据信息是网络传输确认信息,为了避免隐蔽时间通道的发生,依据Pump(见图1)设计思想,同时增加过滤函数Filter(OS)。限制信息流隐蔽通道规则为:

图1 隐蔽通道避免示意图

(HIGH→LOW)⟺(HIGH→TP)∧(TP1→buffer)∧(TP2→buffer)∧(buffer→LOW)

(2)如果向下的数据信息是数据客体,为了防止数据信息的泄露,必须依据“安全标记调整规则”对主体的安全标记实施调整后才能够发送数据[9],实际应用中数据信息还需要经过过滤函数Filter(OS)的过滤,过滤函数Filter(OS)能够基于安全客体中绑定的安全标记实现对数据信息进行过滤与降级,信息流规则表示为:

(HIGH→LOW)⟺(HIGH→TP)∧(TP1→buffer)∧(Filter(buffer))∧(TP2→buffer)∧(buffer→LOW)

2.3 安全标记调整规则

在一个主体的生命周期中,主体的安全标记存在一个上界值,一个下界值及当前安全标记值:(Fmax,Fmin,FC),Fmin≤FC≤Fmax,Fmax、Fmin、FC分别代表一个主体生命周期内的最大安全标记,最小安全标记及当前安全标记。主体的安全标记能够按照安全标记调整规则在上界与下界之间进行调整。主体安全标记的调整分为安全标记静态调整与安全标记动态调整,静态调整是指依据主体的可信度评估值对主体的安全级实施“升级”或“降级”操作,经过安全标记静态调整后,主体的访问权限发生了变化;动态调整是指具体的某一次访问操作出现“向下(↓)”的信息流时,评估此次访问行为信息流泄露危害程度的大小,动态临时调整主体安全标记,在完成访问操作后,主体的安全标记必须恢复至原安全标记,经过安全标记动态调整后,主体的访问权限没有发生实际改变[10]。主体安全标记调整如图2所示。

图2 主体安全标记调整规则

(1)安全标记静态调整规则。

针对主体历史访问行为可信程度与主体的应用需求,经过可信度评估Trust(S)后,实施静态安全标记调整,调整后主体的访问权限发生了变化。Trust(S)≥φ(UP)表示经可信度评估后,主体的可信度大于或等于升级阈值;Trust(S)≅φ(UP)表示长时间内主体的可信度值非常接近于升级阈值;Trust(S)=φ(UP-DOWN)表示经可信度评估后,主体的可信度处于升级阈值与降级阈值区间内;Trust(S)<φ(UP)表示经可信度评估后,主体的可信度小于降级阈值;(Trust(S)≅φ(DOWN)表示经可信度评估,主体长时间内可信度值非常接近于降级阈值;"need-to-upgrade"表示主体需要升级的策略,"must-to-down"表示主体强制降级策略,"no-change"表示主体的安全标记保持不变[11],安全标记静态调整表示如下:

(2)安全标记动态调整规则。

针对主体具体的某一次访问行为,存在“向下(↓)”的信息流时,需要经过危害度评估函数Threat(S)的评估,依据评估的结果对主体安全标记实施动态临时调整[12],且当主体的访问行为完成后,其安全标记必须恢复到原安全标记,主体实际的访问权限并没有发生改变。Threat(S)=0表示经危害度评估后此次访问行为不存在危害,Threat(S)>0表示经危害度评估后存在危害[13],安全标记动态调整规则可形式化表述如下:

3 模型定理

为了保证系统的安全状态及经过安全规则转换以后系统仍保持安全状态[14],模型中给出了六个定理,并且给出了定理的证明。

(1)对于任意(S,OS,RT∈A)∈b-b'满足对于F的SSCP特性;

(2)对于任意(S,OS,RT∈A)∈b不满足对于F的SSCP特性。

定理证明:

其中命题(2)的证明等价于其逆否命题的证明,即:

通过将以上命题(1)与命题(2)进行合并,得出:

进一步得出等价式子:

∀(s,o,A)∈b'⟹(s,o,A) satisfyF'

或者:

∀S*∈S⟹

定理证明:

定理的证明过程与定理1的证明相类似,略去证明。

对于任意:

(S,OS,RT∈A)∈b-b',A∈M

(S,OS,RT∈A)∈b-b'&&A∉M⟹(o∈OS,(s,o,A)∉b)

定理证明:

利用反证法进行证明,假设∃(s,o,A)∈(S,O,RT)∧(s,o,A)∈b-b'⟹A∉M,这显然是与安全特性(6)相违背,所以定理得到了证明。

定理4 如果系统∑[RT,Q,WT,v0]保持SSCP规则,且系统以后的变化状态遵守SSCP特性,则系统∑[RT,Q,WT,v0]满足SSCP特性。

定理证明:

同样可以利用反证法加以证明,证明过程如下:

假设系统设∑[RT,Q,WT,v0]存在一个时刻t时不满足安全特性SSCP,那么有∀t∈T,(r,p,q)∈∑[RT,Q,WT,v0]⟹(RT,D,vt,v)WT。设vt是系统∑[RT,Q,WT,v0]不符合SSCP的最小元,那么有vt-1满足SSCP,且依据系统的安全状态的转换有(∃rt∈RT,∃d∈D,vt,v)WT,而根据安全系统所定义的安全状态转化函数能够得到γ(rt∈RT,v)=(d∈D,vt),所以存在有γ(rt,v)=(p,vt),因为γ是系统的安全定义,因此vt满足系统的安全特性,与(∃rt∈RT,∃d∈D,vt,v)WT不一致,推出了矛盾,所以定理4的命题是正确的[15],证毕。

定理5 如果系统∑[RT,Q,WT,v0]保持*-SCP规则,且系统以后的变化状态遵守*-SCP特性,则系统∑[RT,Q,WT,v0]满足*-SCP特性。

定理证明:定理5的证明参照定理4的证明进行。

定理6 假设σ为一规则且有:

·如果(b2⊆b1)∧(F1=F2),那么经过规则σ后系统状态仍然是安全的,且保持系统原有的SSCP特性。

·如果(b2⊆b1)∧(F1=F2),那么经过规则σ后系统状态仍然是安全的,且保持系统原有的*-SCP特性。

·如果(b2⊆b1)∧(∀m∈M1⟹m∈M2),那么经过规则σ后系统状态仍然是安全的,且保持原有安全特性。

·如果(b2⊆b1)∧(F1=F2)∧(∀m∈M1⟹m∈M2),那么规则σ能够使信息系统保持安全状态。

定理证明:

因为v1满足SSCP,所以(S,OS,RT∈A)∈b,且给出了假设条件(b2⊆b1)可以得出((b2⊆b1)∧(S,OS,RT∈A)∈b)⟹(S,OS,RT∈A)∈b',当F1=F2时,有∀o∈OS,F2(s)≥F2(o),满足SSCP,证明完毕。同理以下的两个命题也可以类似证明得到,而由前三个命题很容易可以推导出第四个命题的正确性。

4 模型实例及与相关模型性能对比

(1)模型实例。

下面通过两个设备之间的通信说明NSMBL模型应用的具体过程(见图3)。用户A需要将密级为i的数据信息发送给用户B,A的级别为i,B的级别大于i,符合模型的安全规则。设备1的级别为i,所以用户A能够登录设备1,用户B的级别为i+1,设备2的级别为i+1,用户B能够登录设备2,因为F(A),用户A打开安全通道(F(A)≤i)⟹open,若用户A能够打开安全通道,即open=true,则A向客体OS写入信息write发送出去,数据与相应安全标记绑定构成的安全客体通过密级为i的安全通道Ti以流的形式发送至B。B得知数据信息传递过来后,将用户B的安全级别与安全通道Ti的安全级别进行比较,判别主体是否有权限打开安全通道并读取其中的安全客体,(F(B)≥i)⟹open,若用户B能够打开安全通道,即open=true,则读取通道内安全客体中的数据信息,read,否则删除安全客体OS。

(2)与相关模型性能对比。

模型性能对比如表1所示。

表1 模型性能对比

5 结束语

多级互联安全通道模型中涉及到主体、客体、安全标记、安全标记调整规则,通道操作集及约束处理机制,隐蔽通道避免规则等,在这些元素及操作上,构建一种基于安全标记的网络安全通信模型NSMBL,模型中给出了六个定理,保证了多级网络环境下不同密级信息流的隔离保护与安全传输,保证了系统的安全状态及经过安全规则转换以后系统仍保持安全状态。

猜你喜欢
密级信息流客体
基于VBA电子文档标定密级软件的设计与实现
基于信息流的作战体系网络效能仿真与优化
符号学视域下知识产权客体的同一性及其类型化解释
基于信息流的RBC系统外部通信网络故障分析
战区联合作战指挥信息流评价模型
基于任务空间的体系作战信息流图构建方法
旧客体抑制和新客体捕获视角下预览效应的机制*
高校密级档案管理问题探析
关税课税客体归属论
文件密级标识全程管控系统的设计与实现