一种密钥查询方法及云平台与流程

文档序号:17488397发布日期:2019-04-23 20:11阅读:292来源:国知局
一种密钥查询方法及云平台与流程
本发明涉及多租户云环境中的密钥查询技术,尤其涉及一种密钥查询方法及云平台。
背景技术
:密钥,即密匙,一般泛指能够对个人资料、企业机密进行有效监管的各种加密技术,密钥管理即为对密钥进行管理的行为,如加密、解密、破解等等。对云环境而言,密钥管理是云环境数据隐私保护的关键技术之一,是整个云平台安全的基石。随着公有云业务的不断发展,大量应用在云环境中部署,并伴随着用户海量数据在云环境中的处理与存储。进一步地,部署在私有云或企业内部网络的应用迁移到公有云环境中后,需要在考虑租户内部密钥管理的同时,还需要考虑在多租户环境下的密钥管理。当客户端需要在云环境中进行密钥查询时,现有的密钥管理技术主要实现的是租户内部进行密钥查询的方法,并不能有效地实现在多租户云环境中跨租户的密钥查询,也就是说,现有的密钥管理方法,无法有效地在多租户的云环境中进行密钥查询。技术实现要素:为解决上述技术问题,本发明实施例期望提供一种密钥查询方法及云平台,该方法能够应用于多租户云环境,从而可以在多租户的云环境中进行密钥查询。为达到上述目的,本发明实施例的技术方案是这样实现的:本发明实施例提供了一种密钥查询方法,应用于第一租户,其中,所述第一租户为多个租户中的任意一个租户,所述方法包括:接收客户端发送的第一查询请求;其中,所述第一查询请求携带待查询的数据密钥对应的数据标识和数据编码;根据所述数据标识确定所述第一查询请求对应的查询类型;其中,所述查询类型包括租户内部查询和跨租户查询;当所述第一查询请求为所述跨租户查询时,按照第一预设查询策略和所述数据编码进行查询,获得所述数据密钥;其中,所述第一预设查询策略用于通过云平台进行跨租户查询;当所述第一查询请求为所述租户内部查询时,按照第二预设查询策略和所述数据编码进行查询,获得所述数据密钥;其中,所述第二预设查询策略用于在所述第一租户中进行租户内查询;响应所述第一查询请求,向上述客户端发送所述数据密钥。在上述方案中,所述按照第一预设查询策略和所述数据编码进行查询,获得所述数据密钥,包括:在第一预存密钥库中,根据所述数据编码进行查询,获得第一查询结果;其中,所述第一预存密钥库用于存储所述第一租户从所述云平台获取的全部数据密钥;如果所述第一查询结果为失败,向所述云平台发送第二查询请求;其中,所述第二查询请求携带所述数据编码和目标租户地址;接收所述云平台发送的响应所述第二查询请求的第一查询响应;其中,所述第一查询响应携带所述数据密钥。在上述方案中,所述按照第二预设查询策略和所述数据编码进行查询,获得所述数据密钥,包括:在第二预存密钥库中,根据所述数据编码进行查询,获得第二查询结果;其中,所述第二预存密钥库用于存储所述第一租户中的全部数据密钥;如果所述第二查询结果为成功,在所述第二预存密钥库中确定所述数据密钥;根据第一预存存储密钥对所述数据密钥进行解密校验,获得第一校验结果;如果所述第一校验结果为成功,获取所述数据密钥。在上述方案中,所述如果所述第一查询结果为失败,向所述云平台发送第二查询请求,包括:根据预设确定策略确定所述数据编码对应的所述目标租户地址;根据所述目标租户地址,向所述云平台发送所述第二查询请求。在上述方案中,所述当所述查询请求为所述跨租户查询时,按照第一预设查询策略和所述数据编码进行查询,获得所述数据密钥之后,所述方法还包括:将所述数据密钥添加至所述第一预存密钥库。在上述方案中,当所述客户端不存在用户证书时,所述第一查询请求还携带会话密钥,所述接收客户端发送的第一查询请求之后,所述方法还包括:读取所述会话密钥,并将所述会话密钥存储至预设存储地址。在上述方案中,所述响应所述第一查询请求,向上述客户端发送所述数据密钥,包括:从所述预设存储地址中获取所述会话密钥;根据所述会话密钥加密所述数据密钥,获得加密后的数据密钥;发送所述加密后的数据密钥。在上述方案中,当所述客户端存在用户证书时,所述响应所述第一查询请求,向上述客户端发送所述数据密钥,包括:读取所述用户证书,并根据所述用户证书加密所述数据密钥,获得加密后的数据密钥;发送所述加密后的数据密钥。本发明实施例提供了一种密钥查询方法,应用于云平台,所述方法包括:接收第一租户发送的第二查询请求;其中,所述第二查询请求携带待查询的数据密钥对应的数据编码和目标租户地址;根据所述目标租户地址和预设转发策略,获取所述数据密钥;响应所述第二查询请求,向所述第一租户发送第一查询响应;其中,所述第一查询响应携带所述数据密钥。在上述方案中,所述根据所述目标租户地址和预设转发策略,获取所述数据密钥,包括:根据所述目标租户地址确定第二租户,并将第三查询请求发送至第二租户;其中,所述第三查询请求携带所述数据编码;接收所述第二租户发送的响应所述第三查询请求的第二查询响应;其中,所述第二查询响应携带所述数据密钥。本发明实施例提供了一种密钥查询方法,应用于第二租户,其中,所述第二租户为多个租户中的不同于第一租户的一个租户,所述方法包括:接收云平台发送的第三查询请求;其中,所述第三查询请求携带待查询的数据密钥对应的数据编码;按照第三预设查询策略和所述数据编码进行查询,获得所述数据密钥;其中,所述第三预设查询策略用于在所述第二租户内部进行租户内查询;响应所述第三查询请求,向所述云平台发送第二查询响应;其中,所述第二查询响应携带所述数据密钥。在上述方案中,所述按照第三预设查询策略和所述数据编码进行查询,获得所述数据密钥,包括:在第三预存密钥库中,根据所述数据编码进行查询,获得第三查询结果;其中,所述第三预存密钥库用于存储所述第二租户中的全部数据密钥;如果所述第三查询结果为成功,在所述第三预存密钥库中确定所述数据密钥;根据第二预存存储密钥对所述数据密钥进行解密校验,获得第二校验结果;如果所述第二校验结果为成功,获取所述数据密钥。本发明实施例提供了一种云平台,所述云平台包括:第二接收单元,第二获取单元以及第二发送单元,所述第二接收单元,用于接收第一租户发送的第二查询请求;其中,所述第二查询请求携带待查询的数据密钥对应的数据编码和目标租户地址;所述第二获取单元,用于根据所述目标租户地址和预设转发策略,获取所述数据密钥;所述第二发送单元,用于响应所述第二查询请求,向所述第一租户发送第一查询响应;其中,所述第一查询响应携带所述数据密钥。在上述方案中,所述第二获取单元,具体用于根据所述目标租户地址确定第二租户,并将第三查询请求发送至第二租户;其中,所述第三查询请求携带所述数据编码;以及接收所述第二租户发送的响应所述第三查询请求的第二查询响应;其中,所述第二查询响应携带所述数据密钥。本发明实施例提供了一种云平台,所述云平台包括处理器、接收器、发送器、存储有所述处理器可执行指令的存储器、通信接口,和用于连接所述处理器、所述存储器以及所述通信接口的总线,当所述指令被执行时,所述处理器、所述接收器和所述发送器执行如下操作:所述接收器,用于接收第一租户发送的第二查询请求;其中,所述第二查询请求携带待查询的数据密钥对应的数据编码和目标租户地址;所述处理器,用于根据所述目标租户地址和预设转发策略,获取所述数据密钥;所述发送器,用于响应所述第二查询请求,向所述第一租户发送第一查询响应;其中,所述第一查询响应携带所述数据密钥。在上述方案中,所述处理器,具体用于根据所述目标租户地址确定第二租户;所述发送器,具体用于将第三查询请求发送至第二租户;其中,所述第三查询请求携带所述数据编码;所述接收器,具体用于接收所述第二租户发送的响应所述第三查询请求的第二查询响应;其中,所述第二查询响应携带所述数据密钥。本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:接收第一租户发送的第二查询请求;其中,所述第二查询请求携带待查询的数据密钥对应的数据编码和目标租户地址;根据所述目标租户地址和预设转发策略,获取所述数据密钥;响应所述第二查询请求,向所述第一租户发送第一查询响应;其中,所述第一查询响应携带所述数据密钥。由此可见,本发明实施例的技术方案中,接收客户端发送的第一查询请求;其中,第一查询请求携带待查询的数据密钥对应的数据标识和数据编码;根据数据标识确定第一查询请求对应的查询类型;其中,查询类型包括租户内部查询和跨租户查询;当第一查询请求为跨租户查询时,按照第一预设查询策略和数据编码进行查询,获得数据密钥;其中,第一预设查询策略用于通过云平台进行跨租户查询;当第一查询请求为租户内部查询时,按照第二预设查询策略和数据编码进行查询,获得数据密钥;其中,第二预设查询策略用于在第一租户中进行租户内查询;响应第一查询请求,向上述客户端发送数据密钥。由此可见,本发明实施例提出的一种密钥查询方法及云平台,可以在接收第一查询请求之后,确定第一查询请求对应的查询类型,并根据不同的查询类型对数据密钥进行租户内部查询或者跨租户查询,从而可以在多租户的云环境中更为有效地查询数据密钥;并且,实现起来简单方便,便于普及,适用范围更广。附图说明图1为本发明实施例提出的存储密钥使用方法示意图;图2为本发明实施例提出的密钥全生命周期的示意图;图3为本发明实施例提出的一种密钥查询方法的实现流程示意图一;图4为本发明实施例提出的一种密钥查询方法的实现流程示意图二;图5为本发明实施例提出的一种密钥查询方法的实现流程示意图三;图6为本发明实施例提出的一种密钥查询方法的实现流程示意图四;图7为本发明实施例提出的一种密钥查询方法的实现流程示意图五;图8为本发明实施例提出的一种密钥查询方法的实现流程示意图六;图9为本发明实施例提出的一种密钥查询方法的实现流程示意图七;图10为本发明实施例提出的一种密钥查询方法的实现流程示意图八;图11为本发明实施例提出的一种密钥查询方法的实现流程示意图九;图12为本发明实施例提出的一种密钥查询方法的实现流程示意图十;图13为本发明实施例提出的一种密钥查询方法的实现流程示意图十一;图14为本发明实施例提出的一种密钥查询方法的实现流程示意图十二;图15为本发明实施例提出的一种密钥查询方法的实现流程示意图十三;图16为本发明实施例提出的第一租户的组成结构示意图一;图17为本发明实施例提出的第一租户的组成结构示意图二;图18为本发明实施例提出的第一租户的组成结构示意图三;图19为本发明实施例提出的第一租户的组成结构示意图四;图20为本发明实施例提出的云平台的组成结构示意图一;图21为本发明实施例提出的第二租户的组成结构示意图一;图22为本发明实施例提出的第二租户的组成结构示意图二;图23为本发明实施例提出的租户和云平台的整体结构示意图。具体实施方式在本发明提出的实施例中,云平台上的密钥可以分为存储密钥(mkey)和数据密钥(dkey),表1为本发明实施例中存储密钥和数据密钥的特征表,如表1所示,存储密钥用来保护存储在数据密钥库中的数据密钥,数据密钥库中的数据密钥使用存储密钥加密后保存。表1密钥名称用途说明存储密钥(mkey)加密保护数据密钥每年更新一次。数据密钥(dkey)加密租户的数据与数据相关,不同数据的密钥不同在本发明的实施例中,图1为本发明实施例提出的存储密钥使用方法示意图,如图1所示,初始状态下存储密钥被服务器证书加密后保存在服务器磁盘中;密钥查询服务启动时首先加载服务器证书,再使用服务器证书解密保存在服务器磁盘上的存储密钥;解密后的存储密钥用来加密数据密钥,保护其安全。在本发明的实施例中,为保证密钥安全,云平台将在密钥的全生命周期过程中对密钥进行管理,图2为本发明实施例提出的密钥全生命周期的示意图,如图2所示,密钥的全生命周期可以包括:密钥生成、密钥传输、密钥存储、密钥备份、密钥恢复、密钥使用、密钥更新以及密钥销毁。需要说明的是,在本发明的实施例中,本发明提出的密钥查询方法主要是针对密钥的全生命周期的第二个环节,即密钥传输问题,提出的一种适用于多租户云环境的密钥查询方法,这种方法适用于用户与租户之间已经完成了访问控制的鉴权,用户被授予访问租户数据的权限后,需要获取数据密钥的场景中。下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。实施例一本发明实施例一提出了一种密钥查询方法,应用于第一租户中,图3为本发明实施例提出的一种密钥查询方法的实现流程示意图一,如图3所示,在本发明的具体实施例中,上述第一租户进行密钥查询的方法主要包括以下步骤:步骤101、接收客户端发送的第一查询请求;其中,第一查询请求携带待查询的数据密钥对应的数据标识和数据编码。在本发明的具体实施例中,上述第一租户可以先接收客户端发送的第一查询请求,具体地,上述第一查询请求携带有待查询的数据密钥对应的数据标识和数据编码。需要说明的是,在本发明的实施例中,上述第一租户为多租户云环境中的多个租户中的任意一个租户。进一步地,在本发明的实施例中,上述第一租户需要进行查询的密钥是指由存储密钥加密过的数据密钥,数据密钥由存储密钥加密后存储在数据密钥库中。需要说明的是,在本发明的实施例中,上述数据标识用于对数据密钥对应的数据是否为租户内数据进行判定;上述数据编码用于在存储的多个数据密钥中确定上述数据密钥,具体地,上述数据编码可以为上述数据密钥对应数据的数据id。步骤102、根据数据标识确定第一查询请求对应的查询类型;其中,查询类型包括租户内部查询和跨租户查询。在本发明的具体实施例中,上述第一租户在接收客户端发送的第一查询请求之后,可以根据上述第一查询请求中携带的上述数据标识,确定上述第一查询请求对应的查询类型。需要说明的是,在本发明的实施例中,上述查询类型可以包括租户内部查询和跨租户查询。进一步地,在本发明的实施例中,按照用户所属租户的不同,密钥查询可以分为租户内部和跨租户两种类型。具体地,在本发明的实施例中,如果用户u为租户a中的用户,而不是租户b中的用户,租户内部查询即为用户u在租户a内部进行密钥查询,且进行密钥查询时,可以直接通过查询租户a内部的数据密钥库来实现。相应地,跨租户查询即为用户u在租户a内部查询租户b的数据密钥,则在进行密钥查询时,需要向云平台发出查询请求并通过云平台转发到租户b来查询数据密钥,然后再由云平台转发租户b发送的数据密钥给租户a。步骤103、当第一查询请求为跨租户查询时,按照第一预设查询策略和数据编码进行查询,获得数据密钥;其中,第一预设查询策略用于通过云平台进行跨租户查询。在本发明的具体实施例中,上述第一租户在根据上述第一查询请求中携带的上述数据标识,确定上述第一查询请求对应的查询类型之后,如果上述第一查询请求为跨租户查询时,上述第一租户可以按照第一预设查询策略和上述数据编码进行查询,从而获得上述数据密钥。需要说明的是,在本发明的实施例中,上述第一预设查询策略具体用于上述第一租户通过云平台进行跨租户查询。步骤104、当第一查询请求为租户内部查询时,按照第二预设查询策略和数据编码进行查询,获得数据密钥;其中,第二预设查询策略用于在第一租户中进行租户内查询。在本发明的具体实施例中,上述第一租户在根据上述第一查询请求中携带的上述数据标识,确定上述第一查询请求对应的查询类型之后,如果上述第一查询请求为租户内部查询时,上述第一租户可以按照第二预设查询策略和上述数据编码进行查询,从而获得上述数据密钥。需要说明的是,在本发明的实施例中,上述第二预设查询策略具体用于上述第一租户在上述第一租户内部进行租户内查询。步骤105、响应第一查询请求,向客户端发送数据密钥。在本发明的实施例中,上述第一租户在获得上述数据密钥之后,便可以响应上述第一查询请求,向上述客户端发送上述数据密钥。需要说明的是,在本发明的实施例中,如果上述查询类型为跨租户查询时,上述第一租户可以在根据上述第一预设查询策略获得上述数据密钥之后,将上述数据密钥发送给上述客户端;如果上述查询类型为租户内部查询时,上述第一租户可以在根据上述第二预设查询策略获得上述数据密钥之后,将上述数据密钥发送给上述客户端本发明实施例提出的一种密钥查询方法,接收客户端发送的第一查询请求;其中,第一查询请求携带待查询的数据密钥对应的数据标识和数据编码;根据数据标识确定第一查询请求对应的查询类型;其中,查询类型包括租户内部查询和跨租户查询;当第一查询请求为跨租户查询时,按照第一预设查询策略和数据编码进行查询,获得数据密钥;其中,第一预设查询策略用于通过云平台进行跨租户查询;当第一查询请求为租户内部查询时,按照第二预设查询策略和数据编码进行查询,获得数据密钥;其中,第二预设查询策略用于在第一租户中进行租户内查询;响应第一查询请求,向上述客户端发送数据密钥。由此可见,本发明实施例提出的一种密钥查询方法,可以在接收第一查询请求之后,确定第一查询请求对应的查询类型,并根据不同的查询类型对数据密钥进行租户内部查询或者跨租户查询,从而可以在多租户的云环境中更为有效地查询数据密钥;并且,实现起来简单方便,便于普及,适用范围更广。实施例二基于实施例一,图4为本发明实施例提出的一种密钥查询方法的实现流程示意图二,如图4所示,在本发明的具体实施例中,上述第一租户按照第一预设查询策略和数据编码进行查询,获得数据密钥的方法主要包括以下步骤:步骤201、在第一预存密钥库中,根据数据编码进行查询,获得第一查询结果;其中,第一预存密钥库用于存储第一租户从云平台获取的全部数据密钥。在本发明的具体实施例中,上述第一租户在根据上述第一查询请求中携带的上述数据标识,确定上述第一查询请求对应的查询类型之后,如果上述第一查询请求为跨租户查询时,上述第一租户可以先在第一预存密钥库中,根据上述数据编码进行查询,从而获得第一查询结果。需要说明的是,在本发明的实施例中,上述第一预存密钥库可以用于存储上述第一租户从上述云平台中获取的全部数据密钥。具体地,在本发明的实施例中,上述第一租户内部的数据密钥库可以分为第一预存密钥库和第二预存密钥库两种,其中,上述第一预存密钥库可以存储通过跨租户查询获得的其他租户中的数据密钥,上述第二预存密钥库用于存储租户内部的数据密钥。例如,上述第一预存密钥库可以为密钥cache库,上述第二预存密钥库可以为内部数据密钥库。进一步地,在本发明的实施例中,表2为本发明实施例中第一预存密钥库中的存储信息表,用于缓存其他租户的数据密钥信息的第一预存密钥库,例如密钥cache库,所存储的信息可以如下表2所示:表2项目内容备注数据标识数据的唯一标识主键数据所属租户的标识租户的唯一标识数据密钥数据的保护密钥使用存储密钥加密保存密钥长度密钥的长度信息进一步地,在本发明的实施例中,表3为本发明实施例中第二预存密钥库中的存储信息表,用于缓存第一租户的内部数据密钥信息的第二预存密钥库,例如内部数据密钥库,所存储的信息可以如下表3所示:表3项目内容备注数据标识数据的唯一标识主键数据密钥数据的保护密钥使用存储密钥加密保存密钥长度密钥的长度信息在本发明的实施例中,上述第一租户在接收到上述跨租户查询的请求之后,可以先在上述第一预存密钥库中对上述数据密钥进行查询,具体地,上述第一租户可以读取上述第一预存密钥库中的存储记录,并在上述存储记录中查找是否存在与上述数据编码对应的记录,从而获得上述第一查询结果。进一步地,在本发明的实施例中,上述第一租户在第一预存密钥库中,根据上述数据编码进行查询之后,如果确定上述第一预存密钥库中存储有上述数据密钥,那么可以认为上述第一查询结果为成功。相应地,如果确定上述第一预存密钥库中未存储上述数据密钥,那么可以认为上述第一查询结果为失败。步骤202、如果第一查询结果为失败,向云平台发送第二查询请求;其中,第二查询请求携带目标租户地址。在本发明的具体实施例中,上述第一租户在第一预存密钥库中,根据上述数据编码进行查询,并获得上述第一查询结果之后,如果上述第一查询结果为失败,那么上述第一租户可以向云平台发送第二查询请求。需要说明的是,在本发明的实施例中,上述第二查询请求可以携带存储上述数据密钥的目标租户的地址。进一步地,在本发明的实施例中,如果上述第一预存密钥库中未存储上述数据密钥,那么可以认为对上述数据密钥未进行过跨平台查询,因此上述第一租户中的上述第一预存密钥库中没有上述数据密钥的相关记录,因此,上述第一租户需要向云平台发送上述第二查询请求,以进行跨租户查询。进一步地,在本发明的实施例中,上述第一租户在第一预存密钥库中,根据上述数据编码进行查询,并获得上述第一查询结果之后,如果上述第一查询结果为成功,那么上述第一租户便可以从上述第一预存密钥库中获取上述数据密钥。进一步地,在本发明的实施例中,如果上述第一预存密钥库中存储上述数据密钥,那么可以认为对上述数据密钥进行过跨平台查询,因此上述第一租户中的上述第一预存密钥库中存在上述数据密钥的相关记录,因此,上述第一租户可以直接从上述第一预存密钥库中获取上述数据密钥,以进行跨租户查询。需要说明的是,在本发明的实施例中,上述第一租户在获取上述数据密钥之前,需要先对上述数据密钥进行解密校验,如果校验通过,那么上述第一租户便可以从上述第一预存密钥库中获取上述数据密钥。步骤203、接收云平台发送的响应第二查询请求的第一查询响应;其中,第一查询响应携带数据密钥。在本发明的具体实施例中,上述第一租户在向上述云平台发送上述第二查询请求之后,可以接收上述云平台发送的,用于响应上述第二查询请求的第一查询响应。需要说明的是,在本发明的实施例中,上述第一查询响应中携带有上述数据密钥。图5为本发明实施例提出的一种密钥查询方法的实现流程示意图三,如图5所示,在本发明的具体实施例中,当上述查询请求为跨租户查询时,按照上述第一预设查询策略和上述数据编码进行查询,获得上述数据密钥之后,即步骤103之后,上述第一租户进行密钥查询的方法还包括以下步骤:步骤106、将数据密钥添加至第一预存密钥库。在本发明的实施例中,上述第一租户在按照上述第一预设查询策略和上述数据编码进行查询,获得上述数据密钥之后,可以将上述数据密钥添加至上述第一预存密钥库中。进一步地,在本发明的实施例中,上述第一租户在获得上述数据密钥之后,可以在将上述数据密钥发送给上述客户端的同时,将上述数据密钥添加至上述第一预存密钥库中,以更新上述第一预存密钥库。需要说明的是,在本发明的实施例中,数据密钥在存储时由存储密钥保护,在传输过程中由会话密钥或数字证书保护。进一步地,云平台对数据密钥进行转发时将采用第一租户的服务器证书公钥加密。具体地,在本发明的实施例中,上述数据密钥在传输过程中由会话密钥进行安全保护的主要流程可以包括:上述客户端首先随机生成一个会话密钥;上述客户端使用服务器公钥加密会话密钥,并把加密后的会话密钥随同密钥查询请求一起发送给第一租户;第一租户的首先使用服务器私钥解密会话密钥,并保存会话密钥;第一租户通过云平台向第二租户发出查询请求;第二租户通过云平台返回查询结果,查询的数据密钥在第二租户与云平台、云平台与第一租户之间进行安全传输;第一租户把查询出来的密钥信息进行哈希,并使用会话密钥加密哈希值、数据密钥;第一租户把加密后的哈希值、数据密钥返回给上述客户端;上述客户端首先使用会话密钥解密哈希值、数据密钥,然后对返回的密钥进行哈希,并比较这两个哈希值,如一致则证明密钥在传递过程中没有被篡改,如不一致则证明密钥信息已被篡改。具体地,在本发明的实施例中,上述数据密钥在传输过程中由用户数字证书进行安全保护的主要流程可以包括:上述客户端发送密钥查询请求;第一租户通过云平台向第二租户发出查询请求;第二租户通过云平台返回查询结果,查询的数据密钥在第二租户与云平台、云平台与第一租户之间进行安全传输;第一租户使用客户端数字证书对查询出来的数据密钥进行加密;第一租户把加密后的数据密钥返回给上述客户端;上述客户端首先使用私钥解密数据密钥,如解密成功则证明数据密钥在传递过程中没有被篡改,如解密不成功则证明数据密钥已被篡改。本发明实施例提出的一种密钥查询方法,接收客户端发送的第一查询请求;其中,第一查询请求携带待查询的数据密钥对应的数据标识和数据编码;根据数据标识确定第一查询请求对应的查询类型;其中,查询类型包括租户内部查询和跨租户查询;当第一查询请求为跨租户查询时,按照第一预设查询策略和数据编码进行查询,获得数据密钥;其中,第一预设查询策略用于通过云平台进行跨租户查询;当第一查询请求为租户内部查询时,按照第二预设查询策略和数据编码进行查询,获得数据密钥;其中,第二预设查询策略用于在第一租户中进行租户内查询;响应第一查询请求,向上述客户端发送数据密钥。由此可见,本发明实施例提出的一种密钥查询方法,可以在接收第一查询请求之后,确定第一查询请求对应的查询类型,并根据不同的查询类型对数据密钥进行租户内部查询或者跨租户查询,从而可以在多租户的云环境中更为有效地查询数据密钥;并且,实现起来简单方便,便于普及,适用范围更广。实施例三基于实施例一,图6为本发明实施例提出的一种密钥查询方法的实现流程示意图四,如图6所示,在本发明的具体实施例中,上述第一租户按照第二预设查询策略和数据编码进行查询,获得数据密钥的方法主要包括以下步骤:步骤301、在第二预存密钥库中,根据数据编码进行查询,获得第二查询结果;其中,第二预存密钥库用于存储第一租户中的全部数据密钥。在本发明的具体实施例中,上述第一租户在根据上述第一查询请求中携带的上述数据标识,确定上述第一查询请求对应的查询类型之后,如果上述第一查询请求为租户内部查询时,上述第一租户可以先在第二预存密钥库中,根据上述数据编码进行查询,从而获得第二查询结果。需要说明的是,在本发明的实施例中,上述第二预存密钥库可以用于存储上述第一租户中的全部数据密钥。具体地,在本发明的实施例中,上述第一租户内部的数据密钥库可以分为第一预存密钥库和第二预存密钥库两种,其中,上述第一预存密钥库可以存储通过跨租户查询获得的其他租户中的数据密钥,上述第二预存密钥库用于存储租户内部的数据密钥。例如,上述第一预存密钥库可以为cache库,上述第二预存密钥可以为内部数据密钥库。在本发明的实施例中,上述第一租户在接收到上述租户内部查询的请求之后,可以先在上述第二预存密钥库中对上述数据密钥进行查询,具体地,上述第一租户可以读取上述第二预存密钥库中的存储记录,并在上述存储记录中查找是否存在与上述数据编码对应的记录,从而获得上述第二查询结果。进一步地,在本发明的实施例中,上述第一租户在第二预存密钥库中,根据上述数据编码进行查询之后,如果确定上述第二预存密钥库中存储有上述数据密钥,那么可以认为上述第二查询结果为成功。相应地,如果确定上述第二预存密钥库中未存储上述数据密钥,那么可以认为上述第二查询结果为失败。步骤302、如果第二查询结果为成功,在第二预存密钥库中确定数据密钥。在本发明的具体实施例中,上述第一租户在第二预存密钥库中,根据上述数据编码进行查询,从而获得第二查询结果之后,如果上述第二查询结果为成功,即在上述第二预存密钥库中存在上述数据密钥,那么上述第一租户便可以在上述第二预存密钥库中确定上述数据密钥。进一步地,在本发明的实施例中,上述第一租户在第二预存密钥库中,根据上述数据编码进行查询,从而获得第二查询结果之后,如果上述第二查询结果为失败,即在上述第二预存密钥库中不存在上述数据密钥,那么上述第一租户便可以生成查询失败的消息,并将查询失败的消息发送给上述客户端。步骤303、根据第一预存存储密钥对数据密钥进行解密校验,获得第一校验结果。在本发明的具体实施例中,上述第一租户在上述第二预存密钥库中确定上述数据密钥之后,便可以根据预先存储的第一预存存储密钥对上述数据密钥进行解密校验,从而获得上述第一校验结果。需要说明的是,在本发明的实施例中,保存在上述第二预存密钥库中的数据密钥在存储前可以使用存储密钥进行加密,上述第一租户不会将数据密钥原文保存在上述第二预存密钥库中。进一步地,在本发明的实施例中,上述第一租户在对上述数据密钥加密前首先使用sha-1算法计算上述数据密钥的哈希值;然后上述数据密钥连同其哈希值一起被上述第一预存存储密钥进行加密。进一步地,在本发明的实施例中,上述第一租户根据预先存储的第一预存存储密钥对上述数据密钥进行解密校验时,首先使用上述第一预存存储密钥解密上述数据密钥、哈希值;并且在返回上述数据密钥前再次计算其哈希值,然后将新获得的哈希值与原来保存的哈希值进行比较;如果新获得的哈希值与原来保存的哈希值一致,那么便可以认为解密成功。进一步地,在本发明的实施例中,上述第一租户在根据预先存储的第一预存存储密钥对上述数据密钥进行解密校验之后,如果解密校验成功,那么可以认为上述第一校验结果为成功;相应地,如果解密校验失败,那么可以认为上述第一校验结果为失败。步骤304、如果第一校验结果为成功,获取数据密钥。在本发明的具体实施例中,上述第一租户在根据预先存储的第一预存存储密钥对上述数据密钥进行解密校验,从而获得上述第一校验结果之后,如果上述第一校验结果为成功,那么上述第一租户便可以从上述第二预存密钥库中获取上述数据密钥。进一步地,在本发明的实施例中,上述第一租户在根据预先存储的第一预存存储密钥对上述数据密钥进行解密校验,从而获得上述第一校验结果之后,如果上述第一校验结果为失败,那么上述第一租户便可以生成查询失败的消息,并将查询失败的消息发送给上述客户端。需要说明的是,在本发明的实施例中,上述数据密钥在上述第二预存密钥库中由上述第一预存存储密钥保护,在传输过程中由会话密钥或数字证书保护。具体地,在本发明的实施例中,上述数据密钥在传输过程中由会话密钥进行安全保护的主要流程可以包括:上述客户端首先随机生成一个会话密钥;上述客户端使用服务器公钥加密会话密钥,并把加密后的会话密钥随同密钥查询请求一起发送给第一租户;第一租户的首先使用服务器私钥解密会话密钥,然后把查询出来的密钥信息进行哈希,并使用会话密钥加密哈希值、数据密钥;第一租户把加密后的哈希值、数据密钥返回给上述客户端;上述客户端首先使用会话密钥解密哈希值、数据密钥,然后对返回的密钥进行哈希,并比较这两个哈希值,如一致则证明数据密钥在传递过程中没有被篡改,如不一致则证明数据密钥已被篡改。具体地,在本发明的实施例中,上述数据密钥在传输过程中由用户数字证书进行安全保护的主要流程可以包括:上述客户端发送密钥查询请求;第一租户使用客户端数字证书对查询出来的数据密钥进行加密;第一租户的密钥管理模块把加密后的数据密钥返回给上述客户端;上述客户端首先使用私钥解密数据密钥,如解密成功则证明数据密钥在传递过程中没有被篡改,如解密不成功则证明数据密钥已被篡改。本发明实施例提出的一种密钥查询方法,接收客户端发送的第一查询请求;其中,第一查询请求携带待查询的数据密钥对应的数据标识和数据编码;根据数据标识确定第一查询请求对应的查询类型;其中,查询类型包括租户内部查询和跨租户查询;当第一查询请求为跨租户查询时,按照第一预设查询策略和数据编码进行查询,获得数据密钥;其中,第一预设查询策略用于通过云平台进行跨租户查询;当第一查询请求为租户内部查询时,按照第二预设查询策略和数据编码进行查询,获得数据密钥;其中,第二预设查询策略用于在第一租户中进行租户内查询;响应第一查询请求,向上述客户端发送数据密钥。由此可见,本发明实施例提出的一种密钥查询方法,可以在接收第一查询请求之后,确定第一查询请求对应的查询类型,并根据不同的查询类型对数据密钥进行租户内部查询或者跨租户查询,从而可以在多租户的云环境中更为有效地查询数据密钥;并且,实现起来简单方便,便于普及,适用范围更广。实施例四基于实施例二,图7为本发明实施例提出的一种密钥查询方法的实现流程示意图五,如图7所示,在本发明的具体实施例中,如果上述第一查询结果为失败,上述第一租户向上述云平台发送上述第二查询请求的方法主要包括以下步骤:步骤202a、根据预设确定策略确定数据编码对应的目标租户地址。在本发明的具体实施例中,上述第一租户在第一预存密钥库中,根据上述数据编码进行查询,并获得上述第一查询结果之后,如果上述第一查询结果为失败,那么上述第一租户可以先根据预设确定策略,确定出上述数据编码对应的上述目标租户地址。进一步地,在本发明的实施例中,上述第一租户可以获取预先存储的数据编码和目标租户地址的对应关系,然后可以通过上述数据编码、上述预先存储的数据编码和目标租户编码的对应关系,确定出上述数据编码对应的上述目标租户地址。步骤202b、根据目标租户地址,向云平台发送第二查询请求。在本发明的具体实施例中,上述第一租户在根据预设确定策略,确定出上述数据编码对应的上述目标租户地址之后,可以根据上述目标租户地址,向上述云平台发送上述第二查询请求。需要说明的是,在本发明的实施例中,上述第一租户在向上述云平台发送上述第二查询请求时,可以将上述目标租户地址添加至上述第二查询请求,发送至上述云平台,从而使上述云平台获取转发的目标租户。综上所述,在本发明的具体实施例中,通过上述步骤202a-202b,上述第一租户根据预设确定策略确定数据编码对应的目标租户地址;根据目标租户地址,向云平台发送第二查询请求;由此可见,本发明实施例提出的一种密钥查询方法,可以在接收第一查询请求之后,确定第一查询请求对应的查询类型,并根据不同的查询类型对数据密钥进行租户内部查询或者跨租户查询,从而可以在多租户的云环境中更为有效地查询数据密钥;并且,实现起来简单方便,便于普及,适用范围更广。实施例五基于实施例二,图8为本发明实施例提出的一种密钥查询方法的实现流程示意图六,如图8所示,在本发明的具体实施例中,当客户端不存在用户证书时,第一查询请求还携带会话密钥,接收客户端发送的第一查询请求之后,即步骤101之后,上述第一租户进行密钥查询的方法还包括以下步骤:步骤107、读取会话密钥,并将会话密钥存储至预设存储地址。在本发明的实施例中,如果上述客户端不存在用户证书时,那么上述第一查询请求还携带有会话密钥,上述第一租户在接收上述客户端发送的上述第一查询请求之后,还可以读取上述会话密钥,并将上述会话密钥存储至预设存储地址。需要说明的是,在本发明的实施例中,上述会话密钥用于在传输上述数据密钥的过程中,对上述数据密钥进行保护。具体地,在本发明的实施例中,当上述客户端不存在上述用户证书时,上述第一租户通过上述会话密钥对上述数据密钥进行保护。需要说明的是,在本发明的实施例中,当上述第一查询请求为跨租户查询时,需要在不同租户之间进行上述数据密钥查询的转发,上述数据密钥查询转发由上述云平台完成,例如,云平台接受租户a的查询请求,然后转发给租户b,并将租户b返回的数据密钥转发给租户a。具体地,在本发明的实施例中,数据密钥在转发传输的过程中,需要对上述数据密钥进行保护。进一步地,在发明的实施例中,在转发传输的过程中,上述第一租户可以通过多种方法对上述数据密钥进行保护。具体地,上述第一租户可以根据上述客户端是否存在用户证书,将转发传输过程中的数据密钥的保护方法分为会话密钥保护和公钥基础设施(publickeyinfrastructure,pki)证书保护两个类型。图9为本发明实施例提出的一种密钥查询方法的实现流程示意图七,如图9所示,在本发明的具体实施例中,当客户端不存在用户证书时,上述第一租户响应第一查询请求,向上述客户端发送数据密钥的方法包括以下步骤:步骤105a、从上述预设存储地址中获取会话密钥。在本发明的具体实施例中,如果上述客户端不存在上述用户证书,上述第一租户在从上述云平台获取上述数据密钥之后,可以先从上述预设存储地址中获取上述会话密钥。步骤105b、根据会话密钥加密数据密钥,获得加密后的数据密钥。在本发明的具体实施例中,上述第一租户在从上述预设存储地址中获取上述会话密钥之后,可以再次根据上述会话密钥加密上述数据密钥,获得加密后的数据密钥。步骤105c、发送加密后的数据密钥。在本发明的具体实施例中,上述第一租户在根据上述会话密钥加密上述数据密钥,获得加密后的数据密钥之后,便可以将上述加密后的数据密钥发送给上述客户端。进一步地,在本发明的实施例中,上述第一租户在将上述加密后的数据密钥发送给上述客户端之后,上述客户端可以根据上述会话密钥对上述加密后的数据密钥进行解密,从而获得上述数据密钥。综上所述,在本发明的具体实施例中,通过上述步骤105a-105c,上述第一租户从预设存储地址中获取会话密钥;根据会话密钥加密数据密钥,获得加密后的数据密钥;发送加密后的数据密钥;由此可见,本发明实施例提出的一种密钥查询方法,可以在接收第一查询请求之后,确定第一查询请求对应的查询类型,并根据不同的查询类型对数据密钥进行租户内部查询或者跨租户查询,从而可以在多租户的云环境中更为有效地查询数据密钥;并且,实现起来简单方便,便于普及,适用范围更广。实施例六基于实施例二,图10为本发明实施例提出的一种密钥查询方法的实现流程示意图八,如图10所示,在本发明的具体实施例中,当客户端存在用户证书时,上述第一租户响应第一查询请求,向上述客户端发送数据密钥的方法包括以下步骤:步骤105d、读取用户证书,并根据用户证书加密数据密钥,获得加密后的数据密钥。在本发明的具体实施例中,如果上述客户端存在上述用户证书,那么上述第一租户在从上述云平台获取上述数据密钥之后,可以先读取上述用户证书,并根据上述用户证书加密上述数据密钥,获得加密后的数据密钥。具体地,在本发明的实施例中,当上述客户端存在上述用户证书时,上述第一租户通过上述用户证书对上述数据密钥进行保护。步骤105e、发送加密后的数据密钥。在本发明的具体实施例中,上述第一租户在读取上述用户证书,并根据上述用户证书加密上述数据密钥,获得加密后的数据密钥之后,便可以将上述加密后的数据密钥发送给上述客户端。进一步地,在本发明的实施例中,上述第一租户在将上述加密后的数据密钥发送给上述客户端之后,上述客户端可以根据上述用户证书对上述加密后的数据密钥进行解密,从而获得上述数据密钥。综上所述,在本发明的具体实施例中,通过上述步骤105d-105e,上述第一租户读取用户证书,并根据用户证书加密数据密钥,获得加密后的数据密钥;发送加密后的数据密钥。由此可见,本发明实施例提出的一种密钥查询方法,可以在接收第一查询请求之后,确定第一查询请求对应的查询类型,并根据不同的查询类型对数据密钥进行租户内部查询或者跨租户查询,从而可以在多租户的云环境中更为有效地查询数据密钥;并且,实现起来简单方便,便于普及,适用范围更广。实施例七本发明实施例七提出了一种密钥查询方法,应用于云平台中,图11为本发明实施例提出的一种密钥查询方法的实现流程示意图九,如图11所示,在本发明的具体实施例中,上述云平台进行密钥查询的方法主要包括以下步骤:步骤401、接收第一租户发送的第二查询请求;其中,第二查询请求携带待查询的数据密钥对应的数据编码和目标租户地址。在本发明的具体实施例中,上述云平台可以接收第一租户发送的第二查询请求,具体地,上述第二查询请求携带有待查询的数据密钥对应的数据编码和目标租户地址。需要说明的是,在本发明的实施例中,上述数据编码用于在存储的多个数据密钥中确定上述数据密钥,具体地,上述数据编码可以为上述数据密钥对应数据的数据id;上述目标租户地址为存储上述数据密钥的租户的地址。步骤402、根据目标租户地址和预设转发策略,获取数据密钥。在本发明的实施例中,上述云平台在接收第一租户发送的第二查询请求之后,可以根据上述第二查询请求中携带的目标租户地址和上述预设转发策略,获取上述数据密钥。需要说明的是,在本发明的实施例中,上述预设转发策略用于上述云平台在不同租户间进行密钥查询请求转发,以获得密钥查询请求对应的数据密钥。步骤403、响应第二查询请求,向第一租户发送第一查询响应;其中,第一查询响应携带数据密钥。在本发明的实施例中,上述云平台在根据上述第二查询请求中携带的目标租户地址和上述预设转发策略,获取上述数据密钥之后,可以响应上述第二查询请求,向上述第一租户发送用于响应上述第二查询请求的第一查询响应。需要说明的是,在本发明的实施例中,上述第一查询响应携带上述数据密钥。本发明实施例提出的一种密钥查询方法,接收第一租户发送的第二查询请求;其中,第二查询请求携带待查询的数据密钥对应的数据编码和目标租户地址;根据目标租户地址和预设转发策略,获取数据密钥;响应第二查询请求,向第一租户发送第一查询响应;其中,第一查询响应携带数据密钥。由此可见,本发明实施例提出的一种密钥查询方法,可以在接收第一查询请求之后,确定第一查询请求对应的查询类型,并根据不同的查询类型对数据密钥进行租户内部查询或者跨租户查询,从而可以在多租户的云环境中更为有效地查询数据密钥;并且,实现起来简单方便,便于普及,适用范围更广。实施例八基于上述实施例七,图12为本发明实施例提出的一种密钥查询方法的实现流程示意图十,如图12所示,在本发明的具体实施例中,上述云平台根据目标租户地址和预设转发策略,获取数据密钥的方法主要包括以下步骤:步骤402a、根据目标租户地址确定第二租户,并将第三查询请求发送至第二租户;其中,第三查询请求携带数据编码。在本发明的实施例中,上述云平台在接收第一租户发送的第二查询请求之后,可以根据上述第二查询请求中携带的上述目标租户地址确定第二租户,并将第三查询请求发送至上述第二租户。需要说明的是,在本发明的实施例中,上述第三查询请求携带有上述数据编码,以便上述第二租户在存储的多个数据密钥中,根据上述数据编码确定上述数据密钥。步骤402b、接收第二租户发送的响应第三查询请求的第二查询响应;其中,第二查询响应携带数据密钥。在本发明的实施例中,上述云平台在根据上述目标租户地址确定第二租户,并将第三查询请求发送至第二租户之后,可以接收上述第二租户发送的,用于响应上述第三查询请求的第二查询响应。需要说明的是,在本发明的实施例中,上述第二查询响应携带上述数据密钥。综上所述,在本发明的具体实施例中,通过上述步骤402a-402b,上述云平台根据目标租户地址确定第二租户,并将第三查询请求发送至第二租户;其中,第三查询请求携带数据编码;接收第二租户发送的响应第三查询请求的第二查询响应;其中,第二查询响应携带数据密钥。由此可见,本发明实施例提出的一种密钥查询方法,可以在接收第一查询请求之后,确定第一查询请求对应的查询类型,并根据不同的查询类型对数据密钥进行租户内部查询或者跨租户查询,从而可以在多租户的云环境中更为有效地查询数据密钥;并且,实现起来简单方便,便于普及,适用范围更广。实施例九本发明实施例九提出了一种密钥查询方法,应用于第二租户中,图13为本发明实施例提出的一种密钥查询方法的实现流程示意图十一,如图13所示,在本发明的具体实施例中,上述第二租户进行密钥查询的方法主要包括以下步骤:步骤501、接收云平台发送的第三查询请求;其中,第三查询请求携带待查询的数据密钥对应的数据编码。在本发明的实施例中,上述第二租户可以接收云平台发送的第三查询请求。具体地,上述第三查询请求中携带有待查询的数据密钥对应的数据编码。需要说明的是,在本发明的实施例中,第二租户为多租户云环境中的多个租户中的、除过第一租户以外的任意一个租户。需要说明的是,在本发明的实施例中,上述数据编码用于在存储的多个数据密钥中确定上述数据密钥,具体地,上述数据编码可以为上述数据密钥对应数据的数据id。步骤502、按照第三预设查询策略和数据编码进行查询,获得数据密钥;其中,第三预设查询策略用于在第二租户内部进行租户内查询。在本发明的实施例中,上述第二租户在接收上述云平台发送的第三查询请求之后,可以按照第三预设查询策略和上述数据编码进行查询,从而获得上述数据密钥。需要说明的是,在本发明的实施例中,上述第三预设查询策略具体用于上述第二租户在上述第二租户内部进行租户内查询。步骤503、响应第三查询请求,向云平台发送第二查询响应;其中,第二查询响应携带数据密钥。在本发明实施例中,上述第二租户在按照第三预设查询策略和上述数据编码进行查询,获得上述数据密钥之后,可以响应上述第三查询请求,向上述云平台发送第二查询响应。需要说明的是,在本发明的实施例中,上述第二查询响应携带上述数据密钥。本发明实施例提出的一种密钥查询方法,接收云平台发送的第三查询请求;其中,第三查询请求携带待查询的数据密钥对应的数据编码;按照第三预设查询策略和数据编码进行查询,获得数据密钥;其中,第三预设查询策略用于在第二租户内部进行租户内查询;响应第三查询请求,向云平台发送第二查询响应;其中,第二查询响应携带数据密钥。由此可见,本发明实施例提出的一种密钥查询方法,可以在接收第一查询请求之后,确定第一查询请求对应的查询类型,并根据不同的查询类型对数据密钥进行租户内部查询或者跨租户查询,从而可以在多租户的云环境中更为有效地查询数据密钥;并且,实现起来简单方便,便于普及,适用范围更广。实施例十基于上述实施例九,图14为本发明实施例提出的一种密钥查询方法的实现流程示意图十二,如图14所示,在本发明的具体实施例中,上述云平台按照第三预设查询策略和数据编码进行查询,获得数据密钥的方法主要包括以下步骤:步骤502a、在第三预存密钥库中,根据数据编码进行查询,获得第三查询结果;其中,第三预存密钥库用于存储第二租户中的全部数据密钥。在本发明的实施例中,上述第二租户在接收云平台发送的第三查询请求之后,可以在上述第三预存密钥库中,根据上述数据编码进行查询,从而获得第三查询结果。需要说明的是,在本发明的实施例中,上述第三预存密钥库用于存储上述第二租户中的全部数据密钥。具体地,在本发明的实施例中,上述第二租户内部的数据密钥库可以分为第三预存密钥库和第四预存密钥库两种,其中,上述第四预存密钥库可以存储通过跨租户查询获得的其他租户中的数据密钥,上述第三预存密钥库用于存储租户内部的数据密钥。例如,上述第四预存密钥库可以为cache库,上述第三预存密钥可以为内部数据密钥库。步骤502b、如果第三查询结果为成功,在第三预存密钥库中确定数据密钥。在本发明的实施例中,上述第二租户在上述第三预存密钥库中,根据上述数据编码进行查询,从而获得第三查询结果之后,如果上述第三查询结果为成功,即在上述第三预存密钥库中存在上述数据密钥,那么上述第二租户便可以在上述第三预存密钥库中确定上述数据密钥。进一步地,在本发明的实施例中,上述第二租户在第三预存密钥库中,根据上述数据编码进行查询,从而获得第三查询结果之后,如果上述第三查询结果为失败,即在上述第三预存密钥库中不存在上述数据密钥,那么上述第二租户便可以生成查询失败的消息,并将查询失败的消息发送给上述云平台。步骤502c、根据第二预存存储密钥对数据密钥进行解密校验,获得第二校验结果。在本发明的具体实施例中,上述第二租户在上述第三预存密钥库中确定上述数据密钥之后,便可以根据预先存储的第二预存存储密钥对上述数据密钥进行解密校验,从而获得上述第二校验结果。需要说明的是,在本发明的实施例中,保存在上述第三预存密钥库中的数据密钥在存储前可以使用存储密钥进行加密,上述第二租户不会将数据密钥原文保存在上述第三预存密钥库中。进一步地,在本发明的实施例中,上述第二租户在对上述数据密钥加密前首先使用sha-1算法计算上述数据密钥的哈希值;然后上述数据密钥连同其哈希值一起被上述第二预存存储密钥进行加密。进一步地,在本发明的实施例中,上述第二租户在根据预先存储的第二预存存储密钥对上述数据密钥进行解密校验之后,如果解密校验成功,那么可以认为上述第二校验结果为成功;相应地,如果解密校验失败,那么可以认为上述第二校验结果为失败。步骤502d、如果第二校验结果为成功,获取数据密钥。在本发明的具体实施例中,上述第二租户在根据预先存储的第二预存存储密钥对上述数据密钥进行解密校验,从而获得上述第二校验结果之后,如果上述第二校验结果为成功,那么上述第二租户便可以从上述第三预存密钥库中获取上述数据密钥。进一步地,在本发明的实施例中,上述第二租户在根据预先存储的第二预存存储密钥对上述数据密钥进行解密校验,从而获得上述第二校验结果之后,如果上述第二校验结果为失败,那么上述第二租户便可以生成查询失败的消息,并将查询失败的消息发送给上述云平台。综上所述,在本发明的具体实施例中,通过上述步骤502a-502d,上述云平台在第三预存密钥库中,根据数据编码进行查询,获得第三查询结果;其中,第三预存密钥库用于存储第二租户中的全部数据密钥;如果第三查询结果为成功,在第三预存密钥库中确定数据密钥;根据第二预存存储密钥对数据密钥进行解密校验,获得第二校验结果;如果第二校验结果为成功,获取数据密钥。由此可见,本发明实施例提出的一种密钥查询方法,可以在接收第一查询请求之后,确定第一查询请求对应的查询类型,并根据不同的查询类型对数据密钥进行租户内部查询或者跨租户查询,从而可以在多租户的云环境中更为有效地查询数据密钥;并且,实现起来简单方便,便于普及,适用范围更广。实施例十一基于上述实施例一至实施例十,本发明实施例十一提出了一种密钥查询方法,应用于第一租户、云平台以及第二租户中,图15为本发明实施例提出的一种密钥查询方法的实现流程示意图十三,如图15所示,在本发明的具体实施例中,进行密钥查询的方法主要包括以下步骤:步骤601、第一租户接收客户端发送的第一查询请求;其中,第一查询请求携带待查询的数据密钥对应的数据标识和数据编码。在本发明的具体实施例中,上述第一租户可以先接收客户端发送的第一查询请求,具体地,上述第一查询请求携带有待查询的数据密钥对应的数据标识和数据编码。需要说明的是,在本发明的实施例中,上述数据标识用于对数据密钥对应的数据是否为租户内数据进行判定;上述数据编码用于在存储的多个数据密钥中确定上述数据密钥,具体地,上述数据编码可以为上述数据密钥对应数据的数据id。步骤602、第一租户根据数据标识确定第一查询请求对应的查询类型;其中,查询类型包括租户内部查询和跨租户查询。在本发明的具体实施例中,上述第一租户在接收客户端发送的第一查询请求之后,可以根据上述第一查询请求中携带的上述数据标识,确定上述第一查询请求对应的查询类型。需要说明的是,在本发明的实施例中,上述查询类型可以包括租户内部查询和跨租户查询。步骤603、当第一查询请求为跨租户查询时,第一租户在第一预存密钥库中,根据数据编码进行查询,获得第一查询结果;其中,第一预存密钥库用于存储第一租户从云平台获取的全部数据密钥。在本发明的具体实施例中,上述第一租户在根据上述第一查询请求中携带的上述数据标识,确定上述第一查询请求对应的查询类型之后,如果上述第一查询请求为跨租户查询时,上述第一租户可以先在第一预存密钥库中,根据上述数据编码进行查询,从而获得第一查询结果。需要说明的是,在本发明的实施例中,上述第一预存密钥库可以用于存储上述第一租户从上述云平台中获取的全部数据密钥。具体地,在本发明的实施例中,上述第一租户内部的数据密钥库可以分为第一预存密钥库和第二预存密钥库两种,其中,上述第一预存密钥库可以存储通过跨租户查询获得的其他租户中的数据密钥,上述第二预存密钥库用于存储租户内部的数据密钥。例如,上述第一预存密钥库可以为cache库,上述第二预存密钥可以为内部数据密钥库。步骤604、如果第一查询结果为失败,第一租户向云平台发送第二查询请求;其中,第二查询请求携带数据编码和目标租户地址。在本发明的具体实施例中,上述第一租户在第一预存密钥库中,根据数据编码进行查询,并获得上述第一查询结果之后,如果上述第一查询结果为失败,那么上述第一租户可以向云平台发送第二查询请求。需要说明的是,在本发明的实施例中,上述第二查询请求可以携带存储上述数据密钥的目标租户的地址和上述数据编码。步骤605、云平台根据目标租户地址确定第二租户。在本发明的实施例中,上述云平台在接收第一租户发送的第二查询请求之后,可以根据上述第二查询请求中携带的上述目标租户地址确定第二租户。步骤606、云平台将第三查询请求发送至第二租户;其中,第三查询请求携带数据编码。在本发明的实施例中,上述云平台在根据上述第二查询请求中携带的上述目标租户地址确定第二租户之后,可以将第三查询请求发送至上述第二租户。需要说明的是,在本发明的实施例中,上述第三查询请求携带有上述数据编码,以便上述第二租户在存储的多个数据密钥中,根据上述数据编码确定上述数据密钥。步骤607、第二租户在第三预存密钥库中,根据数据编码进行查询,获得第三查询结果;其中,第三预存密钥库用于存储第二租户中的全部数据密钥。在本发明的实施例中,上述第二租户在接收云平台发送的第三查询请求之后,可以在上述第三预存密钥库中,根据上述数据编码进行查询,从而获得第三查询结果。需要说明的是,在本发明的实施例中,上述第三预存密钥库用于存储上述第二租户中的全部数据密钥。步骤608、如果第三查询结果为成功,第二租户在第三预存密钥库中确定数据密钥。在本发明的实施例中,上述第二租户在上述第三预存密钥库中,根据上述数据编码进行查询,从而获得第三查询结果之后,如果上述第三查询结果为成功,即在上述第三预存密钥库中存在上述数据密钥,那么上述第二租户便可以在上述第三预存密钥库中确定上述数据密钥。进一步地,在本发明的实施例中,上述第二租户在第三预存密钥库中,根据上述数据编码进行查询,从而获得第三查询结果之后,如果上述第三查询结果为失败,即在上述第三预存密钥库中不存在上述数据密钥,那么上述第二租户便可以生成查询失败的消息,并将查询失败的消息发送给上述云平台。步骤609、第二租户根据第二预存存储密钥对数据密钥进行解密校验,获得第二校验结果。在本发明的具体实施例中,上述第二租户在上述第三预存密钥库中确定上述数据密钥之后,便可以根据预先存储的第二预存存储密钥对上述数据密钥进行解密校验,从而获得上述第二校验结果。步骤610、如果第二校验结果为成功,第二租户获取数据密钥。在本发明的具体实施例中,上述第二租户在根据预先存储的第二预存存储密钥对上述数据密钥进行解密校验,从而获得上述第二校验结果之后,如果上述第二校验结果为成功,那么上述第二租户便可以从上述第三预存密钥库中获取上述数据密钥。进一步地,在本发明的实施例中,上述第二租户在根据预先存储的第二预存存储密钥对上述数据密钥进行解密校验,从而获得上述第二校验结果之后,如果上述第二校验结果为失败,那么上述第二租户便可以生成查询失败的消息,并将查询失败的消息发送给上述云平台。步骤6011、响应第三查询请求,第二租户向云平台发送第二查询响应;其中,第二查询响应携带数据密钥。在本发明实施例中,如果上述第二校验结果为成功,上述第二租户在从上述第三预存密钥库中获取上述数据密钥之后,可以响应上述第三查询请求,向上述云平台发送第二查询响应。需要说明的是,在本发明的实施例中,上述第二查询响应携带上述数据密钥。步骤6012、响应第二查询请求,云平台向第一租户发送第一查询响应;其中,第一查询响应携带数据密钥。在本发明的实施例中,上述云平台在接收上述第二租户发送的响应上述第三查询请求的第二查询响应之后,可以响应上述第二查询请求,向上述第一租户发送用于响应上述第二查询请求的第一查询响应。需要说明的是,在本发明的实施例中,上述第一查询响应携带上述数据密钥。步骤6013、响应第一查询请求,第一租户向客户端发送数据密钥。在本发明的实施例中,上述第一租户在获得上述数据密钥之后,便可以响应上述第一查询请求,向上述客户端发送上述数据密钥。进一步地,在本发明的实施例中,上述第一租户在获得上述数据密钥之后,可以在将上述数据密钥发送给上述客户端的同时,将上述数据密钥添加至上述第一预存密钥库中,以更新上述第一预存密钥库。在本发明的实施例中,进一步地,上述第一租户在根据上述第一查询请求中携带的上述数据标识,确定上述第一查询请求对应的查询类型之后,如果上述第一查询请求为租户内部查询时,上述第一租户可以按照第二预设查询策略和上述数据编码进行查询,从而获得上述数据密钥。需要说明的是,在本发明的实施例中,上述第二预设查询策略具体用于上述第一租户在上述第一租户内部进行租户内查询。本发明实施例提出的一种密钥查询方法,接收客户端发送的第一查询请求;其中,第一查询请求携带待查询的数据密钥对应的数据标识和数据编码;根据数据标识确定第一查询请求对应的查询类型;其中,查询类型包括租户内部查询和跨租户查询;当第一查询请求为跨租户查询时,按照第一预设查询策略和数据编码进行查询,获得数据密钥;其中,第一预设查询策略用于通过云平台进行跨租户查询;当第一查询请求为租户内部查询时,按照第二预设查询策略和数据编码进行查询,获得数据密钥;其中,第二预设查询策略用于在第一租户中进行租户内查询;响应第一查询请求,向上述客户端发送数据密钥。由此可见,本发明实施例提出的一种密钥查询方法,可以在接收第一查询请求之后,确定第一查询请求对应的查询类型,并根据不同的查询类型对数据密钥进行租户内部查询或者跨租户查询,从而可以在多租户的云环境中更为有效地查询数据密钥;并且,实现起来简单方便,便于普及,适用范围更广。实施例十二图16为本发明实施例提出的第一租户的组成结构示意图一,如图16所示,在本发明的具体实施例中,第一租户1包括:第一接收单元11,第一确定单元12,第一查询单元13以及第一发送单元14。第一接收单元11,用于接收客户端发送的第一查询请求;其中,第一查询请求携带待查询的数据密钥对应的数据标识和数据编码。第一确定单元12,用于在第一接收单元11接收客户端发送的第一查询请求之后,根据数据标识确定第一查询请求对应的查询类型;其中,查询类型包括租户内部查询和跨租户查询。第一查询单元13,用于在第一确定单元12根据数据标识确定第一查询请求对应的查询类型之后,当第一查询请求为跨租户查询时,按照第一预设查询策略和数据编码进行查询,获得数据密钥;其中,第一预设查询策略用于通过云平台进行跨租户查询;以及当第一查询请求为租户内部查询时,按照第二预设查询策略和数据编码进行查询,获得数据密钥;其中,第二预设查询策略用于在第一租户中进行租户内查询。第一发送单元14,用于在第一查询单元13获得数据密钥之后,响应第一查询请求,向上述客户端发送数据密钥。在本发明的实施例中,进一步地,第一查询单元13,具体用于在第一预存密钥库中,根据数据编码进行查询,获得第一查询结果;其中,第一预存密钥库用于存储第一租户从云平台获取的全部数据密钥。第一发送单元14,还用于在第一查询单元13在第一预存密钥库中,根据数据编码进行查询,获得第一查询结果之后,如果第一查询结果为失败,向云平台发送第二查询请求;其中,第二查询请求携带数据编码和目标租户地址。第一接收单元11,还用于在第一发送单元14向云平台发送第二查询请求之后,接收云平台发送的响应第二查询请求的第一查询响应;其中,第一查询响应携带数据密钥。基于上述图16,图17为本发明实施例提出的第一租户的组成结构示意图二,如图17所示,在本发明的具体实施例中,第一租户1还包括:第一校验单元15和第一获取单元16。第一查询单元13,还具体用于在第二预存密钥库中,根据数据编码进行查询,获得第二查询结果;其中,第二预存密钥库用于存储第一租户中的全部数据密钥。第一确定单元12,还用于在第一查询单元13根据数据编码进行查询,获得第二查询结果之后,如果第二查询结果为成功,在第二预存密钥库中确定数据密钥。第一校验单元15,用于在第一确定单元12在第二预存密钥库中确定数据密钥之后,根据第一预存存储密钥对数据密钥进行解密校验,获得第一校验结果。第一获取单元16,用于在第一校验单元15根据第一预存存储密钥对数据密钥进行解密校验,获得第一校验结果之后,如果第一校验结果为成功,获取数据密钥。在本发明的实施例中,进一步地,上述第一发送单元14,具体用于根据预设确定策略确定数据编码对应的目标租户地址;以及根据目标租户地址,向云平台发送第二查询请求。基于上述图16,图18为本发明实施例提出的第一租户的组成结构示意图三,如图18所示,在本发明的具体实施例中,第一租户1还包括:添加单元17。添加单元17,用于当查询请求为跨租户查询时,按照第一预设查询策略和数据编码进行查询,获得数据密钥之后,将数据密钥添加至第一预存密钥库。基于上述图16,图19为本发明实施例提出的第一租户的组成结构示意图四,如图19所示,在本发明的具体实施例中,第一租户1还包括:存储单元18。存储单元18,用于当客户端不存在用户证书时,第一查询请求还携带会话密钥,接收客户端发送的第一查询请求之后,读取会话密钥,并将会话密钥存储至预设存储地址。在本发明的实施例中,进一步地,上述第一发送单元14,还具体用于从预设存储地址中获取会话密钥;以及根据会话密钥加密数据密钥,获得加密后的数据密钥;以及发送加密后的数据密钥。在本发明的实施例中,进一步地,上述第一发送单元14,还具体用于当客户端存在用户证书时,读取用户证书,并根据用户证书加密数据密钥,获得加密后的数据密钥;以及发送加密后的数据密钥。本发明实施例提供的第一接收单元11,第一确定单元12,第一查询单元13以及第一发送单元14、第一校验单元15、第一获取单元16、添加单元17以及存储单元18都可以以程序代码的形式通过由第一租户中的处理器执行相应功能来实现;当然也可通过具体的逻辑电路实现;在具体实施例的过程中,处理器可以为中央处理器(centralprocessingunit,cpu)、微处理器((microprocessorunit,mpu)、数字信号处理器(digitalsignalprocessor,dsp)或现场可编程门阵列(fieldprogrammablegatearray,fpga)等;上述第一租户还包括:存储器,该存储器可以为具有实物形式的存储设备,如内存条、tf卡,或者具有存储功能的电路,如随机存取存储器(ram)、fifo储存器等。本发明实施例提出的第一租户,接收客户端发送的第一查询请求;其中,第一查询请求携带待查询的数据密钥对应的数据标识和数据编码;根据数据标识确定第一查询请求对应的查询类型;其中,查询类型包括租户内部查询和跨租户查询;当第一查询请求为跨租户查询时,按照第一预设查询策略和数据编码进行查询,获得数据密钥;其中,第一预设查询策略用于通过云平台进行跨租户查询;当第一查询请求为租户内部查询时,按照第二预设查询策略和数据编码进行查询,获得数据密钥;其中,第二预设查询策略用于在第一租户中进行租户内查询;响应第一查询请求,向上述客户端发送数据密钥。由此可见,本发明实施例提出的第一租户,可以在接收第一查询请求之后,确定第一查询请求对应的查询类型,并根据不同的查询类型对数据密钥进行租户内部查询或者跨租户查询,从而可以在多租户的云环境中更为有效地查询数据密钥;并且,实现起来简单方便,便于普及,适用范围更广。实施例十三图20为本发明实施例提出的云平台的组成结构示意图一,如图20所示,在本发明的具体实施例中,云平台2包括:第二接收单元21,第二获取单元22以及第二发送单元23。第二接收单元21,用于接收第一租户发送的第二查询请求;其中,第二查询请求携带待查询的数据密钥对应的数据编码和目标租户地址。第二获取单元22,用于在第二接收单元21接收第一租户发送的第二查询请求之后,根据目标租户地址和预设转发策略,获取数据密钥。第二发送单元23,用于在第二获取单元22根据目标租户地址和预设转发策略,获取数据密钥之后,响应第二查询请求,向第一租户发送第一查询响应;其中,第一查询响应携带数据密钥。在本发明的实施例中,进一步地,上述第二获取单元22,具体用于根据目标租户地址确定第二租户,并将第三查询请求发送至第二租户;其中,第三查询请求携带数据编码;以及接收第二租户发送的响应第三查询请求的第二查询响应;其中,第二查询响应携带数据密钥。本发明实施例提供的第二接收单元21,第二获取单元22以及第二发送单元23都可以以程序代码的形式通过由云平台中的处理器执行相应功能来实现;当然也可通过具体的逻辑电路实现;在具体实施例的过程中,处理器可以为中央处理器(centralprocessingunit,cpu)、微处理器((microprocessorunit,mpu)、数字信号处理器(digitalsignalprocessor,dsp)或现场可编程门阵列(fieldprogrammablegatearray,fpga)等;上述云平台还包括:存储器,该存储器可以为具有实物形式的存储设备,如内存条、tf卡,或者具有存储功能的电路,如随机存取存储器(ram)、fifo储存器等。本发明实施例提出的云平台,接收第一租户发送的第二查询请求;其中,第二查询请求携带待查询的数据密钥对应的数据编码和目标租户地址;根据目标租户地址和预设转发策略,获取数据密钥;响应第二查询请求,向第一租户发送第一查询响应;其中,第一查询响应携带数据密钥。由此可见,本发明实施例提出的云平台,可以在接收第一查询请求之后,确定第一查询请求对应的查询类型,并根据不同的查询类型对数据密钥进行租户内部查询或者跨租户查询,从而可以在多租户的云环境中更为有效地查询数据密钥;并且,实现起来简单方便,便于普及,适用范围更广。实施例十四图21为本发明实施例提出的第二租户的组成结构示意图一,如图21所示,在本发明的具体实施例中,第二租户3包括:第三接收单元31,第二查询单元32以及第三发送单元33。第三接收单元31,用于接收云平台发送的第三查询请求;其中,第三查询请求携带待查询的数据密钥对应的数据编码。第二查询单元32,用于按照第三预设查询策略和数据编码进行查询,获得数据密钥;其中,第三预设查询策略用于在第二租户内部进行租户内查询。第三发送单元33,用于响应第三查询请求,向云平台发送第二查询响应;其中,第二查询响应携带数据密钥。基于上述图21,图22为本发明实施例提出的第二租户的组成结构示意图二,如图22所示,在本发明的具体实施例中,第二租户3还包括:第二确定单元34,第二校验单元35以及第三获取单元36。第二查询单元32,具体用于在第三预存密钥库中,根据数据编码进行查询,获得第三查询结果;其中,第三预存密钥库用于存储第二租户中的全部数据密钥。第二确定单元34,用于在第二查询单元32在第三预存密钥库中,根据数据编码进行查询,获得第三查询结果之后,如果第三查询结果为成功,在第三预存密钥库中确定数据密钥。第二校验单元35,用于在第二确定单元34在第三预存密钥库中确定数据密钥之后,根据第二预存存储密钥对数据密钥进行解密校验,获得第二校验结果。第三获取单元36,用于在第二校验单元35根据第二预存存储密钥对数据密钥进行解密校验,获得第二校验结果之后,如果第二校验结果为成功,获取数据密钥。本发明实施例提供的第三接收单元31,第二查询单元32、第三发送单元33、第二确定单元34,第二校验单元35以及第三获取单元36都可以以程序代码的形式通过由第二租户中的处理器执行相应功能来实现;当然也可通过具体的逻辑电路实现;在具体实施例的过程中,处理器可以为中央处理器(centralprocessingunit,cpu)、微处理器((microprocessorunit,mpu)、数字信号处理器(digitalsignalprocessor,dsp)或现场可编程门阵列(fieldprogrammablegatearray,fpga)等;上述第二租户还包括:存储器,该存储器可以为具有实物形式的存储设备,如内存条、tf卡,或者具有存储功能的电路,如随机存取存储器(ram)、fifo储存器等。本发明实施例提出的第二租户,接收云平台发送的第三查询请求;其中,第三查询请求携带待查询的数据密钥对应的数据编码;按照第三预设查询策略和数据编码进行查询,获得数据密钥;其中,第三预设查询策略用于在第二租户内部进行租户内查询;响应第三查询请求,向云平台发送第二查询响应;其中,第二查询响应携带数据密钥。由此可见,本发明实施例提出的第二租户,可以在接收第一查询请求之后,确定第一查询请求对应的查询类型,并根据不同的查询类型对数据密钥进行租户内部查询或者跨租户查询,从而可以在多租户的云环境中更为有效地查询数据密钥;并且,实现起来简单方便,便于普及,适用范围更广。实施例十五基于上述实施例一至实施例十四,在本发明的具体实施例中,图23为本发明实施例提出的租户和云平台的整体结构示意图,如图23所示,在本发明的实施例中,多租户云环境中的租户和云平台由用户的数据密钥查询模块、云平台的转发模块、各个租户的密钥管理模块组成。其中,各个租户的密钥管理模块都相对独立,可以为本租户用户提供服务,只有在进行跨租户密钥查询时,才需要与其它租户的密钥管理模块发生交互,各个租户的密钥管理模块之间的交互通过云平台的转发模块完成。具体地,在本发明的实施例中,上述用户的数据密钥查询模块,可以用于客户端向租户的密钥管理模块发送密钥查询请求;上述云平台转发模块,可以用于为各个租户的密钥管理模块间提供同步、查询等请求的转发;上述各个租户的密钥管理模块,可以包括租户内部数据密钥库,密钥cache库,以及与云平台的交互模块这三个子模块;上述各个租户的密钥管理模块均可以独立运行,只有需要跨租户查询时,才通过与云平台的交互子模块来与云平台的转发模块进行交互。本发明实施例提出的租户和云平台,接收客户端发送的第一查询请求;其中,第一查询请求携带待查询的数据密钥对应的数据标识和数据编码;根据数据标识确定第一查询请求对应的查询类型;其中,查询类型包括租户内部查询和跨租户查询;当第一查询请求为跨租户查询时,按照第一预设查询策略和数据编码进行查询,获得数据密钥;其中,第一预设查询策略用于通过云平台进行跨租户查询;当第一查询请求为租户内部查询时,按照第二预设查询策略和数据编码进行查询,获得数据密钥;其中,第二预设查询策略用于在第一租户中进行租户内查询;响应第一查询请求,向上述客户端发送数据密钥。由此可见,本发明实施例提出的租户和云平台,可以在接收第一查询请求之后,确定第一查询请求对应的查询类型,并根据不同的查询类型对数据密钥进行租户内部查询或者跨租户查询,从而可以在多租户的云环境中更为有效地查询数据密钥;并且,实现起来简单方便,便于普及,适用范围更广。本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1