CN102812473A - 基于可执行程序身份的文件访问 - Google Patents
基于可执行程序身份的文件访问 Download PDFInfo
- Publication number
- CN102812473A CN102812473A CN2010800637768A CN201080063776A CN102812473A CN 102812473 A CN102812473 A CN 102812473A CN 2010800637768 A CN2010800637768 A CN 2010800637768A CN 201080063776 A CN201080063776 A CN 201080063776A CN 102812473 A CN102812473 A CN 102812473A
- Authority
- CN
- China
- Prior art keywords
- executable program
- identity
- data file
- visit
- acl
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
在本发明的示例中,可执行程序试图访问数据文件。对基于可执行程序身份的访问控制列表进行访问,以确定该可执行程序是否应被允许访问数据文件。
Description
背景技术
在计算领域,希望限制对数据文件的访问。本领域已知的一种方法是基于用户的文件访问控制。执行程序以与特定用户或特定用户组相关联的访问权限运行,并且数据文件可以被配置为,使得仅以授权用户或授权用户组的证书运行的可执行程序可以访问该数据文件。例如,如果一可执行程序以用户A的证书运行,并且数据文件被配置为仅允许以用户B的证书运行的可执行程序进行访问,则将不允许该可执行程序访问该数据文件。类似地,基于用户的文件访问控制适用于用户类别。例如,用户A、B和C可能是普通用户类别的一部分,而数据文件可能被配置为仅允许作为管理类别一部分的用户进行访问。
本领域已知的另一种方法是仅允许可执行程序在利用证书验证可执行程序的完整性的情况下运行。以证书授权中心发布的证书对可执行程序进行签名,并且在允许可执行程序运行之前,对照证书来验证可执行程序的签名。
附图说明
附图图示了本发明的实施例、实施方式和配置,而不是发明本身。
图1是图示本发明示例的计算环境的简化框图。
图2是本发明的示例可部署于其中的计算机系统的框图。
图3是示出根据本发明示例的文件系统模块的框图。
图4示出根据本发明示例的可执行程序。
图5示出根据本发明示例的数据文件和与数据文件相关联的策略元数据。
图6是图示根据本发明示例的由签名工具采取的动作的流程图。
图7是图示根据本发明示例的由访问策略工具采取的动作的流程图。
图8是图示根据本发明示例的由文件系统模块和策略执行管理器采取的动作的流程图。
具体实施方式
在上面的描述中,阐述了大量细节,以便提供对本发明的理解。不过,本领域技术人员应理解在没有这些细节的情况下也可将本发明付诸于实践。虽然参考有限数量的示例、实施方式和实施例公开了本发明,但本领域技术人员应意识到由此产生的大量修改和变化。当修改和变化落入本发明的真正精神和范围内时,所附的权利要求旨在包含这种修改和变化。
本发明的示例提供基于可执行程序身份的文件访问控制,以确定是否允许特定的可执行程序访问特定的数据文件。本质上,“白名单”与定义哪些可执行程序被允许访问数据文件的每个数据文件相关联。如上面在背景技术部分中所论述的,提供基于用户身份的文件访问控制,使得仅使用正确的用户证书操作的可执行程序可以访问数据文件,这在本领域是已知的。利用数字证书来确定是否允许特定的可执行程序运行,这也是已知的。然而,这些机制不允许数据文件访问基于可执行程序的身份而被限制。
设想一个经营基于网络的店面的在线零售商。通常,利用一套可执行程序来经营店面,包括用于显示待售产品、输入并显示客户评论、接收订单、启动信用卡交易、计算各种运输选择的运输成本等的可执行程序。这些可执行程序可以由若干卖方提供。此外,假设在线零售商维护包括客户的用户ID、运输地址、电子邮件地址、电话号码以及信用卡卡号的客户数据库。如果这一套可执行程序中的所有可执行程序以相同的用户证书运行,则每个可执行程序均可访问客户数据库。因而,如果恶意代码被引入到任意可执行程序中,则恶意代码可以访问客户数据库,并且包含在客户数据库中的信息可以包括在内。利用本发明的示例,可以将对客户数据库的访问限制于处理订单和启动信用卡交易的可执行程序。这些可执行程序可由本质上比执行其它功能(例如维护客户评论)的可执行程序更值得信赖的卖方提供。因此,本发明的示例加强了在线卖方和卖方的客户的安全性。
图1是图示本发明示例的计算环境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还包括存在于典型计算机系统中的其它组件,例如固件和I/O组件、本地持久性存储器的磁盘控制器、USB端口、联接到显示器的视频控制器、键盘和鼠标,等等。为了概括性地图示诸如显示器、键盘、鼠标、轨迹球、触垫和扬声器等的设备,核心逻辑36被显示为连接到人机接口设备。注意,这种人机接口设备还可通过网络接口控制器40远程提供。在服务器中,可能不使用这些组件中的某些组件。
持久性存储器44代表用于存储操作系统、可执行程序以及数据的本地副本的存储器。持久性存储器44可代表诸如硬盘驱动器、固态驱动器、磁带驱动器、光学驱动器和软盘驱动器等的设备(以及合适的对应介质)。可替代地,持久性存储器可借助于存储控制器42或网络接口控制器40提供在计算机30的外部。例如,存储控制器42可联接到存储区域网(SAN),存储区域网接着联接到磁盘阵列子系统。类似地,网络接口控制器40可联接到局域网(LAN)或广域网(WAN),局域网或广域网接着联接到附接于网络的存储器。
图1示出了持久性介质22。参考图2,持久性介质22可由持久性存储器44实现。然而,持久性介质22也可由连接到存储控制器42或网络接口控制器40的介质实现。
还需注意,可执行程序12、签名工具14、访问策略工具16、文件系统模块18、策略执行管理器20、数据文件24、基于可执行程序身份的访问控制列表26以及证书库28,图1中的全部,均可在任意时刻、或者作为单个副本或者作为多个副本、并且全部或部分地存在于持久性存储器44上、存在于连接到网络接口控制器40的介质上、存在于连接到存储控制器42的介质上、存在于系统内存38内、或存在于CPU 34或核心逻辑36的高速缓存内。
在图1中,文件系统模块18图示为单个框。图3是更详细示出文件系统模块18的框图。在图3中,文件系统模块18包括虚拟文件系统46、可堆叠文件系统过滤模块50、物理文件系统52以及卷管理器54。图3还示出了策略执行管理器20,其联接到可堆叠文件系统过滤模块50。
虚拟文件系统46提供对在用户空间中操作的可执行程序的访问,如图1所示。对于已经打开的I/O流,虚拟文件系统46也对打开的文件进行高速缓存。
可堆叠文件系统过滤模块50联接到策略执行管理器20。可堆叠文件系统过滤模块50俘获I/O请求,并通过与策略执行管理器20的通信确定是否授权发起I/O请求的可执行程序访问作为I/O请求的对象的数据文件。注意,通过提供单独的可堆叠模块,本发明的示例可以提供在当前的文件系统栈中,而无需明显改变文件系统栈中的其它模块。
物理文件系统52管理对物理文件的访问。这些文件可存在于本地持久性存储器上、或存在于通过如上述的SAN、LAN或WAN联接的存储器上。最后,卷管理器54管理存在于持久性介质上的磁盘卷。例如,卷管理器54可对单个物理磁盘驱动器上的多个分区、将数据镜像到两个或更多个物理磁盘驱动器的镜像卷或者本领域已知的其它类型的卷进行管理。
图4根据本发明的示例以符合可执行可链接格式(ELF)的文件示出了图1的可执行程序12。ELF非常灵活且可扩展,并且允许元数据与可执行程序一起存储。许多Unix和类Unix操作系统(包括作为惠普公司的产品的HP-UX操作系统)都使用ELF。由其它操作系统使用的其它可执行文件格式也能够存储元数据,并且可适于与本发明示例一起使用。
如果本发明的示例与可执行程序格式不能存储元数据的操作系统一起使用,则可将图4所示的元数据提供在别处,例如单独的数据库文件或指定的流文件。如下面参考图5所论述的,这些机制还可用于使元数据与数据文件24相关联。还需注意,某些可执行文件利用ELF可能无法实现。例如,脚本文件是可执行文件,但脚本文件本身可以是简单的文本文件。因此,指定的流文件可与脚本文件相关联,以存储下面参考图4所论述的信息。
可执行程序12包括ELF头56,ELF头56包含如下的信息:
ELF标识符
目标文件类型
机器类型
目标文件版本
入口点地址
程序头偏移
节头偏移
处理器特定标志
ELF头大小
程序头入口的大小
程序头入口的数量
节头入口的大小
节头入口的数量
节名称字符串表索引
注意,上述列表包括标识程序头表的位置的程序头偏移。程序头表标识包含在运行时间所使用的可执行代码和数据的段。在图4中,程序头表58标识可执行代码段62。通常具有附加段,附加段由可执行代码段62下方的三个点表示。
还需注意,上述列表包括标识节头表的位置的节头偏移。节头表标识包含与可执行程序相关联的元数据(例如与链接和再定位有关的数据)的节。可以定义附加节,并且根据本发明的示例定义签名元数据节64。节头表60包括标识签名元数据节64的入口。注意,附加节由签名元数据节64上方的三个点表示。
签名元数据节64包括可执行程序身份字段66、可执行程序签名字段68以及证书名称字段70。可执行程序身份字段66存储唯一标识可执行程序12的可执行程序身份。例如,可执行程序身份可通过将哈希函数应用于由程序头表58所标识的段(例如可执行程序段62)而生成。证书名称字段70存储用于标识在图1的证书库28中存储的证书的证书名称。如上所述,证书包括公共密钥。可执行程序签名字段68存储通过将与证书相关联的私有密钥应用于可执行程序身份而生成的可执行程序签名。可执行程序签名68可由图1中的签名工具14创建,这将在下面更为详细地描述。
图5示出了图1中的数据文件24和与数据文件24相关联的策略元数据70。大量操作系统支持使元数据与数据文件相关联的机制。例如,许多Unix和类Unix操作系统支持扩展的文件属性,其可用于存储策略元数据。其它操作系统支持文件派生,其允许附加的数据流与文件相关联。例如,在Microsoft操作系统的某些版本中使用的NTFS文件系统支持交替数据流。作为惠普公司产品的HP-UX操作系统的某些版本支持与数据文件链接的单独指定的流文件。注意,如果使用不支持使元数据与数据文件相关联的文件系统,则本发明的示例仍可通过提供唯一标识数据文件并且包括图5所示的其余信息的数据库来实现。
如上所述,数据文件24与策略元数据70相关联。策略元数据70包括策略签名字段72、证书名称字段74以及基于可执行程序身份的访问控制列表26(其也在图1中示出)。证书名称字段74存储用于标识在证书库28中存储的证书的证书名称。如上所述,证书包括公共密钥。策略签名字段72存储通过首先将哈希函数应用于基于可执行程序身份的访问控制列表26、然后采用与证书相关联的私有密钥对结果进行数字签名而生成的策略签名。后面将更详细地描述策略签名的生成。注意,策略签名通过允许检测基于可执行程序身份的访问控制列表26的任何未经授权或意外的改变,而保护基于可执行程序身份的访问控制列表26的完整性。
基于可执行程序身份的访问控制列表26存储被授权访问数据文件24的每个可执行程序的可执行程序身份,例如在字段76和字段78中存储的可执行程序身份。如上所述,可执行程序身份可通过将哈希函数应用于由程序头表58所标识的段(例如可执行程序段62)而生成。基于可执行程序身份的访问控制列表26可由访问策略工具16填充,这将在下面更为详细地论述。
图6是图示了图1中的签名工具14所采取的动作的流程图80。签名工具14用于对可执行程序,例如图1中的可执行程序12进行签名。通常,只有用户空间中的签名工具14和访问策略工具16、以及在内核空间中操作的模块(例如图1中的策略执行管理器20)才可以访问图1中的证书库28。
流程图80起始于开始框82,并且控制权传递到框84。在框84,检索与存储在证书库28中的证书相关联的私有密钥。注意,私有密钥是保密的,通常由安全人员提供。通常,证书和相关联的密钥可从证书授权中心(例如VeriSign公司)获得。控制权传递到框86。
在框86,解析图4中的ELF头56和程序头表58,以识别包括可执行程序和可执行程序12的数据部分的段,例如识别图4中的可执行代码段62。控制权传递到框88。
在框88,利用在框84检索到的私有密钥,将哈希函数应用于在框86识别的段,以形成可执行程序身份。在一个示例中,执行单向256位SHA2哈希。采用私有密钥对可执行程序身份进行签名,以形成可执行程序签名。控制权传递到框90。
在框90,将可执行程序身份、可执行程序签名以及证书名称存储在图4中的签名元数据节64中。控制权传递到结束框92,在此处流程图结束。至此,根据本发明的示例,对可执行程序12进行了数字签名,并且可执行程序12准备参与基于可执行程序身份的文件访问。
图7是示出图1中的访问策略工具16所采取的动作的流程图94。通常,安全人员利用访问策略工具16来定义被允许访问特定数据文件的可执行程序。流程图96起始于开始框96,并且控制权传递到框98。在框98,检索与存储在证书库28中的证书相关联的私有密钥,并且控制权传递到框100。如上所述,私有密钥可由安全人员提供。
如果利用访问策略工具16来定义之前未定义数据文件访问策略的数据文件的数据文件访问策略,则图5的策略元数据70可能不存在。因此,如果策略元数据流不存在,则框100创建图5所示的策略元数据流。控制权传递到框102。
在框102,将经授权的可执行程序的可执行程序身份存储在基于可执行程序身份的访问控制列表(图1和图5的列表26)中。控制权传递到框104。
在框104,将哈希函数应用于基于可执行程序身份的访问控制列表26,并且利用在框98检索到的私有密钥对结果进行签名,以生成策略签名。在一个示例中,哈希函数为单向256位SHA2哈希函数。控制权传递到框106。
在框106,将策略签名和证书名称存储在策略元数据中,如图5所示。至此,一个或多个可执行程序被授权访问数据文件,这将在下面参考图8进行论述。
图8示出了图示图1的文件系统模块18和策略执行管理器20所采取的动作的流程图110。如果文件系统模块18如图3所示那样实现,则这些动作由可堆叠文件系统过滤模块50和策略执行管理器20来执行。流程图110起始于开始框112,并且控制权传递到114。
在框114,文件系统模块从可执行程序(例如图1和图4的可执行程序12)接收I/O请求。I/O请求包括对可执行程序和数据文件(例如图1和图5的数据文件24)的引用。控制权传递到判断框116。
判断框116确定是否已为数据文件定义了策略元数据。图1的计算环境10中的许多数据文件可能没有将访问限制于经授权的可执行程序,在这种情况下,希望为I/O请求提供服务。因此,如果尚未为数据文件定义策略元数据,则“否”分支走向框118。框118为I/O请求提供服务,并且控制权返回到框114,以等待下个I/O请求。如果已经为数据文件定义了策略元数据,则“是”分支走向框120。
在框120,从策略元数据中检索证书名称和存储的策略签名。利用证书名称从证书库28中检索正确的公共密钥。将哈希函数应用于基于可执行程序身份的访问控制列表。控制权传递到判断框122。
在判断框122,将哈希结果与采用公共密钥解密的策略签名相比较。如果它们不同,则基于可执行程序身份的访问控制列表已被更改。注意,由于哈希结果和解密后的策略签名应当匹配,因此更改可指示安全漏洞。如果它们不匹配,则“否”分支走向到框124。在框124,拒绝I/O请求,并警告安全人员具有安全漏洞的可能性。然后控制权返回到框114,以等待下个I/O请求。如果它们匹配,则已验证了基于可执行程序身份的访问控制列表的完整性,并且“是”分支走向判断框126。
判断框126确定可执行程序的身份是否已存储在基于可执行程序身份的访问控制列表中。如果可执行程序身份不存在,则不授权可执行程序访问数据文件,并且“否”分支走向框124。如上所述,框124将拒绝I/O请求,并警告安全人员可能存在潜在的安全漏洞。然而,该潜在的安全漏洞的严重性可能低于在框122检测到的潜在漏洞的严重性。在框122,已确定策略元数据受到未经授权的更改。然而,不授权可执行程序访问数据文件的事实可能具有更无恶意的原因,例如用户偶然尝试打开数据文件。因此,可能希望忽视对安全人员的警告,并且在替代方案中,将该失败的访问尝试记入日志。然后控制权返回到框114,以等待下个I/O请求。如果可执行程序身份存在于基于可执行程序身份的访问控制列表中,则“是”分支走向框128。
在框128,从可执行程序的签名元数据节中检索证书名称和存储的可执行程序签名,并且从证书库中检索证书名称所标识的公共密钥。利用哈希函数根据ELF头和程序头表(图4所示)所标识的段来运算计算的可执行程序身份,并且采用公共密钥对存储的可执行程序签名进行解密,以形成解密的可执行程序身份。然后控制权传递到判断框130。
判断框130确定存储的可执行程序身份和解密的可执行程序身份是否匹配。如果它们不匹配,则由于可执行程序可能已受到恶意更改,因此具有潜在的安全漏洞。因此,“否”分支走向框124,如上所述,在框124,拒绝I/O请求,并警告安全人员。然后控制权返回到框114,以等待下个I/O请求。
如果计算的可执行程序身份和解密的可执行程序身份相匹配,则授权I/O请求。相应地,“是”分支走向框132,框132为I/O请求提供服务,并且控制权返回到框114,以等待下个I/O请求。
在上面的描述中,阐述了大量细节,以便提供对本发明的理解。不过,本领域技术人员应理解在没有这些细节的情况下也可将本发明付诸于实践。虽然参考有限数量的示例、实施方式和实施例公开了本发明,但本领域技术人员应意识到由此产生的大量修改和变化。当修改和变化落入本发明的真正精神和范围内时,所附的权利要求旨在包含这种修改和变化。
Claims (15)
1.一种允许可执行程序访问数据文件的方法(110),包括:
从所述可执行程序(12)向所述数据文件(24)发起(114)文件访问请求;
访问(126)基于可执行程序身份的访问控制列表(26),以确定(126)所述可执行程序(12)是否被允许访问所述数据文件(24);
如果所述可执行程序(12)被允许访问所述数据文件(24),则允许(132)所述可执行程序(12)访问所述数据文件(24);以及
如果所述可执行程序(12)未被允许访问所述数据文件(24),则禁止(124)所述可执行程序(12)访问所述数据文件(24)。
2.根据权利要求1所述的方法(110),其中访问(126)基于可执行程序身份的访问控制列表(26)包括:通过将计算的可执行程序身份与通过采用在证书库(28)中存储的公共密钥对存储的可执行程序签名进行解密而形成的可执行程序身份相比较(130),来验证可执行程序完整性(128、130)。
3.根据权利要求2所述的方法(110),其中所述基于可执行程序身份的控制列表(26)存储在与所述数据文件(24)相关联的策略元数据(70)中,同时所述基于可执行程序身份的访问控制列表(26)存储标识所述可执行程序(12)的可执行程序身份(76、78)。
4.根据权利要求3所述的方法(110),其中使存储的策略签名(72)与所述基于可执行程序身份的访问控制列表(26)相关联,并且通过将采用所述证书库(28)中存储的公共密钥所解密(122)的存储的策略签名(72)与应用于(120)所述基于可执行程序身份的访问控制列表(26)的哈希函数的结果相比较(122),来验证基于可执行程序身份的访问策略。
5.根据权利要求2所述的方法,进一步包括:
创建(80)所述可执行程序(12)的存储的可执行程序签名(68);并且
通过将所述可执行程序身份(66)存储在所述基于可执行程序身份的访问控制列表(26)中,来定义(94)所述数据文件(24)的基于可执行程序身份的文件访问策略。
6.一种其上存储有计算机可执行程序段的可读介质(44),所述计算机可执行程序段包括:
策略执行管理器(20),用于通过访问基于可执行程序身份的访问控制列表(26)来确定可执行程序(12)是否被允许访问数据文件(24);和
文件系统模块(18),用于为来自所述可执行程序(12)的对所述数据文件(24)的文件访问请求提供服务,其中所述文件系统模块(18)与所述策略执行管理器(20)通信,以确定所述可执行程序(12)是否被允许访问所述数据文件(24),并且如果访问被允许,则为所述文件访问请求提供服务,而如果访问被禁止,则拒绝所述文件访问请求。
7.根据权利要求6所述的可读介质(44),其中所述策略执行管理器(20)通过将由来自证书库(28)的公共密钥解密的存储的可执行程序签名(68)与通过将哈希函数应用于所述可执行程序(12)而形成的计算的可执行程序身份相比较,来验证所述可执行程序(12)的完整性。
8.根据权利要求7所述的可读介质(44),进一步包括:
签名工具(14),通过应用所述哈希函数以形成可执行程序身份(66)、并采用与证书库(28)中的证书相关联的私有密钥加密所述可执行程序身份(66),来运算所述存储的可执行程序签名(68)。
9.根据权利要求7所述的可读介质(44),其中所述基于可执行程序身份的访问控制列表(26)存储在与所述数据文件(24)相关联的策略元数据(70)中,同时所述基于可执行程序身份的访问控制列表(26)存储标识所述可执行程序(12)的可执行程序身份(76、78),并且其中所述策略元数据(70)还包括存储的策略签名(72),并且基于可执行程序身份的文件访问策略通过将采用来自所述证书库(28)的公共密钥所解密的存储的策略签名(72)与将哈希函数应用于所述基于可执行程序身份的访问控制列表(26)的结果相比较来验证。
10.根据权利要求9所述的可读介质,进一步包括:
访问策略工具(18),用于通过将所述可执行程序身份(66)存储在所述基于可执行程序身份的访问控制列表(26)中,来定义所述数据文件(24)的基于可执行程序身份的文件访问策略。
11.一种计算环境(10、30),包括:
CPU(34);
联接到所述CPU(34)的持久性介质(22),所述持久性介质(22)包括数据文件(22)和基于可执行程序身份的访问控制列表(26);
联接到所述CPU(34)的内存(38),其中可执行程序(12)、文件系统模块(18)以及策略执行管理器(20)由所述CPU(34)从所述内存(38)中执行,并且其中所述可执行程序(12)向所述文件系统模块(18)发起I/O请求以访问所述数据文件(24),所述文件系统模块(18)与所述策略执行管理器(20)协作,以访问基于可执行程序身份的访问控制列表(26),来确定所述可执行程序(12)是否被允许访问所述数据文件(24),并且如果所述可执行程序(12)被允许访问所述数据文件(24),则所述文件系统模块(18)允许所述可执行程序(12)访问所述数据文件(24),而如果所述可执行程序(12)未被允许访问所述数据文件(24),则禁止所述可执行程序(12)访问所述数据文件(24)。
12.根据权利要求11所述的计算环境(10、30),其中所述持久性介质(22)包括证书库(28),并且所述可执行程序(12)的完整性通过将计算的可执行程序身份与通过采用存储于所述证书库(28)中的公共密钥对存储的可执行程序签名(68)进行解密而形成的可执行程序身份相比较来验证。
13.根据权利要求12所述的计算环境(10、30),其中所述基于可执行程序身份的访问控制列表(26)存储在与所述数据文件(24)相关联的策略元数据(70)中,同时所述基于可执行程序身份的访问控制列表(26)存储标识所述可执行程序(12)的可执行程序身份(76、78)。
14.根据权利要求13所述的计算环境(10、30),其中存储的策略签名(72)与所述基于可执行程序身份的访问控制列表(26)相关联,并且基于可执行程序身份的访问策略通过将采用所述证书库(28)中存储的公共密钥所解密的存储的策略签名(72)与应用于所述基于可执行程序身份的访问控制列表(26)的哈希函数的结果相比较来验证。
15.根据权利要求12所述的计算环境(10、30),其中签名工具(14)和访问策略工具(16)也由所述CPU(34)从所述内存(38)中执行,所述签名工具(14)创建所述可执行程序(12)的存储的可执行程序签名(68),并且所述访问策略工具(16)通过将所述可执行程序身份(66)存储在所述基于可执行程序身份的访问控制列表(26)中,来定义所述数据文件(24)的基于可执行程序身份的文件访问策略。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2010/023895 WO2011099972A1 (en) | 2010-02-11 | 2010-02-11 | Executable identity based file access |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102812473A true CN102812473A (zh) | 2012-12-05 |
Family
ID=44368017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010800637768A Pending CN102812473A (zh) | 2010-02-11 | 2010-02-11 | 基于可执行程序身份的文件访问 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20120310983A1 (zh) |
EP (1) | EP2534604A4 (zh) |
CN (1) | CN102812473A (zh) |
WO (1) | WO2011099972A1 (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678993A (zh) * | 2013-11-26 | 2014-03-26 | 小米科技有限责任公司 | 一种对终端进行控制的方法和装置 |
CN103840935A (zh) * | 2013-12-31 | 2014-06-04 | 技嘉科技股份有限公司 | 开放系统之函式库的加密及解密方法 |
CN104243604A (zh) * | 2014-09-28 | 2014-12-24 | 北京奇虎科技有限公司 | 一种文件禁用的方法及装置 |
CN104657679A (zh) * | 2015-03-03 | 2015-05-27 | 浪潮电子信息产业股份有限公司 | 一种基于ntfs备选数据流存储文件hash的方法 |
CN104866778A (zh) * | 2015-01-30 | 2015-08-26 | 武汉华工安鼎信息技术有限责任公司 | 一种基于Linux内核的文档安全访问控制方法和装置 |
WO2016095489A1 (zh) * | 2014-12-18 | 2016-06-23 | 中兴通讯股份有限公司 | 一种可执行模块的提供、加载方法、终端、存储介质 |
CN107786504A (zh) * | 2016-08-26 | 2018-03-09 | 腾讯科技(深圳)有限公司 | Elf文件发布方法、elf文件校验方法、服务器及终端 |
CN110084057A (zh) * | 2019-03-13 | 2019-08-02 | 浙江大华技术股份有限公司 | 重要文件的安全访问方法、装置、设备和存储介质 |
CN110741650A (zh) * | 2017-07-18 | 2020-01-31 | 谷歌有限责任公司 | 用于保护和验证视频文件的方法、系统和介质 |
CN111259348A (zh) * | 2020-02-20 | 2020-06-09 | 国网信息通信产业集团有限公司 | 一种安全运行可执行文件的方法及系统 |
CN112292678A (zh) * | 2019-01-04 | 2021-01-29 | 百度时代网络技术(北京)有限公司 | 用于验证将要由主机系统的数据处理加速器执行的内核对象的方法与系统 |
CN112905978A (zh) * | 2021-02-20 | 2021-06-04 | 成都新希望金融信息有限公司 | 权限管理方法和装置 |
CN113056739A (zh) * | 2018-09-27 | 2021-06-29 | 兰迪斯+盖尔创新有限公司 | 到瞬态、非持久性存储电路中的文件系统的验证和安装 |
CN114692161A (zh) * | 2020-12-30 | 2022-07-01 | 观致汽车有限公司 | 软件更新方法、车辆控制器、服务器和车辆 |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8914857B2 (en) | 2012-11-21 | 2014-12-16 | Wal-Mart Stores, Inc. | Security bypass environment for circumventing a security application in a computing environment |
EP2951676B1 (en) * | 2013-01-29 | 2020-12-30 | BlackBerry Limited | Managing application access to data |
US20150101065A1 (en) * | 2013-10-04 | 2015-04-09 | Bio-Key International, Inc. | User controlled data sharing platform |
US20220398634A1 (en) * | 2013-12-02 | 2022-12-15 | Groupon, Inc. | Method and apparatus for providing promotion vouchers |
US11386465B1 (en) * | 2013-12-02 | 2022-07-12 | Groupon, Inc. | Method and apparatus for providing promotion vouchers |
US9692763B2 (en) | 2014-02-12 | 2017-06-27 | International Business Machines Corporation | Document event notifications based on document access control lists |
US10341210B2 (en) * | 2014-03-12 | 2019-07-02 | Rakuten, Inc. | Data registration system, data registration method, program and non-transitory recording medium |
US10404708B2 (en) * | 2015-06-03 | 2019-09-03 | Secure Circle, Llc | System for secure file access |
KR102466412B1 (ko) * | 2016-01-14 | 2022-11-15 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
US10693660B2 (en) * | 2017-01-05 | 2020-06-23 | Serge Vilvovsky | Method and system for secure data storage exchange, processing, and access |
WO2018129658A1 (zh) * | 2017-01-10 | 2018-07-19 | 深圳怡化电脑股份有限公司 | 验证上层应用身份的方法、自助终端及应用服务器 |
CN107358118B (zh) * | 2017-07-03 | 2020-06-09 | 中兴通讯股份有限公司 | Sfs访问控制方法及系统、sfs及终端设备 |
US11487868B2 (en) * | 2017-08-01 | 2022-11-01 | Pc Matic, Inc. | System, method, and apparatus for computer security |
US10873588B2 (en) * | 2017-08-01 | 2020-12-22 | Pc Matic, Inc. | System, method, and apparatus for computer security |
US10970410B2 (en) * | 2017-10-26 | 2021-04-06 | Lawrence Livermore National Security, Llc | Accessing protected data by a high-performance computing cluster |
US10956241B1 (en) * | 2017-12-20 | 2021-03-23 | Xilinx, Inc. | Unified container for hardware and software binaries |
US11301295B1 (en) | 2019-05-23 | 2022-04-12 | Xilinx, Inc. | Implementing an application specified as a data flow graph in an array of data processing engines |
US10891132B2 (en) | 2019-05-23 | 2021-01-12 | Xilinx, Inc. | Flow convergence during hardware-software design for heterogeneous and programmable devices |
US11188312B2 (en) | 2019-05-23 | 2021-11-30 | Xilinx, Inc. | Hardware-software design flow with high-level synthesis for heterogeneous and programmable devices |
US10891414B2 (en) | 2019-05-23 | 2021-01-12 | Xilinx, Inc. | Hardware-software design flow for heterogeneous and programmable devices |
US10977018B1 (en) | 2019-12-05 | 2021-04-13 | Xilinx, Inc. | Development environment for heterogeneous devices |
US11496418B1 (en) | 2020-08-25 | 2022-11-08 | Xilinx, Inc. | Packet-based and time-multiplexed network-on-chip |
US11520717B1 (en) | 2021-03-09 | 2022-12-06 | Xilinx, Inc. | Memory tiles in data processing engine array |
US11336287B1 (en) | 2021-03-09 | 2022-05-17 | Xilinx, Inc. | Data processing engine array architecture with memory tiles |
US11848670B2 (en) | 2022-04-15 | 2023-12-19 | Xilinx, Inc. | Multiple partitions in a data processing array |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6389540B1 (en) * | 1998-02-26 | 2002-05-14 | Sun Microsystems, Inc. | Stack based access control using code and executor identifiers |
US20050091658A1 (en) * | 2003-10-24 | 2005-04-28 | Microsoft Corporation | Operating system resource protection |
CN1674531A (zh) * | 2004-03-23 | 2005-09-28 | 株式会社Ntt都科摩 | 访问控制系统及访问控制方法 |
CN1947104A (zh) * | 2004-04-21 | 2007-04-11 | 株式会社Ntt都科摩 | Ic卡及其访问控制方法 |
CN101131726A (zh) * | 2006-08-25 | 2008-02-27 | 三星电子株式会社 | 防止可执行程序的调变的方法和设备 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5825877A (en) * | 1996-06-11 | 1998-10-20 | International Business Machines Corporation | Support for portable trusted software |
CA2256936C (en) * | 1998-12-23 | 2002-04-02 | Hamid Bacha | System for electronic repository of data enforcing access control on data search and retrieval |
CA2287871C (en) * | 1999-11-01 | 2007-07-31 | Ibm Canada Limited-Ibm Canada Limitee | Secure document management system |
GB0003920D0 (en) * | 2000-02-21 | 2000-04-05 | Ncipher Corp Limited | Computer system |
US8166565B1 (en) * | 2004-07-29 | 2012-04-24 | Parallels IP Holdings GmbH | Encryption and access method and system for peer-to-peer distributed file storage |
JP4516399B2 (ja) * | 2004-10-08 | 2010-08-04 | フェリカネットワークス株式会社 | 情報処理装置および方法、並びにプログラム |
US7802294B2 (en) * | 2005-01-28 | 2010-09-21 | Microsoft Corporation | Controlling computer applications' access to data |
US7810153B2 (en) * | 2005-01-28 | 2010-10-05 | Microsoft Corporation | Controlling execution of computer applications |
US7984066B1 (en) * | 2006-03-30 | 2011-07-19 | Emc Corporation | Mandatory access control list for managed content |
KR100879808B1 (ko) * | 2006-12-11 | 2009-01-22 | 소프트캠프(주) | 파일서버로의 접근 통제시스템 |
US20080147667A1 (en) * | 2006-12-15 | 2008-06-19 | Samsung Electronics Co., Ltd. | Data management apparatus and data management method thereof |
US8424077B2 (en) * | 2006-12-18 | 2013-04-16 | Irdeto Canada Corporation | Simplified management of authentication credentials for unattended applications |
US8086637B1 (en) * | 2006-12-22 | 2011-12-27 | Emc Corporation | Access control for business process data |
US8621605B2 (en) * | 2007-10-09 | 2013-12-31 | International Business Machines Corporation | Method for reducing the time to diagnose the cause of unexpected changes to system files |
US20090300599A1 (en) * | 2008-05-30 | 2009-12-03 | Matthew Thomas Piotrowski | Systems and methods of utilizing virtual machines to protect computer systems |
US20100241668A1 (en) * | 2009-03-17 | 2010-09-23 | Microsoft Corporation | Local Computer Account Management at Domain Level |
-
2010
- 2010-02-11 WO PCT/US2010/023895 patent/WO2011099972A1/en active Application Filing
- 2010-02-11 US US13/577,174 patent/US20120310983A1/en not_active Abandoned
- 2010-02-11 EP EP10845912.4A patent/EP2534604A4/en not_active Withdrawn
- 2010-02-11 CN CN2010800637768A patent/CN102812473A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6389540B1 (en) * | 1998-02-26 | 2002-05-14 | Sun Microsystems, Inc. | Stack based access control using code and executor identifiers |
US20050091658A1 (en) * | 2003-10-24 | 2005-04-28 | Microsoft Corporation | Operating system resource protection |
CN1674531A (zh) * | 2004-03-23 | 2005-09-28 | 株式会社Ntt都科摩 | 访问控制系统及访问控制方法 |
CN1947104A (zh) * | 2004-04-21 | 2007-04-11 | 株式会社Ntt都科摩 | Ic卡及其访问控制方法 |
CN101131726A (zh) * | 2006-08-25 | 2008-02-27 | 三星电子株式会社 | 防止可执行程序的调变的方法和设备 |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678993A (zh) * | 2013-11-26 | 2014-03-26 | 小米科技有限责任公司 | 一种对终端进行控制的方法和装置 |
CN103678993B (zh) * | 2013-11-26 | 2016-09-21 | 小米科技有限责任公司 | 一种对终端进行控制的方法和装置 |
CN103840935A (zh) * | 2013-12-31 | 2014-06-04 | 技嘉科技股份有限公司 | 开放系统之函式库的加密及解密方法 |
CN103840935B (zh) * | 2013-12-31 | 2018-01-30 | 技嘉科技股份有限公司 | 开放系统之函式库的加密及解密方法 |
CN104243604A (zh) * | 2014-09-28 | 2014-12-24 | 北京奇虎科技有限公司 | 一种文件禁用的方法及装置 |
WO2016095489A1 (zh) * | 2014-12-18 | 2016-06-23 | 中兴通讯股份有限公司 | 一种可执行模块的提供、加载方法、终端、存储介质 |
WO2016095566A1 (zh) * | 2014-12-18 | 2016-06-23 | 中兴通讯股份有限公司 | 一种可执行模块的提供、加载方法及终端 |
CN105787352A (zh) * | 2014-12-18 | 2016-07-20 | 中兴通讯股份有限公司 | 一种可执行模块的提供、加载方法及终端 |
CN104866778A (zh) * | 2015-01-30 | 2015-08-26 | 武汉华工安鼎信息技术有限责任公司 | 一种基于Linux内核的文档安全访问控制方法和装置 |
CN104657679A (zh) * | 2015-03-03 | 2015-05-27 | 浪潮电子信息产业股份有限公司 | 一种基于ntfs备选数据流存储文件hash的方法 |
CN107786504A (zh) * | 2016-08-26 | 2018-03-09 | 腾讯科技(深圳)有限公司 | Elf文件发布方法、elf文件校验方法、服务器及终端 |
CN107786504B (zh) * | 2016-08-26 | 2020-09-04 | 腾讯科技(深圳)有限公司 | Elf文件发布方法、elf文件校验方法、服务器及终端 |
CN110741650A (zh) * | 2017-07-18 | 2020-01-31 | 谷歌有限责任公司 | 用于保护和验证视频文件的方法、系统和介质 |
CN110741650B (zh) * | 2017-07-18 | 2022-04-12 | 谷歌有限责任公司 | 用于存储和验证视频流的方法、系统和介质 |
US11368438B2 (en) | 2017-07-18 | 2022-06-21 | Google Llc | Methods, systems, and media for protecting and verifying video files |
US11750577B2 (en) | 2017-07-18 | 2023-09-05 | Google Llc | Methods, systems, and media for protecting and verifying video files |
CN113056739A (zh) * | 2018-09-27 | 2021-06-29 | 兰迪斯+盖尔创新有限公司 | 到瞬态、非持久性存储电路中的文件系统的验证和安装 |
CN113056739B (zh) * | 2018-09-27 | 2024-06-11 | 兰迪斯+盖尔科技股份有限公司 | 用于减轻安全漏洞的方法和计算机可读介质及验证文件系统的系统 |
CN112292678A (zh) * | 2019-01-04 | 2021-01-29 | 百度时代网络技术(北京)有限公司 | 用于验证将要由主机系统的数据处理加速器执行的内核对象的方法与系统 |
CN110084057A (zh) * | 2019-03-13 | 2019-08-02 | 浙江大华技术股份有限公司 | 重要文件的安全访问方法、装置、设备和存储介质 |
CN111259348A (zh) * | 2020-02-20 | 2020-06-09 | 国网信息通信产业集团有限公司 | 一种安全运行可执行文件的方法及系统 |
CN114692161A (zh) * | 2020-12-30 | 2022-07-01 | 观致汽车有限公司 | 软件更新方法、车辆控制器、服务器和车辆 |
CN112905978A (zh) * | 2021-02-20 | 2021-06-04 | 成都新希望金融信息有限公司 | 权限管理方法和装置 |
CN112905978B (zh) * | 2021-02-20 | 2023-06-06 | 成都新希望金融信息有限公司 | 权限管理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
EP2534604A1 (en) | 2012-12-19 |
EP2534604A4 (en) | 2013-12-04 |
US20120310983A1 (en) | 2012-12-06 |
WO2011099972A1 (en) | 2011-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102812473A (zh) | 基于可执行程序身份的文件访问 | |
KR102084674B1 (ko) | 블록체인 기반 컨텐츠 관리 방법 및 상기 방법을 수행하는 시스템 | |
AU2017201867B2 (en) | Secure 3d model sharing using distributed ledger | |
CN101361076B (zh) | 用于媒体内容的安全存储和传递的移动存储器系统 | |
US8707404B2 (en) | System and method for transparently authenticating a user to a digital rights management entity | |
CN102073826B (zh) | 利用轻量级数字水印添加组件的数字版权管理的系统和方法 | |
US7661146B2 (en) | Method and system for providing a secure multi-user portable database | |
US9959583B2 (en) | Secure content distribution system | |
AU2013201602B2 (en) | Registry | |
US8539233B2 (en) | Binding content licenses to portable storage devices | |
CN113632125A (zh) | 使用非接触式卡安全地共享存储在区块链中的个人数据 | |
CN108389059A (zh) | 基于权属的数字版权作品保护、交易和发行方法及系统 | |
US10007803B2 (en) | Searching over encrypted keywords in a database | |
US20130132733A1 (en) | System And Method For Digital Rights Management With System Individualization | |
JP2005536951A (ja) | デジタル機器においてデジタル文書にセキュリティ保護を施す装置、システムおよび方法 | |
CN101925913A (zh) | 加密文件访问的方法和系统 | |
CN113169866A (zh) | 使用同时密钥发布来防止共谋的技术 | |
CN115033919A (zh) | 一种基于可信设备的数据获取方法、装置及设备 | |
US20100218239A1 (en) | Digital Content Counting System and Method | |
CN110443047B (zh) | 数据交换群组系统及方法 | |
US20050060544A1 (en) | System and method for digital content management and controlling copyright protection | |
Xu et al. | Blockchain-based transparency framework for privacy preserving third-party services | |
TWI444849B (zh) | 透過伺服器驗證並授權解密以監控個資檔案之系統及方法 | |
KR20140050257A (ko) | 디지털 정보 상속 방법 | |
Ramani et al. | Blockchain for digital rights management |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20121205 |