1.一种数据共享方法,其特征在于,包括:
步骤1、第一用户端从云服务器获取第二用户端的加密密文;
步骤2、将所述第一用户端的PKE公钥与标识拆分为多个部分,并与所述加密密文的元数据上传至多个的中心节点,并请求密钥,所述加密密文的元数据包括密钥标识符与所述第二用户端的标识,将所述第一用户端的PKE公钥与标识拆分为多个部分的同时,将所述第一用户端的PKE公钥对应的PKE私钥进行相应的拆分,将所述第一用户端的标识对应的IBE私钥进行相应的拆分;
步骤3、每个所述中心节点根据所述元数据,查询得到所述第二用户端的信息;
步骤4、每个所述中心节点向所述第二用户端发送所述元数据与部分所述第一用户端的PKE公钥与标识,并请求所述密钥;
步骤5、所述第二用户端查询所述元数据中的密钥标识符得到所述密钥,将所述第一用户端的PKE公钥与标识对所述密钥进行加密得到多个加密密钥,将多个所述加密密钥分别返回发送请求的所述中心节点,多个所述中心节点将多个所述加密密钥返回至所述第一用户端;
步骤6、所述第一用户端使用PKE私钥和IBE私钥对多个所述加密密钥进行解密得到对应的所述密钥;所述IBE私钥的生成包括:将所述第一用户端的标识进行拆分,且发送至多个所述中心节点,所述中心节点为所述第一用户端生成所述IBE私钥,并使用所述第一用户端的所述PKE公钥对所述IBE私钥进行加密,再将加密后的所述IBE私钥发送至所述第一用户端;
步骤7、所述第一用户端使用所述密钥解密所述加密密文,得到明文数据。
2.根据权利要求1所述的数据共享方法,其特征在于,在所述步骤2中,包括:步骤2‑1、将所述第一用户端的PKE公钥拆分成第一分公钥与第二分公钥;将所述第一用户端的标识拆分成第一分标识与第二分标识;
步骤2‑2、将所述第一分公钥、所述第一分标识与所述元数据上传至第一中心节点,并向所述第一中心节点发送密钥请求;
步骤2‑3、同时将所述第二分公钥、所述第二分标识与所述元数据上传至第二中心节点,并向所述第二中心节点发送密钥请求。
3.根据权利要求1所述的数据共享方法,其特征在于,在所述步骤3中,所述中心节点通过所述第二用户端的标识查询信息表,能够得到所述第二用户端的PKE公钥,通过所述第二用户的PKE公钥访问所述第二用户端,其中,所述信息表存储有用户端的信息,包括标识与PKE公钥。
4.一种数据共享系统,其特征在于,包括:云服务器、第一用户端、多个中心节点与第二用户端;
所述第一用户端从所述云服务器获取所述第二用户端的加密密文;
所述第一用户端向多个所述中心节点发送密钥请求;将第一用户端的PKE公钥与标识拆分为多个部分的同时,将所述第一用户端的PKE公钥对应的PKE私钥进行相应的拆分,将所述第一用户端的标识对应的IBE私钥进行相应的拆分;多个所述中心节点向所述第二用户端发送密钥请求;
所述第二用户端向多个所述中心节点返回多个加密密钥;
多个所述中心节点向所述第一用户端返回多个所述加密密钥;
所述第一用户端通过IBE私钥解密所述加密密钥,得到密钥,通过所述密钥解密所述加密密文;IBE私钥的生成包括:将所述第一用户端的标识进行拆分,且发送至多个所述中心节点,所述中心节点为所述第一用户端生成所述IBE私钥,并使用所述第一用户端的所述PKE公钥对所述IBE私钥进行加密,再将加密后的所述IBE私钥发送至所述第一用户端;
所述第一用户端,包括:
拆分模块,将所述第一用户端的标识与公钥进行拆分;
发送请求模块,将所述加密密文的元数据与所述第一用户端的标识与公钥发送给多个所述中心节点,并发送所述密钥请求;
接收模块,接收所述中心节点返回的所述加密密钥;
所述第二用户端,包括:
接收模块,接收所述中心节点的所述密钥请求与所述第一用户端的PKE公钥与标识;
加密模块,使用所述第一用户端的PKE公钥与标识对所述密钥进行加密;
发送模块,将加密后的所述密钥返回给所述中心节点;
所述中心节点,包括:
接收模块,用于接收所述第一用户端发送的所述加密密文的元数据与所述第一用户端的标识与公钥,接收所述第二用户端返回的所述加密密钥;
查询模块,使用所述第二用户端的标识查询信息表,得到所述第二用户端的PKE公钥;
发送模块,用于向所述第二用户端发送所述密钥请求与所述第一用户端的PKE公钥与标识,向所述第一用户端发送所述加密密钥。