在云存储环境下一种安全存储系统的实现方法.pdf

上传人:1520****312 文档编号:1096050 上传时间:2018-03-31 格式:PDF 页数:20 大小:544.54KB
返回 下载 相关 举报
摘要
申请专利号:

CN201010569398.2

申请日:

2010.11.26

公开号:

CN102014133A

公开日:

2011.04.13

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):H04L 29/06申请日:20101126|||公开

IPC分类号:

H04L29/06; H04L29/08

主分类号:

H04L29/06

申请人:

清华大学

发明人:

舒继武; 薛巍; 薛矛; 沈志荣

地址:

100084 北京市海淀区清华园1号

优先权:

专利代理机构:

北京思海天达知识产权代理有限公司 11203

代理人:

楼艮基

PDF下载: PDF下载
内容摘要

在云存储环境下一种安全存储系统的实现方法属于存储安全技术领域,其特征在于:在服务器中根据用户需求建立信任域,在其中利用公钥基础设施PKI进行身份认证,利用用户空间的文件系统FUSE,实现了存储系统与底层系统无关,利用哈希算法SHA1算法以块为单位对文件计算哈希值,再利用密钥和对称加密算法AES算法对以块为单位对文件块加密,再将文件密文上传到云存储区中的文件服务器,保证了文件的机密性和完整性,文件所有者通过在访问控制列表中指定具有对该文件进行访问的用户及其权限,在发生权限撤销操作时,将对文件进行重新加密的操作推迟,只有当用户对文件内容进行修改时,由该用户重新加密修改内容所在的文件块,系统实行了文件块密钥、安全元数据文件密钥和信任域服务器密钥三层密钥管理,既保证了权限撤销时文件的安全性,又不增加系统的管理负担。

权利要求书

1: 在云存储环境下的一种安全存储系统的实现方法,其特征在于,所述的方法是在 信任域服务器、客户端和文件服务器组成的网络中,使用用户空间的文件系统 FUSE 在 Linux 上依次按照以下步骤实现的 : 步骤 (1) :网络的初始化, 步骤 (1.1) :信任域服务器的初始化,设立用户认证模块和访问控制模块,其中用户 认证模块采用了 SSL/TLS 协议和公钥基础设施 PKI,访问控制模块是在文件所有者授权 下执行对文件的访问控制,在系统中采用了三级密钥管理机制,其中第一级密钥是文件 块密钥,为了安全高效地处理大文件,在本系统中以块为单位加密文件,并称此块为文 件块,每个文件块都使用一个单独的叫做文件块密钥的对称密钥进行加密,文件块密钥 被加密后,存储在安全元数据文件中,第二级密钥是安全元数据文件密钥,包括一个锁 盒子密钥 LBK 和一个文件签名密钥 FSK,每个文件都有独自的安全元数据文件密钥,其 中锁盒子密钥 LBK 被用来加密该文件中的所有文件块密钥,保证文件块密钥的机密性, 后者是写用户在对文件数据进行修改后的签名密钥,用于区分读操作和写操作,第三级 密钥是信任域服务器密钥,是信任域服务器所维护的两个对称密钥,一个叫做信任域服 务器加密密钥 ASEK,用来加密数据文件所对应的安全元数据文件的锁盒子密钥 LBK 和 文件签名密钥 FSK,从而进行访问控制和区分读 - 写操作,一个叫做信任域服务器签 名密钥 ASSK,用来对安全元数据文件中的访问控制块计算基于哈希的消息验证码,即 HMAC 值,以保证访问控制块的完整性, 步骤 (1.2) :客户端设有数据加解密模块,数据完整性验证模块,缓存模块,文件系 统接口, 步骤 (1.3) :文件服务器设有存储模块 ; 步骤 (2) :用户申请获得用户身份标识,步骤如下 : 步骤 (
2: 1) :用户在客户端通过安全套接层协议 SSL 和传输层安全协议 TLS 在加密的 信道上向信任域服务器的用户认证模块发送用户身份标识请求, 步骤 (2.2) :所述的用户认证模块基于公钥基础设施,用户身份与信任域服务器身份 都是借助公钥基础设施所授予的 X.509 证书进行认证,系统新用户首先必须向注册机构申 请证书,然后才可以使用该系统 ; 步骤 (3) :文件的所有者按照以下步骤创建文件 : 步骤 (
3: 1) :所述的文件所有者向所述信任域服务器发送创建文件的请求 :文件所有 者首先创建访问控制块的内容,内容包括 :用户的身份标识、文件名、所指定的加密算 法和模式以及访问控制列表,并将访问控制块发给信任域服务器的访问控制模块,其中 所述访问控制列表包含用户名的哈希值以及该用户的访问权限, 步骤 (3.2) :所述的信任域服务器处理文件所有者创建文件的请求,使用身份认证模 块对文件所有者的身份进行认证,判断其身份和权限,然后为其请求创建的文件生成锁 盒子密钥 LBK 和文件签名密钥 FSK ; 步骤 (3.3) :信任域服务器使用信任域加密密钥 ASEK 加密锁盒子密钥 LBK 和文件签 名密钥 FSK,并使用信任域签名密钥 ASSK 为访问控制块计算 HMAC 值,并存入访问控 制块的 HMAC 域中,然后将访问控制块返回给文件所有者 ; 步骤 (3.4) :所述文件所有者创建文件,输入数据,然后使用安全哈希算法 SHA1, 2 对文件以块为单位计算哈希值,将哈希值保存在安全元数据文件中,再使用文件块密钥 对文件以块为单位进行加密,并生成文件密文,最后将文件的密文和安全元数据文件发 给所述文件服务器进行存储 ; 步骤 (4) :读用户按照以下步骤读取步骤 (3) 所创建的文件 : 步骤 (
4: 1) :从所述文件服务器端读取文件数据密文和安全元数据文件, 步骤 (4.2) :按以下步骤进行该读用户的身份认证, 步骤 (4.2.1) :读用户将自己的身份标识和安全元数据文件中的访问控制块发给所述 信任域服务器, 步骤 (4.2.2) :信任域服务器调用身份认证模块确认用户的身份标识,调用访问控制 模块,使用信任域密钥 ASEK 解密该访问控制块,获得包括锁盒子密钥 LBK、文件签名 密钥 FSK 和访问控制列表在内的信息,使用信任域签名密钥 ASSK 计算访问控制块的 HMAC 值,以判断访问控制块的完整性,并根据访问控制列表确定读用户的读权限,然 后将锁盒子密钥 LBK 发给读用户, 步骤 (4.3) :该读用户获得锁盒子密钥 LBK 之后,利用其解密获得文件块密钥,然 后使用文件块密钥对文件数据进行解密,最后获得文件数据的明文信息,并使用 SHA1 算法对所读内容所在的文件块计算哈希值,看是否与安全元数据中保存的哈希值一致, 判断所读数据的完整性,若相等,则说明数据完整,用户再读取该数据,否则则向系统 报错 ; 步骤 (5) :写用户按照以下步骤写入或者修改文件数据, 步骤 (
5: 1) :该写用户首先从所述文件服务器端读取要修改的所述文件数据的密文和 安全元数据文件, 步骤 (5.2) :写用户按以下步骤进行身份认证, 步骤 (5.2.1) :该写用户将自己的身份标识和安全元数据文件中的访问控制块发给信 任域服务器,所述信任域服务器调用身份认证模块确认用户的身份标识,并调用所述访 问控制模块,使用信任域密钥 ASEK 解密该访问控制块,获得包括锁盒子密钥 LBK、文 件签名密钥 FSK 和访问控制列表在内的信息,使用信任域签名密钥 ASSK 重新计算该访 问控制块的 HMAC 值,看是否与访问控制块中的 HMAC 值相等,判断该访问控制块是否 完整,并通过访问控制列表确定写用户所具有的写权限,接着,并将锁盒子密钥 LBK 和 文件签名密钥 FSK 返回给用户, 步骤 (5.3) 写用户按以下步骤写入或者修改文件, 步骤 (5.3.1) 写用户使用锁盒子密钥 LBK 获得文件块密钥,然后使用文件块密钥对文 件数据进行解密,获得文件明文信息,并使用 SHA1 算法对文件以块为单位计算所要修 改内容所在文件块的哈希值,看是否与安全元数据中保存的哈希值一致,判断所读数据 的完整性, 步骤 (5.3.2) :对步骤 (5.3.1) 的文件进行写入或者修改,并使用文件块密钥重新对新 的文件数据进行加密,并使用文件签名密钥 FSK 进行签名, 步骤 (5.3.3) :写用户将修改后的文件数据和安全元数据文件发给所述文件服务器进 行存储 ; 步骤 (6) :所述文件所有者按以下步骤进行权限撤销操作 : 3 步骤 (
6: 1) :该文件所有者从所述文件服务器端获得安全元数据文件,然后将自己的 身份标识、安全元数据文件中的访问控制块和拟撤销的用户列表发给信任域服务器, 步骤 (6.2) :该信任域服务器按以下步骤执行操作, 步骤 (6.2.1) :调用所述的身份认证模块对文件所有者的身份标识进行认证,确定其 具有撤销用户操作的权限, 步骤 (6.2.1) :调用所述的访问控制模块,使用信任域密钥 ASEK 解密该访问控制 块,获得访问控制列表、锁盒子密钥 LBK 和文件签名密钥 FSK 在内的信息,并使用自 己的信任域签名密钥 ASSK 重新计算该访问控制块的 HMAC 值,判断该访问控制块的完 整,然后从访问控制块的访问控制列表中删除需要撤销的用户所在的访问控制列表项, 接着为文件生成新的锁盒子密钥 LBK′和新的文件签名密钥 FSK′,然后信任域服务器 用信任域服务器加密密钥 ASEK 重新加密新生成的锁盒子密钥 LBK ′和新生成的文件 签名密钥 FSK′,并使用信任域服务器签名密钥 ASSK 重新对修改过的访问控制块计算 HMAC, 步骤 (6.2.2) :所述信任域服务器将新的访问控制块、新的文件签名密钥 FSK′、新 的锁盒子密钥 LBK′以及旧的锁盒子密钥 LBK 返回给文件所有者, 步骤 (6.3) :所述文件所有者按以下方式使用懒惰撤销操作 :使用旧的锁盒子密钥 LBK 解密所有文件块密钥,使用新的锁盒子密钥 LBK′加密这些文件块密钥,对文件块 的重新加密操作推迟到用户对文件块的更新时再进行。

说明书


在云存储环境下一种安全存储系统的实现方法

    技术领域 云存储环境下安全存储系统的实现方法属于存储安全领域,尤其涉及其中的安 全访问控制、密钥分发管理和文件管理等技术领域。
     背景技术 现今随着云计算技术的飞速发展,云存储也逐渐受到了广泛的关注和应用,文 件所有者可以创建文件,并将文件上传到云存储区中,将文件交由云存储服务提供商进 行管理,同时该文件所有者可以允许指定其他用户对该文件进行读写访问,实现了文件 的共享访问。
     虽然云存储服务提供商能够给用户提供方便的文件共享访问,但是存在于其中 的安全问题则不容忽视。 首先,文件的机密性无法保证 :文件是以明文形式存储于云 存储区中,这些信息都毫无保留地置于云存储服务提供商的视线之中,倘若云存储服务 提供商获取了这些文件信息,并应用于非法目的,则将给用户带来不可预计的后果 ;其 次,文件信息的完整性无法保证 :在其他用户对该文件的共享时,文件的信息是以明文 的形式在网络中传输,这样就给网络窃听者带来了可乘之机,网络窃听者可以在网络中 截取文件信息,在得到文件信息后,可以将不利于自己的一些信息删去,同时人为添加 一些对自己有利的虚假信息,然后再将该信息发给其他用户,达到自己的非法目的 ;再 次,对于权限的没有有效地管理,以及权限撤销时的安全性无法保证 :如何能够有效实 现用户对该文件的共享,以及当一个用户的对该文件的访问权限被撤销后,如何能够保 证该文件更新后的内容不会再被撤销权限的用户获得。 以上这些都是考验安全存储系统 的一些安全性问题。
     安全存储系统的功能是使用户能够保证共享数据的安全,它的实现方法是 :首 先文件所有者在本地使用哈希算法对该文件以块为单位计算哈希值,并使用密钥和加密 算法对文件以块为单位进行加密,然后将密文和哈希值一起放入公共的存储区进行存 储,这样公共存储区的管理员就无法得知文件的内容,保证了数据的机密性,同时由该 文件的所有者将密钥分发给他认为可以对该文件进行访问的用户。 这些用户可以访问该 文件,并用掌握的密钥对访问内容所在文件块进行解密,然后计算这些块的哈希值,看 是否与保存的哈希值相等,如果相等,则说明访问的内容是完整的,最后再进行读取文 件的内容。 在国内外现今所实现的安全存储系统,虽然保证了文件的机密性和完整性, 但是还有一些不足 :首先,有的存储系统的实现需要底层存储系统的支持,甚至是需要 对内核的版本进行改动或者是有特定内核版本的要求,这样给用户带来了许多不便,如 果用户需要使用这些安全存储系统,则需要安装特定的底层存储系统,或者是需要特定 版本的内核,或者是需要对内核进行修改 ;其次,有的安全存储系统在对文件进行操作 时,使用到了非对称加密算法,在一些情况中还需要使用到密钥回滚操作,由于非对称 加密算法的复杂度较高,因此该类安全存储系统的性能不容乐观 ;再次,大部分现今的 安全存储系统在对待用户的权限撤销上,一般使用的是积极撤销方法,积极撤消操作出
     现的背景是 :由于文件的所有者可能会认为 已经授权访问该文件的某个用户会对该文件 进行破坏或者该用户可能会将文件的内容散发出去,造成文件所有者所不希望看到的效 果,因此文件所有者可能会将这个用户的权限进行撤销,但是由于该用户已经掌握了访 问该文件所需要的密钥,因此为了保证文件的安全性,文件所有者不得不立刻重新生成 新的密钥,并用新的密钥重立刻新对文件进行加密,最后将新的密钥分发给除了被撤销 权限的用户之外的其他合法用户,这就是积极撤销,这样做带来的一些后果是,对于大 文件来说,积极撤销带来的立刻重新加密的密码学开销极为庞大,同时在频繁撤销的环 境中,这种安全存储系统的开销也可能让用户难以承受。
     本发明实现了一种云存储环境下的安全存储系统,其为用户保证了数据的机密 性和完整性,同时对用户的权限进行的有效地管理,并保证了权限撤销时文件的安全 性,该系统还具有良好的可拓展性。 发明内容 本发明的目的在于提供一种云存储环境下安全存储系统的系统架构,使得用户 在不可信的存储和网络环境中即使失去了对系统物理资源的控制仍然可以安全高效地进 行文件共享,同时数据安全保护与已部署的底层存储系统无关 :底层存储系统只提供可 靠的数据存储服务,而数据机密性、完整性的保护与访问控制则在根据用户需求设立的 信任域中完成 ;用户可以不依赖底层存储系统提供数据安全性保护机制就能保证自己数 据端到端的安全性,反过来底层存储系统也无法干涉用户的安全性保护机制。 该架构将 数据安全保护的责任从用户不具有控制权限的数据服务器和安全性较弱的单个客户机集 中到具有较高安全级别的、可由用户自己设定维护的、可信的信任域服务器上,从而消 除了存储系统对不可信文件服务器的信任需求,并降低了用户的管理复杂度和由客户机 密钥泄漏所带来的安全风险,因此非常适用于用户对底层共享文件系统没有控制权限的 应用场景。
     本发明的框架包括 :信任域服务器、文件服务器、客户端和网络。 其作用分别如下 : 1) 信任域服务器 :其作用是对用户的身份进行认证,并对文件的密钥进行管理 和分发 ;
     2) 文件服务器 :其作用是存储文件和安全元数据文件 ;
     3) 客户端 :创建文件并对文件进行访问 ;
     4) 网络 :作为文件传输的介质,传输用户的访问请求和文件信息 ;
     本发明的思路是 :
     1) 该存储系统与底层存储系统无关 ;即数据安全保护与已部署的底层存储系统 无关,底层存储系统只提供可靠的数据存储服务,而数据机密性、完整性的保护与访问 控制则在根据用户需求设立的信任域中完成 ;用户可以不依赖底层存储系统提供数据安 全性保护机制就能保证自己数据端到端的安全性,反过来底层存储系统也无法干涉用户 的安全性保护机制 ;
     2) 文件的机密性和完整性保护 ;
     i. 文件所有者创建文件 ;首先在本地使用哈希算法 —— SHA1 算法对文件以块
     为 单位计算哈希值,然后使用密钥和加密算法 AES 算法对文件以块为单位进行加密,然 后上传到云存储区中存储,这样就保证了文件在云存储区中的机密性,其中 SHA1 算法 是由美国国家安全局设计,并由美国国家标准与技术研究院发布的一种安全散列算法, 是一种被广泛应用的哈希算法,它的用处是将冗长的文件压缩成为一段独特的数字信息 ( 一般称为哈希值 ),保证原来文件的合法性和安全性,同时 AES 算法是美国国家技术 标准委员会在 2000 年所确定的高级加密标准,是一种广泛应用的保护数据安全的加密算 法 ;方便的密钥管理文件所有者将密钥分发和管理的权限交给信任域服务器进行。
     ii. 文件所有者指定访问控制列表,指定具有对该文件进行访问的权限的用户 ; 当文件所有者创建一份该文件的访问控制列表,将他认为可以对该文件进行访问的用户 添加入访问控制列表,并将访问控制列表发给信任域服务器,信任域服务器将该文件的 密钥发给访问控制列表上的用户。 当具有访问权限的用户对文件进行访问时,数据是以 密文形式在网络中传输,用户再利用掌握的密钥对文件以块为单位进行解密,然后使用 SHA1 算法对解密后的文件以块为单位计算哈希值,判断是否与读取到的哈希值相等,若 相等,则表示数据是完整的,最后读取文件内容,若用户计算的哈希值与读取到的哈希 值不相等,则表示数据的完整性遭到了破坏,则向系统报错 ; 3) 密钥的分发管理由信任域服务器统一进行 ;在该安全存储系统中主要实现的 密钥管理主要分为三层,其理由是 :利用层级的组织方式对对称密钥进行组织管理,从 而达到既保证系统性能和安全性,又不增加系统的管理负担的目的。 操作步骤如下 :
     i. 文件块密钥 :为了安全高效地处理大文件,在本系统中以块为单位加密文 件,并称此块为文件块,以区分底层存储系统块,每个文件块都使用一个单独的叫做文 件块密钥的对称密钥进行加密,并且每个文件都有一组文件块密钥, ;
     ii. 安全元数据文件密钥 :保存在安全元数据文件中的密钥是第二级,这些密钥 包括一个锁盒子密钥 LBK 和一个文件签名密钥 FSK。 锁盒子密钥 LBK 指的是 :在一个 锁盒子中装有一个文件中的所有文件块密钥,但是这个盒子则被对称的锁盒子密钥 LBK 加密。 只有得到锁盒子密钥 LBK 的授权用户才能解密锁盒子,进而得到文件块密钥以解 密文件内容 ;文件签名密钥 FSK 主要是写用户在对文件进行修改后的签名密钥。 在这个 安全存储系统中,正是通过文件签名密钥 FSK 来区分读操作和写操作,需要说明的是, 锁盒子密钥 LBK 和文件签名密钥 FSK 都是对称密钥,采用复杂度较低的对称密钥可以显 著降低系统的密码学计算开销 ;
     iii. 信任域服务器密钥 :最上面的层次是信任域服务器密钥 ;所谓信任域服 务器密钥只是信任域服务器所维护的两个对称密钥,一个叫做信任域服务器加密密钥 ASEK,一个叫做信任域服务器签名密钥 ASSK。 前者用来加密数据文件所对应的安全 元数据文件的锁盒子密钥 LBK 和文件签名密钥 FSK,从而进行访问控制和区分读 - 写 操作 ;后者用来作为 HMAC 算法的输入参数,对安全元数据文件中的访问控制块计算 HMAC 值以保证其完整性,其中 HMAC 是一种使用加密散列函数和密钥计算出来的一种 消息验证码,它的作用主要是对消息的完整性进行检查。 信任域服务器必须保证这两个 密钥的机密性,任何时候都不能将这两个密钥泄露给其他任何人,这一点可以在实际应 用中借助硬件辅助手段实现。
     本发明的特征在于,所述的方法是在信任域服务器、客户端和文件服务器组成
     的网络中,使用用户空间的文件系统 FUSE 在 Linux 上依次按照以下步骤实现的 :
     步骤 (1) :网络的初始化,
     步骤 (1.1) :信任域服务器的初始化,设立用户认证模块和访问控制模块,其 中用户认证模块采用了 SSL/TLS 协议和公钥基础设施 PKI,访问控制模块是在文件所有 者授权下执行对文件的访问控制,在系统中采用了三级密钥管理机制,其中第一级密钥 是文件块密钥,为了安全高效地处理大文件,在本系统中以块为单位加密文件,并称此 块为文件块,每个文件块都使用一个单独的叫做文件块密钥的对称密钥进行加密,文件 块密钥被加密后,存储在安全元数据文件中,第二级密钥是安全元数据文件密钥,包括 一个锁盒子密钥 LBK 和一个文件签名密钥 FSK,每个文件都有独自的安全元数据文件密 钥,其中锁盒子密钥 LBK 被用来加密该文件中的所有文件块密钥,保证文件块密钥的机 密性,后者是写用户在对文件数据进行修改后的签名密钥,用于区分读操作和写操作, 第三级密钥是信任域服务器密钥,是信任域服务器所维护的两个对称密钥,一个叫做信 任域服务器加密密钥 ASEK,用来加密数据文件所对应的安全元数据文件的锁盒子密钥 LBK 和文件签名密钥 FSK,从而进行访问控制和区分读 - 写操作,一个叫做信任域服务 器签名密钥 ASSK,用来对安全元数据文件中的访问控制块计算基于哈希的消息验证码, 即 HMAC 值,以保证访问控制块的完整性, 步骤 (1.2) :客户端设有数据加解密模块,数据完整性验证模块,缓存模块,文 件系统接口,
     步骤 (1.3) :文件服务器设有存储模块 ;
     步骤 (2) :用户申请获得用户身份标识,步骤如下 :
     步骤 (2.1) :用户在客户端通过安全套接层协议 SSL 和传输层安全协议 TLS 在加 密的信道上向信任域服务器的用户认证模块发送用户身份标识请求,
     步骤 (2.2) :所述的用户认证模块基于公钥基础设施,用户身份与信任域服务器 身份都是借助公钥基础设施所授予的 X.509 证书进行认证,系统新用户首先必须向注册机 构申请证书,然后才可以使用该系统 ;
     步骤 (3) :文件的所有者按照以下步骤创建文件 :
     步骤 (3.1) :所述的文件所有者向所述信任域服务器发送创建文件的请求 :文件 所有者首先创建访问控制块的内容,内容包括 :用户的身份标识、文件名、所指定的加 密算法和模式以及访问控制列表,并将访问控制块发给信任域服务器的访问控制模块, 其中所述访问控制列表包含用户名的哈希值以及该用户的访问权限,
     步骤 (3.2) :所述的信任域服务器处理文件所有者创建文件的请求,使用身份认 证模块对文件所有者的身份进行认证,判断其身份和权限,然后为其请求创建的文件生 成锁盒子密钥 LBK 和文件签名密钥 FSK ;
     步骤 (3.3) :信任域服务器使用信任域加密密钥 ASEK 加密锁盒子密钥 LBK 和文 件签名密钥 FSK,并使用信任域签名密钥 ASSK 为访问控制块计算 HMAC 值,并存入访 问控制块的 HMAC 域中,然后将访问控制块返回给文件所有者 ;
     步骤 (3.4) :所述文件所有者创建文件,输入数据,然后使用安全哈希算法,即 SHA1 算法,对文件以块为单位计算哈希值,将哈希值保存在安全元数据文件中,再使用 文件块密钥对文件以块为单位进行加密,并生成文件密文,最后将文件的密文和安全元
     数据文件发给所述文件服务器进行存储 ;
     步骤 (4) :读用户按照以下步骤读取步骤 (3) 所创建的文件 :
     步骤 (4.1) :从所述文件服务器端读取文件数据密文和安全元数据文件,
     步骤 (4.2) :按以下步骤进行该读用户的身份认证,
     步骤 (4.2.1) :读用户将自己的身份标识和安全元数据文件中的访问控制块发给 所述信任域服务器,
     步骤 (4.2.2) :信任域服务器调用身份认证模块确认用户的身份标识,调用访问 控制模块,使用信任域密钥 ASEK 解密该访问控制块,获得包括锁盒子密钥 LBK、文件 签名密钥 FSK 和访问控制列表在内的信息,使用信任域签名密钥 ASSK 计算访问控制块 的 HMAC 值,以判断访问控制块的完整性,并根据访问控制列表确定读用户的读权限, 然后将锁盒子密钥 LBK 发给读用户,
     步骤 (4.3) :该读用户获得锁盒子密钥 LBK 之后,利用其解密获得文件块密 钥,然后使用文件块密钥对文件数据进行解密,最后获得文件数据的明文信息,并使用 SHA1 算法对所读内容所在的文件块计算哈希值,看是否与安全元数据中保存的哈希值一 致,判断所读数据的完整性,若相等,则说明数据完整,用户再读取该数据,否则则向 系统报错 ;
     步骤 (5) :写用户按照以下步骤写入或者修改文件数据,
     步骤 (5.1) :该写用户首先从所述文件服务器端读取要修改的所述文件数据的密 文和安全元数据文件,
     步骤 (5.2) :写用户按以下步骤进行身份认证,
     步骤 (5.2.1) :该写用户将自己的身份标识和安全元数据文件中的访问控制块 发给信任 域服务器,所述信任域服务器调用身份认证模块确认用户的身份标识,并调 用所述访问控制模块,使用信任域密钥 ASEK 解密该访问控制块,获得包括锁盒子密钥 LBK、文件签名密钥 FSK 和访问控制列表在内的信息,使用信任域签名密钥 ASSK 重新 计算该访问控制块的 HMAC 值,看是否与访问控制块中的 HMAC 值相等,判断该访问控 制块是否完整,并通过访问控制列表确定写用户所具有的写权限,接着,并将锁盒子密 钥 LBK 和文件签名密钥 FSK 返回给用户,
     步骤 (5.3) 写用户按以下步骤写入或者修改文件,
     步骤 (5.3.1) 写用户使用锁盒子密钥 LBK 获得文件块密钥,然后使用文件块密钥 对文件数据进行解密,获得文件明文信息,并使用 SHA1 算法对文件以块为单位计算所 要修改内容所在文件块的哈希值,看是否与安全元数据中保存的哈希值一致,判断所读 数据的完整性,
     步骤 (5.3.2) :对步骤 (5.3.1) 的文件进行写入或者修改,并使用文件块密钥重新 对新的文件数据进行加密,并使用文件签名密钥 FSK 进行签名,
     步骤 (5.3.3) :写用户将修改后的文件数据和安全元数据文件发给所述文件服务 器进行存储 ;
     步骤 (6) :所述文件所有者按以下步骤进行权限撤销操作 :
     步骤 (6.1) :该文件所有者从所述文件服务器端获得安全元数据文件,然后将 自己的身份标识、安全元数据文件中的访问控制块和拟撤销的用户列表发给信任域服务器, 步骤 (6.2) :该信任域服务器按以下步骤执行操作,
     步骤 (6.2.1) :调用所述的身份认证模块对文件所有者的身份标识进行认证,确 定其具有撤销用户操作的权限,
     步骤 (6.2.1) :调用所述的访问控制模块,使用信任域密钥 ASEK 解密该访问控 制块,获得访问控制列表、锁盒子密钥 LBK 和文件签名密钥 FSK 在内的信息,并使用自 己的信任域签名密钥 ASSK 重新计算该访问控制块的 HMAC 值,判断该访问控制块的完 整,然后从访问控制块的访问控制列表中删除需要撤销的用户所在的访问控制列表项, 接着为文件生成新的锁盒子密钥 LBK′和新的文件签名密钥 FSK′,然后信任域服务器 用信任域服务器加密密钥 ASEK 重新加密新生成的锁盒子密钥 LBK ′和新生成的文件 签名密钥 FSK′,并使用信任域服务器签名密钥 ASSK 重新对修改过的访问控制块计算 HMAC,
     步 骤 (6.2.2) :所 述 信 任 域 服 务 器 将 新 的 访 问 控 制 块、 新 的 文 件 签 名 密 钥 FSK′、新的锁盒子密钥 LBK′以及旧的锁盒子密钥 LBK 返回给文件所有者,
     步骤 (6.3) :所述文件所有者按以下方式使用懒惰撤销操作 :使用旧的锁盒子密 钥 LBK 解密所有文件块密钥,使用新的锁盒子密钥 LBK′加密这些文件块密钥,对文件 块的重新加密操作推迟到用户对文件块的更新时再进行。
     本发明的效果如下 :
     1. 不依赖于底层文件系统并保证用户文件在云存储区的机密性,只有拥有合法 权限的用户才可以获得文件的信息 ;
     2. 保证了用户对文件操作过程中端到端的完整性,用户能够及时发现数据在网 络中传输时是否被非法篡改或者由于存储介质的变化导致数据破坏等情况 ;
     3. 降低了权限撤销的开销,特别是在一个多用户,权限变更频繁的应用场景 中,本发明能够很大程度提高权限撤销的效率 ;
     本发明在清华大学计算机系高性能计算技术研究所进行过测试,结果表明,这 种安全存储系统能在云存储环境下为用户提供文件共享的同时,也能保证数据的机密 性、完整性和访问控制,并且性能开销也在用户可以接受的范围之内。
     附图说明 :
     图 1 系统结构图。
     图 2 文件所有者创建文件示意图。
     图 3 读用户读文件示意图。
     图 4 写用户写文件示意图。
     图 5 文件所有者撤销用户权限示意图。
     图 6 访问控制块图示意图。
     图 7 单机环境下使用 IOzone 测试对比 ext3 和本发明的读写性能。
     图 8 集群环境下使用 IOzone 测试对比 NFS 和本发明的读写性能。具体实施方式 :
     本发明的具体实施方式如下 :
     步骤 1 :用户申请获得用户标识 :用户标识是用户在系统中唯一的身份标识, 文件所有者和信任域服务器都是通过用户的标识来确定用户的身份,判断其的访问权 限 ;为了安全有效地识别系统中主体 ( 包括信任域服务器和用户 ) 的身份,以便系统对 进行操作的用户建立起相互之间的信任关系,系统需要一种独立于底层存储系统的安全 的用户身份标识机制。 在本系统中采用公钥基础设施 (PKI, Public Key Infrastructure), 通过数字证书来为系统提供用户标识。 数字证书是由公正、权威的机构签发给主体的电 子文档,该文档中记录有主体名称、证书序号、签发方名称、证书的有效期、密码算法 标识、公钥信息和其它信息,并经过签发方的数字签名公钥基础设施是包括了硬件、软 件、人力、策略和过程的平台或框架,它利用公钥技术提供了对数字证书进行创建、管 理、分发、使用、存储以及撤销的功能。 证书颁发机构 (CA, CerfiticateAuthority) 和注 册机构 (RA, Registration Authority) 是公钥基础设施的重要组成部分。 前者是公钥基础 设施的核心,它是一个可信的第三方,通过将用户的公钥与用户的其他信息 ( 包括用户 身份 ) 绑定在一起来为用户签发数字证书,并提供证书的查询、撤销、生命周期管理以 及密钥管理 ;后者主要是面向用户履行证书颁发机构委派的一些责任。 公钥 基础设施是 一种成熟的、被广泛应用的技术体系,具有统一的规范和标准,并有很多较为完备的实 现。 利用公钥基础设施为系统提供用户标识,可以将维护用户标识唯一性和真实性的工 作交给这个成熟的体系来完成,同时使系统用户在不必了解复杂管理细节的情况下安全 高效地验证其他系统主体的身份,实现用户之间的相互信任,从而保证用户信息的真实 性、完整性、机密性和不可否认性 ; 步骤 2 :文件所有者创建文件,文件所有者创建文件的步骤一般有如下步骤, 具体如图 2 所示 ;
     步骤 2.1 :文件所有者向信任域服务器发送创建文件的请求 :文件所有者首先 创建访问控制块的内容,内容包括 :他的身份标识、文件名、所指定的加密算法和模式 以及访问控制列表,并将访问控制块发给信任域服务器 ;
     步骤 2.2 :信任域服务器处理文件所有者创建文件的请求 :信任域服务器首先 根据文件所有者的身份标识判断其身份和权限,然后为其请求创建的文件生成锁盒子密 钥 LBK 和文件签名密钥 FSK,接着信任域服务器使用信任域加密密钥 ASEK 加密锁盒子 密钥 LBK 和文件签名密钥 FSK,并使用信任域签名密钥 ASSK 为访问控制块计算 HMAC 值,然后将访问控制块返回给文件所有者 ;
     步骤 2.3 :文件所有者创建文件 :文件所有者创建文件,输入内容,然后使用 SHA1 算法对文件以块为单位计算哈希值,将哈希值保存在安全元数据文件中,再使用文 件块密钥对文件以块为单位进行加密,并生成文件密文,最后将文件的密文和安全元数 据文件发给文件服务器进行存储 ;
     步骤 3 :读用户读取文件,读用户读取文件信息一般有如下步骤,具体如图 3 所示 : 步骤 3.1 :读取文件密文和安全元数据文件 ;读用户首先从文件服务器端读取 文件密文和安全元数据文件,获得访问控制块 ;
     步骤 3.2 :读用户的身份认证 ;读用户将自己的身份标识和安全元数据文件中
     的访问控制块发给信任域服务器,信任域在接收到读用户的身份标识和访问控制块后, 首先使用信任域密钥 ASEK 解密该访问控制块,获得访问控制列表、锁盒子密钥 LBK 和 文件签名密钥 FSK 等信息,然后使用自己的信任域签名密钥 ASSK,计算访问控制块的 HMAC 值,判断访问控制块的完整性,然后信任域服务器确认了用户的身份标识,并根 据访问控制列表确定了读用户的读权限,然后将锁盒子密钥 LBK 发给读用户 ;
     步骤 3.3 :读用户读取文件 ;读用户获得锁盒子密钥 LBK 之后,利用其解密 获得文件块密钥,然后使用文件块密钥对所读内容所在的文件块进行解密,获得明文信 息,并使用 SHA1 算法对所读内容所在的文件块计算哈希值,看是否与安全元数据中保 存的哈希值一致,判断所读数据的完整性,若所读数据是完整的,则读取该数据,否则 向系统报错 ;
     步骤 4 :写用户对文件进行修改,一般步骤如下,具体如图 4 所示 :
     步骤 4.1 :写用户读取文件密文和安全元数据文件 ;写用户首先从文件服务器 端读取要修改的文件的密文和安全元数据文件 ;
     步骤 4.2 :写用户的身份认证 ;写用户将自己的身份标识和安全元数据文件中 的访问控制块发给信任域服务器,信任域服务器接收到访问控制块后,使用信任域密钥 ASEK 解密该访问控制块,获得访问控制列表、锁盒子密钥 LBK 和文件签名密钥 FSK 等 信息,并使用自己的信任域签名密钥 ASSK 重新计算该访问控制块的 HMAC 值,看是否 与访问控制块中的 HMAC 值相等,判断该访问控制块是否完整,然后确认用户的身份标 识,并通过访问控制列表确定用户所具有的写权限,并将锁盒子密钥 LBK 和文件签名密 钥 FSK 返回给用户, 步骤 4.3 :写用户修改文件 ;写用户在获得锁盒子密钥 LBK 和文件签名密钥 FSK 后,使用锁盒子密钥 LBK 获得文件块密钥,然后使用文件块密钥对所修改内容所 在的文件块进行解密,获得明文信息,并使用 SHA1 算法对要修改内容所在的文件块计 算,看是否与安全元数据中保存的哈希值一致,判断所修改数据的完整性,紧接着写用 户修改文件,然后使用文件块密钥重新对写入的内容计算哈希值和进行加密,并使用文 件签名密钥 FSK 进行签名,最后还需要对安全元数据进行更新 ;
     步骤 4.4 :写用户将修改后的文件和安全元数据文件发给文件服务器进行存储 ;
     步骤 5 :权限撤销的操作 ;当文件所有者认为某个用户可能会对文件造成破坏 或者会向外散播该文件信息,可能会将这个用户的权限进行撤销,当文件所有者撤销用 户的权限,一般具有以下步骤,具体如图 5 所示 ;
     步骤 5.1 :文件所有者向信任域服务器发出请求,请求撤销用户的权限 ;首先 文件所有者从文件服务器端获得安全元数据文件,然后将自己的身份标识、安全元数据 文件中的访问控制块和撤销的用户列表发给信任域服务器 ;
     步骤 5.2 :信任域服务器对文件所有者的请求进行处理 ;信任域服务器接收到 用户的请求后,首先使用信任域密钥 ASEK 解密该访问控制块,获得访问控制列表、锁 盒子密钥 LBK 和文件签名密钥 FSK 等信息,并使用自己的信任域签名密钥 ASSK 重新计 算该访问控制块的 HMAC 值,判断该访问控制块的完整后,在对文件所有者的身份进行 认证,在确定文件所有者的身份和其具有撤销用户操作的权限后,然后从访问控制块的 访问控制列表中删除需要撤销的用户所在的访问控制列表项,接着为文件生成新的锁盒
     子密钥 LBK′和新的文件签名密钥 FSK′。 然后信任域服务器用信任域服务器加密密钥 重新加密新生成的锁盒子密钥 LBK′和文件签名密钥 FSK′,并使用信任域服务器签名 密钥重新对修改过的访问控制块计算 HMAC。 然后,信任域服务器将新的访问控制块、 新的文件签名密钥、新的锁盒子密钥 LBK ′以及旧的锁盒子密钥 LBK 返回给文件所有 者;
     步骤 5.3 :文件所有者使用懒惰撤销操作 ;文件所有者首先使用旧的锁盒子密 钥 LBK 解密所有文件块密钥,使用新的锁盒子密钥 LBK′加密这些文件块密钥,并将新 的访问控制块信息写入到安全元数据文件中,所谓的懒惰撤销方法指的是 :文件所有者 并不是使用新的密钥对整个文件 ( 即所有的文件块 ) 进行重新加密,而是将对文件块的重 新加密操作推迟到用户对文件块的更新时再进行 ;
     本发明的系统结构如图 1 所示,使用 FUSE(Filesystem in Userspace) 框架在 Linux 上实现。 FUSE 是一种被文件系统开发者广泛使用的技术。 通过 FUSE,文件系统开发 者可以在不修改内核的前提下迅速方便地开发自己的用户态文件系统。 得益于其内核模 块,FUSE 可以从 VFS 层截获系统调用,然后将这些系统调用传递给开发者自己的用户态 的文件系统以实现一些特殊的操作逻辑。 FUSE 也使得用户可以在没有 root 权限的情况下 挂载自己的文件系统。 此外,FUSE 独立于特定的底层存储系统,具有良好的可移植性。 这些特性完全满足了本发明的设计和实现需求。 在密码学操作上,本发明使用 OpenSSL 库来执行密码学相关操作,其中 OpenSSL 是。 这个库以良好的实现和完备的接口著称, 因此被广泛应用。在系统中使用 SHA-1 作为密码学哈希函数,使用基于 SHA-1 的 HMAC 作为 MAC 函数,以及使用 AES-256 作为默认的块加密函数。这些参数都是可以由用户在 挂载系统时进行配置。 另外,OpenSSL 也提供了对公钥基础设施 (PKI) 的较好的实现, 可以用在系统中以认证系统角色并在用户和信任域服务器之间建立安全信道。
     本发明的核心是提出了一种云存储环境下的安全存储系统,其实现主要是由以 下几个部分以及其相应的模块组成 :
     ●信任域服务器
     信任域服务器主要有以下几个模块构成 :
     1. 用户认证模块
     该模块负责对用户身份进行验证。 实际上因为采用了在 SSL/TLS 和公钥基础 设施,用户身份与信任域服务器身份都是借助公钥基础设施所授予的 X.509 证书进行认证 的,系统新用户首先必须向注册机构 (RA, RegistrationAuthority) 申请证书,然后才可以 使用该系统。 尽管这个过程需要基于非对称加密的公钥基础设施的支持,并会引入一定 的开销,但是这种非对称计算只有在新用户第一次加入才会发生并且只进行一次 ;在占 据绝大多数使用时间的后续的文件访问过程中进行的全部是对称加密计算,这样一来相 比其他采用非对称加密的系统,本系统并不会引入过多的性能开销。 在用户与信任域服 务器进行通信的时候,信任域服务器需要验证用户证书,并从中得到用户的用户名,据 此计算用户名哈希值以便进行后续的访问控制。
     用户在进行文件访问时,必须首先在客户端上通过 SSL/TLS 协议在加密的信道 上与信任域服务器交互,信任域服务器需要验证用户证书,并从中得到用户的用户名, 据此计算用户名哈希值 ;在信任域服务器的通过用户认证与访问控制权限验证以后,用户才可以最终获得文件块密钥。
     关于公钥基础设施需要指出的是,一些具有安全需求的组织或机构可能已经部 署了公钥基础设施,因此这并不是一个额外的配置要求。
     2. 访问控制模块
     该模块在文件所有者授权下执行对文件的访问控制,所执行的操作包括对用户 发来的访问控制块完整性的验证 ( 通过计算访问控制块的 HMAC 值 ),对用户身份的验 证 ( 验证用户的身份标识,并通过比较发送请求中的用户名哈希值与访问控制块中访问 控制列表保存的用户名哈希 ),对用户请求访问权限的验证 ( 通过查询访问控制列表获得 用户的所具有的权限操作 ),以及对访问控制块中相关密钥的解密 ( 使用信任域加密密 钥 ASEK 对访问控制块进行解密,使用信任域签名密钥 ASSK 计算访问控制块的 HMAC 值 )。
     ●客户端
     客户端主要由以下几个模块构成 :
     1. 数据加解密模块
     该模块承担了系统的大部分的加解密相关的密码学操作操作,包括使用文件块 密钥加解密文件块等。 此外该模块还负责处理客户端与信任域服务器之间的通信。
     2. 数据完整性验证模块
     该模块提供文件块内容完整性验证等操作,以及文件块内容哈希值更新等操 作。
     3. 缓存模块
     缓存模块提供缓存以提高系统性能。 缓存分为安全元数据缓存和文件数据缓存 两部分。 其中,安全元数据缓存对诸如访问控制块、用于访问控制的密钥进行缓存 ;而 文件数据缓存则负责缓存文件数据。 此外该模块还负责维护缓存与实际数据的一致性。
     4. 文件系统接口
     该模块提供了 POSIX 文件系统调用。 本发明在这些接口中实现了大部分逻辑, 考虑了对 FUSE 挂载点路径的转换处理和因为以文件块为单位验证数据内容完整性而导致 的对访问请求偏移和长度的扩展,并实现了对文件空洞进行读写的支持。
     ●文件服务器
     1. 存储模块 :存储文件密文和安全元数据文件。 其中,安全元数据文件的主 要构成为 :访问控制块和文件的一些完整性信息。 访问控制块的内容如图 6 所示主要 包括 :文件名的哈希值、访问控制列表、加密算法和加密的模式、锁盒子密钥和文件签 名密钥,以及整个访问控制块的 HMAC 值,其中访问控制列表如下表所示,它是一个二 维数组,其中一列是用户名的哈希值,这样做的目的是可以保证用户名的机密性和完整 性,另一列是用户的操作权限,其中 “r” 表示用户具有读操作权限, “w” 表示用户具 有写操作权限,对于可执行文件来说, “x” 表示可执行操作权限 ;另外,文件的完整 性信息主要是文件块的哈希值等。
     用户名 ( 哈希值 ) Hash( 用户名 1)14操作权限 rw-CN 102014133 A CN 102014140 A说明书r-... r--11/12 页Hash( 用户名 2) ... Hash( 用户名 n)
     性能测试
     本发明在清华大学计算机科学与技术系高性能计算研究所进行了系统的测试, 这些测试包括使用业界认可的文件系统的基准程序 IOzone,分别在单机和集群环境下测 试本发明的读写性能,以及测试了本发明在权限撤销下的性能。
     ●单机标准测试程序测试
     使用 IOzone 对本发明在单机文件系统 ext3 下的文件系统的性能进行测试。 实验 环境包含一台具有 1.8GHz AMD 双核 CPU 和 4GB 内存的 Sun SunFireTM V20z 服务器,该 服务器上运行的操作系统是 Debian Linux(version 2.6.30)。 该服务器上同时运行信任域服 务器端与客户端软件。 为消除文件系统缓存的影响,实验将文件大小设为 8GB(2 倍于系 统内存大小 )。在测试中,测试文件大小为 8GB ;文件系统访问请求大小分别为 64KB。
     由于没有网络通信开销,密码学计算开销将占据额外开销的主要部分。 通过 对本发明在 AES-256 加密算法 CFB 模式下运行 IOzone,并将结果与直接在 ext3 上运行 IOzone 的结果对比,有助于深入了解 ( 因密码学计算所致性能下降的 ) 系统性能,最后得 到的结果如图 7 所示。
     从图中可以看出与 ext3 相比,本发明由于密码学计算的开销带来平均 30%左右 的性能下降。
     ●集群标准测试程序测试
     为使测试结果接近本发明在网络环境下文件系统的真实性能,本文使用 IOzone 对架在 NFS 之上的本发明与 NFS 进行性能比较。 实验环境架设在具有 7 个节点的 Dell PowerEdgeTM M605 刀片集群上,包括 1 台信任域服务器,1 台 NFSv4 服务器和 5 台装有 本发明的客户机,这些机器通过 1000Mbps 以太网连接。 信任域服务器和 NFS 服务器分 别运行在具有两颗 800MHz AMD 四核 CPU 和 16GB 内存的机器上,装有本发明的客户端 则分别运行在 5 台具有两颗 800MHz AMD 四核 CPU 和 8GB 内存的客户机上。 这些机器 上运行的操作系统都是 Fedora Core 10Linux(version 2.6.32)。 实验采用 256 位 AES 算法 做数据加密算法,采用 SHA-1 算法作为密码学哈希函数,并使用基于 SHA-1 的 HMAC 作为 MAC 算法。 为消除文件系统缓存的影响并测试对实际应用中较大文件的支 持,将 文件大小设为 16GB(2 倍于系统内存大小 )。
     需要指出的是,为更贴近实际应用,实验选取默认的 64KB 作为文件块大小,并 选择 CFB 作为 AES-256 的加密模式,因为其安全性较好,可在实际中广泛应用。
     实验利用 IOzone 分别测试了 NFS 和架设在 NFS 之上的本发明在 16GB 文件上以 64KB 请求进行的顺序写、顺序重写、顺序读和顺序重读的吞吐率。 实验结果如图 8 所 示,图中结果为 5 个节点上测试所得的聚合吞吐率。
     从图中可以看出,本发明架在 NFS 之上的聚合访问速度十分接近于 NFS 本身的 速度,由此可见当客户端增多时,底层存储成为了瓶颈,本发明引入的计算开销就很不 明显了。 实验结果表明,在共享存储环境中,本发明将能得到很好的应用。
     ●权限撤销测试环境包括一台信任域服务器和一台客户机,每台机器的配置为 :装有 1.8GHz AMD 双核 CPU 和 4GB 内存的 Sun SunFireTM V20z 服务器,操作系统是 Debian Linux( 内核版本 2.6.30)。 实验在一个 1GB 大小的文件上首先对 1000 个不同的用户授予 r-- 权限,然后将这些用户的权限修改为 rw-,最后撤销这些用户的权限。 实验在装有本 发明的客户端的访问控制工具上测试得到的每个用户的有关权限的操作时间并且将这些 时间做了平均,得到结果下所示。
     操作名称 时间 (ms) 权限授予 1.862739 权限变更 1.858765 权限撤销 21.744502 可以看出在本发明中对大文件的用户使用权限操作时间开销较短,具有很好的高效性。

在云存储环境下一种安全存储系统的实现方法.pdf_第1页
第1页 / 共20页
在云存储环境下一种安全存储系统的实现方法.pdf_第2页
第2页 / 共20页
在云存储环境下一种安全存储系统的实现方法.pdf_第3页
第3页 / 共20页
点击查看更多>>
资源描述

《在云存储环境下一种安全存储系统的实现方法.pdf》由会员分享,可在线阅读,更多相关《在云存储环境下一种安全存储系统的实现方法.pdf(20页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN102014133A43申请公布日20110413CN102014133ACN102014133A21申请号201010569398222申请日20101126H04L29/06200601H04L29/0820060171申请人清华大学地址100084北京市海淀区清华园1号72发明人舒继武薛巍薛矛沈志荣74专利代理机构北京思海天达知识产权代理有限公司11203代理人楼艮基54发明名称在云存储环境下一种安全存储系统的实现方法57摘要在云存储环境下一种安全存储系统的实现方法属于存储安全技术领域,其特征在于在服务器中根据用户需求建立信任域,在其中利用公钥基础设施PKI进行身份认证。

2、,利用用户空间的文件系统FUSE,实现了存储系统与底层系统无关,利用哈希算法SHA1算法以块为单位对文件计算哈希值,再利用密钥和对称加密算法AES算法对以块为单位对文件块加密,再将文件密文上传到云存储区中的文件服务器,保证了文件的机密性和完整性,文件所有者通过在访问控制列表中指定具有对该文件进行访问的用户及其权限,在发生权限撤销操作时,将对文件进行重新加密的操作推迟,只有当用户对文件内容进行修改时,由该用户重新加密修改内容所在的文件块,系统实行了文件块密钥、安全元数据文件密钥和信任域服务器密钥三层密钥管理,既保证了权限撤销时文件的安全性,又不增加系统的管理负担。51INTCL19中华人民共和国。

3、国家知识产权局12发明专利申请权利要求书3页说明书12页附图4页CN102014140A1/3页21在云存储环境下的一种安全存储系统的实现方法,其特征在于,所述的方法是在信任域服务器、客户端和文件服务器组成的网络中,使用用户空间的文件系统FUSE在LINUX上依次按照以下步骤实现的步骤1网络的初始化,步骤11信任域服务器的初始化,设立用户认证模块和访问控制模块,其中用户认证模块采用了SSL/TLS协议和公钥基础设施PKI,访问控制模块是在文件所有者授权下执行对文件的访问控制,在系统中采用了三级密钥管理机制,其中第一级密钥是文件块密钥,为了安全高效地处理大文件,在本系统中以块为单位加密文件,并称。

4、此块为文件块,每个文件块都使用一个单独的叫做文件块密钥的对称密钥进行加密,文件块密钥被加密后,存储在安全元数据文件中,第二级密钥是安全元数据文件密钥,包括一个锁盒子密钥LBK和一个文件签名密钥FSK,每个文件都有独自的安全元数据文件密钥,其中锁盒子密钥LBK被用来加密该文件中的所有文件块密钥,保证文件块密钥的机密性,后者是写用户在对文件数据进行修改后的签名密钥,用于区分读操作和写操作,第三级密钥是信任域服务器密钥,是信任域服务器所维护的两个对称密钥,一个叫做信任域服务器加密密钥ASEK,用来加密数据文件所对应的安全元数据文件的锁盒子密钥LBK和文件签名密钥FSK,从而进行访问控制和区分读写操作。

5、,一个叫做信任域服务器签名密钥ASSK,用来对安全元数据文件中的访问控制块计算基于哈希的消息验证码,即HMAC值,以保证访问控制块的完整性,步骤12客户端设有数据加解密模块,数据完整性验证模块,缓存模块,文件系统接口,步骤13文件服务器设有存储模块;步骤2用户申请获得用户身份标识,步骤如下步骤21用户在客户端通过安全套接层协议SSL和传输层安全协议TLS在加密的信道上向信任域服务器的用户认证模块发送用户身份标识请求,步骤22所述的用户认证模块基于公钥基础设施,用户身份与信任域服务器身份都是借助公钥基础设施所授予的X509证书进行认证,系统新用户首先必须向注册机构申请证书,然后才可以使用该系统;。

6、步骤3文件的所有者按照以下步骤创建文件步骤31所述的文件所有者向所述信任域服务器发送创建文件的请求文件所有者首先创建访问控制块的内容,内容包括用户的身份标识、文件名、所指定的加密算法和模式以及访问控制列表,并将访问控制块发给信任域服务器的访问控制模块,其中所述访问控制列表包含用户名的哈希值以及该用户的访问权限,步骤32所述的信任域服务器处理文件所有者创建文件的请求,使用身份认证模块对文件所有者的身份进行认证,判断其身份和权限,然后为其请求创建的文件生成锁盒子密钥LBK和文件签名密钥FSK;步骤33信任域服务器使用信任域加密密钥ASEK加密锁盒子密钥LBK和文件签名密钥FSK,并使用信任域签名密。

7、钥ASSK为访问控制块计算HMAC值,并存入访问控制块的HMAC域中,然后将访问控制块返回给文件所有者;步骤34所述文件所有者创建文件,输入数据,然后使用安全哈希算法SHA1,权利要求书CN102014133ACN102014140A2/3页3对文件以块为单位计算哈希值,将哈希值保存在安全元数据文件中,再使用文件块密钥对文件以块为单位进行加密,并生成文件密文,最后将文件的密文和安全元数据文件发给所述文件服务器进行存储;步骤4读用户按照以下步骤读取步骤3所创建的文件步骤41从所述文件服务器端读取文件数据密文和安全元数据文件,步骤42按以下步骤进行该读用户的身份认证,步骤421读用户将自己的身份标。

8、识和安全元数据文件中的访问控制块发给所述信任域服务器,步骤422信任域服务器调用身份认证模块确认用户的身份标识,调用访问控制模块,使用信任域密钥ASEK解密该访问控制块,获得包括锁盒子密钥LBK、文件签名密钥FSK和访问控制列表在内的信息,使用信任域签名密钥ASSK计算访问控制块的HMAC值,以判断访问控制块的完整性,并根据访问控制列表确定读用户的读权限,然后将锁盒子密钥LBK发给读用户,步骤43该读用户获得锁盒子密钥LBK之后,利用其解密获得文件块密钥,然后使用文件块密钥对文件数据进行解密,最后获得文件数据的明文信息,并使用SHA1算法对所读内容所在的文件块计算哈希值,看是否与安全元数据中保。

9、存的哈希值一致,判断所读数据的完整性,若相等,则说明数据完整,用户再读取该数据,否则则向系统报错;步骤5写用户按照以下步骤写入或者修改文件数据,步骤51该写用户首先从所述文件服务器端读取要修改的所述文件数据的密文和安全元数据文件,步骤52写用户按以下步骤进行身份认证,步骤521该写用户将自己的身份标识和安全元数据文件中的访问控制块发给信任域服务器,所述信任域服务器调用身份认证模块确认用户的身份标识,并调用所述访问控制模块,使用信任域密钥ASEK解密该访问控制块,获得包括锁盒子密钥LBK、文件签名密钥FSK和访问控制列表在内的信息,使用信任域签名密钥ASSK重新计算该访问控制块的HMAC值,看是。

10、否与访问控制块中的HMAC值相等,判断该访问控制块是否完整,并通过访问控制列表确定写用户所具有的写权限,接着,并将锁盒子密钥LBK和文件签名密钥FSK返回给用户,步骤53写用户按以下步骤写入或者修改文件,步骤531写用户使用锁盒子密钥LBK获得文件块密钥,然后使用文件块密钥对文件数据进行解密,获得文件明文信息,并使用SHA1算法对文件以块为单位计算所要修改内容所在文件块的哈希值,看是否与安全元数据中保存的哈希值一致,判断所读数据的完整性,步骤532对步骤531的文件进行写入或者修改,并使用文件块密钥重新对新的文件数据进行加密,并使用文件签名密钥FSK进行签名,步骤533写用户将修改后的文件数据。

11、和安全元数据文件发给所述文件服务器进行存储;步骤6所述文件所有者按以下步骤进行权限撤销操作权利要求书CN102014133ACN102014140A3/3页4步骤61该文件所有者从所述文件服务器端获得安全元数据文件,然后将自己的身份标识、安全元数据文件中的访问控制块和拟撤销的用户列表发给信任域服务器,步骤62该信任域服务器按以下步骤执行操作,步骤621调用所述的身份认证模块对文件所有者的身份标识进行认证,确定其具有撤销用户操作的权限,步骤621调用所述的访问控制模块,使用信任域密钥ASEK解密该访问控制块,获得访问控制列表、锁盒子密钥LBK和文件签名密钥FSK在内的信息,并使用自己的信任域签名。

12、密钥ASSK重新计算该访问控制块的HMAC值,判断该访问控制块的完整,然后从访问控制块的访问控制列表中删除需要撤销的用户所在的访问控制列表项,接着为文件生成新的锁盒子密钥LBK和新的文件签名密钥FSK,然后信任域服务器用信任域服务器加密密钥ASEK重新加密新生成的锁盒子密钥LBK和新生成的文件签名密钥FSK,并使用信任域服务器签名密钥ASSK重新对修改过的访问控制块计算HMAC,步骤622所述信任域服务器将新的访问控制块、新的文件签名密钥FSK、新的锁盒子密钥LBK以及旧的锁盒子密钥LBK返回给文件所有者,步骤63所述文件所有者按以下方式使用懒惰撤销操作使用旧的锁盒子密钥LBK解密所有文件块密。

13、钥,使用新的锁盒子密钥LBK加密这些文件块密钥,对文件块的重新加密操作推迟到用户对文件块的更新时再进行。权利要求书CN102014133ACN102014140A1/12页5在云存储环境下一种安全存储系统的实现方法技术领域0001云存储环境下安全存储系统的实现方法属于存储安全领域,尤其涉及其中的安全访问控制、密钥分发管理和文件管理等技术领域。背景技术0002现今随着云计算技术的飞速发展,云存储也逐渐受到了广泛的关注和应用,文件所有者可以创建文件,并将文件上传到云存储区中,将文件交由云存储服务提供商进行管理,同时该文件所有者可以允许指定其他用户对该文件进行读写访问,实现了文件的共享访问。0003。

14、虽然云存储服务提供商能够给用户提供方便的文件共享访问,但是存在于其中的安全问题则不容忽视。首先,文件的机密性无法保证文件是以明文形式存储于云存储区中,这些信息都毫无保留地置于云存储服务提供商的视线之中,倘若云存储服务提供商获取了这些文件信息,并应用于非法目的,则将给用户带来不可预计的后果;其次,文件信息的完整性无法保证在其他用户对该文件的共享时,文件的信息是以明文的形式在网络中传输,这样就给网络窃听者带来了可乘之机,网络窃听者可以在网络中截取文件信息,在得到文件信息后,可以将不利于自己的一些信息删去,同时人为添加一些对自己有利的虚假信息,然后再将该信息发给其他用户,达到自己的非法目的;再次,对。

15、于权限的没有有效地管理,以及权限撤销时的安全性无法保证如何能够有效实现用户对该文件的共享,以及当一个用户的对该文件的访问权限被撤销后,如何能够保证该文件更新后的内容不会再被撤销权限的用户获得。以上这些都是考验安全存储系统的一些安全性问题。0004安全存储系统的功能是使用户能够保证共享数据的安全,它的实现方法是首先文件所有者在本地使用哈希算法对该文件以块为单位计算哈希值,并使用密钥和加密算法对文件以块为单位进行加密,然后将密文和哈希值一起放入公共的存储区进行存储,这样公共存储区的管理员就无法得知文件的内容,保证了数据的机密性,同时由该文件的所有者将密钥分发给他认为可以对该文件进行访问的用户。这些。

16、用户可以访问该文件,并用掌握的密钥对访问内容所在文件块进行解密,然后计算这些块的哈希值,看是否与保存的哈希值相等,如果相等,则说明访问的内容是完整的,最后再进行读取文件的内容。在国内外现今所实现的安全存储系统,虽然保证了文件的机密性和完整性,但是还有一些不足首先,有的存储系统的实现需要底层存储系统的支持,甚至是需要对内核的版本进行改动或者是有特定内核版本的要求,这样给用户带来了许多不便,如果用户需要使用这些安全存储系统,则需要安装特定的底层存储系统,或者是需要特定版本的内核,或者是需要对内核进行修改;其次,有的安全存储系统在对文件进行操作时,使用到了非对称加密算法,在一些情况中还需要使用到密钥。

17、回滚操作,由于非对称加密算法的复杂度较高,因此该类安全存储系统的性能不容乐观;再次,大部分现今的安全存储系统在对待用户的权限撤销上,一般使用的是积极撤销方法,积极撤消操作出说明书CN102014133ACN102014140A2/12页6现的背景是由于文件的所有者可能会认为已经授权访问该文件的某个用户会对该文件进行破坏或者该用户可能会将文件的内容散发出去,造成文件所有者所不希望看到的效果,因此文件所有者可能会将这个用户的权限进行撤销,但是由于该用户已经掌握了访问该文件所需要的密钥,因此为了保证文件的安全性,文件所有者不得不立刻重新生成新的密钥,并用新的密钥重立刻新对文件进行加密,最后将新的密钥。

18、分发给除了被撤销权限的用户之外的其他合法用户,这就是积极撤销,这样做带来的一些后果是,对于大文件来说,积极撤销带来的立刻重新加密的密码学开销极为庞大,同时在频繁撤销的环境中,这种安全存储系统的开销也可能让用户难以承受。0005本发明实现了一种云存储环境下的安全存储系统,其为用户保证了数据的机密性和完整性,同时对用户的权限进行的有效地管理,并保证了权限撤销时文件的安全性,该系统还具有良好的可拓展性。发明内容0006本发明的目的在于提供一种云存储环境下安全存储系统的系统架构,使得用户在不可信的存储和网络环境中即使失去了对系统物理资源的控制仍然可以安全高效地进行文件共享,同时数据安全保护与已部署的底。

19、层存储系统无关底层存储系统只提供可靠的数据存储服务,而数据机密性、完整性的保护与访问控制则在根据用户需求设立的信任域中完成;用户可以不依赖底层存储系统提供数据安全性保护机制就能保证自己数据端到端的安全性,反过来底层存储系统也无法干涉用户的安全性保护机制。该架构将数据安全保护的责任从用户不具有控制权限的数据服务器和安全性较弱的单个客户机集中到具有较高安全级别的、可由用户自己设定维护的、可信的信任域服务器上,从而消除了存储系统对不可信文件服务器的信任需求,并降低了用户的管理复杂度和由客户机密钥泄漏所带来的安全风险,因此非常适用于用户对底层共享文件系统没有控制权限的应用场景。0007本发明的框架包括。

20、信任域服务器、文件服务器、客户端和网络。其作用分别如下00081信任域服务器其作用是对用户的身份进行认证,并对文件的密钥进行管理和分发;00092文件服务器其作用是存储文件和安全元数据文件;00103客户端创建文件并对文件进行访问;00114网络作为文件传输的介质,传输用户的访问请求和文件信息;0012本发明的思路是00131该存储系统与底层存储系统无关;即数据安全保护与已部署的底层存储系统无关,底层存储系统只提供可靠的数据存储服务,而数据机密性、完整性的保护与访问控制则在根据用户需求设立的信任域中完成;用户可以不依赖底层存储系统提供数据安全性保护机制就能保证自己数据端到端的安全性,反过来底层。

21、存储系统也无法干涉用户的安全性保护机制;00142文件的机密性和完整性保护;0015I文件所有者创建文件;首先在本地使用哈希算法SHA1算法对文件以块说明书CN102014133ACN102014140A3/12页7为单位计算哈希值,然后使用密钥和加密算法AES算法对文件以块为单位进行加密,然后上传到云存储区中存储,这样就保证了文件在云存储区中的机密性,其中SHA1算法是由美国国家安全局设计,并由美国国家标准与技术研究院发布的一种安全散列算法,是一种被广泛应用的哈希算法,它的用处是将冗长的文件压缩成为一段独特的数字信息一般称为哈希值,保证原来文件的合法性和安全性,同时AES算法是美国国家技术标。

22、准委员会在2000年所确定的高级加密标准,是一种广泛应用的保护数据安全的加密算法;方便的密钥管理文件所有者将密钥分发和管理的权限交给信任域服务器进行。0016II文件所有者指定访问控制列表,指定具有对该文件进行访问的权限的用户;当文件所有者创建一份该文件的访问控制列表,将他认为可以对该文件进行访问的用户添加入访问控制列表,并将访问控制列表发给信任域服务器,信任域服务器将该文件的密钥发给访问控制列表上的用户。当具有访问权限的用户对文件进行访问时,数据是以密文形式在网络中传输,用户再利用掌握的密钥对文件以块为单位进行解密,然后使用SHA1算法对解密后的文件以块为单位计算哈希值,判断是否与读取到的哈。

23、希值相等,若相等,则表示数据是完整的,最后读取文件内容,若用户计算的哈希值与读取到的哈希值不相等,则表示数据的完整性遭到了破坏,则向系统报错;00173密钥的分发管理由信任域服务器统一进行;在该安全存储系统中主要实现的密钥管理主要分为三层,其理由是利用层级的组织方式对对称密钥进行组织管理,从而达到既保证系统性能和安全性,又不增加系统的管理负担的目的。操作步骤如下0018I文件块密钥为了安全高效地处理大文件,在本系统中以块为单位加密文件,并称此块为文件块,以区分底层存储系统块,每个文件块都使用一个单独的叫做文件块密钥的对称密钥进行加密,并且每个文件都有一组文件块密钥,;0019II安全元数据文件。

24、密钥保存在安全元数据文件中的密钥是第二级,这些密钥包括一个锁盒子密钥LBK和一个文件签名密钥FSK。锁盒子密钥LBK指的是在一个锁盒子中装有一个文件中的所有文件块密钥,但是这个盒子则被对称的锁盒子密钥LBK加密。只有得到锁盒子密钥LBK的授权用户才能解密锁盒子,进而得到文件块密钥以解密文件内容;文件签名密钥FSK主要是写用户在对文件进行修改后的签名密钥。在这个安全存储系统中,正是通过文件签名密钥FSK来区分读操作和写操作,需要说明的是,锁盒子密钥LBK和文件签名密钥FSK都是对称密钥,采用复杂度较低的对称密钥可以显著降低系统的密码学计算开销;0020III信任域服务器密钥最上面的层次是信任域服。

25、务器密钥;所谓信任域服务器密钥只是信任域服务器所维护的两个对称密钥,一个叫做信任域服务器加密密钥ASEK,一个叫做信任域服务器签名密钥ASSK。前者用来加密数据文件所对应的安全元数据文件的锁盒子密钥LBK和文件签名密钥FSK,从而进行访问控制和区分读写操作;后者用来作为HMAC算法的输入参数,对安全元数据文件中的访问控制块计算HMAC值以保证其完整性,其中HMAC是一种使用加密散列函数和密钥计算出来的一种消息验证码,它的作用主要是对消息的完整性进行检查。信任域服务器必须保证这两个密钥的机密性,任何时候都不能将这两个密钥泄露给其他任何人,这一点可以在实际应用中借助硬件辅助手段实现。0021本发明。

26、的特征在于,所述的方法是在信任域服务器、客户端和文件服务器组成说明书CN102014133ACN102014140A4/12页8的网络中,使用用户空间的文件系统FUSE在LINUX上依次按照以下步骤实现的0022步骤1网络的初始化,0023步骤11信任域服务器的初始化,设立用户认证模块和访问控制模块,其中用户认证模块采用了SSL/TLS协议和公钥基础设施PKI,访问控制模块是在文件所有者授权下执行对文件的访问控制,在系统中采用了三级密钥管理机制,其中第一级密钥是文件块密钥,为了安全高效地处理大文件,在本系统中以块为单位加密文件,并称此块为文件块,每个文件块都使用一个单独的叫做文件块密钥的对称密。

27、钥进行加密,文件块密钥被加密后,存储在安全元数据文件中,第二级密钥是安全元数据文件密钥,包括一个锁盒子密钥LBK和一个文件签名密钥FSK,每个文件都有独自的安全元数据文件密钥,其中锁盒子密钥LBK被用来加密该文件中的所有文件块密钥,保证文件块密钥的机密性,后者是写用户在对文件数据进行修改后的签名密钥,用于区分读操作和写操作,第三级密钥是信任域服务器密钥,是信任域服务器所维护的两个对称密钥,一个叫做信任域服务器加密密钥ASEK,用来加密数据文件所对应的安全元数据文件的锁盒子密钥LBK和文件签名密钥FSK,从而进行访问控制和区分读写操作,一个叫做信任域服务器签名密钥ASSK,用来对安全元数据文件中。

28、的访问控制块计算基于哈希的消息验证码,即HMAC值,以保证访问控制块的完整性,0024步骤12客户端设有数据加解密模块,数据完整性验证模块,缓存模块,文件系统接口,0025步骤13文件服务器设有存储模块;0026步骤2用户申请获得用户身份标识,步骤如下0027步骤21用户在客户端通过安全套接层协议SSL和传输层安全协议TLS在加密的信道上向信任域服务器的用户认证模块发送用户身份标识请求,0028步骤22所述的用户认证模块基于公钥基础设施,用户身份与信任域服务器身份都是借助公钥基础设施所授予的X509证书进行认证,系统新用户首先必须向注册机构申请证书,然后才可以使用该系统;0029步骤3文件的所。

29、有者按照以下步骤创建文件0030步骤31所述的文件所有者向所述信任域服务器发送创建文件的请求文件所有者首先创建访问控制块的内容,内容包括用户的身份标识、文件名、所指定的加密算法和模式以及访问控制列表,并将访问控制块发给信任域服务器的访问控制模块,其中所述访问控制列表包含用户名的哈希值以及该用户的访问权限,0031步骤32所述的信任域服务器处理文件所有者创建文件的请求,使用身份认证模块对文件所有者的身份进行认证,判断其身份和权限,然后为其请求创建的文件生成锁盒子密钥LBK和文件签名密钥FSK;0032步骤33信任域服务器使用信任域加密密钥ASEK加密锁盒子密钥LBK和文件签名密钥FSK,并使用信。

30、任域签名密钥ASSK为访问控制块计算HMAC值,并存入访问控制块的HMAC域中,然后将访问控制块返回给文件所有者;0033步骤34所述文件所有者创建文件,输入数据,然后使用安全哈希算法,即SHA1算法,对文件以块为单位计算哈希值,将哈希值保存在安全元数据文件中,再使用文件块密钥对文件以块为单位进行加密,并生成文件密文,最后将文件的密文和安全元说明书CN102014133ACN102014140A5/12页9数据文件发给所述文件服务器进行存储;0034步骤4读用户按照以下步骤读取步骤3所创建的文件0035步骤41从所述文件服务器端读取文件数据密文和安全元数据文件,0036步骤42按以下步骤进行该。

31、读用户的身份认证,0037步骤421读用户将自己的身份标识和安全元数据文件中的访问控制块发给所述信任域服务器,0038步骤422信任域服务器调用身份认证模块确认用户的身份标识,调用访问控制模块,使用信任域密钥ASEK解密该访问控制块,获得包括锁盒子密钥LBK、文件签名密钥FSK和访问控制列表在内的信息,使用信任域签名密钥ASSK计算访问控制块的HMAC值,以判断访问控制块的完整性,并根据访问控制列表确定读用户的读权限,然后将锁盒子密钥LBK发给读用户,0039步骤43该读用户获得锁盒子密钥LBK之后,利用其解密获得文件块密钥,然后使用文件块密钥对文件数据进行解密,最后获得文件数据的明文信息,并。

32、使用SHA1算法对所读内容所在的文件块计算哈希值,看是否与安全元数据中保存的哈希值一致,判断所读数据的完整性,若相等,则说明数据完整,用户再读取该数据,否则则向系统报错;0040步骤5写用户按照以下步骤写入或者修改文件数据,0041步骤51该写用户首先从所述文件服务器端读取要修改的所述文件数据的密文和安全元数据文件,0042步骤52写用户按以下步骤进行身份认证,0043步骤521该写用户将自己的身份标识和安全元数据文件中的访问控制块发给信任域服务器,所述信任域服务器调用身份认证模块确认用户的身份标识,并调用所述访问控制模块,使用信任域密钥ASEK解密该访问控制块,获得包括锁盒子密钥LBK、文件。

33、签名密钥FSK和访问控制列表在内的信息,使用信任域签名密钥ASSK重新计算该访问控制块的HMAC值,看是否与访问控制块中的HMAC值相等,判断该访问控制块是否完整,并通过访问控制列表确定写用户所具有的写权限,接着,并将锁盒子密钥LBK和文件签名密钥FSK返回给用户,0044步骤53写用户按以下步骤写入或者修改文件,0045步骤531写用户使用锁盒子密钥LBK获得文件块密钥,然后使用文件块密钥对文件数据进行解密,获得文件明文信息,并使用SHA1算法对文件以块为单位计算所要修改内容所在文件块的哈希值,看是否与安全元数据中保存的哈希值一致,判断所读数据的完整性,0046步骤532对步骤531的文件进。

34、行写入或者修改,并使用文件块密钥重新对新的文件数据进行加密,并使用文件签名密钥FSK进行签名,0047步骤533写用户将修改后的文件数据和安全元数据文件发给所述文件服务器进行存储;0048步骤6所述文件所有者按以下步骤进行权限撤销操作0049步骤61该文件所有者从所述文件服务器端获得安全元数据文件,然后将自己的身份标识、安全元数据文件中的访问控制块和拟撤销的用户列表发给信任域服务说明书CN102014133ACN102014140A6/12页10器,0050步骤62该信任域服务器按以下步骤执行操作,0051步骤621调用所述的身份认证模块对文件所有者的身份标识进行认证,确定其具有撤销用户操作的。

35、权限,0052步骤621调用所述的访问控制模块,使用信任域密钥ASEK解密该访问控制块,获得访问控制列表、锁盒子密钥LBK和文件签名密钥FSK在内的信息,并使用自己的信任域签名密钥ASSK重新计算该访问控制块的HMAC值,判断该访问控制块的完整,然后从访问控制块的访问控制列表中删除需要撤销的用户所在的访问控制列表项,接着为文件生成新的锁盒子密钥LBK和新的文件签名密钥FSK,然后信任域服务器用信任域服务器加密密钥ASEK重新加密新生成的锁盒子密钥LBK和新生成的文件签名密钥FSK,并使用信任域服务器签名密钥ASSK重新对修改过的访问控制块计算HMAC,0053步骤622所述信任域服务器将新的访。

36、问控制块、新的文件签名密钥FSK、新的锁盒子密钥LBK以及旧的锁盒子密钥LBK返回给文件所有者,0054步骤63所述文件所有者按以下方式使用懒惰撤销操作使用旧的锁盒子密钥LBK解密所有文件块密钥,使用新的锁盒子密钥LBK加密这些文件块密钥,对文件块的重新加密操作推迟到用户对文件块的更新时再进行。0055本发明的效果如下00561不依赖于底层文件系统并保证用户文件在云存储区的机密性,只有拥有合法权限的用户才可以获得文件的信息;00572保证了用户对文件操作过程中端到端的完整性,用户能够及时发现数据在网络中传输时是否被非法篡改或者由于存储介质的变化导致数据破坏等情况;00583降低了权限撤销的开销。

37、,特别是在一个多用户,权限变更频繁的应用场景中,本发明能够很大程度提高权限撤销的效率;0059本发明在清华大学计算机系高性能计算技术研究所进行过测试,结果表明,这种安全存储系统能在云存储环境下为用户提供文件共享的同时,也能保证数据的机密性、完整性和访问控制,并且性能开销也在用户可以接受的范围之内。附图说明0060图1系统结构图。0061图2文件所有者创建文件示意图。0062图3读用户读文件示意图。0063图4写用户写文件示意图。0064图5文件所有者撤销用户权限示意图。0065图6访问控制块图示意图。0066图7单机环境下使用IOZONE测试对比EXT3和本发明的读写性能。0067图8集群环境。

38、下使用IOZONE测试对比NFS和本发明的读写性能。说明书CN102014133ACN102014140A7/12页11具体实施方式0068本发明的具体实施方式如下0069步骤1用户申请获得用户标识用户标识是用户在系统中唯一的身份标识,文件所有者和信任域服务器都是通过用户的标识来确定用户的身份,判断其的访问权限;为了安全有效地识别系统中主体包括信任域服务器和用户的身份,以便系统对进行操作的用户建立起相互之间的信任关系,系统需要一种独立于底层存储系统的安全的用户身份标识机制。在本系统中采用公钥基础设施PKI,PUBLICKEYINFRASTRUCTURE,通过数字证书来为系统提供用户标识。数字证。

39、书是由公正、权威的机构签发给主体的电子文档,该文档中记录有主体名称、证书序号、签发方名称、证书的有效期、密码算法标识、公钥信息和其它信息,并经过签发方的数字签名公钥基础设施是包括了硬件、软件、人力、策略和过程的平台或框架,它利用公钥技术提供了对数字证书进行创建、管理、分发、使用、存储以及撤销的功能。证书颁发机构CA,CERFITICATEAUTHORITY和注册机构RA,REGISTRATIONAUTHORITY是公钥基础设施的重要组成部分。前者是公钥基础设施的核心,它是一个可信的第三方,通过将用户的公钥与用户的其他信息包括用户身份绑定在一起来为用户签发数字证书,并提供证书的查询、撤销、生命周。

40、期管理以及密钥管理;后者主要是面向用户履行证书颁发机构委派的一些责任。公钥基础设施是一种成熟的、被广泛应用的技术体系,具有统一的规范和标准,并有很多较为完备的实现。利用公钥基础设施为系统提供用户标识,可以将维护用户标识唯一性和真实性的工作交给这个成熟的体系来完成,同时使系统用户在不必了解复杂管理细节的情况下安全高效地验证其他系统主体的身份,实现用户之间的相互信任,从而保证用户信息的真实性、完整性、机密性和不可否认性;0070步骤2文件所有者创建文件,文件所有者创建文件的步骤一般有如下步骤,具体如图2所示;0071步骤21文件所有者向信任域服务器发送创建文件的请求文件所有者首先创建访问控制块的内。

41、容,内容包括他的身份标识、文件名、所指定的加密算法和模式以及访问控制列表,并将访问控制块发给信任域服务器;0072步骤22信任域服务器处理文件所有者创建文件的请求信任域服务器首先根据文件所有者的身份标识判断其身份和权限,然后为其请求创建的文件生成锁盒子密钥LBK和文件签名密钥FSK,接着信任域服务器使用信任域加密密钥ASEK加密锁盒子密钥LBK和文件签名密钥FSK,并使用信任域签名密钥ASSK为访问控制块计算HMAC值,然后将访问控制块返回给文件所有者;0073步骤23文件所有者创建文件文件所有者创建文件,输入内容,然后使用SHA1算法对文件以块为单位计算哈希值,将哈希值保存在安全元数据文件中。

42、,再使用文件块密钥对文件以块为单位进行加密,并生成文件密文,最后将文件的密文和安全元数据文件发给文件服务器进行存储;0074步骤3读用户读取文件,读用户读取文件信息一般有如下步骤,具体如图3所示步骤31读取文件密文和安全元数据文件;读用户首先从文件服务器端读取文件密文和安全元数据文件,获得访问控制块;0075步骤32读用户的身份认证;读用户将自己的身份标识和安全元数据文件中说明书CN102014133ACN102014140A8/12页12的访问控制块发给信任域服务器,信任域在接收到读用户的身份标识和访问控制块后,首先使用信任域密钥ASEK解密该访问控制块,获得访问控制列表、锁盒子密钥LBK和。

43、文件签名密钥FSK等信息,然后使用自己的信任域签名密钥ASSK,计算访问控制块的HMAC值,判断访问控制块的完整性,然后信任域服务器确认了用户的身份标识,并根据访问控制列表确定了读用户的读权限,然后将锁盒子密钥LBK发给读用户;0076步骤33读用户读取文件;读用户获得锁盒子密钥LBK之后,利用其解密获得文件块密钥,然后使用文件块密钥对所读内容所在的文件块进行解密,获得明文信息,并使用SHA1算法对所读内容所在的文件块计算哈希值,看是否与安全元数据中保存的哈希值一致,判断所读数据的完整性,若所读数据是完整的,则读取该数据,否则向系统报错;0077步骤4写用户对文件进行修改,一般步骤如下,具体如。

44、图4所示0078步骤41写用户读取文件密文和安全元数据文件;写用户首先从文件服务器端读取要修改的文件的密文和安全元数据文件;0079步骤42写用户的身份认证;写用户将自己的身份标识和安全元数据文件中的访问控制块发给信任域服务器,信任域服务器接收到访问控制块后,使用信任域密钥ASEK解密该访问控制块,获得访问控制列表、锁盒子密钥LBK和文件签名密钥FSK等信息,并使用自己的信任域签名密钥ASSK重新计算该访问控制块的HMAC值,看是否与访问控制块中的HMAC值相等,判断该访问控制块是否完整,然后确认用户的身份标识,并通过访问控制列表确定用户所具有的写权限,并将锁盒子密钥LBK和文件签名密钥FSK。

45、返回给用户,0080步骤43写用户修改文件;写用户在获得锁盒子密钥LBK和文件签名密钥FSK后,使用锁盒子密钥LBK获得文件块密钥,然后使用文件块密钥对所修改内容所在的文件块进行解密,获得明文信息,并使用SHA1算法对要修改内容所在的文件块计算,看是否与安全元数据中保存的哈希值一致,判断所修改数据的完整性,紧接着写用户修改文件,然后使用文件块密钥重新对写入的内容计算哈希值和进行加密,并使用文件签名密钥FSK进行签名,最后还需要对安全元数据进行更新;0081步骤44写用户将修改后的文件和安全元数据文件发给文件服务器进行存储;0082步骤5权限撤销的操作;当文件所有者认为某个用户可能会对文件造成破。

46、坏或者会向外散播该文件信息,可能会将这个用户的权限进行撤销,当文件所有者撤销用户的权限,一般具有以下步骤,具体如图5所示;0083步骤51文件所有者向信任域服务器发出请求,请求撤销用户的权限;首先文件所有者从文件服务器端获得安全元数据文件,然后将自己的身份标识、安全元数据文件中的访问控制块和撤销的用户列表发给信任域服务器;0084步骤52信任域服务器对文件所有者的请求进行处理;信任域服务器接收到用户的请求后,首先使用信任域密钥ASEK解密该访问控制块,获得访问控制列表、锁盒子密钥LBK和文件签名密钥FSK等信息,并使用自己的信任域签名密钥ASSK重新计算该访问控制块的HMAC值,判断该访问控制。

47、块的完整后,在对文件所有者的身份进行认证,在确定文件所有者的身份和其具有撤销用户操作的权限后,然后从访问控制块的访问控制列表中删除需要撤销的用户所在的访问控制列表项,接着为文件生成新的锁盒说明书CN102014133ACN102014140A9/12页13子密钥LBK和新的文件签名密钥FSK。然后信任域服务器用信任域服务器加密密钥重新加密新生成的锁盒子密钥LBK和文件签名密钥FSK,并使用信任域服务器签名密钥重新对修改过的访问控制块计算HMAC。然后,信任域服务器将新的访问控制块、新的文件签名密钥、新的锁盒子密钥LBK以及旧的锁盒子密钥LBK返回给文件所有者;0085步骤53文件所有者使用懒惰。

48、撤销操作;文件所有者首先使用旧的锁盒子密钥LBK解密所有文件块密钥,使用新的锁盒子密钥LBK加密这些文件块密钥,并将新的访问控制块信息写入到安全元数据文件中,所谓的懒惰撤销方法指的是文件所有者并不是使用新的密钥对整个文件即所有的文件块进行重新加密,而是将对文件块的重新加密操作推迟到用户对文件块的更新时再进行;0086本发明的系统结构如图1所示,使用FUSEFILESYSTEMINUSERSPACE框架在LINUX上实现。FUSE是一种被文件系统开发者广泛使用的技术。通过FUSE,文件系统开发者可以在不修改内核的前提下迅速方便地开发自己的用户态文件系统。得益于其内核模块,FUSE可以从VFS层截。

49、获系统调用,然后将这些系统调用传递给开发者自己的用户态的文件系统以实现一些特殊的操作逻辑。FUSE也使得用户可以在没有ROOT权限的情况下挂载自己的文件系统。此外,FUSE独立于特定的底层存储系统,具有良好的可移植性。这些特性完全满足了本发明的设计和实现需求。在密码学操作上,本发明使用OPENSSL库来执行密码学相关操作,其中OPENSSL是。这个库以良好的实现和完备的接口著称,因此被广泛应用。在系统中使用SHA1作为密码学哈希函数,使用基于SHA1的HMAC作为MAC函数,以及使用AES256作为默认的块加密函数。这些参数都是可以由用户在挂载系统时进行配置。另外,OPENSSL也提供了对公钥基础设施PKI的较好的实现,可以用在系统中以认证系统角色并在用户和信任域服务器之间建立安全信道。0087本发明的核心是提出了一种云存储环境下的安全存储系统,其实现主要是由以下几个部分以及其相应的模块组成0088信任域服务器0089信任域服务器主要有以下几个模块构成00901用户认证模块0091该模块负责对用户身份进行验证。实际上因为采用了在SSL/TLS和公钥基础设施,用户身份与信任域服务器身份都是借助公钥基础设施所授予的X509证书进行认证的,系统新用户首先必须向注册机构RA,REGISTRATIONAUTHORITY申请证书,然后才可以使用该系统。。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1