一种基于Linux安全模块的云平台间的信息流控制系统及方法转让专利
申请号 : CN202010410615.7
文献号 : CN111683056B
文献日 : 2021-11-02
发明人 : 金舒原 , 杨立坤 , 鲁金钿
申请人 : 中山大学
摘要 :
权利要求 :
1.一种基于Linux安全模块的云平台间的信息流控制系统,其特征在于,包括:控制模块、通信模块、Linux安全模块、若干云平台,其中每个云平台均包括有客户端管理模块,所述控制模块用于处理云平台的服务请求,所述通信模块用于进程间的通信,所述Linux安全模块通过覆盖进程通信的hook函数以执行信息流控制策略;所述云平台通过客户端管理模块向控制模块请求服务、连接进程、发送接收数据、警告不符合信息流控制策略的信息流;
所述控制系统中包括有三类进程:控制进程、代表进程、公共进程,所述控制进程用于执行控制模块的功能;
所述代表进程均与设定的云平台的IP关联,每个代表进程拥有可配置的信息流控制策略,负责与其他云平台的通信;
所述公共进程是公共领域的信息进出口。
2.一种基于Linux安全模块的云平台间的信息流控制方法,所述方法应用于如权利要求1所述的基于Linux安全模块的云平台间的信息流控制系统,其特征在于,所述方法包括注册阶段和通信阶段,
所述注册阶段步骤包括:
云平台首先通过客户端管理模块向控制模块发起注册请求,确定指定的安全策略和注册的IP地址;控制模块根据云平台指定的安全策略设置代表进程的标签;最后控制模块将注册的IP地址和管道文件路径的映射关系配置到通信模块的管道解析表中,以供通信阶段使用;
所述通信阶段步骤包括:
云平台的客户端管理模块首先利用IP隧道技术将数据包发送给通信模块;通信模块利用管道解析表将数据包的目的IP地址转换为管道文件路径;最后通信模块通过Linux安全模块的hook函数实现权限控制。
3.根据权利要求2所述的一种基于Linux安全模块的云平台间的信息流控制方法,其特征在于,所述注册阶段的具体过程:
S1:云平台的客户端管理模块向控制模块发出注册代表进程的请求,控制模块接收请求后创建代表进程;控制模块通过linux安全模块配置代表进程的安全上下文,并返回状态值至控制模块;
S2:控制模块创建用于接收信息的管道;控制模块向云平台的客户端管理模块获取注册IP,云平台的客户端管理模块返回注册IP;
S3:控制模块调用通信模块的应用程序接口更新管道解析表,通信模块返回状态值至控制模块,并将接收到的返回状态值发送至客户端管理模块。
4.根据权利要求3所述的一种基于Linux安全模块的云平台间的信息流控制方法,其特征在于,所述安全上下文包括有保密性标记和完整性标记,保密性标记保护信息的发送方,保证其敏感数据不流向未经授权的实体;完整性标记保护信息的接受方,保证敏感数据不受未经授权实体的修改,保证数据来源的真实性;标记是标签的集合,每一个标签都是云平台或者注册IP的唯一标识符,标识符包括有:IP地址、数字、字符串,分别用S和I表示保密性标记和完整性标记。
5.根据权利要求2所述的一种基于Linux安全模块的云平台间的信息流控制方法,其特征在于,云平台的客户端管理模块进行IP包的封装,然后将数据包发送至通信模块,通信模块取出数据包中IP地址,通过查询管道解析表IP地址转换为管道文件路径,打开管道,通信模块向linux安全模块查询访问权限,若权限不足,则通信模块返回失败状态值至云平台,若权限满足则将数据包中的数据写入管道,并返回成功的状态值至云平台。
6.根据权利要求2所述的一种基于Linux安全模块的云平台间的信息流控制方法,其特征在于,所述Linux安全模块在内核数据结构中增加安全域字段,并在内核代码的关键点添加hook函数以进行访问控制。
7.根据权利要求2所述的一种基于Linux安全模块的云平台间的信息流控制方法,其特征在于,IP隧道技术是云平台的客户端管理模块在发送数据时,先把原始IP报文用带有代表进程的目的IP地址进行封装再传输;在通信模块接收数据时,先解除封装用的协议再递交给比本级层次高的网络协议。
说明书 :
一种基于Linux安全模块的云平台间的信息流控制系统及
方法
技术领域
背景技术
靠性、高可扩展性以及高性价比等优点,能够很好地减少企业的初期建设成本和后期维护
成本。但多租户隔离、权限管理以及隐私数据保护等安全需求给云计算带来严峻的安全挑
战。云计算技术已经在生活中得到广泛的应用,诞生出各种各样的云计算系统和平台,其中
包括医疗云、金融云、教育云以及科研云等。然而如今没有一种通用的方法来管理各种云平
台之间的隐私数据的流动,这种现象导致用户数据在云平台之间共享时,其保密性和完整
性得不到保证。
如医疗云作为一个医疗健康服务的云平台,其病人们的挂号、病历以及医保等隐私数据愿
意作为研究数据提供给科研人员,但不愿意流传到公共场所。即科研云被允许读取医疗云
的数据,而存储云不被允许。但传统的访问控制和加密方法只能保证数据从医疗云传送到
科研云时的安全,但不能保证科研云在接收到数据后合法地利用、传播这些数据。科研云可
能出于某种原因(配置不当、功能不完善等)将医疗数据传播给存储云,导致医疗数据的保
密性得不到保证。
以适应信息发送方对信息流动策略的需求的变化。
发明内容
平台间的信息流控制系统及方法。
模块,所述控制模块用于处理云平台的服务请求,所述通信模块用于进程间的通信,所述
Linux安全模块通过覆盖进程通信的hook函数以执行信息流控制策略;所述云平台通过客
户端管理模块向控制模块请求服务、连接进程、发送接收数据、警告不符合信息流控制策略
的信息流。
段和通信阶段,
块将注册的IP地址和管道文件路径的映射关系配置到通信模块的管道解析表中,以供通信
阶段使用;
安全模块的hook函数实现权限控制。
状态值至控制模块;
敏感数据不受未经授权实体的修改,保证数据来源的真实性;标记是标签的集合,每一个标
签都是云平台或者注册IP的唯一标识符,标识符包括有:IP地址、数字、字符串,分别用S和I
表示保密性标记和完整性标记。
开管道,通信模块向linux安全模块查询访问权限,若权限不足,则通信模块返回失败状态
值至云平台,若权限满足则将数据包中的数据写入管道,并返回成功的状态值至云平台。
的协议再递交给比本级层次高的网络协议。
附图说明
具体实施方式
例及实施例中的特征可以相互组合。
的具体实施例的限制。
户端管理模块,所述控制模块用于处理云平台的服务请求,所述通信模块用于进程间的通
信及管道解析表的增删改查,
息流控制策略的信息流。需要说明的是,只有同时符合保密性标签增加和完整性标签减少
的信息流才是安全合法的(也即符合符合信息流控制策略的),无法同时符合符合保密性标
签增加和完整性标签减少的信息流为非法信息流,即为不符合信息流控制策略的信息流。
流控制策略形式化地描述为安全类的偏序格结构。设
对元素都存在最小上界和最大下界,则称二元组
中,L是安全类的集合。每一个安全类代表一种安全级别,安全级别之间可以存在比较关系,
也可以不存在。
级别;≤表示“包含于”的关系。所以{medical}包含于{research,medical,financial},即
科研云的数据的安全级别比医疗云的高。科研云作为最小上界,其安全级别是最高的;存储
云作为最大下界,代表“公共场所”,其安全级别是最低的。只有从安全级别较低的一方流向
安全级别较高的一方的信息流才是安全的。因此在该例子中,医疗云的数据只允许流向科
研云,而不能流向金融云,更不能泄露给存储云。如图5所示为信息流示意图。
进程与之对应。
性标记。需要注意的是,云平台在注册过程中可以任意地配置其保密性标记,因为保密性标
记仅表示信息发送方所愿意共享数据的对象,而还需要信息接收方愿意接纳其数据才能形
成安全的信息流。完整性标记的配置则需要认证过程。如果完整性标记包含其它云平台的
标签,则只有在得到对应云平台的允许后才能进行配置,以保证其完整性。
址与管道文件路径之间一对多映射关系的信息,目的是为了将IP地址解析成管道的文件路
径。如果在解析过程中找不到对应的代表进程的管道,说明该IP地址没注册,则返回公共进
程的管道文件路径,将数据发送到公共领域。管道解析表可以使用哈希表、红黑树或优先级
队列等数据结构实现。
A通过管道解析表解析得到的是代表进程B在注册时创建的管道的文件路径。
平台可以向控制模块注册多个代表进程,绑定多个IP地址,定制多种信息流控制策略,以满
足多种特定的安全需求。相反,公共进程作为公共领域的信息进出口,并不绑定任何IP地
址。当通信模块在管道解析表中找不到目的地址的匹配项时,默认返回公共进程的管道文
件路径,以公共领域的安全约束转发数据。
段和通信阶段,
块将注册的IP地址和管道文件路径的映射关系配置到通信模块的管道解析表中,以供通信
阶段使用;
安全模块的hook函数实现权限控制。
状态值至控制模块;
敏感数据不受未经授权实体的修改,保证数据来源的真实性;标记是标签的集合,每一个标
签都是云平台或者注册IP的唯一标识符,标识符可以是IP地址、数字、字符串等。分别用S和
I表示保密性标记和完整性标记。
性最低的安全上下文。
文件路径,打开管道,通信模块向linux安全模块查询访问权限,若权限不足,则通信模块返
回失败状态值至云平台,若权限满足则将数据包中的数据写入管道,并返回成功的状态值
至云平台。
以存放安全上下文,包括保密性标记和完整性标记。由于通信模块采用的是管道进行通信,
而管道的本质是一种特殊的文件。在内核数据结构中,struct file和struct inode分别包
括f_security和i_security的安全域字段,选其一来存放安全上下文即可,该方法选择了
f_security。所以本系统主要涉及代表进程和文件的安全域字段和hook函数。代表进程的
安全上下文在云平台注册的阶段已经确定,而文件或inode则继承创建管道的代表进程的
安全上下文。在linux‑5.3.1版本的Linux安全模块中,涉及管道通信和文件的主要hook函
数包括file_open、file_permission、file_alloc_security、file_free_security等。
file_open将打开文件时的权限检查状态保存到以后供file_permission使用;file_
permission在访问打开的文件之前检查文件权限,被不同的读写文件的操作所调用;file_
alloc_security和file_free_security为f_security字段分配或回收一个安全结构。
的协议再递交给比本级层次高的网络协议。
通过注册多个代表进程,来为不同的部门或者不同类型用户的需求定制安全策略,灵活性
较高。第三,信息流控制不仅能实时检测信息流动的合法性,更能提供详细的信息流动日
志,可以更直观、更快捷地得知信息泄露的路径,以供日志审计或者漏洞检测等安全技术使
用。第四,基于Linux安全模块的信息流控制以内核模块的形式加载到Linux内核中,实现并
运行于内核空间,其保密性和完整性随着内核的安全性提高而提高。
以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本
发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求
的保护范围之内。