本申请涉及数据安全技术领域,特别是涉及隐私数据的处理方法、清理器以及云端存储系统。
背景技术:
随着数据的爆炸式增长,对于用户来说,本地存储大量的数据是一个很沉重的负担。因此,越来越多的组织和个人更愿意把他们的数据存储在云上。用户可以借助云存储服务,将数据存储到云上,并且实现与他人分享数据。数据分享是云存储中众多常用功能之一,此功能允许许多用户彼此之间分享他们的数据。然而,存储在云端的那些分享的数据可能包含一些隐私信息。这些隐私信息不应该公开给其他人。加密整个共享文件可以实现隐私信息隐藏,但会使该共享文件无法被其他人使用。
此外,由于一些不可避免的软件bug、硬件问题和人文错误,存储在云上的数据还可能存在被毁坏或丢失的问题,需要定期检验存储数据的完整性。
技术实现要素:
本申请提供隐私数据的处理方法、清理器以及云端存储系统,以解决现有技术中无法保护云端系统中隐私信息的问题。
为解决上述技术问题,本申请提出一种隐私数据的处理方法,包括接收用户端上传的第一数据和第一签名,其中,第一数据包含隐藏信息,隐藏信息为已被隐藏处理的用户隐私;对第一数据中的组织隐私进行隐藏处理得到第二数据,并生成第二签名;将第二数据和第二签名上传至云端,其中,第二签名用于数据完整性审计。
为解决上述技术问题,本申请提出一种用于隐私数据处理的清理器,包括处理器,其中处理器用于执行指令实现上述方法。
为解决上述技术问题,本申请提出一种隐私数据的处理方法,包括将原始文件分成n个数据块,并对包含用户隐私的数据块进行隐藏处理,生成第一数据和第一签名;发送第一数据和第一签名至清理器。
为解决上述技术问题,本申请提出一种用于隐私数据处理的用户端,包括处理器,其中处理器用于执行指令实现上述方法。
为解决上述技术问题,本申请提出一种对隐私数据进行云端存储的系统,包括用户端,用于生成第一数据和第一签名,并将第一数据和第一签名发送至清理器,其中第一数据包含被隐藏用户隐私的隐藏信息;清理器,用于接收第一数据和第一签名,生成第二数据以及第二签名,并将第二数据和第二签名上传至云端,其中,第二数据包含隐藏用户隐私和组织隐私的隐藏信息;云端,用于接收并存储第二数据和第二签名,其中第二签名用于数据完整性审计。
为解决上述技术问题,本申请提出一种计算机存储介质,其中计算机存储介质中存储有计算机程序,计算机程序被处理器执行时实现上述方法。
本申请提出了一种隐私数据的处理方法,通过上述方法,可以对隐私数据进行两次的隐藏处理,先隐藏用户隐私,形成第一数据再发送给清理器,清理器再对组织隐私进行处理,形成第二数据并发送至云端,最终上传至云端的数据中。最后用户隐私和组织隐私皆被隐藏,且用户隐私也没有暴露给清理器。此外,数据传输还伴随着签名的传输,其中第二签名可用于验证云端存储数据的完整性,解决了数据丢失或损坏的问题。因此,本申请提出的隐私数据的处理方法,可以有效保护上传至云端的隐私数据,又能验证数据的正确存储。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请隐私数据处理方法一实施例的流程示意图;
图2是本申请用于隐私数据处理的用户端一实施例的结构示意图;
图3是本申请隐私数据处理方法另一实施例的流程示意图;
图4是本申请隐私数据处理方法一实施例中对隐私信息进行处理的示意图;
图5是本申请用于隐私数据处理的清理器一实施例的结构示意图
图6是本申请云端存储系统一实施例的结构示意图;
图7是本申请计算机存储介质一实施例的结构示意图。
具体实施方式
为使本领域的技术人员更好地理解本申请的技术方案,下面结合附图和具体实施方式对发明所提供的一种隐私数据的处理方法、清理器以及云端存储系统进一步详细描述。
本申请提出了一种隐私数据的处理方法,请参阅图1,图1是本申请隐私数据处理方法一实施例的流程示意图。
s11:将原始文件分成n个数据块,并对包含用户隐私的数据块进行隐藏处理,生成第一数据和第一签名。
用户端获取用户想要上传至云端的原始文件,其中原始文件中包含用户隐私和组织隐私。用户隐私可以是用户个人信息,例如用户姓名,电话号码,身份证号码,家庭住址等信息。
用户端将原始文件f分成n个数据块(m1,m2,…,mn),其中mi表示文件f的第i个数据块。假设用户的身份id是1比特,其被描述为id=(id1,id2,…,idl)∈{0,1}1。k1为与原始文件f的用户隐私对应的数据块的索引集。k2为与原始文件f的组织隐私对应的数据块的索引集。为了保护用户隐私不暴露给清理器,用户端会对索引在集合k1中的数据块进行隐藏处理,例如将用户隐私的内容处理成乱码等,形成第一数据f*,第一数据f*可以分成n个数据块
s12:发送第一数据和第一签名至清理器。
用户端将完成隐藏处理的第一数据f*和生成的第一签名发送至清理器。其中,第一数据f*包含隐藏信息,隐藏信息为已被隐藏处理的用户隐私。
本实施例提供了一种隐私数据的处理方法,通过上述方式,用户端将原始文件分成n个数据块,并对包含用户隐私的数据块进行隐藏处理,形成第一数据f*并发送到清理器,如此一来用户隐私就不会暴露给清理器,保护了用户的隐私安全。
基于上述处理方法,本申请提出一种用于隐私数据处理的用户端。请参阅图2,图2是本申请用于隐私数据处理的用户端一实施例的结构示意图。用户端200包括处理器21,处理器21用于执行指令以实现上述方法。
本申请还提出一种隐私数据的处理方法,请参阅图3,图3是本申请隐私数据处理方法另一实施例的流程示意图。
s31:接收用户端上传的第一数据和第一签名。
清理器接收用户端上传的第一数据f*和第一签名。第一数据f*包含隐藏信息,其中隐藏信息为已被隐藏处理的用户隐私。
s32:对第一数据中的组织隐私进行隐藏处理得到第二数据,并生成第二签名。
清理器对第一数据f*中的组织数据进行隐藏处理,处理步骤可以跟上述用户隐私的处理过程一样,最后得到的隐藏信息是由用户隐私和组织隐私处理得来的乱码。为了统一格式,清理器还可以使用通配符来替换隐藏信息,得到第二数据f′。第二数据f′中包含n个数据块(m′1,m′2,…,m′n)其中,组织隐私可以是组织机构信息,例如组织名称等。通配符一般可以使用星号(*)和问号(?)。具体处理方式举例可参考后续实施例。
为了节省运算,清理器可以直接用通配符替换第一数据中的隐藏信息以及组织隐私,无需将组织隐私转换成乱码再用通配符替换。
此外,清理器还可以生成第二签名,具体方法为将所述第一签名转换成有效的第二签名,其中转换公式为:
其中,σi是第一签名,σ′i是第二签名;β=ur是用于转换签名的转换值;m′i表示第二数据中的第i个数据块;
id为用户身份;rid是在密码学集合zp中随机选择的一个值;r是在密码学集合
为了方便理解隐私信息的处理过程,请参阅图4,图4是本申请隐私数据处理方法一实施例中对隐私信息进行处理的示意图。φ是第一签名集合,φ′是第二签名集合。若m1和m3中包含用户隐私,m5中包含组织隐私。用户端对原始文件f进行处理得到第一数据f*,其中
s33:将第二数据和第二签名上传至云端。
清理端将上述运算所得的第二数据和第二签名上传至云端,其中第二签名可应用于数据的完整性审计。
本实施例提供了一种隐私数据的处理方法,将包含隐藏信息的第一数据进行再次处理,隐藏组织隐私并替换成通配符,通过上述方式,原始文件中的用户隐私和组织隐私都不会暴露给云端;原始文件中的用户隐私不会暴露给清理器,进一步保护了用户的隐私安全。同时,还将第一签名转换成第二签名,第二签名是有效签名,可验证数据的完整性。
基于上述处理方法,本申请提出一种用于隐私数据处理的清理器。请参阅图5,图5是本申请用于隐私数据处理的清理器一实施例的结构示意图。清理器500包括处理器51,处理器51用于执行指令以实现上述方法。
本申请还提出一种对隐私数据进行云端存储的系统,请参阅图6,图6是本申请云端存储系统一实施例的结构示意图。
系统包括用户端61,清理器62,云端63。用户端61用于生成第一数据和第一签名,并将第一数据和第一签名发送至清理器62,其中第一数据包含被隐藏用户隐私的隐藏信息;清理器62用于接收用户端61发送的第一数据和第一签名,生成第二数据和第二签名,并将第二数据和第二签名上传至云端63,其中第二数据包含隐藏用户隐私和组织隐私的隐藏信息;云端63用于接收并存储第二数据和第二签名,其中第二签名用于数据完整性审计。本实施例中的用户端61和清理器62可以是上述实施例中提及的用户端和清理器,具体步骤可参阅上述实施例,在此不再赘述。云端63是用于云存储的设备,是一个以数据存储和管理为核心的云计算系统。用户可以透过任何可连网的装置连接到云端,方便地存取数据。
当用户端61需要查看该原始文件时,可以从云端63中下载。具体地,用户端61发送请求至清理器62,清理器62接收请求后从云端63中下载该原始文件对应的第二数据,用户端61将第二数据恢复成第一数据,并将第一数据发送至用户端61,用户端61接收第一数据,并根据私钥将第一数据恢复成原始文件。
此外,系统还包括私钥生成器64和第三方审核员65。用户端61将用户身份发送至私钥生成器64,私钥生成器64接收用户身份并根据用户身份生成私钥。私钥生成器64返回私钥至用户端61,用户端61根据私钥对原始数据进行隐藏处理。本实施例中对隐私信息的加密是基于用户身份的,因此私钥生成器64负责根据用户身份为用户生成系统公共参数和私钥。
具体地,私钥生成器64运行算法setup(1k),将安全参数k作为输入,然后输出主密钥msk和系统公共参数pp。
私钥生成器64运行算法extract(pp,msk,id),将系统公共参数pp,主密钥msk和用户身份id作为输入。输出用户的私钥skid。用户端61可以验证skid的正确性,只有在通过验证时才接受它为私钥。
用户端61运行算法siggen(f,skid,ssk,name),将原始文件f,用户的私钥skid,用户的签名私钥ssk和文件标识符名称作为输入。输出第一数据f*,它对应的签名集φ和文件标签τ,文件标签τ用于确保文件标识符名称和某些验证值的正确性。
清理器62运行算法sanitization(f*,φ),将第一数据f*和它的签名集φ作为输入,输出第二数据f′及其相应的签名集φ′。
云端63运行算法proofgen(f',φ′,chal),将第二数据f′及其相应的签名集φ′、审计申请chal作为输入,输出审核证明p,用于证明云端63真正拥有第二数据f′。
第三方审核员65运行算法proofverify(chal,pp,p),将审计申请chal,系统公共参数pp和审计证明p作为输入。第三方审核员65可用于验证审核证明p的正确性。
第三方审核员65的作用是代表用户端61验证存储在云端63中数据的完整性。第三方审核员65向云端63发送审核申请chal,云端63响应审核申请chal,生成审计证明p并发送至第三方审核员65,第三方审核员65验证审计证明p的正确性,若正确,则说明云端63中第二数据的完整性。其中验证公式可以为:
其中,e为可计算的双线性映射;gr为验证值;g1为公共变量;λ=∑i∈im′ivi为第二数据块中的线性组合;
为了方便理解本实施例的方案,下面详细介绍各类算法的运算过程:
1)setup(1k)算法
私钥生成器64发布系统参数pp并保存主密钥msk。
2)extract(pp,msk,id)算法
用户端61确定用户身份id=(id1,id2,…,idl)并将用户身份发送至私钥生成器64。私钥生成器64随机选择一个变量
3)siggen(f,skid,ssk,name)算法
4)sanitization(f*,φ)
用户端61随机选择一个变量
清理器62检查文件标签τ的合法性,解析τ0,验证第一签名集合φ的正确性,验证转换值β的正确性,对第一数据中k2集合的数据块进行隐藏处理,计算第二签名集合φ'={σ′i}1≤i≤n,发送{f′,φ′}至云端63,发送文件标签τ至第三方审核员65。
清理器62验证第一签名集合φ的公式为:e(σi,g)=e(g1,g2)·
5)proofgen(f′,φ′,chal)算法
第三方审核员65验证文件标签τ,若文件标签非法则不执行审计。若正确,解析τ0,生成并发送审计申请chal={i,vi}i∈i至云端63,云端63收到审计申请chal后,生成并返回审计证明p={λ,σ}。第三方审核员65验证审计证明p的正确性:
本实施例提出的系统中,一共提出三个方面的正确性,分别是私钥的正确性,第一数据及第一签名的正确性和审核正确性。
私钥的正确性是指当私钥生成器64向用户端61发送正确的私钥时,该私钥可以通过用户端61的验证。具体地,基于双线性映射的性质,通过从右侧推导出左侧,可以证明私钥的正确性:
第一数据及第一签名的正确性是指当用户端61将第一数据及第一签名发送给清理器62时,第一数据和第一签名可以通过清理器62的验证。具体地,基于双线性映射的性质,第一数据和第一签名的正确性如下:
审计的正确性是指当云端63正确存储用户的第二数据时,它生成数据可以通过第三方审核员65的验证。具体地,基于双线性映射的性质,通过从右侧推导出左侧,可以证明审计的正确性:
此外,本申请的系统可用于电子健康记录中,电子健康记录中的敏感信息包括两部分,一个是用户隐私(患者的隐私信息),例如患者姓名和患者id号,另一个是组织隐私(医院的隐私信息),例如医院的名称。电子健康记录上传到云端用于研究目的时,运用上述方式,隐私信息会被通配符替换。一般的,可以将清理器视为医院中电子健康记录信息系统的管理员。用户隐私不应暴露给清理器,并且所有隐私信息都不应暴露给云端和共享用户。医生将患者的电子健康信息发送至清理器之前,患者的隐私信息已被处理,医生为处理过的患者的电子健康信息生成签名并发送至清理器,清理器对电子健康信息中的组织隐私对应的数据块进行清理,一般的,将这些数据块替换成通配符,并将这些数据块的签名转换为有效的电子健康记录的有效签名,它使得远程数据完整性审计仍然能够有效地执行。清理器将进行了二次处理的电子健康信息存储到电子健康信息系统中。进一步的,当医生需要电子健康信息时,他向清理器发送请求,清理器从电子健康信息系统中下载该电子健康信息,将组织隐私信息还原,并发送给医生,并无需医生操作,用户端即可根据私钥自行还原用户隐私信息,医生可查看该患者完整的电子健康信息。
清理器还可以具备信息管理的功能。清理器可以批量处理电子健康记录信息,并在固定时间将这些已处理的数据上传到云端。
除此之外,本申请的系统管可以应用于其他信息管理系统,例如人力资源档案管理,户籍资料系统管理等等。
经过模拟运算,本实施例的各类运算中,私钥生成和私钥验证花费时间相同,接近0.31s,签名生成所消耗的时间为1.476秒,签名验证和第一数据处理的时间分别为2.318s和0.061s。
本申请还提出一种计算机存储介质,如图7所示,图7是本申请计算机存储介质一实施例的结构示意图。计算机存储介质700中存储有计算机程序71,计算机程序71被处理器执行时实现上述数据处理方法。进一步的,计算机存储介质还可以是u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存储器(randomaccessmemory,ram)、磁带或者光盘等各种可以存储程序代码的介质。
本实施例中提出了一种对隐私数据进行云存储的系统,该系统可以对包含隐私信息的原始数据进行两次隐藏处理,用户端对原始文件的用户隐私进行隐藏处理形成第一数据,清理器对第一数据的组织隐私进行处理形成第二数据并上传至云端。存储在云端中的数据可以被其他人共享和使用,还保护了隐私信息。此外,云端仍然能够有效执行远程数据完整性审计。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
1.一种隐私数据的处理方法,其特征在于,包括:
接收用户端上传的第一数据和第一签名,其中,所述第一数据包含隐藏信息,所述隐藏信息为已被隐藏处理的用户隐私;
对所述第一数据中的组织隐私进行隐藏处理得到第二数据,并生成第二签名;
将所述第二数据和所述第二签名上传至云端,其中,所述第二签名用于数据完整性审计。
2.根据权利要求1所述的方法,其特征在于,所述对所述第一数据中的组织隐私进行隐藏处理得到第二数据包括:
用通配符替换所述第一数据中的隐藏信息以及所述组织隐私。
3.根据权利要求2所述的方法,其特征在于,所述生成第二签名包括:
将所述第一签名转换为所述第二签名,其中转换公式为:
其中,σi是第一签名,σ'i是第二签名;β=ur是用于转换签名的转换值;m′i表示第二数据中的第i个数据块;
id为用户身份;rid是在密码学集合zp中随机选择的一个值;r是在密码学集合
4.一种用于隐私数据处理的清理器,其特征在于,所述清理器包括处理器,所述处理器用于执行指令以实现权利要求1-3中任一项的方法。
5.一种隐私数据的处理方法,其特征在于,包括:
将原始文件分成n个数据块,并对包含用户隐私的数据块进行隐藏处理,生成第一数据和第一签名;
发送所述第一数据和所述第一签名至清理器。
6.一种用于隐私数据处理的用户端,其特征在于,所述用户端包括处理器,所述处理器用于执行指令以实现权利要求5的方法。
7.一种对隐私数据进行云端存储的系统,其特征在于,所述系统包括:
用户端,用于生成第一数据和第一签名,并将所述第一数据和所述第一签名发送至清理器,其中所述第一数据包含被隐藏用户隐私的隐藏信息;
所述清理器,用于接收所述第一数据和所述第一签名,生成第二数据以及第二签名,并将所述第二数据和所述第二签名上传至云端,其中,所述第二数据包含隐藏所述用户隐私和组织隐私的隐藏信息;
所述云端,用于接收并存储所述第二数据和所述第二签名,其中所述第二签名用于数据完整性审计。
8.根据权利要求7所述的系统,其特征在于,所述系统还包括:
私钥生成器,用于接收所述用户端发送的用户身份,根据所述用户身份生成系统公共参数和私钥,并将所述私钥发送至所述用户端;
第三方审核员,用于验证存储在所述云端中数据的完整性。
9.根据权利要求8所述的系统,其特征在于,所述系统还包括:
所述清理器从所述云端中下载所述第二数据,将所述第二数据恢复成所述第一数据,并将所述第一数据发送至所述用户端;
所述用户端根据所述私钥将所述第一数据恢复成所述原始文件。
10.根据权利要求8所述的系统,其特征在于,所述系统还包括:
所述第三方审核员用于向所述云端发送审核申请,并接受所述云端响应所述审核申请生成的审计证明,验证所述审计证明是否正确,若是,则说明所述第二数据的完整性;
其中,验证公式为:
其中,e为可计算的双线性映射;gr为验证值;g1为公共变量;λ=∑i∈im′ivi为第二数据块中的线性组合;
11.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-3和权利要求5中任一项所述的方法。
技术总结