一种基于联盟区块链的数字医疗系统抗量子身份认证方法

文档序号:40798829发布日期:2025-01-29 02:04阅读:6来源:国知局
一种基于联盟区块链的数字医疗系统抗量子身份认证方法

本发明涉及计算机信息安全,尤其涉及一种基于联盟区块链的数字医疗系统抗量子身份认证方法。


背景技术:

1、随着数字医疗系统中医疗患者和医疗机构的迅速增加,医疗患者的隐私保护和加密通信越来越重要,因此,数字医疗系统的安全性已成为全球最热门的研究课题之一。认证机制是保护数字医疗系统抵御各种攻击的第一道防线,每个医疗机构和医疗患者都由公钥基础设施(pki)配备公私钥对,证书认证中心(ca)向每个医疗机构和医疗患者的公钥颁发证书以验证其身份。为了进一步保护医疗患者的隐私,ca允许一个医疗患者生成多个公私钥对,并为每个公钥证书都提供一个短期假名以隐藏其真实身份。由于一个医疗患者可以同时拥有多个认证身份,因此很容易受到sybil攻击。而在攻击过程中,一个医疗患者可以同时使用多个身份发起更严重的攻击,例如拒绝服务攻击(dos)。

2、另外,联盟区块链作为分布式账本,具有显著优势,例如更好的安全性、更高的透明度、更强的可追溯性等。联盟区块链由内部成员共同信任的组织或实体共同维护和管理,并且只有授权的参与者才可以参与到区块链的交易和共识过程中。因此,联盟区块链保证了系统中节点的隐私性和可追溯性,所有公钥和相应的身份证书都在链上进行存储和管理。

3、虽然基于可链接的环签名认证方案在隐私性和安全性之间保持了良好的平衡,即能抵抗sybil攻击,但是相关方案严重依赖于传统的基于整数分解、离散对数或双线性对等数学问题的非对称密码。由于量子计算机的快速发展,传统的非对称密码体系在量子计算机的攻击下都会遭到毁灭性的打击,因此,抗量子密码的研究和应用非常值得关注。


技术实现思路

1、本发明通过提供一种基于联盟区块链的数字医疗系统抗量子身份认证方法,解决了现有技术中数字医疗系统中的身份认证和密钥交换不能抵抗量子计算机攻击的技术问题,该方法具有身份匿名性、可链接性和可追溯性的特点。

2、本发明提供了一种基于联盟区块链的数字医疗系统抗量子身份认证方法,包括:

3、每个医疗机构节点随机生成一个公私钥对(pkid,skid),并将公钥pkid发送给证书认证中心节点;每个医疗患者节点随机生成一个主公私钥对(mpka,mska),并将主公钥mpka及身份信息发送给所述证书认证中心节点;

4、所述证书认证中心节点根据所述公钥pkid为每一个医疗机构节点生成并颁发证书认证中心根证书和医疗机构身份证书certm,所述证书认证中心节点根据所述主公钥mpka生成其派生公钥dpka,并为每个医疗患者节点生成并颁发证书认证中心根证书、医疗患者mpk证书和医疗患者dpk证书

5、所述医疗机构节点验证所述医疗机构身份证书certm的有效性;

6、若所述医疗机构身份证书certm是有效的,所述医疗机构节点从连接到本节点的所有医疗患者节点中获取对应的派生公钥dpki、医疗患者mpk证书和医疗患者dpk证书并维护一个唯一的dpk环miring=(dpk1,dpk2,...,dpkn);

7、新的医疗患者节点a将加环请求发送到申请加入的医疗机构节点b;所述加环请求包括:连接环的请求消息体jrreqa、新的医疗患者节点a的环签名σa、医疗患者mpk证书及医疗患者dpk证书的序列号;

8、所述申请加入的医疗机构节点b根据所述加环请求中的序列号,在区块链上检索所述新的医疗患者节点a的mpk证书和医疗患者dpk证书并提取所述证书认证中心根证书的公钥capk,使用该公钥capk验证所述mpk证书和医疗患者dpk证书的有效性,所述申请加入的医疗机构节点b还验证所述加环请求中的环签名σa的有效性;

9、如果所有验证通过,所述医疗机构节点b接受所述医疗患者节点a,并将其派生公钥dpka加入所维护的dpk环中。

10、具体来说,所述医疗机构节点验证所述医疗机构身份证书certm的有效性,包括:

11、所述医疗机构节点从certm中提取所述证书认证中心节点的签名,使用所述证书认证中心根证书的公钥capk验证所述签名是否与所述certm的内容一致;

12、若一致,则签名验证通过;

13、所述医疗机构节点从certm中提取有效期;

14、若所述certm在所述有效期内,则有效期验证通过;

15、所述医疗机构节点查询所述certm是否在所述证书认证中心节点的证书撒销列表中;

16、若所述certm不在所述证书撒销列表中,则证书状态验证通过;

17、所述医疗机构节点从certm中提取预设信息;

18、若所述预设信息与所述医疗机构节点的实际信息匹配,则证书内容一致性验证通过;

19、如果所述签名验证通过、有效期验证通过、证书状态验证通过、证书内容一致性验证通过,则说明所述医疗机构身份证书certm是有效的。

20、具体来说,所述使用该公钥capk验证所述mpk证书和医疗患者dpk证书的有效性,所述申请加入的医疗机构节点b还验证所述加环请求中的环签名σa的有效性,包括:

21、使用所述公钥capk验证所述和所述中是否均包含所述证书认证中心节点的签名、是否均在有效期内、证书序列号是否均与区块链记录一致;

22、若所述和所述均包含所述证书认证中心节点的签名、均在有效期内、证书序列号均与区块链记录一致,则所述和所述的签发合法性通过;

23、所述申请加入的医疗机构节点b验证所述加环请求中的环签名σa是否由所述mpka生成、签名内容是否与请求消息体jrreqa一致、签名格式是否合法;

24、若所述环签名σa由所述mpka生成、签名内容与请求消息体jrreqa一致、签名格式合法,则环签名σa是有效的。

25、具体来说,还包括:

26、dpk环中的医疗患者节点x获取同一环内的医疗患者节点y的dpk证书再通过所述证书认证中心根证书的公钥capk验证dpk证书的有效性;

27、若的签名与其内容一致、签名者为合法的证书认证中心节点、证书在有效期内且为可用状态,则说明医疗患者节点y的dpk证书是有效的;

28、医疗患者节点x还获取医疗患者节点y的kem证书再通过证书认证中心根证书的公钥capk验证kem证书的有效性;

29、若的签名与其内容一致、签名者为合法的证书认证中心节点、证书在有效期内且为可用状态,则说明医疗患者节点y的kem证书是有效的;

30、如果医疗患者节点y的dpk证书和kem证书均通过验证,医疗患者节点x根据密钥交换机制与医疗患者节点y进行密钥交换,此操作记为其中sesskeyxy为x与y的会话密钥,ciphertextxy为x与y通信时x发送给y的密文;

31、当y接收到x发送的ciphertextxy、医疗患者dpk证书和医疗患者kem证书certkemx后,通过证书认证中心根证书的公钥capk验证dpk证书的有效性;

32、若的签名与其内容一致、签名者为合法的证书认证中心节点、证书在有效期内且为可用状态,则说明医疗患者节点x的dpk证书是有效的;

33、医疗患者节点y还通过证书认证中心根证书的公钥capk验证kem证书certkemx的有效性;

34、若certkemx的签名与其内容一致、签名者为合法的证书认证中心节点、证书在有效期内且为可用状态,则说明医疗患者节点x的kem证书是有效的;

35、如果医疗患者节点x的dpk证书和kem证书均通过验证,y使用自己的kem私钥skkemy对密文ciphertextxy进行解封装,并获取会话密钥sesskeyxy。

36、具体来说,还包括:

37、发送广播的医疗患者节点使用其医疗患者dpk证书对应的私钥对广播消息进行签名,并将所述广播消息发送到同一环内的其他医疗患者节点;

38、同一环内的其他医疗患者节点接收所述广播消息,并使用dpk证书对应的公钥验证所述发送广播的医疗患者节点身份和环签名的有效性;

39、若所述发送广播的医疗患者节点身份和环签名均是有效的,则查看所述广播消息。

40、具体来说,所述使用dpk证书对应的公钥验证所述发送广播的医疗患者节点身份和环签名的有效性,包括:

41、使用所述dpk证书检查所述发送广播的医疗患者节点是否在预设的合法医疗患者节点列表中;

42、若在所述合法医疗患者节点列表中,则所述发送广播的医疗患者节点的身份合法性验证通过;

43、使用所述dpk证书对应的公钥验证所述发送广播的医疗患者节点的环签名是否与原始消息内容一致且是否能证明消息由环内成员节点生成;

44、若所述环签名与原始消息内容一致且能证明消息由环内成员节点生成,则所述发送广播的医疗患者节点的环签名的有效性验证通过。

45、具体来说,还包括:

46、医疗机构节点使用其私钥skid对广播消息进行签名,并将广播消息发送到同一环内的医疗患者节点;

47、同一环内的医疗患者节点根据医疗机构身份证书中的身份公钥pkid验证所述签名的有效性;

48、若所述签名是有效的,则查看所述广播消息。

49、具体来说,所述同一环内的医疗患者节点根据医疗机构身份证书中的身份公钥pkid验证所述签名的有效性,包括:

50、同一环内的医疗患者节点根据所述医疗机构身份证书中的身份公钥pkid验证所述医疗机构身份证书是否在有效期内且是否为可用状态;

51、若所述医疗机构身份证书在有效期内且为可用状态,则所述签名是有效的。

52、具体来说,还包括:

53、医疗患者节点c向所述证书认证中心节点发送更新或者撤销证书请求,所述证书认证中心节点接收所述请求,并撤销医疗患者节点的旧dpk证书,然后为其生成新的dpk证书dpkaupdt;

54、所述医疗患者节点c接收所述新的dpk证书dpkaupdt,并将所述新的dpk证书dpkaupdt、撤销证书请求dpkarvk、更新证书请求dpkaupdt和两者的证书序列号发送到其所在环的医疗机构节点z;

55、所述医疗机构节点z根据接收到的证书序列号获取所述撤销证书请求dpkarvk和更新证书请求dpkarvk,并通过验证所述撤销证书请求dpkarvk、更新证书请求dpkarvk、新的dpk证书dpkaupdt、医疗患者节点c的身份均是有效的,将旧的证书从其维护的环中删除,并将所述新的dpk证书dpkaupdt添加到其最新的环中。

56、具体来说,所述通过验证所述撤销证书请求dpkarvk、更新证书请求dpkarvk、新的dpk证书dpkaupdt、医疗患者节点c的身份均是有效的,包括:

57、所述医疗机构节点z检查所述撤销证书请求dpkarvk、更新证书请求dpkarvk的格式和内容是否符合预设要求、所述撤销证书请求dpkarvk、更新证书请求dpkarvk中的证书序列号是否与记录中的信息一致;

58、若所述撤销证书请求dpkarvk、更新证书请求dpkarvk的格式和内容符合预设要求、所述撤销证书请求dpkarvk、更新证书请求dpkarvk中的证书序列号与记录中的信息一致,则所述撤销证书请求dpkarvk、更新证书请求dpkarvk是有效的;

59、所述医疗机构节点z根据所述证书认证中心根证书的公钥capk验证所述新的dpk证书dpkaupdt是否在有效期内且是否为可用状态;

60、若所述新的dpk证书dpkaupdt在有效期内且为可用状态,则所述新的dpk证书dpkaupdt是有效的;

61、所述医疗机构节点z从所述撤销证书请求dpkarvk、更新证书请求dpkarvk中提取所述医疗患者节点c的身份信息,将所述提取出的医疗患者节点c的身份信息与旧的证书中的身份信息匹配;

62、若所述提取出的医疗患者节点c的身份信息与旧的证书中的身份信息匹配,则医疗患者节点c的身份是有效的。

63、本发明中提供的一个或多个技术方案,至少具有如下技术效果或优点:

64、证书认证中心节点基于所有接收和生成的公钥为数字医疗系统中的每个节点生成并颁发对应的身份证书,其中,当证书认证中心节点接收到医疗患者节点的主公钥mpk和身份信息后,离线验证患者节点信息。若验证通过,则使用医疗患者节点的主公钥mpk生成对应的派生公钥dpk。同时,医疗机构节点将其公钥pkid发送给证书认证中心节点,证书认证中心节点在验证其身份和资质信息后,为该医疗机构节点的公钥pkid生成并颁发相应的身份证书。基于上述流程,证书层次结构的最顶层为证书认证中心根证书,其子证书包括医疗机构身份证书certm、医疗患者节点的主公钥mpk证书certmpka以及其派生公钥dpk匿名证书certdpka,每个医疗机构节点和医疗患者节点同时只能拥有一个有效的certm和certmpka。医疗机构节点和医疗患者节点可以向证书认证中心节点申请kem公钥证书certkem,用于彼此之间的密钥交换。随后,双方生成会话密钥sesskey以保护数字医疗系统节点间的安全通信。这一层次化的抗量子证书结构为本发明提出的医疗系统提供了安全有效的证书管理和身份和认证机制,不依赖于传统的非对称加解密算法,不仅能够抵抗量子计算机对密码算法的攻击,而且为该系统医疗患者节点提供了匿名性、可追溯性和可链接性。

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