CN109471844A - 文件共享方法、装置、计算机设备和存储介质 - Google Patents
文件共享方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN109471844A CN109471844A CN201811179253.4A CN201811179253A CN109471844A CN 109471844 A CN109471844 A CN 109471844A CN 201811179253 A CN201811179253 A CN 201811179253A CN 109471844 A CN109471844 A CN 109471844A
- Authority
- CN
- China
- Prior art keywords
- terminal
- key
- user identifier
- server
- encryption
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
Abstract
本申请涉及一种文件共享方法、装置、计算机设备和存储介质。该方法包括:获取文件共享请求;根据文件共享请求获取第一用户标识列表中各个用户标识对应的公钥,将第一用户标识列表中各个用户标识和各个用户标识对应的公钥关联返回;获取加密的共享文件、使用各个用户标识对应的公钥加密的临时对称密钥,并计算各个用户标识对应的公钥哈希值;生成加密的共享文件对应的记录标识,将加密的共享文件与记录标识关联写入预设共享文件数据库;使用各个用户标识对应的公钥加密记录标识并获取当前时间点,将当前时间点、加密的临时对称密钥、公钥的哈希值和加密的记录标识关联写入用户标识对应的预设临时密钥库。采用本方法能够提高文件共享的安全性。
Description
技术领域
本申请涉及互联网技术领域,特别是涉及一种文件共享方法、装置、计算机设备和存储介质。
背景技术
随着基因组大数据、医疗影像大数据和其他大数据应用的广泛普及。人们对基因组大数据、医疗影像大数据和其他大数据在存储和传输过程中的安全性越来越重视。目前,这些大数据的存储都是将加密状态的文档存储到云端,并通过云端两两共享存储的加密状态的文档并共享密钥。然而,这些大数据在共享到多个用户时,密钥就会被共享多次,使得密钥很容易被泄露,造成安全风险。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高文件共享安全性的文件共享方法、装置、计算机设备和存储介质。
一种文件共享方法,所述方法包括:
服务器获取第一终端发送的文件共享请求,所述文件共享请求携带有第一用户标识列表,所述第一终端与所述第一用户标识列表中的第一用户标识对应;
所述服务器根据所述文件共享请求获取所述第一用户标识列表中各个用户标识对应的公钥,将所述第一用户标识列表中各个用户标识和所述各个用户标识对应的公钥关联返回所述第一终端;
所述服务器获取所述第一终端使用临时对称密钥加密的共享文件、使用所述各个用户标识对应的公钥加密的所述临时对称密钥,并计算所述各个用户标识对应的公钥哈希值;
所述服务器生成所述加密的共享文件对应的记录标识,将所述加密的共享文件与所述记录标识关联写入预设共享文件数据库中;
所述服务器使用所述各个用户标识对应的公钥加密所述记录标识并获取当前时间点,将所述当前时间点、所述用户标识对应的所述加密的所述临时对称密钥、所述用户标识对应的公钥的哈希值和所述加密的记录标识关联写入所述用户标识对应的预设临时密钥库中。
在其中一个实施例中,所述方法,还包括:
所述服务器获取第二终端发送的阅读请求,所述阅读请求携带目标时间点和第二用户标识,所述第二用户标识在所述第一用户标识列表中;
所述服务器获取所述第二用户标识对应的预设临时密钥库中在所述目标时间点之后的时间点,得到时间点列表;
所述服务器将所述时间点列表中各个时间点对应的加密的临时对称密钥、第二公钥哈希值和加密的记录标识返回所述第二终端;
所述服务器获取第二终端发送的查看请求,所述查看请求携带目标记录标识,根据所述查看请求在所述预设共享文件数据库查找所述目标记录标识对应的目标加密共享文件,将所述目标加密共享文件发送所述第二终端。
在其中一个实施例中,在所述服务器将所述时间点列表中各个时间点对应的加密的临时对称密钥、第二公钥哈希值和加密的记录标识返回所述第二终端之后,还包括:
所述第二终端获取到所述时间点列表中各个时间点对应的加密的临时对称密钥、第二公钥哈希值和加密的记录标识;
所述第二终端根据所述第二公钥哈希值在预设第二私钥库中查找对应的目标哈希值;
当所述第二终端查找到所述第二公钥哈希值对应的目标哈希值时,获取所述目标哈希值对应的第二私钥,使用所述第二私钥解密所述加密的临时对称密钥,得到所述临时对称密钥,使用所述第二私钥解密所述各个时间点对应的加密的记录标识,得到所述各个时间点对应的记录标识;
则在所述服务器将所述目标加密共享文件发送所述第二终端之后,还包括:
所述第二终端获取所述目标加密共享文件,使用所述临时对称密钥对所述目标加密共享文件进行解密,得到目标共享文件。
在其中一个实施例中,在所述第二终端根据所述第二公钥哈希值在预设第二私钥库中查找对应的目标哈希值之前,还包括:
所述第二终端获取所述第二用户标识对应的第二账号密码,根据所述第二账号密码计算对称密钥;
所述第二终端使用所述对称密钥对加密的第二目标对称密钥进行解密,得到所述第二目标对称密钥,使用所述第二目标对称密钥解密所述预设第二私钥库中加密的第二私钥和加密的第二公钥哈希值,将所述第二私钥和所述第二公钥哈希值写入内存中。
在其中一个实施例中,在所述第二终端获取所述目标加密共享文件,使用所述临时对称密钥对所述目标加密共享文件进行解密,得到目标共享文件之后,还包括:
所述第二终端获取对所述目标共享文件的回复文件,向服务器发送回复请求,所述回复请求携带有第二用户标识列表和所述目标共享文件对应的目标记录标识,所述第二终端与所述第二用户标识列表中的第二用户标识对应;
所述第二终端获取到所述服务器返回的所述第二用户标识列表中各个用户标识对应的公钥,并生成目标临时对称密钥,使用所述目标临时对称密钥对所述回复文件进行加密,得到加密的回复文件;
所述第二终端使用所述各个用户标识对应的公钥对所述目标临时对称密钥进行加密,得到各个用户标识对应的加密目标临时对称密钥,并计算所述各个用户标识对应的公钥哈希值;
所述第二终端将所述加密的回复文件、所述各个用户标识对应的加密目标临时对称密钥、所述目标共享文件对应的目标记录标识和所述各个用户标识对应的公钥哈希值发送所述服务器。
在其中一个实施例中,在所述服务器获取第一终端发送的文件共享请求,所述文件共享请求携带有第一用户标识列表,所述第一终端与所述第一用户标识列表中的第一用户标识对应之前,还包括:
所述服务器接收所述第一终端发送的注册指令,所述注册指令携带第一账号和第一账号密码,根据所述注册指令生成第一用户标识,根据所述第一用户标识建立对应的第一公钥库、第一私钥备份数据库和第一临时密钥库;
所述服务器计算所述第一账号密码的哈希值,将所述第一用户标识和所述第一账号密码的哈希值关联写入预设验证数据库中并删除所述第一账号密码;
所述服务器向所述第一终端返回所述第一用户标识。
在其中一个实施例中,在所述服务器向所述第一终端返回所述第一用户标识之后,还包括:
所述第一终端根据所述第一账号密码计算所述第一对称密钥并生成第一目标对称密钥;
所述第一终端生成第一公钥和对应的第一私钥,根据所述第一公钥计算对应的第一公钥哈希值,将所述第一公钥和所述第一公钥哈希值发送所述服务器,以使所述服务器将所述第一公钥和所述第一公钥哈希值关联写入所述预设第一公钥库中;
所述第一终端使用所述第一目标对称密钥加密所述第一私钥和所述第一公钥哈希值,将加密后的所述第一私钥和所述第一公钥哈希值关联写入预设第一私钥库中;
所述第一终端使用所述第一对称密钥加密所述第一目标对称密钥,将加密后的第一目标对称密钥保存,并将所述第一对称密钥删除。
在其中一个实施例中,在当所述服务器向所述第一终端返回所述第一用户标识之后,还包括:
所述第一终端接收对所述第一账号密码的更新指令,根据所述更新指令获取更新后的第一账号密码和更新前的第一账号密码;
所述第一终端根据所述更新前的第一账号密码计算更新前的第一对称密钥并获取所述加密后的第一目标对称密钥,使用所述更新前的第一对称密钥解密所述加密后的第一目标对称密钥,得到第一目标对称密钥;
所述第一终端根据所述更新后的第一账号密码计算更新后的第一对称密钥,使用所述更新后的第一对称密钥加密所述第一目标对称密钥,将更新后加密的第一目标对称密钥保存。
在其中一个实施例中,在当所述服务器向所述第一终端返回所述第一用户标识之后,还包括:
所述第一终端接收对所述第一目标对称密钥的更新指令,根据所述更新指令获取所述第一账号密码并生成更新后的第一目标对称密钥;
所述第一终端根据所述第一账号密码计算所述第一对称密钥,并获取更新前加密的第一目标对称密钥,使用所述第一对称密钥解密所述更新前加密的第一目标对称密钥,得到更新前的第一目标对称密钥;
所述第一终端使用所述更新前的第一目标对称密钥解密所述预设第一私钥库,并使用所述更新后的第一目标对称密钥加密所述预设第一私钥库,并将所述更新前的第一目标对称密钥删除;
所述第一终端使用所述第一对称密钥对所述更新后的第一目标对称密钥加密,将更新后加密的第一目标对称密钥保存,并将所述第一对称密钥删除。
在其中一个实施例中,在所述服务器向所述第一终端返回所述第一用户标识之后,还包括:
所述服务器接收所述第一终端发送的登录指令,所述登录指令携带第一用户标识和第一账号密码;
所述服务器计算所述第一账号密码的哈希值,在所述预设验证数据库查找所述第一用户标识,当在所述预设验证数据库查找到所述第一用户标识时,获取第一用户标识对应的哈希值;
当所述服务器验证所述第一账号密码的哈希值与所述第一用户标识对应的哈希值一致时,向所述第一终端返回登录成功的提示。
在其中一个实施例中,在当所述服务器验证所述第一账号密码的哈希值与所述第一用户标识对应的哈希值一致时,向所述第一终端返回登录成功的提示之后,还包括:
所述第一终端向所述服务器发送第一私钥库备份请求,接收所述服务器返回的确认请求信息;
所述第一终端根据所述确认请求信息获取预设第一私钥库中的记录信息;
所述第一终端计算所述记录信息的哈希值,并根据所述私钥记录标识将所述记录信息发送所述服务器;
所述第一终端获取所述服务器返回的哈希值,当所述服务器返回的哈希值与所述记录信息的哈希值一致时,所述记录信息备份完成。
在其中一个实施例中,所述当所述服务器验证所述第一账号密码的哈希值与所述第一用户标识对应的哈希值一致时,向所述第一终端返回登录成功的提示之后,还包括:
所述第一终端获取子用户账号密码和子用户标识,根据所述子用户账号密码生成子用户对称密钥;
所述第一终端向所述服务器发送子用户创建请求,所述子用户创建请求携带所述第一用户标识、所述子用户标识和所述子用户账号密码,以使所述服务器验证所述子用户标识通过时,计算子用户账号密码的哈希值,并将所述第一用户标识、所述子用户标识和所述子用户账号密码哈希值关联写入所述预设验证数据库中;
所述第一终端接收所述服务器返回的创建成功提示,根据所述创建成功提示生成所述子用户目标对称密钥,使用所述子用户对称密钥加密所述子用户目标对称密钥,得到加密后的子用户目标对称密钥,将所述加密后的子用户目标对称密钥发送所述服务器。
一种文件共享装置,所述装置包括:
共享请求获取模块,用于服务器获取第一终端发送的文件共享请求,所述文件共享请求携带有第一用户标识列表,所述第一终端与所述第一用户标识列表中的第一用户标识对应;
公钥获取模块,用于所述服务器根据所述文件共享请求获取所述第一用户标识列表中各个用户标识对应的公钥,将所述第一用户标识列表中各个用户标识和所述各个用户标识对应的公钥关联返回所述第一终端;
文件获取模块,用于所述服务器获取所述第一终端使用临时对称密钥加密的共享文件、使用所述各个用户标识对应的公钥加密的所述临时对称密钥,并计算所述各个用户标识对应的公钥哈希值;
文件存储模块,用于所述服务器生成所述加密的共享文件对应的记录标识,将所述加密的共享文件与所述记录标识关联写入预设共享文件数据库中;
临时密钥存储模块,用于所述服务器使用所述各个用户标识对应的公钥加密所述记录标识并获取当前时间点,将所述当前时间点、所述用户标识对应的所述加密的所述临时对称密钥、所述用户标识对应的公钥的哈希值和所述加密的记录标识关联写入所述用户标识对应的预设临时密钥库中。
一种计算机设备,包括存储器、处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
服务器获取第一终端发送的文件共享请求,所述文件共享请求携带有第一用户标识列表,所述第一终端与所述第一用户标识列表中的第一用户标识对应;
所述服务器根据所述文件共享请求获取所述第一用户标识列表中各个用户标识对应的公钥,将所述第一用户标识列表中各个用户标识和所述各个用户标识对应的公钥关联返回所述第一终端;
所述服务器获取所述第一终端使用临时对称密钥加密的共享文件、使用所述各个用户标识对应的公钥加密的所述临时对称密钥,并计算所述各个用户标识对应的公钥哈希值;
所述服务器生成所述加密的共享文件对应的记录标识,将所述加密的共享文件与所述记录标识关联写入预设共享文件数据库中;
所述服务器使用所述各个用户标识对应的公钥加密所述记录标识并获取当前时间点,将所述当前时间点、所述用户标识对应的所述加密的所述临时对称密钥、所述用户标识对应的公钥的哈希值和所述加密的记录标识关联写入所述用户标识对应的预设临时密钥库中。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
服务器获取第一终端发送的文件共享请求,所述文件共享请求携带有第一用户标识列表,所述第一终端与所述第一用户标识列表中的第一用户标识对应;
所述服务器根据所述文件共享请求获取所述第一用户标识列表中各个用户标识对应的公钥,将所述第一用户标识列表中各个用户标识和所述各个用户标识对应的公钥关联返回所述第一终端;
所述服务器获取所述第一终端使用临时对称密钥加密的共享文件、使用所述各个用户标识对应的公钥加密的所述临时对称密钥,并计算所述各个用户标识对应的公钥哈希值;
所述服务器生成所述加密的共享文件对应的记录标识,将所述加密的共享文件与所述记录标识关联写入预设共享文件数据库中;
所述服务器使用所述各个用户标识对应的公钥加密所述记录标识并获取当前时间点,将所述当前时间点、所述用户标识对应的所述加密的所述临时对称密钥、所述用户标识对应的公钥的哈希值和所述加密的记录标识关联写入所述用户标识对应的预设临时密钥库中。
上述文件共享方法、装置、计算机设备和存储介质,通过将所述加密的共享文件与所述记录标识关联写入预设共享文件数据库中,将所述当前时间点、所述用户标识对应的所述加密的所述临时对称密钥、所述用户标识对应的公钥的哈希值和所述加密的记录标识关联写入所述用户标识对应的预设临时密钥库中,使得在将共享文件共享到用户标识列表的用户标识处时,共享用户对应的终端先获取到加密的临时对称密钥和和加密的记录标识进行解密,再获取记录标识对应的加密共享文件,并使用临时对称密钥进行解密,得到共享文件,进而不用共享密钥,保证了文件共享的安全无泄漏。
附图说明
图1为一个实施例中文件共享方法的流程示意图;
图2为一个实施例中查看共享文件的流程示意图;
图3为一个实施例中得到共享文件记录标识的流程示意图;
图4为一个实施例中解密用户加密的私钥的流程示意图;
图5为一个实施例中共享回复文件的流程示意图;
图6为一个实施例中注册用户标识的流程示意图;
图7为一个实施例中加密用户私钥信息的流程示意图;
图8为一个实施例中更新用户账号密码的流程示意图;
图9为一个实施例中更新用户目标对称密钥的流程示意图;
图10为一个实施例中使用用户标识和账号密码登录的流程示意图;
图11为一个实施例中备份用户私钥库的流程示意图;
图12为一个实施例中创建子用户的流程示意图
图13为一个实施例中用户客户端存储空间的示意图;
图14为一个实施例中用户在服务器中存储空间的示意图;
图15为一个实施例中服务器存储空间的示意图;
图16为一个实施例中文件共享装置的结构框图;
图17为一个实施例中计算机设备的内部结构图。
图18为一个实施例中文件共享方法的应用环境图;
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的文件共享方法,可以应用于如图18所示的应用环境中。其中,终端通过网络与服务器1804进行通信。服务器1804获取第一终端1802发送的文件共享请求,文件共享请求携带有第一用户标识列表,第一终端1802与第一用户标识列表中的第一用户标识对应,终端1806到终端1806a与用户标识列表中的除第一用户标识以外的用户标识对应;服务器1804根据文件共享请求获取第一用户标识列表中各个用户标识对应的公钥,将第一用户标识列表中各个用户标识和各个用户标识对应的公钥关联返回第一终端1802;服务器1804获取第一终端使用临时对称密钥加密的共享文件、使用各个用户标识对应的公钥加密的临时对称密钥,并计算各个用户标识对应的公钥哈希值;服务器1804生成加密的共享文件对应的记录标识,将加密的共享文件与记录标识关联写入预设共享文件数据库中;服务器1804使用各个用户标识对应的公钥加密记录标识并获取当前时间点,将当前时间点、用户标识对应的加密的临时对称密钥、用户标识对应的公钥的哈希值和加密的记录标识关联写入用户标识对应的预设临时密钥库中。其中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器1804可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图1所示,提供了一种文件共享方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
S102,服务器获取第一终端发送的文件共享请求,文件共享请求携带有第一用户标识列表,第一终端与第一用户标识列表中的第一用户标识对应。
其中,第一用户标识列表中包括要共享该文件的所有用户标识,该所有用户标识都在同一个群组中,即在一个用户标识列表中,每一个用户标识用于标识对应的用户,可以是用户名和数字ID等等。该第一用户标识列表包括第一用户标识。第一终端是第一用户标识对应的终端。
具体地。当第一终端对应的用户要共享文件时,首先选择要共享的文件,然后选择共享的群组,即用户标识列表。该群组可以是预先建立好的,也可以是第一用户标识对应的用户临时指定的。该群组中包括了多个用户标识,该群组中也包括第一用户标识,然后进行共享。服务器获取到第一终端发送的文件共享请求,该文件共享请求中就携带有第一用户标识列表,其中,第一终端与第一用户标识列表中的第一用户标识对应。
S104,服务器根据文件共享请求获取第一用户标识列表中各个用户标识对应的公钥,将第一用户标识列表中各个用户标识和各个用户标识对应的公钥关联返回第一终端。
其中,各个用户标识对应的公钥是预先保存在服务器中的各个用户标识对应的公钥库中的。
具体地,服务器从第一用户标识列表中各个用户标识对应的公钥库中的获取到各个用户标识对应的公钥。然后,将第一用户标识列表中各个用户标识和各个用户标识对应的公钥关联返回第一终端,其中,各个用户标识对应的公钥都是处于激活状态下的,能够直接使用的公钥。
S106,服务器获取第一终端使用临时对称密钥加密的共享文件、使用各个用户标识对应的公钥加密的临时对称密钥,并计算各个用户标识对应的公钥哈希值。
其中,临时对称密钥是第一终端使用密码学安全伪随机数生成器随机生成的对称密钥,该临时对称密钥在使用完时就会删除。该临时对称密钥用于加密要共享的文件。共享文件是指用户要进行分享的文件,比如基因组大数据文件、医疗影像大数据等,其可以包括要共享的原始文件以及原始文件对应的属性文件。该属性文件记录了原始文件的属性,例如,对原始文件的注释、原始文件的大小、创建时间和校验码等信息。对称密钥又叫专用加密密钥,即发送和接收数据的双方必使用相同的密钥对明文进行加密和解密运算。
具体地,服务器获取到第一终端使用临时对称密钥加密的共享文件、使用各个用户标识对应的公钥加密的临时对称密钥和第一终端计算的各个用户标识对应的公钥的哈希值。
S108,服务器生成加密的共享文件对应的记录标识,将加密的共享文件与记录标识关联写入预设共享文件数据库中。
其中,记录标识用于标识加密的共享文件。
具体地,服务器生成该加密的共享文件对应的记录标识,将加密的共享文件与记录标识关联写入预设共享文件数据库中。在一个实施例中,服务器还可以获取当前系统时间生成时间戳。可以获取该加密的共享文件的状态信息,该状态信息是指该加密的共享文件是处于可用或者禁用状态。可以获取到第一用户标识,即上传的用户标识。然后将时间戳、状态信息、第一用户标识与加密的共享文件和记录标识关联写入预设共享文件数据库中。
S110,服务器使用各个用户标识对应的公钥加密记录标识并获取当前时间点,将当前时间点、用户标识对应的加密的临时对称密钥、用户标识对应的公钥的哈希值和加密的记录标识关联写入用户标识对应的预设临时密钥库中。
具体地,服务器使用各个用户标识对应的公钥加密共享文件对应的记录标识,得到各个用户标识对应加密后的记录标识。服务器获取当前时间点,将当前时间点、用户标识对应的加密的临时对称密钥、用户标识对应的公钥的哈希值和加密的记录标识关联写入用户标识对应的预设临时密钥库中。即每一个用户标识对应的预设临时密钥库中都写入了一条记录,该记录包括当前时间点、该用户标识对应的加密临时对称密钥,该用户标识对应的公钥哈希值和加密的记录标识。服务器也可以为预设临时密钥库中的每条记录也生成对应的目标记录标识。
在上述文件共享方法中,通过将加密的共享文件与记录标识关联写入预设共享文件数据库中,将当前时间点、用户标识对应的加密的临时对称密钥、用户标识对应的公钥的哈希值和加密的记录标识关联写入用户标识对应的预设临时密钥库中,使得在将共享文件共享到用户标识列表的用户标识处时,共享用户对应的终端先获取到加密的临时对称密钥和和加密的记录标识进行解密,再获取记录标识对应的加密共享文件,并使用临时对称密钥进行解密,得到共享文件,进而不用共享密钥,保证了文件共享的安全无泄漏。而且,使得加密的共享文件集中存储在服务器的共享文件数据库中,而不必立即发送给共享的各个用户标识对应的终端中,节省了服务器和用户终端存储资源。进一步的,只有该第一用户列表中的用户可以查看该第一用户标识共享的文件,服务器端的管理员及其他任何用户都无法得到该第一用户标识的用户共享的文件,保证的文件的安全。
在一个实施例中,如图2所示,文件共享方法,还包括步骤:
S202,服务器获取第二终端发送的阅读请求,阅读请求携带目标时间点和第二用户标识,第二用户标识在第一用户标识列表中。
其中,目标时间点是指第二用户标识所知的时间点。该时间点早于第一用户标识共享的文件在服务器中存储的时间点。
具体地,当在第一用户标识列表的第二用户标识要获取第一用户标识共享的文件时,第二终端获取到目标时间点,然后向服务器发送的阅读请求,服务器接收到阅读请求,解析该阅读请求,得到目标时间点和第二用户标识。
S204,服务器获取第二用户标识对应的预设临时密钥库中在目标时间点之后的时间点,得到时间点列表。
具体地,服务器根据得到的目标时间点在第二用户标识对应的预设临时密钥库中查找目标时间点之后的时间点,得到时间点列表,该时间点列表中就包括了第一用户标识共享的文件的时间点。比如,用户在10月3号发送阅读请求,该请求中携带有10月1号的时间点,则服务器在预设临时密钥库中查找携带的10月1号的时间点之后的时间点,即包括10月2号的时间点和10月3号的时间点。
S206,服务器将时间点列表中各个时间点对应的加密的临时对称密钥、第二公钥哈希值和加密的记录标识返回第二终端。
S208,服务器获取第二终端发送的查看请求,查看请求携带目标记录标识,根据查看请求在预设共享文件数据库查找目标记录标识对应的目标加密共享文件,将目标加密共享文件发送第二终端。
其中,目标记录标识是第二用户标识需要查看的记录标识,该目标记录标识可以是第一用户标识共享的文件在服务器中的记录标识。
具体地,服务器将时间点列表中各个时间点对应的加密的临时对称密钥、第二公钥哈希值和加密的记录标识返回第二终端。第二终端就接收到了各个时间点对应的加密的临时对称密钥、第二公钥哈希值和加密的记录标识。然后对各个时间点对应的加密的临时对称密钥和加密的记录标识进行解密,然后将各个时间点对应的解密后的记录标识显示。此时,第二用户标识对应的第二用户根据显示的记录标识选择目标记录标识进行查看。则服务器获取到第二终端发送的查看请求,解析该查看请求得到目标记录标识,根据目标记录标识在预设共享文件数据库查找目标记录标识对应的目标加密共享文件,将目标加密共享文件发送第二终端,第二终端可以对目标加密共享文件进行解密,得到目标共享文件。
在上述实施例中,通过服务器获取第二终端发送的阅读请求,得到目标时间点,根据目标时间点得到时间点列表,将时间点列表中的时间点对应的加密的临时对称密钥、第二公钥哈希值和加密的记录标识返回第二终端。服务器再获取到第二终端发送的查看请求,查看请求携带目标记录标识,根据查看请求在预设共享文件数据库查找目标记录标识对应的目标加密共享文件,将目标加密共享文件发送第二终端,可以使第二终端获取到共享的文件,并且能够安全无泄漏,保证文件共享的安全性。
在一个实施例中,如图3所示,在步骤S206之后,即在将时间点列表中各个时间点对应的加密的临时对称密钥、第二公钥哈希值和加密的记录标识返回第二终端之后,还包括步骤:
S302,第二终端获取到时间点列表中各个时间点对应的加密的临时对称密钥、第二公钥哈希值和加密的记录标识。
S304,第二终端根据第二公钥哈希值在预设第二私钥库中查找对应的目标哈希值。
其中,预设第二私钥库是指第二终端预先建立好存储第二用户标识对应的私钥信息的数据库,其中私钥信息是指与私钥相关的信息,可以包括私钥、私钥对应的公钥哈希值、校验码和纠错码等等。
具体地,当第二终端获取到服务器发送的时间点列表中各个时间点对应的加密的临时对称密钥、第二公钥哈希值和加密的记录标识时,先根据未加密的第二公钥哈希值在预设第二私钥库中查找对应的目标哈希值,即查找与第二公钥哈希值相同的目标哈希值。
S306,当第二终端查找到第二公钥哈希值对应的目标哈希值时,获取目标哈希值对应的第二私钥,使用第二私钥解密加密的临时对称密钥,得到临时对称密钥,使用第二私钥解密各个时间点对应的加密的记录标识,得到各个时间点对应的记录标识。
具体地,当第二终端查找到与第二公钥哈希值相同的目标哈希值时,在预设第二私钥库得到与目标哈希值对应的第二私钥,使用第二私钥解密加密的临时对称密钥,得到临时对称密钥,并使用第二私钥解密各个时间点对应的加密的记录标识,得到各个时间点对应的记录标识,然后第二终端将临时对称密钥保存到内存中,并将各个时间点对应的记录标识显示。
则在服务器将目标加密共享文件发送第二终端之后,还包括:
第二终端获取目标加密共享文件,使用临时对称密钥对目标加密共享文件进行解密,得到目标共享文件。
具体地,第二终端获取目标加密共享文件,使用内存中的临时对称密钥对目标加密共享文件进行解密,得到目标共享文件,并将保存在内存中的临时对称密钥进行删除并写入随机比特进行覆盖处理。
上述实施例中,第二终端根据第二公钥哈希值在预设第二私钥库中查找对应的目标哈希值,当第二终端查找到第二公钥哈希值对应的目标哈希值时,获取目标哈希值对应的第二私钥,使用第二私钥解密加密的临时对称密钥,得到临时对称密钥,使用第二私钥解密各个时间点对应的加密的记录标识,得到各个时间点对应的记录标识,能够使第二终端得到各个时间点对应的记录标识,然后根据记录标识得到需要的共享文件的记录标识,再从服务器获取对应的共享文件,然后使用得到的临时对称密钥解密加密的共享文件,得到共享文件,节省了终端资源空间并提高文件共享的安全性。
在一个实施例中,如图4所示,在步骤S304之前,即在第二终端根据第二公钥哈希值在预设第二私钥库中查找对应的目标哈希值之前,还包括步骤:
S402,第二终端获取第二用户标识对应的第二账号密码,根据第二账号密码计算对称密钥。
具体地,第二终端获取到第二用户标识对应的第二账号密码,根据第二账号密码使用密钥导出函数生成对称密钥,该密钥导出函数是指可以根据一个较短的字符串(例如一个密码)生成可以用于加密的密钥的函数。该对称加密算法可以包括AES(AdvancedEncryption Standard,高级加密标准)和SM4(一种分组密码标准)等。
S404,第二终端使用对称密钥对加密的第二目标对称密钥进行解密,得到第二目标对称密钥,使用第二目标对称密钥解密预设第二私钥库中加密的第二私钥和加密的第二公钥哈希值,将第二私钥和第二公钥哈希值写入内存中。
其中,预设私钥库中的私钥信息是被加密的,保证了用户私钥的安全性,防止泄露。
具体地,第二终端使用得到的对称密钥对加密的第二目标对称密钥进行解密,得到第二目标对称密钥,使用该第二目标对称密钥解密预设第二私钥库中加密的第二私钥和加密的第二公钥哈希值并将第二私钥和第二公钥哈希值写入内存中。当第二终端使用完第二私钥和第二公钥哈希值时,将第二私钥和第二公钥哈希值从内存中删除并写入随机比特进行覆盖。
在上述实施例中,通过获取第二用户标识对应的第二账号密码,根据第二账号密码计算对称密钥,第二终端使用对称密钥对加密的第二目标对称密钥进行解密,得到第二目标对称密钥,使用第二目标对称密钥解密预设第二私钥库中加密的第二私钥和加密的第二公钥哈希值,将第二私钥和第二公钥哈希值写入内存中,在需要使用私钥时,将被公钥加密过的信息用对应的私钥进行解密,使用解密后的信息来最终得到共享文件,保证了共享文件的安全性。同时因为用户的私钥信息也是加密存储的,因此也保证了用户私钥的安全性。
在一个实施例中,如图5所示,在第二终端获取目标加密共享文件,使用临时对称密钥对目标加密共享文件进行解密,得到目标共享文件之后,还包括:
S502,第二终端获取对目标共享文件的回复文件,向服务器发送回复请求,回复请求携带有第二用户标识列表和目标共享文件对应的目标记录标识,第二终端与第二用户标识列表中的第二用户标识对应。
其中,回复文件可以包括回复文件和回复文件的属性文件。第二用户标识列表可以和第一用户标识列表相同,也可以和第一用户标识列表不同,但是该第二用户标识列表中必须有第二用户标识。
具体地,第二终端获取到对目标共享文件的回复文件,根据回复文件得到回复文件的属性文件和目标共享文件对应的记录标识。然后第二终端向服务器发送回复请求,回复请求携带有第二用户标识列表和目标共享文件对应的目标记录标识,第二终端与第二用户标识列表中的第二用户标识对应。比如,目标共享文件中原始文件内容为一组基因大数据,则回复文件中的内容可以为该组基因大数据相关的一组基因大数据。
S504,第二终端获取到服务器返回的第二用户标识列表中各个用户标识对应的公钥,并生成目标临时对称密钥,使用目标临时对称密钥对回复文件进行加密,得到加密的回复文件。
S506,第二终端使用各个用户标识对应的公钥对目标临时对称密钥进行加密,得到各个用户标识对应的加密目标临时对称密钥,并计算各个用户标识对应的公钥哈希值。
具体地,第二终端获取服务器返回的第二用户标识列表中各个用户标识对应的公钥,此时,第二终端随机生成一个目标临时对称密钥,使用生成的目标临时对称密钥对回复文件进行加密,得到加密的回复文件。然后再使用各个用户标识对应的公钥对目标临时对称密钥进行加密,得到各个用户标识对应的加密目标临时对称密钥并且同时计算出各个用户标识对应的公钥的哈希值。此时,对生成的目标临时对称密钥进行删除并写入随机比特进行覆盖处理。
S508,第二终端将加密的回复文件、各个用户标识对应的加密目标临时对称密钥、目标共享文件对应的目标记录标识和各个用户标识对应的公钥哈希值发送服务器。
具体地,第二终端将加密的回复文件、各个用户标识对应的加密目标临时对称密钥、目标共享文件对应的目标记录标识和各个用户标识对应的公钥哈希值发送服务器。在一个实施例中,第二终端还生成回复文件的回复状态标识,将回复状态标识一起发送服务器。
在一个实施例中,一个用户标识在第二用户标识列表中,不在第一用户标识列表中,则该用户标识在查看回复文件时,第二终端只显示回复文件和回复状态标识,被回复文件由于无法解密,而被显示为不可用。当该用户标识即在第二用户标识列表中,也在第一用户标识列表中时,在第二终端将回复文件和被回复文件关联显示。
上述实施例中,第二终端通过对共享文件进行回复,得到回复文件,然后将回复的文件进行共享,在进行共享时将共享文件的记录标识和回复文件关联上传服务器保存,实现了对共享文件的回复文件的共享,从而使得用户能够对共享的文件进行回复,提高了用户的体验,节省了资源。
在一个实施例中,如图6所示,在步骤S102之前,即在服务器获取第一终端发送的文件共享请求,文件共享请求携带有第一用户标识列表,第一终端与第一用户标识列表中的第一用户标识对应之前,还包括步骤:
S602,服务器接收第一终端发送的注册指令,注册指令携带第一账号和第一账号密码,根据注册指令生成第一用户标识,根据第一用户标识建立对应的第一公钥库、第一私钥备份数据库和第一临时密钥库。
其中,第一账号和第一账号密码是第一用户通过第一终端输入的,第一账号可以是用户的手机号和用户名等。
具体地,服务器接收到第一终端发送的注册指令,解析该注册指令,得到该第一用户的第一账号和第一账号密码。服务器根据注册指令生成第一账号密码对应的第一用户标识,服务器根据第一用户标识建立第一用户标识对应的第一公钥库、第一私钥备份数据库和第一临时密钥库。
S604,服务器计算第一账号密码的哈希值,将第一用户标识和第一账号密码的哈希值关联写入预设验证数据库中并删除第一账号密码。
具体地,服务器计算出第一账号密码的哈希值,将第一用户标识和第一账号密码的哈希值关联写入预设验证数据库中保存,然后将接收到的第一账号密码删除并对使用过的内存空间写入随机比特进行覆盖处理,使服务器中不存储用户的账号密码。
S606,服务器向第一终端返回第一用户标识。
具体地,服务器向第一终端返回生成的第一用户标识,第一终端接收到第一用户标识,表示已注册成功。
在一个实施例中,服务器接收到注册指令,解析该注册指令得到了第一账号密码,并生成对应的第一用户标识,则服务器保存获取的第一用户标识和第一账号密码的哈希值,但不存储用户的密码,从而提高了安全性。
在上述实施例中,通过服务器接收第一终端发送的注册指令,注册指令携带第一账号和第一账号密码,根据注册指令生成第一用户标识,根据第一用户标识建立对应的第一公钥库、第一私钥备份数据库和第一临时密钥库,服务器计算第一账号密码的哈希值,将第一用户标识和第一账号密码的哈希值关联写入预设验证数据库中并删除第一账号密码,服务器向第一终端返回第一用户标识,能够使用户在服务器中注册账号,并且服务器给注册用户建立相应的数据库,方便后续用户的使用,且在服务器中不直接保存用户注册的账号密码,防止用户的账号密码的泄露,保证的用户隐私的安全性。
在一个实施例中,如图7所示,在步骤S606之后,即在服务器向第一终端返回第一用户标识之后,还包括步骤:
S702,第一终端根据第一账号密码计算第一对称密钥,并生成第一目标对称密钥。
具体地,第一终端获取用户输入的第一账号密码,根据第一账号密码使用密钥导出函数计算第一对称密钥,并通过密码学安全伪随机数生成器随机生成第一目标对称密钥。此时,将第一终端中的第一账号密码进行删除并将使用过的内存空间写入随机比特进行覆盖。其中,密码学安全伪随机数生成器是一种能够通过运算得出密码学安全伪随机数的伪随机数生成器。密钥导出函数可以是Bcrypt(将8至56个字符转化为448位的密钥)、PBKDF2(一种密钥导出函数)、Scrypt算法(一种密钥导出函数算法)及Argon2(一种密钥导出函数)。
S704,第一终端生成第一公钥和对应的第一私钥,根据第一公钥计算对应的第一公钥哈希值,将第一公钥和第一公钥哈希值发送服务器,以使服务器将第一公钥和第一公钥哈希值关联写入预设第一公钥库中。
具体地,第一终端使用非对称密钥生成算法生成一对非对称密钥,包括公钥和对应的私钥。其中,非对称加密算法包括RSA(RSA algorithm)和SM9(一种标识密码标准)等。服务器根据第一公钥计算对应的第一公钥哈希值,将第一公钥和第一公钥哈希值发送服务器,服务器得到第一终端发送的第一公钥和第一公钥哈希值,将第一公钥和第一公钥哈希值关联写入第一用户标识对应的预设第一公钥库中。
S706,第一终端使用第一目标对称密钥加密第一私钥和第一公钥哈希值,将加密后的第一私钥和第一公钥哈希值关联写入预设第一私钥库中。
具体地,第一终端使用第一目标对称密钥加密第一私钥并使用第一目标对称密钥加密第一公钥哈希值,将加密后的第一私钥和第一公钥哈希值关联写入预设第一私钥库中。
在一个实施例中,第一终端生成加密后的第一私钥和第一公钥哈希值的校验码并生成加密后的第一私钥和第一公钥哈希值的纠错码,将生成的校验码和纠错码同时与加密后的第一私钥和第一公钥哈希值关联写入预设第一私钥库中。当要使用第一私钥库中的加密后的第一私钥和第一公钥哈希值时,可以先使用校验码和纠错码进行完整性校验及纠错后再进行解密使用。第一终端还可以获取该第一私钥和对应的第一公钥生成时的系统时间,生成时的设备的MAC码和设备的IP地址等,将系统时间、设备的MAC码和设备的IP地址等一起写入预设第一私钥库中。
S708,第一终端使用第一对称密钥加密第一目标对称密钥,将加密后的第一目标对称密钥保存,并将第一对称密钥删除。
具体地,第一终端使用第一对称密钥加密第一目标对称密钥,将加密后的第一目标对称密钥保存,将加密前的第一目标对称密钥和第一对称密钥删除并对使用过的内存空间写入随机比特进行覆盖处理并释放内存。
在上述实施例中,第一终端生成私钥和对应的公钥,将公钥和公钥的哈希值上传服务器保存,将私钥用生成的第一目标对称密钥加密后进行保存,将第一目标对称密钥使用根据第一账号密码生成的第一对称密钥加密,并将根据第一账号密码所生成的第一对称密钥在第一终端中进行删除,则此时在第一终端中所有的信息都处于加密状态,保护用户隐私的安全性。
在一个实施例中,如图8所示,在步骤S606之后,即在当服务器向第一终端返回第一用户标识之后,还包括步骤:
S802,第一终端接收对第一账号密码的更新指令,根据更新指令获取更新后的第一账号密码和更新前的第一账号密码。
具体地,当用户需要更新账号密码时,第一终端接收对第一账号密码的更新指令,根据更新指令获取更新后的第一账号密码和更新前的第一账号密码,该更新后的第一账号密码和更新前的第一账号密码是第一终端根据用户的输入得到的。
S804,第一终端根据更新前的第一账号密码计算更新前的第一对称密钥并获取加密后的第一目标对称密钥,使用更新前的第一对称密钥解密加密后的第一目标对称密钥,得到第一目标对称密钥。
具体地,第一终端根据更新前的第一账号密码计算更新前的第一对称密钥并且第一终端获取保存的加密后的第一目标对称密钥,使用更新前的第一对称密钥解密加密后的第一目标对称密钥,得到未加密的第一目标对称密钥。
S806,第一终端根据更新后的第一账号密码计算更新后的第一对称密钥,使用更新后的第一对称密钥加密第一目标对称密钥,将更新后加密的第一目标对称密钥保存。
具体地,第一终端根据更新后的第一账号密码计算更新后的第一对称密钥,当得到未加密的第一目标对称密钥时,立即使用更新后的第一对称密钥加密第一目标对称密钥,得到更新后加密的第一目标对称密钥,将更新后加密的第一目标对称密钥保存。
在上述实施例中,通过第一终端接收对第一账号密码的更新指令,根据更新指令获取更新后的第一账号密码和更新前的第一账号密码,第一终端根据更新前的第一账号密码计算更新前的第一对称密钥,并获取加密后的第一目标对称密钥,使用更新前的第一对称密钥解密加密后的第一目标对称密钥,得到第一目标对称密钥,第一终端根据更新后的第一账号密码计算更新后的第一对称密钥,使用更新后的第一对称密钥加密第一目标对称密钥,将更新后加密的第一目标对称密钥保存,实现了对账号密码的更新,并且仅仅对第一目标对称密钥进行过解密和加密操作,使得能够快速的实现对账号密码的更新,并保证了账号密码更新时用户隐私的安全性。
在一个实施例中,如图9所示,在步骤S606之后,即在当服务器向第一终端返回第一用户标识之后,还包括步骤:
S902,第一终端接收对第一目标对称密钥的更新指令,根据更新指令获取第一账号密码,并生成更新后的第一目标对称密钥。
具体地,当用户想要更新随机生成的第一目标对称密钥时,第一终端接收对第一目标对称密钥的更新指令,根据更新指令获取第一账号密码,并使用密码学安全伪随机数生成器生成更新后的第一目标对称密钥。
S904,第一终端根据第一账号密码计算第一对称密钥,并获取更新前加密的第一目标对称密钥,使用第一对称密钥解密更新前加密的第一目标对称密钥,得到更新前的第一目标对称密钥。
具体地,第一终端根据第一账号密码计算第一对称密钥,并获取更新前加密的第一目标对称密钥,使用第一对称密钥解密更新前加密的第一目标对称密钥,得到更新前的第一目标对称密钥。
S906,第一终端使用更新前的第一目标对称密钥解密预设第一私钥库,并使用更新后的第一目标对称密钥加密预设第一私钥库,并将更新前的第一目标对称密钥删除。
具体地,第一终端使用更新前的第一目标对称密钥解密预设第一私钥库中的加密的私钥信息,包括加密的第一私钥和加密的第一公钥哈希值等。然后使用更新后的第一目标对称密钥立即加密预设第一私钥库中的私钥信息,包括解密后的第一私钥和解密后的第一公钥哈希值等,然后将更新前的第一目标对称密钥删除并对使用过的内存空间写入随机比特进行覆盖处理。
S908,第一终端使用第一对称密钥对更新后的第一目标对称密钥加密,将更新后加密的第一目标对称密钥保存,并将第一对称密钥删除。
具体地,第一终端使用第一对称密钥对更新后的第一目标对称密钥加密,将更新后加密的第一目标对称密钥保存。然后第一终端将第一对称密钥删除并对使用过的内存空间写入随机比特进行覆盖处理。
在上述实施例中,第一终端实现了对第一目标对称密钥的更新,当用户的第一目标对称密钥有可能发生泄露时,能够及时对第一目标对称密钥的进行更新,进一步的提高了用户隐私保存的安全性,防止用户隐私泄露。
在一个实施例中,如图10所示,在步骤S606之后,即在服务器向第一终端返回第一用户标识之后,还包括步骤:
S1002,服务器接收第一终端发送的登录指令,登录指令携带第一用户标识和第一账号密码。
S1004,服务器计算第一账号密码的哈希值,在预设验证数据库查找第一用户标识,当在预设验证数据库查找到第一用户标识时,获取第一用户标识对应的哈希值。
具体地,服务器接收第一终端发送的登录指令,解析该登录指令,得到登录指令携带的第一用户标识和第一账号密码。服务器根据得到的第一账号密码使用密码哈希函数计算第一账号密码的哈希值。当计算得到第一账号密码的哈希值时,服务器立即删除保存的第一账号密码,并对使用过的内存空间写入随机比特进行覆盖处理。然后,服务器在预设验证数据库查找第一用户标识,当服务器在预设验证数据库查找到第一用户标识时,从预设验证数据库中获取到第一用户标识对应的哈希值。
S1006,当服务器验证第一账号密码的哈希值与第一用户标识对应的哈希值一致时,向第一终端返回登录成功的提示。
具体地,服务器判断第一账号密码的哈希值与第一用户标识对应的哈希值是否相同,当服务器验证第一账号密码的哈希值与第一用户标识对应的哈希值一致时,向第一终端返回登录成功的提示。
在上述实施例中,使服务器在没有保存用户账号密码的情况下,通过账号密码的哈希值进行登录验证,在一定程度上保证的用户账号密码的安全性,防止用户账号密码的泄露。
在一个实施例中,如图11所述,在步骤S1006之后,即在当服务器验证第一账号密码的哈希值与第一用户标识对应的哈希值一致时,向第一终端返回登录成功的提示之后,还包括:
S1102,第一终端向服务器发送第一私钥库备份请求,接收服务器返回的确认请求信息。
具体地,用户可以将终端保存的私钥库备份到服务器进行保存,此时,第一终端向服务器发送第一私钥库备份请求,接收服务器返回的确认请求信息,该确认请求信息用户指示第一终端进行第一私钥库备份的动作。
S1104,第一终端根据确认请求信息获取预设第一私钥库中的记录信息。
其中,记录信息是指私钥库中保存的每一条记录,该每一记录可以包括有包括私钥记录标识,与私钥记录标识对应的加密后的第一私钥、加密后的第一公钥哈希值、第一私钥生成时间、验证码、纠错码、生成时设备的MAC码和设备的IP地址等。
具体地,第一终端根据确认请求信息获取预设第一私钥库中的每一条记录信息。
S1106,第一终端计算记录信息的哈希值,并根据私钥记录标识将记录信息发送服务器。
具体地,第一终端计算每一记录信息的哈希值,并根据私钥记录标识将记录信息发送服务器,可以按照私钥记录标识的顺序依次进行发送,也可以按照私钥记录标识的顺序分批次进行发送。在一个实施例中,第一终端可以使用校验吗和纠错码对第一私钥库中的每一条记录进行完整性校验和纠错,保证记录信息的完整无误。
S1108,第一终端获取服务器返回的哈希值,当服务器返回的哈希值与记录信息的哈希值一致时,记录信息备份完成。
具体地,当服务器接收到第一终端发送的记录信息时,服务器计算该记录信息的哈希值,将第一终端发送的记录信息保存,然后将该记录信息的哈希值返回给第一终端,当第一终端获取到服务器返回的哈希值时,验证服务器返回的哈希值与记录信息的哈希值一致是否一致,当服务器返回的哈希值与记录信息的哈希值一致时,该记录信息就备份完成。
在一个实施例中,当用户的私钥库在服务器中备份完成时,用户可以在不同的设备上从服务器下载该用户的处于加密状态的私钥库,进而在不同的设备上使用同一个账户进行文件共享、阅读和回复,提高了数据安全性及系统的可用性。
在上述实施例中,用户可以将终端中的私钥库中的信息备份到服务器中,由于私钥库中的信息都处于加密状态,且在加密状态下进行备份,防止用户私钥库中的信息泄露,保证了用户私钥库中信息的安全性,。
在一个实施例中,如图12所述,在步骤S1006之后,当服务器验证第一账号密码的哈希值与第一用户标识对应的哈希值一致时,向第一终端返回登录成功的提示之后,还包括步骤:
S1202,第一终端获取子用户账号密码和子用户标识,根据子用户账号密码生成子用户对称密钥。
具体地,第一用户在登录之后,可以进行子用户的创建。此时,第一用户通过第一终端输入子用户账号密码和子用户标识,第一终端获取到子用户账密码和子用户标识,根据子用户账号密码生成子用户对称密钥,在生成子用户对称密钥之后,将子用户账号密码删除并写入随机比特进行覆盖。
S1204,第一终端向服务器发送子用户创建请求,子用户创建请求携带第一用户标识、子用户标识和子用户账号密码,以使服务器验证子用户标识通过时,计算子用户账号密码的哈希值,并将第一用户标识、子用户标识和子用户账号密码哈希值关联写入预设验证数据库中。
具体地,第一终端向服务器发送子用户创建请求,子用户创建请求携带第一用户标识、子用户标识和子用户账号密码,当服务器接收到第一终端发送的子用户创建请求时,在预设验证数据库中查找子用户标识,当预设验证数据库中未存在子用户标识时,计算子用户账号密码的哈希值,并将第一用户标识、子用户标识和子用户账号密码哈希值关联写入预设验证数据库中,服务器向第一终端发送创建成功提示。
S1206,第一终端接收服务器返回的创建成功提示,根据创建成功提示生成子用户目标对称密钥,使用子用户对称密钥加密子用户目标对称密钥,得到加密后的子用户目标对称密钥,将加密后的子用户目标对称密钥发送服务器。
具体地,当第一终端接收服务器返回的创建成功提示时,第一终端根据创建成功提示生成子用户目标对称密钥,将子用户目标对称密钥和子用户标识关联写入第一终端的子用户列表中。然后,使用子用户对称密钥加密子用户目标对称密钥,得到加密后的子用户目标对称密钥,并将其在第一终端的子用户列表中保存,并将加密后的子用户目标对称密钥发送服务器。然后,子用户使用子用户账号密码、子用户标识和第一用户标识通过子用户终端进行登录,从服务器获取到保存的加密后的子用户目标对称密钥,并将其保存在子用户终端,则子用户也可以进行文件的共享和共享文件的查看。当子用户需要更换子用户目标对称密钥时,必须将子用户终端中的所有信息通过服务器备份到第一终端中,然后通过第一终端进行子用户目标对称密钥的更换。则通过第一终端可以查看子用户的子用户目标对称密钥和子用户共享过的文件信息和被共享的文件信息。
通过上述实施例中,通过第一终端创建子用户,使得子用户也可以进行文件的共享和查看,并且第一终端可以对创建的子用户进行管理,满足了客户需求,提高客户的便利。
在一个具体的实施例中,该文件共享方法应用在群组内信息交流系统中,该系统包括服务端程序和客户端程序。用户通过客户端程序在用户终端进行注册、登录、文件共享和共享文件查看,服务端程序为客户端提供服务。
具体来说,用户X下载到客户端程序,客户端程序在客户端为用户X建立一个私钥库,可以是一个用来存储私钥信息的文件、文件集合或数据库,建立子用户列表,用来存储用户X建立的子用户的信息,建立对称密钥库,用来存储用户X的在被分享文件时所需要的加密的临时对称密钥。如图13所示,为用户X在客户端写入数据之后的存储空间。
用户X通过客户端程序在客户端使用账号和密码进行注册,在通过服务器确认后,服务器将验证信息写入服务端中的用户登录验证数据库中形成一条验证记录,可以如图15所示的用户登录验证数据库的记录01。然后使客户端得到服务端程序分配的账号。服务端程序在服务器中给用户X建立用户X的公钥数据库、私钥备份数据库和临时密钥库。如图14所示,为用户X的数据在服务器端写入之后的存储空间。
用户X通过客户端程序在客户端利用账号密码使用密钥导出函数生成一个对称密钥,即将用户X的账号密码作为输入,使用密钥导出函数生成用户X的对称密钥。在客户端使用密码学安全伪随机数生成器生成一个随机对称密钥,即目标对称密钥,该目标对称密钥用来加密用户X客户端的所有数据。该用户X使用账号密码生成的对称密钥再来加密该目标对称密钥,并将加密的目标对称密钥存储到用户X的在客户端的对称密钥库中,如图13所示。
此时,用户X还可以使用客户端程序在客户端生成一对公钥和私钥,并计算出公钥的哈希值。将该私钥、对应公钥的哈希值和私钥的元数据比如生成时间,生成时的设备信息,校验码,纠错码等,存储到用户X在客户端的私钥库中,如图13所示。用户X将公钥、公钥的哈希值和公钥的元数据(包含例如公钥是否处于激活状态等信息)一起上传到服务器中用户X的公钥库中形成一公钥记录进行存储,如图14中所示的用户X的公钥库的记录01。
用户X要进行文件共享时,在客户端通过客户端程序使用账号和密码进行登录,当服务器使用账号密码的哈希值验证成功时,用户X登录成功。此时,针对一个待分享的文件,用户X需要选择要分享的群组,该群组中包括各个用户的用户账号并且该群组中也包括的用户X的账号。如果是刚注册的用户,用户可以首先创建好友用户列表及好友用户群组。然后用户X的客户端向服务器发送文件共享请求,该文件共享请求中携带有需要接收该被共享文件的成员的账号列表,比如X、Y1、…、Yn。服务器接收到共享请求时,就从各个成员账号的公钥库中获取到公钥,然后将各个成员账号的公钥返回给用户X的客户端,用户X的客户端在接收到用户X,用户Y1到用户Yn的公钥。
客户端获取到要分享的基因组大数据文件和该文件的属性文件,得到共享文件,用户X的客户端使用密码学安全伪随机数生成器,生成一个临时对称密钥,使用该临时对称密钥将该共享文件进行加密,得到加密后的共享文件,然后再得到加密的共享文件的元数据,比如,生成的时间戳、上传的用户X账号和文件状态信息等等。
用户X的客户端使用各个用户的公钥对该临时对称密钥进行加密,得到加密后的临时对称密钥,并计算出各个用户的公钥哈希值,也可以记录生成的时间戳。用户X的客户端将加密后的共享文件、加密的共享文件的元数据、各个用户的公钥哈希值和各个用户对应的加密的临时对称密钥上传服务器。服务器将加密后的共享文件和加密的共享文件的元数据存储到到总文件存储数据库中形成一条记录,如图15所示的总文件存储数据库的记录01。将各个用户的公钥哈希值和各个用户对应的加密的临时对称密钥分别存储到各个用户的临时密钥库中,如图14所示,用户X的临时密钥库中的记录01。此时,服务器向用户X的客户端返回共享成功的提示,则用户X共享文件完成。
应该理解的是,虽然图1-12的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-12中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图16所示,提供了一种文件共享装置1600,包括:共享请求获取模块1602、公钥获取模块1604、文件获取模块1606、文件存储模块1608和临时密钥存储模块1610,其中:
共享请求获取模块1602,用于服务器获取第一终端发送的文件共享请求,文件共享请求携带有第一用户标识列表,第一终端与第一用户标识列表中的第一用户标识对应;
公钥获取模块1604,用于服务器根据文件共享请求获取第一用户标识列表中各个用户标识对应的公钥,将第一用户标识列表中各个用户标识和各个用户标识对应的公钥关联返回第一终端;
文件获取模块1606,用于服务器获取第一终端使用临时对称密钥加密的共享文件、使用各个用户标识对应的公钥加密的临时对称密钥,并计算各个用户标识对应的公钥哈希值;
文件存储模块1608,用于服务器生成加密的共享文件对应的记录标识,将加密的共享文件与记录标识关联写入预设共享文件数据库中;
密钥存储模块1610,用于服务器使用各个用户标识对应的公钥加密记录标识,并获取当前时间点,将当前时间点、用户标识对应的加密的临时对称密钥、用户标识对应的公钥的哈希值和加密的记录标识关联写入用户标识对应的预设临时密钥库中。
在一个实施例中,文件共享装置1600,还包括:阅读请求获取模块,用于服务器获取第二终端发送的阅读请求,阅读请求携带目标时间点和第二用户标识,第二用户标识在第一用户标识列表中;时间点列表得到模块,用于服务器获取第二用户标识对应的预设临时密钥库中在目标时间点之后的时间点,得到时间点列表;时间点信息返回模块,用于将时间点列表中各个时间点对应的加密的临时对称密钥、第二公钥哈希值和加密的记录标识返回第二终端;文件共享模块,用于服务器获取第二终端发送的查看请求,查看请求携带目标记录标识,根据查看请求在预设共享文件数据库查找目标记录标识对应的目标加密共享文件,将目标加密共享文件发送第二终端。
在一个实施例中,文件共享装置1600,还包括:时间点信息获取模块,用于第二终端获取到时间点列表中各个时间点对应的加密的临时对称密钥、第二公钥哈希值和加密的记录标识;哈希值查找模块,用于第二终端根据第二公钥哈希值在预设第二私钥库中查找对应的目标哈希值;记录标识得到模块,用于当第二终端查找到第二公钥哈希值对应的目标哈希值时,获取目标哈希值对应的第二私钥,使用第二私钥解密加密的临时对称密钥,得到临时对称密钥,使用第二私钥解密各个时间点对应的加密的记录标识,得到各个时间点对应的记录标识;
则文件共享装置1600,还包括:共享文件解密模块,用于第二终端获取目标加密共享文件,使用临时对称密钥对目标加密共享文件进行解密,得到目标共享文件。
在一个实施例中,文件共享装置1600,还包括:对称密钥计算模块,用于第二终端获取第二用户标识对应的第二账号密码,根据第二账号密码计算对称密钥;私钥解密模块,用于第二终端使用对称密钥对加密的第二目标对称密钥进行解密,得到第二目标对称密钥,使用第二目标对称密钥解密预设第二私钥库中加密的第二私钥和加密的第二公钥哈希值,将第二私钥和第二公钥哈希值写入内存中。
在一个实施例中,文件共享装置1600,还包括:回复请求发送模块,用于第二终端获取对目标共享文件的回复文件,向服务器发送回复请求,回复请求携带有第二用户标识列表和目标共享文件对应的目标记录标识,第二终端与第二用户标识列表中的第二用户标识对应;回复文件加密模块,用于第二终端获取到服务器返回的第二用户标识列表中各个用户标识对应的公钥,并生成目标临时对称密钥,使用目标临时对称密钥对回复文件进行加密,得到加密的回复文件;临时对称密钥加密模块,用于第二终端使用各个用户标识对应的公钥对目标临时对称密钥进行加密,得到各个用户标识对应的加密目标临时对称密钥,并计算各个用户标识对应的公钥哈希值;回复文件共享模块,用于第二终端将加密的回复文件、各个用户标识对应的加密目标临时对称密钥、目标共享文件对应的目标记录标识和各个用户标识对应的公钥哈希值发送服务器。
在一个实施例中,文件共享装置1600,还包括:接收注册模块,用于服务器接收第一终端发送的注册指令,注册指令携带第一账号和第一账号密码,根据注册指令生成第一用户标识,根据第一用户标识建立对应的第一公钥库、第一私钥备份数据库和第一临时密钥库;哈希值计算模块,用于服务器计算第一账号密码的哈希值,将第一用户标识和第一账号密码的哈希值关联写入预设验证数据库中并删除第一账号密码;用户标识返回模块,用于服务器向第一终端返回第一用户标识。
在一个实施例中,文件共享装置1600,还包括:对称密钥计算模块,用于第一终端根据第一账号密码计算第一对称密钥,并生成第一目标对称密钥;非对称密钥生成模块,用于第一终端生成第一公钥和对应的第一私钥,根据第一公钥计算对应的第一公钥哈希值,将第一公钥和第一公钥哈希值发送服务器,以使服务器将第一公钥和第一公钥哈希值关联写入预设第一公钥库中;加密私钥模块,用于第一终端使用第一目标对称密钥加密第一私钥和第一公钥哈希值,将加密后的第一私钥和第一公钥哈希值关联写入预设第一私钥库中;目标对称密钥加密模块,用于第一终端使用第一对称密钥加密第一目标对称密钥,将加密后的第一目标对称密钥保存,并将第一对称密钥删除。
在一个实施例中,文件共享装置1600,还包括:第一更新指令接收模块,用于第一终端接收对第一账号密码的更新指令,根据更新指令获取更新后的第一账号密码和更新前的第一账号密码;目标对称密钥解密模块,用于第一终端根据更新前的第一账号密码计算更新前的第一对称密钥并获取加密后的第一目标对称密钥,使用更新前的第一对称密钥解密加密后的第一目标对称密钥,得到第一目标对称密钥;账号密码更新模块,用于第一终端根据更新后的第一账号密码计算更新后的第一对称密钥,使用更新后的第一对称密钥加密第一目标对称密钥,将更新后加密的第一目标对称密钥保存。
在一个实施例中,文件共享装置1600,还包括:第二更新模块,用于第一终端接收对第一目标对称密钥的更新指令,根据更新指令获取第一账号密码并生成更新后的第一目标对称密钥;目标对称密钥解密模块,用于第一终端根据第一账号密码计算第一对称密钥,并获取更新前加密的第一目标对称密钥,使用第一对称密钥解密更新前加密的第一目标对称密钥,得到更新前的第一目标对称密钥;目标对称密钥更新模块,用于第一终端使用更新前的第一目标对称密钥解密预设第一私钥库,并使用更新后的第一目标对称密钥加密预设第一私钥库,并将更新前的第一目标对称密钥删除;新目标对称密钥加密模块,用于第一终端使用第一对称密钥对更新后的第一目标对称密钥加密,将更新后加密的第一目标对称密钥保存,并将第一对称密钥删除。
在一个实施例中,文件共享装置1600,还包括:登录指令接收模块,用于服务器接收第一终端发送的登录指令,登录指令携带第一用户标识和第一账号密码;登录验证模块,用于服务器计算第一账号密码的哈希值,在预设验证数据库查找第一用户标识,当在预设验证数据库查找到第一用户标识时,获取第一用户标识对应的哈希值;登录成功模块,用于当服务器验证第一账号密码的哈希值与第一用户标识对应的哈希值一致时,向第一终端返回登录成功的提示。
在一个实施例中,文件共享装置1600,还包括:备份请求发送模块,用于第一终端向服务器发送第一私钥库备份请求,接收服务器返回的确认请求信息;记录信息获取模块,用于第一终端根据确认请求信息获取预设第一私钥库中的记录信息;记录哈希值计算模块,用于第一终端计算记录信息的哈希值,并根据私钥记录标识将记录信息发送服务器;记录信息备份模块,用于所述第一终端获取服务器返回的哈希值,当服务器返回的哈希值与记录信息的哈希值一致时,记录信息备份完成。
在一个实施例中,文件共享装置1600,还包括:子用户信息获取模块,用于第一终端获取子用户账号密码和子用户标识,根据子用户账号密码生成子用户对称密钥;子用户创建模块,用于第一终端向服务器发送子用户创建请求,子用户创建请求携带第一用户标识、子用户标识和子用户账号密码,以使服务器验证子用户标识通过时,计算子用户账户密码的哈希值,并将第一用户标识、子用户标识和子用户账号密码的哈希值关联写入预设验证数据库中;子用户密钥生成模块,用于第一终端接收服务器返回的创建成功提示,根据创建成功提示生成子用户目标对称密钥,使用子用户对称密钥加密子用户目标对称密钥,得到加密后的子用户目标对称密钥,将加密后的子用户目标对称密钥发送服务器。
关于文件共享装置的具体限定可以参见上文中对于文件共享方法的限定,在此不再赘述。上述文件共享装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图17所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储用户的相关数据和共享文件的相关数据等,可以如图13、图14和图15所示。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种文件共享方法。
本领域技术人员可以理解,图17中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现本申请任意一个实施例中提供的文件共享的方法的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本申请任意一个实施例中提供的文件共享的方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (15)
1.一种文件共享方法,所述方法,包括:
服务器获取第一终端发送的文件共享请求,所述文件共享请求携带有第一用户标识列表,所述第一终端与所述第一用户标识列表中的第一用户标识对应;
所述服务器根据所述文件共享请求获取所述第一用户标识列表中各个用户标识对应的公钥,将所述第一用户标识列表中各个用户标识和所述各个用户标识对应的公钥关联返回所述第一终端;
所述服务器获取所述第一终端使用临时对称密钥加密的共享文件、使用所述各个用户标识对应的公钥加密的所述临时对称密钥,并计算所述各个用户标识对应的公钥哈希值;
所述服务器生成所述加密的共享文件对应的记录标识,将所述加密的共享文件与所述记录标识关联写入预设共享文件数据库中;
所述服务器使用所述各个用户标识对应的公钥加密所述记录标识并获取当前时间点,将所述当前时间点、所述用户标识对应的所述加密的所述临时对称密钥、所述用户标识对应的公钥的哈希值和所述加密的记录标识关联写入所述用户标识对应的预设临时密钥库中。
2.根据权利要求1所述的方法,其特征在于,所述方法,还包括:
所述服务器获取第二终端发送的阅读请求,所述阅读请求携带目标时间点和第二用户标识,所述第二用户标识在所述第一用户标识列表中;
所述服务器获取所述第二用户标识对应的预设临时密钥库中在所述目标时间点之后的时间点,得到时间点列表;
所述服务器将所述时间点列表中各个时间点对应的加密的临时对称密钥、第二公钥哈希值和加密的记录标识返回所述第二终端;
所述服务器获取第二终端发送的查看请求,所述查看请求携带目标记录标识,根据所述查看请求在所述预设共享文件数据库查找所述目标记录标识对应的目标加密共享文件,将所述目标加密共享文件发送所述第二终端。
3.根据权利要求2所述的方法,其特征在于,在所述服务器将所述时间点列表中各个时间点对应的加密的临时对称密钥、第二公钥哈希值和加密的记录标识返回所述第二终端之后,还包括:
所述第二终端获取到所述时间点列表中各个时间点对应的加密的临时对称密钥、第二公钥哈希值和加密的记录标识;
所述第二终端根据所述第二公钥哈希值在预设第二私钥库中查找对应的目标哈希值;
当所述第二终端查找到所述第二公钥哈希值对应的目标哈希值时,获取所述目标哈希值对应的第二私钥,使用所述第二私钥解密所述加密的临时对称密钥,得到所述临时对称密钥,使用所述第二私钥解密所述各个时间点对应的加密的记录标识,得到所述各个时间点对应的记录标识;
则在所述服务器将所述目标加密共享文件发送所述第二终端之后,还包括:
所述第二终端获取所述目标加密共享文件,使用所述临时对称密钥对所述目标加密共享文件进行解密,得到目标共享文件。
4.根据权利要求3所述的方法,其特征在于,在所述第二终端根据所述第二公钥哈希值在预设第二私钥库中查找对应的目标哈希值之前,还包括:
所述第二终端获取所述第二用户标识对应的第二账号密码,根据所述第二账号密码计算对称密钥;
所述第二终端使用所述对称密钥对加密的第二目标对称密钥进行解密,得到所述第二目标对称密钥,使用所述第二目标对称密钥解密所述预设第二私钥库中加密的第二私钥和加密的第二公钥哈希值,将所述第二私钥和所述第二公钥哈希值写入内存中。
5.根据权利要求3所述的方法,其特征在于,在所述第二终端获取所述目标加密共享文件,使用所述临时对称密钥对所述目标加密共享文件进行解密,得到目标共享文件之后,还包括:
所述第二终端获取对所述目标共享文件的回复文件,向服务器发送回复请求,所述回复请求携带有第二用户标识列表和所述目标共享文件对应的目标记录标识,所述第二终端与所述第二用户标识列表中的第二用户标识对应;
所述第二终端获取到所述服务器返回的所述第二用户标识列表中各个用户标识对应的公钥,并生成目标临时对称密钥,使用所述目标临时对称密钥对所述回复文件进行加密,得到加密的回复文件;
所述第二终端使用所述各个用户标识对应的公钥对所述目标临时对称密钥进行加密,得到各个用户标识对应的加密目标临时对称密钥,并计算所述各个用户标识对应的公钥哈希值;
所述第二终端将所述加密的回复文件、所述各个用户标识对应的加密目标临时对称密钥、所述目标共享文件对应的目标记录标识和所述各个用户标识对应的公钥哈希值发送所述服务器。
6.根据权利要求1所述的方法,其特征在于,在所述服务器获取第一终端发送的文件共享请求,所述文件共享请求携带有第一用户标识列表,所述第一终端与所述第一用户标识列表中的第一用户标识对应之前,还包括:
所述服务器接收所述第一终端发送的注册指令,所述注册指令携带第一账号和第一账号密码,根据所述注册指令生成第一用户标识,根据所述第一用户标识建立对应的第一公钥库、第一私钥备份数据库和第一临时密钥库;
所述服务器计算所述第一账号密码的哈希值,将所述第一用户标识和所述第一账号密码的哈希值关联写入预设验证数据库中并删除所述第一账号密码;
所述服务器向所述第一终端返回所述第一用户标识。
7.根据权利要求6所述的方法,其特征在于,在所述服务器向所述第一终端返回所述第一用户标识之后,还包括:
所述第一终端根据所述第一账号密码计算所述第一对称密钥并生成第一目标对称密钥;
所述第一终端生成第一公钥和对应的第一私钥,根据所述第一公钥计算对应的第一公钥哈希值,将所述第一公钥和所述第一公钥哈希值发送所述服务器,以使所述服务器将所述第一公钥和所述第一公钥哈希值关联写入所述预设第一公钥库中;
所述第一终端使用所述第一目标对称密钥加密所述第一私钥和所述第一公钥哈希值,将加密后的所述第一私钥和所述第一公钥哈希值关联写入预设第一私钥库中;
所述第一终端使用所述第一对称密钥加密所述第一目标对称密钥,将加密后的第一目标对称密钥保存,并将所述第一对称密钥删除。
8.根据权利要求6所述的方法,其特征在于,在当所述服务器向所述第一终端返回所述第一用户标识之后,还包括:
所述第一终端接收对所述第一账号密码的更新指令,根据所述更新指令获取更新后的第一账号密码和更新前的第一账号密码;
所述第一终端根据所述更新前的第一账号密码计算更新前的第一对称密钥并获取所述加密后的第一目标对称密钥,使用所述更新前的第一对称密钥解密所述加密后的第一目标对称密钥,得到第一目标对称密钥;
所述第一终端根据所述更新后的第一账号密码计算更新后的第一对称密钥,使用所述更新后的第一对称密钥加密所述第一目标对称密钥,将更新后加密的第一目标对称密钥保存。
9.根据权利要求6所述的方法,其特征在于,在当所述服务器向所述第一终端返回所述第一用户标识之后,还包括:
所述第一终端接收对所述第一目标对称密钥的更新指令,根据所述更新指令获取所述第一账号密码并生成更新后的第一目标对称密钥;
所述第一终端根据所述第一账号密码计算所述第一对称密钥,并获取更新前加密的第一目标对称密钥,使用所述第一对称密钥解密所述更新前加密的第一目标对称密钥,得到更新前的第一目标对称密钥;
所述第一终端使用所述更新前的第一目标对称密钥解密所述预设第一私钥库,并使用所述更新后的第一目标对称密钥加密所述预设第一私钥库,并将所述更新前的第一目标对称密钥删除;
所述第一终端使用所述第一对称密钥对所述更新后的第一目标对称密钥加密,将更新后加密的第一目标对称密钥保存,并将所述第一对称密钥删除。
10.根据权利要求6所述的方法,其特征在于,在所述服务器向所述第一终端返回所述第一用户标识之后,还包括:
所述服务器接收所述第一终端发送的登录指令,所述登录指令携带第一用户标识和第一账号密码;
所述服务器计算所述第一账号密码的哈希值,在所述预设验证数据库查找所述第一用户标识,当在所述预设验证数据库查找到所述第一用户标识时,获取第一用户标识对应的哈希值;
当所述服务器验证所述第一账号密码的哈希值与所述第一用户标识对应的哈希值一致时,向所述第一终端返回登录成功的提示。
11.根据权利要求10所述的方法,其特征在于,在当所述服务器验证所述第一账号密码的哈希值与所述第一用户标识对应的哈希值一致时,向所述第一终端返回登录成功的提示之后,还包括:
所述第一终端向所述服务器发送第一私钥库备份请求,接收所述服务器返回的确认请求信息;
所述第一终端根据所述确认请求信息获取预设第一私钥库中的记录信息;
所述第一终端计算所述记录信息的哈希值,并根据所述私钥记录标识将所述记录信息发送所述服务器;
所述第一终端获取所述服务器返回的哈希值,当所述服务器返回的哈希值与所述记录信息的哈希值一致时,所述记录信息备份完成。
12.根据权利要求10所述的方法,其特征在于,所述当所述服务器验证所述第一账号密码的哈希值与所述第一用户标识对应的哈希值一致时,向所述第一终端返回登录成功的提示之后,还包括:
所述第一终端获取子用户账号密码和子用户标识,根据所述子用户账号密码生成子用户对称密钥;
所述第一终端向所述服务器发送子用户创建请求,所述子用户创建请求携带所述第一用户标识、所述子用户标识和所述子用户账号密码,以使所述服务器验证所述子用户标识通过时,计算所述子用户账号密码的哈希值,并将所述第一用户标识、所述子用户标识和所述子用户账号密码的哈希值关联写入所述预设验证数据库中;
所述第一终端接收所述服务器返回的创建成功提示,根据所述创建成功提示生成所述子用户目标对称密钥,使用所述子用户对称密钥加密所述子用户目标对称密钥,得到加密后的子用户目标对称密钥,将所述加密后的子用户目标对称密钥发送所述服务器。
13.一种文件共享装置,其特征在于,所述装置包括:
共享请求获取模块,用于服务器获取第一终端发送的文件共享请求,所述文件共享请求携带有第一用户标识列表,所述第一终端与所述第一用户标识列表中的第一用户标识对应;
公钥获取模块,用于所述服务器根据所述文件共享请求获取所述第一用户标识列表中各个用户标识对应的公钥,将所述第一用户标识列表中各个用户标识和所述各个用户标识对应的公钥关联返回所述第一终端;
文件获取模块,用于所述服务器获取所述第一终端使用临时对称密钥加密的共享文件、使用所述各个用户标识对应的公钥加密的所述临时对称密钥和所述各个用户标识对应的公钥哈希值;
文件存储模块,用于所述服务器生成所述加密的共享文件对应的记录标识,将所述加密的共享文件与所述记录标识关联写入预设共享文件数据库中;
临时密钥存储模块,用于所述服务器使用所述各个用户标识对应的公钥加密所述记录标识并获取当前时间点,将所述当前时间点、所述用户标识对应的所述加密的所述临时对称密钥、所述用户标识对应的公钥的哈希值和所述加密的记录标识关联写入所述用户标识对应的预设临时密钥库中。
14.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至12中任一项所述方法的步骤。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至12中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811179253.4A CN109471844B (zh) | 2018-10-10 | 2018-10-10 | 文件共享方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811179253.4A CN109471844B (zh) | 2018-10-10 | 2018-10-10 | 文件共享方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109471844A true CN109471844A (zh) | 2019-03-15 |
CN109471844B CN109471844B (zh) | 2022-02-18 |
Family
ID=65663374
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811179253.4A Active CN109471844B (zh) | 2018-10-10 | 2018-10-10 | 文件共享方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109471844B (zh) |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110008727A (zh) * | 2019-04-10 | 2019-07-12 | 鼎信信息科技有限责任公司 | 加密敏感参数的处理方法、装置、计算机设备和存储介质 |
CN110378133A (zh) * | 2019-06-28 | 2019-10-25 | 深圳市元征科技股份有限公司 | 一种文件保护方法、装置、电子设备及存储介质 |
TWI687839B (zh) * | 2019-07-15 | 2020-03-11 | 天逸財金科技服務股份有限公司 | 公開文件限定閱覽方法及其系統 |
CN110888853A (zh) * | 2019-11-26 | 2020-03-17 | 廊坊新奥燃气有限公司 | 资料管理系统及方法 |
CN111049726A (zh) * | 2019-11-13 | 2020-04-21 | 北京达佳互联信息技术有限公司 | 文件分享方法、装置、系统、客户端、服务器及存储介质 |
CN111062045A (zh) * | 2019-12-17 | 2020-04-24 | 北京推想科技有限公司 | 信息加密、解密方法和装置、电子设备及存储介质 |
CN111740986A (zh) * | 2020-06-19 | 2020-10-02 | 公安部第三研究所 | 基于标识密码技术的实现数据共享控制的系统及其方法 |
CN111783044A (zh) * | 2019-10-25 | 2020-10-16 | 北京沃东天骏信息技术有限公司 | 一种共享登录态的方法和装置 |
CN111835512A (zh) * | 2020-07-13 | 2020-10-27 | 杭州时戳信息科技有限公司 | 私钥碎片管理方法、签名碎片生成方法、系统与节点设备 |
CN111884805A (zh) * | 2020-06-24 | 2020-11-03 | 易联众信息技术股份有限公司 | 基于区块链及分布式身份的数据托管方法及系统 |
US20200380143A1 (en) * | 2019-05-31 | 2020-12-03 | Apple Inc. | Providing user information in association with messaging |
CN112069263A (zh) * | 2020-09-09 | 2020-12-11 | 上海万向区块链股份公司 | 基于区块链的流程数据审核方法、系统及介质 |
CN112182600A (zh) * | 2020-09-18 | 2021-01-05 | 北京云钥网络科技有限公司 | 数据加密方法、数据解密方法及电子设备 |
CN112261038A (zh) * | 2020-10-20 | 2021-01-22 | 苏州莱锦机电自动化有限公司 | 大数据采集方法、系统、计算机设备及其存储介质 |
CN112735566A (zh) * | 2020-12-28 | 2021-04-30 | 武汉联影医疗科技有限公司 | 医学影像的管理方法、装置、计算机设备和存储介质 |
CN113922974A (zh) * | 2020-06-22 | 2022-01-11 | 中移(苏州)软件技术有限公司 | 一种信息处理方法及系统、前端、服务端、存储介质 |
TWI780792B (zh) * | 2021-05-12 | 2022-10-11 | 明基電通股份有限公司 | 資料分享方法以及資料分享系統 |
CN115238320A (zh) * | 2022-09-26 | 2022-10-25 | 国网山东省电力公司五莲县供电公司 | 一种电力数据存储管理方法 |
CN115277053A (zh) * | 2022-06-08 | 2022-11-01 | 深圳蜂鸟创新科技服务有限公司 | 基于SaaS和Pass平台的数据处理方法及系统 |
CN115378930A (zh) * | 2021-05-17 | 2022-11-22 | 成都鼎桥通信技术有限公司 | 文件分发方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103685162A (zh) * | 2012-09-05 | 2014-03-26 | 中国移动通信集团公司 | 文件存储和共享方法 |
CN106254324A (zh) * | 2016-07-26 | 2016-12-21 | 杭州文签网络技术有限公司 | 一种存储文件的加密方法及装置 |
CN106453612A (zh) * | 2016-11-10 | 2017-02-22 | 华中科技大学 | 一种数据存储与共享系统 |
US20180159833A1 (en) * | 2015-05-13 | 2018-06-07 | Alibaba Group Holding Limited | Method and apparatus for securing communications using multiple encryption keys |
CN108471404A (zh) * | 2018-02-28 | 2018-08-31 | 深圳市达仁基因科技有限公司 | 文件共享方法、装置、计算机设备和存储介质 |
-
2018
- 2018-10-10 CN CN201811179253.4A patent/CN109471844B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103685162A (zh) * | 2012-09-05 | 2014-03-26 | 中国移动通信集团公司 | 文件存储和共享方法 |
US20180159833A1 (en) * | 2015-05-13 | 2018-06-07 | Alibaba Group Holding Limited | Method and apparatus for securing communications using multiple encryption keys |
CN106254324A (zh) * | 2016-07-26 | 2016-12-21 | 杭州文签网络技术有限公司 | 一种存储文件的加密方法及装置 |
CN106453612A (zh) * | 2016-11-10 | 2017-02-22 | 华中科技大学 | 一种数据存储与共享系统 |
CN108471404A (zh) * | 2018-02-28 | 2018-08-31 | 深圳市达仁基因科技有限公司 | 文件共享方法、装置、计算机设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
王中华等: ""云环境下多用户文件共享方案"", 《计算机软件及计算机应用》 * |
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110008727A (zh) * | 2019-04-10 | 2019-07-12 | 鼎信信息科技有限责任公司 | 加密敏感参数的处理方法、装置、计算机设备和存储介质 |
CN110008727B (zh) * | 2019-04-10 | 2020-07-21 | 南方电网数字电网研究院有限公司 | 加密敏感参数的处理方法、装置、计算机设备和存储介质 |
US20200380143A1 (en) * | 2019-05-31 | 2020-12-03 | Apple Inc. | Providing user information in association with messaging |
CN110378133A (zh) * | 2019-06-28 | 2019-10-25 | 深圳市元征科技股份有限公司 | 一种文件保护方法、装置、电子设备及存储介质 |
TWI687839B (zh) * | 2019-07-15 | 2020-03-11 | 天逸財金科技服務股份有限公司 | 公開文件限定閱覽方法及其系統 |
CN111783044A (zh) * | 2019-10-25 | 2020-10-16 | 北京沃东天骏信息技术有限公司 | 一种共享登录态的方法和装置 |
CN111783044B (zh) * | 2019-10-25 | 2024-03-01 | 北京沃东天骏信息技术有限公司 | 一种共享登录态的方法和装置 |
CN111049726A (zh) * | 2019-11-13 | 2020-04-21 | 北京达佳互联信息技术有限公司 | 文件分享方法、装置、系统、客户端、服务器及存储介质 |
CN110888853A (zh) * | 2019-11-26 | 2020-03-17 | 廊坊新奥燃气有限公司 | 资料管理系统及方法 |
CN111062045A (zh) * | 2019-12-17 | 2020-04-24 | 北京推想科技有限公司 | 信息加密、解密方法和装置、电子设备及存储介质 |
CN111740986A (zh) * | 2020-06-19 | 2020-10-02 | 公安部第三研究所 | 基于标识密码技术的实现数据共享控制的系统及其方法 |
CN111740986B (zh) * | 2020-06-19 | 2022-07-19 | 公安部第三研究所 | 基于标识密码技术的实现数据共享控制的系统及其方法 |
CN113922974B (zh) * | 2020-06-22 | 2024-04-09 | 中移(苏州)软件技术有限公司 | 一种信息处理方法及系统、前端、服务端、存储介质 |
CN113922974A (zh) * | 2020-06-22 | 2022-01-11 | 中移(苏州)软件技术有限公司 | 一种信息处理方法及系统、前端、服务端、存储介质 |
CN111884805A (zh) * | 2020-06-24 | 2020-11-03 | 易联众信息技术股份有限公司 | 基于区块链及分布式身份的数据托管方法及系统 |
CN111884805B (zh) * | 2020-06-24 | 2023-08-01 | 易联众信息技术股份有限公司 | 基于区块链及分布式身份的数据托管方法及系统 |
CN111835512B (zh) * | 2020-07-13 | 2023-01-31 | 杭州时戳信息科技有限公司 | 私钥碎片管理方法、签名碎片生成方法、系统与节点设备 |
CN111835512A (zh) * | 2020-07-13 | 2020-10-27 | 杭州时戳信息科技有限公司 | 私钥碎片管理方法、签名碎片生成方法、系统与节点设备 |
CN112069263A (zh) * | 2020-09-09 | 2020-12-11 | 上海万向区块链股份公司 | 基于区块链的流程数据审核方法、系统及介质 |
CN112069263B (zh) * | 2020-09-09 | 2023-08-25 | 上海万向区块链股份公司 | 基于区块链的流程数据审核方法、系统及介质 |
CN112182600A (zh) * | 2020-09-18 | 2021-01-05 | 北京云钥网络科技有限公司 | 数据加密方法、数据解密方法及电子设备 |
CN112261038A (zh) * | 2020-10-20 | 2021-01-22 | 苏州莱锦机电自动化有限公司 | 大数据采集方法、系统、计算机设备及其存储介质 |
CN112735566B (zh) * | 2020-12-28 | 2023-05-30 | 武汉联影医疗科技有限公司 | 医学影像的管理方法、装置、计算机设备和存储介质 |
CN112735566A (zh) * | 2020-12-28 | 2021-04-30 | 武汉联影医疗科技有限公司 | 医学影像的管理方法、装置、计算机设备和存储介质 |
US11848971B2 (en) | 2021-05-12 | 2023-12-19 | Benq Corporation | Data sharing method and data sharing system capable of providing various group calling modes |
TWI780792B (zh) * | 2021-05-12 | 2022-10-11 | 明基電通股份有限公司 | 資料分享方法以及資料分享系統 |
CN115378930A (zh) * | 2021-05-17 | 2022-11-22 | 成都鼎桥通信技术有限公司 | 文件分发方法及装置 |
CN115277053A (zh) * | 2022-06-08 | 2022-11-01 | 深圳蜂鸟创新科技服务有限公司 | 基于SaaS和Pass平台的数据处理方法及系统 |
CN115277053B (zh) * | 2022-06-08 | 2024-04-23 | 深圳蜂鸟创新科技服务有限公司 | 基于SaaS和Pass平台的数据处理方法及系统 |
CN115238320A (zh) * | 2022-09-26 | 2022-10-25 | 国网山东省电力公司五莲县供电公司 | 一种电力数据存储管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109471844B (zh) | 2022-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109471844A (zh) | 文件共享方法、装置、计算机设备和存储介质 | |
CN111935080B (zh) | 区块链的数据共享方法、装置、计算机设备和存储介质 | |
CN106304074B (zh) | 面向移动用户的身份验证方法和系统 | |
CN106664202B (zh) | 提供多个设备上的加密的方法、系统和计算机可读介质 | |
CN108965416B (zh) | 医疗数据共享方法、装置、计算机设备和存储介质 | |
CN111191286A (zh) | Hyperledger Fabric区块链隐私数据存储与访问系统及其方法 | |
CN102484638B (zh) | 经由多个中间客户端在线递送的身份数据的分层保护和验证 | |
CN106452770B (zh) | 一种数据加密方法、解密方法、装置和系统 | |
CN107959567A (zh) | 数据存储方法、数据获取方法、装置及系统 | |
US8495383B2 (en) | Method for the secure storing of program state data in an electronic device | |
KR101985179B1 (ko) | 블록체인 기반의 ID as a Service | |
KR101982237B1 (ko) | 클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 방법 및 시스템 | |
US20090138708A1 (en) | Cryptographic module distribution system, apparatus, and program | |
CN113691502B (zh) | 通信方法、装置、网关服务器、客户端及存储介质 | |
CN108270739B (zh) | 一种管理加密信息的方法及装置 | |
CN113572743B (zh) | 数据加密、解密方法、装置、计算机设备和存储介质 | |
CN109617677A (zh) | 基于对称加密的秘钥丢失找回方法及相关设备 | |
CN110135175A (zh) | 基于区块链的信息处理、获取方法、装置、设备及介质 | |
CN116662941B (zh) | 信息加密方法、装置、计算机设备和存储介质 | |
CN109246130A (zh) | 数据加密方法、装置、计算机设备及存储介质 | |
CN111917711B (zh) | 数据访问方法、装置、计算机设备和存储介质 | |
CN114629713A (zh) | 身份验证方法、装置及系统 | |
CN110445757A (zh) | 人事信息加密方法、装置、计算机设备和存储介质 | |
CN105187379A (zh) | 基于多方互不信任的密码拆分管理方法 | |
CN116233847A (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 |