CN104935588A - 一种安全云存储系统的分层密钥管理方法 - Google Patents

一种安全云存储系统的分层密钥管理方法 Download PDF

Info

Publication number
CN104935588A
CN104935588A CN201510322847.6A CN201510322847A CN104935588A CN 104935588 A CN104935588 A CN 104935588A CN 201510322847 A CN201510322847 A CN 201510322847A CN 104935588 A CN104935588 A CN 104935588A
Authority
CN
China
Prior art keywords
file
key
ciphertext
request
token
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
Application number
CN201510322847.6A
Other languages
English (en)
Other versions
CN104935588B (zh
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.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and 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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201510322847.6A priority Critical patent/CN104935588B/zh
Publication of CN104935588A publication Critical patent/CN104935588A/zh
Application granted granted Critical
Publication of CN104935588B publication Critical patent/CN104935588B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • H04L63/064Hierarchical key distribution, e.g. by multi-tier trusted parties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种安全云存储系统的分层密钥管理方法。通过构建二叉Trie密钥管理树和基于此树的密钥推导机制完成对非对称密钥和对称密钥的高效组织管理,降低了数据拥有者管理密钥的复杂度,提高了数据的安全性。通过引入满足多跳性的ElGamal代理重加密机制完成密钥的更新,将访问策略变更引发的密钥重加密部分负担转移到CSP;利用延迟更新策略将数据的重加密开销转移到被共享用户端,降低了数据拥有者的处理开销,提高了安全云存储系统的性能。

Description

一种安全云存储系统的分层密钥管理方法
技术领域
本发明属于计算机存储技术领域,更具体地,涉及一种安全云存储系统的分层密钥管理方法。
背景技术
云存储的迅猛发展给用户带来便利的同时,也带来了许多的安全隐患。在云存储环境下,数据拥有者把数据存储到云端,失去了对数据的绝对控制。数据加密和数据的安全访问控制是保护数据免受非法访问的两种最基本技术。如何对云存储系统中使用的各种密钥进行高效灵活的组织、分发、管理,如何应对访问控制策略变更带来的数据重加密和密钥更新问题,已成为安全云存储密钥管理研究的核心问题。
现有的安全云存储系统的密钥管理方法主要是基于用户的树结构的密钥管理方法,将密码算法和授权结合,通过选择性加密实施访问控制,采减少用户持有的密钥数量;密文策略属性基加密(ciphertext policy-attribute based encryption,简称CP-ABE)的密钥管理方法引入代理重加密技术,降低了在密钥更新过程中数据拥有者处理的开销;适用于云存储动态策略的密文访问控制方法(cryptographic access control strategy for dynamic policy,简称CACDP),这种密钥管理方法采用双层加密策略降低文件重加密的开销。
然而,现有的云存储系统的密钥管理方法存在有以下问题:
1、采用基于用户树结构的密钥管理方法对于系统的动态性支持不好,在访问策略时,整个密钥管理树几乎需要重建,严重制约了数据拥有者的处理效率;
2、引入代理重加密技术的CP-ABE密钥管理方法中虽然对密钥更新的处理开销做了优化,但是文件的重加密开销仍由数据拥有者完成,且随着加密次数的增加,密文的长度也会不断增加,不适合频繁的访问策略变更的云存储环境;
3、CACDP密钥管理方法虽然在一定程度上降低了数据拥有者对文件重加密的开销,但这种方法执行的是立即重加密,并且重加密的开销完全由数据有者承担。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种安全云存储系统的分层密钥管理方法,其目的在于,解决现有云存储系统的密钥管理方法中存在的上述密钥管理树需要重建、密文长度增加、数据拥有者处理文件重加密开销过高的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种安全云存储的分层密钥管理方法,包括以下步骤:
(1)数据拥有者接收来自客户端的文件操作请求,并对该文件操作请求进行解析,以确定该文件操作请求是发布文件请求,还是更新文件请求,还是删除文件请求,还是文件权限撤销请求,如果是发布文件请求,则进入步骤(2),如果是更新文件请求,则进入步骤(3),如果是删除文件请求,则进入步骤(4),如果是文件权限撤销请求,则进入步骤(5);
(2)数据拥有者根据发布文件请求创建新的资源类,为该资源类在密钥管理树中添加一条路径,用对称加密算法为该路径上的非叶子节点生成对称密钥,用非对称加密算法为该路径上的叶子节点生成非对称密钥对,并根据生成的对称密钥和非对称密钥对为该路径上的全部N个节点生成N-1个令牌,使用与上述相同的对称加密算法随机生成一个角色令牌,使用与上述相同的对称加密算法为该发布文件请求对应的文件生成一个随机密钥,使用该随机密钥对该文件进行加密以生成文件密文,并使用生成的非对称 密钥对中的公钥对随机密钥进行加密以生成密钥密文,并将文件密文、密钥密文、N-1个令牌以及角色令牌上传到云服务提供商,其中N为自然数;
(3)数据拥有者根据更新文件请求从云服务提供商获得对应文件的密文、加密该文件的密钥的密文、以及该文件的令牌,根据该令牌并利用非对称加密算法获得用于解密该文件密钥的密钥,并利用该密钥解密该文件的密钥的密文,以得到文件的密钥,并根据对称加密算法利用得到的该密钥解密该文件的密文,以得到文件的明文,根据更新文件请求修改该明文,使用文件密钥对该文件进行加密以生成文件密文,并使用生成的非对称密钥对中的公钥对随机密钥进行加密以生成密钥密文,并将文件密文、密钥密文、N-1个令牌以及角色令牌上传到云服务提供商;
(4)数据拥有者根据删除文件请求判断其对应的文件是否存在于密钥管理树中,如果存在则从云服务提供商中删除该文件的密文、加密该文件的密钥的密文、以及该文件的令牌,并将该文件在密钥管理树中的路径删除,否则向客户端返回出错信息;
(5)数据拥有者根据文件权限撤销请求生成一把新的文件密钥,根据新的文件密钥和旧文件密钥计算文件密钥的重加密密钥,把重加密密钥传递给云服务提供商,并把新的文件密钥通过安全信道传递给对该文件具有访问权限的用户。
优选地,步骤(1)具体为,对文件操作请求中的CMD字段进行解析,如果该字段的域操作符为republish,则该文件操作请求为发布文件请求,如果该域操作符为update,则该文件操作请求为更新文件请求,如果该域操作符为delete,则该文件操作请求为删除文件请求,如果该字段的域操作符为revocation,则该文件操作请求为文件权限撤销请求。
优选地,步骤(2)中的对称加密算法采用的是AES算法,非对称加密算法采用的是ElGamal算法。
优选地,步骤(2)包括以下子步骤:
(2-1)数据拥有者将文件的基本信息及访问控制向量发送给云服务提供商,并且云服务提供商判断数据拥有者的访问控制向量是否已经在系统中存在,如果不存在,则进入步骤(2-2),如果存在,则进入步骤(2-5);
(2-2)数据拥有者创建新的资源类,为新的资源类创建从密钥管理树的树根到RCf这个叶节点的路径上的节点N1,N2,N3,…Ni,其中i为路径上所有节点的数量;
(2-3)为路径上的非叶子节点N1,N2,N3….Ni-1随机生成对称密钥K1,K2,K3…Ki-1,为叶子节点Ni随机生成非对称加密密钥AKi,为对应的文件生成AES对称加密的文件密钥Kaes,为每个对该资源类具有访问权限的用户分发角色密钥Krole
(2-4)根据公式建立路径上父节点与子节点的关系,以得到令牌链,其中K1为密钥管理树中的任一父节点,K2为K1的孩子节点,T12是得到的令牌,Hash是使用的SHA-1算法。
(2-5)使用Kaes加密资源类中的文件得到文件的密文,使用非对称加密密钥AKi加密文件的对称加密密钥Kaes,以得到文件密钥的密文,并把文件密文、密钥密文,文件的访问控制向量上传到云服务提供商;
(2-6)数据拥有者为每一个对此文件具有访问权限的用户分发角色密钥Krole
优选地,步骤(5)包括以下子步骤:
(5-1)数据拥有者根据文件权限撤销请求生成一把新的对称加密密钥K’,把密钥K’分发到除了数据使用者之外的所有对文件权限撤销请求对应的文件具有访问权限的数据使用者;
(5-2)另一个数据使用者向云服务提供商发送数据请求,发送的数据包括数据使用者的身份信息和文件的索引信息;
(5-3)云服务提供商返回另一个数据使用者文件密文信息,所有令牌, 以及文件密钥的密文信息;
(5-4)数据使用者根据自己的角色密钥和令牌链并通过公式 进行密钥推导,得到加密文件密钥的密钥,用这把密钥解密文件密钥的密文,得到文件密钥,使用文件密钥解密文件密文得到文件明文。对文件明文进行更新,完成更新后使用新的文件对称加密密钥K’,对更新过后的文件进行加密得到文件密文,对新的加密密钥K’进行加密得到密钥的密文,并把密钥密文、文件密文上传到云服务提供商。
按照本发明的另一方面,提供了一种安全云存储的分层密钥管理系统,包括:
第一模块,用于接收来自客户端的文件操作请求,并对该文件操作请求进行解析,以确定该文件操作请求是发布文件请求,还是更新文件请求,还是删除文件请求,还是文件权限撤销请求,如果是发布文件请求,则进入第二模块,如果是更新文件请求,则进入第三模块,如果是删除文件请求,则进入第四模块,如果是文件权限撤销请求,则进入步骤第五模块;
第二模块,用于根据发布文件请求创建新的资源类,为该资源类在密钥管理树中添加一条路径,用对称加密算法为该路径上的非叶子节点生成对称密钥,用非对称加密算法为该路径上的叶子节点生成非对称密钥对,并根据生成的对称密钥和非对称密钥对为该路径上的全部N个节点生成N-1个令牌,使用与上述相同的对称加密算法随机生成一个角色令牌,使用与上述相同的对称加密算法为该发布文件请求对应的文件生成一个随机密钥,使用该随机密钥对该文件进行加密以生成文件密文,并使用生成的非对称密钥对中的公钥对随机密钥进行加密以生成密钥密文,并将文件密文、密钥密文、N-1个令牌以及角色令牌上传到云服务提供商,其中N为自然数;
第三模块,用于根据更新文件请求从云服务提供商获得对应文件的密文、加密该文件的密钥的密文、以及该文件的令牌,根据该令牌并利用非对称加密算法获得用于解密该文件密钥的密钥,并利用该密钥解密该文件的 密钥的密文,以得到文件的密钥,并根据对称加密算法利用得到的该密钥解密该文件的密文,以得到文件的明文,根据更新文件请求修改该明文,使用文件密钥对该文件进行加密以生成文件密文,并使用生成的非对称密钥对中的公钥对随机密钥进行加密以生成密钥密文,并将文件密文、密钥密文、N-1个令牌以及角色令牌上传到云服务提供商;
第四模块,用于根据删除文件请求判断其对应的文件是否存在于密钥管理树中,如果存在则从云服务提供商中删除该文件的密文、加密该文件的密钥的密文、以及该文件的令牌,并将该文件在密钥管理树中的路径删除,否则向客户端返回出错信息;
第五模块,用于根据文件权限撤销请求生成一把新的文件密钥,根据新的文件密钥和旧文件密钥计算文件密钥的重加密密钥,把重加密密钥传递给云服务提供商,并把新的文件密钥通过安全信道传递给对该文件具有访问权限的用户。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
1、能够解决现有方法中存在的动态性支持不好导致数据拥有者处理效率低的技术问题:由于采用了步骤(2-2)、(2-3)和(2-4),数据拥有者在增加新的资源类到密钥管理树的过程中,只需要把这个资源类抽象成一个叶子节点,然后建立一条从树根到这个叶子节点的路径,并为这条路径上的叶子节点分发非对称密钥,为非叶子节点分发对称密钥,最后计算上层节点和孩子节点之间的令牌。因此整棵密钥管理树并不需要重新构建;
2、能够解决现有方法中存在的不适合访问策略频繁变更的云存储环境的技术问题:由于采用了步骤(5-1),数据拥有者撤销一个用户的访问权限时,先生成一把新的文件密钥,并根据新、旧文件密钥计算代理重加密密钥,然后把代理重加密密钥交付给CSP,由CSP来完成文件密钥的更新,这样就把部分处理开销转移到了CSP。而且计算代理重加密密钥的ElGamal算 法可以保证密文长度不会随加密次数增加而变长。因此可以适应权限变更频繁的安全云存储环境;
3、能够解决现有方法中存在的文件重加密开销过高的技术问题:由于采用了步骤(5-2)、(5-3)和(5-4),在文件重加密的过程中,数据使用者根据自己的角色密钥和令牌链推导,得到加密文件密钥的密钥,进而解密得到文件明文,整个过程中数据拥有者只是生成了代理重加密密钥完成文件密钥的更新,文件的重加密开销是被分担给了数据使用者。因此,能够现有方法中文件重加密开销过高的技术问题。
附图说明
1是本发明安全云存储的分层密钥管理方法的流程
2是本发明方法中密钥管理树的构建示意
3是本发明方法中步骤(2)的细化流程
4是本发明方法中步骤(5)的细化流程
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明的基本思路在于,提供一种安全云存储的分层密钥管理方法,其中把密钥分为了文件密钥、角色密钥和节点密钥。节点密钥是密钥管理树中的各个节点的密钥,其中包含了叶子节点密钥和非叶子结点密钥,叶子节点密钥是ElGamal算法使用的公私钥对,非叶子结点密钥是AES算法的对称密钥。通过二叉Trie对各种不同类型的密钥进行组织管理,并为各个节点颁发节点令牌,为用户颁发角色令牌。节点令牌是进行密钥推导的公开信息,角色令牌是用户接入密钥管理树的关键信息。从功能上出发,一种安全云存 储的分层密钥管理方法基于密钥管理树完成了文件的发布、更新、删除和权限撤销的功能。下面是对各种不同功能实现过程的详细描述。
以下对本发明中的技术术语进行解释和说明:
令牌:连接孩子节点和父节点的数据,父节点可以由令牌推导得到孩子节点的令牌
令牌链:由令牌组成的链,在云端存储。
节点令牌:从属于二叉Trie树的令牌,可以有很多个。
角色令牌:从属于角色的令牌,一个角色只有唯一一个。
安全资源类:具有相同访问控制权限的一类文件的集合。
访问控制向量:是由0或1组成的字符串,比如1001100,用于判断访问文件是否存在。
1所示,本发明安全云存储的分层密钥管理方法包括以下步骤:
(1)数据拥有者接收来自客户端的文件操作请求,并对该文件操作请求进行解析,以确定该文件操作请求是发布文件请求,还是更新文件请求,还是删除文件请求,还是文件权限撤销请求,如果是发布文件请求,则进入步骤(2),如果是更新文件请求,则进入步骤(3),如果是删除文件请求,则进入步骤(4),如果是文件权限撤销请求,则进入步骤(5);具体而言,对文件操作请求中的CMD字段进行解析,如果该字段的域操作符为republish,则该文件操作请求为发布文件请求,如果该域操作符为update,则该文件操作请求为更新文件请求,如果该域操作符为delete,则该文件操作请求为删除文件请求,如果该字段的域操作符为revocation,则该文件操作请求为文件权限撤销请求;
(2)数据拥有者根据发布文件请求创建新的资源类(Resource class,简称RC),为该资源类在密钥管理树中添加一条路径(密钥管理树的构建过程如2所示),用对称加密算法为该路径上的非叶子节点生成对称密钥,用非对称加密算法为该路径上的叶子节点生成非对称密钥对,并根据生成 的对称密钥和非对称密钥对为该路径上的全部N(其中N为自然数)个节点生成N-1个令牌,使用与上述相同的对称加密算法随机生成一个角色令牌,使用与上述相同的对称加密算法为该发布文件请求对应的文件生成一个随机密钥,使用该随机密钥对该文件进行加密以生成文件密文,并使用生成的非对称密钥对中的公钥对随机密钥进行加密以生成密钥密文,并将文件密文、密钥密文、N-1个令牌以及角色令牌上传到云服务提供商(Cloud service provider,简称CSP);在本实施方式中,对称加密算法采用的是美国加密标准(American Encryption Standard,简称AES),非对称加密算法采用的是ElGamal算法;
3所示,本步骤包括以下子步骤:
(2-1)数据拥有者将文件的基本信息及访问控制向量(Access Control Vector,简称ACV)发送给CSP,并且CSP判断数据拥有者的访问控制向量ACV是否已经在系统中存在,如果不存在,则进入步骤(2-2),如果存在,则进入步骤(2-5);
(2-2)数据拥有者创建新的资源类RC,为新的资源类RC创建从密钥管理树的树根到RCf这个叶节点的路径上的节点N1,N2,N3…Ni,其中i为路径上所有节点的数量;
(2-3)为路径上的非叶子节点N1,N2,N3….Ni-1随机生成对称密钥K1,K2,K3…Ki-1,为叶子节点Ni随机生成非对称加密密钥AKi,为对应的文件生成AES对称加密的文件密钥Kaes,为每个对该资源类具有访问权限的用户分发角色密钥Krole
(2-4)根据公式建立路径上父节点与子节点的关系,以得到令牌链,其中K1为密钥管理树中的任一父节点,K2为K1的孩子节点,T12是得到的令牌,Hash是使用的SHA-1算法。
(2-5)使用Kaes加密资源类中的文件得到文件的密文,使用非对称加密 密钥AKi加密文件的对称加密密钥Kaes,得到文件密钥的密文,最后把文件密文、密钥密文,文件的访问控制向量上传到CSP;
(2-6)数据拥有者为每一个对此文件具有访问权限的用户分发角色密钥Krole
(3)数据拥有者根据更新文件请求从CSP获得对应文件的密文、加密该文件的密钥的密文、以及该文件的令牌,根据该令牌并利用非对称加密算法获得用于解密该文件密钥的密钥,并利用该密钥解密该文件的密钥的密文,以得到文件的密钥,并根据对称加密算法利用得到的该密钥解密该文件的密文,以得到文件的明文,根据更新文件请求修改该明文,使用文件密钥对该文件进行加密以生成文件密文,并使用生成的非对称密钥对中的公钥对随机密钥进行加密以生成密钥密文,并将文件密文、密钥密文、N-1个令牌以及角色令牌上传到CSP;
(4)数据拥有者根据删除文件请求判断其对应的文件是否存在于密钥管理树中,如果存在则从CSP中删除该文件的密文、加密该文件的密钥的密文、以及该文件的令牌,并将该文件在密钥管理树中的路径删除,否则向客户端返回出错信息;
(5)数据拥有者根据文件权限撤销请求生成一把新的文件密钥,根据新的文件密钥和旧文件密钥计算文件密钥的重加密密钥,把重加密密钥传递给CSP,然后把新的文件密钥通过安全信道传递给对该文件具有访问权限的用户。
4所示,本步骤包括以下子步骤:
(5-1)数据拥有者根据文件权限撤销请求生成一把新的对称加密密钥K’,把密钥K’分发到除了数据使用者之外的所有对文件权限撤销请求对应的文件具有访问权限的数据使用者;
(5-2)另一个数据使用者向CSP发送数据请求,发送的数据包括数据 使用者的身份信息和文件的索引信息;
(5-3)CSP返回另一个数据使用者文件密文信息,所有令牌,以及文件密钥的密文信息;
(5-4)数据使用者根据自己的角色密钥和令牌链并通过公式 进行密钥推导,得到加密文件密钥的密钥,用这把密钥解密文件密钥的密文,得到文件密钥,然后使用文件密钥解密文件密文得到文件明文。然后对文件明文进行更新,完成更新后使用新的文件对称加密密钥K’,对更新过后的文件进行加密得到文件密文,然后对新的加密密钥K’进行加密得到密钥的密文,最后把密钥密文、文件密文上传到CSP。
本发明由于采用了步骤(2-2)、(2-3)和(2-4),数据拥有者在增加新的资源类到密钥管理树的过程中,只需要把这个资源类抽象成一个叶子节点,然后建立一条从树根到这个叶子节点的路径,并为这条路径上的叶子节点分发非对称密钥,为非叶子节点分发对称密钥,最后计算上层节点和孩子节点之间的令牌。因此整棵密钥管理树并不需要重新构建。
此外,本发明由于采用了步骤(5-1),数据拥有者撤销一个用户的访问权限时,先生成一把新的文件密钥,并根据新、旧文件密钥计算代理重加密密钥,然后把代理重加密密钥交付给CSP,由CSP来完成文件密钥的更新,这样就把部分处理开销转移到了CSP。而且计算代理重加密密钥的ElGamal算法可以保证密文长度不会随加密次数增加而变长。因此可以适应权限变更频繁的安全云存储环境。
最后,本发明由于采用了步骤(5-2)、(5-3)和(5-4),在文件重加密的过程中,数据使用者根据自己的角色密钥和令牌链推导,得到加密文件密钥的密钥,进而解密得到文件明文,整个过程中数据拥有者只是生成了代理重加密密钥完成文件密钥的更新,文件的重加密开销是被分担给了数据使用者。因此,能够现有方法中文件重加密开销过高的技术问题。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已, 并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种安全云存储的分层密钥管理方法,其特征在于,包括以下步骤:
(1)数据拥有者接收来自客户端的文件操作请求,并对该文件操作请求进行解析,以确定该文件操作请求是发布文件请求,还是更新文件请求,还是删除文件请求,还是文件权限撤销请求,如果是发布文件请求,则进入步骤(2),如果是更新文件请求,则进入步骤(3),如果是删除文件请求,则进入步骤(4),如果是文件权限撤销请求,则进入步骤(5);
(2)数据拥有者根据发布文件请求创建新的资源类,为该资源类在密钥管理树中添加一条路径,用对称加密算法为该路径上的非叶子节点生成对称密钥,用非对称加密算法为该路径上的叶子节点生成非对称密钥对,并根据生成的对称密钥和非对称密钥对为该路径上的全部N个节点生成N-1个令牌,使用与上述相同的对称加密算法随机生成一个角色令牌,使用与上述相同的对称加密算法为该发布文件请求对应的文件生成一个随机密钥,使用该随机密钥对该文件进行加密以生成文件密文,并使用生成的非对称密钥对中的公钥对随机密钥进行加密以生成密钥密文,并将文件密文、密钥密文、N-1个令牌以及角色令牌上传到云服务提供商,其中N为自然数;
(3)数据拥有者根据更新文件请求从云服务提供商获得对应文件的密文、加密该文件的密钥的密文、以及该文件的令牌,根据该令牌并利用非对称加密算法获得用于解密该文件密钥的密钥,并利用该密钥解密该文件的密钥的密文,以得到文件的密钥,并根据对称加密算法利用得到的该密钥解密该文件的密文,以得到文件的明文,根据更新文件请求修改该明文,使用文件密钥对该文件进行加密以生成文件密文,并使用生成的非对称密钥对中的公钥对随机密钥进行加密以生成密钥密文,并将文件密文、密钥密文、N-1个令牌以及角色令牌上传到云服务提供商;
(4)数据拥有者根据删除文件请求判断其对应的文件是否存在于密钥管理树中,如果存在则从云服务提供商中删除该文件的密文、加密该文件的密钥的密文、以及该文件的令牌,并将该文件在密钥管理树中的路径删除,否则向客户端返回出错信息;
(5)数据拥有者根据文件权限撤销请求生成一把新的文件密钥,根据新的文件密钥和旧文件密钥计算文件密钥的重加密密钥,把重加密密钥传递给云服务提供商,并把新的文件密钥通过安全信道传递给对该文件具有访问权限的用户。
2.根据权利要求1所述的分层密钥管理方法,其特征在于,步骤(1)具体为,对文件操作请求中的CMD字段进行解析,如果该字段的域操作符为republish,则该文件操作请求为发布文件请求,如果该域操作符为update,则该文件操作请求为更新文件请求,如果该域操作符为delete,则该文件操作请求为删除文件请求,如果该字段的域操作符为revocation,则该文件操作请求为文件权限撤销请求。
3.根据权利要求1所述的分层密钥管理方法,其特征在于,步骤(2)中的对称加密算法采用的是AES算法,非对称加密算法采用的是ElGamal算法。
4.根据权利要求1所述的分层密钥管理方法,其特征在于,步骤(2)包括以下子步骤:
(2-1)数据拥有者将文件的基本信息及访问控制向量发送给云服务提供商,并且云服务提供商判断数据拥有者的访问控制向量是否已经在系统中存在,如果不存在,则进入步骤(2-2),如果存在,则进入步骤(2-5);
(2-2)数据拥有者创建新的资源类,为新的资源类创建从密钥管理树的树根到RCf这个叶节点的路径上的节点N1,N2,…Ni,其中i为路径上所有节点的数量;
(2-3)为路径上的非叶子节点N1,N2,…Ni-1随机生成对称密钥K1,K2,…Ki-1,为叶子节点Ni随机生成非对称加密密钥AKi,为对应的文件生成AES对称加密的文件密钥Kaes,为每个对该资源类具有访问权限的用户分发角色密钥Krole
(2-4)根据公式建立路径上父节点与子节点的关系,以得到令牌链,其中K1为密钥管理树中的任一父节点,K2为K1的孩子节点,T12是得到的令牌,Hash是使用的SHA-1算法。
(2-5)使用Kaes加密资源类中的文件得到文件的密文,使用非对称加密密钥AKi加密文件的对称加密密钥Kaes,以得到文件密钥的密文,并把文件密文、密钥密文,文件的访问控制向量上传到云服务提供商;
(2-6)数据拥有者为每一个对此文件具有访问权限的用户分发角色密钥Krole
5.根据权利要求1所述的分层密钥管理方法,其特征在于,步骤(5)包括以下子步骤:
(5-1)数据拥有者根据文件权限撤销请求生成一把新的对称加密密钥K’,把密钥K’分发到除了数据使用者之外的所有对文件权限撤销请求对应的文件具有访问权限的数据使用者;
(5-2)另一个数据使用者向云服务提供商发送数据请求,发送的数据包括数据使用者的身份信息和文件的索引信息;
(5-3)云服务提供商返回另一个数据使用者文件密文信息,所有令牌,以及文件密钥的密文信息;
(5-4)数据使用者根据自己的角色密钥和令牌链并通过公式进行密钥推导,得到加密文件密钥的密钥,用这把密钥解密文件密钥的密文,得到文件密钥,使用文件密钥解密文件密文得到文件明文。对文件明文进行更新,完成更新后使用新的文件对称加密密钥K’,对更新过后的文件进行加密得到文件密文,对新的加密密钥K’进行加密得到密钥的密文,并把密钥密文、文件密文上传到云服务提供商。
6.一种安全云存储的分层密钥管理系统,其特征在于,包括:
第一模块,用于接收来自客户端的文件操作请求,并对该文件操作请求进行解析,以确定该文件操作请求是发布文件请求,还是更新文件请求,还是删除文件请求,还是文件权限撤销请求,如果是发布文件请求,则进入第二模块,如果是更新文件请求,则进入第三模块,如果是删除文件请求,则进入第四模块,如果是文件权限撤销请求,则进入步骤第五模块;
第二模块,用于根据发布文件请求创建新的资源类,为该资源类在密钥管理树中添加一条路径,用对称加密算法为该路径上的非叶子节点生成对称密钥,用非对称加密算法为该路径上的叶子节点生成非对称密钥对,并根据生成的对称密钥和非对称密钥对为该路径上的全部N个节点生成N-1个令牌,使用与上述相同的对称加密算法随机生成一个角色令牌,使用与上述相同的对称加密算法为该发布文件请求对应的文件生成一个随机密钥,使用该随机密钥对该文件进行加密以生成文件密文,并使用生成的非对称密钥对中的公钥对随机密钥进行加密以生成密钥密文,并将文件密文、密钥密文、N-1个令牌以及角色令牌上传到云服务提供商,其中N为自然数;
第三模块,用于根据更新文件请求从云服务提供商获得对应文件的密文、加密该文件的密钥的密文、以及该文件的令牌,根据该令牌并利用非对称加密算法获得用于解密该文件密钥的密钥,并利用该密钥解密该文件的密钥的密文,以得到文件的密钥,并根据对称加密算法利用得到的该密钥解密该文件的密文,以得到文件的明文,根据更新文件请求修改该明文,使用文件密钥对该文件进行加密以生成文件密文,并使用生成的非对称密钥对中的公钥对随机密钥进行加密以生成密钥密文,并将文件密文、密钥密文、N-1个令牌以及角色令牌上传到云服务提供商;
第四模块,用于根据删除文件请求判断其对应的文件是否存在于密钥管理树中,如果存在则从云服务提供商中删除该文件的密文、加密该文件的密钥的密文、以及该文件的令牌,并将该文件在密钥管理树中的路径删除,否则向客户端返回出错信息;
第五模块,用于根据文件权限撤销请求生成一把新的文件密钥,根据新的文件密钥和旧文件密钥计算文件密钥的重加密密钥,把重加密密钥传递给云服务提供商,并把新的文件密钥通过安全信道传递给对该文件具有访问权限的用户。
CN201510322847.6A 2015-06-12 2015-06-12 一种安全云存储系统的分层密钥管理方法 Active CN104935588B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510322847.6A CN104935588B (zh) 2015-06-12 2015-06-12 一种安全云存储系统的分层密钥管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510322847.6A CN104935588B (zh) 2015-06-12 2015-06-12 一种安全云存储系统的分层密钥管理方法

Publications (2)

Publication Number Publication Date
CN104935588A true CN104935588A (zh) 2015-09-23
CN104935588B CN104935588B (zh) 2017-11-24

Family

ID=54122560

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510322847.6A Active CN104935588B (zh) 2015-06-12 2015-06-12 一种安全云存储系统的分层密钥管理方法

Country Status (1)

Country Link
CN (1) CN104935588B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106656942A (zh) * 2015-11-03 2017-05-10 电信科学技术研究院 角色令牌颁发方法、访问控制方法及相关设备
CN106647861A (zh) * 2017-01-23 2017-05-10 阜阳师范学院 一种用于毛皮动物窝箱的基于移动终端控制的加热装置
CN107147626A (zh) * 2017-04-25 2017-09-08 南通大学 一种AES算法与ElGamal算法相结合的加密文件传输方法
CN107317823A (zh) * 2017-08-01 2017-11-03 广东云下汇金科技有限公司 一种云存储系统中的加密方法和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546764A (zh) * 2011-12-20 2012-07-04 华中科技大学 一种云存储系统的安全访问方法
CN103179114A (zh) * 2013-03-15 2013-06-26 华中科技大学 一种云存储中的数据细粒度访问控制方法
CN103731261A (zh) * 2014-01-09 2014-04-16 西安电子科技大学 加密重复数据删除场景下的密钥分发方法
CN103973698A (zh) * 2014-05-19 2014-08-06 华中科技大学 一种云存储环境中的用户访问权限回收方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546764A (zh) * 2011-12-20 2012-07-04 华中科技大学 一种云存储系统的安全访问方法
CN103179114A (zh) * 2013-03-15 2013-06-26 华中科技大学 一种云存储中的数据细粒度访问控制方法
CN103731261A (zh) * 2014-01-09 2014-04-16 西安电子科技大学 加密重复数据删除场景下的密钥分发方法
CN103973698A (zh) * 2014-05-19 2014-08-06 华中科技大学 一种云存储环境中的用户访问权限回收方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
张浩: "CACDP:适用于云存储动态策略的密文访问控制方式", 《计算机研究与发现》 *
朗讯: "基于代理重加密的云存储密文访问控制方案", 《计算机应用》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106656942A (zh) * 2015-11-03 2017-05-10 电信科学技术研究院 角色令牌颁发方法、访问控制方法及相关设备
CN106656942B (zh) * 2015-11-03 2019-12-13 电信科学技术研究院 角色令牌颁发方法、访问控制方法及相关设备
CN106647861A (zh) * 2017-01-23 2017-05-10 阜阳师范学院 一种用于毛皮动物窝箱的基于移动终端控制的加热装置
CN107147626A (zh) * 2017-04-25 2017-09-08 南通大学 一种AES算法与ElGamal算法相结合的加密文件传输方法
CN107147626B (zh) * 2017-04-25 2020-03-27 南通大学 一种AES算法与ElGamal算法相结合的加密文件传输方法
CN107317823A (zh) * 2017-08-01 2017-11-03 广东云下汇金科技有限公司 一种云存储系统中的加密方法和系统

Also Published As

Publication number Publication date
CN104935588B (zh) 2017-11-24

Similar Documents

Publication Publication Date Title
CN109768987B (zh) 一种基于区块链的数据文件安全隐私存储和分享方法
CN108390876B (zh) 支持撤销外包可验证多授权中心访问控制方法、云服务器
US8891772B2 (en) Cloud key escrow system
CN108768951B (zh) 一种云环境下保护文件隐私的数据加密和检索方法
CN105847228A (zh) 用于信息中心网络的访问控制框架
CN110149322A (zh) 一种不可逆的动态失效重验重建的区块链加密方法
CN104009987B (zh) 一种基于用户身份能力的细粒度云平台安全接入控制方法
US20160055347A1 (en) Data access control method in cloud
CN107359986A (zh) 可撤销用户的外包加解密cp‑abe方法
CN105100083B (zh) 一种隐私保护且支持用户撤销的基于属性加密方法和系统
CN107040374B (zh) 一种云存储环境下支持用户动态撤销的属性基数据加密方法
Shen et al. Multi-security-level cloud storage system based on improved proxy re-encryption
JP2008527866A (ja) 識別情報に基づく暗号鍵方法及びデバイス
KR102050887B1 (ko) 사물인터넷 관리를 위한 클라우드 컴퓨팅 환경에서의 데이터 공유 방법 및 시스템
JP6115573B2 (ja) 暗号システム、データ保存システム、それに用いる装置および方法
WO2018165835A1 (zh) 云密文访问控制方法及系统
CN108632030A (zh) 一种基于cp-abe高效且安全的细粒度访问控制方法
KR101615137B1 (ko) 속성 기반의 데이터 접근 방법
CN106612271A (zh) 一种用于云存储的加密和访问控制方法
CN104935588A (zh) 一种安全云存储系统的分层密钥管理方法
CN105721146B (zh) 一种面向云存储基于smc的大数据共享方法
US10733317B2 (en) Searchable encryption processing system
CN105915333B (zh) 一种基于属性加密的高效密钥分发方法
Sethia et al. CP-ABE for selective access with scalable revocation: A case study for mobile-based healthfolder.
CN103973698B (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
GR01 Patent grant
GR01 Patent grant