加密数据的共享方法、装置及系统与流程

文档序号:12133535阅读:259来源:国知局
加密数据的共享方法、装置及系统与流程

本发明涉及数据安全技术领域,特别是涉及一种加密数据的共享方法、装置及系统。



背景技术:

随着信息时代的不断发展,不同部门、不同地区间的信息交流逐步增加,计算机网络技术的发展为信息传输提供了保障。在实际应用中,为了节省用户终端本地的存储空间以及实现信息的共享,当用户终端生成信息后,可以将该信息发送至第三方信息存储平台,以便其他用户终端从第三方信息存储平台中获取该信息,同时也可以通过监管平台对第三方信息存储平台存储的信息进行监管。

然而,生成的信息并不一定允许所有的用户终端查看,因此为了信息的隐私以及安全,现有技术提供了以下方案:生成信息的用户终端在将信息发送至第三方存储平台之前,可以分别利用允许查看该信息的用户终端和监管平台的公钥对该信息进行加密,然后将获得的所有密文发送到第三方存储平台进行存储。当某用户终端或者监管平台想要查看该信息时,可以从第三方存储平台中获取对应的密文,然后利用自身的私钥对密文解密获得明文。但是,由于一个设备对应一个信息的一个密文,并且当信息的大小较大时,密文也相对较大,所以当需要存储的信息增多以及允许查看某信息的用户终端数量增多时,第三方存储平台需存储的密文的数据量会大大增加,使得存储空间的利用率较低。



技术实现要素:

有鉴于此,本发明提供一种加密数据的共享方法、装置及系统,能够节省信息存储设备的存储空间,从而提供存储空间的利用率。

本发明的目的是采用以下技术方案来实现的:

第一方面,本发明提供了一种加密数据的共享方法,所述方法应用于原信息读取设备,所述方法包括:

当所述原信息读取设备需要增加其他信息读取设备来读取信息存储设备中存储的信息时,获取所述原信息读取设备的公钥对应的密钥密文、待增信息读取设备的公钥的运算值以及所述待增信息读取设备的公钥对应的密钥密文;其中,所述公钥对应的密钥密文是利用所述公钥对用于加密信息明文的密钥明文进行加密得到的,所述公钥的运算值是根据预设算法对所述公钥进行运算得到的;

将所述原信息读取设备的公钥对应的密钥密文、所述待增信息读取设备的公钥的运算值以及所述待增信息读取设备的公钥对应的密钥密文发送给所述信息存储设备,以便所述信息存储设备根据所述原信息读取设备的公钥对应的密钥密文查找所述信息对应的数据包,并将所述待增信息读取设备的公钥的运算值以及所述待增信息读取设备的公钥对应的密钥密文存储至所述信息对应的数据包中;

其中,所述信息对应的数据包中包括:各个原信息读取设备的公钥的运算值、各个原信息读取设备的公钥对应的密钥密文以及利用所述密钥明文对所述信息明文加密得到的信息密文之间的映射关系。

第二方面,本发明提供了一种加密数据的共享方法,所述方法应用于信息存储设备,所述方法包括:

当原信息读取设备需要增加其他信息读取设备来读取信息时,接收所述原信息读取设备发送的所述原信息读取设备的公钥对应的密钥密文、待增信息读取设备的公钥的运算值以及所述待增信息读取设备的公钥对应的密钥密文,所述公钥对应的密钥密文是利用所述公钥对用于加密信息明文的密钥明文进行加密得到的,所述公钥的运算值是根据预设算法对所述公钥进行运算得到的;

查找包括所述原信息读取设备的公钥对应的密钥密文的数据包,其中所述数据包中包括:各个原信息读取设备的公钥的运算值、各个原信息读取设备的公钥对应的密钥密文以及利用所述密钥明文对所述信息明文加密得到的信息密文之间的映射关系;

将所述待增信息读取设备的公钥的运算值以及所述待增信息读取设备的公钥对应的密钥密文添加至查找到的数据包中。

第三方面,本发明提供了一种加密数据的共享装置,所述装置应用于原信息读取设备,所述装置包括:

获取单元,用于当所述原信息读取设备需要增加其他信息读取设备来读取信息存储设备中存储的信息时,获取所述原信息读取设备的公钥对应的密钥密文、待增信息读取设备的公钥的运算值以及所述待增信息读取设备的公钥对应的密钥密文;其中,所述公钥对应的密钥密文是利用所述公钥对用于加密信息明文的密钥明文进行加密得到的,所述公钥的运算值是根据预设算法对所述公钥进行运算得到的;

发送单元,用于将所述获取单元获取的所述原信息读取设备的公钥对应的密钥密文、所述待增信息读取设备的公钥的运算值以及所述待增信息读取设备的公钥对应的密钥密文发送给所述信息存储设备,以便所述信息存储设备根据所述原信息读取设备的公钥对应的密钥密文查找所述信息对应的数据包,并将所述待增信息读取设备的公钥的运算值以及所述待增信息读取设备的公钥对应的密钥密文存储至所述信息对应的数据包中;

其中,所述信息对应的数据包中包括:各个原信息读取设备的公钥的运算值、各个原信息读取设备的公钥对应的密钥密文以及利用所述密钥明文对所述信息明文加密得到的信息密文之间的映射关系。

第四方面,本发明提供了一种加密数据的共享装置,所述装置应用于信息存储设备,所述装置包括:

接收单元,用于当原信息读取设备需要增加其他信息读取设备来读取信息时,接收所述原信息读取设备发送的所述原信息读取设备的公钥对应的密钥密文、待增信息读取设备的公钥的运算值以及所述待增信息读取设备的公钥对应的密钥密文,所述公钥对应的密钥密文是利用所述公钥对用于加密信息明文的密钥明文进行加密得到的,所述公钥的运算值是根据预设算法对所述公钥进行运算得到的;

查找单元,用于查找包括所述接收单元接收到的所述原信息读取设备的公钥对应的密钥密文的数据包,其中所述数据包中包括:各个原信息读取设备的公钥的运算值、各个原信息读取设备的公钥对应的密钥密文以及利用所述密钥明文对所述信息明文加密得到的信息密文之间的映射关系;

添加单元,用于将所述接收单元接收到的所述待增信息读取设备的公钥的运算值以及所述待增信息读取设备的公钥对应的密钥密文添加至所述查找单元查找到的数据包中。

第五方面,本发明提供了一种加密数据的共享系统,所述系统包括原信息读取设备、待增信息读取设备以及信息存储设备;

其中,所述原信息读取设备包括如第三方面所述的装置;

所述待增信息读取设备,用于向所述原信息读取设备发送用于加密密钥明文的公钥;

所述信息存储设备包括如权第四方面所述的装置。

借由上述技术方案,本发明提供的加密数据的共享方法、装置及系统,能够在信息生成设备生成信息后,将包括允许读取该信息的设备的公钥的运算值、各个公钥对应的密钥密文以及利用密钥明文加密得到的信息密文的数据包发送至信息存储设备进行存储;当某原信息读取设备需要增加新的信息读取设备来读取信息存储设备中存储的信息时,只需将数据较小的待增信息读取设备的公钥的运算值以及待增信息读取设备的公钥对应的密钥密文添加到包括该原信息读取设备的公钥的运算值的数据包中,而无需再利用待增信息读取设备的私钥对信息明文进行加密,将数据较大的加密得到的新信息密文存储至信息存储设备,从而节省了信息存储设备的存储空间,提高了存储空间的利用率。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了本发明实施例提供的一种加密数据的共享方法的流程图;

图2示出了本发明实施例提供的信息存储设备的数据包中数据对应关系的示意图;

图3示出了本发明实施例提供的增加新的信息接收设备的示意图;

图4示出了本发明实施例提供的从信息存储设备侧读取信息明文的示意图;

图5示出了本发明实施例提供的另一种加密数据的共享方法的流程图;

图6示出了本发明实施例提供的存储信息对应的数据包时涉及的各设备之间的交互图;

图7示出了本发明实施例提供的从信息存储设备侧读取信息时各设备之间的交互图;

图8示出了本发明实施例提供的增加新的信息接收设备时各设备之间的交互图;

图9示出了本发明实施例提供的一种加密数据的共享装置的组成框图;

图10示出了本发明实施例提供的另一种加密数据的共享装置的组成框图;

图11示出了本发明实施例提供的另一种加密数据的共享装置的组成框图;

图12示出了本发明实施例提供的另一种加密数据的共享装置的组成框图;

图13示出了本发明实施例提供的一种加密数据的共享系统的组成框图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本发明实施例提供了一种加密数据的共享方法,所述方法应用于原信息读取设备,如图1所示,所述方法包括:

101、当所述原信息读取设备需要增加其他信息读取设备来读取信息存储设备中存储的信息时,获取所述原信息读取设备的公钥对应的密钥密文、待增信息读取设备的公钥的运算值以及所述待增信息读取设备的公钥对应的密钥密文;

其中,所述公钥对应的密钥密文是利用所述公钥对用于加密信息明文的密钥明文进行加密得到的,所述公钥的运算值是根据预设算法对所述公钥进行运算得到的。在实际应用中,所述预设算法可以为哈希算法,也可以为其他算法,在此不做限定。

在实际应用中,当信息生成设备生成一条信息后,可以分别计算信息生成设备的公钥的运算值、信息生成设备的公钥对应的密钥密文、信息生成设备指定的信息接收设备的公钥的运算值、信息生成设备指定的信息接收设备的公钥对应的密钥密文、用于监管信息的信息监管设备的公钥的运算值、信息监管设备的公钥对应的密钥密文以及利用密钥明文对信息明文进行加密得到的信息密文,然后基于公钥的运算值、公钥对应的密钥密文以及信息密文三者之间的映射关系,生成包括各个公钥的运算值、各个公钥对应的密钥密文以及信息密文的数据包,并将生成的数据包发送给信息存储设备进行存储,以便后续基于该数据包中的公钥的运算值来作为信息读取设备读取信息的读取凭证,以及通过往数据包中添加新的信息读取设备的公钥的运算值、新的信息读取设备的公钥对应的密钥密文来实现添加新的信息读取设备来读取信息的功能。

需要说明的是,信息生成设备在生成数据包时,是针对一条信息生成一个数据包。也就是说,当信息为M条时,生成的数据包为M个,且信息与数据包一一对应。并且每个数据包包括允许读取该信息的设备的公钥的运算值、各个公钥对应的密钥密文以及利用密钥明文加密得到的信息密文。其中,允许读取该信息的设备包括信息生成设备、信息生成设备指定的信息接收设备以及用于监管信息的信息监管设备。

示例性的,若信息生成设备指定的信息接收设备为信息接收设备A、信息接收设备B以及信息接收设备C,并且允许信息监管设备进行监管,则信息生成设备需要向信息存储设备发送的数据包中的内容可以如图2所示。由图2可知,该数据包中包括5组对应关系,具体为:

(1)信息发送设备的公钥的哈希值、用信息发送设备的公钥加密密钥明文得到的密钥密文以及用密钥明文加密信息明文得到的信息密文三者相对应;

(2)信息监管设备的公钥的哈希值、用信息监管设备的公钥加密密钥明文得到的密钥密文以及用密钥明文加密信息明文得到的信息密文三者相对应;

(3)信息接收设备A的公钥的哈希值、用信息接收设备A的公钥加密密钥明文得到的密钥密文以及用密钥明文加密信息明文得到的信息密文三者相对应;

(4)信息接收设备B的公钥的哈希值、用信息接收设备B的公钥加密密钥明文得到的密钥密文以及用密钥明文加密信息明文得到的信息密文三者相对应;

(5)信息接收设备C的公钥的哈希值、用信息接收设备C的公钥加密密钥明文得到的密钥密文以及用密钥明文加密信息明文得到的信息密文三者相对应。

此外,数据包中的数据的具体表现形式可以为向量形式,也可以为其他形式,在此不做限定。例如,向量形式可以为{{ADD_j,Envo_j}j=0,1...,n+1,C},其中,ADD_j表示公钥的运算值,Envo_j表示利用公钥对密钥明文进行加密得到的密钥密文,C表示利用密钥明文对信息明文进行加密得到的信息密文。

由于将信息对应的数据包发送给信息存储设备后,任何具有权限从信息存储设备侧读取信息的设备均可以增加新的信息读取设备,所以本发明实施例的执行主体原信息读取设备可以为用于生成信息的信息生成设备,也可以为该信息生成设备指定的信息接收设备,也可以为用于监管信息的信息监管设备。

需要补充的是,在实际应用中,信息生成设备以及信息接收设备可以为用户终端,信息存储设备可以为存储平台,信息监管设备可以为监管平台。

102、将所述原信息读取设备的公钥对应的密钥密文、所述待增信息读取设备的公钥的运算值以及所述待增信息读取设备的公钥对应的密钥密文发送给所述信息存储设备,以便所述信息存储设备根据所述原信息读取设备的公钥对应的密钥密文查找所述信息对应的数据包,并将所述待增信息读取设备的公钥的运算值以及所述待增信息读取设备的公钥对应的密钥密文存储至所述信息对应的数据包中。

其中,所述信息对应的数据包中包括:各个原信息读取设备的公钥的运算值、各个原信息读取设备的公钥对应的密钥密文以及利用所述密钥明文对所述信息明文加密得到的信息密文之间的映射关系。

在实际应用中,由于原信息读取设备在信息存储设备侧允许读取的信息往往不止一条,所以原信息读取设备需要增加待增信息读取设备读取信息存储设备中存储的信息时,需要给待增信息读取设备添加读取权限的信息也不止一条。又由于一条信息对应一个数据包,并且可以通过往数据包中添加新的信息读取设备的公钥的运算值、新的信息读取设备的公钥对应的密钥密文来实现添加新的信息读取设备来读取信息的功能,所以需要将待增信息读取设备的公钥的运算值、待增信息读取设备的公钥对应的密钥密文添加到原信息读取设备允许读取的所有信息所对应的数据包中。

在对不同的信息明文进行加密时所使用的密钥明文可能不同,因此待增信息读取设备的公钥对应的密钥密文也可能不同。每个数据包只针对一个密钥明文,所以需要基于同一个密钥明文,将待增信息读取设备的公钥对应的多个密钥密文分别添加对应的数据包中。为了使得信息存储设备能够确定将待增信息读取设备的公钥的运算值以及该公钥对应的各个密钥密文添加至哪个数据包中,在将待增信息读取设备的公钥对应的某个密钥密文以及该公钥的运算值发送给信息存储设备时,还需要基于相同的密钥明文,将当前的原信息读取设备的公钥对应的密钥密文一起发送给信息存储设备,以便信息存储设备根据原信息读取设备的公钥对应的密钥密文查找所需的数据包。

具体的,可以用三维向量的形式或者其他形式,将增加待增信息读取设备时所需的数据发送给信息存储设备。例如,发送给信息存储设备的数据可以为{Envo_j,ADD_{n+2},Envo_{n+2}},其中Envo_j表示当前的原信息读取设备的公钥对应的密钥密文,j的取值范围为[0,n+1],ADD_{n+2}表示待增信息读取设备的公钥的运算值,Envo_{n+2}表示待增信息读取设备的公钥对应的密钥密文,且Envo_j和Envo_{n+2}这两个密钥密文解密后获得的密钥明文相同。

本发明实施例提供的加密数据的共享方法,能够在信息生成设备生成信息后,将包括允许读取该信息的设备的公钥的运算值、各个公钥对应的密钥密文以及利用密钥明文加密得到的信息密文的数据包发送至信息存储设备进行存储;当某原信息读取设备需要增加新的信息读取设备来读取信息存储设备中存储的信息时,只需将数据较小的待增信息读取设备的公钥的运算值以及待增信息读取设备的公钥对应的密钥密文添加到包括该原信息读取设备的公钥的运算值的数据包中,而无需再利用待增信息读取设备的私钥对信息明文进行加密,将数据较大的加密得到的新信息密文存储至信息存储设备,从而节省了信息存储设备的存储空间,提高了存储空间的利用率。

此外,由于在增加新的信息读取设备时,只需利用待增信息读取设备的公钥对数据较小的密钥明文进行加密,而无需再对数据相对较大的信息明文本身进行加密,所以原信息读取设备的计算量也大大降低。

可选的,由于上述步骤101在获取待增信息读取设备的公钥对应的密钥密文时,需要先获取密钥明文,而在实际应用中,原信息读取设备侧可能存储有所有的加密信息明文所需的密钥明文,也可能没有存储这些密钥明文,而存储所有的密钥密文,也可能密钥明文以及密钥密文均未存储,所以上述步骤101的具体实现方式可以分为以下三种:

方式一:当原信息读取设备中没有各个密钥明文,也没有存储各个密钥密文时,可以先向所述信息存储设备发送信息读取设备增加请求,所述信息读取设备增加请求中携带有所述原信息读取设备的公钥的运算值;然后接收所述信息存储设备发送的、根据所述原信息读取设备的公钥的运算值查找到的密钥密文,并将接收到的密钥密文确定为所述原信息读取设备的公钥对应的密钥密文;再利用所述原信息读取设备的公钥对应的私钥对所述接收到的密钥密文进行解密,并在解密成功后获得所述接收到的密钥密文对应的密钥明文;最后利用所述待增信息读取设备的公钥对解密获得的密钥明文进行加密,获得所述待增信息读取设备的公钥对应的密钥密文。

在实际应用中,原信息读取设备的公私钥对可能不止一个,当原信息读取设备的公私钥对为多个时,原信息读取设备可能只使用其中一个公钥用于生成数据包(即无论是针对哪条信息生成一个数据包,一个设备仅使用一个公钥),也可能使用不同的公钥生成不同的数据包(即在针对不同信息生成不同数据包时,一个设备可以使用不同的公钥生成不同的数据包)。因此为了在原信息读取设备允许读取的所有数据包中增加待增信息读取设备的相关信息,在向信息存储设备发送信息读取设备增加请求时,可以将原信息读取设备的所有公钥的运算值添加至信息读取设备增加请求中,以便信息存储设备根据这些公钥的运算值,查找到原信息读取设备允许读取的所有数据包。

需要说明的是,无论原信息读取设备使用几个公钥来生成数据包,针对一个数据包来说,该数据包中存储的内容都包括原信息读取设备的一个公钥的运算值、利用该公钥对密钥明文进行加密后的密钥密文以及利用密钥明文对信息明文进行加密后的信息密文三者之间的对应关系。例如,若原信息读取设备使用公钥1和公钥2来生成数据包,且利用公钥1生成的数据包中包括数据包1,利用公钥2生成的数据包中包括数据包2,则数据包1中包括公钥1的运算值、利用公钥1对密钥明文1进行加密后的密钥密文1以及利用密钥明文1对信息明文1进行加密后的信息密文1三者之间的对应关系,数据包2中包括公钥2的运算值、利用公钥2对密钥明文2进行加密后的密钥密文2以及利用密钥明文2对信息明文2进行加密后的信息密文2三者之间的对应关系。其中,密钥明文1与密钥明文2可能相同,也可能不同。

示例性的,结合图2和图3,在将图2所示的数据内容发送给信息存储设备进行存储之后,若信息生成设备、信息监管设备、信息接收设备A、信息接收设备B以及信息接收设备C中任一设备需要增加信息接收设备D来读取图2中的信息密文,则以信息接收设备B增加信息接收设备D为例,增加信息接收设备D的具体实现方式可以如图3所示。其中,信息接收设备B先通过向信息存储设备发送信息接收设备B的公钥的哈希值,来获取利用信息接收设备B的公钥对密钥明文进行加密得到的密钥密文,然后利用信息接收设备B自身的私钥对获取到的密钥密文进行解密获得密钥明文,并利用信息接收设备D的公钥对该密钥明文进行加密,获得信息接收设备D的公钥对应的密钥密文,最后将信息接收设备B的公钥对应的密钥密文、信息接收设备D的公钥的哈希值以及信息接收设备D的公钥对应的密钥密文发送给信息存储设备,以便信息存储设备根据信息接收设备B的公钥对应的密钥密文,查找对应的数据包,并将信息接收设备D的公钥的哈希值以及信息接收设备D的公钥对应的密钥密文添加到该数据包中。

方式二:当原信息读取设备中没有各个密钥明文,却存储有各个密钥密文时,原信息读取设备可以先从本地获取所述原信息读取设备的公钥对应的密钥密文;然后利用所述原信息读取设备的公钥对应的私钥对获取到的密钥密文进行解密,并在解密成功后获得所述获取到的密钥密文对应的密钥明文;最后利用所述待增信息读取设备的公钥对解密获得的密钥明文进行加密,获得所述待增信息读取设备的公钥对应的密钥密文。

方式三:当原信息读取设备中存储有各个密钥明文时,可以直接从本地获取所述密钥明文;然后分别利用所述原信息读取设备的公钥以及所述待增信息读取设备的公钥对所述密钥明文进行加密,获得所述原信息读取设备的公钥对应的密钥密文以及所述待增信息读取设备的公钥对应的密钥密文。

可选的,当信息生成设备将信息对应的数据包发送给信息存储设备进行存储后,原信息读取设备(包括信息生成设备、信息生成设备指定的信息接收设备以及信息监管设备)可以通过自身的公钥从信息读取设备侧获取所需的数据。

具体的,当需要从所述信息存储设备读取信息时,原信息读取设备可以向所述信息存储设备发送信息读取请求,所述信息读取请求中携带有所述原信息读取设备的公钥的运算值;接收所述信息存储设备发送的、根据所述原信息读取设备的公钥的运算值查找到的密钥密文以及信息密文;利用所述原信息读取设备的公钥对应的私钥对接收到的密钥密文进行解密;若解密成功获得所述接收到的密钥密文对应的密钥明文,则利用获得的密钥明文对接收到的信息密文进行解密,并在解密成功后获得所述信息密文对应的信息明文。

其中,原信息读取设备在从信息存储设备读取信息时,可以读取该原信息读取设备能够读取的所有信息,也可以读取其未曾读过的新产生的信息,其读取内容可以根据具体情况而定。

示例性的,如图4所示,若信息接收设备A需要读取的信息包括图2所示的信息,则信息接收设备A通过向信息存储设备发送信息接收设备的公钥的哈希值,来获取信息接收设备A的公钥对应的密钥密文以及信息密文后,可以先利用自身的私钥对该密钥密文进行解密获得密钥明文,然后利用密钥明文对信息密文进行解密获得信息明文。

进一步的,依据图1所示的方法,本发明的另一个实施例还提供了一种加密数据的共享方法,所述方法应用于信息存储设备,如图5所示,所述方法包括:

201、当原信息读取设备需要增加其他信息读取设备来读取信息时,接收所述原信息读取设备发送的所述原信息读取设备的公钥对应的密钥密文、待增信息读取设备的公钥的运算值以及所述待增信息读取设备的公钥对应的密钥密文;

其中,所述公钥对应的密钥密文是利用所述公钥对用于加密信息明文的密钥明文进行加密得到的,所述公钥的运算值是根据预设算法对所述公钥进行运算得到的。

此外,关于原信息读取设备的公钥对应的密钥密文、待增信息读取设备的公钥的运算值以及待增信息读取设备的公钥对应的密钥密文的表现形式等内容与上述步骤102相同,在此不再赘述。

202、查找包括所述原信息读取设备的公钥对应的密钥密文的数据包;

其中,所述数据包中包括:各个原信息读取设备的公钥的运算值、各个原信息读取设备的公钥对应的密钥密文以及利用所述密钥明文对所述信息明文加密得到的信息密文之间的映射关系。

203、将所述待增信息读取设备的公钥的运算值以及所述待增信息读取设备的公钥对应的密钥密文添加至查找到的数据包中。

当原信息读取设备发送的原信息读取设备的公钥对应的密钥密文、待增信息读取设备的公钥对应的密钥密文有多组时,根据原信息读取设备的公钥对应的不同密钥密文,依次查找所需的数据包,然后将待增信息读取设备的公钥对应的密钥密文、待增信息读取设备的公钥的运算值依次存储至对应的数据包当中。

本发明实施例提供的加密数据的共享方法,能够在信息生成设备生成信息后,将包括允许读取该信息的设备的公钥的运算值、各个公钥对应的密钥密文以及利用密钥明文加密得到的信息密文的数据包发送至信息存储设备进行存储;当某原信息读取设备需要增加新的信息读取设备来读取信息存储设备中存储的信息时,只需将数据较小的待增信息读取设备的公钥的运算值以及待增信息读取设备的公钥对应的密钥密文添加到包括该原信息读取设备的公钥的运算值的数据包中,而无需再利用待增信息读取设备的私钥对信息明文进行加密,将数据较大的加密得到的新信息密文存储至信息存储设备,从而节省了信息存储设备的存储空间,提高了存储空间的利用率。此外,由于在增加新的信息读取设备时,只需利用待增信息读取设备的公钥对数据较小的密钥明文进行加密,而无需再对数据相对较大的信息明文本身进行加密,所以原信息读取设备的计算量也大大降低。

可选的,在原信息读取设备侧的实施例中提及,原信息读取设备中可能存储有各个密钥明文,也可能没有存储密钥明文,当原信息读取设备中没有存储密钥明文时,需要通过向信息存储设备获取密钥密文来获取密钥明文。

其中,信息存储设备向原信息读取设备反馈密钥密文的具体实现方式可以为:在接收所述原信息读取设备发送的所述原信息读取设备的公钥对应的密钥密文、待增信息读取设备的公钥的运算值以及所述待增信息读取设备的公钥对应的密钥密文之前,信息存储设备先接收所述原信息读取设备发送的信息读取设备增加请求,所述信息读取设备增加请求中携带有所述原信息读取设备的公钥的运算值;然后查找包括所述原信息读取设备的公钥的运算值的数据包;最后将查找到的数据包中的所述原信息读取设备的公钥的运算值对应的密钥密文发送给所述原信息读取设备,以便所述原信息读取设备根据存储的私钥获取所述密钥密文对应的密钥明文。

可选的,当信息生成设备将信息对应的数据包发送给信息存储设备进行存储后,原信息读取设备(包括信息生成设备、信息生成设备指定的信息接收设备以及信息监管设备)可以先通过自身的公钥从信息读取设备侧获取密钥密文以及信息密文,然后依次再对密钥密文以及信息密文进行解密获得信息明文。

其中,信息存储设备向原信息读取设备反馈密钥密文以及信息密文的具体实现方式可以为:当原信息读取设备需要读取信息时,信息存储设备先接收所述原信息读取设备发送的信息读取请求,所述信息读取请求中携带有所述原信息读取设备的公钥的运算值;然后查找包括所述原信息读取设备的公钥的运算值的数据包;最后将查找到的数据包中的所述原信息读取设备的公钥的运算值对应的密钥密文以及信息密文发送给所述原信息读取设备,以便所述原信息读取设备根据所述密钥密文以及所述信息密文获取所述信息密文对应的信息明文。

需要说明的是,信息存储设备在查找数据包时,可以根据原信息读取设备的不同需求进行不同查找。例如,当原信息读取设备需要读取所有的信息时,信息存储设备可以查找包括所述原信息读取设备的公钥的运算值的所有数据包,并将所有数据包中的密钥密文以及信息密文反馈给原信息读取设备;当原信息读取设备需要读取未读信息时,信息存储设备可以根据所述原信息读取设备的信息读取记录,查找包括所述原信息读取设备的公钥的运算值的未读数据包,并将查找到的数据包中的密钥密文以及信息密文反馈给原信息读取设备。

基于上述实施例的详细分析,下面以原信息读取设备中的信息接收设备为信息接收设备A,待增信息读取设备为信息接收设备B为例,对原信息读取设备、待增信息读取设备以及信息存储设备之间的数据交互情况进行介绍:

(一)信息生成设备生成信息对应的数据包,并将数据包发送给信息存储设备进行存储的过程可以如图6所示。

(A1)信息接收设备A以及信息监管设备分别将自身的公钥发送给信息生成设备,其中信息接收设备A的公钥为公钥2,信息监管设备的公钥为公钥3;

(A2)信息生成设备接收到公钥2和公钥3后,若生成一条信息,则获取一个密钥明文,然后利用该密钥明文对生成的信息明文进行加密,获得信息密文;

本示例以信息生成设备先接收到信息接收设备以及信息监管设备的公钥,再生成信息为例进行说明。在实际应用中,信息的生成以及公钥的接收也可能是同时发生的,也可能是先生成信息,再接收到其他设备发送的公钥,其发生的先后顺序在此不做限定。

(A3)信息生成设备分别对自身的公钥1、信息接收设备A的公钥2以及信息监管设备的公钥3进行哈希运算,获得哈希值1、哈希值2以及哈希值3;

(A4)信息生成设备分别利用公钥1、公钥2以及公钥3对密钥明文进行加密,获得密钥密文1、密钥密文2以及密钥密文3;

需要说明的是,步骤(2)、(3)、(4)不分先后顺序,可以按照一定顺序依次执行,也可以同时执行。

(A5)信息生成设备将哈希值、密钥密文以及信息密文以以下对应关系打包为一个数据包1,并将该数据包1发送给信息存储设备进行存储。

对应关系:

哈希值1、密钥密文1以及信息密文三者相对应;

哈希值2、密钥密文2以及信息密文三者相对应;

哈希值3、密钥密文3以及信息密文三者相对应。

(二)当数据包存储至信息存储设备后,信息生成设备、信息接收设备A以及信息监管设备均可以从信息存储设备读取该数据包中的数据。如图7所示,当信息接收设备A想要从信息存储设备读取数据时,与信息存储设备之前的交互情况如下:

(B1)信息接收设备A对自身的公钥2进行哈希运算,获得哈希值2,并将携带哈希值2的信息读取请求发送给信息存储设备;

(B2)信息存储设备接收到信息读取请求后,查找包括哈希值2的数据包,并将查找到的数据包中哈希值2对应的密钥密文以及信息密文发送给信息接收设备A;其中,查找到的数据包包括数据包1,所需反馈的密钥密文包括密钥密文2,信息密文包括密钥密文2对应的信息密文;

(B3)信息接收设备A接收到密钥密文2以及信息密文后,先利用自身的私钥2(即公钥2对应的私钥)对密钥密文2进行解密获得密钥明文,然后利用密钥密文对信息密文进行解密获得信息明文。

(三)当数据包存储至信息存储设备后,信息生成设备、信息接收设备A以及信息监管设备均可以增加新的信息接收设备(即新的信息读取设备)来读取信息存储设备中的数据。如图8所示,当信息接收设备A想要增加信息接收设备B时,信息接收设备A、信息接收设备B以及信息存储设备三者之间的交互情况如下:

(C1)信息接收设备B将自身的公钥4发送给信息接收设备A;

(C2)信息接收设备A接收到信息接收设备B发送的公钥4后,对自身的公钥2进行哈希运算获得哈希值2,并将携带哈希值2的信息读取设备增加请求发送给信息存储设备;

(C3)信息存储设备接收到信息读取设备增加请求后,查找包括哈希值2的数据包,并将查找到的数据包中哈希值2对应的密钥密文发送给信息接收设备2;其中,查找到的数据包包括数据包1,所需反馈的密钥密文包括密钥密文2;

(C4)信息接收设备A接收到密钥密文2后,先利用自身的私钥2对密钥密文2进行解密获得密钥明文,然后利用信息接收设备B的公钥4对该密钥明文进行加密获得密钥密文4,并对信息接收设备B的公钥4进行哈希运算获得哈希值4,最后将密钥密文2、哈希值4以及密钥密文4发送给信息存储设备;

(C5)信息存储设备接收到密钥密文2、哈希值4以及密钥密文4后,先查找包括密钥密文2的数据包,然后将哈希值4以及密钥密文4添加至查找到的数据包中;其中,数据包1包括密钥密文2,所以需要将哈希值4以及密钥密文4添加至数据包1中。

进一步的,依据图1所示的方法,本发明的另一个实施例还提供了一种加密数据的共享装置,所述装置应用于原信息读取设备,如图9所示,所述装置主要包括:获取单元31以及发送单元32。其中,

获取单元31,用于当所述原信息读取设备需要增加其他信息读取设备来读取信息存储设备中存储的信息时,获取所述原信息读取设备的公钥对应的密钥密文、待增信息读取设备的公钥的运算值以及所述待增信息读取设备的公钥对应的密钥密文;其中,所述公钥对应的密钥密文是利用所述公钥对用于加密信息明文的密钥明文进行加密得到的,所述公钥的运算值是根据预设算法对所述公钥进行运算得到的;

发送单元32,用于将所述获取单元31获取的所述原信息读取设备的公钥对应的密钥密文、所述待增信息读取设备的公钥的运算值以及所述待增信息读取设备的公钥对应的密钥密文发送给所述信息存储设备,以便所述信息存储设备根据所述原信息读取设备的公钥对应的密钥密文查找所述信息对应的数据包,并将所述待增信息读取设备的公钥的运算值以及所述待增信息读取设备的公钥对应的密钥密文存储至所述信息对应的数据包中;

其中,所述信息对应的数据包中包括:各个原信息读取设备的公钥的运算值、各个原信息读取设备的公钥对应的密钥密文以及利用所述密钥明文对所述信息明文加密得到的信息密文之间的映射关系。

可选的,如图10所示,所述获取单元31包括:

第一获取模块311,用于从本地或者所述信息存储设备侧获取所述原信息读取设备的公钥对应的密钥密文;

解密模块312,用于利用所述原信息读取设备的公钥对应的私钥对所述第一获取模块311获取到的密钥密文进行解密,并在解密成功后获得所述接收到的密钥密文对应的密钥明文;

第一加密模块313,用于利用所述待增信息读取设备的公钥对所述解密模块312解密获得的密钥明文进行加密,获得所述待增信息读取设备的公钥对应的密钥密文。

可选的,所述第一获取模块311用于向所述信息存储设备发送信息读取设备增加请求,所述信息读取设备增加请求中携带有所述原信息读取设备的公钥的运算值;接收所述信息存储设备发送的、根据所述原信息读取设备的公钥的运算值查找到的密钥密文,并将接收到的密钥密文确定为所述原信息读取设备的公钥对应的密钥密文。

可选的,如图10所示,所述获取单元31包括:

第二获取模块314,用于从本地获取所述密钥明文;

第二加密模块315,用于分别利用所述原信息读取设备的公钥以及所述待增信息读取设备的公钥对所述第二获取模块314获取的所述密钥明文进行加密,获得所述原信息读取设备的公钥对应的密钥密文以及所述待增信息读取设备的公钥对应的密钥密文。

可选的,所述发送单元32,还用于当需要从所述信息存储设备读取信息时,向所述信息存储设备发送信息读取请求,所述信息读取请求中携带有所述原信息读取设备的公钥的运算值;

如图10所示,所述装置还包括:

接收单元33,用于接收所述信息存储设备发送的、根据所述原信息读取设备的公钥的运算值查找到的密钥密文以及信息密文;

解密单元34,用于利用所述原信息读取设备的公钥对应的私钥对所述接收单元33接收到的密钥密文进行解密;

所述解密单元34,还用于当解密成功获得所述接收到的密钥密文对应的密钥明文时,利用获得的密钥明文对接收到的信息密文进行解密,并在解密成功后获得所述信息密文对应的信息明文。

可选的,所述预设算法为哈希算法。

可选的,所述原信息读取设备包括:用于生成所述信息的信息生成设备、所述信息生成设备指定的信息接收设备以及用于监管信息的信息监管设备。

本发明实施例提供的加密数据的共享装置,能够在信息生成设备生成信息后,将包括允许读取该信息的设备的公钥的运算值、各个公钥对应的密钥密文以及利用密钥明文加密得到的信息密文的数据包发送至信息存储设备进行存储;当某原信息读取设备需要增加新的信息读取设备来读取信息存储设备中存储的信息时,只需将数据较小的待增信息读取设备的公钥的运算值以及待增信息读取设备的公钥对应的密钥密文添加到包括该原信息读取设备的公钥的运算值的数据包中,而无需再利用待增信息读取设备的私钥对信息明文进行加密,将数据较大的加密得到的新信息密文存储至信息存储设备,从而节省了信息存储设备的存储空间,提高了存储空间的利用率。

此外,由于在增加新的信息读取设备时,只需利用待增信息读取设备的公钥对数据较小的密钥明文进行加密,而无需再对数据相对较大的信息明文本身进行加密,所以原信息读取设备的计算量也大大降低。

进一步的,依据图5所示的方法,本发明的另一个实施例还提供了一种加密数据的共享装置,所述装置应用于信息存储设备,如图11所示,所述装置主要包括:接收单元41、查找单元42以及添加单元43。其中,

接收单元41,用于当原信息读取设备需要增加其他信息读取设备来读取信息时,接收所述原信息读取设备发送的所述原信息读取设备的公钥对应的密钥密文、待增信息读取设备的公钥的运算值以及所述待增信息读取设备的公钥对应的密钥密文,所述公钥对应的密钥密文是利用所述公钥对用于加密信息明文的密钥明文进行加密得到的,所述公钥的运算值是根据预设算法对所述公钥进行运算得到的;

查找单元42,用于查找包括所述接收单元41接收到的所述原信息读取设备的公钥对应的密钥密文的数据包,其中所述数据包中包括:各个原信息读取设备的公钥的运算值、各个原信息读取设备的公钥对应的密钥密文以及利用所述密钥明文对所述信息明文加密得到的信息密文之间的映射关系;

添加单元43,用于将所述接收单元41接收到的所述待增信息读取设备的公钥的运算值以及所述待增信息读取设备的公钥对应的密钥密文添加至所述查找单元42查找到的数据包中。

可选的,所述接收单元41还用于在接收所述原信息读取设备发送的所述原信息读取设备的公钥对应的密钥密文、待增信息读取设备的公钥的运算值以及所述待增信息读取设备的公钥对应的密钥密文之前,接收所述原信息读取设备发送的信息读取设备增加请求,所述信息读取设备增加请求中携带有所述原信息读取设备的公钥的运算值;

所述查找单元42还用于查找包括所述原信息读取设备的公钥的运算值的数据包;

如图12所示,所述装置还包括:

第一发送单元44,用于将所述查找单元42查找到的数据包中的所述原信息读取设备的公钥的运算值对应的密钥密文发送给所述原信息读取设备,以便所述原信息读取设备根据存储的私钥获取所述密钥密文对应的密钥明文。

可选的,所述接收单元41还用于当原信息读取设备需要读取信息时,接收所述原信息读取设备发送的信息读取请求,所述信息读取请求中携带有所述原信息读取设备的公钥的运算值;

所述查找单元42还用于查找包括所述原信息读取设备的公钥的运算值的数据包;

如图12所示,所述装置还包括:

第二发送单元45,用于将所述查找单元42查找到的数据包中的所述原信息读取设备的公钥的运算值对应的密钥密文以及信息密文发送给所述原信息读取设备,以便所述原信息读取设备根据所述密钥密文以及所述信息密文获取所述信息密文对应的信息明文。

可选的,如图12所示,所述查找单元42包括:

第一查找模块421,用于查找包括所述原信息读取设备的公钥的运算值的所有数据包;

第二查找模块422,用于根据所述原信息读取设备的信息读取记录,查找包括所述原信息读取设备的公钥的运算值的未读数据包。

可选的,所述预设算法为哈希算法。

可选的,所述原信息读取设备包括:用于生成所述信息的信息生成设备、所述信息生成设备指定的信息接收设备以及用于监管信息的信息监管设备。

本发明实施例提供的加密数据的共享装置,能够在信息生成设备生成信息后,将包括允许读取该信息的设备的公钥的运算值、各个公钥对应的密钥密文以及利用密钥明文加密得到的信息密文的数据包发送至信息存储设备进行存储;当某原信息读取设备需要增加新的信息读取设备来读取信息存储设备中存储的信息时,只需将数据较小的待增信息读取设备的公钥的运算值以及待增信息读取设备的公钥对应的密钥密文添加到包括该原信息读取设备的公钥的运算值的数据包中,而无需再利用待增信息读取设备的私钥对信息明文进行加密,将数据较大的加密得到的新信息密文存储至信息存储设备,从而节省了信息存储设备的存储空间,提高了存储空间的利用率。此外,由于在增加新的信息读取设备时,只需利用待增信息读取设备的公钥对数据较小的密钥明文进行加密,而无需再对数据相对较大的信息明文本身进行加密,所以原信息读取设备的计算量也大大降低。

进一步的,依据上述装置实施例,本发明的另一个实施例还提供了一种加密数据的共享系统,如图13所示,所述系统包括原信息读取设备51、待增信息读取设备52以及信息存储设备53;

其中,所述原信息读取设备51包括如图9或10所示的装置;

所述待增信息读取设备52,用于向所述原信息读取设备51发送用于加密密钥明文的公钥;

所述信息存储设备53包括如图11或12所示的装置。

其中,原信息读取设备51、待增信息读取设备52以及信息存储设备53之间的交互情况可以参见图6至图8的示例。

本发明实施例提供的加密数据的共享系统,能够在信息生成设备生成信息后,将包括允许读取该信息的设备的公钥的运算值、各个公钥对应的密钥密文以及利用密钥明文加密得到的信息密文的数据包发送至信息存储设备进行存储;当某原信息读取设备需要增加新的信息读取设备来读取信息存储设备中存储的信息时,只需将数据较小的待增信息读取设备的公钥的运算值以及待增信息读取设备的公钥对应的密钥密文添加到包括该原信息读取设备的公钥的运算值的数据包中,而无需再利用待增信息读取设备的私钥对信息明文进行加密,将数据较大的加密得到的新信息密文存储至信息存储设备,从而节省了信息存储设备的存储空间,提高了存储空间的利用率。

此外,由于在增加新的信息读取设备时,只需利用待增信息读取设备的公钥对数据较小的密钥明文进行加密,而无需再对数据相对较大的信息明文本身进行加密,所以原信息读取设备的计算量也大大降低。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的加密数据的共享方法、装置及系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1