(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210562162.9
(22)申请日 2022.05.23
(71)申请人 湖北工业大 学
地址 430068 湖北省武汉市洪山区南李路
28号
(72)发明人 阮鸥 张诚 陈吉晨
(74)专利代理 机构 武汉科皓知识产权代理事务
所(特殊普通 合伙) 42222
专利代理师 罗飞
(51)Int.Cl.
H04L 9/08(2006.01)
H04L 9/30(2006.01)
H04L 9/32(2006.01)
H04L 9/40(2022.01)
G16H 10/60(2018.01)G06F 21/60(2013.01)
G06F 21/64(2013.01)
(54)发明名称
一种基于区块链的电子病历共享方法及系
统
(57)摘要
本发明公开了一种基于区块链的电子病历
共享方法及系统, 系统的实体包括数据拥有者A、
数据请求者B、 电子病历授权机构、 存储加密病历
数据的IPFS系统和存储加密索引的区块链。 数据
拥有者A加密病历数据, 上传到IPFS系统中并接
收IPFS系 统返回的CID值, 并与病历数据的关键
字进行绑定, 再上传到区块链; 数据请求者B向区
块链发送搜索请求, 通过智能合约对其身份进行
认证; 若通过, 通过关键字对应的CID值找到对应
的病历数据; IPFS系统对该病历数据进行第一次
加密, 电子病历授权机构对其进行第二次加密,
生成的重加密病历数据发送给数据请求者B进行
解密; 在数据返回过程中, 对病历数据进行了两
次加密, 有效防止了病历数据被泄露、 被篡改, 保
证了病历数据的安全。
权利要求书3页 说明书8页 附图2页
CN 115021903 A
2022.09.06
CN 115021903 A
1.一种基于区块链的电子病历共享方法, 其特 征在于, 包括:
S1: 初始化阶段, 包括医疗机构管理员预先对病历数据进行签名, 生成病历数据的签
名; 电子病历授权机构与IPFS系统生成协商密钥PK; 数据请求者B生成密钥对, 包括公钥和
私钥;
S2: 上传病历数据阶段, 包括电子病历授权机构对数据拥有者A要上传的病历数据的签
名进行验证, 验证通过后, 数据拥有者A上传对应的病历数据, 并将病历数据的多个关键字
和CID值进行绑定, 上传至区块链中;
S3: 请求病历数据阶段, 数据请求者B通过区块链的智能合约进行身份验证, 如果验证
通过, 通过关键字请求病历数据, 接收经IPFS系统和电子病历授权机构进行重加密后的病
历数据, 并对重加密后的病历数据进行解密获得原 始病历数据。
2.如权利要求1所述的基于区块链的电子病历共享方法, 其特 征在于, 步骤S1包括:
S1.1: 医疗机构管理员 使用国密SM2签名算法对病历数据m进行签名, 生成病历数据的
签名为(r, s), 其中, r为签名的第一部分, s为签名的第二部分;
S1.2: 电子病历授权 机构与IPFS系统生成协商密钥PK;
S1.3: 数据请求者B选择随机数u, 生 成密钥对为(skB, pkB)=(u, gu mod n2), 其中, skB为
数据请求 者B的私钥, pkB为数据请求 者B的公钥, g为 生成元, n 为模数。
3.如权利要求2所述的基于区块链的电子病历共享方法, 其特 征在于, 步骤S1.1包括:
S1.1.1: 设医疗机构管理员的私钥为随机数d, d∈[1, N ‑1], 其中N是基点 G1的阶; 计算医
疗机构管理员的公钥P=dG1;
S1.1.2: 对病历数据与数据拥有者A的身份标识进行拼接, 生成拼接后的第一消息, 具
体为:
计算
将第一摘要e的数据类型转换为整数, m为病历数据, ZA为
数据拥有者A的身份标识,
为拼接后的第一消息, Hv是输出为v比特长的哈希函数;
S1.1.3: 用随机数发生器产生随机数k∈[1, N ‑1];
S1.1.4: 计算椭圆曲线点C1=kG1=(x1, y1), x1和y1分别为点C1的横坐标和纵坐标;
S1.1.5: 计算r=(e+x1)mod N, 若r=0或r+k=N, 则返回步骤S1.1.3, 否则执行步骤
S1.1.6;
S1.1.6: 计算s=((1+d)‑1*(k‑r·d))mod N, 若s=0, 则返回步骤1.1.3, 否则执行步骤
S1.1.7;
S1.1.7: 根据r和s得到病历数据m的签名(r, s)。
4.如权利要求2所述的基于区块链的电子病历共享方法, 其特 征在于, 步骤S1.2包括:
S1.2.1: 配置安全参数K, 选择两个大素数p, q, 计算n=p*q, n为模数, 满足方程L(p)=L
(q)=K, 其中
存在两个素 数p′和q′且满足p=2p ′+1, q=2q ′+1;
S1.2.2: 在群G2中选择一个具有极大阶的生成元g, G2是n2的循环群;
S1.2.3: 电子病历授权机构和IPFS系统分别生成公私钥: (skt=a, pkt=ga mod n2)和
(SkIPFS=b, pkIPFS=gbmod n2), 其中a, b为随机数, skt、 pkt为电子病历授权机构的私钥和公
钥, skIPFS、 pkIPFS为IPFS系统的私钥和公钥;
S1.2.4: 电子病历授权 机构和IPFS系统 互相发送公钥给对方;
S1.2.5: 得到协商密钥
权 利 要 求 书 1/3 页
2
CN 115021903 A
25.如权利要求1所述的基于区块链的电子病历共享方法, 其特 征在于, 步骤S2包括:
S2.1: 数据拥有者A向电子病历授权 机构发送病历数据m及其签名(r, s);
S2.2: 电子病历授权 机构接收病历数据m及其签名(r, s);
S2.3: 电子病历授权 机构检验r, s∈[1, N ‑1]是否成立;
S2.4: 当成立时对病历数据m与数据拥有者A的身份标识ZA进行拼接, 生成
然后通过哈希函数对拼接后的第二消息
进行运算, 生成第二摘要
将e′的数
据类型转换为整数, Hv是输出为v比特长的哈希函数;
S2.5: 通过生成的签名(r, s), 计算生成t=(r+s)mod N, 若t=0, 则验证不通过, 反之继
续执行, t为第一部分验证值;
S2.6: 计算椭圆曲线上的新 点(x′i, y′i)=[s]G1+[t]P;
S2.7: 计算R=(e ′+x′1)mod N, 检验R=r是否成立, 若成立则验证通过, 否则验证不通
过, R为第二部分验证值, 反 之继续执 行;
S2.8: 若验证通过, 数据拥有者A选择一个随机数w, w∈[1, n/4], 然后用PK加密电子病
历数据m, 生成的加密病历数据为[m]={T, T ′}, 其中T=(1+m*n)*PKwmod n2, T′=gwmod n2,
上传加密病历数据[m]至IPFS系统中, T为加密病历数据的第一部分, T ′为加密病历数据的
第二部分;
S2.9: IPFS系统返回该病历数据的CID值, 数据拥有者A将病历数据的多个关键字和CID
值绑定, 上传至区块链中。
6.如权利要求2所述的基于区块链的电子病历共享方法, 其特 征在于, 步骤S3包括:
S3.1: 数据请求者B通过智能合约进行身份认证, 若身份认证成功, 则数据请求者B通过
关键字向区块链请求相关的病历数据;
S3.2: 通过区块链搜索该关键 字对应的CID值, 将其发送给电子病历授权 机构;
S3.3: 电子病历授权 机构接收CID值后, 请求 IPFS系统中CID值对应的加密病历数据;
S3.4: IPFS系统找到对应的加密病历数据后, 将使用数据请求者B的公钥对该加密病历
数据进行第一次重加密, 并且将第一次重加密后的病历数据发送给电子病历授权 机构;
S3.5: 电子病历授权机构接收IPFS系统返回的第一次重加密后的病历数据, 使用数据
请求者B的公钥对其进行第二次重加密, 并将第二次重加密后的病历数据返回给数据请求
者B;
S3.6: 数据请求者B接收到第二次重加密后的病历数据, 使用自己的私钥对其进行解
密, 获得原 始病历数据。
7.如权利要求6所述的基于区块链的电子病历共享方法, 其特 征在于, S3.4包括:
IPFS系统使用数据 请求者B的公钥pkB对生成的加密病历数据 [m]进行加密, 通过数据请
求者B的公钥与IPFS系统的私钥生成
生成第一次重加密后的病历数据
其中, h1为第一部分加密参数,
为第一次重加密后的
病历数据的第一部分,
为第一次重加密后的病历数据的第二部分。
8.如权利要求6所述的基于区块链的电子病历共享方法, 其特征在于, 步骤S3.5包括:
电子病历授权机构接收到[m]+后, 使用数据请求者B的公钥pkB加密[m]+, 生成
和
其中,
为第二次重加密后的病历数权 利 要 求 书 2/3 页
3
CN 115021903 A
3
专利 一种基于区块链的电子病历共享方法及系统
文档预览
中文文档
14 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共14页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 08:14:47上传分享