CN109831405B - 一种云平台上的文件保护方法及装置 - Google Patents
一种云平台上的文件保护方法及装置 Download PDFInfo
- Publication number
- CN109831405B CN109831405B CN201711182901.7A CN201711182901A CN109831405B CN 109831405 B CN109831405 B CN 109831405B CN 201711182901 A CN201711182901 A CN 201711182901A CN 109831405 B CN109831405 B CN 109831405B
- Authority
- CN
- China
- Prior art keywords
- file
- key
- group
- cloud platform
- tree
- 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
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本申请涉及互联网技术领域,尤其涉及一种云平台上的文件保护方法及装置,用以解决现有技术中存放在云平台上的文件存在着安全性比较差的问题;本申请实施例提供的文件保护方法包括:服务器接收将文件上传至云平台的请求;所述文件为所述服务器中任一用户群的群内共享文件;根据所述用户群的群密钥对所述文件进行加密;所述群密钥是根据群内所有用户的用户信息确定的,群内任一用户的用户信息至少包含该用户的标识和该用户设置的公钥;将加密后的文件上传至所述云平台。这样,删除文件后,遗留在云平台上的文件是经过群密钥进行加密的密文,即使被泄露也只是泄露密文,非法用户无法得到文件的明文,因此,文件安全性更高。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种云平台上的文件保护方法及装置。
背景技术
随着云技术的快速发展,出现了各种各样的云平台,一般云服务商将云资源以有偿的方式提供企业,企业再利用自己的服务器来对存放在云平台上的数据资源进行管理。
目前,服务器中会组建多个用户群,并且可以在不同的用户群内开放不同的共享文件,对于任一用户群内的文件,服务器都是以明文的形式将文件上传到云平台,当用户想要访问存放在云平台上的文件时,可以先登录服务器,之后由服务器向云平台请求下载文件,云平台在确认服务器的合法性之后将文件发送给服务器,最后用户在服务器上对文件进行编辑。一般地,如果用户删除云平台上的文件,云平台会向服务器反馈成功删除的信息,但实际上由于云平台的备份保护或者NAND Flash的特性,可能文件并没有被云平台真正删除,遗留在云平台上的文件完全依赖于云平台的安全机制,如果非法用户绕过云平台的安全机制就可以轻易获取到文件,这样,存放在云平台上的文件完全依赖于云平台的安全机制,安全性比较差。
可见,现有技术中存放在云平台上的文件存在着安全性比较差的问题。
发明内容
本申请实施例提供一种云平台上的文件保护方法及装置,用以解决现有技术中存放在云平台上的文件存在着安全性比较差的问题。
本申请实施例提供的一种云平台上的文件保护方法,包括:
服务器接收将文件上传至云平台的请求;所述文件为所述服务器中任一用户群的群内共享文件;
根据所述用户群的群密钥对所述文件进行加密;所述群密钥是根据群内所有用户的用户信息确定的,群内任一用户的用户信息至少包含该用户的标识和该用户设置的公钥;
将加密后的文件上传至所述云平台。
本申请实施例提供的一种云平台上的文件保护装置,包括:
接收模块,用于接收将文件上传至云平台的请求;所述文件为所述服务器中任一用户群的群内共享文件;
加密模块,用于根据所述用户群的群密钥对所述文件进行加密;所述群密钥是根据群内所有用户的用户信息确定的,群内任一用户的用户信息至少包含该用户的标识和该用户设置的公钥;
上传模块,用于将加密后的文件上传至所述云平台。
本申请实施例提供的一种电子设备,包括至少一个处理单元、以及至少一个存储单元,其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述电子设备执行上述云平台上的文件保护方法的步骤。
本申请实施例提供的一种计算机可读存储介质,包括程序代码,当所述程序代码在电子设备上运行时,使所述电子设备执行上述云平台上的文件保护方法的步骤。
本申请实施例中,针对服务器中任一用户群的群内共享文件,若接收到将文件上传至云平台的请求,则根据用户群的群密钥对文件进行加密,之后将加密后的文件上传至云平台,其中,群密钥是根据群内所有用户的用户信息确定的,并且群内任一用户的用户信息至少包含该用户的标识和该用户设置的公钥,这里,对文件进行加密的群密钥安全级别较高,当用户删除云平台上的文件时,即使云平台有备份保护或者NAND Flash特性,遗留在云平台上的文件是经过群密钥进行加密的密文,即便被泄露也只是泄露密文,非法用户无法得到文件的明文,因此,用户存放在云平台上的文件安全性更高。
附图说明
图1为本申请实施例提供的文件树的示意图;
图2为本申请实施例提供的路径树的示意图;
图3为本申请实施例提供的云平台上的文件保护方法流程图;
图4为本申请实施例提供的生成群密钥的过程示意图;
图5为本申请实施例提供的云平台上的文件保护装置结构图;
图6为本申请实施例提供的用于实现云平台上的文件保护方法的电子设备的硬件结构示意图。
具体实施方式
本申请实施例中,针对服务器中任一用户群的群内共享文件,若接收到将文件上传至云平台的请求,则根据用户群的群密钥对文件进行加密,之后将加密后的文件上传至云平台,其中,群密钥是根据群内所有用户的用户信息确定的,并且群内任一用户的用户信息至少包含该用户的标识和该用户设置的公钥,这里,对文件进行加密的群密钥安全级别较高,当用户删除云平台上的文件时,即使云平台有备份保护或者NAND Flash特性,遗留在云平台上的文件是经过群密钥进行加密的密文,即便被泄露也只是泄露密文,非法用户无法得到文件的明文,因此,用户存放在云平台上的文件安全性更高。
下面结合说明书附图对本申请实施例作进一步详细描述。
首先需要说明的是,本申请实施例中的服务器在本地保存有密钥树和路径树,其中,密钥树中存储有服务器存放在云平台上的所有文件的加密密钥和解密密钥,特别地,当加密密钥和解密密钥为对称密钥时,对于任一文件,加密密钥和解密密钥都可以为该文件所属用户群的群密钥;路径树中存储有服务器存放在云平台上的所有文件的存储路径。
可选地,若密钥树和路径树的树结构相同,则对于任一文件,保存群密钥的叶子节点在密钥树中的位置、和保存存储路径的叶子节点在路径树中的位置相同。
如图1和图2所示,其中,图1为路径树示意图,图2为密钥树示意图,图1中ROOT1为路径树的根节点,根节点中存储的为根目录,1.1、1.1.1、1.2.1.1、1.3.1.1.3等表示文件存储路径;图2中ROOT2为密钥树的根节点,根节点中存储的为群密钥,1.1Key、1.1.1Key、1.2.1.1Key、1.3.1.1.3Key等表示密钥,并且,密钥树和路径树的树结构相同,对于密钥树中的某叶子节点,该叶子节点中保存的为文件对应的群密钥,则在路径树相同位置的叶子节点中保存的为该文件在云平台上的存储路径。比如,文件树的叶子节点1.1.1中保存的为文件a对应的群密钥,则在密钥树的叶子节点1.1.1中保存的为文件a在云平台上的存储路径。
这样,当用户访问文件时,若找到该文件在密钥树中对应的群密钥的存储位置,就可以直接找到该文件在云平台上的存储路径,查找文件的速率更高。
实施例一
如图3所示,为本申请实施例提供的云平台上的文件保护方法流程图,包括以下步骤:
S301:服务器接收将文件上传至云平台的请求;所述文件为服务器中任一用户群的群内共享文件。
实际应用中,企业从云平台上购买云服务之后,可以在自己的服务器上组建不同的用户群,并且在不同的用户群群内开放不同的共享文件资源。
S302:根据用户群的群密钥对文件进行加密;所述群密钥是根据群内所有用户的用户信息确定的,群内任一用户的用户信息至少包含该用户的标识和该用户设置的公钥。
在具体实施过程中,任一用户群的群密钥是根据以下步骤生成的:
根据群内用户的总数确定完全二叉树的深度h;其中,h为不小于零的整数;
按照预设规则对群内用户进行排序,并根据排序结果将群内用户的用户信息存放在完全二叉树的叶子节点中;其中,存放用户信息的叶子节点不为父节点;
对完全二叉树中深度为h-1上的每一父节点,利用密钥协商算法对父节点包含的2个叶子节点中保存的用户信息进行协商,将协商得到的密钥存放在父节点中;
循环以下步骤:
对完全二叉树中深度为i上的每一父节点,利用密钥协商算法对父节点包含的2个深度为i+1上的叶子节点中保存的信息进行协商,并将协商得到的密钥存放在父节点中;其中,0≤i≤h-2,且为整数;
直到得到完全二叉树中根节点中存放的密钥时,将根节点中存放的密钥确定为群密钥。
这里,服务器上的每一用户群对应一个完全二叉树,完全二叉树中的叶子节点(不为父节点的节点)用于存放群内用户的用户信息,完全二叉树中的父节点用于存放生成群密钥的过程中所涉及的密钥。
在具体实施过程中,对任一用户群,若确定群内用户的总数发生变化,如增加或者减少,则根据变化后群内用户的用户信息对群密钥进行更新得到新的群密钥,之后对属于用户群的每一文件,将本地密钥树中该文件对应的群密钥修改为新的群密钥,并根据新的群密钥对云平台上保存的该文件重新进行加密,进而根据加密后该文件在云平台上的存储路径,更新本地路径树中保存的存储路径。
下面结合具体的实施例对上述过程进行说明。
假设某用户群群内有6个用户,如果再有新用户申请入群,服务器则会要求新用户上传自己的标识,如用户ID,并且要求新用户设置一个公钥。在确定新用户成功入群后,可以根据群内用户总数7确定完全二叉树的深度为3,并且可以按照预设规则,如群内用户的入群时间、或者群内用户的ID,对群内用户进行排序,之后根据排序结果将群内用户的信息存放在完全二叉树中的叶子节点上,这里存放用户信息的叶子节点只能是叶子节点,而不能是父节点。
如图4所示,为本申请实施例提供的生成群密钥的过程示意图,其中,M1~M7代表群内7个用户,为了简便起见图中以M1表示M1的用户信息,M2表示M2的用户信息,以此类推,对群内用户进行排序后,群内用户信息在完全二叉树中的存放形式见图4中M1~M7的存放形式。
进一步地,对完全二叉树中深度为2上的每一父节点,利用预设的密钥协商算法,如SM2密钥协商算法、Diffie-Hellman密钥协商算法等,对父节点包含的2个叶子节点中保存的用户信息进行协商,将协商得到的密钥存放在父节点中,如KeyM(1,2)是由M1和M2的用户信息协商得到的密钥,之后,对完全二叉树中深度为1上的每一父节点,利用预设的密钥协商算法对父节点包含的2个深度为2上的叶子节点中的信息进行协商,并将协商得到的密钥存放在父节点中,如KeyM(5,6,7)是由密钥KeyM(5,6)和M7的用户信息协商得到的密钥,然后再对完全二叉树中深度为0的父节点(根节点),利用预设的密钥协商算法对父节点包含的2个深度为1上的叶子节点中的信息进行协商,并将协商得到的密钥存放在根节点中,最后,确定存放在根节点中的密钥为群密钥。
上述过程中,父节点如KeyM(1,2,3,4),包含的两个叶子节点中保存的信息可以都为密钥,父节点如KeyM(5,6,7),包含的两个叶子节点中保存的信息也可以为密钥和用户信息的组合。
S303:将加密后的文件上传至云平台。
此外,在具体实施过程中,若服务器接收到删除云平台上的文件的请求,则将本地密钥树中保存的用于对文件进行解密的密钥删除,并在本地路径树中查找文件在云平台上的存储路径,将存储路径携带在删除指示中发送给云平台,用于指示云平台将文件删除,其中,当群密钥为对称密钥时,用于对文件进行解密的密钥为群密钥。
具体地,在接收到删除文件的请求时,可以根据预先存储的文件标识和叶子节点标识(密钥树与路径树中各叶子节点的叶子节点标识相同)之间的对应关系,确定密钥树中与删除文件的文件标识对应的叶子节点标识,之后将密钥树中与该叶子节点标识对应叶子节点中保存的群密钥删除,并且由于密钥树与路径树的树结构相同,还可以从路径树中该叶子节点标识对应的叶子节点中查找删除文件在云平台上的存储路径。
本申请实施例中,针对服务器中任一用户群的群内共享文件,若接收到将文件上传至云平台的请求,则根据用户群的群密钥对文件进行加密,之后将加密后的文件上传至云平台,其中,群密钥是根据群内所有用户的用户信息确定的,并且群内任一用户的用户信息至少包含该用户的标识和该用户设置的公钥,这里,对文件进行加密的群密钥安全级别较高,当用户删除云平台上的文件时,即使云平台有备份保护或者NAND Flash特性,遗留在云平台上的文件是经过群密钥进行加密的密文,即便被泄露也只是泄露密文,非法用户无法得到文件的明文,因此,用户存放在云平台上的文件安全性更高。
实施例二
在具体实施过程中,服务器可以组建多个用户群,其中,任一用户群的群密钥可以根据以下步骤生成:
根据群内用户的总数确定完全二叉树的深度h;其中,h为不小于零的整数;
按照预设规则对群内用户进行排序,并根据排序结果将群内用户的用户信息存放在完全二叉树的叶子节点中;其中,存放用户信息的叶子节点不为父节点;
对完全二叉树中深度为h-1上的每一父节点,利用密钥协商算法对父节点包含的2个叶子节点中保存的用户信息进行协商,将协商得到的密钥存放在父节点中;
循环以下步骤:
对完全二叉树中深度为i上的每一父节点,利用密钥协商算法对父节点包含的2个深度为i+1上的叶子节点中的信息进行协商,并将协商得到的密钥存放在父节点中;其中,0≤i≤h-2,且为整数;
直到得到完全二叉树中根节点中存放的密钥时,将根节点中存放的密钥确定为群密钥。
进一步地,为了提高加密的复杂度,同时提高群密钥的破解难度,服务器还可以在确定用户群内的用户数量发生变化,如群内用户增加、或者减少时,重新根据上述过程确定新的群密钥。
采用这种方式,对服务器上的任一用户群,该用户群的群密钥是根据当前群内用户的用户信息确定的,新入群的用户由于无法得到入群之前的群密钥,因此无法获取群内已经删除文件的信息;已退群的用户由于不能获取群内任何用户的用户信息,因此也无法推导出退群之后的群密钥,也不能再访问群内文件,这样对群内文件的管理更加安全,并且可以将文件的安全机制掌握在用户自己手里,而不是完全依赖于云平台,用户体验也更好。
在具体实施过程中,对于任一用户群,在生成该用户群的群密钥以后,针对群内的每个文件,可以在密钥树中该文件对应的叶子节点上保存该群密钥,并利用群密钥对该文件进行加密,将加密后的文件上传到云平台上,之后接收云平台返回的该文件在云平台上的存储路径,由于通常云平台反馈的文件存储路径都比较长,并且可读性较差,为便于管理,服务器在接收到云平台反馈的存储路径之后,可以根据预设的映射关系将该存储路径转换成文件目录形式的存储路径,并将转换后的存储路径存放在路径树中该文件对应的叶子节点中,由于密钥树和路径树的树结构相同,对于任一文件,保存群密钥的叶子节点在密钥树中的位置、和保存存储路径的叶子节点在路径树中的位置相同。
进一步地,对用户群内的任一用户,若该用户想要访问存放在云平台上的文件,则服务器可以根据预先存储的文件标识和叶子节点标识之间的对应关系,确定路径树中与该文件的文件标识对应的叶子节点标识,从路径树中该叶子节点标识所标识的叶子节点中读取该文件在云平台上的存储路径,之后,根据读取的存储路径从云平台上下载文件,并从密钥树中相应叶子节点上读取用于对该文件进行解密的密钥,利用读取的密钥对下载的文件进行解密,之后供用户进行编辑操作。其中,当群密钥为对称密钥时,用于对该文件进行解密的密钥为该文件对应的群密钥。
在具体实施过程中,对于任一用户群,在确定该用户群的群密钥发生变化以后,针对群内的每一文件,可以根据预先存储的文件标识和叶子节点标识之间的对应关系,确定密钥树中与该文件的文件标识对应的叶子节点标识,之后更新密钥树中该叶子节点标识所标识的叶子节点中保存的群密钥,并根据该叶子节点标识在路径树中相应叶子节点中查找该文件在云平台上的存储路径,根据查找到的存储路径,从云平台上下载该文件,利用更新前的群密钥对下载的文件进行解密,再使用新的群密钥对解密后的文件重新进行加密,之后将重新加密后的文件上传至云平台,并且由于重新上传至云平台后,文件的存储路径通常会发生变化,因此,服务器可以根据云平台反馈的该文件的新的存储路径,对路径树中相应叶子节点中保存的该文件的存储路径进行更新。
在具体实施过程中,若服务器接收到删除用户群内任一文件的请求,则先将本地密钥树中保存的用于对该文件进行解密的密钥删除,再在本地路径树中查找该文件在云平台上的存储路径,并将存储路径携带在删除指示中发送给云平台,用于指示云平台将该文件删除。
具体地,在接收到删除文件的请求时,可以根据预先存储的文件标识和叶子节点标识之间的对应关系,确定密钥树中与删除文件的文件标识对应的叶子节点标识,之后将密钥树中与该叶子节点标识对应叶子节点中保存的群密钥删除,并从路径树中该叶子节点标识对应的叶子节点中查找删除文件在云平台上的存储路径,将查找到的存储路径携带在删除指示中发送给云平台,用于指示云平台将该文件删除。
这样,在删除文件时,首先将文件对应的群密钥从密钥树中删除,密文也从云平台中移除,即使数据密文有遗留,但是群密钥已经从密钥树中删除,那么任意用户,包括群内用户也无法恢复已经删除的文件,因此,能够实现对存放在云平台上的文件的安全删除。
实施例三
基于同一发明构思,本申请实施例中还提供了一种与云平台上的文件保护的方法对应的云平台上的文件保护装置,由于该装置解决问题的原理与本申请实施例中云平台上的文件保护的方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。
如图5所示,为本申请实施例提供的云平台上的文件保护装置结构图,包括:
接收模块501,用于接收将文件上传至云平台的请求;所述文件为所述服务器中任一用户群的群内共享文件;
加密模块502,用于根据所述用户群的群密钥对所述文件进行加密;所述群密钥是根据群内所有用户的用户信息确定的,群内任一用户的用户信息至少包含该用户的标识和该用户设置的公钥;
上传模块503,用于将加密后的文件上传至所述云平台。
可选地,还包括,密钥生成模块504:
所述密钥生成模块504具体用于根据以下步骤生成所述群密钥:
根据群内用户的总数确定完全二叉树的深度h;其中,h为不小于零的整数;
按照预设规则对群内用户进行排序,并根据排序结果将群内用户的用户信息存放在完全二叉树的叶子节点中;其中,存放用户信息的叶子节点不为父节点;
对所述完全二叉树中深度为h-1上的每一父节点,利用密钥协商算法对所述父节点包含的2个叶子节点中保存的用户信息进行协商,将协商得到的密钥存放在所述父节点中;
循环以下步骤:
对所述完全二叉树中深度为i上的每一父节点,利用所述密钥协商算法对所述父节点包含的2个深度为i+1上的叶子节点中保存的信息进行协商,并将协商得到的密钥存放在所述父节点中;其中,0≤i≤h-2,且为整数;
直到得到所述完全二叉树中根节点中存放的密钥时,将所述根节点中存放的密钥确定为所述群密钥。
可选地,还包括,修改模块505和更新模块506:
所述密钥生成模块504,还用于若确定群内用户的总数发生变化,则根据变化后群内用户的用户信息对所述群密钥进行更新得到新的群密钥;
所述修改模块505,用于对属于所述用户群的每一文件,将本地密钥树中该文件对应的群密钥修改为所述新的群密钥;
所述加密模块502,还用于根据所述新的群密钥对所述云平台上保存的该文件重新进行加密;
所述更新模块506,用于根据加密后该文件在云平台上的存储路径,更新本地路径树中保存的该文件的存储路径。
可选地,还包括,删除模块507和查找模块508:
所述删除模块507,用于若接收到删除所述文件的请求,则将本地密钥树中保存的用于对所述文件进行解密的密钥删除;
所述查找模块508,用于在本地路径树中查找所述文件在云平台上的存储路径;
所述上传模块503,还用于将所述存储路径携带在删除指示中发送给所述云平台,用于指示所述云平台将所述文件删除。
可选地,所述密钥树与所述路径树的树结构相同,则
所述删除模块507,具体用于根据预先存储的文件标识和叶子节点标识之间的对应关系,确定所述密钥树中与所述文件的文件标识对应的叶子节点标识;基于所述叶子节点标识,将所述密钥树中对应叶子节点中保存的群密钥删除;
所述查找模块508,具体用于从所述路径树中所述叶子节点标识对应的叶子节点中、查找所述文件在云平台上的存储路径。
实施例四
如图6所示,为本申请实施例提供的用于实现云平台上的文件保护的电子设备的硬件结构示意图,包括至少一个处理单元601、以及至少一个存储单元602,其中,存储单元存储有程序代码,当程序代码被所述处理单元执行时,使得电子设备执行上述云平台上的文件保护方法的步骤。
实施例五
本申请实施例提供的一种计算机可读存储介质,包括程序代码,当所述程序代码在电子设备上运行时,使电子设备执行上述云平台上的文件保护方法的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种云平台上的文件保护方法,应用于服务器,其特征在于,所述服务器在本地保存有密钥树和路径树,所述密钥树中存储有所述服务器存放在云平台上的所有文件的加密密钥和解密密钥,所述路径树中存储有所述服务器存放在云平台上的所有文件的存储路径,所述方法包括:
所述服务器接收将文件上传至云平台的请求;所述文件为所述服务器中任一用户群的群内共享文件;
根据所述用户群的群密钥对所述文件进行加密;所述群密钥是根据群内所有用户的用户信息确定的,群内任一用户的用户信息至少包含该用户的标识和该用户设置的公钥;
将加密后的文件上传至所述云平台;
若确定所述用户群内的任一用户想要访问存放在所述云平台上的所述文件,则从所述云平台上下载所述文件,从本地密钥树中读取用于对所述文件进行解密的密钥,利用读取的密钥对下载的所述文件进行解密,以供所述用户进行编辑操作;
还包括:
若确定群内用户的总数发生变化,则根据变化后群内用户的用户信息对所述群密钥进行更新得到新的群密钥;
对属于所述用户群的每一文件,将本地密钥树中该文件对应的群密钥修改为所述新的群密钥;并
根据所述新的群密钥对所述云平台上保存的该文件重新进行加密;
根据加密后该文件在云平台上的存储路径,更新本地路径树中保存的该文件的存储路径。
2.如权利要求1所述的方法,其特征在于,根据以下步骤生成所述群密钥:
根据群内用户的总数确定完全二叉树的深度h;其中,h为不小于零的整数;
按照预设规则对群内用户进行排序,并根据排序结果将群内用户的用户信息存放在完全二叉树的叶子节点中;其中,存放用户信息的叶子节点不为父节点;
对所述完全二叉树中深度为h-1上的每一父节点,利用密钥协商算法对所述父节点包含的2个叶子节点中保存的用户信息进行协商,将协商得到的密钥存放在所述父节点中;
循环以下步骤:
对所述完全二叉树中深度为i上的每一父节点,利用所述密钥协商算法对所述父节点包含的2个深度为i+1上的叶子节点中保存的信息进行协商,并将协商得到的密钥存放在所述父节点中;其中,0≤i≤h-2,且为整数;
直到得到所述完全二叉树中根节点中存放的密钥时,将所述根节点中存放的密钥确定为所述群密钥。
3.如权利要求1或2所述的方法,其特征在于,还包括:
若接收到删除所述文件的请求,则将本地密钥树中保存的用于对所述文件进行解密的密钥删除;并
在本地路径树中查找所述文件在云平台上的存储路径;
将所述存储路径携带在删除指示中发送给所述云平台,用于指示所述云平台将所述文件删除。
4.如权利要求3所述的方法,其特征在于,所述密钥树与所述路径树的树结构相同,则将本地密钥树中保存的用于对所述文件进行解密的群密钥删除,包括:
根据预先存储的文件标识和叶子节点标识之间的对应关系,确定所述密钥树中与所述文件的文件标识对应的叶子节点标识;
基于所述叶子节点标识,将所述密钥树中对应叶子节点中保存的群密钥删除;以及
在本地路径树中查找所述文件在云平台上的存储路径,包括:
从所述路径树中所述叶子节点标识对应的叶子节点中、查找所述文件在云平台上的存储路径。
5.一种云平台上的文件保护装置,应用于服务器,其特征在于,所述服务器在本地保存有密钥树和路径树,所述密钥树中存储有所述服务器存放在云平台上的所有文件的加密密钥和解密密钥,所述路径树中存储有所述服务器存放在云平台上的所有文件的存储路径,所述装置包括:
接收模块,用于接收将文件上传至云平台的请求;所述文件为所述服务器中任一用户群的群内共享文件;
加密模块,用于根据所述用户群的群密钥对所述文件进行加密;所述群密钥是根据群内所有用户的用户信息确定的,群内任一用户的用户信息至少包含该用户的标识和该用户设置的公钥;
上传模块,用于将加密后的文件上传至所述云平台;若确定所述用户群内的任一用户想要访问存放在所述云平台上的所述文件,则从所述云平台上下载所述文件,从本地密钥树中读取用于对所述文件进行解密的密钥,利用读取的密钥对下载的所述文件进行解密,以供所述用户进行编辑操作;
还包括,修改模块和更新模块:
所述密钥生成模块,还用于若确定群内用户的总数发生变化,则根据变化后群内用户的用户信息对所述群密钥进行更新得到新的群密钥;
所述修改模块,用于对属于所述用户群的每一文件,将本地密钥树中该文件对应的群密钥修改为所述新的群密钥;
所述加密模块,还用于根据所述新的群密钥对所述云平台上保存的该文件重新进行加密;
所述更新模块,用于根据加密后该文件在云平台上的存储路径,更新本地路径树中保存的该文件的存储路径。
6.如权利要求5所述的装置,其特征在于,还包括,密钥生成模块:
所述密钥生成模块具体用于根据以下步骤生成所述群密钥:
根据群内用户的总数确定完全二叉树的深度h;其中,h为不小于零的整数;
按照预设规则对群内用户进行排序,并根据排序结果将群内用户的用户信息存放在完全二叉树的叶子节点中;其中,存放用户信息的叶子节点不为父节点;
对所述完全二叉树中深度为h-1上的每一父节点,利用密钥协商算法对所述父节点包含的2个叶子节点中保存的用户信息进行协商,将协商得到的密钥存放在所述父节点中;
循环以下步骤:
对所述完全二叉树中深度为i上的每一父节点,利用所述密钥协商算法对所述父节点包含的2个深度为i+1上的叶子节点中保存的信息进行协商,并将协商得到的密钥存放在所述父节点中;其中,0≤i≤h-2,且为整数;
直到得到所述完全二叉树中根节点中存放的密钥时,将所述根节点中存放的密钥确定为所述群密钥。
7.如权利要求5或6所述的装置,其特征在于,还包括,删除模块和查找模块:
所述删除模块,用于若接收到删除所述文件的请求,则将本地密钥树中保存的用于对所述文件进行解密的密钥删除;
所述查找模块,用于在本地路径树中查找所述文件在云平台上的存储路径;
所述上传模块,还用于将所述存储路径携带在删除指示中发送给所述云平台,用于指示所述云平台将所述文件删除。
8.如权利要求7所述的装置,其特征在于,所述密钥树与所述路径树的树结构相同,则
所述删除模块,具体用于根据预先存储的文件标识和叶子节点标识之间的对应关系,确定所述密钥树中与所述文件的文件标识对应的叶子节点标识;基于所述叶子节点标识,将所述密钥树中对应叶子节点中保存的群密钥删除;
所述查找模块,具体用于从所述路径树中所述叶子节点标识对应的叶子节点中、查找所述文件在云平台上的存储路径。
9.一种电子设备,其特征在于,包括至少一个处理单元、以及至少一个存储单元,其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述电子设备执行权利要求1~4任一所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,包括程序代码,当所述程序代码在电子设备上运行时,使所述电子设备执行权利要求1~4任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711182901.7A CN109831405B (zh) | 2017-11-23 | 2017-11-23 | 一种云平台上的文件保护方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711182901.7A CN109831405B (zh) | 2017-11-23 | 2017-11-23 | 一种云平台上的文件保护方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109831405A CN109831405A (zh) | 2019-05-31 |
CN109831405B true CN109831405B (zh) | 2021-06-22 |
Family
ID=66858589
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711182901.7A Active CN109831405B (zh) | 2017-11-23 | 2017-11-23 | 一种云平台上的文件保护方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109831405B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110474873B (zh) * | 2019-07-09 | 2021-06-29 | 杭州电子科技大学 | 一种基于知悉范围加密的电子文件访问控制方法和系统 |
CN110569291B (zh) * | 2019-09-16 | 2022-04-15 | 东信和平科技股份有限公司 | 一种数字货币钱包的密钥数据查询获取方法及装置 |
CN112612426A (zh) * | 2020-12-30 | 2021-04-06 | 海尔数字科技(青岛)有限公司 | 删除数据的方法、装置、电子设备、及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000059154A1 (en) * | 1999-03-25 | 2000-10-05 | Koninklijke Philips Electronics N.V. | Multi-node encryption and key delivery |
CN104917787A (zh) * | 2014-03-11 | 2015-09-16 | 中国电信股份有限公司 | 基于群组密钥的文件安全共享方法和系统 |
CN105072184A (zh) * | 2015-08-12 | 2015-11-18 | 汕头大学 | 一种适用于中小企业的文件共享系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140115327A1 (en) * | 2012-10-22 | 2014-04-24 | Microsoft Corporation | Trust services data encryption for multiple parties |
-
2017
- 2017-11-23 CN CN201711182901.7A patent/CN109831405B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000059154A1 (en) * | 1999-03-25 | 2000-10-05 | Koninklijke Philips Electronics N.V. | Multi-node encryption and key delivery |
CN1304604A (zh) * | 1999-03-25 | 2001-07-18 | 皇家菲利浦电子有限公司 | 多节点加密与密钥传送 |
CN104917787A (zh) * | 2014-03-11 | 2015-09-16 | 中国电信股份有限公司 | 基于群组密钥的文件安全共享方法和系统 |
CN105072184A (zh) * | 2015-08-12 | 2015-11-18 | 汕头大学 | 一种适用于中小企业的文件共享系统 |
Non-Patent Citations (1)
Title |
---|
Group Key Agreement Efficient in Communication;Yongdae Kim;《IEEE TRANSACTIONS ON COMPUTERS》;20040731;第908页左栏;图1,3-4 * |
Also Published As
Publication number | Publication date |
---|---|
CN109831405A (zh) | 2019-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108664223B (zh) | 一种分布式存储方法、装置、计算机设备及存储介质 | |
CN108418796B (zh) | 云数据多副本完整性验证及关联删除的方法、云存储系统 | |
EP3066609B1 (en) | Server and method for secure and economical sharing of data | |
CN108200172B (zh) | 一种支持安全数据去重与删除的云存储系统及方法 | |
US20170068477A1 (en) | Systems and methods for storing data blocks using a set of generated logical memory identifiers | |
US20060083369A1 (en) | Method and apparatus for sharing and generating system key in DRM system | |
CN106817358B (zh) | 一种用户资源的加密、解密方法和设备 | |
CN109831405B (zh) | 一种云平台上的文件保护方法及装置 | |
JP6341599B2 (ja) | 暗号データ更新システム、暗号データ更新方法 | |
CN115225409B (zh) | 基于多备份联合验证的云数据安全去重方法 | |
US11075753B2 (en) | System and method for cryptographic key fragments management | |
CN112182630A (zh) | 一种对称可搜索加密方法、装置、设备及介质 | |
CA3028091C (en) | Securing data at rest utilizing cloud provider service agnostic encrypted data transportability | |
CN107294701B (zh) | 具有高效密钥管理的多维密文区间查询装置及查询方法 | |
CN116015767A (zh) | 一种数据处理方法、装置、设备及介质 | |
CN113572604A (zh) | 一种发送密钥的方法、装置、系统及电子设备 | |
EP2082520B1 (en) | Key update method and apparatus thereof | |
CN117061126A (zh) | 一种管理云盘文件加密与解密的系统和方法 | |
CN112818404B (zh) | 数据访问权限的更新方法、装置、设备及可读存储介质 | |
CN113726515A (zh) | 一种基于ukey的密钥处理方法、存储介质及电子设备 | |
CN113326518A (zh) | 一种数据处理方法及装置 | |
KR101590270B1 (ko) | 중복 제거를 통해 하나의 데이터를 저장하는 클라우드 서비스 프로바이더 | |
CN112528309A (zh) | 一种数据存储加密和解密的方法及其装置 | |
EP3953848A1 (en) | Methods for encrypting and updating virtual disks | |
CN116595560A (zh) | 细粒度多用户可搜索加密方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |