基于可执行程序身份的文件访问制造技术

技术编号:8049326 阅读:208 留言:0更新日期:2012-12-07 02:39
在本发明专利技术的示例中,可执行程序试图访问数据文件。对基于可执行程序身份的访问控制列表进行访问,以确定该可执行程序是否应被允许访问数据文件。

【技术实现步骤摘要】
【国外来华专利技术】基于可执行程序身份的文件访问
技术介绍
在计算领域,希望限制对数据文件的访问。本领域已知的一种方法是基于用户的文件访问控制。执行程序以与特定用户或特定用户组相关联的访问权限运行,并且数据文件可以被配置为,使得仅以授权用户或授权用户组的证书运行的可执行程序可以访问该数据文件。例如,如果一可执行程序以用户A的证书运行,并且数据文件被配置为仅允许以用户B的证书运行的可执行程序进行访问,则将不允许该可执行程序访问该数据文件。类似地,基于用户的文件访问控制适用于用户类别。例如,用户A、B和C可能是普通用户类别的一部分,而数据文件可能被配置为仅允许作为管理类别一部分的用户进行访问。本领域已知的另一种方法是仅允许可执行程序在利用证书验证可执行程序的完整性的情况下运行。以证书授权中心发布的证书对可执行程序进行签名,并且在允许可执行程序运行之前,对照证书来验证可执行程序的签名。附图说明 附示了本专利技术的实施例、实施方式和配置,而不是专利技术本身。图I是图示本专利技术示例的计算环境的简化框图。图2是本专利技术的示例可部署于其中的计算机系统的框图。图3是示出根据本专利技术示例的文件系统模块的框图。图4示出根据本专利技术示例的可执行程序。图5示出根据本专利技术示例的数据文件和与数据文件相关联的策略元数据。图6是图示根据本专利技术示例的由签名工具采取的动作的流程图。图7是图示根据本专利技术示例的由访问策略工具采取的动作的流程图。图8是图示根据本专利技术示例的由文件系统模块和策略执行管理器采取的动作的流程图。具体实施例方式在上面的描述中,阐述了大量细节,以便提供对本专利技术的理解。不过,本领域技术人员应理解在没有这些细节的情况下也可将本专利技术付诸于实践。虽然参考有限数量的示例、实施方式和实施例公开了本专利技术,但本领域技术人员应意识到由此产生的大量修改和变化。当修改和变化落入本专利技术的真正精神和范围内时,所附的权利要求旨在包含这种修改和变化。本专利技术的示例提供基于可执行程序身份的文件访问控制,以确定是否允许特定的可执行程序访问特定的数据文件。本质上,“白名单”与定义哪些可执行程序被允许访问数据文件的每个数据文件相关联。如上面在
技术介绍
部分中所论述的,提供基于用户身份的文件访问控制,使得仅使用正确的用户证书操作的可执行程序可以访问数据文件,这在本领域是已知的。利用数字证书来确定是否允许特定的可执行程序运行,这也是已知的。然而,这些机制不允许数据文件访问基于可执行程序的身份而被限制。设想一个经营基于网络的店面的在线零售商。通常,利用一套可执行程序来经营店面,包括用于显示待售产品、输入并显示客户评论、接收订单、启动信用卡交易、计算各种运输选择的运输成本等的可执行程序。这些可执行程序可以由若干卖方提供。此外,假设在线零售商维护包括客户的用户ID、运输地址、电子邮件地址、电话号码以及信用卡卡号的客户数据库。如果这一套可执行程序中的所有可执行程序以相同的用户证书运行,则每个可执行程序均可访问客户数据库。因而,如果恶意代码被引入到任意可执行程序中,则恶意代码可以访问客户数据库,并且包含在客户数据库中的信息可以包括在内。利用本专利技术的示例,可以将对客户数据库的访问限制于处理订单和启动信用卡交易的可执行程序。这些可执行程序可由本质上比执行其它功能(例如维护客户评论)的可执行程序更值得信赖的卖方提供。因此,本专利技术的示例加强了在线卖方和卖方的客户的安全性。图I是图示本专利技术示例的计算环境10的简化框图。计算环境10包括可执行程序12、签名工具14以及访问策略工具16 (全部均在用户空间中操作)。计算环境10还包括文件系统模块18和策略执行管理器20 (两者均在内核空间中操作)以及持久性介质22。持久性介质22存储数据文件24、基于可执行程序身份的访问控制列表26以及证书库28。证书存储在证书库28中。证书用于证实完整性,并且典型的证书包括以下项目 序列号用于唯一地标识证书。对象被标识的人或实体。签名算法该算法用于创建签名。发行者验证信息并发布证书的实体。生效自证实第一次生效的起始日期。有效至截止日期。密钥使用公共密钥的用途。公共密钥用于验证来自指定对象的签名的公共密钥。拇指纹算法该算法用于对证书进行哈希操作。拇指纹用于确保证书尚未被篡改的哈希本身。注意,证书包括公共密钥。对应的私有密钥与每个证书相关联,并且是保密的。对目标(例如可执行程序)进行签名的过程包括利用函数(例如256位SHA2哈希函数)对目标执行函数。采用私有密钥对函数的结果进行加密以形成签名,并且将签名存储在试图验证目标完整性的一方以后可以检索签名的地方。通常,签名与目标一起存储。验证目标的过程包括访问证书以获得与证书一起存储的公共密钥,并且执行与对目标执行的函数相同的函数。采用公共密钥对签名进行解密,并且将签名与函数的结果相比较。匹配验证了目标的完整性,而失配则表明目标(或签名、或证书)已被改变,因此无法验证目标的完整性。在企业计算环境中,用户通常被定义为充当信息技术(IT)安全人员。安全人员定义与IT安全有关的各种策略。安全人员使用签名工具14利用私有密钥对可执行程序进行数字签名,并且与私有密钥相关联的证书被存储在证书库28中。安全人员还使用访问策略工具16来定义允许哪些可执行程序访问各种数据文件。所存储的策略也受到证书的保护。参考图1,签名工具14用于对可执行程序12进行数字签名,并且访问策略工具16用于将可执行程序12记录在基于可执行程序身份的访问控制列表26中,从而允许可执行程序12访问数据文件24。当可执行程序12在运行并试图打开到数据文件24的I/O流时,可执行程序12将I/o请求传递至文件系统模块18。接着,文件系统模块18将对可执行程序12的引用和对数据文件24的引用传递至策略执行管理器20。策略执行管理器20访问基于可执行程序身份的访问控制列表26,并且针对数据文件24检索基于可执行程序身份的文件访问策略。从而,策略执行管理器20确定是否应同意访问,并且验证可执行程序12和基于可执行程序身份的访问控制列表26的完整性。如果允许访问,并且验证了可执行程序12和基于可执行程序身份的访问控制列表26的完整性,则策略执行管理器20用信号通知文件系统模块18为I/O请求提供服务并且打开I/O流。否则,策略执行管理器20用信号通知文件系统模块18拒绝I/O请求。在更详细论述本专利技术之前,首先设想本专利技术的示例可部署于其中的典型计算机系 统。图2是计算机系统30的框图。计算机系统30包括总线32。一个或多个CPU 34、核心逻辑36、网络接口控制器40、存储控制器42以及持久性存储器44联接到总线32。虽然总线32概括性地显示为单条总线,但本领域技术人员会认识到通常利用若干条总线和光纤来连接图2所示的组件。CPU 34可代表单个CPU、单个集成电路(IC)封装中的多个CPU、分立IC封装中的多个CPU核、或者这些元素的任意结合。核心逻辑36代表联接CPU 34、系统内存38、网络接口控制器40、存储控制器42以及持久性存储器44的核心逻辑。在某些架构中,核心逻辑36包括北桥和南桥。不过,在本领域中还已知其它架构。例如,在某些架构中,内存控制器提供在CPU中。为了描述本专利技术的示例,核心逻辑36还包括存在于典型计算机系统中的其它组件本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】

【专利技术属性】
技术研发人员:赫曼塔·米塔尔尚卡尔·拉曼
申请(专利权)人:惠普发展公司有限责任合伙企业
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1