一种可信增强的访问控制框架的设计与实现
时间:05-26
来源:互联网
点击:
3 框架实现
本文以通用硬件平台和Linux-2.6.19内核为基础实现了此可信增强访问控制框架。由于所用通用平台,不具备TCG定义的可信根,因此原型中采用在其他项目中开发的具备密码功能和存储机制的可信支撑模块作为可信根。限于篇幅,本节只重点阐述这个可信增强的访问控制框架在内核的实施流程。
3.1 内核修改
可信验证机制是在位于内核空间的安全服务器内实施的,其主要在以下几方面对内核进行了修改:
(1) 添加了measure系统调用。真实的可信验证是在内核中执行的,因此在内核中添加了新的系统调用measure,其主要任务是识别系统(用户或内核级)上的检测点,即与执行相关的内容载入的地方,并且在这些位置上插入measure系统调用(或在内核里直接调用检测代码)。
(2) 添加了一个checkfile文件。checkfile文件用于存放检测值列表,包括BIOS、操作系统装载器、内核以及应用程序的检测基准值。在初始化可信验证之前,内核首先要载入检测值列表文件checkfile,若实际的启动或者运行过程与预期的不同,则checkfile的验证将会失败。不允许对 checkfile文件进行修改,否则攻击者将会隐蔽完整性相关的行为。checkfile文件使用可信硬件保护。
(3) 在内核代码中实现访问控制的关键点上插入监控函数monitor。monitor函数用于监控某些关键的访问控制实施,对于在访问控制中出现的某些意外攻击,monitor函数返回一个错误信息,并通知相应主体访问被篡改,需要撤销此次访问操作。
3.2框架实施
框架的实施过程包括框架的初始化和内核实施两个阶段。前一过程是策略实施的基础,包括用户身份认证以及可信环境的建立。用户身份认证通过TCG规范中的双向认证来实施,克服了传统认证方式的缺陷,使得操作系统与用户可以相互认证,从而确保用户身份信息正确映射到安全策略中;建立可信环境的目的在于将可信链传递到应用层以确保系统加电直至可信增强内核装载完毕各个环节的可信。内核实施包括策略初始化、主客体的完整性度量及验证以及安全策略的验证实施。策略初始化是将安全策略配置文件解密并导入内核空间;主客体的完整性度量及验证是对实施访问控制操作的主客体进行杂凑运算,与主客体的度量基准值进行比较,以确保主体行为的可信性和客体数据的完整性和真实性。其具体过程将在下面具体描述;策略实施是对通过了完整性验证的访问控制依据安全策略库实施安全策略裁决的过程。整个实施过程中前一环节为下一环节服务,逐层建立了系统的可信计算基(TCB),从而保证了框架实施的可信性。主客体的完整性度量是最为关键的步骤,下面将重点介绍。
为了实现对访问操作涉及的主客体的完整性度量及验证,本文在Linux内核中加入了一个checkfile文件专门存放度量基准值,其格式如下:
……
fedb1cff009e115f7f5f7b4533667a787798832d(hd0,1)/xen3.0.2.gz
0b397acac72a31aedc5f63c5f597c462e0815ed5 ftp
59e6215c821e78ef20d75bd6b63dd5a8b2af00ee/bin/hostname
……
当主体发起对客体的访问请求时,对象管理器将访问请求提交给安全服务器。安全服务器首先调用measure对相应的主客体进行可信检测与验证,也即启动框架中的可信验证机制checkfile_func()函数来调用calculate_sha1()函数,以对相应的主客体进行完整性度量,并且检查相应的主客体是否存在于checkfile中。如果不存在,则将已计算出的杂凑值扩展到checkfile中,以作为下次判断的依据;如果存在,则调用 strcmp()函数将所得的杂凑值与基准值进行比较。若不匹配就显示警告信息,告诉用户此次访问操作的主体或客体的完整性已经被破坏,访问被拒绝;若匹配,则调用update_checkfile()函数将所计算出的度量值扩展到checkfile文件中,并且在measure系统调用返回前,扩展相应的PCR寄存器,同时将访问请求移交给安全策略服务器,由策略服务器检查是否满足安全策略。若不满足,则拒绝本次访问;若满足则由对象管理器实施访问决策。在实施访问控制的过程中调用monitor监控函数对访问操作进行监控。图4是上述实施过程的流程图。
本文借鉴可信计算思想,从可信增强的角度出发,提出了一个可信增强的访问控制框架,并给出了该框架的具体实施流程。文章重点阐述了框架的总体设计和实施,旨在体现框架的可信增强思想。相比普通的访问控制,它可以确保主体行为的可信性、客体内容的完整性和真实性,以及访问控制行为的正确性。本文提出的这个可信增强的框架是对可信计算在访问控制中应用的一个尝试,在下一步工作中,将主要针对框架中存在的一些安全隐患和具体实施细节加以改进。
本文以通用硬件平台和Linux-2.6.19内核为基础实现了此可信增强访问控制框架。由于所用通用平台,不具备TCG定义的可信根,因此原型中采用在其他项目中开发的具备密码功能和存储机制的可信支撑模块作为可信根。限于篇幅,本节只重点阐述这个可信增强的访问控制框架在内核的实施流程。
3.1 内核修改
可信验证机制是在位于内核空间的安全服务器内实施的,其主要在以下几方面对内核进行了修改:
(1) 添加了measure系统调用。真实的可信验证是在内核中执行的,因此在内核中添加了新的系统调用measure,其主要任务是识别系统(用户或内核级)上的检测点,即与执行相关的内容载入的地方,并且在这些位置上插入measure系统调用(或在内核里直接调用检测代码)。
(2) 添加了一个checkfile文件。checkfile文件用于存放检测值列表,包括BIOS、操作系统装载器、内核以及应用程序的检测基准值。在初始化可信验证之前,内核首先要载入检测值列表文件checkfile,若实际的启动或者运行过程与预期的不同,则checkfile的验证将会失败。不允许对 checkfile文件进行修改,否则攻击者将会隐蔽完整性相关的行为。checkfile文件使用可信硬件保护。
(3) 在内核代码中实现访问控制的关键点上插入监控函数monitor。monitor函数用于监控某些关键的访问控制实施,对于在访问控制中出现的某些意外攻击,monitor函数返回一个错误信息,并通知相应主体访问被篡改,需要撤销此次访问操作。
3.2框架实施
框架的实施过程包括框架的初始化和内核实施两个阶段。前一过程是策略实施的基础,包括用户身份认证以及可信环境的建立。用户身份认证通过TCG规范中的双向认证来实施,克服了传统认证方式的缺陷,使得操作系统与用户可以相互认证,从而确保用户身份信息正确映射到安全策略中;建立可信环境的目的在于将可信链传递到应用层以确保系统加电直至可信增强内核装载完毕各个环节的可信。内核实施包括策略初始化、主客体的完整性度量及验证以及安全策略的验证实施。策略初始化是将安全策略配置文件解密并导入内核空间;主客体的完整性度量及验证是对实施访问控制操作的主客体进行杂凑运算,与主客体的度量基准值进行比较,以确保主体行为的可信性和客体数据的完整性和真实性。其具体过程将在下面具体描述;策略实施是对通过了完整性验证的访问控制依据安全策略库实施安全策略裁决的过程。整个实施过程中前一环节为下一环节服务,逐层建立了系统的可信计算基(TCB),从而保证了框架实施的可信性。主客体的完整性度量是最为关键的步骤,下面将重点介绍。
为了实现对访问操作涉及的主客体的完整性度量及验证,本文在Linux内核中加入了一个checkfile文件专门存放度量基准值,其格式如下:
……
fedb1cff009e115f7f5f7b4533667a787798832d(hd0,1)/xen3.0.2.gz
0b397acac72a31aedc5f63c5f597c462e0815ed5 ftp
59e6215c821e78ef20d75bd6b63dd5a8b2af00ee/bin/hostname
……
当主体发起对客体的访问请求时,对象管理器将访问请求提交给安全服务器。安全服务器首先调用measure对相应的主客体进行可信检测与验证,也即启动框架中的可信验证机制checkfile_func()函数来调用calculate_sha1()函数,以对相应的主客体进行完整性度量,并且检查相应的主客体是否存在于checkfile中。如果不存在,则将已计算出的杂凑值扩展到checkfile中,以作为下次判断的依据;如果存在,则调用 strcmp()函数将所得的杂凑值与基准值进行比较。若不匹配就显示警告信息,告诉用户此次访问操作的主体或客体的完整性已经被破坏,访问被拒绝;若匹配,则调用update_checkfile()函数将所计算出的度量值扩展到checkfile文件中,并且在measure系统调用返回前,扩展相应的PCR寄存器,同时将访问请求移交给安全策略服务器,由策略服务器检查是否满足安全策略。若不满足,则拒绝本次访问;若满足则由对象管理器实施访问决策。在实施访问控制的过程中调用monitor监控函数对访问操作进行监控。图4是上述实施过程的流程图。
本文借鉴可信计算思想,从可信增强的角度出发,提出了一个可信增强的访问控制框架,并给出了该框架的具体实施流程。文章重点阐述了框架的总体设计和实施,旨在体现框架的可信增强思想。相比普通的访问控制,它可以确保主体行为的可信性、客体内容的完整性和真实性,以及访问控制行为的正确性。本文提出的这个可信增强的框架是对可信计算在访问控制中应用的一个尝试,在下一步工作中,将主要针对框架中存在的一些安全隐患和具体实施细节加以改进。
Linux 相关文章:
- 多核及虚拟化技术在工业和安全领域的应用(05-23)
- ARM在数字化远程视频监控系统的应用(05-20)
- 无线IP视频监控应用即将井喷,Blackfin助您赢得先机(07-23)
- 多媒体远程联动智能监控终端的设计(10-20)
- 具有远程监控功能的视频服务器设计(01-13)
- 基于嵌入式Linux的风力发电监控系统开发平台的构建(03-06)