CN105592102B - 一种基于客户端公私钥加解密的云安全存储方法 - Google Patents

一种基于客户端公私钥加解密的云安全存储方法 Download PDF

Info

Publication number
CN105592102B
CN105592102B CN201610066469.4A CN201610066469A CN105592102B CN 105592102 B CN105592102 B CN 105592102B CN 201610066469 A CN201610066469 A CN 201610066469A CN 105592102 B CN105592102 B CN 105592102B
Authority
CN
China
Prior art keywords
key
client
user
catalogue
directory
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
CN201610066469.4A
Other languages
English (en)
Other versions
CN105592102A (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.)
South China University of Technology SCUT
Original Assignee
South China University of Technology SCUT
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 South China University of Technology SCUT filed Critical South China University of Technology SCUT
Priority to CN201610066469.4A priority Critical patent/CN105592102B/zh
Publication of CN105592102A publication Critical patent/CN105592102A/zh
Application granted granted Critical
Publication of CN105592102B publication Critical patent/CN105592102B/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
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0478Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)
  • Document Processing Apparatus (AREA)

Abstract

本发明涉及一种基于客户端公私钥加解密的云安全存储方法,包括如下步骤:初始化有权限访问的对象;查看对象;增加对象;删除对象;修改对象;用户添加或者删除另一个用户的共享权限。根据本发明有效的保证了用户在客户端对加解密的控制,避免了服务器端的解密,保证了安全性。本发明也可以防止当用户被撤销某个对象的访问权限时,可以继续访问该对象。本发明具有提高了云存储的安全与存储性能等优点。

Description

一种基于客户端公私钥加解密的云安全存储方法
技术领域
本发明涉及一种云安全存储技术,特别涉及一种基于客户端公私钥加解密的云安全存储方法。
背景技术
随着云存储的普及,越来越多的用户将对象(包括目录,文件等)放置到云端的服务器上,但是用户数据在服务器上如果不加上保密措施很有可能遭到泄露,窃取或者篡改等破坏用户隐私的安全性攻击。并且由于大多数云存储的服务器是分布式存储的,服务器的安全性可能不一样,且服务器的管理员也有可能恶意获取数据。因此用户在服务器端的数据保密性成为了云存储安全性里重要的一部分。
发明内容
本发明的目的在于克服现有技术的缺点与不足,提供一种基于客户端公私钥加解密的云安全存储方法,客户端主要负责对象的加解密,服务器负责加密后的对象的存储,密钥数据中心主要负责权限记录的存储和控制,其权限记录的存储和控制主要是基于用户的公钥。其中的假设是基于服务器端和密钥数据中心是不完全可信的,服务器端的管理员也有可能恶意获取数据,密钥数据中心有可能独立于服务器端或者在服务器端上,只有客户端是可信度的。因此本发明的出发点是找出一种基于客户端公私钥加解密的云安全存储方法,在满足文件系统安全的基本条件下,防止管理员在获取服务器端的数据后能够破解对象内容。
本发明的目的通过下述技术方案实现:一种基于客户端公私钥加解密的云安全存储方法,具有客户端角色,服务器端角色,以及密钥数据中心角色。客户端角色主要用于对象的加解密,服务器角色负责加密后的对象的存储,密钥数据中心角色主要负责权限记录的存储和控制。该方法描述了初始化用户有权限访问的对象,查看对象,增加对象,删除对象,修改对象,用户添加或者删除另一个用户的共享权限这六个方面的流程步骤。所述云安全存储方法具体包括如下步骤:
1、初始化加载有权限访问的对象:
当用户登录的时候,该文件系统根据密钥数据中心里的权限记录,返回给客户端。客户端根据密钥中心返回的权限记录获取对象ID,根据对象ID从服务器端获取对应的密文,用户用私钥从权限记录中解密出对象的明文密钥。如果是目录对象,则客户端会向密钥数据中心请求再加密的信息,根据返回的再加密信息和目录对象的明文密钥,用户解密出目录对象的目录数据,目录数据记载的是目该目录下面的所有对象的明文密钥。如果是除了目录对象以外的对象,则直接用解密出的明文密钥打开对象,无需再从密钥数据中心获取再加密信息。所以,用户能看到的都是有权限访问的对象。没有权限访问到的对象用户是没法看到的。
2、查看对象:
由于用户能看到的都是有权限访问的对象,客户端根据从密钥数据中心得到的权限记录,此时用户用私钥从权限记录中解密出对象的明文密钥。客户端根据密钥中心返回的权限记录获取对象ID,根据对象ID从服务器端获取对应的密文。如果是目录对象,则客户端会向密钥数据中心请求再加密的信息,根据返回的再加密信息和目录对象的明文密钥,用户解密出目录对象的目录数据,目录数据记载的是目该目录下面的所有对象的明文密钥。如果是除了目录对象以外的对象,则直接用解密出的明文密钥打开对象,无需再从密钥数据中心获取再加密信息。如果还对目录对象下的对象进行访问,由于已经获得了该目录对象的目录数据,该目录下面的所有对象的明文密钥已经知道,若是还访问目录对象,则客户端继续向数据密钥中心请求对应目录对象的再加密信息。若是访问的是非目录对象,则直接用解密得到的明文密钥解密非目录对象。依次循环执行流程,直到访问到目标对象。
3、增加对象:
用户在客户端生成对象的密钥,对象的对称密钥是由客户端随机生成的。对于增加的对象如果是目录对象,客户端还需要增加一步,发送请求给密钥数据中心要求对新增的目录对象的目录数据进行再加密,生成再加密信息,返回给客户端。将对象用密钥加密后(目录对象是对目录数据进行本身密钥加密后再加密,其它对象则是直接用本身的密钥加密),将加密后的对象上传至服务器的目标位置目录下。将加密后的目标位置目录的目录数据下载至客户端,客户端与密钥数据中心进行通信获得解密目录数据的密钥,解密目录数据后将增加对象的明文密钥写入目标目录的目录数据里,将目标位置目录数据重新加密后传至服务器下。最后,客户端将对象的权限记录(哪些用户可以共享对象的记录)用共享用户的公钥加密后,发送给密钥数据中心存储。
4、删除对象:
客户端向服务器端发送请求,获取删除对象的所在目录的目录数据。将加密后的目录数据下载至客户端,客户端与密钥数据中心进行通信获得解密目录数据的密钥,解密目录数据后将要删除的对象的明文密钥删除。删除后将目录数据重新加密后传至服务器下。对于删除的对象如果是目录对象,客户端还需要增加一步,遍历要删除的目录对象以下的所有的目录对象,发送请求给密钥数据中心要求对删除的目录对象以及该目录下的所有子目录的再加密信息进行删除。之后客户端向服务器端发送请求将要删除的对象删除。最后,客户端向数据密钥中心发送请求将删除对象的权限记录(哪些用户可以共享对象的记录)删除(如果是目录对象,则删除的权限记录包括该目录对象以及该目录对象下的所有对象;如果是非目录对象,则直接删除该非目录对象的权限记录)。
5、修改对象:
由于对目录对象的修改主要是对目录数据的修改,目录数据存有该目录对象下面的所有对象的明文密钥,对其修改即是该目录对象下对象的增加与删除,而且目录数据的改变并不会引起目录对象的本身密钥改变。所以对目录对象的修改参考前面的增加与删除对象的流程。
以下讨论的是非目录对象的修改。
客户端向服务器端发送请求,下载要修改的加密后的对象以及对象所在的目录对象的目录数据。客户端与密钥数据中心通信获得解密的密钥进行解密,解密后对对象内容进行修改。修改后客户端随机生成新的对象密钥。用新的密钥对对象进行加密。并且将新的密钥写入上一级的目录对象的目录数据里,删除原来的对象密钥,对目录数据重新加密。客户端向服务器端发送请求,删除原来的对象和目录数据,将修改后的加密后的新对象和上一级的目录数据上传至原来的位置;向密钥数据中心发送请求,删除该对象的权限记录,客户端重新生成该对象的权限记录后发送给密钥数据中心。
6、用户添加或者删除另一个用户的共享权限。
如果某个用户要添加另一个用户的共享权限,用户的客户端直接将要共享对象的明文密钥用另一个用户的公钥加密后,形成权限信息,发送给密钥数据中心。如果某个用户要删除另一个用户的共享权限,如果撤销的是目录对象的共享权限,则用户的客户端首先遍历该目录下的所有对象,获取对象ID集合,发送请求将密钥数据中心中的对应的权限信息(用户ID与对象ID集合的笛卡尔积的对应关系)删除,同时客户端将该目录对象下的所有子目录对象的信息发送给密钥数据中心要求更新该目录以及所有子目录的再加密信息。密钥数据中心将这些目录对象的再加密信息更新之后,将旧的以及新的再加密信息发送给回客户端,客户端向服务器端请求这些目录对象的目录数据,重新解密加密后,重新上传至服务器端。如果撤销的是非目录对象的共享权限,则用户的客户端直接向密钥数据中心发送请求,删除被撤销用户与对象的对应权限记录。
本发明的原理:本发明的基于客户端公私钥加解密的云安全存储方法,具有客户端,服务器端,以及密钥数据中心,主要流程包括:当用户登录系统时,初始化操作流程;用户查看有权限访问的对象的操作流程;用户删除对象的操作流程;用户增加对象的操作流程;用户修改对象的操作流程;以及用户对共享权限的控制流程(增加或者删除共享用户的流程)。系统中使用到的加解密方法包括对称加密方法对对象进行加密,用非对称加密方法实现对访问权限的控制,密钥数据中心的加密保证前向安全。根据本发明的实现,有效的保证了用户在客户端对加解密的控制,避免了服务器端的解密,保证了安全性。本发明也可以防止当用户被撤销某个对象的访问权限时,可以继续访问该对象。本发明有效提高了云存储的安全与存储性能。
本发明相对于现有技术具有如下的优点及效果:
本发明实现了一种基于客户端公私钥加解密的云安全存储方法。该方法包括客户端,服务器端,以及密钥数据中心。客户端主要负责对象的加解密,服务器负责加密后的对象的存储,密钥数据中心主要负责权限记录的存储和控制,其权限记录的存储和控制主要是基于用户的公钥。在本方法中,服务器端与密钥数据中心不完全可信,客户端是完全可信的。所有对象数据是加密后上传至服务器端的,所以即使服务器端的数据遭到黑客恶意攻击,泄漏等,黑客也无法得到对象数据明文内容。黑客攻击密钥数据中心,由于密钥数据中心只存有目录对象的再加密信息,而密钥数据中心中的权限信息包括的密钥是被有权限用户用其公钥加密过的,用户的私钥是保存在各个用户的客户端中,在本方法中客户端是完全可信。所以黑客攻击密钥数据中心,最多只能获取解密目录对象的部分密钥,无法获取所有对象的全部密钥。根据以上讨论,即使服务器端和密钥数据中心端合谋,是无法对服务器端上的加密对象数据进行解密得到对象明文的。只有有权限的用户,从服务器端获取加密的对象数据,从密钥数据中心通过权限判断后,获得目录对象的再加密信息和权限信息,用有权限用户的私钥才可以完全解密,得到对象的明文。对象的加密和解密都是在完全可信端客户端进行。密钥数据中心使用对目录对象使用再加密,是因为目录对象采用目录数据的方式存储,目录数据存有该目录下面的所有对象的明文密钥,一旦知道目录数据,该目录对象下的所有对象都可以访问。因此,当用户被撤销权限的时候,不需要更新目录对象本身的密钥,因为这会造成大量的更新操作,只需要更新目录对象以及该目录对象下所有子目录对象的再加密信息。这种方式一方面是保证了用户被撤销权限后的不可再访问,即是向前安全,另一方面是为了防止每当发生权限撤销的时候,就要进行大量的更新操作,影响了效率。为了保证效率,不一定要在每个用户发生权限撤销时就进行更新操作,可以执行延迟更新。所以本发明在云存储的安全性和效率方面都具有很大的优势。
附图说明
图1为该方法的主要组成图
图2为初始化加载有权限访问的对象和查看对象的流程图。
图3为增加对象的流程图。
图4为删除对象的流程图。
图5为修改对象的流程图。
图6为用户添加或者删除另一个用户的共享权限图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例
如图1所示,描述的是该方法的主要组成部分。该方法包括客户端角色,服务器端角色,以及密钥数据中心角色。客户端角色主要负责对象的加解密,服务器角色负责加密后的对象的存储,密钥数据中心角色主要负责权限记录的存储和控制。该方法主要描述了初始化用户有权限访问的对象,查看对象,增加对象,删除对象,修改对象,用户添加或者删除另一个用户的共享权限这六个方面的流程步骤。图1的流程图描述了该方法的当用户登录进行初始化流程之后,可进行查看对象,增加对象,删除对象,修改对象以及用户添加或者删除另一个用户的共享权限这几个步骤。
如图2所示,描述的是用户登录的时候,初始化加载有权限访问的对象和查看对象的流程。
(每个用户的客户端存有该用户的公私钥,用户的客户端会将用户的公钥发送给密钥数据中心)
①用户在客户端输入登录信息后,客户端将用户的信息发至密钥数据密钥中心。
②密钥数据中心查找相关用户的权限信息,将相关用户的权限信息发回给客户端。
③客户端根据密钥数据中心返回的权限记录获取对象ID,将对象ID发送至服务器端。
④服务器端根据对象ID,将相应的对象密文发送至客户端。
⑤客户端利用用户私钥从权限记录中解密出对象的明文。
⑥如果是目录对象,则客户端会向密钥数据中心请求再加密的信息。
⑦根据返回的再加密信息和目录对象的明文密钥,用户解密出目录对象的目录数据,目录数据记载的是目该目录下面的所有对象的明文密钥。
⑧如果还对目录对象下的对象进行访问,由于已经获得了该目录对象的目录数据,该目录下面的所有对象的明文密钥已经知道,若是还访问目录对象,则客户端继续向数据密钥中心请求对应目录对象的再加密信息。若是访问的是非目录对象,则直接用解密得到的明文密钥解密非目录对象,无需再向密钥数据中心请求再加密信息。依次循环执行流程,直到访问到目标对象
如图3所示,描述的是用户增加对象的流程。
①用户在客户端随机生成对象的密钥。
②对于增加的对象如果是目录对象,客户端还需要增加一步,发送请求给密钥数据中心要求对新增的目录对象生成再加密信息。
③密钥数据中心生成增加目录对象的再加密信息,返回给客户端。
④将对象用密钥加密后(目录对象是对目录数据进行本身密钥加密后再加密,其它对象则是直接用本身的密钥加密)。
⑤将加密后的对象上传至服务器的目标目录下。
⑥将加密后的目标目录的目录数据下载至客户端。
⑦客户端与密钥数据中心进行通信获得解密目录数据的密钥。
⑧获得目录数据的密钥,客户端解密目录数据后将增加对象的明文密钥写入目标目录的目录数据里。
⑨将目标目录数据重新加密后传至服务器下。
⑩最后,客户端将对象的权限记录(哪些用户可以共享对象的记录)用共享用户的公钥加密后,发送给密钥数据中心存储
如图4所示,描述的是用户删除对象的流程。
①客户端向服务器端发送请求,获取删除对象的所在目录的目录数据。
②将加密后的目录数据下载至客户端。
③客户端与密钥数据中心进行通信获得解密目录数据的密钥。
④获得解密目录数据后将要删除的对象的明文密钥删除。
⑤删除后将目录数据重新加密后传至服务器下。
⑥对于删除的对象如果是目录对象,客户端还需要增加一步,遍历要删除的目录对象以下的所有的目录对象,发送请求给密钥数据中心要求对删除的目录对象以及该目录下的所有子目录的再加密信息进行删除。
⑦客户端向服务器端发送请求将要删除的对象删除。
⑧最后,客户端向数据密钥中心发送请求将删除对象的权限记录(哪些用户可以共享对象的记录)删除(如果是目录对象,则删除的权限记录包括该目录对象以及该目录对象下的所有对象;如果是非目录对象,则直接删除该非目录对象的权限记录)。
如图5所示,描述的是用户修改对象的流程。
由于对目录对象的修改主要是对目录数据的修改,目录数据存有该目录对象下面的所有对象的明文密钥,对其修改即是该目录对象下对象的增加与删除,而且目录数据的改变并不会引起目录对象的本身密钥改变。所以对目录对象的修改参考前面的增加与删除对象的流程。以下讨论的是非目录对象的修改。
⑴客户端向服务器端发送请求,下载要修改的加密后的对象以及对象所在的目录对象的目录数据。
⑵客户端与密钥数据中心通信获得解密的密钥。
⑶客户端获得解密密钥后,解密后对对象内容进行修改。
⑷客户端修改对象后随机生成新的密钥。用新的密钥对对象进行加密。并且将新的密钥写入上一级的目录对象的目录数据里,删除原来的对象密钥,对目录数据重新加密。
⑸客户端向服务器端发送请求,删除原来的对象和目录数据,将修改后的加密后的新对象和上一级的目录数据上传至原来的位置。
⑹客户端向向密钥数据中心发送请求,删除该对象的权限记录。客户端重新生成该对象的权限记录后发送给密钥数据中心。
如图6所示,描述的是用户添加或者删除另一个用户的共享权限。
①如果某个用户要添加另一个用户的共享权限,用户的客户端直接将要共享对象的明文密钥用另一个用户的公钥加密。(另一个用户的公钥可以从密钥数据中心获得,或者用户通过某种渠道获得另一个用户的公钥)
②在客户端加密后形成权限信息,发送给密钥数据中心。
③如果某个用户要删除另一个用户的共享权限,如果撤销的是目录对象的共享权限,则用户的客户端首先遍历该目录下的所有对象,获取对象ID集合。(遍历的过程参考前面的查找的过程)。包括与服务器端和密钥数据中心端的通信。
④发送请求将密钥数据中心中的对应的权限信息(用户ID与对象ID集合的笛卡尔积对应关系)删除,同时客户端将该目录对象下的所有子目录对象的信息发送给密钥数据中心要求更新该目录以及所有子目录的再加密信息。
⑤密钥数据中心将这些目录对象的再加密信息更新之后,将旧的以及新的再加密信息发送给回客户端。
⑥客户端向服务器端请求这些目录对象的目录数据。
⑦服务器返回加密后的目录数据。
⑧客户端重新解密加密后,重新上传至服务器端。
如果撤销的是非目录对象的共享权限,则用户的客户端直接向密钥数据中心发送请求,删除被撤销用户与对象的对应权限记录。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (10)

1.一种基于客户端公私钥加解密的云安全存储方法,其特征在于,包括如下步骤:
初始化有权限访问的对象:用户在客户端登录进行身份验证之后,向密钥数据中心请求,密钥数据中心返回该用户能够访问的权限信息,所述权限信息包括对象ID和用户公钥加密过的对象的密钥;用户根据得到的对象ID从服务器端得到加密后的对象,若是非目录对象,则直接解密;若是目录对象,则向密钥数据中心请求再加密信息后解密目录对象;由此用户能够看到有权限访问的对象;
查看对象:用户查看有权限访问的对象,若是非目录对象,根据从密钥数据中心得到的权限信息,用私钥解密后得到对象的密钥明文后解密访问;若是目录对象,则向密钥数据中心请求再加密信息,根据返回的再加密信息和目录对象的明文密钥,用户解密出目录对象的目录数据,目录数据记载的是目该目录下面的所有对象的明文密钥;该目录下的对象查看的过程如前;
增加对象:客户端随机生成欲增加对象的对称密钥,若是目录对象,则还需要发送请求给密钥数据中心要求对新增的目录对象的目录数据进行再加密,生成再加密信息,返回给客户端;若是非目录对象,则是不需要发请求给密钥数据中心;加密后,将加密后的对象上传至服务器的目标位置下;将加密后的目标位置目录的目录数据下载至客户端,解密目录数据后将增加对象的明文密钥写入目标目录的目录数据里,之后重新传至服务器下;最后,客户端将对象的权限记录用共享用户的公钥加密后,发送给密钥数据中心存储;所述权限记录是用户可以共享对象的记录;
删除对象:客户端向服务器端发送请求,获取删除对象的所在目录的目录数据;将加密后的目录数据下载至客户端,解密目录数据后将要删除的对象的明文密钥删除之后重新加密重新上传;对于删除的对象如果是目录对象,客户端还需遍历要删除的目录对象以下的所有的目录对象,发送请求给密钥数据中心要求对删除的目录对象以及该目录下的所有子目录的再加密信息进行删除;之后客户端向服务器端发送请求将要删除的对象删除;最后,客户端向数据密钥中心发送请求将删除对象的权限记录删除;
修改对象:主要是针对非目录对象的修改;客户端向服务器端发送请求,下载要修改的加密后的对象以及对象所在的目录对象的目录数据;解密后对对象内容进行修改,修改后随机生成新的对象密钥并加密;并且将新的密钥写入上一级的目录对象的目录数据里,删除原来的对象密钥,对目录数据重新加密;客户端向服务器端发送请求,删除原来的对象和目录数据,将修改后的加密后的新对象和上一级的目录数据上传至原来的位置;向密钥数据中心发送请求,删除该对象的权限记录,客户端重新生成该对象的权限记录后发送给密钥数据中心;
用户添加或者删除另一个用户的共享权限:如果某个用户要添加另一个用户的共享权限,用户的客户端直接将要共享对象的明文密钥用另一个用户的公钥加密后,形成权限信息,发送给密钥数据中心;如果要删除另一个用户的共享权限,如果撤销的是目录对象的共享权限,则用户的客户端首先遍历该目录下的所有对象,发送请求将密钥数据中心中的该用户拥有的该对象以及所有子对象对应的权限信息删除和更新该目录以及所有子目录对象的再加密信息;密钥数据中心将这些目录对象的再加密信息更新之后,将旧的以及新的再加密信息发送给回客户端,客户端向服务器端请求这些目录对象的目录数据,重新解密加密后,重新上传至服务器端;如果撤销的是非目录对象的共享权限,则用户的客户端直接向密钥数据中心发送请求,删除被撤销用户与对象的对应权限记录。
2.根据权利要求1所述的基于客户端公私钥加解密的云安全存储方法,其特征在于,对象本身使用对称加密密钥加密;对象中的目录对象采用目录数据的方式存储;目录数据存有该目录下面的所有对象的明文密钥;本系统并不需要存储整个目录结构,用户只需要根据目录数据即可知道下级的对象。
3.根据权利要求2所述的基于客户端公私钥加解密的云安全存储方法,其特征在于,由于对象的对称密钥是随机生成的,每当非目录对象的内容更新的时候,重新产生随机密钥,而当目录对象的目录数据更新的时候,对称密钥不更新。
4.根据权利要求1至3任一项所述的基于客户端公私钥加解密的云安全存储方法,其特征在于,用户能访问某个目录对象,那该目录对象以下面的所有对象都可以访问;所有对象都是加密后放到服务器上。
5.根据权利要求4所述的基于客户端公私钥加解密的云安全存储方法,其特征在于,密钥数据中心存有哪些用户可以访问哪些对象的记录,即密钥数据中心里存有有权限访问的用户公钥对对象的明文密钥加密后的密文记录,作为权限判断时候的依据;密钥数据中心也对加密后的目录对象进行再加密,实现前向安全。
6.根据权利要求5所述的基于客户端公私钥加解密的云安全存储方法,其特征在于,当用户要访问某个对象时,密钥数据中心首先进行权限判断(密钥数据中心里存有有权限访问的用户公钥对对象的明文密钥加密后的密文记录),若有权限访问的话,密钥数据中心将相关记录发送给用户,用户利用其私钥解密得到对象的明文密钥;如果用户访问的是目录对象,由于密钥数据中心已经对加密后的目录对象进行再加密过,所以密钥数据中心将相关的解密信息发送给客户端;用户利用得到的明文密钥和相关的解密信息可以解开目录对象的目录数据。
7.根据权利要求6所述的基于客户端公私钥加解密的云安全存储方法,其特征在于,在密钥数据中心中,对象的明文密钥是以用户公钥的方式加密后存储,所以只有有权限的用户才可以解开得到明文密钥,而密钥数据中心得不到明文密钥;当某个用户被撤销访问对象权限的时候,对象本身产生的对称密钥不更新,而是更新密钥数据中心对用户能访问的所有目录对象再加密的密钥,这是为了防止被撤销权限的用户可以继续访问原来的目录对象;因为已经知道了对象的明文密钥,但是不知道密钥数据中心更新后的密钥信息。
8.根据权利要求7所述的基于客户端公私钥加解密的云安全存储方法,其特征在于,密钥数据中心无法靠其拥有的信息解密对象,无权限或者被撤回权限的用户也无法靠其拥有的信息解密对象;只有有权限的用户才可以解密对象;实现了安全性。
9.根据权利要求8所述的基于客户端公私钥加解密的云安全存储方法,其特征在于,密钥数据中心和服务器端是不完全可信的,只有客户端是完全可信的;当某个用户共享某个对象权限被撤销的时候,不需要进行大量数据的更新。
10.根据权利要求1所述的基于客户端公私钥加解密的云安全存储方法,其特征在于,对象包括目录、普通的文本文件、视频、音频和可执行文件用户可存储的对象。
CN201610066469.4A 2016-01-29 2016-01-29 一种基于客户端公私钥加解密的云安全存储方法 Active CN105592102B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610066469.4A CN105592102B (zh) 2016-01-29 2016-01-29 一种基于客户端公私钥加解密的云安全存储方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610066469.4A CN105592102B (zh) 2016-01-29 2016-01-29 一种基于客户端公私钥加解密的云安全存储方法

Publications (2)

Publication Number Publication Date
CN105592102A CN105592102A (zh) 2016-05-18
CN105592102B true CN105592102B (zh) 2018-07-20

Family

ID=55931316

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610066469.4A Active CN105592102B (zh) 2016-01-29 2016-01-29 一种基于客户端公私钥加解密的云安全存储方法

Country Status (1)

Country Link
CN (1) CN105592102B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107919958B (zh) * 2016-10-11 2021-07-27 阿里巴巴集团控股有限公司 一种数据加密的处理方法、装置及设备
CN108647296A (zh) * 2018-05-08 2018-10-12 南方医科大学第三附属医院(广东省骨科研究院) 一种护理实习生用的智能教学管理方法及系统
CN110661764A (zh) 2018-06-29 2020-01-07 阿里巴巴集团控股有限公司 安全多方计算协议的输入获取方法和装置
CN112464255A (zh) * 2020-10-21 2021-03-09 北京锐安科技有限公司 一种数据处理方法、装置、存储介质及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003061241A1 (en) * 2002-01-17 2003-07-24 Kabushiki Kaisha Toshiba Symmetrical key establishing using public key encryption
CN102413159A (zh) * 2011-03-15 2012-04-11 北京邮电大学 一种面向网络化操作系统的可信任在线存储系统
CN103051664A (zh) * 2012-08-14 2013-04-17 深圳市朗科科技股份有限公司 一种云存储系统的文件管理方法、装置及该云存储系统
CN103237040A (zh) * 2012-03-19 2013-08-07 天津书生投资有限公司 一种存储方法、服务器和客户端
CN103746993A (zh) * 2014-01-07 2014-04-23 南京大学 客户控制解密私钥且服务器实施加解密云存储数据加密法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003061241A1 (en) * 2002-01-17 2003-07-24 Kabushiki Kaisha Toshiba Symmetrical key establishing using public key encryption
CN102413159A (zh) * 2011-03-15 2012-04-11 北京邮电大学 一种面向网络化操作系统的可信任在线存储系统
CN103237040A (zh) * 2012-03-19 2013-08-07 天津书生投资有限公司 一种存储方法、服务器和客户端
CN103051664A (zh) * 2012-08-14 2013-04-17 深圳市朗科科技股份有限公司 一种云存储系统的文件管理方法、装置及该云存储系统
CN103746993A (zh) * 2014-01-07 2014-04-23 南京大学 客户控制解密私钥且服务器实施加解密云存储数据加密法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于Hadoop的安全云存储系统研究与实现;潘富斌;《中国优秀硕士学位论文全文数据库 信息科技辑》;20140115;全文 *

Also Published As

Publication number Publication date
CN105592102A (zh) 2016-05-18

Similar Documents

Publication Publication Date Title
CN108259169B (zh) 一种基于区块链云存储的文件安全分享方法及系统
US11108753B2 (en) Securing files using per-file key encryption
US10803194B2 (en) System and a method for management of confidential data
CN108418796B (zh) 云数据多副本完整性验证及关联删除的方法、云存储系统
CN103561034B (zh) 一种安全文件共享系统
CN106254324B (zh) 一种存储文件的加密方法及装置
US7751570B2 (en) Method and apparatus for managing cryptographic keys
CN108701094B (zh) 在基于云的应用中安全地存储和分发敏感数据
CN110120869A (zh) 密钥管理系统及密钥服务节点
CN105592102B (zh) 一种基于客户端公私钥加解密的云安全存储方法
CN102567688B (zh) 一种安卓操作系统上的文件保密系统及其保密方法
CN104009987A (zh) 一种基于用户身份能力的细粒度云平台安全接入控制方法
CA2714196A1 (en) Information distribution system and program for the same
CN108200172A (zh) 一种支持安全数据去重与删除的云存储系统及方法
CN113541935B (zh) 一种支持密钥托管的加密云存储方法、系统、设备、终端
Cui et al. Towards blockchain-based scalable and trustworthy file sharing
Shu et al. Shield: A stackable secure storage system for file sharing in public storage
GB2489676A (en) Overlay network comprising management node controlling access of subordinate nodes
Manthiramoorthy et al. Comparing several encrypted cloud storage platforms
CN105072134A (zh) 一种基于三级密钥的云盘系统文件安全传输方法
CN109587115A (zh) 一种数据文件安全分发使用方法
Zhu et al. SNARE: A strong security scheme for network-attached storage
Aziz et al. Assured data deletion in cloud computing: security analysis and requirements
CN109840423B (zh) 一种数据关系的记录方法、装置及设备
Kamatchi et al. Data DEDUPLICATION Security with Dynamic Ownership Management

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