CN102236750A - 在云存储系统中进行权限控制的方法和装置 - Google Patents
在云存储系统中进行权限控制的方法和装置 Download PDFInfo
- Publication number
- CN102236750A CN102236750A CN2010101633056A CN201010163305A CN102236750A CN 102236750 A CN102236750 A CN 102236750A CN 2010101633056 A CN2010101633056 A CN 2010101633056A CN 201010163305 A CN201010163305 A CN 201010163305A CN 102236750 A CN102236750 A CN 102236750A
- Authority
- CN
- China
- Prior art keywords
- files
- blocks
- file
- data
- authority information
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- 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/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/80—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/80—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors
- G06F21/805—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors using a security table for the storage sub-system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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/2143—Clearing memory, e.g. to prevent the data from being stolen
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/102—Entity profiles
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了在云存储系统中进行权限控制的方法和装置。所述方法包括:接收对文件块的访问请求,其中所述文件块嵌入有至少包括文件块权限信息的标签数据;读取文件块;从所述标签数据中提取所述文件块权限信息;判断所述访问请求是否匹配所述文件块权限信息;以及在所述访问请求匹配所述文件块权限信息的情况下,执行所述访问请求。根据本发明的技术方案,可以在云存储系统中进行有效地权限控制。
Description
技术领域
本发明涉及云存储领域。更具体地说,涉及在云存储系统中进行权限控制的方法和装置。
背景技术
一个安全的多用户存储系统需要实施权限控制,使得用户只能访问其有权限访问的文件。这里的访问是一个广义的概念,包括对文件进行的诸如读、写、复制、删除等的任何操作。在传统的多用户存储系统中,文件系统维护权限信息,以便记录用户或用户组可以访问哪些文件,或者文件可以被哪些用户或用户组访问。所述权限信息通常以访问控制列表的形式保存在所述存储系统中,访问控制列表包括用户ID——文件ID——访问权限的三元组。在某用户试图对某文件进行访问时,文件系统根据用户ID和文件ID查找所述访问控制列表,得到对应的权限,从而判断该用户是否有权限对该文件进行该访问操作。除了上述的在线权限控制之外,还可以进行离线的权限控制。用户对文件的任何访问都会被记录在访问日志中,离线的权限控制即通过查看访问日志确定是否曾经发生过违反访问权限的访问。
与传统的多用户存储系统将一个文件存储在一个物理存储节点上不同,云存储系统将文件分割为若干个文件块,这些文件块可能被存储在构成云存储系统的不同的物理存储节点上。云存储系统的管理节点,例如命名节点(namenode),记录一个文件被分割成了多少个文件块以及这些文件块的存储位置。这些信息称为映射信息。云存储系统的管理员一般可以读取所述映射信息。对于云存储的用户而言,文件块的存储位置是被屏蔽的,即云存储的用户只知道将文件存储在了云存储系统中。当用户需要访问文件时,云存储系统的管理节点根据记录,从构成文件的文件块的存储位置读取这些文件块提供给用户。如果用户需要访问的是整个文件,那么云存储系统的管理节点将这些文件块合并成文件后提供给用户;如果用户需要访问的是文件的一部分,那么云存储管理系统可以只读取对应于所述一部分的文件块提供给用户。由此可见,云存储系统不同于以往的传统存储系统。因此,需要一种针对云存储系统的特点而进行权限控制的解决方案。
发明内容
有鉴于此,本发明实施例提供了在云存储系统中进行权限控制的方法和装置。
本发明实施例提供了一种对文件块访问进行权限控制的方法,包括:接收对文件块的访问请求,其中所述文件块嵌入有至少包括文件块权限信息的标签数据;读取文件块;从所述标签数据中提取所述文件块权限信息;判断所述访问请求是否匹配所述文件块权限信息;以及在所述访问请求匹配所述文件块权限信息的情况下,执行所述访问请求。
本发明实施例提供了一种对文件块访问进行权限控制的装置,包括:接收模块,配置为接收对文件块的访问请求,其中所述文件块嵌入有至少包括文件块权限信息的标签数据;读取模块,配置为读取文件块;提取模块,配置为从所述标签数据中提取所述文件块权限信息;判断模块,配置为判断所述访问请求是否匹配所述文件块权限信息;以及执行模块,配置为在所述访问请求匹配所述文件块权限信息的情况下,执行所述访问请求。
按照根据本发明实施例的技术方案,由于所述文件块本身带有文件块权限信息,因此可以对诸如备份操作的文件块操作进行权限控制,解决了传统的权限控制方法无法对于备份操作这种访问类型进行权限控制的问题。此外,本发明实施例进一步提出了具体的嵌入所述文件块权限信息的方法,使得该技术方案在实现时具有更好的性能。
附图说明
图1是根据本发明实施例的在生成文件块时的方法。
图2示出用户修改前后文件块的变化。
图3是根据本发明实施例的在用户修改后的处理流程。
图4示出用户修改前后文件块的变化。
图5是根据本发明实施例的在访问文件块时的方法。
图6是根据本发明实施例的对文件块访问进行权限控制的装置。
具体实施方式
下面参照附图来说明本发明的实施例。在下面的说明中,阐述了许多具体细节以便更全面地了解本发明。但是,本技术领域技术人员容易理解,本发明的实现可不具有这些具体细节中的一些,并且本发明并不限于所介绍的特定实施例。相反,可以考虑用下面的特征和要素的任意组合来实施本发明,而无论它们是否涉及不同的实施例。因此,下面的方面、特征、实施例和优点仅作说明之用而不应被看作是所附权利要求的要素或限定,除非权利要求中明确提出。还需要说明的一点是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的装置结构和/或处理步骤,而省略了与本发明关系不大的其他细节。此外,除非刻意地使用“直接”或者“间接”加以限定,否则本申请文件中的连接既包括直接连接,也包括间接地连接。
在云存储系统中,为了尽可能地降低数据丢失的可能,备份操作是必须的。如前所述,文件在云存储系统中被分割成若干文件块,这些文件块可能位于不同的物理存储节点上。因此,备份操作实际上是以文件块为基础来进行的,而并非以文件为基础来进行的。更具体地说,一次备份操作可能会备份属于不同文件的多个文件块,而统一文件的各文件块可能在不同的备份操作中进行备份。如前所述,传统的权限控制方法是基于文件的。更具体地说,根据权限信息只能得到用户或用户组可以访问哪些文件,或者文件可以被哪些用户或用户组访问,而不能得到用户或用户组可以访问哪些文件块,或者文件块可以被哪些用户或用户组访问。因此,在云存储系统中,传统的权限控制方法无法对于备份操作这种访问类型进行权限控制。
备份操作通常由云存储系统的管理软件自动完成,但是也可以由云存储系统的管理员手动完成。如前所述,管理员还可以读取映射信息。考虑以下这种情况:云存储系统的管理员首先根据映射信息,确定一个文件的各个文件块的存储位置;然后该管理员按照手动备份过程或者调整自动备份的策略,将这些文件块复制连接于云存储系统以外的一个非受控存储系统,或者先将文件块从云存储系统的高安全等级区域复制到低安全等级区域,再复制到非受控存储系统;在非受控存储系统中,这些文件块被组合成为文件。由于传统的权限控制方法并不能对云存储系统中的备份操作进行权限控制,因此该管理员的上述行为不会被传统的权限控制方法检测为非法访问。本领域技术人员可以理解,云存储系统中的权限控制方法不会对所述非受控存储系统起作用。这样,管理员就得到了一份该文件的副本,从而影响了云存储系统的安全性。
以上以备份操作为例,描述了传统的权限控制方法的漏洞。本领域技术人员可以了解,只要某个操作是以文件块为基础而不是以文件为基础的,传统的权限控制方法就不能对这一操作进行权限控制。
一种简单直观的解决方法是对文件进行加密后再分割为文件块,或者是在分割为文件块后对各文件块进行加密。但是,这一解决方法对云存储系统和用户而言都会带来较大的负担。加密操作需要大量消耗大量的硬件资源,而让用户每次访问文件都输入密码会严重影响用户的体验。
下面首先参照图1描述根据本发明实施例的权限控制的方法在生成文件块时的步骤。
在步骤101,将文件数据写入文件块缓冲器,直到文件缓冲器被填满。
如前所述,在云存储系统中,文件被分割为若干个文件块后存储在构成云存储系统的不同的物理存储节点上。如下面所详细描述的,根据本发明实施例生成的文件块不仅包括文件数据,还包括标签数据。因此步骤101实际上是准备用于一个文件块的文件数据。
一般来说,云存储系统采用固定数据量的文件块以便于管理。本领域技术人员也可以采用任何其他的确定文件块数据量的方法,例如根据某些参数自适应地调整文件块的数据量。为了简单起见,下面以固定数据量的文件块为例进行描述。
步骤102,生成标签数据,标签数据至少包括文件块权限信息。
本领域技术人员可以想到很多方法来设计所述文件块权限信息的格式。例如,文件块权限信息可以记载文件块所有者的用户ID,其中文件块的所有者一般可以该文件块进行任何操作,而非文件块所有者只能根据对该文件块进行某些特定的操作,甚至不能进行操作。文件块权限信息还可以记录非文件所有者的其他用户对该文件块的访问权限,从而规定哪些用户可以对该文件块进行哪些操作。与传统的访问控制列表不同,文件块权限信息可以仅记录用户ID——访问权限的二元组。
文件块权限信息还可以记录该文件块的安全等级,其中所述安全等级对文件块可以存储于或者复制到的区域进行了限制,使得文件块只能存储于具有规定安全等级或者更高安全等级的区域,同时也使得文件块只能被复制到具有规定安全等级或者更高安全等级的区域。这样,如果试图将文件块复制到具有更低安全等级的区域,该操作就会被认定为非法访问。这样,云存储系统的管理员就不能将这些文件块复制连接于云存储系统以外的一个非受控存储系统,或者先将文件块从云存储系统的高安全等级区域复制到低安全等级区域,再复制到非受控存储系统。
将文件块权限信息作为标签嵌入在文件块中,可以在执行基于文件块的操作前,根据所嵌入的文件块权限信息判断该操作是否符合该文件块权限信息的规定。但是,所嵌入的文件块权限信息可能被篡改,从而导致在根据篡改后的文件块权限信息不能进行正确的权限控制。
根据本发明的一个实施例,所述标签信息进一步包括摘要信息。这里所说的摘要指的是按照一定的算法对自变量信息进行散列计算而生成的一组因变量信息。当自变量信息变化后,因变量信息也发生变化。以所述文件块权限信息为自变量信息,生成的摘要就可以对所述文件块权限信息提供完整性保护。当然,也可以对文件数据和文件块权限信息合并后得到的数据计算摘要。如何生成摘要是本领域的公知常识,例如可以采用SHA-1、MD5、HAVAL-128、MD4和RIPEMD等算法,在此不再赘述。
步骤103,将标签数据与文件缓冲器中的文件数据合并形成文件块。
容易理解,标签数据的数据量和文件缓冲器的数据量加起来应该等于文件块的数据量。在标签数据的内容和格式固定以后,标签数据的数据量就是固定的。在采用固定数据量的文件块的场合,文件缓冲器的数据量就是文件块的数据量减去标签数据的数据量。换句话说,文件缓冲器的数据量可以根据文件块的数据量和标签数据的数据量进行调节的。
由于嵌入文件块中的标签数据需要在对文件块进行操作时作为权限控制的依据,因此其必须能够被进行权限控制的模块识别。换句话说,需要以某种方式在文件块中标识出所述标签数据。有两种方法可以用于在文件块中标识出所述标签数据。一种方法是,采用固定比特串来标识所述标签数据,使得进行权限控制的模块通过扫描所述文件块,在检测到所述固定比特串后就认为找到了标签数据。这种方法的好处是在嵌入标签数据时具有更大的灵活性。另一种方法是,将所述标签数据嵌入到文件块的固定位置,使得进行权限控制的模块可以在文件块的所述位置找到标签数据。这种方法的好处是可以避免向文件块中加入额外的数据。
步骤104,将文件块存储在物理存储节点上,并且设置相关记录。
需要设置的记录例如包括所述映射信息。
概括地说,步骤101到104就是在生成文件块时,在文件块中嵌入文件块权限信息。
根据本发明的一个实施例,当有权限对文件进行操作的用户,例如文件所有者,需要对文件操作时,云存储系统根据映射信息,从物理存储节点上读取构成文件的文件块,从文件块中剥离标签数据,然后将剩下的文件数据合并成文件后提供给用户;在用户对文件的操作结束后,又按照步骤101到104将文件分割成嵌有标签数据的文件块后存储在物理存储节点上。这样,用户每次访问文件,都需要执行上述合并和分割,对每一个文件块都需要执行上述剥离和嵌入,从而增加了云存储系统的负担。
根据本发明的另一个实施例,仅仅针对用户需要访问的文件数据所在文件块进行上述剥离和嵌入操作。显然,这样可以减轻云存储系统的负担。但是,由于云存储系统的固有机制,这一方案可能会与将标签数据嵌入到文件块固定位置的方案发生冲突。具体而言,如果仅针对用户需要访问的文件数据所在文件块进行上述剥离和嵌入操作,用户对文件的修改可能会导致标签数据不再位于文件块的固定位置。以下参照图2(A)至图2(C)进行详细地分析。
图2(A)示出了用户向文件块增加文件数据前后文件块的变化以便描述所述云存储系统的固有机制。在这里,假设文件包括两个文件块,即第一文件块和第二文件块。文件块的数据量是固定的,即四个数据单元。这里的数据单元的大小可以是任意设置的,例如一个数据单元可以是4M、16M,也可以是一个字节等。如图2(A)所示,在用户修改前,该文件的数据量为7个数据单元,其中第一文件块包括4个数据单元,第二文件块包括3个数据单元。用户的修改为在第二数据单元和第三数据单元之间加入了第八数据单元。根据云存储系统的固有机制,文件数据在文件块中必须是连续存放的,因此第八数据单元不仅在逻辑上位于第二数据单元和第三数据单元之间,在文件块中的位置也必须位于第二数据单元和第三数据单元之间。由于文件块的数据量固定为四个数据单元,因此原来位于第一文件块最后部的第四数据单元被“挤出”到第二文件块,并且位于第二文件块的最前部。
图2(B)示出了在这一固有机制下,如果仅针对用户需要访问的文件数据所在文件块进行上述剥离和嵌入操作,用户对文件的修改如何导致标签数据不再位于文件块的固定位置。图2(B)与图2(A)类似,所不同的是,文件块的数据量固定为五个数据单元。此外,假设文件块中带有的标签数据的数据量为一个数据单元。按照图2(A)所描述的原理,如果用户在第二数据单元和第三数据单元之间加入了第八数据单元。那么根据云存储系统的固有机制,原来位于第一文件块最后部的第四数据单元被“挤出”到第二文件块。由于并未针对第二文件块进行剥离和嵌入操作,因此第二文件块的标签数据只是被当作是普通的一个数据单元,那么第四数据单元被“挤出”到第二文件块后并不是位于第二文件块的标签数据之后,而是位于第二文件块的最前部。这样,标签数据不再位于第二文件块的最前部。
同理,如图2(C)所示,如果用户在第一文件块的文件数据中删除了第四数据单元,那么第二文件块中的标签数据就会作为一个数据单元被“吸入”到第一文件块,从而造成第二文件块不包括标签数据。
本领域技术人员可以理解,如果该文件包括第三文件块,那么在修改前所述第二文件块就没有所述空白。在修改后,不仅第二文件块的标签数据不再位于文件块的最前部,第三文件块的标签数据也不再位于文件块的最前部。推而广之,如果修改造成了一个文件块中文件数据的数据量发生了变化,那么这个文件块之后的所有文件块的标签数据都不再位于该文件块的最前部。这里所谓第一文件块在第二文件块之后指的是,第一文件块中的文件数据在对应的文件中的位置相比第二文件块中的文件数据在对应的文件中的位置而言,更靠近文件的末尾。
为了解决这一问题,根据本发明的一个实施例,可以采取如图3所示的方法。
在步骤301,用户对当前文件块中文件数据的修改结束。
这里,当前文件块指的是用户所访问的文件数据所在的文件块。当前文件块可以是一个文件块,也可以是两个以上的文件块。
步骤302,判断用户对文件的修改是否导致当前文件块中文件数据的数据量发生变化,如果发生了变化,则进入步骤304,否则进入步骤303。
步骤303,由于用户对文件的修改并未导致当前文件块中文件数据的数据量发生变化,因此不会造成其他文件块的标签数据的位置发生变化。此时只要将用户修改后的文件数据与标签数据合并为作为更新后的当前文件块存储起来即可。
步骤304到305,如果用户对文件的修改导致当前文件块中文件数据的数据量发生了变化,如前所示,当前文件块之后的各文件块的标签数据位置都会发生变化。为了避免这一变化,将当前文件块以及当前文件块之后的各文件块中的文件数据合并,然后对合并后的文件数据按照步骤101到步骤104进行处理。
根据本发明的另一个实施例,可以采用在文件块中周期性嵌入标签数据的方法来解决以上问题。如图4所示,每两个数据单元中,有一个是标签数据,则所述周期为两个数据单元,因此所述周期为两个数据单元,由粗边框表示。除了在文件块中周期性地嵌入标签数据以外,还需要规定必须以所述周期为最小单位进行所述“挤出”和“吸入”操作。这样,如图所示,用户在第一数据单元和第二数据单元之间增加了第四数据单元,但是由于第二数据单元和以及被第二数据单元所紧跟的标签数据一起被“挤出”到第二文件块,使得第一文件块和第二文件块中标签数据的位置都没有发生变化。
事实上,在图2(A)-(C)中,在文件块的固定位置嵌入一个标签数据是当所述周期等于文件块的数据量时的极端情况。但是,在图2(A)-(C)中,进行所述“挤出”和“吸入”的最小单位并不是所述周期,因此在图2(A)-(C)中不能确保文件块中的标签数据位置不发生变化。
下面描述如何设置所述周期。显然,所述周期应该不大于文件块的数据量。特别的,当文件块的数据量与所述周期的比是2的自然数次方时,在计算方面具有优势。其次,由于要以所述周期为最小单位进行“挤出”和“吸入”操作,因此所述周期还需要以文件块中文件数据的最小数据量变化单位相适应,具体而言,所述周期应该不大于文件块中文件数据的最小数据量变化单位。例如,假设文件数据的最小数据量变化单位是一个字节,即:用户如果要增加文件数据,则最少增加一个字节,用户如果要减少文件数据,则最少减少一个字节。在这种情况下,将所述周期设置为仅包括一字节、半字节(4比特)、四分之一字节(2比特)或八分之一字节(1比特)的文件数据都可以确保文件块中的标签位置不变。
在现实的云存储系统中,文件的类型多种多样,各种文件在被修改时文件数据的最小数据量变化单位往往是不一样的。因此,往往不能得到一个统一的值,其对于所有文件类型都能够保证文件块中标签数据的位置不变。此外,所述周期的设置还需要考虑另外一个因素——存储容量的利用效率。如果周期设置得太短,则文件块中存在过多标签数据,会使得存储容量的利用效率变低。
本发明的发明人通过研究发现,当所述文件块的数据量为固定时,采用四分之一文件块的数据量到十六分之一文件块的数据量作为所述周期,可以在确保文件块的标签数据位置不变与存储容量的利用效率之间达到较好的平衡。对于当前普遍采用的64M文件块,采用16M、8M或4M作为所述周期。当所述周期设置完成之后,对于一个特定的文件来说,即使用户对文件的修改增加或减少的文件数据的数据量小于所述周期,也需要以所述周期为最小单位进行所述“挤出”和“吸入”操作。
以上描述了如何在文件块中嵌入标签数据。图5描述了如何根据所述标签数据进行权限控制。
在步骤501-502,收到对文件块的访问请求并且读取文件块。
步骤503,判断从所读取的文件块中是否发现标签数据,如果发现标签数据则进入步骤504,否则进入步骤507。
如前所述,可以通过检测固定比特串或者在文件块固定位置进行查找的方式找到标签数据。如果没有找到标签数据,说明文件块权限信息被破坏,从而在步骤507报告非法访问。
步骤504,获取标签数据中的文件块权限信息。
步骤508和步骤509是可选的。如果在步骤102中生成的标签数据进一步包括文件块权限信息的摘要,那么从标签数据中提取所述摘要,并且比较文件块权限信息和摘要是否相符。如果不符,说明文件块权限信息被篡改,从而在步骤507报告非法访问。如何通过一段信息的摘要判断该信息是否被篡改是本领域的公知常识,在此不再赘述。
步骤505,判断所述访问请求是否符合所述文件块权限信息,如果符合则在步骤506执行所述访问请求,否则在步骤507报告非法访问。
可以从所述访问请求中获取操作的类型以及发出所述访问请求的用户ID。如前所述,文件块权限信息记录了用户ID——访问权限的二元组,因此根据操作的类型以及发出访问请求的用户ID,就可以判断该访问请求是否符合文件块权限信息。
特别地,如果文件块权限信息还记录了文件块的安全等级,那么可以根据所述安全等级识别出将文件块复制到具有更低安全等级的区域的企图,只要判断复制操作的目标区域的安全等级是否低于所指定的安全等级即可。
本领域技术人员可以理解,步骤507是可选地。步骤501-506,或者加上步骤508-509事实上已经可以防止对文件块的非法访问,换句话说,已经可以对文件块进行在线的权限控制。对非法访问的报告可以如图中步骤507所示,在发现非法访问时进行,也可以采取离线的方式进行。如前所述,用户对文件的任何访问都会被记录在访问日志中。同理,可以将用户对文件块的任何访问都记录在访问日志中。可以通过查看访问日志,比较访问日志中所记录的对文件块的操作是否与嵌入文件块中的文件块权限信息相符,从而确定是否曾经发生过对文件块的非法访问。
图6是根据本发明实施例的对文件块访问进行权限控制的装置,该装置包括:
接收模块601,配置为接收对文件块的访问请求,其中所述文件块嵌入有至少包括文件块权限信息的标签数据;
读取模块602,配置为读取文件块;
提取模块603,配置为从所述标签数据中提取所述文件块权限信息;
判断模块604,配置为判断所述访问请求是否匹配所述文件块权限信息;以及
执行模块605,配置为在所述访问请求匹配所述文件块权限信息的情况下,执行所述访问请求。
本领域的普通技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本实施例的用于处理物流信息的装置及其组件可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
虽然已经图示和描述了本发明的若干示例性实施例,不过本领域技术人员可以理解的是,在不偏离本发明原则和精神的前提下,可以对这些实施例进行改变,本发明的范围由权利要求书及其等价变换所限定。
Claims (16)
1.一种对文件块访问进行权限控制的方法,包括:
接收对文件块的访问请求,其中所述文件块嵌入有至少包括文件块权限信息的标签数据;
读取文件块;
从所述标签数据中提取所述文件块权限信息;
判断所述访问请求是否匹配所述文件块权限信息;以及
在所述访问请求匹配所述文件块权限信息的情况下,执行所述访问请求。
2.根据权利要求1所述的方法,其中所述文件块中周期性地嵌入有所述标签数据。
3.根据权利要求2所述的方法,其中所述周期是下列任何一个:
文件块数据量的四分之一、文件块数据量的八分之一和文件块数据量的十六分之一。
4.根据权利要求1或2所述的方法,其中所述标签数据进一步包括所述文件块权限信息的摘要信息。
5.根据权利要求4所述的方法,进一步包括:
提取所述摘要信息;
判断所述文件块权限信息是否与所述摘要信息相符;以及
在所述文件块权限信息与所述摘要信息相符的情况下,判断所述访问请求是否匹配所述文件块权限信息。
6.根据权利要求1或2所述的方法,其中所述文件块包括文件数据,并且所述文件块是文件的组成部分,执行所述访问请求包括:
将组成文件的文件块中的所述文件数据合并以便进行针对文件的操作;和
在所述针对文件的操作结束后,在将合并后的文件数据文件分割为文件块进行存储时,在文件块中嵌入所述标签数据。
7.根据权利要求6所述的方法,其中所述将组成文件的文件块中的所述文件数据合并成文件以便进行针对文件的操作包括:
确定所述针对文件的操作所涉及的文件块;以及
仅将所涉及的文件块中的所述文件数据合并以便进行针对文件的操作。
8.根据权利要求7所述的方法,进一步包括:
判断所述针对文件的操作是否引起所涉及的文件块中的文件数据的数据量变化;以及
在所述数据量变化的情况下,将所涉及的文件块及其之后的各文件块的文件数据合并。
9.一种对文件块访问进行权限控制的装置,包括:
接收模块,配置为接收对文件块的访问请求,其中所述文件块嵌入有至少包括文件块权限信息的标签数据;
读取模块,配置为读取文件块;
提取模块,配置为从所述标签数据中提取所述文件块权限信息;
判断模块,配置为判断所述访问请求是否匹配所述文件块权限信息;以及
执行模块,配置为在所述访问请求匹配所述文件块权限信息的情况下,执行所述访问请求。
10.根据权利要求9所述的装置,其中所述文件块中周期性地嵌入有所述标签数据。
11.根据权利要求10所述的装置,其中所述周期是下列任何一个:
文件块数据量的四分之一、文件块数据量的八分之一和文件块数据量的十六分之一。
12.根据权利要求9或10所述的装置,其中所述标签数据进一步包括所述文件块权限信息的摘要信息。
13.根据权利要求12所述的装置,进一步包括:
配置为提取所述摘要信息的模块;
配置为判断所述文件块权限信息是否与所述摘要信息相符的模块;以及
配置为在所述文件块权限信息与所述摘要信息相符的情况下,判断所述访问请求是否匹配所述文件块权限信息的模块。
14.根据权利要求9或10所述的装置,其中所述文件块包括文件数据,并且所述文件块是文件的组成部分,所述执行模块包括:
配置为将组成文件的文件块中的所述文件数据合并以便进行针对文件的操作的模块;和
配置为在所述针对文件的操作结束后,在将合并后的文件数据文件分割为文件块进行存储时,在文件块中嵌入所述标签数据的模块。
15.根据权利要求14所述的装置,其中所述配置为将组成文件的文件块中的所述文件数据合并成文件以便进行针对文件的操作的模块包括:
配置为确定所述针对文件的操作所涉及的文件块的模块;以及
配置为仅将所涉及的文件块中的所述文件数据合并以便进行针对文件的操作的模块。
16.根据权利要求15所述的装置,进一步包括:
配置为判断所述针对文件的操作是否引起所涉及的文件块中的文件数据的数据量变化的模块;以及
配置为在所述数据量变化的情况下,将所涉及的文件块及其之后的各文件块的文件数据合并的模块。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010163305.6A CN102236750B (zh) | 2010-04-29 | 2010-04-29 | 在云存储系统中进行权限控制的方法和装置 |
US13/096,589 US9158465B2 (en) | 2010-04-29 | 2011-04-28 | Performing authorization control in a cloud storage system |
US13/407,718 US9134912B2 (en) | 2010-04-29 | 2012-02-28 | Performing authorization control in a cloud storage system |
US14/827,280 US9507539B2 (en) | 2010-04-29 | 2015-08-15 | Performing authorization control in a cloud storage system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010163305.6A CN102236750B (zh) | 2010-04-29 | 2010-04-29 | 在云存储系统中进行权限控制的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102236750A true CN102236750A (zh) | 2011-11-09 |
CN102236750B CN102236750B (zh) | 2016-03-30 |
Family
ID=44859397
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010163305.6A Active CN102236750B (zh) | 2010-04-29 | 2010-04-29 | 在云存储系统中进行权限控制的方法和装置 |
Country Status (2)
Country | Link |
---|---|
US (3) | US9158465B2 (zh) |
CN (1) | CN102236750B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103324551A (zh) * | 2013-05-23 | 2013-09-25 | 广东欧珀移动通信有限公司 | 应用程序数据移植的方法和系统 |
CN103577503A (zh) * | 2012-08-10 | 2014-02-12 | 鸿富锦精密工业(深圳)有限公司 | 云端文件存储系统及方法 |
CN104094261A (zh) * | 2012-02-01 | 2014-10-08 | 国际商业机器公司 | 访问受限数据的优化处理方法 |
CN106355107A (zh) * | 2016-08-31 | 2017-01-25 | 天津南大通用数据技术股份有限公司 | 支持快速预判权限的集群数据加载工具及方法 |
WO2020034153A1 (zh) * | 2018-08-16 | 2020-02-20 | 朱小军 | 一种仿生数据细胞体 |
CN111739190A (zh) * | 2020-05-27 | 2020-10-02 | 深圳市元征科技股份有限公司 | 车辆诊断文件加密方法、装置、设备及存储介质 |
CN112423294A (zh) * | 2020-07-30 | 2021-02-26 | 深圳市纬嘉壹科技有限公司 | 一种基于5g终端的区块链记录方法 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8601263B1 (en) * | 2010-05-18 | 2013-12-03 | Google Inc. | Storing encrypted objects |
CN102521083B (zh) * | 2011-12-13 | 2015-04-29 | 广州杰赛科技股份有限公司 | 一种云计算系统中虚拟机备份方法和系统 |
CN103366129A (zh) * | 2012-03-26 | 2013-10-23 | 英顺源(重庆)科技有限公司 | 基于网络的数据文件控管系统及其数据文件控管方法 |
US9513803B2 (en) * | 2012-12-21 | 2016-12-06 | Intel Corporation | Tagging in a storage device |
CN104123290B (zh) * | 2013-04-25 | 2018-04-10 | 上海斐讯数据通信技术有限公司 | 基于云存储的文件操作方法 |
CN103544047B (zh) | 2013-10-25 | 2017-01-04 | 华为技术有限公司 | 云系统数据管理方法 |
US20150127770A1 (en) * | 2013-11-06 | 2015-05-07 | Pax8, Inc. | Distributed Cloud Disk Service Provisioning and Management |
CN106487770B (zh) | 2015-09-01 | 2019-07-30 | 阿里巴巴集团控股有限公司 | 鉴权方法及鉴权装置 |
CN106557269A (zh) * | 2015-09-29 | 2017-04-05 | 中兴通讯股份有限公司 | 存储云盘资源的方法和装置 |
CN106599320A (zh) * | 2016-12-30 | 2017-04-26 | 郑州云海信息技术有限公司 | 一种文件信息摘要值计算方法及装置 |
CN108664797A (zh) * | 2017-03-30 | 2018-10-16 | 北京北信源软件股份有限公司 | 一种针对pdf文档进行标密和校验的方法及装置 |
CN108509580B (zh) * | 2018-03-28 | 2021-06-18 | 浙江泛华工程咨询有限公司 | 一种工程监理资料管理方法和系统 |
CN112883421A (zh) * | 2020-09-05 | 2021-06-01 | 蔡春梅 | 基于云计算和区块链服务的信息防护方法及信息防护系统 |
CN114003963B (zh) * | 2021-12-30 | 2022-05-06 | 天津联想协同科技有限公司 | 一种企业网盘下文件授权的方法、系统、网盘及存储介质 |
US20230315881A1 (en) * | 2022-03-29 | 2023-10-05 | Acronis International Gmbh | Universal platform for data protection |
CN115604033A (zh) * | 2022-12-05 | 2023-01-13 | 深圳市蓝凌软件股份有限公司(Cn) | 微服务系统访问控制方法、装置、设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060120526A1 (en) * | 2003-02-28 | 2006-06-08 | Peter Boucher | Access control to files based on source information |
CN1790218A (zh) * | 2004-12-17 | 2006-06-21 | 摩托罗拉公司 | 用于数字权限管理的方法和装置 |
CN101196971A (zh) * | 2007-12-18 | 2008-06-11 | 北京大学 | 一种对数字内容进行授权管理的实现方法及系统 |
CN101379512A (zh) * | 2006-02-01 | 2009-03-04 | 摩托罗拉公司 | 用于图像标记的设备和方法 |
CN101605148A (zh) * | 2009-05-21 | 2009-12-16 | 何吴迪 | 云存储的并行系统的架构方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5991414A (en) * | 1997-09-12 | 1999-11-23 | International Business Machines Corporation | Method and apparatus for the secure distributed storage and retrieval of information |
US7412462B2 (en) * | 2000-02-18 | 2008-08-12 | Burnside Acquisition, Llc | Data repository and method for promoting network storage of data |
WO2002008948A2 (en) * | 2000-07-24 | 2002-01-31 | Vivcom, Inc. | System and method for indexing, searching, identifying, and editing portions of electronic multimedia files |
US7940270B2 (en) * | 2005-10-13 | 2011-05-10 | Sectra Ab | Computer processing of multi-dimensional data |
US7874015B2 (en) * | 2006-05-12 | 2011-01-18 | At&T Intellectual Property I, L.P. | Methods, systems, and computer program products for controlling distribution of digital content in a file sharing system using license-based verification, encoded tagging, and time-limited fragment validity |
US8099476B2 (en) * | 2008-12-31 | 2012-01-17 | Apple Inc. | Updatable real-time or near real-time streaming |
US8407192B2 (en) * | 2009-04-04 | 2013-03-26 | Polytechnic Institute Of New York University | Detecting a file fragmentation point for reconstructing fragmented files using sequential hypothesis testing |
US8694467B2 (en) * | 2010-03-31 | 2014-04-08 | Xerox Corporation | Random number based data integrity verification method and system for distributed cloud storage |
-
2010
- 2010-04-29 CN CN201010163305.6A patent/CN102236750B/zh active Active
-
2011
- 2011-04-28 US US13/096,589 patent/US9158465B2/en active Active
-
2012
- 2012-02-28 US US13/407,718 patent/US9134912B2/en not_active Expired - Fee Related
-
2015
- 2015-08-15 US US14/827,280 patent/US9507539B2/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060120526A1 (en) * | 2003-02-28 | 2006-06-08 | Peter Boucher | Access control to files based on source information |
CN1790218A (zh) * | 2004-12-17 | 2006-06-21 | 摩托罗拉公司 | 用于数字权限管理的方法和装置 |
CN101379512A (zh) * | 2006-02-01 | 2009-03-04 | 摩托罗拉公司 | 用于图像标记的设备和方法 |
CN101196971A (zh) * | 2007-12-18 | 2008-06-11 | 北京大学 | 一种对数字内容进行授权管理的实现方法及系统 |
CN101605148A (zh) * | 2009-05-21 | 2009-12-16 | 何吴迪 | 云存储的并行系统的架构方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104094261A (zh) * | 2012-02-01 | 2014-10-08 | 国际商业机器公司 | 访问受限数据的优化处理方法 |
CN104094261B (zh) * | 2012-02-01 | 2017-09-22 | 国际商业机器公司 | 访问受限数据的优化处理方法及系统 |
CN103577503A (zh) * | 2012-08-10 | 2014-02-12 | 鸿富锦精密工业(深圳)有限公司 | 云端文件存储系统及方法 |
CN103324551A (zh) * | 2013-05-23 | 2013-09-25 | 广东欧珀移动通信有限公司 | 应用程序数据移植的方法和系统 |
CN106355107A (zh) * | 2016-08-31 | 2017-01-25 | 天津南大通用数据技术股份有限公司 | 支持快速预判权限的集群数据加载工具及方法 |
WO2020034153A1 (zh) * | 2018-08-16 | 2020-02-20 | 朱小军 | 一种仿生数据细胞体 |
CN111739190A (zh) * | 2020-05-27 | 2020-10-02 | 深圳市元征科技股份有限公司 | 车辆诊断文件加密方法、装置、设备及存储介质 |
CN111739190B (zh) * | 2020-05-27 | 2022-09-20 | 深圳市元征科技股份有限公司 | 车辆诊断文件加密方法、装置、设备及存储介质 |
CN112423294A (zh) * | 2020-07-30 | 2021-02-26 | 深圳市纬嘉壹科技有限公司 | 一种基于5g终端的区块链记录方法 |
Also Published As
Publication number | Publication date |
---|---|
US20120158786A1 (en) | 2012-06-21 |
US20160041784A1 (en) | 2016-02-11 |
US9507539B2 (en) | 2016-11-29 |
US9134912B2 (en) | 2015-09-15 |
CN102236750B (zh) | 2016-03-30 |
US9158465B2 (en) | 2015-10-13 |
US20110271353A1 (en) | 2011-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102236750B (zh) | 在云存储系统中进行权限控制的方法和装置 | |
US12061569B2 (en) | Blockchain data archiving method, apparatus, and computer-readable storage medium | |
CN101809566B (zh) | 高效的文件散列标识符计算 | |
CN102067148B (zh) | 用于确定文件分类的方法及系统 | |
CN101231647B (zh) | 文件管理系统及方法 | |
CN101854392B (zh) | 一种基于云计算环境的个人数据管理方法 | |
US7996679B2 (en) | System and method for performing a trust-preserving migration of data objects from a source to a target | |
CN102473223B (zh) | 信息处理装置以及信息处理方法 | |
CN101529395B (zh) | 文件系统 | |
CN103902623A (zh) | 用于在存储系统上存取文件的方法和系统 | |
RU2007143380A (ru) | Единообразная авторизация для гетерогенных приложений | |
CN104769598B (zh) | 用于检测非法应用程序的系统和方法 | |
JP2007012054A (ja) | ファイルシステム保全の最適化されたスタートアップ認証 | |
JP5466645B2 (ja) | 記憶装置、情報処理装置およびプログラム | |
CN102497286A (zh) | 一种mib匹配方法和设备 | |
CN104239438A (zh) | 基于分离存储的文件信息存储方法和文件信息读写方法 | |
CN107391112A (zh) | 一种文件版本检测方法及其专用装置 | |
JP2014515858A (ja) | 実行中の命令を再結合する方法および装置 | |
JP6255336B2 (ja) | 安全なデータ格納方法およびデバイス | |
CN102025536A (zh) | 一种Unix/Linux系统运维数据收集方法和装置 | |
CN111782625A (zh) | 芯智科技嵌入式远程文件系统软件 | |
JP6256781B2 (ja) | システムを保護するためのファイルセキュリティ用の管理装置 | |
CN114564456B (zh) | 分布式存储文件的恢复方法及装置 | |
CN104239182B (zh) | 一种集群文件系统脑裂处理方法和装置 | |
CN115221125A (zh) | 文件处理方法、装置、电子设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |