CN116305236A - 共享文件加密解密方法、装置及电子设备 - Google Patents

共享文件加密解密方法、装置及电子设备 Download PDF

Info

Publication number
CN116305236A
CN116305236A CN202211600846.XA CN202211600846A CN116305236A CN 116305236 A CN116305236 A CN 116305236A CN 202211600846 A CN202211600846 A CN 202211600846A CN 116305236 A CN116305236 A CN 116305236A
Authority
CN
China
Prior art keywords
random number
shared
ciphertext
file
shared file
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.)
Pending
Application number
CN202211600846.XA
Other languages
English (en)
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.)
Antiy Technology Group Co Ltd
Original Assignee
Antiy Technology Group Co Ltd
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 Antiy Technology Group Co Ltd filed Critical Antiy Technology Group Co Ltd
Priority to CN202211600846.XA priority Critical patent/CN116305236A/zh
Publication of CN116305236A publication Critical patent/CN116305236A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供了一种共享文件加密解密方法、装置及电子设备,加密方法包括:生成第一随机数;利用第一随机数对共享文件进行加密,得到加密后的共享文件;获取共享文件夹对应的第二随机数;利用第二随机数对第一随机数进行加密,得到第一密文随机数;将第一密文随机数和加密后的共享文件上传至共享文件夹中;解密方法包括:获取共享文件夹中存储的第一密文随机数和加密后的共享文件;获取共享文件夹对应的第二随机数;利用第二随机数对第一密文随机数进行解密,得到第一随机数;利用第一随机数对加密后的共享文件进行解密,得到解密后的共享文件。本方案,能够保证在不改变用户使用习惯的前提下实现共享用户对共享文件的加解密。

Description

共享文件加密解密方法、装置及电子设备
技术领域
本发明实施例涉及文件处理技术领域,特别涉及一种共享文件加密解密方法、装置及电子设备。
背景技术
随着云存储技术的成熟,用户逐渐采用网盘、云盘等云存储方式实现文件存储和共享。为保证文件存储的安全性,用户通常在客户端手动对文件加密之后进行云存储。然而该加密存储方式需要用户额外进行操作,且对上层应用不透明。
目前,可通过在客户端基于用户空间文件系统(Filesystem in Userspace,FUSE)的方式,对云存储的数据进行透明加解密。使得整个加密解密过程对应用是透明的,且不需要改变用户的使用习惯。
然而这种加解密方式只适用于用户对自身文件的加密保护,而通过云存储方式共享文件时,则无法保证在不改变用户使用习惯的前提下实现共享用户对共享文件的加解密。
发明内容
本发明实施例提供了一种共享文件加密解密方法、装置及电子设备,能够保证在不改变用户使用习惯的前提下实现共享用户对共享文件的加解密。
第一方面,本发明实施例提供了一种共享文件加密方法,包括:
生成第一随机数;
利用所述第一随机数对待向共享文件夹上传的共享文件进行加密,得到加密后的共享文件;
获取所述共享文件夹对应的第二随机数;
利用第二随机数对所述第一随机数进行加密,得到第一密文随机数;
将所述第一密文随机数和加密后的共享文件上传至所述共享文件夹中。
在一种可能的实现方式中,所述获取共享文件夹对应的第二随机数,包括:
针对已创建的共享文件夹,生成所述共享文件夹对应的第二随机数;
在所述生成第二随机数之后,还包括:
获取共享用户分别对应的公钥;
利用每一个共享用户的公钥分别对所述第二随机数进行加密,生成与每一个共享用户分别对应的第二密文随机数;
将每一个第二密文随机数共享至相应的共享用户。
在一种可能的实现方式中,所述将每一个第二密文随机数共享至相应的共享用户,包括:
将每一个第二密文随机数分发至相应的共享用户;
或,
将每一个第二密文随机数存储在所述共享文件夹的指定目录中。
在一种可能的实现方式中,所述获取共享文件夹对应的第二随机数,包括:
获取与当前共享用户相对应的第二密文随机数;所述第二密文随机数是利用该当前共享用户的密钥对中的公钥对第二随机数加密生成的;
利用该当前共享用户的密钥对中的私钥对所述第二密文随机数进行解密,得到所述第二随机数。
在一种可能的实现方式中,所述将所述第一密文随机数和加密后的共享文件存储至所述共享文件夹中,包括:
将所述第一密文随机数和加密后的共享文件进行组合处理,得到处理后的文件体;
将所述文件体存储至所述共享文件夹中。
第二方面,本发明实施例还提供了一种共享文件解密方法,包括:
获取共享文件夹中存储的第一密文随机数和加密后的共享文件;
获取所述共享文件夹对应的第二随机数;
利用所述第二随机数对所述第一密文随机数进行解密,得到第一随机数;
利用所述第一随机数对加密后的共享文件进行解密,得到解密后的共享文件。
在一种可能的实现方式中,所述获取共享文件夹中存储的第一密文随机数和加密后的共享文件,包括:
获取共享文件夹中存储的文件体;
将所述文件体进行解组合处理,得到第一密文随机数和加密后的共享文件。
第三方面,本发明实施例还提供了一种共享文件加密装置,包括:
生成单元,用于生成第一随机数;
第一加密单元,用于利用所述第一随机数对待向共享文件夹上传的共享文件进行加密,得到加密后的共享文件;
获取单元,用于获取所述共享文件夹对应的第二随机数;
第二加密单元,用于利用第二随机数对所述第一随机数进行加密,得到第一密文随机数;
存储处理单元,用于将所述第一密文随机数和加密后的共享文件上传至所述共享文件夹中。
第四方面,本发明实施例还提供了一种共享文件解密装置,包括:
第一获取单元,用于获取共享文件夹中存储的第一密文随机数和加密后的共享文件;
第二获取单元,用于获取所述共享文件夹对应的第二随机数;
解密单元,用于利用所述第二随机数对所述第一密文随机数进行解密,得到第一随机数;以及利用所述第一随机数对加密后的共享文件进行解密,得到解密后的共享文件。
第五方面,本发明实施例还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现本说明书任一实施例所述的方法。
本发明实施例提供了一种共享文件加密解密方法、装置及电子设备,在进行共享文件加密时,通过生成第一随机数作为对称密钥对共享文件进行加密,然后利用共享文件夹的第二随机数作为对称密钥对第一随机数进行加密,通过将第一密文随机数和加密后的共享文件存储到共享文件夹中,共享用户在访问共享文件夹时则可以获取到该第一密文随机数和加密后的共享文件,通过获取第二随机数以第一密文随机数中解密出第一随机数,进而利用第一随机数解密出共享文件。可见,该过程无需用户参与,即可实现共享用户对共享文件的加解密。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种共享文件加密方法流程图;
图2是本发明一实施例提供的一种共享文件解密方法流程图;
图3是本发明一实施例提供的一种电子设备的硬件架构图;
图4是本发明一实施例提供的一种共享文件加密装置结构图;
图5是本发明一实施例提供的另一种电子设备的硬件架构图;
图6是本发明一实施例提供的一种共享文件解密装置结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如前所述,采用用户空间文件系统能够实现对云存储数据的透明加解密,且无需用户额外对文件进行操作,整个加解密过程对用户透明。然而采用云存储方式进行文件共享时,该方式无法实现共享用户对共享文件的透明加密解密。
基于此,本发明的发明构思在于:可以基于非对称密钥和对称密钥的特点,利用随机数A作为对称密钥对共享文件进行加密,并使用另一个随机数B作为对称密钥对随机数A进行加密,为使得共享用户能够解密出共享文件,则需要共享用户能够获知随机数A,继而需要共享用户能够获知随机数B,而随机数B作为逐层解密共享文件的密钥,需要保证随机数B的安全,因此,可以利用非对称密钥中的公钥对随机数B进行加密,私钥仅可以被相应共享用户获取到,然后利用私钥解密出随机数B,进而利用随机数B解密出随机数A,最后利用随机数A解密出共享文件,如此无需用户参与,即可完成共享用户对共享文件的加解密。
下面描述以上构思的具体实现方式。
请参考图1,本发明实施例提供了一种共享文件加密方法,该方法包括:
步骤100,生成第一随机数;
步骤102,利用所述第一随机数对待向共享文件夹上传的共享文件进行加密,得到加密后的共享文件;
步骤104,获取所述共享文件夹对应的第二随机数;
步骤106,利用第二随机数对所述第一随机数进行加密,得到第一密文随机数;
步骤108,将所述第一密文随机数和加密后的共享文件上传至所述共享文件夹中。
本发明实施例中,在进行共享文件加密时,通过生成第一随机数作为对称密钥对共享文件进行加密,然后利用共享文件夹的第二随机数作为对称密钥对第一随机数进行加密,通过将第一密文随机数和加密后的共享文件存储到共享文件夹中,以使得共享用户在访问共享文件夹时则可以获取到该第一密文随机数和加密后的共享文件,进而解密出共享文件。可见,对共享文件进行加密的整个过程中,无需用户参与,即可实现共享用户对共享文件的加密。
下面描述图1所示的各个步骤的执行方式。
首先,针对步骤100“生成第一随机数”和步骤102“利用所述第一随机数对待向共享文件夹上传的共享文件进行加密,得到加密后的共享文件”同时进行说明。
本发明实施例中,共享文件用于通过云存储方式实现共享。其中,该云存储方式可以是云盘、网盘,也可以是通过FTP方式挂载在本地客户端的云文件夹。
在用户利用客户端将共享文件上传至服务端时,可以在服务端创建一个存储该共享文件的共享文件夹,也可以使用服务端中已经创建完成的共享文件夹。其中,该共享文件夹可以是上传共享文件的客户端创建的,也可以是其他客户端创建的。也就是说,只要共享文件夹创建完成后,任何具有上传共享文件权限的共享用户均可以向该共享文件夹中上传共享文件。
为了保证本实施例各流程的连贯性,先对创建共享文件夹之后以及上传共享文件之前的过程进行说明。也就是说,在步骤100之前,还包括步骤S1:针对已创建的共享文件夹,生成所述共享文件夹对应的第二随机数。
其中,该第二随机数是用于作为对称密钥的。生成第二随机数的方式可以是调用安全随机数生成算法,生成任意长度或指定长度的随机数。比如,生成指定长度为256bit的随机数。
根据前述分析可知,第二随机数是解密共享文件的关键,因此需要保证第二随机数的安全,不能够被他人窃取到,本发明一个实施例中,在步骤S1之后还可以包括步骤S2:可以对第二随机数进行加密存储。但是,作为解密共享文件的关键密钥,还必须保证其他共享用户能够基于加密后的第二随机数得到第二随机数,那么本发明实施例中,步骤S2中可以采用非对称加密算法对第二随机数进行加密。
具体地,该共享文件夹的共享用户预先生成密钥对。在生成密钥对时,可以基于椭圆曲线算法生成。密钥对中包括私钥和公钥,公钥用于加密,私钥用于解密。因此,私钥只能够被生成密钥对的共享用户访问,公钥可被生成密钥对的共享用户和其他共享用户访问。
本发明一个实施例中,为了实现私钥只能够被生成密钥对的共享用户访问到,可以对私钥进行加密存储。
一个实现方式中,可以利用该共享用户的登录口令对私钥进行加密。其中,共享用户在对服务端(比如云盘、网盘等)进行注册过程中,注册信息包括用户名和登录口令,该用户名和登录口令能够登录服务端,表明该用户具有访问权限,属于共享用户。利用登录口令对私钥进行加密,不仅可以验证共享用户的访问权限,且无需重新生成新的密钥进行加密,降低了密钥管理难度和管理数量。
在利用该共享用户的登录口令加密私钥时,还可以基于PBKDF派生算法对登录口令生成密钥,进而利用该密钥对私钥进行加密。由于该密钥是基
于登录口令生成的,因此,无需对该密钥进行额外存储,每次可以直接使用5登录口令和PBKDF(伪随机函数以导出密钥)派生算法来重新生成密钥,从
而可以减少所管理的密钥数量,降低密钥管理难度。
本发明一个实施例中,为了实现公钥可被生成密钥对的共享用户和其他共享用户访问到,可以采用LDAP(轻型目录访问协议)目录服务或基于openpgp的KeyServer来实现。
0在上述步骤S1之后,步骤S2采用非对称加密算法对第二随机数进行加
密,具体可以包括:获取共享用户分别对应的公钥;利用每一个共享用户的公钥分别对所述第二随机数进行加密,生成与每一个共享用户分别对应的第二密文随机数;将每一个第二密文随机数共享至相应的共享用户。
举例来说,生成该共享文件夹对应的第二随机数的用户为共享用户A,5该共享文件夹除共享用户A能够共享外,还需共享给共享用户B、共享用户C和共享用户D。此时共享用户A可以通过访问服务端的LDAP服务或KeyServer服务获取共享用户A、共享用户B、共享用户C和共享用户D分别对应的公钥,比如公钥分别为公钥A、公钥B、公钥C和公钥D,利用公
钥分别对第二随机数进行加密,得到第二密文随机数A、第二密文随机数B、0第二密文随机数C和第二密文随机数D。每一个共享用户均需要能够到获取
到对应的第二密文随机数。
本发明实施例中,至少可以通过如下两种方式将每一个第二密文随机数共享至相应的共享用户:
方式一、将每一个第二密文随机数存储在所述共享文件夹的指定目录中。5方式二、将每一个第二密文随机数分发至相应的共享用户。
在方式一中,可以在共享文件夹下新建一个子目录,比如,名为KEK的子目录,将该子目录作为指定目录,并将每一个第二密钥随机数均存储在该子目录中。继续以上述例子进行说明,得到的第二密文随机数A、第二密文随机数B、第二密文随机数C和第二密文随机数D,分别为存储在指定目录时,对应的存储文件可以为A.KEK、B.KEK、C.KEK和D.KEK。通过该方式一,将第二密文随机数存储在共享文件夹的指定目录中,由于共享文件夹位于服务端,因此,即使其他共享用户使用不同客户端来访问该共享文件夹时,均可以获取到该指定目录中与该共享用户相对应的第二密文随机数,从而可以避免第二密文随机数的丢失或被盗,不仅提高了安全性,还提高了用户便捷性。
在方式二中,可以将每一个第二密文随机数通过分发方式发送给相应的共享用户,比如,当共享用户B在登录客户端之后接收到共享用户A通过客户端发送的第二密文随机数B后将其存储在本地客户端,以使共享用户B在查看共享文件夹中的共享文件时,能够直接从本地客户端获取该第二密文随机数B。
以上,在针对共享文件夹生成第二随机数并完成对第二随机数的加密之后,任何具有上传共享文件权限的共享用户均可以向该共享文件夹中上传共享文件。
本发明实施例中,为了保证共享用户上传的共享文件的安全性,需要对共享文件进行加密,其中,加密密钥为该第一随机数。
与第二随机数的生成方式同理,该第一随机数也可以是调用安全随机数生成算法来实现,第一随机数的长度也可以为任意长度,也可以为指定长度,其长度可以与第二随机数相等或不等。比如,生成的第一随机数为DEK。将第一随机数作为对称密钥对共享文件进行加密,得到加密后的共享文件。
然后针对步骤104“获取所述共享文件夹对应的第二随机数”和步骤106“利用第二随机数对所述第一随机数进行加密,得到第一密文随机数”同时进行说明。
本发明实施例中,基于上述第二随机数的加密过程,本步骤104可以包括:
步骤1040:获取与当前共享用户相对应的第二密文随机数;所述第二密文随机数是利用该当前共享用户的密钥对中的公钥对第二随机数加密生成的(即步骤S2);
步骤1042:利用该当前共享用户的密钥对中的私钥对所述第二密文随机数进行解密,得到所述第二随机数。
具体地,若当前共享用户为共享用户B,此时获取的第二密文随机数为第二密文随机数B,利用该共享用户B的私钥B从第二密文随机数B中解密出第二随机数。可以理解,此处的私钥B可以是通过访问服务端的LDAP服务或KeyServer服务得到的加密后的私钥B,然后利用登录口令解密得到私钥B。
需要说明的是,当存在如下特殊情况时,本步骤104可以选择采用不同方式获取第二随机数,该特殊情况为:生成第二随机数的共享用户与上传文件的共享用户是相同用户,且,该共享用户在生成第二随机数后未退出登录,则立即上传共享文件。
在该特殊情况下,第二随机数的获取过程可以只进行一次,即步骤S1中针对已创建的共享文件夹,生成所述共享文件夹对应的第二随机数。然后利用该第二随机数对第一随机数进行加密。可见,在该特殊情况下,无需执行第二密文随机数的获取过程、利用私钥对第二密文随机数的解密过程等繁琐操作,即可快速获取到的第二随机数,提高共享文件上传速率。
也就是说,无论何种情况,本实施例的步骤104均可以采用上述步骤1040~1042的方式来实现。而当存在上述特殊情况时,本实施例的步骤104也可以选择使用步骤S1来实现。
由于第一随机数是由上传共享文件的共享用户生成的,且该第一随机数用于加密共享文件,则既需要保证第一随机数的安全,还需要保证其他共享用户能够获取到该第一随机数,因此,可以通过第二随机数对第一随机数进行加密,如此可以得到第一密文随机数。
最后,针对步骤108,将所述第一密文随机数和加密后的共享文件上传至所述共享文件夹中。
第一密文随机数上传至共享文件夹的目的是为了共享用户能够获取到该第一密文随机数,进而从第一密文随机数中解密出第一随机数。因此,本发明实施例中,本步骤108至少可以包括如下两种方式进行上传存储:
方式A、第一密文随机数和加密后的共享文件单独进行存储。
方式B、将所述第一密文随机数和加密后的共享文件进行组合处理,得到处理后的文件体,然后将所述文件体存储至所述共享文件夹中。
在方式A中,在将第一密文随机数和加密后的共享文件单独进行存储之后,还需要建立二者的关联关系,以使共享用户能够基于该关联关系获知所需访问共享文件对应的密钥。
在方式B中,将所述第一密文随机数和加密后的共享文件进行组合处理的方式,可以是将第一密文随机数作为文件头,加密后的共享文件作为文件内容,组合得到文件体;也可以采用其他组合处理方式,比如,将第一密文随机数插入加密后的共享文件的中间位置处或结尾位置处,或者按照某种拆分方式将第一密文随机数拆分后插入加密后的共享文件中。其中,该组合处理方式为约定的方式。
本发明实施例中,为了保证整个加密过程的透明处理,使得用户不改变原有习惯,该共享文件加密方法是在客户端的用户空间文件系统中自动完成,对用户透明。也就是说,共享用户只需将未加密的共享文件进行上传,然后由客户端中的用户空间文件系统在该共享文件上传前对该共享文件进行加密,然后将第一密文随机数和加密后的共享文件上传至共享文件夹。
本发明实施例中,涉及对称、非对称和摘要三种密码算法,其中对称算法用于数据本身的加密保护,非对称算法用于对密钥的保护,Hash算法用于对数据的完整性保护。三种算法均可以采用国内自主设计的商用密码算法。同时采用三级密钥,顶层是非对称密钥对,中间层KEK是密钥加密密钥,底层DEK是文件加密密钥,加密模式可以采用openpgp标准。
基于上述共享文件加密方法,本发明实施例还提供了一种共享文件解密方法,其中,该共享文件是利用上述共享文件加密方法加密得到的;请参考图2,该解密方法包括:
步骤200,获取共享文件夹中存储的第一密文随机数和加密后的共享文件;
步骤202,获取所述共享文件夹对应的第二随机数;
步骤204,利用所述第二随机数对所述第一密文随机数进行解密,得到第一随机数;
步骤206,利用所述第一随机数对加密后的共享文件进行解密,得到解密后的共享文件。
本发明实施例中,由于第一密文随机数和加密后的共享文件存储在共享文件夹中,因此共享用户通过访问共享文件夹则可以获取到该第一密文随机数和加密后的共享文件,通过获取第二随机数以第一密文随机数中解密出第一随机数,进而利用第一随机数解密出共享文件。该过程无需用户参与,即可实现共享用户对共享文件的解密。
下面描述图2所示的各个步骤的执行方式。
针对步骤200,获取共享文件夹中存储的第一密文随机数和加密后的共享文件。
本发明实施例中,与加密方法相对应,若第一密文随机数和加密后的共享文件在共享文件夹中的存储方式为上述实施例中的方式A,则本步骤200可以基于第一密文随机数和加密后的共享文件的关联关系,确定所需访问加密后的共享文件和对应的第一密文随机数;若第一密文随机数和加密后的共享文件在共享文件夹中的存储方式为上述实施例中的方式B,则本步骤200可以通过如下方式实现:
获取共享文件夹中存储的文件体;将所述文件体进行解组合处理,得到第一密文随机数和加密后的共享文件。
其中,该文件体为所需访问的共享文件密文。
本发明实施例中,该解组合方式与上述实施例中的组合处理方式相对应,比如,上述实施例中的组合处理方式为第一密文随机数作为文件头,则本实施例中,则可以读取文件体的文件头得到第一密文随机数,文件体的文件内容即为加密后的共享文件。
然后针对步骤202,获取所述共享文件夹对应的第二随机数。
本实施例中获取共享文件夹对应的第二随机数的方式与上述实施例中步骤1040~1042的方式相同,在此不再赘述。
最后步骤204“利用所述第二随机数对所述第一密文随机数进行解密,得到第一随机数”和步骤206“利用所述第一随机数对加密后的共享文件进行解密,得到解密后的共享文件”,即为正常的解密过程。
如此解密过程完成。
本发明实施例中,为了保证整个解密过程的透明处理,使得用户不改变原有习惯,该共享文件解密方法是在客户端的用户空间文件系统中自动完成,对用户透明。也就是说,共享用户只需将确定所需访问的共享文件密文,然后由客户端中的用户空间文件系统对共享文件密文执行解密过程,最后将解密后的共享文件提供给共享用户。
本发明实施例的共享文件加密解密可以是由相同客户端实现的,也可以是由不同客户端实现的,且结合了非对称密钥和对称密钥的特点,一个共享文件使用一个密钥,安全性更高,且无需改变用户使用习惯,对上层应用透明,高效实现多个共享用户间文件的加密共享。
如图3、图4所示,本发明实施例提供了一种共享文件加密装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图3所示,为本发明实施例提供的一种共享文件加密装置所在电子设备的一种硬件架构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图4所示,作为一个逻辑意义上的装置,是通过其所在电子设备的CPU将非易失性存储器中对应的计算机程序读取到内存中运行形成的。本实施例提供的一种共享文件加密装置,包括:
生成单元401,用于生成第一随机数;
第一加密单元402,用于利用所述第一随机数对待向共享文件夹上传的共享文件进行加密,得到加密后的共享文件;
获取单元403,用于获取所述共享文件夹对应的第二随机数;
第二加密单元404,用于利用第二随机数对所述第一随机数进行加密,得到第一密文随机数;
存储处理单元405,用于将所述第一密文随机数和加密后的共享文件上传至所述共享文件夹中。
在本发明一个实施例中,所述获取单元403,具体用于针对已创建的共享文件夹,生成所述共享文件夹对应的第二随机数。
在本发明一个实施例中,所述获取单元403,还用于获取共享用户分别对应的公钥;利用每一个共享用户的公钥分别对所述第二随机数进行加密,生成与每一个共享用户分别对应的第二密文随机数;将每一个第二密文随机数共享至相应的共享用户。
在本发明一个实施例中,所述获取单元403,在执行所述将每一个第二密文随机数共享至相应的共享用户时,具体包括:将每一个第二密文随机数分发至相应的共享用户;或,将每一个第二密文随机数存储在所述共享文件夹的指定目录中。
在本发明一个实施例中,所述获取单元403,具体用于获取与当前共享用户相对应的第二密文随机数;所述第二密文随机数是利用该当前共享用户的密钥对中的公钥对第二随机数加密生成的;利用该当前共享用户的密钥对中的私钥对所述第二密文随机数进行解密,得到所述第二随机数。
在本发明一个实施例中,所述生成单元还用于生成密钥对;其中,密钥对中的私钥可被生成密钥对的共享用户访问,密钥对中的公钥可被生成密钥对的共享用户和其他共享用户访问。
在本发明一个实施例中,密钥对中的私钥由对应共享用户的加密密钥进行加密后存储在服务端;和/或,密钥对中的公钥存储在服务端。
在本发明一个实施例中,所述存储处理单元具体用于将所述第一密文随机数和加密后的共享文件进行组合处理,得到处理后的文件体;将所述文件体存储至所述共享文件夹中。
如图5、图6所示,本发明实施例提供了一种共享文件解密装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图5所示,为本发明实施例提供的一种共享文件解密装置所在电子设备的一种硬件架构图,除了图5所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图6所示,作为一个逻辑意义上的装置,是通过其所在电子设备的CPU将非易失性存储器中对应的计算机程序读取到内存中运行形成的。本实施例提供的一种共享文件解密装置,包括:
第一获取单元601,用于获取共享文件夹中存储的第一密文随机数和加密后的共享文件;
第二获取单元602,用于获取所述共享文件夹对应的第二随机数;
解密单元603,用于利用所述第二随机数对所述第一密文随机数进行解密,得到第一随机数;以及利用所述第一随机数对加密后的共享文件进行解密,得到解密后的共享文件。
在本发明一个实施例中,第二获取单元602具体用于:获取共享文件夹中存储的文件体;将所述文件体进行解组合处理,得到第一密文随机数和加密后的共享文件。
可以理解的是,本发明实施例示意的结构并不构成对一种共享文件加密装置/一种共享文件解密装置的具体限定。在本发明的另一些实施例中,一种共享文件加密装置/一种共享文件解密装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。
上述装置内的各模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明实施例还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现本发明任一实施例中的一种共享文件加密方法/一种共享文件解密方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序在被处理器执行时,使所述处理器执行本发明任一实施例中的一种共享文件加密方法/一种共享文件解密方法。
具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展模块中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展模块上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个…”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种共享文件加密方法,其特征在于,包括:
生成第一随机数;
利用所述第一随机数对待向共享文件夹上传的共享文件进行加密,得到加密后的共享文件;
获取所述共享文件夹对应的第二随机数;
利用第二随机数对所述第一随机数进行加密,得到第一密文随机数;
将所述第一密文随机数和加密后的共享文件上传至所述共享文件夹中。
2.根据权利要求1所述的方法,其特征在于,所述获取共享文件夹对应的第二随机数,包括:
针对已创建的共享文件夹,生成所述共享文件夹对应的第二随机数;
在所述生成第二随机数之后,还包括:
获取共享用户分别对应的公钥;
利用每一个共享用户的公钥分别对所述第二随机数进行加密,生成与每一个共享用户分别对应的第二密文随机数;
将每一个第二密文随机数共享至相应的共享用户。
3.根据权利要求2所述的方法,其特征在于,所述将每一个第二密文随机数共享至相应的共享用户,包括:
将每一个第二密文随机数分发至相应的共享用户;
或,
将每一个第二密文随机数存储在所述共享文件夹的指定目录中。
4.根据权利要求1所述的方法,其特征在于,所述获取共享文件夹对应的第二随机数,包括:
获取与当前共享用户相对应的第二密文随机数;所述第二密文随机数是利用该当前共享用户的密钥对中的公钥对第二随机数加密生成的;
利用该当前共享用户的密钥对中的私钥对所述第二密文随机数进行解密,得到所述第二随机数。
5.根据权利要求1-4中任一所述的方法,其特征在于,所述将所述第一密文随机数和加密后的共享文件存储至所述共享文件夹中,包括:
将所述第一密文随机数和加密后的共享文件进行组合处理,得到处理后的文件体;
将所述文件体存储至所述共享文件夹中。
6.一种共享文件解密方法,其特征在于,包括:
获取共享文件夹中存储的第一密文随机数和加密后的共享文件;
获取所述共享文件夹对应的第二随机数;
利用所述第二随机数对所述第一密文随机数进行解密,得到第一随机数;
利用所述第一随机数对加密后的共享文件进行解密,得到解密后的共享文件。
7.根据权利要求6所述的方法,其特征在于,所述获取共享文件夹中存储的第一密文随机数和加密后的共享文件,包括:
获取共享文件夹中存储的文件体;
将所述文件体进行解组合处理,得到第一密文随机数和加密后的共享文件。
8.一种共享文件加密装置,其特征在于,包括:
生成单元,用于生成第一随机数;
第一加密单元,用于利用所述第一随机数对待向共享文件夹上传的共享文件进行加密,得到加密后的共享文件;
获取单元,用于获取所述共享文件夹对应的第二随机数;
第二加密单元,用于利用第二随机数对所述第一随机数进行加密,得到第一密文随机数;
存储处理单元,用于将所述第一密文随机数和加密后的共享文件上传至所述共享文件夹中。
9.一种共享文件解密装置,其特征在于,包括:
第一获取单元,用于获取共享文件夹中存储的第一密文随机数和加密后的共享文件;
第二获取单元,用于获取所述共享文件夹对应的第二随机数;
解密单元,用于利用所述第二随机数对所述第一密文随机数进行解密,得到第一随机数;以及利用所述第一随机数对加密后的共享文件进行解密,得到解密后的共享文件。
10.一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-5中任一项所述的方法或者权利要求6-7中任一项所述的方法。
CN202211600846.XA 2022-12-12 2022-12-12 共享文件加密解密方法、装置及电子设备 Pending CN116305236A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211600846.XA CN116305236A (zh) 2022-12-12 2022-12-12 共享文件加密解密方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211600846.XA CN116305236A (zh) 2022-12-12 2022-12-12 共享文件加密解密方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN116305236A true CN116305236A (zh) 2023-06-23

Family

ID=86783970

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211600846.XA Pending CN116305236A (zh) 2022-12-12 2022-12-12 共享文件加密解密方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN116305236A (zh)

Similar Documents

Publication Publication Date Title
CN109120639B (zh) 一种基于区块链的数据云存储加密方法及系统
CN108259169B (zh) 一种基于区块链云存储的文件安全分享方法及系统
CN107959567B (zh) 数据存储方法、数据获取方法、装置及系统
Yan et al. Heterogeneous data storage management with deduplication in cloud computing
Kaaniche et al. A secure client side deduplication scheme in cloud storage environments
US9148283B1 (en) Storing encrypted objects
US7792300B1 (en) Method and apparatus for re-encrypting data in a transaction-based secure storage system
US10354084B2 (en) System and a method for management of confidential data
US9020149B1 (en) Protected storage for cryptographic materials
US20100095118A1 (en) Cryptographic key management system facilitating secure access of data portions to corresponding groups of users
US11296879B2 (en) Encrypted search
US11063917B2 (en) Communication network with rolling encryption keys and data exfiltration control
CN103812927A (zh) 一种存储方法
Virvilis et al. Secure cloud storage: Available infrastructures and architectures review and evaluation
KR20210058313A (ko) 클라우드 환경에서 안전하고 효율적인 데이터 공유를 위한 속성기반 암호를 활용한 데이터 접근 제어 방법 및 시스템
Mahalakshmi et al. Effectuation of secure authorized deduplication in hybrid cloud
CN105518696B (zh) 对数据存储器执行操作
Madhumala et al. Secure file storage & sharing on cloud using cryptography
JP6840685B2 (ja) データ共有方法、データ共有システム、通信端末、データ共有サーバ、プログラム
Reddy et al. A modified cryptographic approach for securing distributed data storage in cloud computing
CN116305236A (zh) 共享文件加密解密方法、装置及电子设备
US11451518B2 (en) Communication device, server device, concealed communication system, methods for the same, and program
Jenefa et al. A cloud storage system with data confidentiality and data forwarding
Shrishak et al. Enhancing user privacy in federated eID schemes
CN117768245B (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