1.一种基于区块链的医疗数据共享方法,其特征在于,所述方法包括:
构建多个医疗数据库之间的联盟链;
链上智能合约根据获取的第一签名数据对第一医疗数据库的权限进行检查,得到第一检查结果;所述链上智能合约为区块链上的智能合约;所述区块链包括所述联盟链和公有链;所述第一签名数据为所述第一医疗数据库采用第一私钥对待分享医疗数据的编号和待分享目标医院的身份标识进行签名得到的;
当所述第一检查结果表示所述第一医疗数据库为所述区块链上的成员时,将所述待分享目标医院的身份标识写入所述链上智能合约中的所述待分享医疗数据的编号对应的分享列表中;
所述链上智能合约根据获取的第二签名数据对第二医疗数据库的权限进行检查,得到第二检查结果;所述第二签名数据是所述第二医疗数据库采用第二私钥对所述待分享医疗数据的编号和所述待分享目标医院的身份标识进行签名得到的;
当所述第二检查结果表示所述第二医疗数据库为所述区块链上的成员时,确定所述第二医疗数据库的医院指纹和对应的哈希值;
所述第二医疗数据库获取所述医院指纹和所述对应的哈希值,并依据所述医院指纹和所述对应的哈希值从星际文件系统集群中获取加密的医疗数据对象,并向所述第一医疗数据库发送所述医疗数据对象的解密秘钥请求;
所述第一医疗数据库响应所述解密秘钥请求,依据所述分享列表,确定非对称加密后的解密秘钥,并将所述非对称加密后的解密秘钥发送至所述第二医疗数据库中;
所述第二医疗数据库依据所述第二私钥和所述非对称加密后的解密秘钥,对所述医疗数据对象进行解密,得到待分享医疗数据的编号对应的医疗数据。
2.根据权利要求1所述的一种基于区块链的医疗数据共享方法,其特征在于,所述链上智能合约根据获取的第一签名数据对第一医疗数据库的权限进行检查,得到第一检查结果,具体包括:医疗数据共享存储合约接收到所述第一签名数据后,调用数据医疗权限控制合约;所述数据医疗权限控制合约依据所述第一签名数据,对所述第一医疗数据库的权限进行检查,得到第一检查结果;所述医疗数据共享存储合约为所述联盟链上的智能合约;所述数据医疗权限控制合约为所述联盟链和所述公有链上的智能合约。
3.根据权利要求1所述的一种基于区块链的医疗数据共享方法,其特征在于,所述链上智能合约根据获取的第二签名数据对第二医疗数据库的权限进行检查,得到第二检查结果,具体包括:医疗数据共享存储合约接收到所述第二签名数据后,调用数据医疗权限控制合约;所述数据医疗权限控制合约依据所述第二签名数据,对所述第二医疗数据库的权限进行检查,得到第二检查结果;所述医疗数据共享存储合约为所述联盟链上的智能合约;所述数据医疗权限控制合约为所述联盟链和所述公有链上的智能合约。
4.根据权利要求1所述的一种基于区块链的医疗数据共享方法,其特征在于,所述第一医疗数据库响应所述解密秘钥请求,依据所述分享列表,确定非对称加密后的解密秘钥,并将所述非对称加密后的解密秘钥发送至所述第二医疗数据库中,具体包括:所述第一医疗数据库响应所述解密秘钥请求,依据所述分享列表,从数字身份管理合约中获取所述待分享目标医院的身份标识对应的公钥;所述数字身份管理合约为所述公有链上的智能合约;
采用所述公钥对所述医疗数据对象的解密秘钥进行非对称加密,得到非对称加密后的解密秘钥;
将所述非对称加密后的解密秘钥发送至所述第二医疗数据库中。
5.根据权利要求1所述的一种基于区块链的医疗数据共享方法,其特征在于,所述第二医疗数据库依据所述第二私钥和所述非对称加密后的解密秘钥,对所述医疗数据对象进行解密,得到待分享医疗数据的编号对应的医疗数据,具体包括:所述第二医疗数据库采用所述第二私钥对所述非对称加密后的解密秘钥进行解密,得到原始解密秘钥;
采用所述原始解密秘钥对所述医疗数据对象进行解密,得到待分享医疗数据的编号对应的医疗数据。
6.一种基于区块链的医疗数据共享系统,其特征在于,所述系统包括:
联盟链构建模块,用于构建多个医疗数据库之间的联盟链;
第一检查模块,用于链上智能合约根据获取的第一签名数据对第一医疗数据库的权限进行检查,得到第一检查结果;所述链上智能合约为区块链上的智能合约;所述区块链包括所述联盟链和公有链;所述第一签名数据为所述第一医疗数据库采用第一私钥对待分享医疗数据的编号和待分享目标医院的身份标识进行签名得到的;
分享列表写入模块,用于当所述第一检查结果表示所述第一医疗数据库为所述区块链上的成员时,将所述待分享目标医院的身份标识写入所述链上智能合约中的所述待分享医疗数据的编号对应的分享列表中;
第二检查模块,用于所述链上智能合约根据获取的第二签名数据对第二医疗数据库的权限进行检查,得到第二检查结果;所述第二签名数据是所述第二医疗数据库采用第二私钥对所述待分享医疗数据的编号和所述待分享目标医院的身份标识进行签名得到的;
第一确定模块,用于当所述第二检查结果表示所述第二医疗数据库为所述区块链上的成员时,确定所述第二医疗数据库的医院指纹和对应的哈希值;
秘钥请求发送模块,用于所述第二医疗数据库获取所述医院指纹和所述对应的哈希值,并依据所述医院指纹和所述对应的哈希值从星际文件系统集群中获取加密的医疗数据对象,并向所述第一医疗数据库发送所述医疗数据对象的解密秘钥请求;
第二确定模块,用于所述第一医疗数据库响应所述解密秘钥请求,依据所述分享列表,确定非对称加密后的解密秘钥,并将所述非对称加密后的解密秘钥发送至所述第二医疗数据库中;
解密模块,用于所述第二医疗数据库依据所述第二私钥和所述非对称加密后的解密秘钥,对所述医疗数据对象进行解密,得到待分享医疗数据的编号对应的医疗数据。
7.根据权利要求6所述的一种基于区块链的医疗数据共享系统,其特征在于,所述第一检查模块,具体包括:第一检查单元,用于医疗数据共享存储合约接收到所述第一签名数据后,调用数据医疗权限控制合约;所述数据医疗权限控制合约依据所述第一签名数据,对所述第一医疗数据库的权限进行检查,得到第一检查结果;所述医疗数据共享存储合约为所述联盟链上的智能合约;所述数据医疗权限控制合约为所述联盟链和所述公有链上的智能合约。
8.根据权利要求6所述的一种基于区块链的医疗数据共享系统,其特征在于,所述第二检查模块,具体包括:第二检查单元,用于医疗数据共享存储合约接收到所述第二签名数据后,调用数据医疗权限控制合约;所述数据医疗权限控制合约依据所述第二签名数据,对所述第二医疗数据库的权限进行检查,得到第二检查结果;所述医疗数据共享存储合约为所述联盟链上的智能合约;所述数据医疗权限控制合约为所述联盟链和所述公有链上的智能合约。
9.根据权利要求6所述的一种基于区块链的医疗数据共享系统,其特征在于,所述第二确定模块,具体包括:公钥确定单元,用于所述第一医疗数据库响应所述解密秘钥请求,依据所述分享列表,从数字身份管理合约中获取所述待分享目标医院的身份标识对应的公钥;所述数字身份管理合约为所述公有链上的智能合约;
加密单元,用于采用所述公钥对所述医疗数据对象的解密秘钥进行非对称加密,得到非对称加密后的解密秘钥;
秘钥发送单元,用于将所述非对称加密后的解密秘钥发送至所述第二医疗数据库中。
10.根据权利要求6所述的一种基于区块链的医疗数据共享系统,其特征在于,所述解密模块,具体包括:第一解密单元,用于所述第二医疗数据库采用所述第二私钥对所述非对称加密后的解密秘钥进行解密,得到原始解密秘钥;
第二解密单元,用于采用所述原始解密秘钥对所述医疗数据对象进行解密,得到待分享医疗数据的编号对应的医疗数据。