CN115438383A - 基于区块链通道技术的临床试验数据上传及共享方法 - Google Patents
基于区块链通道技术的临床试验数据上传及共享方法 Download PDFInfo
- Publication number
- CN115438383A CN115438383A CN202211395086.3A CN202211395086A CN115438383A CN 115438383 A CN115438383 A CN 115438383A CN 202211395086 A CN202211395086 A CN 202211395086A CN 115438383 A CN115438383 A CN 115438383A
- Authority
- CN
- China
- Prior art keywords
- data
- hospital
- node
- hash
- clinical
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/007—Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
- G06F2211/008—Public Key, Asymmetric Key, Asymmetric Encryption
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Databases & Information Systems (AREA)
- Automation & Control Theory (AREA)
- Medical Treatment And Welfare Office Work (AREA)
Abstract
本发明属于临床试验领域,涉及到区块链、RSA加密等技术,具体地说,是一种基于区块链通道技术的临床试验数据上传及共享方法,本发明基于区块链通道技术,设计了三种不同类型的通道满足了临床试验不同参与方对数据的不同共享需求;基于改进的RSA加密算法实现了对不同类型临床试验数据的上链方式,保证了链上数据的安全性以及通道内数据的隔离性;基于智能合约,该方法也实现了链上数据在临床试验不同参与方之间的共享,保证了下载数据的真实性。本发明设计了临床试验数据的上传、共享流程,目的在于保障临床试验数据的安全性、真实性,同时更好地保存数据并起到数据隔离的效果,让临床试验数据的管理过程更有保障。
Description
技术领域
本发明属于临床试验领域,涉及到区块链、RSA加密等技术,具体地说,是一种基于区块链通道技术的临床试验数据上传及共享方法。
背景技术
近几年,区块链逐渐成为人们口中常被提起的概念,走进了大家的生活,区块链成为社会关注的焦点。从本质上讲,区块链是一个共享的数据库,具有不可篡改、可溯源等特点。这些特点让区块链能在广泛的领域内发挥作用,具有不可低估的潜力。
药品临床试验是验证新药安全性有效性的必要步骤,在医学领域有着重要意义。整个药品临床试验需要多方参与涉及到很多专业领域人员,每一步的研究过程都需要按照预先的计划与规定,是一个很严格的过程。由于药品临床试验的特殊性,一个好的药品临床试验是复杂且慎重的。
现有文献中针对临床试验过程设计的方法偏少,根据临床试验参与方来设计具体通道的方法也很少。现有的大部分技术都没有考虑到数据隔离的需求,同时对于受试者数据的保护考虑甚少,而临床试验数据的安全性、真实性都是极其重要的。
发明内容
为了解决上述技术问题,本发明披露了一种基于区块链通道技术的临床试验数据上传及共享方法,基于区块链对药品临床试验进行改良研究,利用区块链通道技术实现多方参与、隔离数据;利用改进的RSA算法保证了数据的安全性;利用智能合约实现对于整个临床试验过程的管理,保证了数据的真实性。
本发明采用的具体技术方案如下:
一种基于区块链通道技术的临床试验数据上传及共享方法,运用Fabric的channel模块来实现数据隔离的需求,根据数据类型划分通道,将数据分为三类:受试者自己的试验信息、全部受试者的试验信息、数据分析结果与报告,然后采用基于IPFS和改进RSA的临床试验数据存储共享方法进行数据共享,最后利用智能合约管理整个过程;具体包括以下步骤:
步骤1、临床试验实施方创建Channel1通道,并添加医院节点和全部受试者节点;
步骤2、对临床试验产生的数据进行分类,一部分数据(例如电子病历、诊疗记录、患者日志等)属于文本类型,同时临床试验也会产生一些特殊类型的数据(例如实验室检查结果、心电图检查结果、CT等等);
步骤3、将上述特殊类型的数据上传至IPFS,IPFS会返回一个存储哈希值hash_ipfs,hash_ipfs和文本类型的数据统称为M;
步骤4、计算临床试验数据的哈希值hash_data;
步骤5、在Channel1中医院作为将受试者试验信息上链的节点将M(hash_ipfs和文本类型数据)用受试者的公钥和受试者本人的编号进行改进的RSA加密,然后将加密后的数据C和hash_data编码上链;
步骤6、受试者可以在Channel1中下载数据并用自己的私钥和自己的编号进行解密;
步骤7、临床试验实施方创建Channel2通道,并添加医院、管理部门、申办方、数据分析员节点;
步骤8、医院节点将全部受试者的临床试验数据上传至Channel2并调用Chaincode1计算哈希值;
步骤9、自动调用Channel2中的Chaincode2,Chaincode2会计算此时医院上传数据的哈希值并与之前Chaincode1计算出的哈希值进行对比,相同则允许上链,不同则驳回上链请求;
步骤10、在Channel2中医院作为将全部受试者试验信息上链的节点将M(hash_ipfs和文本类型数据)用自己的私钥和临床试验方案编号进行改进的RSA加密,然后将加密后的数据C和hash_data编码上链;
步骤11、管理部门、申办方、数据分析员可以在Channel2中下载数据并用医院的公钥和临床试验方案编号进行解密;
步骤12、管理部门进行临床试验数据质询,结束后调用Chaincode3将质询结果发送给医院,并开放医院节点对Chaincode4的调用权限;
步骤13、医院在拿到质询结果后会通知相应的医生对数据进行复查,最后调用Chaincode4将复查后出现问题的数据重新上链;
步骤14、临床试验实施方创建Channel3通道,并添加管理部门、申办方、数据分析员节点;
步骤15、数据分析员从Channel2中下载数据并调用Chaincode5来判断下载的数据是否与医院上传的一样:如果相同则直接下载,如果不同则继续调用Chaincode6用于检查哪些数据被篡改了;
步骤16、数据分析员下载Channel2中的数据并解密、分析,撰写报告;
步骤17、在Channel3中数据分析员作为将试验数据分析结果与报告上链的节点将M(文本类型)用自己的私钥和临床试验方案编号进行改进的RSA加密,然后将加密后的数据C和hash_data编码上链;
步骤18、管理部门、申办方可以在Channel3中下载数据并用数据分析员的公钥和临床试验方案编号进行解密。
本发明的有益效果:本发明基于区块链通道技术并结合临床试验参与方设计了数据隔离方法,保证了通道间临床试验数据的隔离性;基于改进的RSA加密算法实现了对不同类型临床试验数据的上链方式,保证了链上数据的安全性以及通道内受试者数据的隔离性;基于智能合约对临床试验过程进行管理,通过智能合约来检查数据、质询数据,保证了临床试验数据的真实性。
附图说明
图1为本发明中Fabric Channel结构图。
图2为本发明中channel设计图。
图3为本发明中各角色权限图。
图4为本发明中数据上链过程图。
图5为本发明中数据检查方法图。
具体实施方式
为了加深对本发明的理解,下面将结合附图和实施例对本发明做进一步详细描述,该实施例仅用于解释本发明,并不对本发明的保护范围构成限定。
实施例:一种基于区块链通道技术的临床试验数据上传及共享方法,运用Fabric的channel模块来实现数据隔离的需求,根据数据类型划分通道,将数据分为三类:受试者自己的试验信息、全部受试者的试验信息、数据分析结果与报告,然后采用基于IPFS和改进RSA的临床试验数据存储共享方法进行数据共享,最后利用智能合约管理整个过程;具体包括以下步骤:
步骤1、临床试验实施方创建Channel1通道,并添加医院节点和全部受试者节点;
步骤2、对临床试验产生的数据进行分类,一部分数据(例如电子病历、诊疗记录、患者日志等)属于文本类型,同时临床试验也会产生一些特殊类型的数据(例如实验室检查结果、心电图检查结果、CT等等);
步骤3、将上述特殊类型的数据上传至IPFS,IPFS会返回一个存储哈希值hash_ipfs,hash_ipfs和文本类型的数据统称为M;
步骤4、计算临床试验数据的哈希值hash_data;
步骤5、在Channel1中医院作为将受试者试验信息上链的节点将M(hash_ipfs和文本类型数据)用受试者的公钥和受试者本人的编号进行改进的RSA加密,然后将加密后的数据C和hash_data编码上链;
步骤6、受试者可以在Channel1中下载数据并用自己的私钥和自己的编号进行解密;
步骤7、临床试验实施方创建Channel2通道,并添加医院、管理部门、申办方、数据分析员节点;
步骤8、医院节点将全部受试者的临床试验数据上传至Channel2并调用Chaincode1计算哈希值;
步骤9、自动调用Channel2中的Chaincode2,Chaincode2会计算此时医院上传数据的哈希值并与之前Chaincode1计算出的哈希值进行对比,相同则允许上链,不同则驳回上链请求;
步骤10、在Channel2中医院作为将全部受试者试验信息上链的节点将M(hash_ipfs和文本类型数据)用自己的私钥和临床试验方案编号进行改进的RSA加密,然后将加密后的数据C和hash_data编码上链;
步骤11、管理部门、申办方、数据分析员可以在Channel2中下载数据并用医院的公钥和临床试验方案编号进行解密;
步骤12、管理部门进行临床试验数据质询,结束后调用Chaincode3将质询结果发送给医院,并开放医院节点对Chaincode4的调用权限;
步骤13、医院在拿到质询结果后会通知相应的医生对数据进行复查,最后调用Chaincode4将复查后出现问题的数据重新上链;
步骤14、临床试验实施方创建Channel3通道,并添加管理部门、申办方、数据分析员节点;
步骤15、数据分析员从Channel2中下载数据并调用Chaincode5来判断下载的数据是否与医院上传的一样:如果相同则直接下载,如果不同则继续调用Chaincode6用于检查哪些数据被篡改了;
步骤16、数据分析员下载Channel2中的数据并解密、分析,撰写报告;
步骤17、在Channel3中数据分析员作为将试验数据分析结果与报告上链的节点将M(文本类型)用自己的私钥和临床试验方案编号进行改进的RSA加密,然后将加密后的数据C和hash_data编码上链;
步骤18、管理部门、申办方可以在Channel3中下载数据并用数据分析员的公钥和临床试验方案编号进行解密。
本实施例具有以下三个创新点:
创新点1:基于Fabric channel的临床试验数据隔离方法
在临床试验之初考虑到整个临床试验过程中会有很多不同类型的数据,作为临床试验中的一个参与方,可能并不需要下载所有的数据,所以本实施例设计运用Fabric的channel模块来实现数据隔离的需求。同时将数据隔离能够控制数据传播的范围让临床试验数据更加安全,方便统一管理、统一查找。
本实施例根据数据类型来划分通道,将数据分为以下三类:受试者自己的试验信息、全部受试者的试验信息、数据分析结果与报告。Fabric启动时会创建一个默认链systemchannel用来管理其他user channel。创建第一个user channel时需要向system channel发送“New Channel”transaction,其中包括了新创建的channel的名字(Channel1)、包括的组织(医院、受试者)、channel的配置信息、出块属性等。这个transaction会被提交到system channel,然后orderer中会创建一个新的user channel,刚刚发送的transction里的信息作为user channel的genesis block,这样第一个Channel1就创建完成了。用上述同样的方法可以创建出Channel2,它的transaction包括了新创建的channel的名字(Channel2)、包括的组织(医院、管理部门、申办方、数据分析员)、channel的配置信息、出块属性等;以及Channel3,它的transaction包括了新创建的channel的名字(Channel3)、包括的组织(管理部门、申办方、数据分析员)、channel的配置信息、出块属性等。由于是先产生受试者自己的试验信息,然后再打包成全部受试者的试验信息,最后根据信息生成数据分析结果与报告,据此通道的生成顺序也是Channel1、Channel2、Channel3。所有channel的结构如图1所示,下面对新生成的三个channel的设计做详细描述,如图2所示。
Channel1:
该channel内共享的信息是受试者自己的试验信息,此channel内的节点有医院、受试者。除此外没有节点能看到这些信息,保证了受试者的隐私安全。但是临床试验受试者众多,不可能为每一个受试者提供一个独享的channel,这样会大大降低效率。所以本实施例将这些channel合并成为一个Channel1,Channel1内的节点是医院和全部受试者。受试者的公钥公开在链上,医院方将受试者的试验信息用此公钥和受试者本人的编号加密,只有知道自己的私钥和编号才能解密并查看自己的信息,保证了数据在受试者之间的隐私性。同时采用受试者的公钥和编号进行加密,使受试者的试验信息得到双重保障,在私钥不小心泄露的情况下也无法对信息进行解密。
Channel2:
Channel2内共享的信息是全部受试者的试验信息,Channel2内的节点有医院、管理部门、申办方、数据分析员。医院作为药物临床试验的实施者负责将全部受试者的试验信息上链并保存。管理部门和申办方可以对药物临床试验过程实时监督,防止试验流程不规范,同时可以对数据进行质询。数据分析员需要根据全部受试者的试验信息进行数据管理、数据分析和数据统计并生成分析报告供管理部门和申办方审查。
Channel3:
Channel3内共享的信息是数据分析结果与报告,Channel3内的节点有管理部门、申办方、数据分析员。数据分析员是数据分析报告的撰写者,负责将数据分析结果与报告上链。管理部门和申办方需要拿到药物临床试验最终的分析报告以对试验进行审查评估。
如图3显示了本实施例设计的通道模型中各角色的权限,其中医院参与了Channel1和Channel2,能享受这两个channel中的数据;受试者仅参与了Channel1,仅能享受自己本人的试验数据;管理部门、申办方、数据分析员都参与了Channel2和Channel3,能享受这两个channel中的数据。
创新点2:基于IPFS和改进RSA的临床试验数据存储共享方法
本实施例考虑使用数据直接上链和哈希上链相结合的方式将临床试验产生的数据全部上链,同时利用改进的RSA加密算法对数据的安全性采取进一步的保障。在进行临床试验的过程中会有大量的数据产出,这些数据有着不同的数据类型,可以将其分为记录在病例报告表上的数据和非病历报告表收集的数据。有一部分数据(例如电子病历、诊疗记录、患者日志等)属于文本类型则采取直接上链的方式。而临床试验产生的一些特殊类型的数据(例如实验室检查结果、心电图检查结果、CT等等)无法直接上链。但是这些数据是有价值的并且有共享需求的,所以这部分数据将采用哈希上链的方式存储在区块链中。数据上链过程如图4所示。
IPFS是一种全新的超媒体文本传输协议,使用的是去中心化分片加密存储技术,把文件分成了多个片段存储在网络的各个节点上,可以有效地保护用户的数据。同时IPFS在文件的上传、下载速度方面是非常快的,很适合临床试验数据的存储。在本实施例中首先对临床试验数据进行哈希处理得到hash_data,然后把特殊类型的数据上传至IPFS,IPFS会返回一个存储哈希值hash_ipfs。hash_ipfs和文本类型的数据统称为M。
在Channel1中医院作为将受试者试验信息上链的节点将M用受试者的公钥和受试者本人的编号进行改进的RSA加密,然后将加密后的数据C和hash_data编码上链。只有知道自己的私钥和编号才能解密得到临床试验数据,保证了数据在受试者之间的隐私性。同时采用受试者的公钥和编号进行加密,使受试者的试验信息得到双重保障。外部或内部攻击者在得到私钥或编号之一的情况下也无法对信息进行解密,攻击失效。
在Channel2中医院作为将全部受试者试验信息上链的节点将M用自己的私钥和临床试验方案编号进行改进的RSA加密,然后将加密后的数据C和hash_data编码上链。由于医院节点的公钥公开在链上,所以Channel2中的其他节点都可以进行解密并查看临床试验数据。外部攻击者无法进入到channel中,无法得到医院节点的公钥所以攻击失效。内部攻击者即使能够知道医院节点的公钥但是不知道临床试验方案的编号所以依然无法解密,攻击失效。
在Channel3中数据分析员作为将试验数据分析结果与报告上链的节点将M用自己的私钥和临床试验方案编号进行改进的RSA加密,然后将加密后的数据C和hash_data编码上链。由于数据分析员节点的公钥公开在链上,所以Channel3中的其他节点都可以进行解密并查看数据分析结果。外部攻击者无法进入到channel中,无法得到数据分析员节点的公钥所以攻击失效。内部攻击者即使能够知道数据分析员节点的公钥但是不知道临床试验方案的编号所以依然无法解密,攻击失效。
本实施例对于改进的RSA算法阐述如下,首先生成公私钥对的流程不变:
(1)选取两个大质数p,q
(2)计算乘积N = p * q
(3)计算欧拉函数T = (p - 1) * (q - 1)
(4)选取公钥E,其中1 < E < T,E为质数,且不是T的因子
(5)计算私钥D,其中(D * E) % T = 1
至此公私钥计算完成,公钥(E,N),私钥(D,N)。根据上文对各channel的分析知道本实施例在采用公私钥对的基础上加入受试者本人的编号或临床试验方案编号进一步加密。假设受试者编号或临床试验方案编号为α,根据表1的ASCII码转化为αASCII,明文为M,密文为C,所以得出加密方法为:
C = [(M ^ E) mod N] + αASCII
解密方法为:
M = (C - αASCII) ^ D mod N。
例如受试者编号为α = 101106,则根据表1的ASCII码转换为αASCII =494849494854;或临床试验方案编号为α = BAT1706,则根据表1的ASCII码转换为αASCII =66658449554854。
表1 ASCII码(节选)
字符 | 十进制 |
B | 66 |
A | 65 |
T | 84 |
1 | 49 |
7 | 55 |
0 | 48 |
6 | 54 |
本实施例在考虑到数据存储方式的前提下进行了对数据安全性的优化,同时各节点在拿到数据时都可以计算哈希值并与链上的hash_data进行比对,以确认数据是否被篡改。
创新点3:基于Chaincode的临床试验数据检查方法
管理部门需要对临床试验数据进行质询,对看似不合理的数据或格式提出疑问,以确保临床试验数据的真实性,让整个流程处于一种合理的监管模式下。同时数据在产生、上传、存储、查询等等操作的过程中均有可能被篡改,因此进行合理地数据检查是很有必要的。本实施例在前两个创新点提出的框架下对数据的流通过程进行进一步管理,保障数据的真实性和安全性,具体流程如图5。
Chaincode1:
医院节点提交数据到Channel2中时调用。根据Channel1中的数据计算MerkleTree并返回根节点的哈希值。
Chaincode2:
医院节点提交数据到Channel2中时调用。计算此时医院节点提交数据的MerkleTree,将计算得到的根节点哈希值与Chaincode1返回的哈希值进行对比。如果相同则将数据上链返回true,否则返回false。
Chaincode3:
管理部门对数据发起质询后调用。将管理部门的质询结果发送给医院,通知医院复查,并开放医院节点对Chaincode4的调用权限。
Chaincode4:
只有当Chaincode3被调用后才能进行调用。将医院更改后的数据重新计算hash_data并编码上传至区块链,同时重新计算Merkle Tree,更新根节点哈希值。
Chaincode5:
数据分析员从Channel2中下载临床试验数据时调用。根据Channel2中的数据计算Merkle Tree并将结果与最新的根节点哈希值进行对比。如果相同则返回true,不同则调用Chaincode6并返回false。
Chaincode6:
逐一计算区块中数据的哈希值并与hash_data比对,返回所有不匹配的数据。
Channel1是将临床试验数据上链的第一个channel,而医院节点作为Channel1和Channel2的公有节点负责将全部受试者的试验信息上传到Channel2上。在这个过程中可能会出现数据被篡改的情况,所以本实施例利用Chaincode1和Chaincode2来保证数据不被篡改。
医院节点首先将受试者的试验数据整合并调用Chaincode1计算哈希值,之后将全部受试者的试验数据上传到Channel2,此时会调用Channel2中的Chaincode2,Chaincode2会计算此时医院上传的数据的哈希值并与之前Chaincode1计算出的哈希值进行对比,如果相同则证明数据没有被篡改,允许上链;如果不同则证明数据被篡改过了,驳回上链请求。
数据上传到Channel2后管理部门可以随时对数据进行质询,如果发现存在异议的数据则需要返还给医院方重新确认。医院方经过确认需要对数据进行更改或保留,为此本实施例利用Chaincode3和Chaincode4来完善此过程。
首先管理部门进行临床试验数据质询,结束后调用Chaincode3将质询结果发送给医院,并开放医院节点对Chaincode4的调用权限。此操作是为了防止有不法分子恶意利用Chaincode4更改Channel2中的数据。医院在拿到质询结果后会通知相应的医生对数据进行复查,最后调用Chaincode4将复查后出现问题的数据进行重新上链。
数据分析员作为Channel2和Channel3的公有节点负责从Channel2中下载临床试验数据并进行分析和撰写报告。数据在Channel2中可能存在被篡改的情况,如果一开始下载的临床试验数据就是存在问题的,那么根据虚假数据得出的报告也就不再可信。为此本实施例利用Chaincode5和Chaincode6来解决此问题。
数据分析员从Channel2中下载数据时将调用Chaincode5来判断下载的数据是否与医院上传的一样。如果相同则直接下载;如果不同则继续调用Chaincode6用于检查哪些数据被篡改了,Chaincode6会返回所有与hash_data比对不匹配的数据。最后channel中的每一步交易都是有记录的,可以根据时间查询交易起到溯源的效果,以此来追查哪一步操作出现了问题导致数据被篡改。
以上显示和描述了本发明的基本原理、主要特征及优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (8)
1.一种基于区块链通道技术的临床试验数据上传及共享方法,其特征在于,运用Fabric的channel模块来实现数据隔离的需求,根据数据类型划分通道,将数据分为三类:受试者自己的试验信息、全部受试者的试验信息、数据分析结果与报告,然后采用基于IPFS和改进RSA的临床试验数据存储共享方法进行数据共享。
2.根据权利要求1所述的基于区块链通道技术的临床试验数据上传及共享方法,其特征在于,具体包括以下步骤:
步骤1、临床试验实施方创建Channel1通道,并添加医院节点和全部受试者节点;
步骤2、对临床试验产生的数据进行分类,分类为文本类型和特殊类型;
步骤3、将步骤2中的特殊类型的数据上传至IPFS,IPFS会返回一个存储哈希值hash_ipfs,hash_ipfs和文本类型的数据统称为M;
步骤4、计算临床试验数据的哈希值hash_data;
步骤5、在Channel1中医院作为将受试者试验信息上链的节点将M用受试者的公钥和受试者本人的编号进行改进的RSA加密,然后将加密后的数据C和hash_data编码上链;
步骤6、受试者在Channel1中下载数据并用自己的私钥和自己的编号进行解密;
步骤7、临床试验实施方创建Channel2通道,并添加医院、管理部门、申办方、数据分析员节点;
步骤8、医院节点将全部受试者的临床试验数据上传至Channel2并调用Chaincode1计算哈希值;
步骤9、自动调用Channel2中的Chaincode2,Chaincode2会计算此时医院上传数据的哈希值并与之前Chaincode1计算出的哈希值进行对比,相同则允许上链,不同则驳回上链请求;
步骤10、在Channel2中医院作为将全部受试者试验信息上链的节点将M用自己的私钥和临床试验方案编号进行改进的RSA加密,然后将加密后的数据C和hash_data编码上链;
步骤11、管理部门、申办方、数据分析员在Channel2中下载数据并用医院的公钥和临床试验方案编号进行解密;
步骤12、管理部门进行临床试验数据质询,结束后调用Chaincode3将质询结果发送给医院,并开放医院节点对Chaincode4的调用权限;
步骤13、医院在拿到质询结果后会通知相应的医生对数据进行复查,最后调用Chaincode4将复查后出现问题的数据重新上链;
步骤14、临床试验实施方创建Channel3通道,并添加管理部门、申办方、数据分析员节点;
步骤15、数据分析员从Channel2中下载数据并调用Chaincode5来判断下载的数据是否与医院上传的一样,如果相同则直接下载,如果不同则继续调用Chaincode6用于检查哪些数据被篡改了;
步骤16、数据分析员下载Channel2中的数据并解密、分析,撰写报告;
步骤17、在Channel3中数据分析员作为将试验数据分析结果与报告上链的节点将M用自己的私钥和临床试验方案编号进行改进的RSA加密,然后将加密后的数据C和hash_data编码上链;
步骤18、管理部门、申办方可以在Channel3中下载数据并用数据分析员的公钥和临床试验方案编号进行解密。
3.根据权利要求2所述的基于区块链通道技术的临床试验数据上传及共享方法,其特征在于,在所述步骤2中,将电子病历、诊疗记录、患者日志分类为文本类型。
4.根据权利要求3所述的基于区块链通道技术的临床试验数据上传及共享方法,其特征在于,在所述步骤2中,将实验室检查结果、心电图检查结果、CT检查结果分类为特殊类型的数据。
5.根据权利要求4所述的基于区块链通道技术的临床试验数据上传及共享方法,其特征在于,在所述步骤5和所述步骤10中,M为hash_ipfs和文本类型数据。
6.根据权利要求5所述的基于区块链通道技术的临床试验数据上传及共享方法,其特征在于,在所述步骤17中,M为文本类型数据。
7.根据权利要求6所述的基于区块链通道技术的临床试验数据上传及共享方法,其特征在于,在所述步骤10中,对于改进的RSA算法流程如下,首先生成公私钥对的流程不变:
(1)选取两个大质数p,q
(2)计算乘积N = p * q
(3)计算欧拉函数T = (p - 1) * (q - 1)
(4)选取公钥E,其中1 < E < T,E为质数,且不是T的因子
(5)计算私钥D,其中(D * E) % T = 1
至此公私钥计算完成,公钥(E,N),私钥(D,N),假设受试者编号或临床试验方案编号为α,根据ASCII码转化为αASCII,明文为M,密文为C,所以得出加密方法为:
C = [(M ^ E) mod N] + αASCII
解密方法为:
M = (C - αASCII) ^ D mod N。
8.根据权利要求1-7任一项所述的基于区块链通道技术的临床试验数据上传及共享方法,其特征在于,还包括基于Chaincode的临床试验数据检查方法,具体为以下流程:
Chaincode1:医院节点提交数据到Channel2中时调用,根据Channel1中的数据计算Merkle Tree并返回根节点的哈希值;
Chaincode2:医院节点提交数据到Channel2中时调用,计算此时医院节点提交数据的Merkle Tree,将计算得到的根节点哈希值与Chaincode1返回的哈希值进行对比,如果相同则将数据上链返回true,否则返回false;
Chaincode3:管理部门对数据发起质询后调用,将管理部门的质询结果发送给医院,通知医院复查,并开放医院节点对Chaincode4的调用权限;
Chaincode4:当Chaincode3被调用后才能进行调用,将医院更改后的数据重新计算hash_data并编码上传至区块链,同时重新计算Merkle Tree,更新根节点哈希值;
Chaincode5:数据分析员从Channel2中下载临床试验数据时调用,根据Channel2中的数据计算Merkle Tree并将结果与最新的根节点哈希值进行对比:如果相同则返回true,不同则调用Chaincode6并返回false;
Chaincode6:逐一计算区块中数据的哈希值并与hash_data比对,返回所有不匹配的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211395086.3A CN115438383B (zh) | 2022-11-09 | 2022-11-09 | 基于区块链通道技术的临床试验数据上传及共享方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211395086.3A CN115438383B (zh) | 2022-11-09 | 2022-11-09 | 基于区块链通道技术的临床试验数据上传及共享方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115438383A true CN115438383A (zh) | 2022-12-06 |
CN115438383B CN115438383B (zh) | 2023-02-14 |
Family
ID=84252210
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211395086.3A Active CN115438383B (zh) | 2022-11-09 | 2022-11-09 | 基于区块链通道技术的临床试验数据上传及共享方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115438383B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109871669A (zh) * | 2019-03-14 | 2019-06-11 | 哈尔滨工程大学 | 一种基于区块链技术的数据共享解决方法 |
CN110135186A (zh) * | 2019-04-11 | 2019-08-16 | 浙江工业大学 | 基于区块链技术的医疗数据交易与共享方法 |
CN110148441A (zh) * | 2019-05-21 | 2019-08-20 | 北京市天元网络技术股份有限公司 | 一种基于区块链的临床试验电子数据采集管理方法以及装置 |
WO2021088278A1 (zh) * | 2019-11-04 | 2021-05-14 | 北京海益同展信息科技有限公司 | 一种文件存储方法、终端及存储介质 |
CN113572618A (zh) * | 2021-08-10 | 2021-10-29 | 东北大学 | 结合Fabric和IPFS的去中心化存储***及其数据存储方法 |
CN114360673A (zh) * | 2021-10-18 | 2022-04-15 | 上海旺链信息科技有限公司 | 基于区块链的医疗信息共享方法、装置、设备和存储介质 |
-
2022
- 2022-11-09 CN CN202211395086.3A patent/CN115438383B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109871669A (zh) * | 2019-03-14 | 2019-06-11 | 哈尔滨工程大学 | 一种基于区块链技术的数据共享解决方法 |
CN110135186A (zh) * | 2019-04-11 | 2019-08-16 | 浙江工业大学 | 基于区块链技术的医疗数据交易与共享方法 |
CN110148441A (zh) * | 2019-05-21 | 2019-08-20 | 北京市天元网络技术股份有限公司 | 一种基于区块链的临床试验电子数据采集管理方法以及装置 |
WO2021088278A1 (zh) * | 2019-11-04 | 2021-05-14 | 北京海益同展信息科技有限公司 | 一种文件存储方法、终端及存储介质 |
CN113572618A (zh) * | 2021-08-10 | 2021-10-29 | 东北大学 | 结合Fabric和IPFS的去中心化存储***及其数据存储方法 |
CN114360673A (zh) * | 2021-10-18 | 2022-04-15 | 上海旺链信息科技有限公司 | 基于区块链的医疗信息共享方法、装置、设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
朱玉洁,骆冰清,孟啸,陈庆琳: ""基于区块链的药物临床试验数据平台构建探讨"", 《中国临床药理学杂志》 * |
Also Published As
Publication number | Publication date |
---|---|
CN115438383B (zh) | 2023-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1175358C (zh) | 用加密标识和访问请求的机密记录的安全数据库管理*** | |
TWI784092B (zh) | 分享電子醫療健康記錄的方法與系統 | |
CN112863629B (zh) | 基于区块链的医疗电子病历分布式管理***及其制备方法 | |
CN110213737B (zh) | 基于联盟链建立体域网信息安全机制的方法 | |
CN109741803A (zh) | 基于区块链的医疗数据安全协作*** | |
CN109194702B (zh) | 医疗数据记录方法、***、计算机设备和存储介质 | |
Wang et al. | Distributed security architecture based on blockchain for connected health: Architecture, challenges, and approaches | |
CN107767926A (zh) | 基于区块链的医疗数据管理***及访问方法 | |
CN109191355A (zh) | 一种基于区块链的创伤数据共享*** | |
CN111444258A (zh) | 一种基于区块链的医疗数据共享方法 | |
CN110545273B (zh) | 一种基于区块链应用的资源分配方法及*** | |
CN111916217A (zh) | 基于区块链的医疗数据管理方法、***、存储介质及终端 | |
CN111488619A (zh) | 基于区块链的健康数据隐私保护与共享*** | |
CN111460040A (zh) | 一种基于医疗区块链的数据管理*** | |
CN111370087A (zh) | 一种基于区块链的居民健康档案管理*** | |
CN114360673A (zh) | 基于区块链的医疗信息共享方法、装置、设备和存储介质 | |
CN116527709A (zh) | 结合量子密钥和区块链的电子病历安全共享***及方法 | |
CN115134378A (zh) | 一种区块链智慧医疗*** | |
Ullah et al. | HIDE-Healthcare IoT data trust managEment: Attribute centric intelligent privacy approach | |
CN114724661A (zh) | 一种基于区块链技术的多源临床试验数据分享方法 | |
CN110648735B (zh) | 一种基于区块链的电子病历可信共享方法及*** | |
CN113726520A (zh) | 一种基于区块链的多权限可撤销加密二维码电子病历 | |
CN115438383B (zh) | 基于区块链通道技术的临床试验数据上传及共享方法 | |
CN115440332B (zh) | 基于公有链和联盟链的临床试验数据存储及共享方法 | |
CN113362916A (zh) | 一种健康档案管理***及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |