首页 / 专利库 / 资料储存系统 / 工作量证明 / 一种基于CP-ABE和区块链的医药分离管理系统

一种基于CP-ABE和链的医药分离管理系统

阅读:647发布:2020-05-17

专利汇可以提供一种基于CP-ABE和链的医药分离管理系统专利检索,专利查询,专利分析的服务。并且本 发明 属于医药管理技术领域,具体为一种基于CP-ABE(密文策略属性密码加密)与 区 块 链 的医药分离管理系统。本发明的医药分离管理系统,主要分为三部分:区块链、CP-ABE工具包(toolkit)、 节点 /用户;医生将其为病人所开的 处方 加密之后存于区块链中,拥有合法属性的药店可以获取链上加密后的处方密文,根据处方中的药品化学名称与自身药店备有的药物名称相匹配,并提供给患者对应的药物信息,供其选择并购买。本发明系统不仅可提高医疗数据共享的安全性,保障用户的隐私,还保证了医药分离管理流程的可靠性和执行效率。,下面是一种基于CP-ABE和链的医药分离管理系统专利的具体信息内容。

1.一种基于CP-ABE与链的医药分离管理系统,其特征在于,系统的架构分为三部分:区块链、CP-ABE工具包、节点/用户;每个节点所代表的用户利用CP-ABE工具包来加密或解密数据,将加密后的数据存入区块链中;用户从区块链中读取到所需信息后,再利用CP-ABE工具包进行解密;其中:
所述区块链,作为管理和储存信息平台,其共识算法包括工作量证明、拜占庭容错;每个节点的信息都以Merkle树的结构存储,Merkle树是一种二叉树和多叉树,树的节点存储的信息全部为哈希值,也称为Merkle哈希树;其叶子节点存储的是数据块的哈希值,非叶子节点的哈希值是该节点的所有子节点数据组合得到的哈希值;
所述CP-ABE工具包,其中,签名用于确定区块链中的数据权限,而机密的数据则使用CP-ABE加密方案,利用CP-ABE工具包来加密;使用CP-ABE工具包时,首先要初始化系统,这时要选择授权节点来执行初始化和密钥生成的操作;每一个节点都被分配一个属性集合,并为具有该属性集的节点生成一个密钥;在加密时,节点使用其访问控制策略ACP加密数据并生成密文;在解密时,具有满足访问控制策略的属性集的任何其他节点都可以解密密文,获得原始信息;在CP-ABE工具包中,所有通信都通过RPC执行。
2.根据权利要求1所述的医药分离管理系统,其特征在于,所述的CP-ABE加密方案,分为四个步骤:初始设置、加密、密钥生成以及解密;
所述初始设置,通过初始算法,利用生成器生成一个关于素数的双线性群;
所述加密,利用加密算法在访问控制树策略T下加密信息M,具体设置以下参数:kx为T的阈值数量;index(x)为返回节点x的索引值的函数;qx是加密算法为访问控制树T中的节点设置的多项式函数;qx的具体设置如下:对于T中的每个节点x,多项式函数的度为dx,dx的大小仅比kx小一些,即:dx=kx-1;
设根节点R的qR(0)=s,s是随机选择的整数,dR个其他节点被随机挑选作为qR的定义;qx(0)=qparent(x)(index(x)),dx个其他节点被随机挑选作为qx的定义;
Y为树T的叶子节点的集合;函数att(x)定义了仅当x是叶子节点时,x所具有的属性;哈希函数H:{0,1}*→G0,用作随机预言机;
于是,密文的构成如下所示:
所述密钥生成,采用密钥生成算法将属性集合S作为输入,输出一个密钥;随机选择r∈Zp,对于每个j∈S,计算密钥:
所述解密,首先定义一个解密函数DecryptNode(CT,SK,x),将密文CT、密钥SK和节点x作为输入;若x是叶子节点,那么设i=att(x),若 那么设DecryptNode(CT,SK,x)=⊥;
反之,设:
定义拉格朗日插值 对于集合S,△I,S(X)=∏j∈S,j≠i(x-j)/(i-j);
如果x不是叶子节点,那么对于每个x的孩子节点z,调用DecryptNode(CT,SK,x),并输出Fz;令Sx为规模为Kx的集合并包含了所有Fz≠⊥,若Kx=0,则输出停止符;反之,则:
i=index(z),S′x={index(z):z∈Sx}
最后,通过解密算法,执行最终的解密步骤并得到原文。
3.根据权利要求2所述的医药分离管理系统,其特征在于,CP-ABE中包括服务端和客户端,其中服务端包括CP-ABE方案中的全部4个环节——初始化、加密、密钥生成和解密,客户端包括密钥生成和解密两部分;为了给一个新的参与方分配密钥并在所有参与方之间建立通讯,CP-ABE使用远程程序调用组件。
4.根据权利要求3所述的医药分离管理系统,其特征在于,所述访问控制策略ACP具体设置如下:
定义访问控制策略ACP:“SupervisorNode OR HospitalId OR(ChemicalName AND RegionIDList)”;SupervisorNode意在使监督者解密任何信息;HospitalId表明注定的医院可以随时检索处方;RegionIDList中的药房可以获取加密后的处方信息并解密,然后按照处方上的药物构建一份自己所具有药物的清单,并发布到区块链上;需要购买药物的人在家中通过区块链节点进行购买。
5.根据权利要求4所述的医药分离管理系统,其特征在于,系统的工作流程为:
(1)病人患者去医院看病,医生经诊断后开出药方;
(2)医生是具有医院节点属性集合的,利用CP-ABE工具包,并使用如上定义的访问控制策略ACP对处方进行加密,将加密之后的处方上传至区块链;
(3)任何具有满足ChemicalName属性的化学组成的药品,并位于shanghai的药店节点对链上的处方进行解密;
(4)药房在区块链上公布自己药店所具有的药品名称、价格、疗效、说明,以及药房所在的地理位置,以供病人患者购药选择;
(5)病人选择他最喜欢的药房并购买药品;
(6)病人的购买活动会被记录在区块链上;
(7)通过服务节点,监督者会对区块链上的保存的活动信息进行评估。

说明书全文

一种基于CP-ABE和链的医药分离管理系统

技术领域

[0001] 本发明属于医药管理技术领域,具体涉及一种基于CP-ABE算法与区块链的医药分离管理系统。

背景技术

[0002] 医药分离(Separation of Dispensing from Prescription),意思是将发药调配与医师开处方分开,即医院不设诊药房,医院病人凭着医师处方,自主选择社会药店购药。国际上大多数发达国家均已采用医药分离的管理办法,因为医药分离使得医师没有药品促销的利益驱动,可以保证使用药品的合理和规范性,而药师对处方的审核和调配使得药品使用更趋于科学和规范。
[0003] 但是如何对医生所开的处方、病人信息等敏感的医疗数据进行严格保密,是一项重要的任务。医药分离使得提供医疗处方的医生与提供药品的药剂师独立开来,政府和社会也同样希望借助这样的形式可以减少医疗保健行业的利益纠纷并降低成本。在这种情况下,监督环节是必不可少的。为了满足以上需求,本发明设计了一个基于CP-ABE算法的区块链系统来实现医药分离的系统。
[0004] CP-ABE(Ciphertext-Policy Attribute-Based Encryption)指的是基于密文策略属性的加密技术,密文对应于一个访问结构(access control),密钥对应属性集合,当且仅当属性集合中的属性能够满足此访问结构才可对密文进行解密。举个例子,每个用户可根据自身条件或者属性从属性机构得到密钥,然后加密者来制定对消息的访问控制。
[0005] CP-ABE技术是基于属性加密(ABE)技术的一个重要分支,属性集合与密钥相关联,而密文对应一个访问控制策略(access control policy,简称ACP)。
[0006] 访问结构(access control)是安全系统研究的术语,系统的访问结构是指被授权的集合的结构。而ACP有多种实现方法,在这里我们采用访问树的形式实现访问控制策略。访问树的非叶子节点代表的是阈值门,每个阈值门由“AND”或是“OR”表示;叶子节点则代表属性值。一个满足条件的属性集合,是指能使访问树构成的表达式为真的属性集合。若用户所具有的属性值集合不满足此表达式,那么他将不能解密由ACP生成的密文;倘若可以满足,那么此用户即为合法用户,可以解密密文来获取信息。
[0007] 在CP-ABE方案中,密钥与属性集合相对应,密文与访问控制相对应,当且仅当用户所具有的属性满足条件,才能进行解密。加密者只需考虑ACP的结构而无需考虑谁会来进行解密,并且使用基于配对的密码技术来将密文随机化,并隐藏密文防止共谋。
[0008] 区块链是采用分布式的存储,它利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。经区块链技术存储和传播加密后的处方信息,即可在全网共享,又能充分保证数据安全,从而保证患者隐私不被泄露。
[0009] 区块链作为一项分布式、不可篡改、可追溯等特性的新技术,由点对点网络构成,为节点间提供数据路径并维护着一个去中心化的分布式账本。区块链上的数据是共享、同步的,信息通过点对点网络进行传播,所有的节点需要通过共识算法达成一致。区块链对于保存患者病人的处方、隐私数据等具有极好的作用。
[0010] 本发明提出一种基于CP-ABE算法的区块链系统,医生将其为病人所开的处方加密之后存于区块链中,拥有合法属性的药店可以获取链上加密后的处方密文,根据处方中的药品化学名称与自身药店备有的药物名称相匹配,并提供给患者对应的药物信息,供其选择并购买。不仅提高医疗数据共享的安全性,保障了用户的隐私,还保证了医药分离管理流程的可靠性和执行效率。

发明内容

[0011] 本发明的目的在于提供一种既可满足医药分离的管理需求,又能从技术上保证信息的隐私性和安全性的医药分离管理系统。
[0012] 本发明提供的医药分离管理系统,是基于CP-ABE算法与区块链技术的,系统的架构主要分为三部分:区块链(Blockchain)、CP-ABE工具包(toolkit)、节点/用户(nodes/user)。这三部分的主要关系如图1所示。每个节点所代表的用户可利用CP-ABE工具包(toolkit)来加密或解密数据,将加密后的数据存入区块链中。用户从区块链中读取到所需信息后,再利用CP-ABE工具包(toolkit)来进行解密。
[0013] 本发明系统中,医生将其为病人所开的处方加密之后存于区块链中,拥有合法属性的药店可以获取链上加密后的处方密文,根据处方中的药品化学名称与自身药店备有的药物名称相匹配,并提供给患者对应的药物信息,供其选择并购买。本发明系统不仅可提高医疗数据共享的安全性,保障用户的隐私,还保证了医药分离管理流程的可靠性和执行效率。
[0014] 下面对系统各部分作进一步具体说明。
[0015] (1)区块链(Blockchain)
[0016] 区块链作为管理和储存信息的平台,常用的共识算法包括工作量证明(POW)、拜占庭容错(PBFT)等。每个节点的信息都以Merkle树的结构存储,Merkle树是一种二叉树和多叉树,树的节点存储的信息全部为哈希值,也可称为Merkle哈希树。其叶子节点存储的是数据块的哈希值,非叶子节点的哈希值是该节点的所有子节点数据组合得到的哈希值。
[0017] (2)CP-ABE toolkit
[0018] 签名是用于确定区块链中的数据权限,而机密的数据则使用CP-ABE加密方案,利用CP-ABE toolkit这一工具来加密。这一模块具有低耦合和高内聚的特征,很好的符合工程上的要求。使用CP-ABE toolkit时,首先在初始化系统时,要选择授权节点来执行初始化和密钥生成的步骤。每一个节点都会被分配一个属性集合,并为具有该属性集的节点生成一个密钥。在加密时,节点使用其ACP加密数据并生成密文;在解密时,具有满足ACP的属性集的任何其他节点都可以解密密文,获得原始信息。在这一toolkit中,所有通信都是通过RPC执行的。
[0019] 下面主要介绍CP-ABE加密方案以及访问控制策略(ACP)的设置。
[0020] (1)CP-ABE加密方案
[0021] 主要分为四个步骤:初始设置、加密、密钥生成以及解密。
[0022] 1)初始设置
[0023] 初始化算法利用生成器生成一个关于素数的双线性群。
[0024] 2)加密
[0025] 加密算法在访问控制树策略T下加密信息M,具体设置以下参数:
[0026] kx为T的阈值数量;index(x)为返回节点x的索引值的函数;qx是加密算法为访问控制树T中的节点设置的多项式函数;qx的具体设置如下:对于T中的每个节点x,多项式函数的度为dx,dx的大小仅比kx小一些,即:dx=kx-1;
[0027] 设根节点R的qR(0)=s,s是随机选择的整数,dR个其他节点被随机挑选作为qR的定义;qx(0)=qparent(x)(index(x)),dx个其他节点被随机挑选作为qx的定义;
[0028] Y为树T的叶子节点的集合。函数att(x)定义了仅当x是叶子节点时,x所具有的属性。哈希函数H:{0,1}*→G0,用作随机预言机;
[0029] 因此,密文的构成如下所示:
[0030]
[0031]
[0032] 3)密钥生成
[0033] 密钥生成算法将属性集合S作为输入,输出一个密钥。随机选择r∈Zp,对于每个j∈S,计算密钥
[0034]
[0035]
[0036] 4)解密
[0037] 定义一个解密函数DecryptNode(CT,SK,x),将密文CT、密钥SK和节点x作为输入。若x是叶子节点,那么设i=att(x),若 那么设DecryptNode(CT,SK,x)=⊥;反之,设:
[0038]
[0039] 定义拉格朗日插值△I,S(X), ,对于集合S,△I,S(X)=∏j∈S,j≠i(x-j)/(i-j);
[0040] 如果x不是叶子节点,那么对于每个x的孩子节点z来说,调用DecryptNode(CT,SK,x)并输出Fz。令Sx为规模为Kx的集合并包含了所有Fz≠⊥。若Kx=0,则输出停止符;反之,则:
[0041]
[0042] i=index(z),S′x={index(z):z∈Sx}
[0043] 最后,解密算法,执行最终的解密步骤并得到原文。
[0044] 由于系统中,进行加密和解密的是不同的色,因为本发明使用CP-ABE工具包(toolkit)来区分不同参与方的权限。CP-ABE中包括服务端和客户端,其中服务端包括了CP-ABE方案中的全部4个环节——初始化、加密、密钥生成和解密,客户端包括了密钥生成和解密两部分。为了可以给一个新的参与方分配密钥并在所有参与方之间建立通讯,CP-ABE使用了远程程序调用组件(RPC)。
[0045] (2)访问控制策略(ACP)的设置
[0046] 在医药分离中,处方是最敏感的医疗数据,不仅涉及到病人患者的个人信息,也是药店展示自己所拥有的药品信息的唯一依据。医生根据CP-ABE方案将处方加密后上传至区块链上,那么针对处方构建合适的访问控制树ACP是至关重要的。
[0047] 上文中提到过,密钥与属性相对应,而密文与访问控制相对应。为了使系统更加简洁且高效,本发明将访问控制策略(ACP)定义如下:“SupervisorNode(监督者节点)OR HospitalId(医院节点)OR ChemicalName(药品名称)AND RegionIDList(合法药房列表)”;SupervisorNode意在可以使监督者解密任何信息;HospitalId表明注定的医院可以随时检索处方;RegionIDList中的药房可以获取加密后的处方信息并解密,然后按照处方上的药物构建一份自己所具有药物的清单,并发布到区块链上。需要购买药物的人可在家中通过区块链节点进行购买即可。
附图说明
[0048] 图1为本发明系统架构。
[0049] 图2为本发明系统流程图示。
[0050] 图3为本发明系统工作流程框架图。

具体实施方式

[0051] 本发明提出的基于CP-ABE和区块链的医药分离系统,是基于区块链技术和CP-ABE技术的,即利用区块链分布式、不可篡改、可追溯等特性和CP-ABE方案。医药分离的应用场景的流程为(可分为以下6个步骤,参见图2、图3所示):
[0052] (1)病人患者去医院看病,医生经诊断后开出药方;
[0053] (2)医生是具有医院节点属性集合[“hospitId”]的,利CP-ABE toolkit,并使用“supervisorNodeOR HospitalId OR(ChemicalName AND Shanghai)”的访问控制策略ACP对处方进行加密,将加密之后的处方上传至区块链;
[0054] (3)任何具有满足ChemicalName属性的化学组成的药品,并位于shanghai的药店节点均可以对链上的处方进行解密;
[0055] (4)药房在区块链上公布自己药店所具有的药品名称、价格、疗效、说明,以及药房所在的地理位置,以供病人患者购药选择;
[0056] (5)病人选择他最喜欢的药房并购买药品;
[0057] (6)病人的购买活动会被记录在区块链上;
[0058] (7)通过服务节点,监督者会对区块链上的保存的活动信息进行评估。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈