CN115941328A - 一种可分享的用户数据的加密处理方法、装置及系统 - Google Patents

一种可分享的用户数据的加密处理方法、装置及系统 Download PDF

Info

Publication number
CN115941328A
CN115941328A CN202211572562.4A CN202211572562A CN115941328A CN 115941328 A CN115941328 A CN 115941328A CN 202211572562 A CN202211572562 A CN 202211572562A CN 115941328 A CN115941328 A CN 115941328A
Authority
CN
China
Prior art keywords
user
data
private key
key
cloud server
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
CN202211572562.4A
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.)
Guangdong Power Grid Co Ltd
Electric Power Research Institute of Guangdong Power Grid Co Ltd
Original Assignee
Guangdong Power Grid Co Ltd
Electric Power Research Institute of Guangdong Power Grid 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 Guangdong Power Grid Co Ltd, Electric Power Research Institute of Guangdong Power Grid Co Ltd filed Critical Guangdong Power Grid Co Ltd
Priority to CN202211572562.4A priority Critical patent/CN115941328A/zh
Publication of CN115941328A publication Critical patent/CN115941328A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开了一种可分享的用户数据的加密处理方法及装置,所述方法包括:利用用户输入的第一密语数据编辑生成公私钥对,公私钥对与用户身份信息和CA证书签名进行绑定;当获取用户上传的文件数据并对文件数据完成校验时,采用公钥生成加密密钥,利用加密密钥加密文件数据生成加密数据,并将加密数据和私钥对应的签名传输至云服务端保存;在用户调用文件数据时,获取云服务端发送的加密数据,并采用私钥对加密数据进行解密使用。本发明根据用户的密语生成公钥和私钥,利用公钥对文件进行加密并发送到云服务端保存,在调用时再从云服务端采集数据并使用私钥解密供用户使用,能降低被窃取盗用的风险,保证用户数据的安全性。

Description

一种可分享的用户数据的加密处理方法、装置及系统
背景技术
目前随着互联网的发展,社会逐渐进入信息化时代,各种类型的数据和文件的数量不断产生更新,传统的存储模式如直接存储(即在用户本机上存储)已经无法满足海量信息存储的要求。为了方便用户存储数据,开发了云存储,通过云服务端帮助用户存储、管理和分享文件等操作。
目前广为使用的云盘系统中,用户的数据在云服务端大多是以明文的形式进行存储的,若云服务端有需求,可以直接访问用户所有的文件信息,故用户数据的隐私保护完全基于服务端的可信程度,而服务端未必是可信赖。为了避免上述情况,目前云服务端主要的解决方案为:除基本的明文模式外,云服务端提供额外的加密模式,即由于云服务端生成密钥为用户的数据进行加密,密钥只有授权的云服务端的管理者才有。
但上述方式有如下技术问题:部分授权者仍可以通过密钥解密还原出原始数据信息,用户数据仍可能被窃取盗用,存在安全漏洞。
发明内容
本发明提出一种可分享的用户数据的加密处理方法、装置及系统,所述方法使用的客户端可以在用户注册时根据用户的密语生成公钥和私钥,当用户上传文件时利用用户的公钥生成加密密钥,并通过加密密钥对文件进行加密并发送到云服务端保存,在用户调用数据时再从云服务端采集数据并使用私钥解密供用户使用,整个数据处理流程仅用户能调用数据,云服务端无法通过密钥还原数据仅进行数据存储,以降低被窃取盗用的风险,提升数据的安全性。
本发明实施例的第一方面提供了一种可分享的用户数据的加密处理方法,所述方法适用于与云服务端通信的第一客户端,所述方法包括:
在用户完成注册时,利用用户输入的第一密语数据编辑生成公私钥对,所述公私钥对与用户身份信息和CA证书签名进行绑定,所述公私钥对包括:第一公钥和第一私钥,其中,所述第一公钥公开,所述第一私钥保存在本地内存中;
当获取用户上传的文件数据并对所述文件数据完成校验时,采用所述第一公钥生成加密密钥,利用所述加密密钥加密所述文件数据生成加密数据,并将所述加密数据和所述第一私钥对应的签名传输至所述云服务端,以使所述云服务端保存所述加密数据;
在用户调用所述文件数据时,获取所述云服务端发送的加密数据,待所述加密数据完成校验后,采用所述第一私钥对所述加密数据进行解密。
在第一方面的一种可能的实现方式中,所述采用所述第一公钥生成加密密钥,利用所述加密密钥对所述文件数据进行加密生成加密数据,包括:
从预设的素数域内随机选取两个素数,并对所述两个素数进行指数运算得到加密参数;
利用所述加密参数和所述第一公钥生成加密密钥,并采用所述加密密钥对所述文件数据进行对称加密,得到加密数据。
在第一方面的一种可能的实现方式中,所述获取所述云服务端发送的加密数据,待所述加密数据完成校验后,采用所述第一私钥对所述加密数据进行解密,包括:
向所述云服务端发送获取请求,以使所述云服务端根据所述获取请求调用token验证函数从数据库中读取文件以及所述第一私钥对应的签名并发送给所述第一客户端;
基于所述第一私钥对应的签名,确定本地内存中是否存有所述第一私钥;
若本地内存中存有所述第一私钥,则采用所述第一私钥对所述加密数据进行解密。
在第一方面的一种可能的实现方式中,在所述基于所述私钥对应的签名,确定本地内存中是否存有所述私钥的步骤后,所述方法还包括:
若本地内存中没有存有所述第一私钥,则获取用户输入的第二密语数据,并采用所述第二密语数据生成对应的第二私钥;
若所述第二私钥与所述第一私钥相同,则采用所述第二私钥对所述加密数据进行解密;
若所述第二私钥与所述第一私钥不相同,则通知用户重新输入。
在第一方面的一种可能的实现方式中,在所述将所述加密数据和所述第一私钥对应的签名传输至所述云服务端,以使所述云服务端保存所述加密数据的步骤后,所述方法还包括:
获取待分享的公钥信息,所述公钥信息包括多个第二公钥,每个所述第二公钥为用户所要分享的第二客户端对应的公钥;
通过多项式算法将所述第一私钥和多个所述第二公钥进行多重加密生成重加密密钥,并就所述重加密密钥发送至所述云服务端,以使所述云服务端采用重加密密钥对所述加密数据进行重加密,并将重加密后的加密数据存放在每个所述第二公钥对应的第二客户端的指定目录中,待每个所述第二客户端对重加密后的加密数据进行解密,得到所述第一客户端的文件数据。
在第一方面的一种可能的实现方式中,所述用户完成注册,包括:
获取用户输入的注册信息,所述注册信息包括:用户名和第一密语数据;
利用所述第一密语数据生成注册哈希值和注册公钥,并将所述用户名、注册哈希值和注册公钥发送给云服务端,当所述云服务端确定所述用户名和注册公钥均没有重复时,将所述注册哈希值存入预设的数据库,完成注册。
本发明实施例的第二方面提供了一种可分享的用户数据的加密处理装置,所述装置适用于与云服务端通信的第一客户端,所述装置包括:
编辑模块,用于在用户完成注册时,利用用户输入的第一密语数据编辑生成公私钥对,所述公私钥对与用户身份信息和CA证书签名进行绑定,所述公私钥对包括:第一公钥和第一私钥,其中,所述第一公钥公开,所述第一私钥保存在本地内存中;
加密模块,用于当获取用户上传的文件数据并对所述文件数据完成校验时,采用所述第一公钥生成加密密钥,利用所述加密密钥加密所述文件数据生成加密数据,并将所述加密数据和所述第一私钥对应的签名传输至所述云服务端,以使所述云服务端保存所述加密数据;
解密模块,用于在用户调用所述文件数据时,获取所述云服务端发送的加密数据,待所述加密数据完成校验后,采用所述第一私钥对所述加密数据进行解密。
本发明实施例的第三方面提供了一种可分享的用户数据的加密处理系统,所述系统包括:第一客户端、云服务端和多个第二客户端,所述第一客户端适用于如上述实施例所述的可分享的用户数据的加密处理方法;
所述第一客户端分别与所述云服务端和多个所述第二客户端通信连接,所述云服务端分别与多个所述第二客户端通信连接。
相比于现有技术,本发明实施例提供的一种可分享的用户数据的加密处理方法、装置及系统,其有益效果在于:本发明可以在用户注册时根据用户的密语生成公钥和私钥,当用户上传文件时利用用户的公钥生成加密密钥,并通过加密密钥对文件进行加密并发送到云服务端保存,在用户调用数据时再从云服务端采集数据并使用私钥解密供用户使用,整个数据处理流程仅用户能调用数据,云服务端无法通过密钥还原数据仅进行数据存储,以降低被窃取盗用的风险,能有效保证了用户数据的安全性和数据秘密分享的便捷性。
附图说明
图1是本发明一实施例提供的一种可分享的用户数据的加密处理方法的流程示意图;
图2是本发明一实施例提供的用户注册的操作流程图;
图3是本发明一实施例提供的用户上传文件数据的操作流程图;
图4是本发明一实施例提供的用户下载文件的操作流程图;
图5是本发明一实施例提供的用户分享文件的操作流程图;
图6是本发明一实施例提供的一种可分享的用户数据的加密处理装置的结构示意图;
图7是本发明一实施例提供的一种可分享的用户数据的加密处理系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前随着互联网的发展,社会逐渐进入信息化时代,各种类型的数据和文件的数量不断产生更新,传统的存储模式如直接存储(即在用户本机上存储)已经无法满足海量信息存储的要求。为了方便用户存储数据,开发了云存储,通过云服务端帮助用户存储、管理和分享文件等操作。
目前广为使用的云盘系统中,用户的数据在云服务端大多是以明文的形式进行存储的,若云服务端有需求,可以直接访问用户所有的文件信息,故用户数据的隐私保护完全基于服务端的可信程度,而服务端未必是可信赖。为了避免上述情况,目前云服务端主要的解决方案为:除基本的明文模式外,云服务端提供额外的加密模式,即由于云服务端生成密钥为用户的数据进行加密,密钥只有授权的云服务端的管理者才有。
但上述方式有如下技术问题:部分授权者仍可以通过密钥解密还原出原始数据信息,用户数据仍可能被窃取盗用,存在安全漏洞。
为了解决上述问题,下面将通过以下具体的实施例对本申请实施例提供的一种可分享的用户数据的加密处理方法进行详细介绍和说明。
参照图1,示出了本发明一实施例提供的一种可分享的用户数据的加密处理方法的流程示意图。
在一实施例中,所述方法适用于第一客户端,所述第一客户端可以与多台第二客户端通信连接,也可以与云服务端连接,云服务端也可以分别与多台第二客户端通信连接。
需要说明的是,第一客户端与第二客户端可以是相同的智能终端,如电脑。
其中,作为示例的,所述可分享的用户数据的加密处理方法,可以包括:
S11、在用户完成注册时,利用用户输入的第一密语数据编辑生成公私钥对,所述公私钥对与用户身份信息和CA证书签名进行绑定,所述公私钥对包括:第一公钥和第一私钥,其中,所述第一公钥公开,所述第一私钥保存在本地内存中。
在一实施例中,用户可以预先在客户端注册个人账户,当完成注册后,可以在第一客户端输入其第一密语数据,该第一密语数据可以是用户牢记的密语phrase。第一客户端可以根据第一密语数据生成一对公私钥对,该公私钥对可以包括第一公钥和第一私钥。
第一客户端可能有多个用户,为了能让每对公私钥对与用户一一对应,可以将公私钥与用户身份信息和CA证书签名进行绑定。其中,用户身份信息可以是用户的ID或者身份证,CA证书签名可以是第一客户端的证书签发机构CA(Certificate Authority)用CA的第一私钥对证书内容的签名。
为了方便进行加密和解密,第一公钥可以公开,供用户使用;第一私钥保存在第一客户端的本地内存中。
在一实施例中,由于每个用户的公私钥对可能相同,可能不同,若相同,则说明其加密与解密的公私钥对也相同,在解密时可能造成混乱,使得A用户能解密B用户的数据,为了能避免上述情况,其中,作为示例的,步骤S11可以包括以下子步骤:
S111、获取用户输入的注册信息,所述注册信息包括:用户名和第一密语数据。
S112、利用所述第一密语数据生成注册哈希值和注册公钥,并将所述用户名、注册哈希值和注册公钥发送给云服务端,当所述云服务端确定所述用户名和注册公钥均没有重复时,将所述注册哈希值存入预设的数据库,完成注册。
用户注册时,第一客户端可以进行初始化,在此阶段,第一客户端可以随机产生一个大素数p(512bit),形成一个素数域Zp,并选出g∈Zp作为素数域的生成元。并将p和g作为公共因子,同时还有三个哈希函数,Hi,i=1,2,3,用于校验。
在用户注册时,用户可以输入自己牢记的密语phrase,并利用密语phrase生成公私钥对,将phrase的哈希作为用户的私钥,即:私钥sk=sha256(phrase)%p,公钥pk=gsk
这样可以避免让用户记忆长度很大的私钥而导致使用不便捷或密钥丢失。如用户A自己设置的密语为I_l0veBeijing,则在客户端生成私钥sk=sha256(I_l0veBeijing)%p,对应的公钥为pkA=gsk A,客户端将私钥skA保存在本地,公开公钥pkA
接着,用户可以注册针对所生成公钥的证书,将自己的身份与公钥进行绑定,将证书、公钥以及自己在系统中的口令传送给第一客户端,第一客户端再对其进行认证。
参照图2,示出了本发明一实施例提供的用户注册的操作流程图。
具体地,用户可以输入账户名,账户密码,账户昵称和密语数据等注册信息,第一客户端可以基于上述注册信息生成对应的哈希值、公钥和私钥,然后第一客户端可以将账户名,账户密码,账户昵称和密语数据等注册信息发送给云服务端,云服务端可以判断是否存有相同的账户名、公钥或私钥,若有,则说明当前注册的用户可能与在先注册的用户的信息相同,可以向当前注册的用户反馈提示信息,提示用户重新账户名,账户密码,账户昵称和密语数据等注册信息。若云服务端判断没有存有相同的账户名、公钥或私钥,说明可以注册,可以将哈希值再哈希,并存储各项数据,同时可以通知第一客户端,使得第一客户端跳转当前页面,以通知用户注册成功。
具体如图2所示。针对证书和公钥的认证方式如现有的证书系统签名验证方式相同,如RSA、ECC签名体制等。
S12、当获取用户上传的文件数据并对所述文件数据完成校验时,采用所述第一公钥生成加密密钥,利用所述加密密钥加密所述文件数据生成加密数据,并将所述加密数据和所述第一私钥对应的签名传输至所述云服务端,以使所述云服务端保存所述加密数据。
当用户完成注册后,用户可以随时在第一客户端上传其文件数据。为了保证对用户文件来源的认证和完整性,第一客户端可以对其文件数据进行完整性校验,该完整性校验可以是用户向第一客户端发送加密后的文件以及对其哈希值的签名,第一客户端使用该用户的公钥还原签名内容,通过验证其是否与密文文件的哈希值相同,若相同则确认文件发送者的身份无误,并由此实现了对文件完整性的校验。
通过校验通过后,才返回上传成功的上传结果,反之,若校验不通过,可以返回上传失败的结果给用户。
接着,第一客户端可以采用用户的第一公钥生成加密密钥,并通过加密密钥对文件数据进行加密,得到加密数据。接着,可以将加密数据和第一私钥对应的签名传输至云服务端,让云服务端保存加密数据。
参照图3,示出了本发明一实施例提供的用户上传文件数据的操作流程图。
具体地,用户上传文件数据的操作具体如下:
用户可以先选择所要上传的文件和目的目录,然后上传给第一客户端;第一客户端可以解析用户上传的文件,然后确定是否存有用户的公钥,若存有,则可以直接利用用户的公钥对文件进行加密并传输给云服务端;若没有存储用户的公钥,则可以让用户注册并获取用户输入的密语生成用户对应的公钥,然后根据用户的公钥对文件进行加密并传输给云服务端。
在一可选的实施例中,步骤S12可以包括以下子步骤:
S121、从预设的素数域内随机选取两个素数,并对所述两个素数进行指数运算得到加密参数。
S122、利用所述加密参数和所述第一公钥生成加密密钥,并采用所述加密密钥对所述文件数据进行对称加密,得到加密数据。
在一实现方式中,加密的操作如下:用户输入的文件信息可以为明文M,用户A的公钥pkA,输出为密文C。
具体加密算法如下:
Figure BDA0003988695920000091
其中e,v是在每次加密随机生成的数,具体可以是从素数域Zp中随机选取的两个素数,其目的是为了防止确定性加密导致的选择明文攻击。
可以将e,v作为指数运算,得到E,V作为解密必备参数,携密文C一起作为真正密文CC,然后用用户的私钥将其哈希值进行签名。最后将加密后的数据与签名一并发送给云服务端,供云服务端存储。
由于云服务端仅负责存储功能,云服务端的技术人员无法对其进行编辑或者其它操作,而且上传至云服务端的数据也是经过加密的数据,云服务端的技术人员也无法解密,从而能避免数据泄露的情况,提升数据的安全性。
S13、在用户调用所述文件数据时,获取所述云服务端发送的加密数据,待所述加密数据完成校验后,采用所述第一私钥对所述加密数据进行解密。
当用户需要调用数据时,第一客户端可以向云服务端发送请求,让云服务端向第一客户端发送加密数据,然后第一客户端可以根据本地存储的用户对应的第一私钥对加密数据进行解密,从而能让用户使用。
而第一客户端在接收加密数据后,也可以对加密数据进行校验。该校验也可以是完整性校验。
其校验方式可以是第一客户端将在云服务端上存储的密文和散列签名下载下来,具体可以是用户存储在云服务端的密文CC以及对应的原始签名,然后第一客户端可以根据该用户的公钥还原签名内容,通过验证还原签名内容与原始签名是否相同,若相同则通过校验,反之,则不通过。
参照图4,示出了本发明一实施例提供的用户下载文件的操作流程图。在其中一种的实施例中,步骤S13可以包括以下子步骤:
S131、向所述云服务端发送获取请求,以使所述云服务端根据所述获取请求调用token验证函数从数据库中读取文件以及所述第一私钥对应的签名并发送给所述第一客户端。
用户可以触发第一客户端生成获取请求,由第一客户端向云服务端发送获取请求,使得云服务端响应获取请求调用token验证函数查找数据库,然后从数据库中读取文件以及第一私钥对应的签名,将加密文件和签名发送给第一客户端。
S132、基于所述第一私钥对应的签名,确定本地内存中是否存有所述第一私钥。
具体地,可以利用签名进行校验,校验方式具体如前文的完整性校验。
S133、若本地内存中存有所述第一私钥,则采用所述第一私钥对所述加密数据进行解密。
具体地,算法的输入为密文CC和用户A的私钥skA,输出为明文M。
具体解密算法如下:
Figure BDA0003988695920000111
通过解密可以得到用户所需的文件数据。
S134、若本地内存中没有存有所述第一私钥,则获取用户输入的第二密语数据,并采用所述第二密语数据生成对应的第二私钥。
若本地内存中没有存有第一私钥,说明校验不通过,可以获取用户输入的第二密语数据,并采用第二密语数据生成对应的第二私钥,具体的生成方式如前文所述。
S135、若所述第二私钥与所述第一私钥相同,则采用所述第二私钥对所述加密数据进行解密。
S136、若所述第二私钥与所述第一私钥不相同,则通知用户重新输入。
若第二私钥与第一私钥相同,说明用户有权限调用数据,可以采用第二私钥对加密数据进行解密,供用户调用。若第二私钥与第一私钥不相同,则说明用户可能没有权限,可以通知用户重新输入,以确定用户的身份。
参照图5,示出了本发明一实施例提供的用户分享文件的操作流程图。
在实际操作时,虽然用户自己在客户端导入密钥,自行对文件进行加密,并将密文数据上传到云服务端,在需要访问文件时下载密文到本地,用自己的密钥进行解密。
但上述方式有如下技术问题:在本方案中,用户在不同的设备上使用时都需要手动导入较长的密钥,用户体验较差。此外,用户之间无法通过服务端共享文件,唯一共享的方式即是数据所有者(DO)自己分享密钥给数据使用者(DU),而这种情况必然会导致数据所有者(DO)在云盘上的其他文件都可以被数据使用者(DU)所解密,导致其数据可能被盗窃,仍然存在安全漏洞。
为了避免上述问题,在一实施例中,所述方法还可以包括:
S14、获取待分享的公钥信息,所述公钥信息包括多个第二公钥,每个所述第二公钥为用户所要分享的第二客户端对应的公钥。
S15、通过多项式算法将所述第一私钥和多个所述第二公钥进行多重加密生成重加密密钥,并就所述重加密密钥发送至所述云服务端,以使所述云服务端采用重加密密钥对所述加密数据进行重加密,并将重加密后的加密数据存放在每个所述第二公钥对应的第二客户端的指定目录中,待每个所述第二客户端对重加密后的加密数据进行解密,得到所述第一客户端的文件数据。
具体地,在用户A将自己的数据分享给用户组B的过程中,可以先生成重加密密钥,再进行重加密,最后解密。
具体如图4所示,流程具体如下:
假设用户A准备一次性分享数据给多个用户B={B1,B2,…,Bn},算法的输入为用户A的私钥skA和B中每个用户的公钥
Figure BDA0003988695920000121
可以获取多个用户的公钥。然后将用户A的私钥skA和B中每个用户的公钥
Figure BDA0003988695920000122
进行多重加密生成重加密密钥。
具体重加密密钥的生成算法如下:
Figure BDA0003988695920000123
    
Figure BDA0003988695920000131
其中,可以采用多项式f保证每个用户Bi能根据自己的私钥输入多项式f时,得到的结果相同。在生成重加密密钥后,用户A将重加密密钥rk和多项式f的编码fenc发送给云服务端,云服务端由于没有用户A和用户Bi的私钥,无法获取d(d为重加密密钥生成算法中的中间变量,将中间变量与重加密密钥rk相乘可得用户A的私钥sk_A),从而保证了用户A在云服务端的私钥的安全性。
接着,云服务端在收到重加密密钥和多项式编码后,将用户A指定文件CC用rk进行重加密。具体重加密算法如下:
Figure BDA0003988695920000132
其将重加密后的密文CC′存储在每个Bi的指定目录下。
最后,对于用户Bi,其在云服务端下载被分享的密文文件CC′和多项式编码fenc时,根据自己的私钥skBi执行分享解密算法即可获取被分享的文件的原数据。具体分享解密算法如下:
Figure BDA0003988695920000141
分享解密算法的正确性容易验证。至此,完成了用户Bi对用户A通过服务端分享的文件的接受和校验。
通过上述方式,可以让用户在客户端上传加密的文件,并在使用文件时,可用用户自己的密钥将密文文件解密,在分享文件给指定用户DU时,可令服务端在不了解用户的密钥以及该文件的原始明文的基础上,进行代理重加密,即令该密文文件转化成可以被DU的密钥解密的密文,避免文件泄露并安全实现多人共享。
在本实施例中,本发明实施例提供了一种可分享的用户数据的加密处理方法,其有益效果在于:本发明可以在用户注册时根据用户的密语生成公钥和私钥,当用户上传文件时利用用户的公钥生成加密密钥,并通过加密密钥对文件进行加密并发送到云服务端保存,在用户调用数据时再从云服务端采集数据并使用私钥解密供用户使用,整个数据处理流程仅用户能调用数据,云服务端无法通过密钥还原数据仅进行数据存储,以降低被窃取盗用的风险,能有效保证了用户数据的安全性和数据秘密分享的便捷性。
本发明实施例还提供了一种可分享的用户数据的加密处理装置,参见图6,示出了本发明一实施例提供的一种可分享的用户数据的加密处理装置的结构示意图。
所述装置适用于与云服务端通信的第一客户端。
其中,作为示例的,所述可分享的用户数据的加密处理装置可以包括:
编辑模块601,用于在用户完成注册时,利用用户输入的第一密语数据编辑生成公私钥对,所述公私钥对与用户身份信息和CA证书签名进行绑定,所述公私钥对包括:第一公钥和第一私钥,其中,所述第一公钥公开,所述第一私钥保存在本地内存中;
加密模块602,用于当获取用户上传的文件数据并对所述文件数据完成校验时,采用所述第一公钥生成加密密钥,利用所述加密密钥加密所述文件数据生成加密数据,并将所述加密数据和所述第一私钥对应的签名传输至所述云服务端,以使所述云服务端保存所述加密数据;
解密模块603,用于在用户调用所述文件数据时,获取所述云服务端发送的加密数据,待所述加密数据完成校验后,采用所述第一私钥对所述加密数据进行解密。
可选地,所述加密模块,还用于:
从预设的素数域内随机选取两个素数,并对所述两个素数进行指数运算得到加密参数;
利用所述加密参数和所述第一公钥生成加密密钥,并采用所述加密密钥对所述文件数据进行对称加密,得到加密数据。
可选地,所述解密模块,还用于:
向所述云服务端发送获取请求,以使所述云服务端根据所述获取请求调用token验证函数从数据库中读取文件以及所述第一私钥对应的签名并发送给所述第一客户端;
基于所述第一私钥对应的签名,确定本地内存中是否存有所述第一私钥;
若本地内存中存有所述第一私钥,则采用所述第一私钥对所述加密数据进行解密。
可选地,所述解密模块,还用于:
若本地内存中没有存有所述第一私钥,则获取用户输入的第二密语数据,并采用所述第二密语数据生成对应的第二私钥;
若所述第二私钥与所述第一私钥相同,则采用所述第二私钥对所述加密数据进行解密;
若所述第二私钥与所述第一私钥不相同,则通知用户重新输入。
可选地,在所述将所述加密数据和所述第一私钥对应的签名传输至所述云服务端,以使所述云服务端保存所述加密数据的步骤后,所述装置还包括:
获取公钥信息模块,用于获取待分享的公钥信息,所述公钥信息包括多个第二公钥,每个所述第二公钥为用户所要分享的第二客户端对应的公钥;
多重加密模块,用于通过多项式算法将所述第一私钥和多个所述第二公钥进行多重加密生成重加密密钥,并就所述重加密密钥发送至所述云服务端,以使所述云服务端采用重加密密钥对所述加密数据进行重加密,并将重加密后的加密数据存放在每个所述第二公钥对应的第二客户端的指定目录中,待每个所述第二客户端对重加密后的加密数据进行解密,得到所述第一客户端的文件数据。
可选地,所述编辑模块,还用于:
获取用户输入的注册信息,所述注册信息包括:用户名和第一密语数据;
利用所述第一密语数据生成注册哈希值和注册公钥,并将所述用户名、注册哈希值和注册公钥发送给云服务端,当所述云服务端确定所述用户名和注册公钥均没有重复时,将所述注册哈希值存入预设的数据库,完成注册。
本发明实施例还提供了一种可分享的用户数据的加密处理系统,参见图7,示出了本发明一实施例提供的一种可分享的用户数据的加密处理系统的结构示意图。
其中,作为示例的,所述可分享的用户数据的加密处理系统可以包括:
第一客户端、云服务端和多个第二客户端,所述第一客户端适用于如上述实施例所述的可分享的用户数据的加密处理方法;
所述第一客户端分别与所述云服务端和多个所述第二客户端通信连接,所述云服务端分别与多个所述第二客户端通信连接。
所属技术领域的技术人员可以清楚地了解到,为方便的描述和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
进一步的,本申请实施例还提供了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述实施例所述的可分享的用户数据的加密处理方法。
进一步的,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行程序,所述计算机可执行程序用于使计算机执行如上述实施例所述的可分享的用户数据的加密处理方法。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

Claims (10)

1.一种可分享的用户数据的加密处理方法,其特征在于,所述方法适用于与云服务端通信的第一客户端,所述方法包括:
在用户完成注册时,利用用户输入的第一密语数据编辑生成公私钥对,所述公私钥对与用户身份信息和CA证书签名进行绑定,所述公私钥对包括:第一公钥和第一私钥,其中,所述第一公钥公开,所述第一私钥保存在本地内存中;
当获取用户上传的文件数据并对所述文件数据完成校验时,采用所述第一公钥生成加密密钥,利用所述加密密钥加密所述文件数据生成加密数据,并将所述加密数据和所述第一私钥对应的签名传输至所述云服务端,以使所述云服务端保存所述加密数据;
在用户调用所述文件数据时,获取所述云服务端发送的加密数据,待所述加密数据完成校验后,采用所述第一私钥对所述加密数据进行解密。
2.根据权利要求1所述的可分享的用户数据的加密处理方法,其特征在于,所述采用所述第一公钥生成加密密钥,利用所述加密密钥对所述文件数据进行加密生成加密数据,包括:
从预设的素数域内随机选取两个素数,并对所述两个素数进行指数运算得到加密参数;
利用所述加密参数和所述第一公钥生成加密密钥,并采用所述加密密钥对所述文件数据进行对称加密,得到加密数据。
3.根据权利要求1所述的可分享的用户数据的加密处理方法,其特征在于,所述获取所述云服务端发送的加密数据,待所述加密数据完成校验后,采用所述第一私钥对所述加密数据进行解密,包括:
向所述云服务端发送获取请求,以使所述云服务端根据所述获取请求调用token验证函数从数据库中读取文件以及所述第一私钥对应的签名并发送给所述第一客户端;
基于所述第一私钥对应的签名,确定本地内存中是否存有所述第一私钥;
若本地内存中存有所述第一私钥,则采用所述第一私钥对所述加密数据进行解密。
4.根据权利要求3所述的可分享的用户数据的加密处理方法,其特征在于,在所述基于所述私钥对应的签名,确定本地内存中是否存有所述私钥的步骤后,所述方法还包括:
若本地内存中没有存有所述第一私钥,则获取用户输入的第二密语数据,并采用所述第二密语数据生成对应的第二私钥;
若所述第二私钥与所述第一私钥相同,则采用所述第二私钥对所述加密数据进行解密;
若所述第二私钥与所述第一私钥不相同,则通知用户重新输入。
5.根据权利要求1-4任意一项所述的可分享的用户数据的加密处理方法,其特征在于,在所述将所述加密数据和所述第一私钥对应的签名传输至所述云服务端,以使所述云服务端保存所述加密数据的步骤后,所述方法还包括:
获取待分享的公钥信息,所述公钥信息包括多个第二公钥,每个所述第二公钥为用户所要分享的第二客户端对应的公钥;
通过多项式算法将所述第一私钥和多个所述第二公钥进行多重加密生成重加密密钥,并就所述重加密密钥发送至所述云服务端,以使所述云服务端采用重加密密钥对所述加密数据进行重加密,并将重加密后的加密数据存放在每个所述第二公钥对应的第二客户端的指定目录中,待每个所述第二客户端对重加密后的加密数据进行解密,得到所述第一客户端的文件数据。
6.根据权利要求1-4任意一项所述的可分享的用户数据的加密处理方法,其特征在于,所述用户完成注册,包括:
获取用户输入的注册信息,所述注册信息包括:用户名和第一密语数据;
利用所述第一密语数据生成注册哈希值和注册公钥,并将所述用户名、注册哈希值和注册公钥发送给云服务端,当所述云服务端确定所述用户名和注册公钥均没有重复时,将所述注册哈希值存入预设的数据库,完成注册。
7.一种可分享的用户数据的加密处理装置,其特征在于,所述装置适用于与云服务端通信的第一客户端,所述装置包括:
编辑模块,用于在用户完成注册时,利用用户输入的第一密语数据编辑生成公私钥对,所述公私钥对与用户身份信息和CA证书签名进行绑定,所述公私钥对包括:第一公钥和第一私钥,其中,所述第一公钥公开,所述第一私钥保存在本地内存中;
加密模块,用于当获取用户上传的文件数据并对所述文件数据完成校验时,采用所述第一公钥生成加密密钥,利用所述加密密钥加密所述文件数据生成加密数据,并将所述加密数据和所述第一私钥对应的签名传输至所述云服务端,以使所述云服务端保存所述加密数据;
解密模块,用于在用户调用所述文件数据时,获取所述云服务端发送的加密数据,待所述加密数据完成校验后,采用所述第一私钥对所述加密数据进行解密。
8.一种可分享的用户数据的加密处理系统,其特征在于,所述系统包括:第一客户端、云服务端和多个第二客户端,所述第一客户端适用于如权利要求1-6任意一项所述的可分享的用户数据的加密处理方法;
所述第一客户端分别与所述云服务端和多个所述第二客户端通信连接,所述云服务端分别与多个所述第二客户端通信连接。
9.一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-6任意一项所述的可分享的用户数据的加密处理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行程序,所述计算机可执行程序用于使计算机执行如权利要求16任意一项所述的可分享的用户数据的加密处理方法。
CN202211572562.4A 2022-12-08 2022-12-08 一种可分享的用户数据的加密处理方法、装置及系统 Pending CN115941328A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211572562.4A CN115941328A (zh) 2022-12-08 2022-12-08 一种可分享的用户数据的加密处理方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211572562.4A CN115941328A (zh) 2022-12-08 2022-12-08 一种可分享的用户数据的加密处理方法、装置及系统

Publications (1)

Publication Number Publication Date
CN115941328A true CN115941328A (zh) 2023-04-07

Family

ID=86650245

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211572562.4A Pending CN115941328A (zh) 2022-12-08 2022-12-08 一种可分享的用户数据的加密处理方法、装置及系统

Country Status (1)

Country Link
CN (1) CN115941328A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116436601A (zh) * 2023-04-12 2023-07-14 山东三木众合信息科技股份有限公司 一种智能化数据加密方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116436601A (zh) * 2023-04-12 2023-07-14 山东三木众合信息科技股份有限公司 一种智能化数据加密方法及系统
CN116436601B (zh) * 2023-04-12 2023-12-01 山东三木众合信息科技股份有限公司 一种智能化数据加密方法及系统

Similar Documents

Publication Publication Date Title
CN109347835B (zh) 信息传输方法、客户端、服务器以及计算机可读存储介质
KR101999188B1 (ko) 비밀 공유를 위한 타원 곡선 암호를 사용하는 개인용 장치 보안
CN110750803B (zh) 数据提供和融合的方法及装置
RU2718689C2 (ru) Управление конфиденциальной связью
US8775794B2 (en) System and method for end to end encryption
US8462955B2 (en) Key protectors based on online keys
US8509449B2 (en) Key protector for a storage volume using multiple keys
US9185111B2 (en) Cryptographic authentication techniques for mobile devices
US20160337124A1 (en) Secure backup and recovery system for private sensitive data
US11050745B2 (en) Information processing apparatus, authentication method, and recording medium for recording computer program
CN107920052B (zh) 一种加密方法及智能装置
CN112434336A (zh) 基于区块链的电子病历共享方法、装置、系统及存储介质
CN111444499B (zh) 用户身份认证方法及系统
CN108471403B (zh) 一种账户迁移的方法、装置、终端设备及存储介质
WO2019083379A1 (en) DATA TRANSMISSION
CN109347923B (zh) 基于非对称密钥池的抗量子计算云存储方法和系统
WO2020176950A1 (en) Systems, methods and devices for provision of a secret
CN111639357B (zh) 一种加密网盘系统及其认证方法和装置
US10785193B2 (en) Security key hopping
CN109299618B (zh) 基于量子密钥卡的抗量子计算云存储方法和系统
CN115941328A (zh) 一种可分享的用户数据的加密处理方法、装置及系统
Crocker et al. Two factor encryption in cloud storage providers using hardware tokens
CN112398818B (zh) 一种软件激活方法及其相关装置
CN113779629A (zh) 密钥文件共享方法、装置、处理器芯片及服务器
JP6165044B2 (ja) 利用者認証装置、システム、方法及びプログラム

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