基于链的数字医疗信息存储及共享架构的构建方法

申请号 CN202111404659.X 申请日 2021-11-24 公开(公告)号 CN114090510B 公开(公告)日 2024-04-16
申请人 长春大学; 发明人 赵剑; 强文倩; 匡哲君; 史丽娟; 何秉高; 徐大伟; 安天博; 董文华;
摘要 本 发明 涉及医疗数据信息 数据处理 技术领域,特别涉及基于 区 块 链 的数字医疗信息存储及共享架构的构建方法。基于区块链的数字医疗信息存储及共享架构的构建方法,包括:由多个位于对等 节点 的用户以节点映射的方式映射在一区块链的网络之中;用户至少包括私人医生、医院、诊所、个人及科研机构;用户之间在区块链的网络之中构成联盟链,该联盟链上各节点之间的用户之间能够发送交易 信号 至其他节点上的用户,以使得联盟链上各节点之间的用户之间的能够获得一医患信息数据,以使得该医患信息A在区块链的网络之中交易时的方式自由平等,实现了医患信息数据交易的过程中保证了交易的不可篡改性和强时序性同时还保障了医疗数据的隐私安全。
权利要求

1.基于链的数字医疗信息存储及共享架构的构建方法,其特征在于,包括:
构建一去中心化且含有用户节点的中心化间网络,具体方式为:
由多个位于对等节点的用户以节点映射的方式映射在一区块链的网络之中;
所述用户至少包括私人医生、医院、诊所、个人及科研机构中的二者或者多者;
所述用户之间在所述区块链的网络之中构成联盟链,该联盟链上各节点之间的所述用户之间能够发送交易信号至其他节点上的用户,以使得联盟链上各节点之间的用户之间的能够获得一医患信息数据(TX),以使得该医患信息数据(TX)在所述区块链的网络之中交易时的方式自由平等;
所述交易信号能够触发一智能合约,所述智能合约基于一执行过程能够以全同态加密计算方式对所述用户之间的所述医患信息数据(TX)进行加密及计算;
所述医患信息数据(TX)存储于所述区块链的网络之中,且所述交易信号在用户之间产生时,通过一预设的触发命令调用所述智能合约;
所述智能合约部署所述区块链的网络之中;
所述智能合约以一调用方式调用所述全同态加密计算,具体的调用方式包括如下步骤:
第一步,将一BGV类型的全同态加密计算法方式部署在区块链的网络的所述智能合约上;
第二步,在所述用户节点之间通过触发器接收所述交易信号,并基于该信号启动智能合约;
所述智能合约用以实现节点用户之间的所述所述医患信息数据(TX)的加密与解密,以实现对于用户医疗数据的隐私保护;
所述预设的触发命令为请求或者响应。
2.如权利要求1所述的基于区块链的数字医疗信息存储及共享架构的构建方法,其特征在于,
所述执行过程的方式具体为:
第一步,初始化所述医患信息数据(TX)的参数;
以所述参数的形式体现的第一信息,其包括:合约接口abi、合约地址address、节点地址peerID、输入数据data以及计算形式calculation;以及
请求响应request或者接收反馈receive;
第二步,所述智能合约中能够设置功能函数;
所述功能函数以第二信息的方式体现,具体包括:加密功能函数enc、解密功能函数dec、同态加法功能函数add、同态乘法功能函数mult、传递数据功能send、接收数据功能函数get、接收节点地址功能函数getPeer和触发器功能函数trigger;
第三步,基于触发命令的区别执行计算方式,具体为:
当所述触发器在所述预设的触发命令为请求响应时,首先得到请求节点地址,在满足一预设条件后,所述智能合约调用所述全同态加密计算;
所述预设条件为所述医患信息数据(TX)的上链判断或者获取判断;
当所述触发器在所述预设的触发命令为接收请求时,所述交易信号包括获得所述第一信息中的合约地址address、接口abi,以及一密文数据Data;
所述触发器判断执行一计算操作。
3.如权利要求2所述的基于区块链的数字医疗信息存储及共享架构的构建方法,其特征在于,所述触发器用以触发所述智能合约,以使所述区块链的网络用户之间的所述医患信息数据(TX)产生交互;
所述智能合约的执行基于用户节点的RPC接口模块触发并产生所述交易
信号;
所述触发器在节点之间所述数据的交易请求合法并由所述用户确认后,才能够发送全同态加密合约地址和加密的所述数据至所述区块链的网络中。
4.如权利要求3所述的基于区块链的数字医疗信息存储及共享架构的构建方法,其特征在于,所述全同态加密所述医患信息数据(TX)计算的加密时包括一激活过程,具体包括:
所述智能合约为一待触发状态时,所述触发器收到的信号为请求信号或者
响应信号;
当为所述请求信号时,所述触发器获得:节点地址以及发送方的明文数据集;
所述明文数据集中的数据加密得到密文数据集;
当为所述接收信号时,触发器获得加密数据集Data、合约地址address、接口abi的信息。
5.如权利要求4所述的基于区块链的数字医疗信息存储及共享架构的构建方法,其特征在于,当为所述接收信号时,在医患信息数据(TX)传输过程中,加密的医患信息数据(TX)由所述智能合约执行判断过程,其判断方式为:
当运算方式为加法运算时,所述智能合约基于全同态加密的方式将加密数据Data和密钥进行加法运算,获得一个加密运算的第一结果;
当运算方式为乘法计算,所述智能合约基于全同态加密的方式将加密数据Data和密钥进行行乘法运算,获得一个加密运算的第二结果;
所述第一结果或者所述第二结果由请求节点接收到进行解密,以获得以所述第一结果或者所述第二结果获得运算后的相对应的明文。
6.如权利要求5所述的基于区块链的数字医疗信息存储及共享架构的构建方法,其特征在于,当运算方式为加法运算时,所述医患信息数据(TX)处理的方式为:所述智能合约解析到所述医患信息数据(TX)的处理方式为加法运算,则调用加法计算Add功能进行加法运算;
当运算方式为乘法运算时,所述医患信息数据(TX)处理方式的为:所述智能合约解析到所述医患信息数据(TX)的处理方式为乘法运算,则调用乘法计算Mult功能;
所述第一结果或者所述第二结果为所述医患信息数据(TX)处理的完成阶段,则调用解密Dec功能,解密得到所述明文,以使得所述明文和一未被加密前明文进行同等运算的结果一致。
7.如权利要求6所述的基于区块链的数字医疗信息存储及共享架构的构建方法,其特征在于,所述智能合约以全同态加密的调用医患信息数据(TX)处理算法的方式为:
第一步,全同态加密启始阶段,能够输入安全参数λ和电路深度L,输出
L+1个模q,产生参数a;
第二步,密钥对生成阶段,产生加密数据Data所用的密钥,生成私钥sk
和公钥pk;
其中,数据加密阶段,用公钥pk对医疗数据m加密得到医疗数据密文C;
其中,数据解密阶段,对医疗数据密文C,经过私钥sk解密得到解密文m。
8.如权利要求7所述的基于区块链的数字医疗信息存储及共享架构的构建方法,其特征在于,在所述医患信息数据(TX)的密文计算时,所述密文通过密钥交换的方式将所述密文还原至原来的维数后,在进行下一次密文的乘积。
9.如权利要求8所述的基于区块链的数字医疗信息存储及共享架构的构建方法,其特征在于,在所述医患信息数据(TX)的密文计算时,所述密钥交换方式与一模交换方式同时存在,每次乘法运算后,通过密钥交换方式将密文的维数约减回原来的大小,然后再通过模交换方式将密文的噪声进行约减,从而能够进行下一次计算。
10.如权利要求9所述的基于区块链的数字医疗信息存储及共享架构的构建方法,其特征在于,所述区块链采用分布式的存储方式,并基于区块链的块链式数据结构来验证数据、存储数据、共享数据;
所述验证数据、所述存储数据、共享数据利用分布式节点的共识算法的达成共识方式以生成数据、更新数据、共享数据;
所述医患信息数据(TX)的执行利用自动化脚本代码组成的智能合约来编程和操作执行,并利用端至端的网络传输方式以实现所述医患信息数据(TX)的快速传输。

说明书全文

基于链的数字医疗信息存储及共享架构的构建方法

技术领域

[0001] 本发明涉及医疗数据信息数据处理技术领域,特别涉及基于区块链的数字医疗信息存储及共享架构的构建方法。

背景技术

[0002] 现行方式中,医疗卫生事业的发展逐渐受到重视,尤其是医患信息涉及大量隐私内容、且内容关系着社会生活的多个节点,例如各类医疗保险、医疗记录溯源等,即便当下绝大部分的大型医院信息化程度已经非常高,主要的表现为医疗数据信息化;但是仍然存在患者用户在医院、小诊所、私人医生等不同机构产生的医疗就诊信息是不能进行共享和互通,如此产生的问题还将涉及重复消费医疗资源和浪费医疗资源的问题。
[0003] 如果仅仅将所有患者产生的医疗信息存放在一个中心化系统或者一个第三方大数据服务器平台中,医疗数据的存储和共享将面临很大的社会隐私泄露问题。现如今医工合作是一个大趋势,但科研工作者为了开展相关研究获取部分所需的医疗数据是十分困难、漫长和不安全的;医疗保险的理赔过程需要确切的医疗记录的查询,给患者和保险机构造成了很多的麻烦,使之变成繁琐、漫长的过程。
[0004] 另外,在医疗信息方面管控方面,现有技术中主要采用数据集成和共享技术,但实践表明,传统数据集成方法和共享技术不能够有效适应当今环境的复杂性。
[0005] 综上所述,现有技术中医患信息数据在存储和安全共享领域存在着在严重的安全隐患,因此急需一种涉及基于区块链的数字医疗信息存储及共享架构的构建方法,以解决上述问题。

发明内容

[0006] 本发明为了解决现在医疗数据存储、授权和传输不安全的技术问题,提供基于区块链的数字医疗信息存储及共享架构的构建方法。
[0007] 为了解决背景技术中提及的问题,本发明的技术方案具体如下:
[0008] 基于区块链的数字医疗信息存储及共享架构的构建方法,包括:
[0009] 构建一去中心化且含有用户节点的中心化间网络,具体方式为:
[0010] 由多个位于对等节点的用户以节点映射的方式映射在一区块链的网络之中;
[0011] 所述用户至少包括私人医生、医院、诊所、个人及科研机构中的二者或者多者;
[0012] 所述用户之间在所述区块链的网络之中构成联盟链,该联盟链上各节点之间的所述用户之间能够发送交易信号至其他节点上的用户,以使得联盟链上各节点之间的用户之间的能够获得一医患信息数据TX,以使得该医患信息数据TX在所述区块链的网络之中交易时的方式自由平等;
[0013] 所述交易信号能够触发一智能合约,所述智能合约基于一执行过程能够以全同态加密计算方式对所述用户之间的所述医患信息数据TX进行加密及计算;
[0014] 所述医患信息数据TX存储于所述区块链的网络之中,且所述交易信号在用户之间产生时,通过一预设的触发命令调用所述智能合约;
[0015] 所述智能合约部署所述区块链的网络之中;
[0016] 所述智能合约以一调用方式调用所述全同态加密计算,具体的调用方式包括如下步骤:
[0017] 第一步,将一BGV类型的全同态加密计算法方式部署在区块链的网络的所述智能合约上;
[0018] 第二步,在所述用户节点之间通过触发器接收所述交易信号,并基于该信号启动智能合约;
[0019] 所述智能合约用以实现节点用户之间的所述所述医患信息数据TX的加密与解密,以实现对于用户医疗数据的隐私保护;
[0020] 所述预设的触发命令为请求或者响应。
[0021] 具体地,所述执行过程的方式具体为:
[0022] 第一步,初始化所述医患信息数据TX的参数;
[0023] 以所述参数的形式体现的第一信息,其包括:合约接口abi、合约地址address、节点地址peerID、输入数据data以及计算形式calculation;以及
[0024] 请求响应request或者接收反馈receive;
[0025] 第二步,所述智能合约中能够设置功能函数;
[0026] 所述功能函数以第二信息的方式体现,具体包括:加密功能函数enc、解密功能函数dec、同态加法功能函数add、同态乘法功能函数mult、传递数据功能send、接收数据功能函数get、接收节点地址功能函数getPeer和触发器功能函数trigger;
[0027] 第三步,基于触发命令的区别执行计算方式,具体为:
[0028] 当所述触发器在所述预设的触发命令为请求响应时,首先得到请求节点地址,在满足一预设条件后,所述智能合约调用所述全同态加密计算;
[0029] 所述预设条件为所述医患信息数据TX的上链判断或者获取判断;
[0030] 当所述触发器在所述预设的触发命令为接收请求时,所述交易信号包括获得所述第一信息中的合约地址address、接口abi,以及一密文数据Data;
[0031] 所述触发器判断执行一计算操作。
[0032] 具体地,所述触发器用以触发所述智能合约,以使所述区块链的网络用户之间的所述医患信息数据TX产生交互;
[0033] 所述智能合约的执行基于用户节点的RPC接口模块触发并产生所述交易[0034] 信号;
[0035] 所述触发器在节点之间所述数据的交易请求合法并由所述用户确认后,才能够发送全同态加密合约地址和加密的所述数据至所述区块链的网络中。
[0036] 具体地,所述全同态加密所述医患信息数据TX计算的加密时包括一激活过程,具体包括:
[0037] 所述智能合约为一待触发状态时,所述触发器收到的信号为请求信号或者[0038] 响应信号;
[0039] 当为所述请求信号时,所述触发器获得:节点地址以及发送方的明文数据集;
[0040] 所述明文数据集中的数据加密得到密文数据集;
[0041] 当为所述接收信号时,触发器获得加密数据集Data、合约地址address、接口abi的信息。
[0042] 具体地,当为所述接收信号时,在医患信息数据TX传输过程中,加密的医患信息数据TX由所述智能合约执行判断过程,其判断方式为:
[0043] 当运算方式为加法运算时,所述智能合约基于全同态加密的方式将加密数据Data和密钥进行加法运算,获得一个加密运算的第一结果;
[0044] 当运算方式为乘法计算,所述智能合约基于全同态加密的方式将加密数据Data和密钥进行行乘法运算,获得一个加密运算的第二结果;
[0045] 所述第一结果或者所述第二结果由请求节点接收到进行解密,以获得以所述第一结果或者所述第二结果获得运算后的相对应的明文。
[0046] 具体地,当运算方式为加法运算时,所述医患信息数据TX处理的方式为:所述智能合约解析到所述医患信息数据TX的处理方式为加法运算,则调用加法计算Add功能进行加法运算;
[0047] 当运算方式为乘法运算时,所述医患信息数据TX处理方式的为:所述智能合约解析到所述医患信息数据TX的处理方式为乘法运算,则调用乘法计算Mult功能;
[0048] 所述第一结果或者所述第二结果为所述医患信息数据TX处理的完成阶段,则调用解密Dec功能,解密得到所述明文,以使得所述明文和一未被加密前明文进行同等运算的结果一致。
[0049] 具体地,所述智能合约以全同态加密的调用医患信息数据TX处理算法的方式为:
[0050] 第一步,全同态加密启始阶段,能够输入安全参数λ和电路深度L,输出[0051] L+1个模q,产生参数a;
[0052] 第二步,密钥对生成阶段,产生加密数据Data所用的密钥,生成私钥sk[0053] 和公钥pk;
[0054] 其中,数据加密阶段,用公钥pk对医疗数据m加密得到医疗数据密文C;
[0055] 其中,数据解密阶段,对医疗数据密文C,经过私钥sk解密得到解密文m。
[0056] 具体地,在所述医患信息数据TX的密文计算时,所述密文通过密钥交换的方式将所述密文还原至原来的维数后,在进行下一次密文的乘积。
[0057] 具体地,在所述医患信息数据TX的密文计算时,所述密钥交换方式与一模交换方式同时存在,每次乘法运算后,通过密钥交换方式将密文的维数约减回原来的大小,然后再通过模交换方式将密文的噪声进行约减,从而能够进行下一次计算。
[0058] 具体地,所述区块链采用分布式的存储方式,并基于区块链的块链式数据结构来验证数据、存储数据、共享数据;
[0059] 所述验证数据、所述存储数据、共享数据利用分布式节点的共识算法的达成共识方式以生成数据、更新数据、共享数据;
[0060] 所述医患信息数据TX的执行利用自动化脚本代码组成的智能合约来编程和操作执行,并利用端至端的网络传输方式以实现所述医患信息数据TX的快速传输。
[0061] 本发明具有以下的有益效果:
[0062] 在区块链中为实现全同态加密技术能够保证数据的授权分发和安全传输,我们将全同态加密算法写在区块链的智能合约中。存储在区块链中的医疗数据进行交易时,会自动调动智能合约,对传输的数据进行加密,然后在进行相应的计算和传输,这样在医患信息数据交易的过程中不仅保证了交易的不可篡改性和强时序性同时还保障了医疗数据的隐私安全。附图说明
[0063] 下面结合附图和具体实施方式对本发明作进一步详细说明。
[0064] 图1是基于区块链的数字医疗信息存储及共享架构的构建方法整体系统示意图;
[0065] 图2是基于区块链的数字医疗信息存储及共享架构的构建方法的联盟链系统示意图;
[0066] 图3是基于区块链的数字医疗信息存储及共享架构的构建方法交易执行示意图;
[0067] 图4是基于区块链的数字医疗信息存储及共享架构的构建方法的算法流程图

具体实施方式

[0068] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0069] 首先说明本技术方案基于区块链的原由与初衷,申请人的目的在于使得医患信息数据TX能够实现可追本溯源、不可篡改、去中心化、准匿名性的特点,基于此目的能够解决医疗数据领域存在的诸多难题;而在5G时代即将全面普及的趋势下,传统网络容易被黑客攻破,除了造成信息泄露还给医患信息数据TX造成了极高的被篡改的险,可能产生更多的隐患和纠纷。
[0070] 本技术方案提出了基于区块链的数字医疗信息存储及共享架构的构建方法,如附图1提供的示意所示,具体包括:
[0071] 构建一去中心化且含有用户节点的中心化间网络,具体方式为:
[0072] 由多个位于对等节点的用户以节点映射的方式映射在一区块链的网络之中;
[0073] 用户至少包括私人医生、医院、诊所、个人及科研机构中的二者或者多者;
[0074] 应当理解的是:用户可以是任何需要涉及到医患信息数据TX的单位,可扩展个人,集体等;本技术方案中对于用户的限定不应当被理解为固定限制的限定,显然基于本申请的实质内容下,需求用户均属于本技术方案保护的范围。
[0075] 用户之间在区块链的网络之中构成联盟链,该联盟链上各节点之间的用户之间能够发送交易信号至其他节点上的用户,以使得联盟链上各节点之间的用户之间的能够获得一医患信息数据TX,以使得该医患信息A在区块链的网络之中交易时的方式自由平等;本申请中提及的自由平等具体指用户在区块链的网络之中的构建出的关系,基于区块链的特点,享有相同的优先级,并作为单独的个体。
[0076] 应当说明的是:医患信息数据TX在附图1中意在表明触发交易的数据,以此方式便于本领域技术人员进行理解。
[0077] 用户之间的交互形成交易信号,交易信号能够触发一智能合约,智能合约基于一执行过程能够以全同态加密计算方式对用户之间的医患信息数据TX进行加密及计算;医患信息数据TX存储于区块链的网络之中,且交易信号在用户之间产生时,通过一预设的触发命令调用智能合约;智能合约部署区块链的网络之中。
[0078] 通过上述方式,与在传统数据中心进行医患信息数据TX处理的对比,传统方式进行处理时,处理的医患信息数据TX由于是明文状态可能造成数据泄露,从而导致医疗数据的存储和交易受到威胁。在区块链中使用全同态加密技术能够保证数据的授权分发和安全传输,这样在数据交易的过程中不仅保证了交易的不可篡改性和强时序性同时还保障了医疗数据的隐私安全。将传统的几种医患信息数据TX来源映射在区块链形成的联盟链网络中,私人医生、医院、诊所和个人等都各自成为区块链中的对等节点,实现去中心化,共享医疗信息,同时将需要医疗数据的科研机构也加入到联盟链中,保证机构能够快速安全的获得所需的医疗数据,在该区块链网络中执行的所有操作都使用防篡改的方式记录和处理,其中智能合约的存在使得医患信息数据TX得到了进一步的安全保障。
[0079] 具体的说明,智能合约以一调用方式调用全同态加密计算,具体的调用方式包括如下步骤:第一步,将一BGV类型的全同态加密计算法方式部署在区块链的网络的智能合约上;第二步,在用户节点之间通过触发器接收交易信号,并基于该信号启动智能合约;
[0080] 智能合约用以实现节点用户之间的医患信息数据TX的加密与解密,以实现对于用户医疗数据的隐私保护;
[0081] 预设的触发命令为请求或者响应。
[0082] 请参阅附图1所示,进一步的说明,所述执行过程的方式具体为:
[0083] 第一步,初始化医患信息数据TX的参数;
[0084] 以参数的形式体现的第一信息,其包括:合约接口abi、合约地址address、节点地址peerID、输入数据data以及计算形式calculation;以及
[0085] 请求响应request或者接收反馈receive,相当于二选一,其基于用户之间的信息交互需求;
[0086] 第二步,智能合约中能够设置功能函数;
[0087] 功能函数以第二信息的方式体现,具体包括:加密功能函数enc、解密功能函数dec、同态加法功能函数add、同态乘法功能函数mult、传递数据功能send、接收数据功能函数get、接收节点地址功能函数getPeer和触发器功能函数trigger;
[0088] 第三步,基于触发命令的区别执行计算方式,具体为:
[0089] 当触发器在预设的触发命令为请求响应时,首先得到请求节点地址,在满足一预设条件后,智能合约调用全同态加密计算;
[0090] 智能合约的工作原理可概括为构建、存储 、执行的功能,首先智能合约是由区块链内的多个用户共同参与制定,可用于用户之间的任何交易行为。
[0091] 预设条件为医患信息数据TX的上链判断或者获取判断;
[0092] 当触发器在预设的触发命令为接收请求时,交易信号包括获得第一信息中的合约地址address、接口abi,以及一密文数据Data;触发器判断执行一计算操作。
[0093] 应当说明的是:区块链本身是没有触发器这个实体存在,因为智能合约的运行是要经过一个触发条件的,那么为了方便描述起见,本申请以触发器就形象的类比它在触发之前是由一个触发器来判断他的触发条件,如此,触发器用以触发智能合约,以使区块链的网络用户之间的医患信息数据TX产生交互;
[0094] 智能合约的执行基于用户节点的RPC接口模块触发并产生交易信号;RPC接口是用来传递信号,以实现发送信号请求服务的功能,触发器在节点之间数据的交易请求合法并由用户确认后,才能够发送全同态加密合约地址和加密的数据至区块链的网络中。
[0095] 请参阅附图1‑4所示,当触发器得到请求响应的时候,得到请求节点地址,满足预设条件之后,开启智能合约中的加密算法;当触发器得到接收请求的时候,交易获得密文数据Data,合约地址address和接口abi,然后判断需要进行的计算操作。智能合约不能直接与医疗区块链网络进行交互,所以交互过程需要触发器连接。触发器是连接智能合约和医疗区块链网络之间的实体。智能合约不能自动的、周期性的在未来某个时间点,自动触发、调用自己,或者调用别的智能合约。所有的智能合约的执行,都是由外部的RPC接口来触发的,通过发送交易触发外部的RPC接口发送交易信息给智能合约。当有节点接收数据交易请求且确认请求合法时,触发器会发送全同态加密合约地址和加密的医疗数据到区块链网络中。
[0096] 本申请中,全同态加密医患信息数据TX计算的加密时包括一激活过程,具体包括:
[0097] 智能合约为一待触发状态时,触发器收到的信号为请求信号或者响应信号;
[0098] 智能合约是被固定写入的一个合约的要求,当出现特定的事件的时候,自动执行合约。
[0099] 当为请求信号时,触发器获得:节点地址以及发送方的明文数据集;
[0100] 明文数据集中的数据加密得到密文数据集;
[0101] 当为接收信号时,触发器获得加密数据集Data、合约地址address、接口abi的信息。
[0102] 在一个更为具体的实施方式中,当为接收信号时,在医患信息数据TX传输过程中,加密的医患信息数据TX由智能合约执行判断过程,其判断方式为:
[0103] 当运算方式为加法运算时,智能合约基于全同态加密的方式将加密数据Data和密钥进行加法运算,获得一个加密运算的第一结果;
[0104] 当运算方式为乘法计算,智能合约基于全同态加密的方式将加密数据Data和密钥进行行乘法运算,获得一个加密运算的第二结果;
[0105] 第一结果或者第二结果由请求节点接收到进行解密,以获得以第一结果或者第二结果获得运算后的相对应的明文。
[0106] 进一步的说明,当运算方式为加法运算时,医患信息数据TX处理的方式为:智能合约解析到医患信息数据TX的处理方式为加法运算,则调用加法计算Add功能进行加法运算;
[0107] 当运算方式为乘法运算时,医患信息数据TX处理方式的为:智能合约解析到医患信息数据TX的处理方式为乘法运算,则调用乘法计算Mult功能;
[0108] 第一结果或者第二结果为医患信息数据TX处理的完成阶段,则调用解密Dec功能,解密得到明文,以使得明文和一未被加密前明文进行同等运算的结果一致。
[0109] 请参阅附图1、2中所述,明文data与密文Data,在附图1、2的过程中使用明文data1与明文data2的方式表示信息交换后的区别;
[0110] 另外,密文Data1和密文Data2与之对应的在附图1、2中以于表示;
[0111] 应当说明的是上述表达的目的在于便于本领域技术人员的对于本技术方案的理解。
[0112] 综上所述,在每个对等节点进行数据交易的同时,区块链的网络接收到交易信息激活触发器触发智能合约,实现全同态加密的算法,使得数据在加密的过程中进行计算和传输,各方共同存储和计算数据的同时保证数据完全隐私的目标。
[0113] 进一步说明本申请中智能合约以全同态加密的调用医患信息数据TX处理算法的方式:
[0114] 第一步,全同态加密启始阶段,能够输入安全参数λ和电路深度L,输出[0115] L+1个模q,产生参数a;
[0116] 第二步,密钥对生成阶段,产生加密数据Data所用的密钥,生成私钥sk[0117] 和公钥pk;
[0118] 其中,数据加密阶段,用公钥pk对医疗数据m加密得到医疗数据密文C;
[0119] 其中,数据解密阶段,对医疗数据密文C,经过私钥sk解密得到解密文m。
[0120] 在一个具体的实施方式中,本申请提供对于医患信息数据TX进行优化的方式,在医患信息数据TX的密文计算时,密文通过密钥交换的方式将密文还原至原来的维数后,在进行下一次密文的乘积。
[0121] 在医患信息数据TX的密文计算时,密钥交换方式与一模交换方式同时存在,每次乘法运算后,通过密钥交换方式将密文的维数约减回原来的大小,然后再通过模交换方式将密文的噪声进行约减,从而能够进行下一次计算;相当于密钥交换降低维数,模交换降低噪音。
[0122] 具体的原理为在进行密文计算的时候,密文乘积会导致密文维数的膨胀,而使用密钥交换技术可以将密文的维数还原到原来的维数,然后再进行下一次密文的乘积。
[0123] 主要的思想就是用一个矩阵M乘密文c1得到密文c2,即c2←c1T*M,其中M的行数为密钥s1的维数,M的列数为密钥s2的维数,M形式上可以看成是用密钥s2对s1加密的LWE实例构成。密钥交换技术将n1维的密文c1(对应密钥s1)转换为n2维的密文c2(对应的密钥为s2),模并没有改变。此外,密文c2的噪声比密钥交换前的密文c1增长了一部分,也就是说我们这种形式降低噪声的同时,扩张了维数。
[0124] 进一步的解释说明,使用模交换技术的功能是约减密文中的噪声。使用模交换技术:c’←scale(c,q,p,r)是指输入整数向量c和整数q和p(满足q>p>m),输出结果是一个靠近(p/q)*c的向量c’,且满足c’=c mod r。若c是m在密钥s下的加密,如果p充分小于q,且向量s是短的(范数L1(s)是小的),那么模交换技术就可以有效的约减密文的噪声,与此同时将模q下的密文c转换为模p下的密文c’。可以将增长的噪声约减回原来的噪声大小,效率得到了极大的提升。
[0125] 另外,密钥交换技术与模交换技术要联合起来使用,每次乘法运算后,通过密钥交换技术将密文的维数约减回原来的大小,然后再通过模交换技术将密文的噪声进行约减,从而可以进行下一次计算。
[0126] 另外,在全同态加密的方式中,密文都是含有噪音的,密文的计算会导致噪音的增长,如果把函数f表示成电路,那么Evaluate算法实际上只能够对有限深度L的电路进行计算,超过这个深度L的电路就不行了,严格控制噪声的顺序为先进行密钥交换(维数约减,进入到下一层电路),再进行模交换(约减噪声)。Evaluate算法有三个输入,第一个输入是计算公钥Evk,可以没有,第二个输入是函数f,就是Evaluate算法所要执行的函数,可以是任意函数,因为全同态加密的目标就是对密文能够进行任意计算。第三个输入是密文,理论上可以有无穷多个密文。
[0127] 应当理解的是,在执行Evaluate算法时,Evk是密文计算时使用的公钥,Evk与使用的全同态加密方案直接相关,本文采用的BGV方案中,Evk中包含的就是L–1个矩阵,L是方案中电路的深度,该矩阵用于密钥转换。每次密文计算后,都需要使用Evk中的公钥将维数扩张的密文向量转换成正常维数的密文向量。
[0128] 应当说明的是:区块链采用分布式的存储方式,并基于区块链的块链式数据结构来验证数据、存储数据、共享数据;
[0129] 验证数据、存储数据、共享数据利用分布式节点的共识算法的达成共识方式以生成数据、更新数据、共享数据;
[0130] 医患信息数据TX的执行利用自动化脚本代码组成的智能合约来编程和操作执行,并利用端至端的网络传输方式以实现医患信息数据TX的快速传输。
[0131] 本技术方案通过一个具体的计算过程实施例以说明申请提供方法的实现过程,具体为
[0132] (1)启动阶段Setup(λ,L)令R=Z[x]/f(x)则Rq=Zq[x]/f(x),其中f(x)=xn+1,n是2的幂次方。输入安全参数λ和电路深度L,输出L+1个模q,产生参数a;η是R上的一个错误概率分布;N=「(2n+1)log q]。
[0133] (2)密钥生成阶段KeyGen(a):对于0‑L层,每层生成私钥Si∈R2q和公钥A‑i∈RqN×2,令S′←Si⊗Si,τ(S′i+1➝Si)←switchKeyGen(Si+1,Si).密钥sk=(S0,…,SL),公钥pk=(A0,…,AL,τ(S″➝S0),…,τ(S″L➝SL‑1))。
[0134] (3)加密阶段Enc(a,pk,m):用公钥A加密明文m.取m∈R2,令m←(m,0)∈R22,取r←RN2,则输出密文M←m+ATLr∈R2q。
[0135] (4)解密阶段Dec(a,sk,M):假设密文的密钥是Si,则输出的明文为m←((mod q)mod 2)。
[0136] (5)加法运算Add(A,M1,M2):如果密文在同一层电路上则对应同一个密钥Si,如果M1和M2不在同一层,则进行Refesh更新操作,使M1、M2处于同一层再进行计算.若M1,M2对应明文m1,m2.假设M3←(M1+M2)mod(qi),则对M3进行密文更新,输出M4←Refesh(M3,τ(S′i➝Si‑1),qi,qi‑1),则Dec(M4)=m1+m2,表明算法具有加法同态性。
[0137] (6)乘法运算Mult(A,M1,M2):与Add()算法相同,假设密文在同一层电路上则对应同一个密钥Si,如果M1和M2不在同一层,则进行Refesh更新操作,使M1、M2处于同一层再进行计算。
[0138] (7)更新密文计算Refresh(M,τ(S′i➝Si‑1),qi,qi‑1):更新密文C,先进行密钥交换(维数约减,进入到下一层电路),再进行模交换(约减噪声)。
[0139] (8)计算阶段Evaluate(pk,K,c1,…,ct):全同态加密的目的是对密文进行计算,Evaluate算法是对电路K上输入的一组密文C=〈c1,…,ct〉(其中ci←enc(mi))进行计算,电路K代表一个函数或者一个功能。pk是密文计算时使用的公钥,如在同态解密计算时,pk里包含的就是对该层密钥每一位加密的密文,密钥有多少位,pk里包含的公钥就有多少个。如果用的是密钥交换技术,pk里包含的就是L–1个矩阵,L是方案中电路的深度,该矩阵用于密钥转换。
[0140] 本技术方案中,采用区块链存储医患信息数据TX,相当于电子病历,基于区块链的不可篡改的特性,可以保证医患信息数据TX的安全存储,然后以私人医生、医院、诊所、科研机构和个人等形成一个各对等节点地位的对等的联盟链,各个节点之间形成一个网络,网络内部能够安全、快速、同步的共享数据。患者可以主动地掌握自己的就诊信息,医生的诊断和各项检查指标,链上所有的医疗机构、私人医生等也可以查看电子病历的结果,科研机构根据自己研究需求获取想用的医疗数据,各个在联盟链的医疗机构也可以实时快速的获取到患者在任何地方,具体为上传到链上的检查和诊断信息。
[0141] 在区块链中为实现全同态加密技术能够保证数据的授权分发和安全传输,我们将全同态加密算法写在区块链的智能合约中。存储在区块链中的医疗数据进行交易时,会自动调动智能合约,对传输的数据进行加密,然后在进行相应的计算和传输,这样在数据交易的过程中不仅保证了交易的不可篡改性和强时序性同时还保障了医疗数据的隐私安全。
[0142] 因此,本技术方案具有以下技术优势:
[0143] (1)在过往的通常情况下,数据的安全与可信依赖于系统中心或第三方等可信实体这种中心化的机构,一旦可信实体不再可信,如管理员被收买,数据库遭入侵和篡改等,数据的安全性和可信性将不能被保证。本技术方案去中心化,无需信任的新型数据架构,它由网络中的所有对等节点共同拥有和监督,不接受单一方面的控制。
[0144] (2)数据重复率高,区块链在每个节点都有完整的信息备份,并且数据重复度很高,这就能够有效地防止黑客入侵,强而有地保障了医疗安全。医患信息数据TX病历可以被多方进行创建、共享,并且能够让多方进行追加更新,会重塑整个行业的效率和透明度。
[0145] (3)信息共享,通过信息共享,很大程度上解决了众多医院患者信息不互通不对称的困境。尤其是患者在转院之后,很多信息会在转院的过程中造成缺漏或者丢失,很容易让患者误诊或者错过最佳治疗时间,通过患者信息上链,实现医院间信息的互联互通,帮助医生更加有效地为患者提供健康服务。病例上链:通过病历上链,患者将自己的健康状况牢牢把握在自己手中。过去,患者信息泄露的新闻层出不穷,给人营造出患者在医院的信息得不到保密的感觉,给今天医患关系大大减分。病历上链以后,可以在出现医患关系时有个依据,是对医生和患者的双重保障。健康上链,是基于区块链去中心化、防篡改、分布式存储等特性,建立互信机制,提供对患者数字医疗信息的确权、存证、共享、溯源等数据治理服务。
[0146] (4)病史可溯源,医患信息数据TX可以理解为区块链上的电子病历,实现了信息链条的“来源可查、去向可追、责任可究”。此外,医疗数据上链分布式存储可以及时记录医疗过程,推动在线医保支付进程,也为解决后续可能发生的医疗纠纷提供依据。一旦出现非合规事件,智能合约就可以自主跟踪合规情况、实时向相关方发送通知,简化执行流程,降低监管成本。
[0147] (5)为科研单位进行实验分析提供临床医学的真实病情数据,需要患者的一些就诊记录,可以安全自由快速的实现这一目的,实现医工合作的大趋势。
[0148] 显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
QQ群二维码
意见反馈