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

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

Info

Publication number
CN104901968B
CN104901968B CN201510315793.0A CN201510315793A CN104901968B CN 104901968 B CN104901968 B CN 104901968B CN 201510315793 A CN201510315793 A CN 201510315793A CN 104901968 B CN104901968 B CN 104901968B
Authority
CN
China
Prior art keywords
file
request
client
key
service end
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.)
Active
Application number
CN201510315793.0A
Other languages
English (en)
Other versions
CN104901968A (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 CN201510315793.0A priority Critical patent/CN104901968B/zh
Publication of CN104901968A publication Critical patent/CN104901968A/zh
Application granted granted Critical
Publication of CN104901968B publication Critical patent/CN104901968B/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
    • 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)
    • 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

本发明公开了一种安全云存储系统中的密钥管理分发方法,属于计算机存储技术和信息安全技术领域,解决现有密钥管理分发方法在用户动态加入和退出系统时开销较大的问题。本发明包括客户端进程和服务端进程,客户端使用广播加密算法为每个用户生成公钥,用户请求文件时使用公钥通过广播加密分发文件密钥;本发明对当前公钥进行扩展,通过保留初始产生公钥时所使用的部分私有参数,当用户加入或撤离系统时使用保留的私有参数产生新的公钥加密数据,这样合法用户仍可以使用之前已分发的私钥解密新公钥加密的数据,避免了用户动态变化时更新广播加密私钥和广播加密私钥的重分发带来的额外开销,从而提高了系统在处理用户动态进出时的效率。

Description

一种安全云存储系统中的密钥管理分发方法
技术领域
本发明属于计算机存储技术和信息安全技术领域,更具体地,涉及一种安全云存储系统中的密钥管理分发方法。
背景技术
云存储安全问题阻碍了云存储的推广。数据加密存储是保证数据机密性的主流方法,而用户一般借助对加密数据的密钥管理和分发实现加密数据共享,如何安全高效地进行密钥的管理分发是云存储安全重要的研究内容之一。现有的基于广播加密的云存储系统加密数据共享方案采用广播加密工具,密钥由数据拥有者管理,无需在系统中引入第三方,且数据拥有者不需要长期在线。然而,现有的云存储系统加密数据共享方案没有考虑到云存储系统用户和权限的动态变化,从而导致云存储系统中密钥管理分发开销太大。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种安全云存储系统中的密钥管理分发方法,其目的在于,通过保留初始产生公钥时所使用的私有参数实现对公钥的扩展,以适应云存储环境中用户的加入和退出,从而解决现有的云存储系统加密数据共享方案由于没有考虑到云存储系统用户和权限的动态变化而导致的云存储系统中密钥管理分发开销太大的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种安全云存储系统中的密钥管理分发方法,包括以下步骤:
(1)服务器接收来自客户端的登录请求,并根据该登陆请求判断该客户端是否合法,如果合法则转入步骤(2),否则持续监听来自客户端的新登录请求;
(2)服务端接收来自客户端的服务请求,并判断该服务请求是私有信息请求,还是读写文件请求,还是上传文件请求,如果是私有信息请求则转入步骤(3),如果是读写文件请求则转入步骤(4),如果是上传文件请求则转入步骤(9);
(3)服务端将私有信息请求发送到其对应的文件属主,并接收文件属主传输的私有信息,然后返回步骤(2);
(4)服务端将读写文件请求对应的文件的共享密钥发送到客户端;
(5)服务端判断该读写文件请求是读文件请求还是写文件请求,如果是读文件请求则转入步骤(6),如果是写文件请求则转入步骤(8);
(6)服务端将读文件请求对应的文件发送到客户端,客户端使用该文件对应的文件属主产生的私有信息解密在步骤(4)获取到的共享密钥,以得到读密钥;
(7)服务端从客户端接收写文件请求对应的文件及其签名文件,并根据该文件判断客户端的写操作是否合法,如果是则转入步骤(8),如果不是则向客户端返回写操作失败信息,并返回步骤(2);
(8)服务端保存写文件请求对应的文件及其签名文件,向客户端返回写操作成功信息,并返回步骤(2);
(9)服务端接收上传文件请求对应的文件及其签名文件和共享密钥,基于公钥密码体系验证数据完整性的方法判断签名文件是否和文件对应,如果是则转入步骤(10),否则向客户端返回上传失败信息,并返回步骤(2);
(10)保存上传文件请求对应的文件及其签名文件和共享密钥,向客户端返回上传操作成功信息,并转入步骤(2)。
优选地,步骤(1)具体为,服务端在接收到登录请求时产生一个随机信息,并发送给客户端;客户端使用其注册时产生的私钥对该随机信息加密,并将加密后的随机信息再发送给服务端,服务端使用客户端注册时产生的公钥对加密后的随机信息验证,从而判断用户是否合法。
优选地,步骤(3)包括以下子步骤:
(3-1)服务端将私有信息请求发送到其对应的文件属主;
(3-2)文件属主判断其广播加密公钥是否可用于根据该私有信息请求中的用户身份信息生成私有信息,若可以则转入步骤(3-4),否则转入步骤(3-3);
(3-3)文件属主扩展其广播加密公钥,并使用该扩展后的公钥更新服务端其对应的广播加密公钥,然后转入步骤(3-4);
(3-4)文件属主获取客户端的ID,并使用其广播加密公钥生成广播加密私钥,并将该客户端ID和广播加密私钥作为私有信息返回给服务端。
优选地,步骤(3-3)中扩展的过程包括以下子步骤:
(3-3-1)取广播加密公钥中阶为p的乘法循环群G的生成元g以及元素α和γ,其中a∈Zp,γ∈Zp,Zp为模p的加法群;
(3-3-2)根据公式计算gn+1,g2n+1和g2n+2,将g2n+1和g2n+2加入原有的PK并从原有的PK中去除gn+2,从而得到新公钥PK'=(g,g1,...,gn,gn+1,gn+3,...g2n,g2n+1,g2n+2,v),其中i表示客户端的ID号,n表示可能接收到加密信息的接收者的数量;
(3-3-3)计算新的私钥
优选地,步骤(7)包括以下子步骤:
(7-1)服务端接收写文件请求对应的文件及其签名文件;
(7-2)服务端使用写文件请求对应的文件对应的完整性校验密钥验证写文件请求对应的文件的签名文件是否正确,如果是则转入步骤(8),如果则转入步骤(7-3);
(7-3)服务端向客户端返回写操作失败信息。
按照本发明的另一方面,提供了一种安全云存储系统中的密钥管理分发系统,包括:
第一模块,用于服务器接收来自客户端的登录请求,并根据该登陆请求判断该客户端是否合法,如果合法则转入第二模块,否则持续监听来自客户端的新登录请求;
第二模块,用于服务端接收来自客户端的服务请求,并判断该服务请求是私有信息请求,还是读写文件请求,还是上传文件请求,如果是私有信息请求则转入第三模块,如果是读写文件请求则转入步骤第四模块,如果是上传文件请求则转入第九模块;
第三模块,用于服务端将私有信息请求发送到其对应的文件属主,并接收文件属主传输的私有信息,然后返回第二模块;
第四模块,用于服务端将读写文件请求对应的文件的共享密钥发送到客户端;
第五模块,用于服务端判断该读写文件请求是读文件请求还是写文件请求,如果是读文件请求则转入第六模块,如果是写文件请求则转入第八模块;
第六模块,用于服务端将读文件请求对应的文件发送到客户端,客户端使用该文件对应的文件属主产生的私有信息解密第四模块获取到的共享密钥,以得到读密钥;
第七模块,用于服务端从客户端接收写文件请求对应的文件及其签名文件,并根据该文件判断客户端的写操作是否合法,如果是则转入第八模块,如果不是则向客户端返回写操作失败信息,并返回步骤第二模块;
第八模块,用于服务端保存写文件请求对应的文件及其签名文件,向客户端返回写操作成功信息,并返回第二模块;
第九模块,用于服务端接收上传文件请求对应的文件及其签名文件和共享密钥,基于公钥密码体系验证数据完整性的方法判断签名文件是否和文件对应,如果是则转入第十模块,否则向客户端返回上传失败信息,并返回第二模块;
第十模块,用于保存上传文件请求对应的文件及其签名文件和共享密钥,向客户端返回上传操作成功信息,并转入第二模块。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:由于采用了步骤(3)中对已有公钥进行扩展的方法,用户数量变化导致重新初始化时产生的新的广播加密公钥加密的数据使用已分发的广播加密私钥仍可以进行解密,并且降低了重新初始化的计算开销,因此能够解决云存储系统中密钥管理分发开销太大的技术问题。
附图说明
图1是本发明安全云存储系统中的密钥管理分发方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明的思路在于,提供一种安全云存储系统中的密钥管理分发方法,包括客户端进程和服务端进程。客户端使用广播加密算法为文件属主生成公钥,文件属主使用广播加密将文件密钥针对有权限的用户集合加密,用户使用广播加密算法产生的公开信息和私钥解密得到文件密钥;服务端存储加密后的数据和解密时所需要的额外信息。
以下首先就本发明的技术术语进行解释和说明:
原文件,指未加密的文件;
文件属主,指文件拥有者;
对称密码机制,是一种传统密码体制,加密和解密采用相同的密钥,解密是加密的逆运算;
对称密钥:对称密码机制中加解密使用的密钥。
读密钥,随机生成的二进制数据,用于对原文件进行对称加密;
加密文件,使用对称密钥对原文件采用对称密钥密码机制加密后得到的文件;
非对称密码机制,是一种密码体制,加密和解密采用的密钥不同,两个密钥分别为公开密钥和私有密钥;
写密钥,公私钥对中的私钥,用于对加密文件的哈希做非对称加密以得到签名文件;
完整性校验密钥,公私钥对中的公钥,用于解密签名文件以验证文件完整性;
签名文件,使用写密钥对加密文件的哈希做非对称加密得到的文件,用于校验文件完整性;
用户私钥,用户向服务端注册时产生的私钥,用于向服务端证明用户身份以及修改文件共享密钥和广播加密公钥;
用户公钥,用户向服务端注册时产生的公钥,用于验证用户身份;
广播加密,针对某用户集合进行的加密,一次广播加密会产生加密数据使用的对称密钥和公开信息,对称密钥使用后即丢弃,之后在用户集合内的用户使用其广播加密私钥以及公开信息可以解密得到之前产生的对称密钥从而获取数据,本文使用的广播加密算法来自Boneh,Gentry&Waters(简称BGW)方案;
私有参数,BGW方案中Setup(n)阶段中使用的α和γ;
私有信息,用户ID以及对应的广播加密私钥;
公开信息,针对某次广播加密产生的公开参数,用于解密;
广播加密公钥,用于广播加密和解密的公开密钥;
广播加密私钥,用户持有的用于解密的密钥;
文件共享密钥,包括读密钥、写密钥和完整性校验密钥,文件共享密钥使用用户私钥签名以确保只有文件属主可以修改。
在以下描述中G和G1是阶为p的乘法循环群,g是群G的生成元,映射e:G×G→G1为一个双线性映射,Zp为模p的加法群{0,1,…,p-1}。
本发明是基于Boneh、Gentry和Waters提出的公开密钥广播加密方案(BGW方案)。在BGW方案中,一个广播加密系统由三部分组成:
(1)Setup(n):输出n个私钥d1,...dn和公钥PK,其中n表示可能接收到加密信息的接收者的数量。
Setup(n)的实现如下:选取G的任意生成元g∈G和任意a∈Zp,对于i=1,2,...,2n(其中i表示客户端的ID),计算选取任意γ∈Zp,计算v=gγ∈G,最终得到广播加密公钥PK=(g,g1,...,gn,gn+2,...g2n,v)。
广播加密私钥
(2)Encrypt(S,PK):输入一个接收者的子集和公钥PK,输出(Hdr,K),其中K作为对称密钥用于加密,Hdr则是这次加密产生的公开信息。
Encrypt(S,PK)的实现如下:在Zp中选取随机的t,使用t计算K=e(gn,g1)t∈G1并将Hdr记作(C0,C1)。使用K作为私钥加密数据,Hdr作为公开信息。
(3)Decrypt(S,i,di,Hdr,PK):输入公钥PK、第二步中输入的S和产生的Hdr、i和用户私钥di,输出为K,并使用K解密数据。
Decrypt(S,i,di,Hdr,PK)的实现如下:使用di计算使用K解密数据。
如图1所示,本发明的安全云存储系统中的密钥管理分发方法包括以下步骤:
(1)服务器接收来自客户端的登录请求,并根据该登陆请求判断该客户端是否合法,如果合法则转入步骤(2),否则持续监听来自客户端的新登录请求;具体而言,服务端在接收到登录请求时产生一个随机信息,并发送给客户端;客户端使用其注册时产生的私钥对该随机信息加密,并将加密后的随机信息再发送给服务端,服务端使用客户端注册时产生的公钥对加密后的随机信息验证,从而判断用户是否合法;
(2)服务端接收来自客户端的服务请求,并判断该服务请求是私有信息请求,还是读写文件请求,还是上传文件请求,如果是私有信息请求则转入步骤(3),如果是读写文件请求则转入步骤(4),如果是上传文件请求则转入步骤(9);
(3)服务端将私有信息请求发送到其对应的文件属主,并接收文件属主传输的私有信息,然后返回步骤(2);本步骤包括以下子步骤:
(3-1)服务端将私有信息请求发送到其对应的文件属主;
(3-2)文件属主判断其广播加密公钥是否可用于根据该私有信息请求中的用户身份信息生成私有信息,若可以则转入步骤(3-4),否则转入步骤(3-3);
(3-3)文件属主扩展其广播加密公钥,并使用该扩展后的公钥更新服务端其对应的广播加密公钥,然后转入步骤(3-4);
具体而言,广播加密公钥PK和广播加密私钥di都在上述BGW方案中生成,即通过Setup(n)生成,而Setup(n)的实现如下:选取G的任意生成元g∈G和任意a∈Zp,对于i=1,2,...,2n,计算视作gi。选取任意γ∈Zp,计算v=gγ∈G,最终得到PK=(g,g1,...,gn,gn+2,...g2n,v)。用户的私钥
由以上Setup(n)的实现可知,若文件属主保留之前初始化阶段选择的α和γ,则可以在运行Setup(n+1)时使用已有的α和γ生成一个新的公钥PK'=(g,g1,...,gn,gn+1,gn+3,...g2n,g2n+1,g2n+2,v),并且增加一个私钥使用新的公钥加密的文件其他用户使用原本获取的私钥仍然可以解密。
如上扩展的过程包括以下子步骤:
(3-3-1)取广播加密公钥PK中的g以及保留的α和γ;
(3-3-2)根据公式计算gn+1,g2n+1和g2n+2,将g2n+1和g2n+2加入原有的PK并从原有的PK中去除gn+2,从而得到新公钥PK'=(g,g1,...,gn,gn+1,gn+3,...g2n,g2n+1,g2n+2,v);
(3-3-3)计算新的私钥
在新公钥中增加的gn+1会破坏原有公钥的安全性,原有公钥中的gn+2也会影响新公钥的安全性,因此如果按这种方式扩展公钥就需要将公钥扩展为原本的两倍大小以确保安全,而之前的文件共享密钥需要重新加密,但文件不需要重加密,对公钥的扩展即为生成新的公钥替换之前公钥的操作。
(3-4)文件属主获取客户端的ID,并使用其广播加密公钥生成广播加密私钥,并将该客户端ID和广播加密私钥作为私有信息返回给服务端;
(4)服务端将读写文件请求对应的文件的共享密钥发送到客户端;
(5)服务端判断该读写文件请求是读文件请求还是写文件请求,如果是读文件请求则转入步骤(6),如果是写文件请求则转入步骤(8);
(6)服务端将读文件请求对应的文件发送到客户端,客户端使用该文件对应的文件属主产生的私有信息解密在步骤(4)获取到的共享密钥,以得到读密钥;
(7)服务端从客户端接收写文件请求对应的文件及其签名文件,并根据该文件判断客户端的写操作是否合法,如果是则转入步骤(8),如果不是则向客户端返回写操作失败信息,并返回步骤(2);本步骤包括以下子步骤;
(7-1)服务端接收写文件请求对应的文件及其签名文件;
签名文件即为使用写密钥对写文件请求对应的文件的哈希做非对称加密得到的文件,而该写密钥和完整性校验密钥为一对公私钥,均保存在文件对应的共享密钥中;
(7-2)服务端使用写文件请求对应的文件对应的完整性校验密钥验证写文件请求对应的文件的签名文件是否正确,如果是则转入步骤(8),如果则转入步骤(7-3);
(7-3)服务端向客户端返回写操作失败信息,并返回步骤(2);
(8)服务端保存写文件请求对应的文件及其签名文件,向客户端返回写操作成功信息,并返回步骤(2);
(9)服务端接收上传文件请求对应的文件及其签名文件和共享密钥,基于公钥密码体系验证数据完整性的方法判断签名文件是否和文件对应,如果是则转入步骤(10),否则向客户端返回上传失败信息,并返回步骤(2);
(10)保存上传文件请求对应的文件及其签名文件和共享密钥,向客户端返回上传操作成功信息,并转入步骤(2);
应用实例
以下以实例说明系统的运行过程:
假设已有n-1个用户加入了系统,第n个用户加入系统的过程如下所述:
用户向服务端提交注册请求,服务端查找到最小未使用的用户ID为n,服务端返回用户ID,客户端接收到用户ID后,生成一对公私钥并针对初始的用户数量做广播加密初始化产生一个广播加密公钥,使用私钥对广播加密公钥生成签名文件,将公钥、广播加密公钥和广播加密公钥的签名文件上传到服务端完成注册;
用户上传文件时产生的文件共享密钥以及用户上传的公开信息都是使用用户私钥进行签名的,服务端在有用户提交对这些文件的修改时会使用用户公钥检查是否生成了正确的签名,所以只有用户自己可以修改这些数据。
在用户n想要访问用户m上传的文件之前,用户n需要向用户m请求一次广播加密私钥,过程如下所述:
首先用户n向用户m提交身份信息,用户m从其生成的广播加密公钥中选取未使用的参数生成广播加密私钥,假设之前用户m已经向k个用户分发了广播加密私钥,则用户n在用户m处的用户ID为k+1,用户m使用公钥中的参数gk+1生成广播加密私钥并将k+1和dk+1发送给用户n。用户n在不同的文件属主处有不同的用户ID,用户n访问属于用户m的文件时就使用用户m分发的用户ID和广播加密私钥。
用户m在从广播加密公钥中选取未使用的参数时有可能出现广播加密公钥中的参数用尽的情况,此时使用文件属主保留的之前初始化阶段选择的α和γ生成新的广播加密公钥PK=(g,g1,...,g2k,g2k+2,...g4k,v),其中v=gγ,将新的公钥更新到服务端并将之前进行了广播加密的文件共享密钥使用新版本的广播加密公钥加密,新的广播加密公钥增加了k个参数从而使用户m可以产生新的广播加密私钥。
用户n在获取用户m分发的广播加密私钥之后可以访问用户m上传的文件,过程如下所述:
用户n从用户m处取得一次广播加密私钥之后访问用户m的文件时就不再需要和用户m产生交互,用户m上传文件时根据用户n提交的身份信息决定是否授予用户n权限,若用户n具有读权限,则用户m对文件f的读密钥进行广播加密时选取用户集合S,其中S中包含k+1,之后运行Encrypt(S,PK)得到加密读密钥的密钥和公开信息Hdr,使用该密钥加密读密钥之后将S和Hdr上传到服务端,用户n读该文件时下载Hdr和S并运行Decrypt(S,k+1,dk+1,Hdr,PK)求出加密读密钥的密钥,解密得到读密钥之后即可对文件进行读操作。若用户m运行Encrypt(S,PK)时选择的S中不包含k+1,则用户n对该文件没有读权限,由于用户n使用其广播加密私钥无法解密读密钥,因此无法对文件进行读操作。
服务端不进行访问控制,服务端不拒绝用户读文件的请求,但是服务端在用户上传文件时会检查用户提交的签名文件是否和加密文件相匹配,由于写密钥是针对具有写权限的用户集合进行广播加密的,没有写权限的用户不能解密写密钥因此不能生成正确的签名文件,从而无法对该文件进行修改。
若用户m在之前上传文件时授予了用户n读写权限,用户m也可以通过修改文件共享密钥的方式撤销用户n的权限,过程如下所述:
用户m在上传文件f时选取了具有读权限的用户集合S,且S中包含k+1,其中k+1是用户n在用户m处的用户ID。用户m想要撤销用户n的读权限时需要产生新的读密钥,选取不包含k+1的用户集合S’,运行Encrypt(S’,PK)得到加密新的读密钥的密钥,之后将新的读密钥加密并上传,由于加密文件使用读密钥加密,因此需要将加密文件下载并重新加密上传。在完成撤销用户n的读权限的操作后,用户n不再能解密得到新的读密钥,因此失去了对文件f的读权限。
撤销写权限不需要重新加密文件,只需要重新产生写密钥和完整性校验密钥并将写密钥对新的用户集合加密,对文件f重新产生签名文件,将新的文件共享密钥、公开信息和签名文件上传即可。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (4)

1.一种安全云存储系统中的密钥管理分发方法,其特征在于,包括以下步骤:
(1)服务器接收来自客户端的登录请求,并根据该登陆请求判断该客户端是否合法,如果合法则转入步骤(2),否则持续监听来自客户端的新登录请求;
(2)服务端接收来自客户端的服务请求,并判断该服务请求是私有信息请求,还是读写文件请求,还是上传文件请求,如果是私有信息请求则转入步骤(3),如果是读写文件请求则转入步骤(4),如果是上传文件请求则转入步骤(9);
(3)服务端将私有信息请求发送到其对应的文件属主,并接收文件属主传输的私有信息,然后返回步骤(2);
(4)服务端将读写文件请求对应的文件的共享密钥发送到客户端;
(5)服务端判断该读写文件请求是读文件请求还是写文件请求,如果是读文件请求则转入步骤(6),如果是写文件请求则转入步骤(8);
(6)服务端将读文件请求对应的文件发送到客户端,客户端使用该文件对应的文件属主产生的私有信息解密在步骤(4)获取到的共享密钥,以得到读密钥;
(7)服务端从客户端接收写文件请求对应的文件及其签名文件,并根据该文件判断客户端的写操作是否合法,如果是则转入步骤(8),如果不是则向客户端返回写操作失败信息,并返回步骤(2);
(8)服务端保存写文件请求对应的文件及其签名文件,向客户端返回写操作成功信息,并返回步骤(2);
(9)服务端接收上传文件请求对应的文件及其签名文件和共享密钥,基于公钥密码体系验证数据完整性的方法判断签名文件是否和文件对应,如果是则转入步骤(10),否则向客户端返回上传失败信息,并返回步骤(2);
(10)保存上传文件请求对应的文件及其签名文件和共享密钥,向客户端返回上传操作成功信息,并转入步骤(2);
其中,步骤(3)包括以下子步骤:
(3-1)服务端将私有信息请求发送到其对应的文件属主;
(3-2)文件属主判断其广播加密公钥是否可用于根据该私有信息请求中的用户身份信息生成私有信息,若可以则转入步骤(3-4),否则转入步骤(3-3);
(3-3)文件属主扩展其广播加密公钥,并使用该扩展后的公钥更新服务端其对应的广播加密公钥,然后转入步骤(3-4);
(3-4)文件属主获取客户端的ID,并使用其广播加密公钥生成广播加密私钥,并将该客户端ID和广播加密私钥作为私有信息返回给服务端;
其中,步骤(3-3)中扩展的过程包括以下子步骤:
(3-3-1)取广播加密公钥中阶为p的乘法循环群G的生成元g以及元素α和γ,其中a∈Zp,γ∈Zp,Zp为模p的加法群;
(3-3-2)根据公式计算gn+1、g2n+1和g2n+2,将g2n+1和g2n+2加入原有的PK并从原有的PK中去除gn+2,从而得到新公钥PK'=(g,g1,...,gn,gn+1,gn+3,...g2n,g2n+1,g2n+2,v),其中i表示客户端的ID号,n表示可能接收到加密信息的接收者的数量;
(3-3-3)计算新的私钥
2.根据权利要求1所述的密钥管理分发方法,其特征在于,步骤(1)具体为,服务端在接收到登录请求时产生一个随机信息,并发送给客户端;客户端使用其注册时产生的私钥对该随机信息加密,并将加密后的随机信息再发送给服务端,服务端使用客户端注册时产生的公钥对加密后的随机信息验证,从而判断用户是否合法。
3.根据权利要求1所述的密钥管理分发方法,其特征在于,步骤(7)包括以下子步骤:
(7-1)服务端接收写文件请求对应的文件及其签名文件;
(7-2)服务端使用写文件请求对应的文件对应的完整性校验密钥验证写文件请求对应的文件的签名文件是否正确,如果是则转入步骤(8),如果则转入步骤(7-3);
(7-3)服务端向客户端返回写操作失败信息。
4.一种安全云存储系统中的密钥管理分发系统,其特征在于,包括:
第一模块,用于服务器接收来自客户端的登录请求,并根据该登陆请求判断该客户端是否合法,如果合法则转入第二模块,否则持续监听来自客户端的新登录请求;
第二模块,用于服务端接收来自客户端的服务请求,并判断该服务请求是私有信息请求,还是读写文件请求,还是上传文件请求,如果是私有信息请求则转入第三模块,如果是读写文件请求则转入步骤第四模块,如果是上传文件请求则转入第九模块;
第三模块,用于服务端将私有信息请求发送到其对应的文件属主,并接收文件属主传输的私有信息,然后返回第二模块;
第四模块,用于服务端将读写文件请求对应的文件的共享密钥发送到客户端;
第五模块,用于服务端判断该读写文件请求是读文件请求还是写文件请求,如果是读文件请求则转入第六模块,如果是写文件请求则转入第八模块;
第六模块,用于服务端将读文件请求对应的文件发送到客户端,客户端使用该文件对应的文件属主产生的私有信息解密第四模块获取到的共享密钥,以得到读密钥;
第七模块,用于服务端从客户端接收写文件请求对应的文件及其签名文件,并根据该文件判断客户端的写操作是否合法,如果是则转入第八模块,如果不是则向客户端返回写操作失败信息,并返回步骤第二模块;
第八模块,用于服务端保存写文件请求对应的文件及其签名文件,向客户端返回写操作成功信息,并返回第二模块;
第九模块,用于服务端接收上传文件请求对应的文件及其签名文件和共享密钥,基于公钥密码体系验证数据完整性的方法判断签名文件是否和文件对应,如果是则转入第十模块,否则向客户端返回上传失败信息,并返回第二模块;
第十模块,用于保存上传文件请求对应的文件及其签名文件和共享密钥,向客户端返回上传操作成功信息,并转入第二模块;
其中,所述第三模块具体用于执行以下操作:
(3-1)服务端将私有信息请求发送到其对应的文件属主;
(3-2)文件属主判断其广播加密公钥是否可用于根据该私有信息请求中的用户身份信息生成私有信息,若可以则转入步骤(3-4),否则转入步骤(3-3);
(3-3)文件属主扩展其广播加密公钥,并使用该扩展后的公钥更新服务端其对应的广播加密公钥,然后转入步骤(3-4);
(3-4)文件属主获取客户端的ID,并使用其广播加密公钥生成广播加密私钥,并将该客户端ID和广播加密私钥作为私有信息返回给服务端;
其中,(3-3)中扩展的过程包括以下操作:
(3-3-1)取广播加密公钥中阶为p的乘法循环群G的生成元g以及元素α和γ,其中a∈Zp,γ∈Zp,Zp为模p的加法群;
(3-3-2)根据公式计算gn+1、g2n+1和g2n+2,将g2n+1和g2n+2加入原有的PK并从原有的PK中去除gn+2,从而得到新公钥PK'=(g,g1,...,gn,gn+1,gn+3,...g2n,g2n+1,g2n+2,v),其中i表示客户端的ID号,n表示可能接收到加密信息的接收者的数量;
(3-3-3)计算新的私钥
CN201510315793.0A 2015-06-10 2015-06-10 一种安全云存储系统中的密钥管理分发方法 Active CN104901968B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510315793.0A CN104901968B (zh) 2015-06-10 2015-06-10 一种安全云存储系统中的密钥管理分发方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510315793.0A CN104901968B (zh) 2015-06-10 2015-06-10 一种安全云存储系统中的密钥管理分发方法

Publications (2)

Publication Number Publication Date
CN104901968A CN104901968A (zh) 2015-09-09
CN104901968B true CN104901968B (zh) 2018-01-05

Family

ID=54034365

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510315793.0A Active CN104901968B (zh) 2015-06-10 2015-06-10 一种安全云存储系统中的密钥管理分发方法

Country Status (1)

Country Link
CN (1) CN104901968B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106453612B (zh) * 2016-11-10 2019-03-05 华中科技大学 一种数据存储与共享系统
CN106788994B (zh) * 2016-12-06 2020-04-07 中国电子科技集团公司第三十二研究所 适用于云存储系统的密钥更新方法
CN109889494B (zh) * 2019-01-07 2020-07-07 南京航空航天大学 一种可撤销的云数据安全共享方法
CN109981584B (zh) * 2019-02-26 2021-10-26 符安文 一种基于区块链的分布式社交方法
CN110351276B (zh) * 2019-07-12 2021-11-23 全链通有限公司 数据处理方法、设备及计算机可读存储介质
CN114205090B (zh) * 2021-11-30 2024-01-30 傲然技术有限公司 一种基于国密算法的安全的文件共享方法和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546764A (zh) * 2011-12-20 2012-07-04 华中科技大学 一种云存储系统的安全访问方法
CN103095847A (zh) * 2013-02-04 2013-05-08 华中科技大学 一种云存储系统安全保障方法及其系统
CN103107992A (zh) * 2013-02-04 2013-05-15 杭州师范大学 面向云存储加密数据共享的多级权限管理方法
EP2645618A1 (en) * 2012-03-30 2013-10-02 British Telecommunications Public Limited Company Method and system for network data access
CN103973698A (zh) * 2014-05-19 2014-08-06 华中科技大学 一种云存储环境中的用户访问权限回收方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546764A (zh) * 2011-12-20 2012-07-04 华中科技大学 一种云存储系统的安全访问方法
EP2645618A1 (en) * 2012-03-30 2013-10-02 British Telecommunications Public Limited Company Method and system for network data access
CN103095847A (zh) * 2013-02-04 2013-05-08 华中科技大学 一种云存储系统安全保障方法及其系统
CN103107992A (zh) * 2013-02-04 2013-05-15 杭州师范大学 面向云存储加密数据共享的多级权限管理方法
CN103973698A (zh) * 2014-05-19 2014-08-06 华中科技大学 一种云存储环境中的用户访问权限回收方法

Also Published As

Publication number Publication date
CN104901968A (zh) 2015-09-09

Similar Documents

Publication Publication Date Title
CN112910840B (zh) 一种基于联盟区块链的医疗数据存储共享方法及系统
CN104901968B (zh) 一种安全云存储系统中的密钥管理分发方法
CN112019591B (zh) 一种基于区块链的云数据共享方法
CN108881314B (zh) 雾计算环境下基于cp-abe密文隐私保护方法及系统
CN108418681B (zh) 一种支持代理重加密的基于属性的密文检索系统及方法
CN111523133B (zh) 一种区块链与云端数据协同共享方法
CN110149322A (zh) 一种不可逆的动态失效重验重建的区块链加密方法
CN108600171B (zh) 一种支持细粒度访问的云数据确定性删除方法
CN111526197B (zh) 一种云端数据安全共享方法
CN114219483B (zh) 基于lwe-cpabe的区块链数据共享方法、设备和存储介质
CN112187798B (zh) 一种应用于云边数据共享的双向访问控制方法及系统
CN107040374B (zh) 一种云存储环境下支持用户动态撤销的属性基数据加密方法
CN104468615A (zh) 基于数据共享的文件访问和修改权限控制方法
CN115296817B (zh) 基于区块链技术和属性加密的数据访问控制方法
CN105100083A (zh) 一种隐私保护且支持用户撤销的基于属性加密方法和系统
CN103973698B (zh) 一种云存储环境中的用户访问权限回收方法
CN113904818B (zh) 一种支持密文共享和汇聚的轻量级细粒度访问控制方法
CN111541731B (zh) 一种基于区块链和知悉范围加密的电子文件访问控制方法
Thorncharoensri et al. Secure and Efficient Communication in VANETs Using Level‐Based Access Control
Thangavel et al. An analysis of privacy preservation schemes in cloud computing
CN114430321B (zh) 基于dfa自适应安全的黑盒可追踪密钥属性加密方法及装置
Murthy Cryptographic secure cloud storage model with anonymous authentication and automatic file recovery
Shanthi et al. Efficient secure system of data in cloud using steganography based cryptosystem with FSN
Sowmiya et al. Secure cloud storage model with hidden policy attribute based access control
Kumar et al. Securing cloud access with enhanced attribute-based cryptography

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