CN101799853A - 一种层次化信息加密共享方法 - Google Patents

一种层次化信息加密共享方法 Download PDF

Info

Publication number
CN101799853A
CN101799853A CN201010117910A CN201010117910A CN101799853A CN 101799853 A CN101799853 A CN 101799853A CN 201010117910 A CN201010117910 A CN 201010117910A CN 201010117910 A CN201010117910 A CN 201010117910A CN 101799853 A CN101799853 A CN 101799853A
Authority
CN
China
Prior art keywords
safe deposit
proof box
sharing users
attribute
uid
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
Application number
CN201010117910A
Other languages
English (en)
Inventor
廖湘科
何连跃
付松龄
唐晓东
黄辰林
丁滟
王晓川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN201010117910A priority Critical patent/CN101799853A/zh
Publication of CN101799853A publication Critical patent/CN101799853A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开了一种层次化信息加密共享方法,要解决的技术问题是提供一种层次化信息加密共享方法,使得信息加密存储安全、高效、易用且便于共享管理。技术方案是先创建一个或多个由保险仓库和保险箱组成的层次化信息加密共享管理树形结构,按实际需要设置保险仓库和保险箱的共享用户,然后利用层次化信息加密共享管理树形结构采用保险仓库细粒度访问控制方法和保险箱细粒度访问控制方法,以保险箱为单位进行信息的加密共享访问。采用本发明可使得信息加密存储安全、高效、易用且便于共享管理,能适应复杂组织机构中关系复杂的海量数据的存储管理需求,满足大型企业中各种用户对同一数据共享访问权限的不同要求。

Description

一种层次化信息加密共享方法
技术领域
本发明涉及信息安全领域中的信息加密共享方法。
背景技术
在信息技术高度发达的今天,各种各样的信息量与日俱增,而且人们的工作大多数都需要相互协作才能完成,他们之间需要相互共享信息。在这种背景下,越来越多的企业或个人通过服务器来存储和共享数据,以达到信息数据备份和交互的目的。但是,在数据集中存储和共享带来使用便利性的同时,也带来了信息泄露的安全风险。当信息共享给其它用户之后,信息不再可控,它们随时可能被他人有意或无意的泄露。
有的企业为了防止信息泄露,采用无盘工作站或者其它客户端安全控管软件,保证客户端没有任何输出端口,也不能驻留任何数据,所有数据直接存储到服务器上。这种方式解决了一部分安全问题,但是数据存储在服务器上同样存在风险。一类风险来自于系统管理员,由于他能看到并随意地处理所有用户的数据,所以可能会造成泄密。另一类安全风险来自于对存储介质的物理访问,即,恶意用户可能通过某种途径(如收集废弃硬盘、偷盗等)获得系统中的存储介质,如硬盘、磁带等,那么他们就可能从这些存储介质中获取到以一些涉密信息。
目前已经出现了许多加密存储系统,如运行在操作系统核外的各种加密软件,以及运行在操作系统核内的加密文件系统等。由于核外加密软件存在对用户不透明、安全性低、应用面窄的缺点,因此真正能解决存储安全问题的是操作系统核内的加密文件系统。加密文件系统能为用户提供透明、可靠、高效的文件加密存储功能,应用比较广泛。这方面的典型代表有windows操作系统中的EFS、Linux操作系统中的eCryptFS等。这些加密文件系统的主要目标是提供文件一级的加密存储功能,方法是先用文件密钥加密保护文件数据,再用用户密钥加密保护文件密钥。EFS的共享以文件为单位,需要重新加密文件密钥;eCryptFS的共享依赖于自主访问控制,仅支持整个文件系统的共享。EFS的共享单位太小,效率太低,不能满足海量文件的共享要求,eCryptFS共享单位太大,且依赖于自主访问控制,不便于实际共享操作,易于造成泄密。为了提高加密文件系统共享的安全性、高效性和易用性,麒麟操作系统中的麒麟加密文件系统采用以目录为单位的加密共享方法,包括以下步骤:
第一步,用户注册时创建一对公私钥,分别称为用户公钥和用户私钥。
第二步,创建保险箱。方法是,首先创建一个同名的目录(位置由用户指定),然后创建一对公私钥(分别称为保险箱公钥和保险箱私钥),然后用创建者的用户公钥加密保险箱私钥,最后将保险箱名字、保险箱公钥、创建者标识uid、保险箱私钥密文作为保险箱属性存入保险箱目录的扩展属性中。
第三步,设置共享用户。方法是,首先从扩展属性中读取保险箱属性,然后用创建者的用户私钥解密保险箱私钥密文,然后用共享用户的用户公钥重新加密保险箱私钥密文,最后将共享用户标识uid、新加密的保险箱私钥密文添加到保险箱属性中并存入保险箱目录的扩展属性中。
第四步,访问加密信息,包含如下两种情况:
(1)保存保险箱中文件时自动加密,方法是,首先产生一个文件密钥,然后用文件密钥加密文件数据并保存在磁盘上,然后从保险箱目录的扩展属性中读取保险箱公钥,然后用保险箱公钥加密文件密钥并保存到文件的扩展属性中。
(2)读取保险箱中文件时自动解密,方法是,首先从扩展属性中读取保险箱属性,然后根据当前用户的uid查询相应的保险箱私钥密文,然后用用户私钥解密保险箱私钥密文,从文件扩展属性中读取文件密钥密文,用保险箱私钥解密文件密钥密文,最后用文件密钥解密文件数据。
麒麟加密文件系统中的以目录为单位的加密共享方法是加密文件系统领域的一个重大进步,它能很好地适应小型团队小规模数据量的加密共享要求,但是随着用户量和数据量的增加,其复杂度急剧增大。
大型企业通常包含以下特点:(1)包含很多部门,组织机构往往比较复杂,用户量非常庞大;(2)需要集中存储且相互共享的数据量非常庞大,且数据之间的关系往往反映了部门之间和部门内部的关系,异常复杂;(3)用户对同一数据的共享权限要求不尽相同。
以目录为单位的加密共享方法在大型企业大规模用户的使用环境中,这种方法过于简单、不实用,缺点主要包括:(1)保险箱不能嵌套(即不能在保险箱中创建下级保险箱),各个保险箱就像一个个的信息孤岛一样,不能适应复杂组织机构中关系复杂的海量数据的存储管理需求;(2)仅支持数据访问权限的完全共享,没有对共享权限进行细分,不能满足大型企业中各种用户对同一数据共享访问权限的不同要求。
因此,如何对信息进行层次化加密共享,以适应大型企业需求仍然是本领域研究人员极为关注的技术问题。
发明内容
本发明所要解决的技术问题是提供一种层次化信息加密共享方法,使得信息加密存储安全、高效、易用且便于共享管理。
本发明具体技术方案包括以下步骤:
第一步,根据实际需要,创建一个由保险仓库(是文件系统中的一个目录)和保险箱组成的层次化信息加密共享管理树形结构,方法是:
1.1创建顶级保险仓库,流程为:
1.1.1指定待创建保险仓库的名字(包含路径名);
1.1.2在文件系统中创建一个与保险仓库同名的目录;
1.1.3将保险仓库名字、创建者标识uid依次存入保险仓库属性中;
1.1.4将保险仓库属性存入保险仓库目录的扩展属性中。
1.2按实际需要设置顶级保险仓库的共享用户,以限定哪些用户可以看见该保险仓库,哪些用户可以在该保险仓库中创建下级保险仓库,哪些用户可以在该保险仓库中创建保险箱。设置顶级保险仓库共享用户的流程为:
1.2.1指定顶级保险仓库名字和共享用户的名字;
1.2.2采用按需设置原则设置顶级保险仓库共享用户的共享权限;保险仓库共享权限包括三种:可见、创建下级保险仓库、创建本级保险箱共享权限。“可见”权限指可以看见本保险仓库目录;“创建下级保险仓库”指可以看见本保险仓库目录,并可在其中创建下级保险仓库;“创建本级保险箱”权限指可以看见本保险仓库目录,并可在其中(不包含下级保险仓库)创建保险箱。
保险仓库共享用户的共享权限按需设置原则为:
(1)如果该共享用户仅需要通过保险仓库进入下级保险仓库或保险箱,则将共享权限置为“可见”;
(2)如果该共享用户需要在保险仓库中创建下级保险仓库,则将共享权限置为“创建下级保险仓库”;
(3)如果该共享用户需要在保险仓库中创建保险箱,则将共享权限置为“创建本级保险箱”。
1.2.3读取顶级保险仓库属性,获取其中的创建者uid;
1.2.4比较当前用户的uid与保险仓库创建者uid,如果相同,则执行1.2.5,否则本流程结束,返回权限错误;
1.2.5创建一条共享记录,包含两个域:共享用户uid、共享权限。将共享记录加入保险仓库属性中;
1.2.6将保险仓库属性存入保险仓库目录的扩展属性中。
1.3按照实际需要,多次执行1.1和1.2步建立多个顶级保险仓库;
1.4采用普通的非顶级保险仓库创建方法,在顶级保险仓库目录中,由顶级保险仓库的创建者或具有“创建下级保险仓库”权限的共享用户创建下级保险仓库。普通的非顶级保险仓库创建方法流程为:
1.4.1指定上级保险仓库的名字和待创建保险仓库的名字;
1.4.2对上级保险仓库,采用保险仓库细粒度访问控制方法进行访问控制,仅允许上级保险仓库的创建者和具有“创建下级保险仓库”权限的共享用户创建新的保险仓库,即只有当1.4.2.2.1步或1.4.2.2.3.2步中的检查通过后允许执行;
保险仓库细粒度访问控制方法流程为:
1.4.2.1从保险仓库目录的扩展属性中读取保险仓库属性;
1.4.2.2根据当前用户的uid和访问请求,在保险仓库属性中查询,做如下处理:
1.4.2.2.1如果当前用户uid等于保险仓库属性中的创建者uid,则允许执行(即创建者可执行任意操作),否则,继续查询共享记录;
1.4.2.2.2如果当前用户uid不在任何共享记录中出现(即当前用户不是共享用户),则隐藏保险仓库目录,使用户不能继续访问;
1.4.2.2.3如果当前用户uid在某个共享记录中出现,则取出其对应的共享权限,并执行如下检查:
1.4.2.2.3.1如果当前用户请求操作为“进入保险仓库目录”(即请求“可见”权限),则允许执行(即保险仓库目录对任何共享用户均可见);
1.4.2.2.3.2如果当前用户请求操作为“创建下级保险仓库”,且共享权限为“创建下级保险仓库”,则允许执行;
1.4.2.2.3.3如果当前用户请求操作为“创建本级保险箱”,且共享权限为“创建本级保险箱”,则允许执行;
1.4.2.2.4上述检查均不通过,拒绝执行。
1.4.3在文件系统中创建一个与新创建的保险仓库同名的目录。
1.4.4将保险仓库名字、创建者uid依次存入新创建的保险仓库属性中。
1.4.5将新创建的保险仓库属性存入新创建的保险仓库目录的扩展属性中。
1.5采用普通的非顶级保险仓库共享用户设置方法,按需设置1.4中新创建的保险仓库的共享用户,以限定哪些用户可以看见该保险仓库,哪些用户可以在该保险仓库中创建下级保险仓库,哪些用户可以在该保险仓库中创建保险箱。普通的非顶级保险仓库共享用户设置方法流程为:
1.5.1指定保险仓库名字和共享用户名字;
1.5.2采用按需设置原则设置保险仓库共享用户的共享权限,方法同1.2.2;
1.5.3从保险仓库目录扩展属性中读取保险仓库属性,获取其中的创建者uid;
1.5.4比较当前用户的uid与保险仓库创建者uid,如果相同,则执行1.5.5,否则本流程结束,返回权限错误;
1.5.5创建一条共享记录,包含两个域:共享用户uid、共享权限。将共享记录加入保险仓库属性中;
1.5.6将保险仓库属性存入保险仓库目录的扩展属性中;
1.5.7检查该共享用户是否是上级保险仓库(即上级目录)的共享用户,流程为:
1.5.7.1读取上级目录扩展属性的保险仓库属性;
1.5.7.2如果该共享用户uid与保险仓库创建者uid相同,则检查结束,返回“是”;
1.5.7.3查询每一条共享记录,如果该共享用户uid等于某条共享记录中的共享用户uid,则检查结束,返回“是”;
1.5.7.4返回“不是”。
1.5.8如果1.5.7返回“是”,则本流程结束,返回正确;
1.5.9如果1.5.7返回“不是”,则转1.5.1将该共享用户设置为上级保险仓库的“可见”型共享用户。
1.6按照实际需要,不断重复1.4和1.5,建立一个或多个(具体数量由顶级保险仓库的个数确定)由保险仓库组成的树形结构;
1.7采用保险箱创建方法,按照实际需要,在需要存储信息的保险仓库中,由保险仓库的创建者或具有“创建本级保险箱”的共享用户创建保险箱。
此处的保险箱,在麒麟操作系统中的麒麟加密文件系统采用的保险箱的基础上,做了如下改进:保险箱共享权限包括创建、只读、读写三种。“创建”权限指可以看见保险箱目录,并只能向保险箱中添加新的信息;“只读”指可以看见保险箱目录,并只能读取保险箱中已有的加密信息;“读写”权限指可以看见保险箱目录,并具有所有访问权限,包括添加新的信息,读取、修改或删除已有信息。保险箱创建方法流程为:
1.7.1指定上级保险仓库的名字和待创建保险箱的名字;
1.7.2对上级保险仓库,采用保险仓库细粒度访问控制方法进行访问控制,仅允许上级保险仓库的创建者和具有“创建本级保险箱”权限的共享用户创建,方法见1.4.2,即只有当1.4.2.2.1步或1.4.2.2.3.3步中的检查通过后允许执行;
1.7.3在文件系统中创建一个与保险箱同名的目录;
1.7.4创建一对公钥和私钥作为保险箱公私钥对;
1.7.5用创建者公钥加密保险箱私钥;
1.7.6将保险箱名字、创建者uid、保险箱公钥,保险箱私钥密文依次存入保险箱属性中;
1.7.7将保险箱属性存入保险箱目录的扩展属性中。
1.8采用保险箱共享用户设置方法,设置1.7中创建的保险箱的共享用户,保险箱共享用户设置方法流程为:
1.8.1指定保险箱名字和共享用户名字;
1.8.2采用按需设置原则设置保险箱共享用户的共享权限。保险箱共享用户的共享权限按需设置原则为:
(1)如果共享用户仅需要向该保险箱中添加新信息,则赋予“创建”权限;
(2)如果共享用户仅需要读取该保险箱中已有的加密信息,则赋予“只读”权限;
(3)如果共享用户需要在该保险箱中添加、读取、写入、删除信息,则赋予“读写”权限。
1.8.3从保险箱目录扩展属性中读取保险箱属性,获取创建者uid;
1.8.4比较当前设置者uid是否与保险箱创建者uid相同,如果不同,则返回错误,否则继续;
1.8.5用创建者私钥解密保险箱私钥;
1.8.6用共享用户公钥加密保险箱私钥;
1.8.7创建一条共享记录,包括三个域:共享用户uid、共享权限、重新加密的保险箱私钥。将共享记录加入保险箱属性;
1.8.8将保险箱属性存入保险箱目录的扩展属性中;
1.8.9检查该共享用户是否是本保险箱的上级保险仓库的共享用户,方法同1.5.7;
1.8.10如果1.8.9返回“是”,则本流程结束,返回正确;
1.8.11如果1.8.9返回“不是”,则采用普通的非顶级保险仓库共享用户设置方法设置普通非顶级保险仓库共享用户,将该共享用户设置为上级保险仓库的“可见”型共享用户。
1.9反复执行1.7和1.8,在所有需要存储信息的保险仓库中创建保险箱并设置共享用户,建立一个或多个(具体数量由顶级保险仓库的个数确定)由保险仓库和保险箱组成的层次式信息加密共享管理树形结构;
第二步,利用层次化信息加密共享管理树形结构采用保险仓库细粒度访问控制方法和保险箱细粒度访问控制方法,以保险箱为单位进行信息的加密共享访问。
因为所有加密信息均存放在保险箱(即层次化信息加密共享管理树形结构中的叶子节点)中,因此,当需要访问某个保险箱中的某个加密信息前,必须依次进入访问路径(即从树形结构根节点到目标叶子节点在内的所有保险仓库和保险箱)中的所有目录。在进入时执行保险仓库细粒度访问控制方法或保险箱细粒度访问控制方法,只有当所有访问控制检查均通过以后,才允许用户访问加密信息。访问保险箱中信息的具体流程为:
2.1在信息加密共享管理树形结构中,从上到下依次采用细粒度的保险仓库访问控制方法检查当前用户是否可以进入保险仓库目录,若通过检查,则逐级进入访问路径上的所有保险仓库目录;
对每一个保险仓库目录而言,仅允许其创建者和所有共享用户进入。只有进入上级目录后才能进入下级目录,即只有通过上级保险仓库细粒度访问控制检查之后,才能执行下级保险仓库的细粒度访问控制检查,层层深入,任何一级检查失败,均不允许继续访问。细粒度的保险仓库访问控制方法见1.4.2中的“保险仓库细粒度访问控制流程”,即只有当1.4.2.2.1步或1.4.2.2.3.1步中的检查通过后允许进入;
2.2进入保险箱(即访问路径上最后一个节点)目录,采用保险箱细粒度访问控制方法检查当前用户是否具有访问保险箱的权限;
保险箱细粒度访问控制流程为:
2.2.1从保险箱目录的扩展属性中读取保险箱属性;
2.2.2根据当前用户的uid和访问请求,在保险箱属性中查询,做如下处理:
2.2.2.1如果当前用户uid等于保险仓库属性中的创建者uid,则允许执行(即创建者可执行任意操作),否则,继续查询共享记录;
2.2.2.2如果当前用户uid不在任何共享记录中出现(即当前用户不是共享用户),则隐藏保险箱目录,使用户不能继续访问;
2.2.2.3如果当前用户uid在某个共享记录中出现,则取出其对应的共享权限,并执行如下检查:
2.2.2.3.1如果当前用户请求操作为“进入保险箱目录”,则允许执行(即保险箱目录对任何共享用户均可见);
2.2.2.3.2如果当前用户请求操作为“创建”新文件,且共享权限为“创建”或“读写”,则允许执行;
2.2.2.3.3如果当前用户请求操作为“写入”长度为0的文件,且共享权限为“创建”或“读写”,则允许执行;
2.2.2.3.4如果当前用户请求操作为“读取”已有长度不等于0的文件,且共享权限为“只读”或“读写”,则允许执行;
2.2.2.3.5如果当前用户请求操作为“写入”已有长度不等于0的文件,且共享权限为“读写”,则允许执行;
2.2.2.3.6如果当前用户请求操作为“删除”文件,且共享权限为“读写”,则允许执行;
2.2.2.4上述检查均不通过,拒绝执行。
2.3当访问路径上的全部节点均允许访问时,允许访问存放在叶子节点(即保险箱)中的加密信息,采用与背景技术以目录为单位的信息共享方法中的第四步相同的方法访问加密信息。
在使用过程中,按实际需要(比如新成立部门或项目组时)创建保险仓库和保险箱,不断完善层次式信息加密共享管理树形结构。
采用本发明可以达到以下技术效果:;
1.可将保险仓库和保险箱按需共享给其他用户,满足最小权限约束,使共享用户仅能以指定的权限访问层次化信息加密共享管理树形结构中的加密信息。
2.对每个保险仓库或保险箱而言,只有其创建者和所有共享用户可以看见相应的目录,其他任何用户无法从任何途径获知该保险仓库或保险箱的存在,保证了信息安全。
3.保险仓库和保险箱均是文件系统中的目录,保险仓库用于对保险箱进行分类管理,而保险箱用于对加密文件进行分类管理。在保险仓库中可以创建下级保险仓库(即保险仓库可以嵌套),也可以在保险仓库中直接创建保险箱,因此保险仓库中可能包含若干保险仓库和保险箱。各个保险箱不再是一个个的信息孤岛,能适应复杂组织机构中关系复杂的海量数据的存储管理需求。
4.由保险仓库和保险箱组成的层次式信息加密共享管理树形结构是按需建立的,在实际处理过程中,往往根据企业组织机构来建立该结构:每个部门建立一个保险仓库,该部门的所有保险箱均放在这个保险仓库中;下级部门的保险仓库放在上级部门的保险仓库中。在这种情况下,信息加密共享管理树形结构与企业组织机构树形结构相似,信息加密存储在由保险仓库和保险箱构成的层次化信息加密共享管理树形结构中,便于管理。
附图说明
图1为本发明总体流程图。
图2为本发明的保险仓库细粒度访问控制方法示意图。
图3为本发明的保险箱细粒度访问控制方法示意图。
图4为一个由本发明中的方法所建立的层次化信息加密共享管理树形结构示意图。
具体实施方式
图1为本发明的总体流程,具体包含以下步骤:
第一步,根据实际需要,创建一个由保险仓库和保险箱组织成的树形结构,即层次化信息加密共享管理树形结构。
第二步,利用层次化信息加密共享管理树形结构采用保险仓库细粒度访问控制方法和保险箱细粒度访问控制方法,以保险箱为单位进行信息的加密共享访问。
图2为本发明的保险仓库细粒度访问控制方法,流程为:
2.1从保险仓库目录的扩展属性中读取保险仓库属性;
2.2根据当前用户的uid和访问请求,在保险仓库属性中查询,做如下处理:
2.2.1如果当前用户uid等于保险仓库属性中的创建者uid,则允许执行(即创建者可执行任意操作),否则,继续查询共享记录;
2.2.2如果当前用户uid不在任何共享记录中出现(即当前用户不是共享用户),则隐藏保险仓库目录,使用户不能继续访问;
2.2.3如果当前用户uid在某个共享记录中出现,则取出其对应的共享权限,并执行如下检查:
2.2.3.1如果当前用户请求操作为“进入保险仓库目录”(即请求“可见”权限),则允许执行(即保险仓库目录对任何共享用户均可见);
2.2.3.2如果当前用户请求操作为“创建下级保险仓库”,且共享权限为“创建下级保险仓库”,则允许执行;
2.2.3.3如果当前用户请求操作为“创建本级保险箱”,且共享权限为“创建本级保险箱”,则允许执行;
2.2.4上述检查均不通过,拒绝执行。
图3为本发明的保险箱细粒度访问控制方法,流程为:
3.1从保险箱目录的扩展属性中读取保险箱属性;
3.2根据当前用户的uid和访问请求,在保险箱属性中查询,做如下处理:
3.2.1如果当前用户uid等于保险仓库属性中的创建者uid,则允许执行(即创建者可执行任意操作),否则,继续查询共享记录;
3.2.2如果当前用户uid不在任何共享记录中出现(即当前用户不是共享用户),则隐藏保险箱目录,使用户不能继续访问;
3.2.3如果当前用户uid在某个共享记录中出现,则取出其对应的共享权限,并执行如下检查:
3.2.3.1如果当前用户请求操作为“进入保险箱目录”,则允许执行(即保险箱目录对任何共享用户均可见);
3.2.3.2如果当前用户请求操作为“创建”新文件,且共享权限为“创建”或“读写”,则允许执行;
3.2.3.3如果当前用户请求操作为“写入”长度为0的文件,且共享权限为“创建”或“读写”,则允许执行;
3.2.3.4如果当前用户请求操作为“读取”已有长度不等于0的文件,且共享权限为“只读”或“读写”,则允许执行;
3.2.3.5如果当前用户请求操作为“写入”已有长度不等于0的文件,且共享权限为“读写”,则允许执行;
3.2.3.6如果当前用户请求操作为“删除”文件,且共享权限为“读写”,则允许执行;
3.2.4上述检查均不通过,拒绝执行。
图4为一个由本发明中的方法所建立的层次化信息加密共享管理树形结构。该树形结构包含三级保险仓库,每个保险仓库均包含若干保险箱。

Claims (4)

1.一种层次化信息加密共享方法,其特征在于包括以下步骤:
第一步,根据实际需要,创建一个由保险仓库和保险箱组成的层次化信息加密共享管理树形结构,保险仓库是文件系统中的一个目录,方法是:
1.1创建顶级保险仓库,流程为:
1.1.1指定待创建保险仓库的名字;
1.1.2在文件系统中创建一个与保险仓库同名的目录;
1.1.3将保险仓库名字、创建者标识uid依次存入保险仓库属性中;
1.1.4将保险仓库属性存入保险仓库目录的扩展属性中;
1.2按实际需要设置顶级保险仓库的共享用户,流程为:
1.2.1指定顶级保险仓库名字和共享用户的名字;
1.2.2设置顶级保险仓库共享用户的共享权限;保险仓库共享权限包括三种:可见、创建下级保险仓库、创建本级保险箱共享权限;“可见”权限指可以看见本保险仓库目录;“创建下级保险仓库”指可以看见本保险仓库目录,并可在其中创建下级保险仓库;“创建本级保险箱”权限指可以看见本保险仓库目录,并可在其中创建保险箱;
1.2.3读取顶级保险仓库属性,获取其中的创建者uid;
1.2.4比较当前用户的uid与保险仓库创建者uid,如果相同,则执行1.2.5,否则本流程结束,返回权限错误;
1.2.5创建一条共享记录,包含两个域:共享用户uid、共享权限,将共享记录加入保险仓库属性中;
1.2.6将保险仓库属性存入保险仓库目录的扩展属性中;
1.3按照实际需要多次执行1.1和1.2步建立多个顶级保险仓库;
1.4采用普通的非顶级保险仓库创建方法,在顶级保险仓库目录中,由顶级保险仓库的创建者或具有“创建下级保险仓库”权限的共享用户创建下级保险仓库,普通的非顶级保险仓库创建方法流程为:
1.4.1指定上级保险仓库的名字和待创建保险仓库的名字;
1.4.2对上级保险仓库,采用保险仓库细粒度访问控制方法进行访问控制,仅允许上级保险仓库的创建者和具有“创建下级保险仓库”权限的共享用户创建新的保险仓库;
保险仓库细粒度访问控制方法流程为:
4.1从保险仓库目录的扩展属性中读取保险仓库属性;
4.2根据当前用户的uid和访问请求,在保险仓库属性中查询,做如下处理:
1.4.2.2.1如果当前用户uid等于保险仓库属性中的创建者uid,则允许执行,否则,继续查询共享记录;
1.4.2.2.2如果当前用户uid不在任何共享记录中出现,则隐藏保险仓库目录,使用户不能继续访问;
1.4.2.2.3如果当前用户uid在某个共享记录中出现,则取出其对应的共享权限,并执行如下检查:
1.4.2.2.3.1如果当前用户请求操作为“进入保险仓库目录”,则允许执行;
1.4.2.2.3.2如果当前用户请求操作为“创建下级保险仓库”,且共享权限为“创建下级保险仓库”,则允许执行;
1.4.2.2.3.3如果当前用户请求操作为“创建本级保险箱”,且共享权限为“创建本级保险箱”,则允许执行;
1.4.2.2.3.4上述检查均不通过,拒绝执行;
1.4.3在文件系统中创建一个与新创建的保险仓库同名的目录;
1.4.4将保险仓库名字、创建者uid依次存入新创建的保险仓库属性中;
1.4.5将新创建的保险仓库属性存入新创建的保险仓库目录的扩展属性中;
1.5采用普通的非顶级保险仓库共享用户设置方法,按需设置新创建的保险仓库的共享用户,普通的非顶级保险仓库共享用户设置方法流程为:
1.5.1指定保险仓库名字和共享用户名字;
1.5.2采用按需设置原则设置保险仓库共享用户的共享权限;
1.5.3从保险仓库目录扩展属性中读取保险仓库属性,获取其中的创建者uid;
1.5.4比较当前用户的uid与保险仓库创建者uid,如果相同,则执行1.5.5,否则本流程结束,返回权限错误;
1.5.5创建一条共享记录,包含两个域:共享用户uid、共享权限,将共享记录加入保险仓库属性中;
1.5.6将保险仓库属性存入保险仓库目录的扩展属性中;
1.5.7检查该共享用户是否是上级保险仓库的共享用户;
1.5.8如果该共享用户是上级保险仓库的共享用户,则本流程结束,返回正确;
1.5.9如果该共享用户不是上级保险仓库的共享用户,则转1.5.1将该共享用户设置为上级保险仓库的“可见”型共享用户;
1.6按照实际需要,不断重复1.4和1.5,建立一个或多个由保险仓库组成的树形结构;
1.7采用保险箱创建方法,按照实际需要,在需要存储信息的保险仓库中,由保险仓库的创建者或具有“创建本级保险箱”的共享用户创建保险箱,保险箱共享权限包括创建、只读、读写三种,“创建”权限指可以看见保险箱目录,并只能向保险箱中添加新的信息;“只读”指可以看见保险箱目录,并只能读取保险箱中已有的加密信息;“读写”权限指可以看见保险箱目录,并具有所有访问权限,包括添加新的信息,读取、修改或删除已有信息;保险箱创建方法流程为:
1.7.1创建者指定上级保险仓库的名字和待创建保险箱的名字;
1.7.2对上级保险仓库,采用保险仓库细粒度访问控制方法进行访问控制,仅允许上级保险仓库的创建者和具有“创建本级保险箱”权限的共享用户创建,只有当1.4.2.2.1步或1.4.2.2.3.3步中的检查通过后允许执行;
1.7.3在文件系统中创建一个与保险箱同名的目录;
1.7.4创建一对公钥和私钥作为保险箱公私钥对;
1.7.5用创建者公钥加密保险箱私钥;
1.7.6将保险箱名字、创建者uid、保险箱公钥,保险箱私钥密文依次存入保险箱属性中;
1.7.7将保险箱属性存入保险箱目录的扩展属性中;
1.8采用保险箱共享用户设置方法,设置1.7中创建的保险箱的共享用户,保险箱共享用户设置方法流程为:
1.8.1指定共享用户的名字;
1.8.2采用按需设置原则设置保险箱共享用户的共享权限;
1.8.3从保险箱目录扩展属性中读取保险箱属性,获取创建者uid;
1.8.4比较当前设置者uid是否与保险箱创建者uid相同,如果不同,则返回错误,否则继续;
1.8.5用创建者私钥解密保险箱私钥;
1.8.6用共享用户公钥加密保险箱私钥;
1.8.7创建一条共享记录,包括三个域:共享用户uid、共享权限、重新加密的保险箱私钥,将共享记录加入保险箱属性;
1.8.8将保险箱属性存入保险箱目录的扩展属性中;
1.8.9检查该共享用户是否是本保险箱的上级保险仓库的共享用户;
1.8.10如果1.8.9返回“是”,则本流程结束,返回正确;
1.8.11如果1.8.9返回“不是”,则采用普通的非顶级保险仓库共享用户设置方法设置普通非顶级保险仓库共享用户,将该共享用户设置为上级保险仓库的“可见”型共享用户;
1.9反复执行1.7和1.8,在所有需要存储信息的保险仓库中创建保险箱并设置共享用户,建立一个或多个由保险仓库和保险箱组成的层次式信息加密共享管理树形结构;
第二步,利用层次化信息加密共享管理树形结构采用保险仓库细粒度访问控制方法和保险箱细粒度访问控制方法,以保险箱为单位进行信息的加密共享访问,流程为:
2.1在信息加密共享管理树形结构中,从上到下依次采用细粒度的保险仓库访问控制方法检查当前用户是否可以进入保险仓库目录,若通过检查,则逐级进入访问路径上的所有保险仓库目录;
2.2进入保险箱目录,采用保险箱细粒度访问控制方法检查当前用户是否具有访问保险箱的权限;保险箱细粒度访问控制流程为:
2.2.1从保险箱目录的扩展属性中读取保险箱属性;
2.2.2根据当前用户的uid和访问请求,在保险箱属性中查询,做如下处理:
2.2.2.1如果当前用户uid等于保险仓库属性中的创建者uid,则允许执行,否则,继续查询共享记录;
2.2.2.2如果当前用户uid不在任何共享记录中出现,则隐藏保险箱目录,使用户不能继续访问;
2.2.2.3如果当前用户uid在某个共享记录中出现,则取出其对应的共享权限,并执行如下检查:
2.2.2.3.1如果当前用户请求操作为“进入保险箱目录”,则允许执行,即保险箱目录对任何共享用户均可见;
2.2.2.3.2如果当前用户请求操作为“创建”新文件,且共享权限为“创建”或“读写”,则允许执行;
2.2.2.3.3如果当前用户请求操作为“写入”长度为0的文件,且共享权限为“创建”或“读写”,则允许执行;
2.2.2.3.4如果当前用户请求操作为“读取”已有长度不等于0的文件,且共享权限为“只读”或“读写”,则允许执行;
2.2.2.3.5如果当前用户请求操作为“写入”已有长度不等于0的文件,且共享权限为“读写”,则允许执行;
2.2.2.3.6如果当前用户请求操作为“删除”文件,且共享权限为“读写”,则允许执行;
2.2.2.4上述检查均不通过,拒绝执行;
2.3当访问路径上的全部节点均允许访问时,采用以下方法访问存放在保险箱中的加密信息:
2.3.1保存保险箱中文件时自动加密,方法是,首先产生一个文件密钥,然后用文件密钥加密文件数据并保存在磁盘上,然后从保险箱目录的扩展属性中读取保险箱公钥,然后用保险箱公钥加密文件密钥并保存到文件的扩展属性中;
2.3.2读取保险箱中文件时自动解密,方法是,首先从扩展属性中读取保险箱属性,然后根据当前用户的uid查询相应的保险箱私钥密文,然后用用户私钥解密保险箱私钥密文,从文件扩展属性中读取文件密钥密文,用保险箱私钥解密文件密钥密文,最后用文件密钥解密文件数据。
2.如权利要求1所述的一种层次化信息加密共享方法,其特征在于设置保险仓库共享用户的共享权限采用的按需设置原则是指:
(a1)如果该共享用户仅需要通过保险仓库进入下级保险仓库或保险箱,则将共享权限置为“可见”;
(a2)如果该共享用户需要在保险仓库中创建下级保险仓库,则将共享权限置为“创建下级保险仓库”;
(a3)如果该共享用户需要在保险仓库中创建保险箱,则将共享权限置为“创建本级保险箱”。
3.如权利要求1所述的一种层次化信息加密共享方法,其特征在于设置保险箱共享用户的共享权限采用的按需设置原则是指:
(b1)如果共享用户仅需要向该保险箱中添加新信息,则赋予“创建”权限;
(b2)如果共享用户仅需要读取该保险箱中已有的加密信息,则赋予“只读”权限;
(b3)如果共享用户需要在该保险箱中添加、读取、写入、删除信息,则赋予“读写”权限。
4.如权利要求1所述的一种层次化信息加密共享方法,其特征在于所述检查共享用户是否是上级保险仓库的共享用户的流程为:
4.1读取上级目录扩展属性的保险仓库属性;
4.2如果该共享用户uid与保险仓库创建者uid相同,则检查结束,返回“是”;
4.3查询每一条共享记录,如果该共享用户uid等于某条共享记录中的共享用户uid,则检查结束,返回“是”;
4.4返回“不是”。
CN201010117910A 2010-03-05 2010-03-05 一种层次化信息加密共享方法 Pending CN101799853A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010117910A CN101799853A (zh) 2010-03-05 2010-03-05 一种层次化信息加密共享方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010117910A CN101799853A (zh) 2010-03-05 2010-03-05 一种层次化信息加密共享方法

Publications (1)

Publication Number Publication Date
CN101799853A true CN101799853A (zh) 2010-08-11

Family

ID=42595526

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010117910A Pending CN101799853A (zh) 2010-03-05 2010-03-05 一种层次化信息加密共享方法

Country Status (1)

Country Link
CN (1) CN101799853A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103152322A (zh) * 2013-01-28 2013-06-12 中兴通讯股份有限公司 数据加密保护方法及系统
CN104281598A (zh) * 2013-07-05 2015-01-14 上海众恒信息产业股份有限公司 基于云计算的人口数据库系统
CN104598533A (zh) * 2014-12-29 2015-05-06 曙光云计算技术有限公司 一种文件扩展属性的存储方法
CN107220556A (zh) * 2017-04-21 2017-09-29 上海海加网络科技有限公司 一种与具体业务系统结合的敏感数据的保护方法及系统
CN108460286A (zh) * 2018-01-30 2018-08-28 青岛中兴智能交通有限公司 一种公安数据的处理方法和装置
CN109766704A (zh) * 2018-12-04 2019-05-17 深圳供电局有限公司 一种基于网络文件的保密方法、装置及系统
CN109889518A (zh) * 2019-02-18 2019-06-14 天固信息安全系统(深圳)有限责任公司 一种加密存储方法
CN110603538A (zh) * 2017-05-18 2019-12-20 谷歌有限责任公司 使用密码共享的加密搜索云服务

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103152322A (zh) * 2013-01-28 2013-06-12 中兴通讯股份有限公司 数据加密保护方法及系统
CN104281598A (zh) * 2013-07-05 2015-01-14 上海众恒信息产业股份有限公司 基于云计算的人口数据库系统
CN104598533A (zh) * 2014-12-29 2015-05-06 曙光云计算技术有限公司 一种文件扩展属性的存储方法
CN104598533B (zh) * 2014-12-29 2018-08-14 曙光云计算集团有限公司 一种文件扩展属性的存储方法
CN107220556A (zh) * 2017-04-21 2017-09-29 上海海加网络科技有限公司 一种与具体业务系统结合的敏感数据的保护方法及系统
CN110603538A (zh) * 2017-05-18 2019-12-20 谷歌有限责任公司 使用密码共享的加密搜索云服务
CN108460286A (zh) * 2018-01-30 2018-08-28 青岛中兴智能交通有限公司 一种公安数据的处理方法和装置
CN109766704A (zh) * 2018-12-04 2019-05-17 深圳供电局有限公司 一种基于网络文件的保密方法、装置及系统
CN109889518A (zh) * 2019-02-18 2019-06-14 天固信息安全系统(深圳)有限责任公司 一种加密存储方法
CN109889518B (zh) * 2019-02-18 2022-02-15 天固信息安全系统(深圳)有限责任公司 一种加密存储方法

Similar Documents

Publication Publication Date Title
CN101799853A (zh) 一种层次化信息加密共享方法
KR102155462B1 (ko) 데이터 액세스를 위한 방법, 시스템 및 장치
CN102307185B (zh) 适用于存储云内的数据隔离方法
Khan et al. A blockchain ethereum technology-enabled digital content: Development of trading and sharing economy data
US20200341689A1 (en) Distributed storage system for long term data storage
CN102394894B (zh) 一种基于云计算的网络虚拟磁盘文件安全管理方法
EP2792101B1 (en) Deletion of content in storage systems
US7814318B1 (en) Scalable file system configured to make files permanently unreadable
US8560846B2 (en) Document security system and method
TW201919366A (zh) 共享空間的訪問方法、權限管理方法及裝置
US20100325732A1 (en) Managing Keys for Encrypted Shared Documents
CN108763463A (zh) 一种基于区块链的数字档案系统
CN100367248C (zh) 一种带日志强审计的加密u盘系统
TW201123807A (en) Verifiable trust for data through wrapper composition
US9749132B1 (en) System and method for secure deletion of data
CN103679050A (zh) 一种企业级电子文档的安全管理方法
Gonzalez et al. A framework for authentication and authorization credentials in cloud computing
CN103888467A (zh) 一种面向共享的安全文件夹加密系统
GB2503655A (en) Secure storage and deletion of objects
CN106506613B (zh) 分布式key‑value存储系统的数据存储位置加密方法
CN113407626A (zh) 一种基于区块链的规划管控方法、存储介质及终端设备
CN103745298A (zh) 基于岗位系统的报表用户权限设置方法及装置
CN101655865A (zh) 对象信息提供方法和对象平台及应用系统
Kumar et al. Data security and encryption technique for cloud storage
CN112199431B (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
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20100811