仅为个人作业上传,非标准答案。
5.在OLS机制的控制下,主体S想要把信息写到数据库的客体O中,试简要描述OLS机制判断是否允许S写O的基本过程,并举例加以说明。
基本过程:
- 记录标签中的等级必须大于或等于用户的最小等级;
- 记录标签中的等级必须小于或等于用户会话标签中的等级;
- 用户会话标签中的组别至少必须包含记录标签中的一个组别,并且,用户拥有对该组别的写访问授权;
- 用户会话标签中的类别必须包含记录标签中的所有类别;
- 如果记录标签不含组别,用户必须对记录标签的所有类别拥有写访问授权;如果记录标签含有组别,用户必须对记录标签中的所有类别拥有读访问授权。
- 在OLS机制中,设ca、cb、cc是三个类别,ga、gb、gc是三个组别,而且,ga是gb和gc的父组,用户U的安全等级取值范围是100~200,他对ca拥有读和写权限,对cb拥有读权限,对cc无访问权限,对ga拥有读和写权限,已知若干安全标签如下:
用户U的默认会话标签:ld=(150:ca,cb:ga)
用户U的默认记录标签:lr=(100:ca,cb:gb)
记录1的安全标签:lr1=(150)
记录2的安全标签:lr2=(100)
记录3的安全标签:lr3=(150:ca)
记录4的安全标签:lr4=(200:cb)
记录5的安全标签:lr5=(150:cc)
记录6的安全标签:lr6=(100:ca)
记录7的安全标签:lr7=(100:cb)
记录8的安全标签:lr8=(150:cb:ga)
记录9的安全标签:lr9=(150:cb:gb)
记录10的安全标签:lr10=(100:cb,cc:gc)
假如系统设置了 LABEL_DEFAULT 选项,并且未临时改变过会话标签,用户 U 正在使用系统,请分析并回答以下问题:
⑴ 用户U对哪些记录拥有读权限?对哪些记录拥有写权限?
⑵ 用户U插入了一条新记录但未指定其标签,该记录的标签值等于什么?
- 用户U对记录5、10拥有读权限;对记录1、2、3、6拥有写权限。
- 为lr。
- 讨论:对具有三元标签的记录进行写操作,OLS 要求用户会话标签只要包含记录标签中的一个组别即可,但要求用户会话标签必须包含记录标签中的所有类别,这在现实应用中的意义是什么?
答:
与标签的可能取值对应的类别或组别值,确定的是用户可以访问的所有类别或组别的范围;与默认的会话标签值对应的类别或组别值,确定的是在会话标签中的类别或组别的值;与默认的记录标签值对应的类别或组别值,确定的是系统自动给记录设置的类别或组别的值。
因为类别之间无层次,必须逐个处理,比如子女兄弟,但组别之间有层次,比如父母与子女。



