一种共享方法及装置与流程

文档序号:24938171发布日期:2021-05-04 11:30阅读:42来源:国知局
一种共享方法及装置与流程

本申请涉及区块链技术领域,具体涉及一种共享方法及装置。



背景技术:

医疗数据共享对于疾病的治疗及分析具有重要意义。通常情况下,医疗数据涉及患者的敏感信息,一旦医疗数据泄露,则会侵犯患者的个人隐私。因此,在一些医疗数据共享方法中,使用加密模块对待共享医疗数据进行加密以保护共享信息的安全性。例如,由加密模块使用密钥对各个节点的待共享信息进行加密,并将加密后的待共享信息和密钥分发至对应节点,对应节点使用密钥对待共享信息进行解密,从而获得共享信息。但是,在节点向加密模块发送待共享信息的过程中存在被第三方盗取或篡改信息的风险,而且,由于密钥通常为固定的静态密钥,第三方通过破解密钥亦可截获共享信息。因此,亟需一种共享方法,以实现安全可靠的医疗数据共享。



技术实现要素:

为此,本申请提供一种共享方法及装置,以解决医疗数据在共享过程存在被盗取或篡改的风险,从而导致无法安全共享医疗数据的问题。

为了实现上述目的,本申请第一方面提供一种共享方法,包括:

在区块链网络广播共享请求,其中,所述共享请求包括医疗信息编号;

根据所述医疗信息编号和预设关联关系,获取所述医疗信息编号对应的医疗信息摘要,其中,所述预设关联关系包括所述医疗信息编号与第一节点的标识的对应关系,所述第一节点为生成所述医疗信息摘要的节点;

接收所述第一节点在区块链网络广播的随机函数密文,其中,所述随机函数密文为所述第一节点根据所述医疗信息编号确定所述共享请求与所述第一节点关联的情况下广播的消息,所述随机函数密文为基于预先约定的第一密钥对所述医疗信息编号对应的随机函数加密获得的密文;

基于预先约定的第二密钥对所述随机函数密文进行解密,获得所述随机函数;

基于所述医疗信息摘要、所述随机函数和所述第一节点的公钥,获得对应的所述医疗信息。

进一步地,所述预先约定的第一密钥为当前第二节点的公钥,所述预先约定的第二密钥为所述当前第二节点的私钥。

进一步地,所述在区块链网络广播共享请求之前,还包括:

接收所述第一节点在所述区块链网络广播的共享消息,其中,所述共享消息包括所述第一节点的标识和所述医疗信息摘要;

根据所述第一节点的标识生成所述医疗信息摘要对应的所述医疗信息编号;

根据所述医疗信息编号与所述第一节点的标识的对应关系,设置所述预设关联关系。

进一步地,所述根据所述医疗信息编号和预设关联关系,获取所述医疗信息编号对应的医疗信息摘要,包括:

根据所述医疗信息编号和所述预设关联关系,确定所述医疗信息编号对应的所述第一节点的标识;

根据所述第一节点的标识,从所述区块链网络获取所述第一节点对应的所述共享消息;

根据所述共享消息,获取所述医疗信息编号对应的所述医疗信息摘要。

进一步地,所述医疗信息摘要为基于所述随机函数和加密医疗信息生成的信息,所述加密医疗信息为基于所述第一节点的私钥对医疗信息进行加密获得的信息;

所述基于所述医疗信息摘要、所述随机函数和所述第一节点的公钥,获得对应的所述医疗信息,包括:

基于所述医疗信息摘要和所述随机函数,获得加密医疗信息;

使用所述第一节点的公钥对所述加密医疗信息进行解密,获得所述医疗信息。

为了实现上述目的,本申请第二方面提供一种共享方法,包括:

接收第二节点在区块链网络广播的共享请求,其中,所述共享请求包括医疗信息编号;

根据所述医疗信息编号和预设关联关系,判断所述共享请求是否为与当前第一节点关联的请求,其中,所述预设关联关系包括所述医疗数据编号与第一节点的标识的对应关系;

在确定所述共享请求与所述当前第一节点关联的情况下,使用预先约定的第一密钥对所述医疗信息编号对应的随机函数进行加密,获得随机函数密文;

在所述区块链网络广播所述随机函数密文,以供所述第二节点基于预先约定的第二密钥对所述随机函数密文进行解密获得所述随机函数,并基于所述随机函数、医疗信息摘要和所述当前第一节点的公钥获得对应的医疗信息,其中,所述医疗信息摘要为所述第二节点根据所述医疗数据编号和预设关联关系获得的信息。

进一步地,所述接收第二节点在区块链网络广播的共享请求之前,还包括:

在所述区块链网络广播共享消息,其中,所述共享消息包括所述第一节点的标识和所述医疗信息摘要。

进一步地,所述在所述区块链网络广播共享消息之前,还包括:

基于所述当前第一节点的私钥对所述医疗信息进行加密,获得加密医疗信息;

基于所述随机函数和所述加密医疗信息,生成所述医疗信息摘要。

为了实现上述目的,本申请第三方面提供一种共享装置,包括:

第一广播模块,用于在区块链网络广播共享请求,其中,所述共享请求包括医疗信息编号;

第一获取模块,用于根据所述医疗信息编号和预设关联关系,获取所述医疗信息编号对应的医疗信息摘要,其中,所述预设关联关系包括所述医疗信息编号与第一节点的标识的对应关系,所述第一节点为生成所述医疗信息摘要的节点;

第一接收模块,用于接收所述第一节点在区块链网络广播的随机函数密文,其中,所述随机函数密文为所述第一节点根据所述医疗信息编号确定所述共享请求与所述第一节点关联的情况下广播的消息,所述随机函数密文为基于预先约定的第一密钥对所述医疗信息编号对应的随机函数加密获得的密文;

解密模块,用于基于预先约定的第二密钥对所述随机函数密文进行解密,获得所述随机函数;

第二获取模块,用于基于所述医疗信息摘要、所述随机函数和所述第一节点的公钥,获得对应的所述医疗信息。

为了实现上述目的,本申请第四方面提供一种共享装置,包括:

第二接收模块,用于接收第二节点在区块链网络广播的共享请求,其中,所述共享请求包括医疗信息编号;

判断模块,用于根据所述医疗信息编号和预设关联关系,判断所述共享请求是否为与当前第一节点关联的请求,其中,所述预设关联关系包括所述医疗数据编号与第一节点的标识的对应关系;

加密模块,用于在确定所述共享请求与所述当前第一节点关联的情况下,使用预先约定的第一密钥对所述医疗信息编号对应的随机函数进行加密,获得随机函数密文;

第二广播模块,用于在所述区块链网络广播所述随机函数密文,以供所述第二节点基于预先约定的第二密钥对所述随机函数密文进行解密获得所述随机函数,并基于所述随机函数、医疗信息摘要和所述当前第一节点的公钥获得对应的医疗信息,其中,所述医疗信息摘要为所述第二节点根据所述医疗数据编号和预设关联关系获得的信息。

本申请具有如下优点:

本申请提供的共享方法及装置,在区块链网络广播共享请求,其中,共享请求包括医疗信息编号,根据医疗信息编号和预设关联关系,获取医疗信息编号对应的医疗信息摘要,接收第一节点在区块链网络广播的随机函数密文,基于预先约定的第二密钥对随机函数密文进行解密,获得随机函数,并基于医疗信息摘要、随机函数和第一节点的公钥,获得对应的医疗信息,可以避免医疗信息在共享过程被盗取或篡改,从而实现安全可靠的医疗信息共享,有助于推动医疗事业发展。

附图说明

附图是用来提供对本申请的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本申请,但并不构成对本申请的限制。

图1为本申请实施例一提供的一种共享方法的流程图;

图2为本申请实施例二提供的一种共享方法的流程图;

图3为本申请实施例三提供的一种共享方法的流程图;

图4为本申请实施例四提供的一种共享方法的流程图;

图5为本申请实施例五提供的一种共享装置的组成方框图;

图6为本申请实施例六提供的一种共享装置的组成方框图。

在附图中:

501:第一广播模块502:第一获取模块

503:第一接收模块504:解密模块

505:第二获取模块601:第二接收模块

602:判断模块603:加密模块

604:第二广播模块

具体实施方式

以下结合附图对本申请的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本申请,并不用于限制本申请。

计算机技术、网络技术的进步以及数据共享热潮共同驱动医疗数据共享的发展。在实际应用中,医疗数据通常涉及患者和医院的敏感信息,在共享过程中一旦出现数据泄露,则会导致患者和医疗机构的信息泄露,无法有效保障信息安全。

有鉴于此,本申请提供一种共享方法及装置,患者的终端节点和医疗节点均接入区块链网络,患者通过终端节点在区块链网络中广播医疗信息摘要,医疗节点在区块链网络广播共享请求之后,接收终端节点返回的随机函数密文,并基于预先约定的第二密钥对随机函数密文进行解密获得随机函数,再基于医疗信息摘要、随机函数和终端节点的公钥获得对应的医疗信息,可以有效避免医疗信息在共享过程被盗取或篡改,从而实现安全可靠的医疗信息共享,有助于推动医疗事业发展。

本申请的第一方面提供一种共享方法。图1是本申请实施例一提供的一种共享方法的流程图,可应用于医疗机构节点。如图1所示,该共享方法包括如下步骤:

步骤s101,在区块链网络广播共享请求。

其中,共享请求包括医疗信息编号,医疗信息编号用于标识医疗信息和医疗信息摘要,使得节点可以基于医疗信息编号唯一确定与之对应的医疗信息和医疗信息摘要。其中,医疗信息摘要为第一节点对医疗信息进行加密获得的加密信息,第一节点为患者终端在区块链网络中的抽象节点。相应的,医疗机构节点在区块链网络中的抽象节点为第二节点(例如,医疗机构的服务器),医疗机构包括但不限于医院、医学研究院和急救中心。

在区块链网络中,存在多个第一节点生成若干数量的医疗信息摘要。第一方面,第二节点根据医疗信息编号从区块链网络中选取其所需要的医疗信息摘要;第二方面,第一节点接收共享请求之后,根据医疗信息编号确定该共享请求是否为与其相关的共享请求,在确定共享请求与之相关的情况下进一步确定是否同意向第二节点共享对应的医疗信息。

步骤s102,根据医疗信息编号和预设关联关系,获取医疗信息编号对应的医疗信息摘要。

其中,预设关联关系包括医疗信息编号和第一节点的标识的对应关系,第一节点为生成医疗信息摘要的节点。在一些实施例中,第一节点的标识可以使用终端的号码或者终端的区块链标识。

在实际应用中,区块链网络中包括多个第一节点,这些第一节点生成若干数量的医疗信息摘要,第二节点需根据共享需求中的医疗信息编号从区块链网络中选取所要获取的医疗信息摘要。

在一些实施例中,第二节点根据医疗信息编号和预设关联关系,确定该医疗信息编号对应的第一节点的标识,进而根据第一节点的标识从区块链网络中获取对应的医疗信息摘要。

步骤s103,接收第一节点在区块链网络广播的随机函数密文。

其中,随机函数密文为第一节点根据医疗信息编号确定共享请求与第一节点关联的情况下广播的消息,随机函数密文为基于预先约定的第一密钥对医疗信息编号对应的随机函数加密获得的密文。

在一个实施方式中,第一节点接收第二节点广播的共享请求,解析共享请求获得医疗信息编号,根据医疗信息编号和预设关联关系确定该共享请求是否为与当前第一节点相关的请求。具体地,当根据医疗信息编号和预设关联关系获得对应的第一节点的标识,且该标识与当前第一节点的标识一致时,则确定该共享请求是与当前第一节点相关的请求。在确定共享请求是与当前第一节点相关的请求,且第一节点同意向第二节点共享对应的医疗信息的情况下,第一节点使用预先约定的第一密钥(例如,第二节点的公钥)对医疗信息编号对应的随机函数进行加密,获得随机函数密文,并在区块链网络中广播随机函数密文。第二节点接收第一节点在区块链网络广播的随机函数密文。

可以理解的是,随机函数密文本身为经过第一节点加密的信息,第三方节点即便截获随机函数密文,由于其无法解密随机函数密文获得相关明文(明文包括随机函数),因此,第三方节点无法破解医疗信息摘要获得医疗信息,保障了医疗信息的安全性。

步骤s104,基于预先约定的第二密钥对随机函数密文进行解密,获得随机函数。

为保障第二节点可以正确解密随机函数密文以获得随机函数,第一节点与第二节点预先约定密钥信息,其中,密钥信息包括第一密钥和第二密钥。第一节点按照预先约定的第一密钥对随机函数进行加密获得随机函数密文,第二节点接收随机函数密文后,按照预先约定的第二密钥对随机函数密文进行解密从而获得正确的随机函数。

在一些实施例中,第一节点和第二节点预先约定第一密钥为第二节点的公钥,第二密钥为第二节点的私钥。第一节点使用第二节点的公钥对随机函数进行加密,生成并发送随机函数密文至第二节点。第二节点接收随机函数密文之后,使用第二节点的私钥对随机函数密文进行解密,获得随机函数。

步骤s105,基于医疗信息摘要、随机函数和第一节点的公钥,获得对应的医疗信息。

在一些实施例中,医疗信息摘要为基于随机函数和加密医疗信息生成的信息,加密医疗信息为基于第一节点的私钥对医疗信息进行加密获得的信息。第二节点基于医疗信息摘要、随机函数和第一节点的公钥,获得对应的医疗信息,包括:基于医疗信息摘要和随机函数,获得加密医疗信息;使用第一节点的公钥对加密医疗信息进行解密,获得医疗信息。

本实施例中,为保障共享信息的安全性,第一节点在区块链网络广播的医疗信息摘要为加密信息(医疗信息摘要是对医疗信息进行加密之后获得的加密信息),第二节点存在共享需求发出共享请求之后,在第一节点同意共享医疗信息的情况下,第一节点在区块链网络广播用于解密医疗信息摘要的随机函数密文。而且,为了防止第三方节点截获随机函数密文对医疗信息摘要进行解密获得医疗信息,随机函数密文本身为经过第一节点加密的信息,第三方节点由于无法解密随机函数密文获得相关明文,因此,第三方节点无法破解医疗信息摘要。第二节点接收随机函数密文之后,基于预先约定的第二密钥对随机函数密文进行解密,获得随机函数,并基于医疗信息摘要、随机函数和第一节点的公钥,获得对应的医疗信息,从而实现安全可靠的医疗信息共享。

图2是本申请实施例二提供的一种共享方法的流程图,可应用于医疗机构节点。如图2所示,该共享方法包括如下步骤:

步骤s201,接收第一节点在区块链网络广播的共享消息。

其中,共享消息包括第一节点的标识和医疗信息摘要,医疗信息摘要为第一节点基于医疗信息生成的加密信息。

在一些实施例中,第一节点使用其私钥对医疗信息进行加密,获得加密医疗信息,并基于随机函数对加密医疗信息进行进一步加密,生成医疗信息摘要,依据医疗信息摘要和第一节点的标识生成共享消息,并在区块链网络广播共享消息。第二节点接收第一节点在区块链网络广播的共享消息。

步骤s202,根据第一节点的标识生成医疗信息摘要对应的医疗信息编号。

其中,医疗信息编号用于标识医疗信息摘要。

在一些实施例中,第二节点接收第一节点广播的共享消息之后,根据共享消息中的第一节点的标识生成对应的医疗信息摘要的编号,该编号即为医疗信息编号。

可以理解的是,由于医疗信息摘要是基于对应的医疗信息生成的信息,因此,医疗信息摘要与医疗信息也存在一一对应关系,所以,医疗信息编号不仅可以用来标识医疗信息摘要,还可用来标识医疗信息。

步骤s203,根据医疗信息编号与第一节点的标识的对应关系,设置预设关联关系。

预设关联关系包括医疗信息编号与第一节点的标识的映射关系。在一些实施例中,已知医疗信息编号,未知第一节点的标识,根据预设关联关系与医疗信息编号,即可确定与医疗信息编号对应的第一节点的标识。在另外一些实施例中,已知第一节点的标识,未知医疗信息编号,根据预设关联关系与第一节点的标识,即可确定与第一节点的标识对应的医疗信息编号。

需要说明的是,在一些实施例中,第一节点在接收到第二节点发送的共享请求之后,在广播随机函数密文之前,先根据共享请求中的医疗信息编号以及预设关联关系,确定该共享请求是否为与该第一节点相关的请求,且只有在确定共享请求为与其相关的请求的情况下,第一节点才在区块链网络广播随机函数密文。其中,在医疗信息编号对应的医疗信息为当前第一节点生成的信息的情况下,第一节点确定该共享请求是与其相关的请求。

步骤s204,在区块链网络广播共享请求。

步骤s205,根据医疗信息编号和预设关联关系,获取医疗信息编号对应的医疗信息摘要。

步骤s206,接收第一节点在区块链网络广播的随机函数密文。

步骤s207,基于预先约定的第二密钥对随机函数密文进行解密,获得随机函数。

步骤s208,基于医疗信息摘要、随机函数和第一节点的公钥,获得对应的医疗信息。

本实施例中的步骤s204~步骤s208与本申请实施例一中步骤s101~步骤s105的内容相同,在此不再赘述。

图3是本申请实施例三提供的一种共享方法的流程图,可应用于患者终端节点。如图3所示,该共享方法包括如下步骤:

步骤s301,接收第二节点在区块链网络广播的共享请求。

其中,共享请求包括医疗信息编号,医疗信息编号用于标识医疗信息和医疗信息摘要,使得节点可以基于医疗信息编号唯一确定与之对应的医疗信息和医疗信息摘要。其中,医疗信息摘要为第一节点对医疗信息进行加密获得的加密信息,第一节点为患者终端在区块链网络中的抽象节点。相应的,医疗机构节点在区块链网络中的抽象节点为第二节点,医疗机构包括但不限于医院、医学研究院和急救中心。

步骤s302,根据医疗信息编号和预设关联关系,判断共享请求是否为与当前第一节点关联的请求。

其中,预设关联关系包括医疗数据编号与第一节点的标识的对应关系,第一节点为生成医疗信息摘要的节点。在一些实施例中,第一节点的标识可以使用终端的号码或者终端的区块链标识。

在一些实施例中,第一节点在接收第二节点发送的共享请求之后,根据共享请求中的医疗信息编号以及预设关联关系,判断该医疗信息编号对应的医疗信息以及医疗信息摘要是否为当前第一节点生成的信息(即判断医疗信息编号对应的第一节点的标识与当前第一节点的标识是否一致),在确定该医疗信息编号对应的医疗信息以及医疗信息摘要为当前第一节点生成的信息的情况下,确定该共享请求是与其相关的请求。

步骤s303,在确定共享请求与当前第一节点关联的情况下,使用预先约定的第一密钥对医疗信息编号对应的随机函数进行加密,获得随机函数密文。

在一些实施例中,第一节点在确定共享请求是与当前第一节点相关的请求,进一步确定是否同意向第二节点共享对应的医疗信息。在确定同意向第二节点共享医疗信息的情况下,第一节点使用预先约定的第一密钥(例如,第二节点的公钥)对医疗信息编号对应的随机函数进行加密,获得随机函数密文,并在区块链网络中广播随机函数密文。

可以理解的是,随机函数密文本身为经过第一节点加密的信息,第三方节点即便截获随机函数密文,由于其无法解密随机函数密文获得相关明文(明文包括随机函数),因此,第三方节点无法破解医疗信息摘要获得医疗信息,保障了医疗信息的安全性。

步骤s304,在区块链网络广播随机函数密文,以供第二节点基于预先约定的第二密钥对随机函数密文进行解密获得随机函数,并基于随机函数、医疗信息摘要和当前第一节点的公钥获得对应的医疗信息。

其中,医疗信息摘要为第二节点根据医疗数据编号和预设关联关系获得的信息。

在一些实施例中,第一节点和第二节点预先约定第一密钥为第二节点的公钥,第二密钥为第二节点的私钥。第一节点使用第二节点的公钥对随机函数进行加密,生成并发送随机函数密文至第二节点。第二节点接收随机函数密文之后,使用第二节点的私钥对随机函数密文进行解密,获得随机函数,并基于医疗信息摘要、随机函数和第一节点的公钥,获得对应的医疗信息。

可以理解的是,由于第二节点的私钥仅由第二节点拥有,其它节点无法获知第二节点的私钥,因此,可以避免第三方通过截获和解密随机函数密文获得随机函数,保障了随机函数的安全传输。

本实施例中,第一节点接收第二节点在区块链网络广播的共享请求,其中,共享请求包括医疗信息编号;根据医疗信息编号和预设关联关系,判断共享请求是否为与当前第一节点关联的请求,其中,预设关联关系包括医疗数据编号与第一节点的标识的对应关系;在确定共享请求与当前第一节点关联的情况下,使用预先约定的第一密钥对医疗信息编号对应的随机函数进行加密,获得随机函数密文;在区块链网络广播随机函数密文,以供第二节点基于预先约定的第二密钥对随机函数密文进行解密获得随机函数,并基于随机函数、医疗信息摘要和当前第一节点的公钥获得对应的医疗信息,可以避免医疗信息在共享过程被盗取或篡改,从而实现安全可靠的医疗信息共享,有助于推动医疗事业发展。

图4是本申请实施例四提供的一种共享方法的流程图,可应用于患者终端节点。如图4所示,该共享方法包括如下步骤:

步骤s401,基于当前第一节点的私钥对医疗信息进行加密,获得加密医疗信息。

第一节点生成医疗信息之后,为了避免因医疗信息泄露导致个人信息或医疗机构信息泄露,第一节点对医疗信息进行加密,生成加密医疗信息。

在一些实施例中,第一节点使用其私钥对医疗信息进行加密,获得加密医疗信息。

步骤s402,基于随机函数和加密医疗信息,生成医疗信息摘要。

其中,随机函数为具有生成摘要信息功能的函数。将加密医疗信息作为随机函数的自变量,经过随机函数的运算之后,获得的结果即为医疗信息摘要。

可以理解的是,在实际应用中,医疗信息可能包括医学影像检查结果,从而导致医疗信息数据量较大,加剧了数据存储和数据处理压力。基于随机函数生成的医疗信息摘要,较加密医疗信息或医疗信息而言,其数据量大小得以大幅减小,从而可以缓解数据存储压力和数据处理压力。

需要说明的是,经过随机函数处理之后的医疗信息摘要,其加密程度较加密医疗信息更高,更不易被第三方破解,从而提升了待共享的医疗信息的安全性。

步骤s403,在区块链网络广播共享消息。

其中,共享消息包括第一节点的标识和医疗信息摘要。

第一节点在区块链网络广播共享消息之后,第二节点即可从区块链网络中获取医疗信息摘要,进而通过第一节点提供的随机函数以及第一节点的公钥对医疗信息摘要进行解密,获得对应的医疗信息,实现医疗信息共享。

步骤s404,接收第二节点在区块链网络广播的共享请求。

步骤s405,根据医疗信息编号和预设关联关系,判断共享请求是否为与当前第一节点关联的请求。

步骤s406,在确定共享请求与当前第一节点关联的情况下,使用预先约定的第一密钥对医疗信息编号对应的随机函数进行加密,获得随机函数密文。

步骤s407,在区块链网络广播随机函数密文,以供第二节点基于预先约定的第二密钥对随机函数密文进行解密获得随机函数,并基于随机函数、医疗信息摘要和当前第一节点的公钥获得对应的医疗信息。

本实施例中的步骤s404~步骤s407与本申请实施例三中步骤s301~步骤s304的内容相同,在此不再赘述。

上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。

本申请的第二方面提供一种共享装置。图5是本申请实施例五提供的一种共享装置的组成方框图,可应用于医疗机构节点。如图5所示,该共享装置包括:第一广播模块501、第一获取模块502、第一接收模块503、解密模块504和第二获取模块505。

第一广播模块501,用于在区块链网络广播共享请求。

其中,共享请求包括医疗信息编号,医疗信息编号用于标识医疗信息和医疗信息摘要,使得节点可以基于医疗信息编号唯一确定与之对应的医疗信息和医疗信息摘要。其中,医疗信息摘要为第一节点对医疗信息进行加密获得的加密信息,第一节点为患者终端在区块链网络中的抽象节点。相应的,医疗机构节点在区块链网络中的抽象节点为第二节点,医疗机构包括但不限于医院、医学研究院和急救中心。

在区块链网络中,存在多个第一节点生成若干数量的医疗信息摘要。第一方面,第二节点根据医疗信息编号从区块链网络中选取其所需要的医疗信息摘要;第二方面,第一节点接收共享请求之后,根据医疗信息编号确定该共享请求是否为与其相关的共享请求,在确定共享请求与之相关的情况下进一步确定是否同意向第二节点共享对应的医疗信息。

第一获取模块502,用于根据医疗信息编号和预设关联关系,获取医疗信息编号对应的医疗信息摘要。

其中,预设关联关系包括医疗信息编号与第一节点的标识的对应关系,第一节点为生成医疗信息摘要的节点。在一些实施例中,第一节点的标识可以使用终端的号码或者终端的区块链标识。

在实际应用中,区块链网络中包括多个第一节点,这些第一节点生成若干数量的医疗信息摘要,第二节点需根据共享需求中的医疗信息编号从区块链网络中选取所要获取的医疗信息摘要。

在一些实施例中,第二节点通过第一获取模块502,根据医疗信息编号和预设关联关系,确定该医疗信息编号对应的第一节点的标识,进而根据第一节点的标识从区块链网络中获取对应的医疗信息摘要。

第一接收模块503,用于接收第一节点在区块链网络广播的随机函数密文。

其中,随机函数密文为第一节点根据医疗信息编号确定共享请求与第一节点关联的情况下广播的消息,随机函数密文为基于预先约定的第一密钥对医疗信息编号对应的随机函数加密获得的密文。

在一个实施方式中,第一节点接收第二节点广播的共享请求,解析共享请求获得医疗信息编号,根据医疗信息编号和预设关联关系确定该共享请求是否为与当前第一节点相关的请求。具体地,当根据医疗信息编号和预设关联关系获得对应的第一节点的标识,且该标识与当前第一节点的标识一致时,则确定该共享请求是与当前第一节点相关的请求。在确定共享请求是与当前第一节点相关的请求,且第一节点同意向第二节点共享对应的医疗信息的情况下,第一节点使用预先约定的第一密钥(例如,第二节点的公钥)对医疗信息编号对应的随机函数进行加密,获得随机函数密文,并在区块链网络中广播随机函数密文。第二节点通过第一接收模块503接收第一节点在区块链网络广播的随机函数密文。

解密模块504,用于基于预先约定的第二密钥对随机函数密文进行解密,获得随机函数。

为保障第二节点可以正确解密随机函数密文以获得随机函数,第一节点与第二节点预先约定密钥信息,其中,密钥信息包括第一密钥和第二密钥。第一节点按照预先约定的第一密钥对随机函数进行加密获得随机函数密文,第二节点接收随机函数密文后,按照预先约定的第二密钥对随机函数密文进行解密从而获得正确的随机函数。

在一些实施例中,第一节点和第二节点预先约定第一密钥为第二节点的公钥,第二密钥为第二节点的私钥。第一节点使用第二节点的公钥对随机函数进行加密,生成并发送随机函数密文至第二节点。第二节点接收随机函数密文之后,通过解密模块504并使用第二节点的私钥对随机函数密文进行解密,获得随机函数。

第二获取模块505,用于基于医疗信息摘要、随机函数和第一节点的公钥,获得对应的医疗信息。

在一些实施例中,医疗信息摘要为基于随机函数和加密医疗信息生成的信息,加密医疗信息为基于第一节点的私钥对医疗信息进行加密获得的信息。第二获取模块505基于医疗信息摘要、随机函数和第一节点的公钥,获得对应的医疗信息,包括:基于医疗信息摘要和随机函数,获得加密医疗信息;使用第一节点的公钥对加密医疗信息进行解密,获得医疗信息。

本实施例中,第一节点在区块链网络广播共享请求,其中,共享请求包括医疗信息编号,根据医疗信息编号和预设关联关系,获取医疗信息编号对应的医疗信息摘要,接收第一节点在区块链网络广播的随机函数密文,基于预先约定的第二密钥对随机函数密文进行解密,获得随机函数,并基于医疗信息摘要、随机函数和第一节点的公钥,获得对应的医疗信息,可以避免医疗信息在共享过程被盗取或篡改,从而实现安全可靠的医疗信息共享,有助于推动医疗事业发展。

图6是本申请实施例六提供的一种共享装置的组成方框图,可应用于患者终端节点。如图6所示,该共享装置包括:第二接收模块601、判断模块602、加密模块603和第二广播模块604。

第二接收模块601,用于接收第二节点在区块链网络广播的共享请求。

其中,共享请求包括医疗信息编号,医疗信息编号用于标识医疗信息和医疗信息摘要,使得节点可以基于医疗信息编号唯一确定与之对应的医疗信息和医疗信息摘要。其中,医疗信息摘要为第一节点对医疗信息进行加密获得的加密信息,第一节点为患者终端在区块链网络中的抽象节点。相应的,医疗机构节点在区块链网络中的抽象节点为第二节点,医疗机构包括但不限于医院、医学研究院和急救中心。

判断模块602,用于根据医疗信息编号和预设关联关系,判断共享请求是否为与当前第一节点关联的请求。

其中,预设关联关系包括医疗数据编号与第一节点的标识的对应关系。

在一些实施例中,第一节点在接收第二节点发送的共享请求之后,根据共享请求中的医疗信息编号以及预设关联关系,通过判断模块602判断该医疗信息编号对应的医疗信息以及医疗信息摘要是否为当前第一节点生成的信息(即判断医疗信息编号对应的第一节点的标识与当前第一节点的标识是否一致),在确定该医疗信息编号对应的医疗信息以及医疗信息摘要为当前第一节点生成的信息的情况下,确定该共享请求是与其相关的请求。

加密模块603,用于在确定共享请求与当前第一节点关联的情况下,使用预先约定的第一密钥对医疗信息编号对应的随机函数进行加密,获得随机函数密文。

在一些实施例中,第一节点在确定共享请求是与当前第一节点相关的请求,进一步确定是否同意向第二节点共享对应的医疗信息。在确定同意向第二节点共享医疗信息的情况下,第一节点通过加密模块603,使用预先约定的第一密钥(例如,第二节点的公钥)对医疗信息编号对应的随机函数进行加密,获得随机函数密文。

第二广播模块604,用于在区块链网络广播随机函数密文,以供第二节点基于预先约定的第二密钥对随机函数密文进行解密获得随机函数,并基于随机函数、医疗信息摘要和当前第一节点的公钥获得对应的医疗信息。

其中,医疗信息摘要为第二节点根据医疗数据编号和预设关联关系获得的信息。

在一些实施例中,第一节点和第二节点预先约定第一密钥为第二节点的公钥,第二密钥为第二节点的私钥。第一节点使用第二节点的公钥对随机函数进行加密,生成随机函数密文,并通过第二广播模块604在区块链网络中广播随机函数密文。第二节点接收第一节点广播的随机函数密文之后,使用第二节点的私钥对随机函数密文进行解密,获得随机函数,并基于医疗信息摘要、随机函数和第一节点的公钥,获得对应的医疗信息。

本实施例中,第一节点接收第二节点在区块链网络广播的共享请求,其中,共享请求包括医疗信息编号;根据医疗信息编号和预设关联关系,判断共享请求是否为与当前第一节点关联的请求,其中,预设关联关系包括医疗数据编号与第一节点的标识的对应关系;在确定共享请求与当前第一节点关联的情况下,使用预先约定的第一密钥对医疗信息编号对应的随机函数进行加密,获得随机函数密文;在区块链网络广播随机函数密文,以供第二节点基于预先约定的第二密钥对随机函数密文进行解密获得随机函数,并基于随机函数、医疗信息摘要和当前第一节点的公钥获得对应的医疗信息,可以避免医疗信息在共享过程被盗取或篡改,从而实现安全可靠的医疗信息共享,有助于推动医疗事业发展。

值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本申请的创新部分,本实施方式中并没有将与解决本申请所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。

可以理解的是,以上实施方式仅仅是为了说明本申请的原理而采用的示例性实施方式,然而本申请并不局限于此。对于本领域内的普通技术人员而言,在不脱离本申请的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本申请的保护范围。

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