CN113114728B - 一种基于可编辑区块链的体域网身份认证方法及系统 - Google Patents

一种基于可编辑区块链的体域网身份认证方法及系统 Download PDF

Info

Publication number
CN113114728B
CN113114728B CN202110299715.1A CN202110299715A CN113114728B CN 113114728 B CN113114728 B CN 113114728B CN 202110299715 A CN202110299715 A CN 202110299715A CN 113114728 B CN113114728 B CN 113114728B
Authority
CN
China
Prior art keywords
user
area network
body area
network service
service operator
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.)
Active
Application number
CN202110299715.1A
Other languages
English (en)
Other versions
CN113114728A (zh
Inventor
庄毅
张宋鹏
曹子宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Aeronautics and Astronautics
Original Assignee
Nanjing University of Aeronautics and Astronautics
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing University of Aeronautics and Astronautics filed Critical Nanjing University of Aeronautics and Astronautics
Priority to CN202110299715.1A priority Critical patent/CN113114728B/zh
Publication of CN113114728A publication Critical patent/CN113114728A/zh
Application granted granted Critical
Publication of CN113114728B publication Critical patent/CN113114728B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种基于可编辑区块链的体域网身份认证方法及系统,属于物联网和身份认证领域。该方法主要用于体域网下个人健康数据身份信息的高效认证。其主要步骤如下:建立BANAM系统模型;体域网运营商初始化,生成陷门密钥和公钥;用户初始化,生成个人健康数据身份信息和相应公钥;用户授权后将注册信息上传到区块链并定期广播给联盟中其他运营商;体域网运营商对用户时间戳和签名进行验证,生成会话因子和密钥;用户对体域网运营商时间戳和签名进行验证,解密得到会话因子和密钥;当用户健康信息无用或泄露时,系统自动撤销用户身份信息。实验结果表明,相比已有方法,本方案可有效减少传输过程中的延迟和动态撤销非法用户的时空开销。

Description

一种基于可编辑区块链的体域网身份认证方法及系统
技术领域
本发明属于物联网和身份认证领域,特别涉及一种基于可编辑区块链的体域网身份认证方法及系统。
背景技术
随着无线通信技术的进步,用户都渴望获得更高效安全的健康服务。而无线通信、传感器的技术的不断进步使得安装在人体中的一种用于监测健康的短距离无线网络应运而生。它由植入人体的不同无线传感器组成,主要用于连续监视物理参数。通过使用无线人体局域网WBAN技术在人体附近和周围进行通信,无线人体局域网WBAN(Wireless BodyArea Network)引起了学术界和工业界的广泛关注。IEEE 802.15已经开发了一系列短距离通信标准,特别是在六十家公司的工程师五年的努力下,802.15.6于2012年正式标准化。它涉及WBAN中用于收集生物医学信息的低功率无线传感器节点,这些信息可用于医院,住宅和工作环境的各种应用。无线体域网中收集的都是与人体相关的生理隐私数据,这些数据可被用于医疗、体育、军事和商务社交等方面,所以这些敏感信息的保护就显得尤为重要。为了保护这些与个人隐私相关的生理数据,首先要进行各个实体间的身份认证。
WBAN技术虽然拥有广阔的应用和发展前景,但由于此新型技术涉及无线通信、生物医学工程和微电子学等众多领域,有许多新的技术问题亟待解决。相比现有的无线传输技术,WBAN具有许多特点。它侧重于实现短距离、低成本、低功耗和低实施复杂度的传输。因此,对节点的部署和传输成本以及效率的考量也是决定WBAN是否能够充分展现其优越性的重要一环。对于医疗和军事这类特殊的应用场景,WBAN对安全性的要求很高。但由于WBAN自身在能耗、通信速率和计算能力等方面受到严格的资源限制,针对其他网络提出的安全方案并不能完全适用于WBAN。首先,WBAN需要对网络中的各个终端节点进行身份认证,以此来保证体域网下终端节点的安全性。其次,在实际应用中,智能医疗终端节点间传输的个人生理信息属于敏感信息,若被非法用户窃听或而以供给会对用户个人信息安全造成很严重的后果。因此,这在对身份认证和数据传输安全这两个方面设计出有针对性的方案才是WBAN在实际场景中应用需要考虑的一个核心话题。
个人健康信息身份PHI可以看作是一种身份管理模型。用户拥有对这个身份完全的控制和管理权限。它与传统的由第三方统一管理的身份信息管理模型不同,每个用户不仅可以安全地控制和访问自己的健康信息,还可以便捷地添加和删除相应的身份信息。因此,这种身份管理模型是可以运用于不属于中央权限或不受中央权限控制的分布式环境中。
区块链是一种集成分布式数据库、共识机制、点对点(P2P)传输和非对称加密算法的新型应用模式,具有去中心化、开放性、自治性、匿名性和信息不可篡改的特点。区块链技术是使用块式和链式的存储结构来认证和保存数据,使用共识算法实现生成新区块,使用非对称加密算法保证数据在信道中的安全传输,使用智能合约来处理数据的新型分布式技术。从本质上讲,区块链的核心技术是一个去中心化的分布式数据库,任何用户都可以参与到区块链中。因此,区块链是一种理想体域网支撑技术,可作为用户自我健康信息管理的去中心化发布和查询平台。
关于无线人体局域网身份认证协议以及可编辑区块链的相关研究已取得相应的进展,然而还存在几个问题:1)由于有限的功率限制存在较大的时间及空间开销。2)不完全适用于医疗系统的WBAN环境,也存在一些安全性的隐患。3)上述所有身份验证方案都必须涉及到中央服务器,这意味着一旦中央服务器崩溃,整个系统就会崩溃。4)可编辑区块链具有明确而迫切的现实需求,区块链的可编辑性和安全可信性的有机融合也是未来需要通过技术创新和机制设计来实现的一个重要课题。
发明内容
本发明的目的在于针对上述现有技术存在的问题,提供一种基于可编辑区块链的体域网身份认证方法,能有效地对体域网下的个人健康身份进行认证和管理,从而提供相应的体域网运营商服务和健康服务。
实现本发明目的的技术解决方案为:一种基于可编辑区块链的体域网身份认证方法,所述方法包括以下步骤:
步骤1,构建BANAM(Body Area Network Authentication Model)系统模型,并根据离散对数和变色龙哈希函数生成IAACH(Identity Authentication Algorithm Basedon Chameleon Hash)算法;所述BANAM系统模型包括用户、区块链、发行机构、体域网服务运营商和健康服务提供商;
步骤2,基于BANAM系统模型,开始体域网服务运营商的初始化:生成陷门密钥和公钥;
步骤3,基于BANAM系统模型,开始用户的初始化:用户生成自己的健康数据身份信息、公钥和私钥,之后和发行机构进行双向认证;
步骤4,用户授权后将注册信息上传到区块链,体域网服务运营商定期将用户健康数据身份信息打包到交易中,然后广播给联盟中的其他运营商成员;
步骤5,体域网服务运营商对用户身份进行认证:用户生成随机数和时间戳并计算签名,打包发送给体域网服务运营商,体域网服务运营商对时间戳和签名进行验证,验证通过后生成自己的时间戳和签名并生成会话因子,计算得到会话密钥,并将时间戳、签名和验证声明打包发送给用户;
步骤6,用户对体域网服务运营商身份进行认证:用户对体域网服务运营商生成的时间戳和签名进行验证,验证通过后,解密体域网服务运营商可验证声明,得到会话因子并计算出会话密钥,完成与体域网运营商的双向认证;
步骤7,当用户提出健康数据身份信息无用或检测到安全规则库中的恶意行为时,系统自动撤销该用户身份;体域网服务运营商将生成一个除了不包含用户健康数据外与上一版完全一致的新身份信息打包发送到新的交易中并通知用户,随后广播到联盟链中的其他运营商,验证通过后删除原始交易信息,更新并存储新的交易信息。
进一步地,步骤1中所述BANAM系统模型具体为:
(1)用户:用户是PHI的所有者,能生成自己的PHI和相应的公钥,并唯一完整地控制和管理这个PHI;同时,一个用户能无关联地拥有多个健康服务运营商的PHI;用户在本地存储与其PHI相关的声明,并根据需要将声明展示给健康服务提供商;
(2)区块链:用于发布用户的PHI和对应公钥,一个区块中的交易构成一个默克尔哈希树,哈希第一层用到变色龙哈希;
(3)发行机构:用于针对PHI所有者的健康属性发出可验证的声明,包括发行机构的签名以供其他人验证;
(4)体域网服务运营商:用于验证用户的可验证声明,并确定用户是否可以使用该运营商提供的无线体域网服务;体域网服务运营商能在保持区块头不变的情况下修改非法交易,还能通过修改区块链上的交易撤销非法用户;
(5)健康服务提供商:用于通过查询区块链获取用户的PHI和公钥;同样地,用户能通过使用私钥生成签名向健康服务提供商证明自己的身份。
进一步地,步骤1中所述IAACH算法包括:
(1)体域网服务运营商和用户密钥生成算法HG(1n)=(hk,tk):采用变色龙哈希,生成公钥hk和私钥即陷门tk,n为安全性参数;
(2)用户健康数据哈希生成算法CH(hk,x;r,s)=h:生成公钥hk、用户健康数据x和随机数r、s,生成健康信息的哈希值h;
(3)用户健康数据哈希验证算法HV(hk,x,(h,r,s)):生成公钥hk、用户健康数据x、健康信息哈希值h和随机数r、s,若CH(hk,x;r,s)=h,则输出1,否则输出0;
(4)用户健康数据安全性检测算法SC(V,x;l,k)=h:生成用于安全检测的健康数据版本号V,用户健康信息数据x,安全规则库规则匹配参数l、k;若未检测到安全库中的恶意行为,则SC(V,x;l,k)=h满足并输出1,否则输出0;
(5)用户健康数据哈希碰撞算法HC(tk,h,x′):生成陷门tk、通过安全检测的健康数据哈希值h和新生成的用户健康数据x′,计算出新随机数r′和s′,使得CH(hk,x′;r′,s′)=h。
进一步地,步骤3中用户初始化的具体过程包括:
步骤3-1,用户Ui生成自己的健康信息身份
Figure BDA0002985716920000041
以及相应的公钥
Figure BDA0002985716920000042
和私钥
Figure BDA0002985716920000043
之后,用户通过一个安全信道将
Figure BDA0002985716920000044
发送给发行机构I;
步骤3-2,发行机构I对
Figure BDA0002985716920000045
进行验证,若注册的
Figure BDA0002985716920000046
是无效的,则拒接请求;否则,生成一个可验证的声明claim和其对应的签名
Figure BDA0002985716920000047
其中Sig为计算签名的一个哈希函数;之后,发行机构I通过安全信道将
Figure BDA0002985716920000048
发送给用户Ui
步骤3-3,用户Ui向体域网服务运营商BOj发送服务请求,具体为:首先,用户生成一个时间戳T1,并计算可验证声明
Figure BDA0002985716920000051
和签名
Figure BDA0002985716920000052
其中,Verc()为计算用户可验证声明的函数,
Figure BDA0002985716920000053
为体域网运营商初始化生成的公钥;最后,用户Ui
Figure BDA0002985716920000054
发送给体域网服务运营商BOj
步骤3-4,体域网服务运营商验证时间戳T1是否正确,验证成功后对可验证声明Vclaim解密获得claim并验证用户的签名
Figure BDA0002985716920000055
若签名正确,就授权该用户Ui可以使用体域网服务运营商提供的身体机能监测服务。
进一步地,步骤5所述体域网服务运营商对用户身份进行认证,具体过程包括:
步骤5-1,用户Ui生成一个随机数r、时间戳T2,并计算出签名
Figure BDA0002985716920000056
之后,用户Ui
Figure BDA0002985716920000057
发送给体域网服务运营商BOj
步骤5-2,体域网服务运营商BOj先验证时间戳T2的正确性,然后利用
Figure BDA0002985716920000058
在区块链上查询公钥
Figure BDA0002985716920000059
若没查询到则拒绝请求,否则,利用
Figure BDA00029857169200000510
验证用户签名的正确性,若签名合法,BOj给Ui随机生成一个会话因子seed和时间戳T3,之后计算体域网服务运营商的签名
Figure BDA00029857169200000511
和体域网运营商与用户后续信息传输的会话密钥
Figure BDA00029857169200000512
最后,BOj
Figure BDA00029857169200000513
发送给用户Ui;其中,
Figure BDA00029857169200000514
为用户的可验证声明。
进一步地,步骤6所述用户对体域网服务运营商身份进行认证,具体过程包括:
用户Ui收到体域网服务运营商的消息后,首先验证时间戳T3的正确性,然后在区块链上查询体域网服务运营商的公钥来验证其签名,若签名合法,用户Ui通过
Figure BDA0002985716920000061
解密得到会话因子seed,并计算出会话密钥
Figure BDA0002985716920000062
若签名不合法,用户Ui会重新发送请求,其中,
Figure BDA0002985716920000063
表示体域网运营商的身份信息。
进一步地,步骤7中系统自动撤销该用户身份,具体过程包括:
步骤7-1,体域网服务运营商BOj生成一条新消息m':
Figure BDA0002985716920000064
其中,
Figure BDA0002985716920000065
σkj为各个需要删除健康数据身份信息的用户的签名,wj为提供健康服务的体域网服务运营商的签名信息,i和j分别为用户和体域网服务运营商的编号标识,k为不大于i-1的正整数;m’除了不包含用户Ui注册的健康数据身份以外和原消息m完全一致;
之后,体域网服务运营商BOj用m’生成一个新的交易
Figure BDA0002985716920000066
步骤7-2,体域网服务运营商BOj用m’和它对应的陷门密钥生成用户健康数据哈希碰撞,到新的随机数对(r′,s′);
步骤7-3,体域网服务运营商BOj生成一个新的交易
Figure BDA0002985716920000067
并将
Figure BDA0002985716920000071
广播给其他体域网服务运营商;
步骤7-4,其他体域网服务运营商收到新的交易后,验证r’=h+(gk mod p)mod q是否成立,若成立,则将原始交易删除并存储新的交易
Figure BDA0002985716920000072
其中,g为循环群的原根,p和q均为素数。
一种基于可编辑区块链的体域网身份认证系统,所述系统包括:
模型构建和算法生成模块,用于构建BANAM系统模型,并根据离散对数和变色龙哈希函数生成IAACH算法;所述BANAM系统模型包括用户、区块链、发行机构、体域网服务运营商和健康服务提供商;
第一初始化模块,用于基于BANAM系统模型,开始体域网服务运营商的初始化:生成陷门密钥和公钥;
第二初始化模块,用于基于BANAM系统模型,开始用户的初始化:用户生成自己的健康数据身份信息、公钥和私钥,之后和发行机构进行双向认证;
用户健康注册信息上传模块,用于实现:用户授权后将注册信息上传到区块链,体域网服务运营商定期将用户健康数据身份信息打包到交易中,然后广播给联盟中的其他运营商成员;
第一认证模块,用于实现体域网服务运营商对用户身份进行认证:用户生成随机数和时间戳并计算签名,打包发送给体域网服务运营商,体域网服务运营商对时间戳和签名进行验证,验证通过后生成自己的时间戳和签名并生成会话因子,计算得到会话密钥,并将时间戳、签名和验证声明打包发送给用户;
第二认证模块,用于实现用户对体域网服务运营商身份进行认证:用户对体域网服务运营商生成的时间戳和签名进行验证,验证通过后,解密体域网服务运营商可验证声明,得到会话因子并计算出会话密钥,完成与体域网运营商的双向认证;
更新模块,用于实现:当用户提出健康数据身份信息无用或检测到安全规则库中的恶意行为时,系统自动撤销该用户身份;体域网服务运营商将生成一个除了不包含用户健康数据外与上一版完全一致的新身份信息打包发送到新的交易中并通知用户,随后广播到联盟链中的其他运营商,验证通过后删除原始交易信息,更新并存储新的交易信息。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
步骤1,构建BANAM系统模型,并根据离散对数和变色龙哈希函数生成IAACH算法;所述BANAM系统模型包括用户、区块链、发行机构、体域网服务运营商和健康服务提供商;
步骤2,基于BANAM系统模型,开始体域网服务运营商的初始化:生成陷门密钥和公钥;
步骤3,基于BANAM系统模型,开始用户的初始化:用户生成自己的健康数据身份信息、公钥和私钥,之后和发行机构进行双向认证;
步骤4,用户授权后将注册信息上传到区块链,体域网服务运营商定期将用户健康数据身份信息打包到交易中,然后广播给联盟中的其他运营商成员;
步骤5,体域网服务运营商对用户身份进行认证:用户生成随机数和时间戳并计算签名,打包发送给体域网服务运营商,体域网服务运营商对时间戳和签名进行验证,验证通过后生成自己的时间戳和签名并生成会话因子,计算得到会话密钥,并将时间戳、签名和验证声明打包发送给用户;
步骤6,用户对体域网服务运营商身份进行认证:用户对体域网服务运营商生成的时间戳和签名进行验证,验证通过后,解密体域网服务运营商可验证声明,得到会话因子并计算出会话密钥,完成与体域网运营商的双向认证;
步骤7,当用户提出健康数据身份信息无用或检测到安全规则库中的恶意行为时,系统自动撤销该用户身份;体域网服务运营商将生成一个除了不包含用户健康数据外与上一版完全一致的新身份信息打包发送到新的交易中并通知用户,随后广播到联盟链中的其他运营商,验证通过后删除原始交易信息,更新并存储新的交易信息。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
步骤1,构建BANAM系统模型,并根据离散对数和变色龙哈希函数生成IAACH算法;所述BANAM系统模型包括用户、区块链、发行机构、体域网服务运营商和健康服务提供商;
步骤2,基于BANAM系统模型,开始体域网服务运营商的初始化:生成陷门密钥和公钥;
步骤3,基于BANAM系统模型,开始用户的初始化:用户生成自己的健康数据身份信息、公钥和私钥,之后和发行机构进行双向认证;
步骤4,用户授权后将注册信息上传到区块链,体域网服务运营商定期将用户健康数据身份信息打包到交易中,然后广播给联盟中的其他运营商成员;
步骤5,体域网服务运营商对用户身份进行认证:用户生成随机数和时间戳并计算签名,打包发送给体域网服务运营商,体域网服务运营商对时间戳和签名进行验证,验证通过后生成自己的时间戳和签名并生成会话因子,计算得到会话密钥,并将时间戳、签名和验证声明打包发送给用户;
步骤6,用户对体域网服务运营商身份进行认证:用户对体域网服务运营商生成的时间戳和签名进行验证,验证通过后,解密体域网服务运营商可验证声明,得到会话因子并计算出会话密钥,完成与体域网运营商的双向认证;
步骤7,当用户提出健康数据身份信息无用或检测到安全规则库中的恶意行为时,系统自动撤销该用户身份;体域网服务运营商将生成一个除了不包含用户健康数据外与上一版完全一致的新身份信息打包发送到新的交易中并通知用户,随后广播到联盟链中的其他运营商,验证通过后删除原始交易信息,更新并存储新的交易信息。
本发明与现有技术相比,其显著优点为:1)采用以用户为中心的身份认证,用户的健康数据身份信息完全由用户控制和管理,减少了隐私泄露;2)采用区块链来记录PHI和公钥,已实现用户身份的验证和会话密钥协商而无需冗余注册;3)体域网运营商可以自动地撤销用户对特定智能医疗服务的使用,并采用变色龙哈希来替代维护撤销列表的方法,多用户的动态撤销环境下可以大大缩短哈希碰撞的生成时间,可以很好地减少使用体域网运营商服务的存储开销。
下面结合附图对本发明作进一步详细描述。
附图说明
图1为一个实施例中基于可编辑区块链的体域网身份认证方法的流程图。
图2为一个实施例中BANAM系统模型的示意图。
图3为一个实施例中使用简单分解方法中变色龙哈希生成和变色龙哈希碰撞生成的平均耗时结果图。
图4为一个实施例中使用的离散对数的方法中变色龙哈希生成和变色龙哈希碰撞生成的平均耗时结果图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
需要说明,若本发明实施例中有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
本发明基于区块链和体域网都有着去中心化和分布式的特点,提出一种基于可编辑区块链的体域网身份认证方法使用户都可以方便管理个人的健康信息。考虑到传统的维护撤销列表的方式存储开销庞大,本发明引入了变色龙哈希来动态撤销区块链上的非法用户信息身份,以节约存储开销。
在一个实施例中,结合图1,提供了一种基于可编辑区块链的体域网身份认证方法,所述方法包括以下步骤:
步骤1,构建BANAM(Body Area Network Authentication Model)系统模型,同时给出相关属性声明,并根据离散对数和变色龙哈希函数生成IAACH算法;所述BANAM系统模型包括用户、区块链、发行机构、体域网服务运营商和健康服务提供商;
这里,各属性声明:在声明中描述了健康信息实体相关的各种属性。可验证的声明可以通过与发布者的个人健康身份相关联的公钥进行验证,并且无法被拒绝。一个实体(用户,发行机构,体域网运营商和智能医疗服务提供商等)可以同时具有多个可验证的声明。
步骤2,基于BANAM系统模型,开始体域网服务运营商的初始化:生成陷门密钥和公钥;
步骤3,基于BANAM系统模型,开始用户的初始化:用户生成自己的健康数据身份信息、公钥和私钥,之后和发行机构进行双向认证;
步骤4,用户授权后将注册信息上传到区块链,体域网服务运营商定期将用户健康数据身份信息打包到交易中,然后广播给联盟中的其他运营商成员;
这里,当体域网服务运营商授权一个用户后,会将用户的注册信息添加到区块链中(由所有体域网运营商共同维护的一条联盟链)。每个体域网运营商会在一个时间段中定期将其授权的用户健康信息打包到交易中,当交易
Figure BDA0002985716920000111
生成后,就将
Figure BDA0002985716920000112
广播给联盟中的其他运营商。其中,
Figure BDA0002985716920000113
是用户健康信息打包生成的交易内容;
步骤5,体域网服务运营商对用户身份进行认证:用户生成随机数和时间戳并计算签名,打包发送给体域网服务运营商,体域网服务运营商对时间戳和签名进行验证,验证通过后生成自己的时间戳和签名并生成会话因子,计算得到会话密钥,并将时间戳、签名和验证声明打包发送给用户;
步骤6,用户对体域网服务运营商身份进行认证:用户对体域网服务运营商生成的时间戳和签名进行验证,验证通过后,解密体域网服务运营商可验证声明,得到会话因子并计算出会话密钥,完成与体域网运营商的双向认证;
步骤7,当用户提出健康数据身份信息无用或检测到安全规则库中的恶意行为时,系统自动撤销该用户身份;体域网服务运营商将生成一个除了不包含用户健康数据外与上一版完全一致的新身份信息打包发送到新的交易中并通知用户,随后广播到联盟链中的其他运营商,验证通过后删除原始交易信息,更新并存储新的交易信息。
进一步地,在其中一个实施例中,结合图2,步骤1中所述BANAM系统模型具体为:
(1)用户(主要指病人或需要健康服务的咨询者):用户是PHI的所有者,一个用户可以生成自己的PHI和相应的公钥,并唯一完整地控制和管理这个PHI;同时,一个用户能无关联地拥有多个健康服务运营商的PHI;用户在本地存储与其PHI相关的声明,并根据需要将声明展示给健康服务提供商;
(2)区块链(是一条由体域网运营商公用维护的联盟链):主要用于发布用户的PHI和对应公钥,一个区块中的交易构成一个默克尔哈希树,哈希第一层用到变色龙哈希,因此体域网服务运营商可以在保持区块头不变的情况下修改非法交易;
(3)发行机构(指的是像学校、公司和医院之类的分布式信任实体):用于针对PHI所有者的健康属性发出可验证的声明,包括发行机构的签名以供其他人验证;
(4)体域网服务运营商:用于验证用户的可验证声明,并确定用户是否可以使用该运营商提供的无线体域网(集成了传感器和路由器的身体指标监测网络)服务;体域网服务运营商能在保持区块头不变的情况下修改非法交易,还能通过修改区块链上的交易撤销非法用户;
(5)健康服务提供商(主要是由一些医疗机构和健康服务咨询机构等组成):用于通过查询区块链获取用户的PHI和公钥;同样地,用户能通过使用私钥生成签名向健康服务提供商证明自己的身份。
进一步地,在其中一个实施例中,对于用户健康数据x和随机选择的参数r,给定一个陷门私钥tk,可以找到消息对(x,r)和(x′,r′),使得CH(x,r)=CH(x′,r′),在CH中,x和x′分别对应原区块中用户健康数据和修改后区块中的用户健康数据,且x和x′不相同。步骤1中所述IAACH算法包括:
(1)体域网服务运营商和用户密钥生成算法HG(1n)=(hk,tk):采用变色龙哈希,生成公钥hk和私钥即陷门tk,n为安全性参数;
(2)用户健康数据哈希生成算法CH(hk,x;r,s)=h:生成公钥hk、用户健康数据x和随机数r、s,生成健康信息的哈希值h;
(3)用户健康数据哈希验证算法HV(hk,x,(h,r,s)):生成公钥hk、用户健康数据x、健康信息哈希值h和随机数r、s,若CH(hk,x;r,s)=h,则输出1,否则输出0;
(4)用户健康数据安全性检测算法SC(V,x;l,k)=h:生成用于安全检测的健康数据版本号V,用户健康信息数据x,安全规则库规则匹配参数l、k;若未检测到安全库中的恶意行为,则SC(V,x;l,k)=h满足并输出1,否则输出0;
(5)用户健康数据哈希碰撞算法HC(tk,h,x′):生成陷门tk、通过安全检测的健康数据哈希值h和新生成的用户健康数据x′,计算出新随机数r′和s′,使得CH(hk,x′;r′,s′)=h。
这里示例性地,用户健康数据哈希生成的算法如下表1所示。
表1用户健康数据哈希生成的算法
Figure BDA0002985716920000121
Figure BDA0002985716920000131
陷门密钥和公钥生成算法如下表2所示。
表2陷门密钥和公钥生成算法
Figure BDA0002985716920000132
进一步地,在其中一个实施例中,步骤3中用户初始化的具体过程包括:
步骤3-1,用户Ui生成自己的健康信息身份
Figure BDA0002985716920000133
以及相应的公钥
Figure BDA0002985716920000134
和私钥
Figure BDA0002985716920000135
之后,用户通过一个安全信道将
Figure BDA0002985716920000136
发送给发行机构I;
步骤3-2,发行机构I对
Figure BDA0002985716920000137
进行验证,若注册的
Figure BDA0002985716920000138
是无效的,则拒接请求;否则,生成一个可验证的声明claim和其对应的签名
Figure BDA0002985716920000139
其中Sig为计算签名的一个哈希函数;之后,发行机构I通过安全信道将
Figure BDA0002985716920000141
发送给用户Ui
步骤3-3,用户Ui向体域网服务运营商BOj发送服务请求,具体为:首先,用户生成一个时间戳T1,并计算可验证声明
Figure BDA0002985716920000142
和签名
Figure BDA0002985716920000143
其中,Verc()为计算用户可验证声明的函数,
Figure BDA0002985716920000144
为体域网运营商初始化生成的公钥;最后,用户Ui
Figure BDA0002985716920000145
发送给体域网服务运营商BOj
步骤3-4,体域网服务运营商验证时间戳T1是否正确,验证成功后对可验证声明Vclaim解密获得claim并验证用户的签名
Figure BDA0002985716920000146
若签名正确,就授权该用户Ui可以使用体域网服务运营商提供的身体机能监测服务。
进一步地,在其中一个实施例中,步骤5所述体域网服务运营商对用户身份进行认证,具体过程包括:
步骤5-1,用户Ui生成一个随机数r、时间戳T2,并计算出签名
Figure BDA0002985716920000147
之后,用户Ui
Figure BDA0002985716920000148
发送给体域网服务运营商BOj
步骤5-2,体域网服务运营商BOj先验证时间戳T2的正确性,然后利用
Figure BDA0002985716920000149
在区块链上查询公钥
Figure BDA00029857169200001410
若没查询到则拒绝请求,否则,利用
Figure BDA00029857169200001411
验证用户签名的正确性,若签名合法,BOj给Ui随机生成一个会话因子seed和时间戳T3,之后计算体域网服务运营商的签名
Figure BDA00029857169200001412
和体域网运营商与用户后续信息传输的会话密钥
Figure BDA0002985716920000151
最后,BOj
Figure BDA0002985716920000152
发送给用户Ui;其中,
Figure BDA0002985716920000153
为用户的可验证声明。
进一步地,在其中一个实施例中,步骤6所述用户对体域网服务运营商身份进行认证,具体过程包括:
用户Ui收到体域网服务运营商的消息后,首先验证时间戳T3的正确性,然后在区块链上查询体域网服务运营商的公钥来验证其签名,若签名合法,用户Ui通过
Figure BDA0002985716920000154
解密得到会话因子seed,并计算出会话密钥
Figure BDA0002985716920000155
若签名不合法,用户Ui会重新发送请求,其中,
Figure BDA0002985716920000156
表示体域网运营商的身份信息。
进一步地,在其中一个实施例中,步骤7中系统自动撤销该用户身份,具体过程包括:
步骤7-1,体域网服务运营商BOj生成一条新消息m’:
Figure BDA0002985716920000157
其中,
Figure BDA0002985716920000158
σkj为各个需要删除健康数据身份信息的用户的签名,w’j为提供健康服务的体域网服务运营商的签名信息,i和j分别为用户和体域网服务运营商的编号标识,k为不大于i-1的正整数;m’除了不包含用户Ui注册的健康数据身份以外和原消息m完全一致;
之后,体域网服务运营商BOj用m'生成一个新的交易
Figure BDA0002985716920000161
步骤7-2,体域网服务运营商BOj用m'和它对应的陷门密钥生成用户健康数据哈希碰撞,到新的随机数对(r′,s′);
这里示例性地,用户健康数据哈希碰撞生成过程的算法如下表3所示。
表3用户健康数据哈希碰撞算法
Figure BDA0002985716920000162
步骤7-3,体域网服务运营商BOj生成一个新的交易
Figure BDA0002985716920000163
并将
Figure BDA0002985716920000164
广播给其他体域网服务运营商;
步骤7-4,其他体域网服务运营商收到新的交易后,验证r'=h+(gk mod p)mod q是否成立,若成立,则将原始交易删除并存储新的交易
Figure BDA0002985716920000165
其中,g为循环群的原根,p和q均为素数。
下面对本发明进行进一步验证说明。
为了更加清楚地显示变色龙哈希的性能,这里对变色龙哈希的密钥生成和哈希碰撞生成的计算开销进行评估实验。实验环境是标准的64位Linux操作系统,Ubuntu18.04.5LTS\n\l,处理器是Intel(R)Core(TM)i7-8750H CPU@2.20GHz。所有的评估结果都是使用C语言程序执行得到的。其中,对于离散对数和一些大数计算的实现都使用了OpenSSL1.1.1d的密码学库。衡量变色龙哈希生成和哈希碰撞生成的方法有很多,这里采用的是跟踪所执行功能在执行过程中消耗的CPU周期的方法。本机的处理器是通过读取时间戳计数器指令进行访问的,该指令不携带任何参数,将寄存器的%edx设置为计数器的高32位,并将寄存器的%eax设置为计数器的低32位。基于这种方法,再通过代码中集成的star_counter和get_counter函数,就可以测量任意两个时间点之间经过的周期总数。为了对比性能,这里选择了简单分解和离散对数两种不同的实现变色龙哈希的方案来进行测试。将变色龙哈希生成函数和哈希碰撞生成函数都运行101次,放弃执行时间的第一个值而使用缓存预热过程。此外为了将其他进程的干扰最小化,尽可能收集了处理器最优性能下的执行结果。最后在所得结果中引入了两个虚拟条目使绘制图表的比例更为协调。
这两种方案实现的变色龙哈希函数,分别对变色龙哈希生成函数和变色龙哈希碰撞生成函数进行了测试,其中哈希生成和产生哈希碰撞记为HG和FC,并且最终生成的哈希长度都为160位。图3和图4为执行结果和平均值的实验结果图,由图可以看出,虽然引入离散对数的方案在生成哈希函数时增加了开销,但是在本方法提出的针对体域网身份认证和管理方案中,多用户的动态撤销环境下可以大大缩短哈希碰撞的生成时间,可以很好地减少使用体域网运营商服务的存储开销。
在一个实施例中,提供了一种基于可编辑区块链的体域网身份认证系统,所述系统包括:
模型构建和算法生成模块,用于构建BANAM系统模型,并根据离散对数和变色龙哈希函数生成IAACH算法;所述BANAM系统模型包括用户、区块链、发行机构、体域网服务运营商和健康服务提供商;
第一初始化模块,用于基于BANAM系统模型,开始体域网服务运营商的初始化:生成陷门密钥和公钥;
第二初始化模块,用于基于BANAM系统模型,开始用户的初始化:用户生成自己的健康数据身份信息、公钥和私钥,之后和发行机构进行双向认证;
用户健康注册信息上传模块,用于实现:用户授权后将注册信息上传到区块链,体域网服务运营商定期将用户健康数据身份信息打包到交易中,然后广播给联盟中的其他运营商成员;
第一认证模块,用于实现体域网服务运营商对用户身份进行认证:用户生成随机数和时间戳并计算签名,打包发送给体域网服务运营商,体域网服务运营商对时间戳和签名进行验证,验证通过后生成自己的时间戳和签名并生成会话因子,计算得到会话密钥,并将时间戳、签名和验证声明打包发送给用户;
第二认证模块,用于实现用户对体域网服务运营商身份进行认证:用户对体域网服务运营商生成的时间戳和签名进行验证,验证通过后,解密体域网服务运营商可验证声明,得到会话因子并计算出会话密钥,完成与体域网运营商的双向认证;
更新模块,用于实现:当用户提出健康数据身份信息无用或检测到安全规则库中的恶意行为时,系统自动撤销该用户身份;体域网服务运营商将生成一个除了不包含用户健康数据外与上一版完全一致的新身份信息打包发送到新的交易中并通知用户,随后广播到联盟链中的其他运营商,验证通过后删除原始交易信息,更新并存储新的交易信息。
关于基于可编辑区块链的体域网身份认证系统的具体限定可以参见上文中对于基于可编辑区块链的体域网身份认证方法的限定,在此不再赘述。上述基于可编辑区块链的体域网身份认证系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
步骤1,构建BANAM系统模型,并根据离散对数和变色龙哈希函数生成IAACH算法;所述BANAM系统模型包括用户、区块链、发行机构、体域网服务运营商和健康服务提供商;
步骤2,基于BANAM系统模型,开始体域网服务运营商的初始化:生成陷门密钥和公钥;
步骤3,基于BANAM系统模型,开始用户的初始化:用户生成自己的健康数据身份信息、公钥和私钥,之后和发行机构进行双向认证;
步骤4,用户授权后将注册信息上传到区块链,体域网服务运营商定期将用户健康数据身份信息打包到交易中,然后广播给联盟中的其他运营商成员;
步骤5,体域网服务运营商对用户身份进行认证:用户生成随机数和时间戳并计算签名,打包发送给体域网服务运营商,体域网服务运营商对时间戳和签名进行验证,验证通过后生成自己的时间戳和签名并生成会话因子,计算得到会话密钥,并将时间戳、签名和验证声明打包发送给用户;
步骤6,用户对体域网服务运营商身份进行认证:用户对体域网服务运营商生成的时间戳和签名进行验证,验证通过后,解密体域网服务运营商可验证声明,得到会话因子并计算出会话密钥,完成与体域网运营商的双向认证;
步骤7,当用户提出健康数据身份信息无用或检测到安全规则库中的恶意行为时,系统自动撤销该用户身份;体域网服务运营商将生成一个除了不包含用户健康数据外与上一版完全一致的新身份信息打包发送到新的交易中并通知用户,随后广播到联盟链中的其他运营商,验证通过后删除原始交易信息,更新并存储新的交易信息。
关于每一步的具体限定可以参见上文中对于基于可编辑区块链的体域网身份认证方法的限定,在此不再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
步骤1,构建BANAM系统模型,并根据离散对数和变色龙哈希函数生成IAACH算法;所述BANAM系统模型包括用户、区块链、发行机构、体域网服务运营商和健康服务提供商;
步骤2,基于BANAM系统模型,开始体域网服务运营商的初始化:生成陷门密钥和公钥;
步骤3,基于BANAM系统模型,开始用户的初始化:用户生成自己的健康数据身份信息、公钥和私钥,之后和发行机构进行双向认证;
步骤4,用户授权后将注册信息上传到区块链,体域网服务运营商定期将用户健康数据身份信息打包到交易中,然后广播给联盟中的其他运营商成员;
步骤5,体域网服务运营商对用户身份进行认证:用户生成随机数和时间戳并计算签名,打包发送给体域网服务运营商,体域网服务运营商对时间戳和签名进行验证,验证通过后生成自己的时间戳和签名并生成会话因子,计算得到会话密钥,并将时间戳、签名和验证声明打包发送给用户;
步骤6,用户对体域网服务运营商身份进行认证:用户对体域网服务运营商生成的时间戳和签名进行验证,验证通过后,解密体域网服务运营商可验证声明,得到会话因子并计算出会话密钥,完成与体域网运营商的双向认证;
步骤7,当用户提出健康数据身份信息无用或检测到安全规则库中的恶意行为时,系统自动撤销该用户身份;体域网服务运营商将生成一个除了不包含用户健康数据外与上一版完全一致的新身份信息打包发送到新的交易中并通知用户,随后广播到联盟链中的其他运营商,验证通过后删除原始交易信息,更新并存储新的交易信息。
关于每一步的具体限定可以参见上文中对于基于可编辑区块链的体域网身份认证方法的限定,在此不再赘述。
以上显示和描述了本发明的基本原理、主要特征及优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

Claims (8)

1.一种基于可编辑区块链的体域网身份认证方法,其特征在于,所述方法包括以下步骤:
步骤1,构建BANAM系统模型,并根据离散对数和变色龙哈希函数生成IAACH算法;所述BANAM系统模型包括用户、区块链、发行机构、体域网服务运营商和健康服务提供商;所述BANAM系统模型具体为:
(1)用户:用户是PHI的所有者,能生成自己的PHI和相应的公钥,并唯一完整地控制和管理这个PHI;同时,一个用户能无关联地拥有多个健康服务运营商的PHI;用户在本地存储与其PHI相关的声明,并根据需要将声明展示给健康服务提供商;
(2)区块链:用于发布用户的PHI和对应公钥,一个区块中的交易构成一个默克尔哈希树,哈希第一层用到了变色龙哈希;
(3)发行机构:用于针对PHI所有者的健康属性发出可验证的声明,包括发行机构的签名以供其他人验证;
(4)体域网服务运营商:用于验证用户的可验证声明,并确定用户是否可以使用该运营商提供的无线体域网服务;体域网服务运营商能在保持区块头不变的情况下修改非法交易,还能通过修改区块链上的交易撤销非法用户;
(5)健康服务提供商:用于通过查询区块链获取用户的PHI和公钥;同样地,用户能通过使用私钥生成签名向健康服务提供商证明自己的身份;
所述IAACH算法包括:
(1)体域网服务运营商和用户密钥生成算法HG(1n)=(hk,tk):采用变色龙哈希,生成公钥hk和私钥即陷门tk,n为安全性参数;
(2)用户健康数据哈希生成算法CH(hk,x;r,s)=h:生成公钥hk、用户健康数据x和随机数r、s,生成健康信息的哈希值h;
(3)用户健康数据哈希验证算法HV(hk,x,(h,r,s)):生成公钥hk、用户健康数据x、健康信息哈希值h和随机数r、s,若CH(hk,x;r,s)=h,则输出1,否则输出0;
(4)用户健康数据安全性检测算法SC(V,x;l,k)=h:生成用于安全检测的健康数据版本号V,用户健康信息数据x,安全规则库规则匹配参数l、k;若未检测到安全库中的恶意行为,则SC(V,x;l,k)=h满足并输出1,否则输出0;
(5)用户健康数据哈希碰撞算法HC(tk,h,x′):生成陷门tk、通过安全检测的健康数据哈希值h和新生成的用户健康数据x′,计算出新随机数r′和s′,使得CH(hk,x′;r′,s′)=h;
步骤2,基于BANAM系统模型,开始体域网服务运营商的初始化:生成陷门密钥和公钥;
步骤3,基于BANAM系统模型,开始用户的初始化:用户生成自己的健康数据身份信息、公钥和私钥,之后和发行机构进行双向认证;
步骤4,用户授权后将注册信息上传到区块链,体域网服务运营商定期将用户健康数据身份信息打包到交易中,然后广播给联盟中的其他运营商成员;
步骤5,体域网服务运营商对用户身份进行认证:用户生成随机数和时间戳并计算签名,打包发送给体域网服务运营商,体域网服务运营商对时间戳和签名进行验证,验证通过后生成自己的时间戳和签名并生成会话因子,计算得到会话密钥,并将时间戳、签名和验证声明打包发送给用户;
步骤6,用户对体域网服务运营商身份进行认证:用户对体域网服务运营商生成的时间戳和签名进行验证,验证通过后,解密体域网服务运营商可验证声明,得到会话因子并计算出会话密钥,完成与体域网运营商的双向认证;
步骤7,当用户提出健康数据身份信息无用或检测到安全规则库中的恶意行为时,系统自动撤销该用户身份;体域网服务运营商将生成一个除了不包含用户健康数据外与上一版完全一致的新身份信息打包发送到新的交易中并通知用户,随后广播到联盟链中的其他运营商,验证通过后删除原始交易信息,更新并存储新的交易信息。
2.根据权利要求1所述的基于可编辑区块链的体域网身份认证方法,其特征在于,步骤3中用户初始化的具体过程包括:
步骤3-1,用户Ui生成自己的健康信息身份
Figure FDA0003459038120000021
以及相应的公钥
Figure FDA0003459038120000022
和私钥
Figure FDA0003459038120000023
之后,用户通过一个安全信道将
Figure FDA0003459038120000024
发送给发行机构I;
步骤3-2,发行机构I对
Figure FDA0003459038120000025
进行验证,若注册的
Figure FDA0003459038120000026
是无效的,则拒接请求;否则,生成一个可验证的声明claim和其对应的签名
Figure FDA0003459038120000027
其中Sig为计算签名的一个哈希函数;之后,发行机构I通过安全信道将
Figure FDA0003459038120000031
发送给用户Ui
步骤3-3,用户Ui向体域网服务运营商BOj发送服务请求,具体为:首先,用户生成一个时间戳T1,并计算可验证声明
Figure FDA0003459038120000032
和签名
Figure FDA0003459038120000033
其中,Verc( )为计算用户可验证声明的函数,
Figure FDA0003459038120000034
为体域网运营商初始化生成的公钥;最后,用户Ui
Figure FDA0003459038120000035
发送给体域网服务运营商BOj
步骤3-4,体域网服务运营商验证时间戳T1是否正确,验证成功后对可验证声明Vclaim解密获得claim并验证用户的签名
Figure FDA0003459038120000036
若签名正确,就授权该用户Ui可以使用体域网服务运营商提供的身体机能监测服务。
3.根据权利要求2所述的基于可编辑区块链的体域网身份认证方法,其特征在于,步骤5所述体域网服务运营商对用户身份进行认证,具体过程包括:
步骤5-1,用户Ui生成一个随机数r、时间戳T2,并计算出签名
Figure FDA0003459038120000037
之后,用户Ui
Figure FDA0003459038120000038
发送给体域网服务运营商BOj
步骤5-2,体域网服务运营商BOj先验证时间戳T2的正确性,然后利用
Figure FDA0003459038120000039
在区块链上查询公钥
Figure FDA00034590381200000310
若没查询到则拒绝请求,否则,利用
Figure FDA00034590381200000311
验证用户签名的正确性,若签名合法,BOj给Ui随机生成一个会话因子seed和时间戳T3,之后计算体域网服务运营商的签名
Figure FDA00034590381200000312
和体域网运营商与用户后续信息传输的会话密钥
Figure FDA0003459038120000041
最后,BOj
Figure FDA0003459038120000042
发送给用户Ui;其中,
Figure FDA0003459038120000043
为用户的可验证声明。
4.根据权利要求3所述的基于可编辑区块链的体域网身份认证方法,其特征在于,步骤6所述用户对体域网服务运营商身份进行认证,具体过程包括:
用户Ui收到体域网服务运营商的消息后,首先验证时间戳T3的正确性,然后在区块链上查询体域网服务运营商的公钥来验证其签名,若签名合法,用户Ui通过
Figure FDA0003459038120000044
解密得到会话因子seed,并计算出会话密钥
Figure FDA0003459038120000045
若签名不合法,用户Ui会重新发送请求,其中,
Figure FDA0003459038120000046
表示体域网运营商的身份信息。
5.根据权利要求4所述的基于可编辑区块链的体域网身份认证方法,其特征在于,步骤7中系统自动撤销该用户身份,具体过程包括:
步骤7-1,体域网服务运营商BOj生成一条新消息m’:
Figure DEST_PATH_FDA00029857169100000411
其中,
Figure DEST_PATH_FDA0002985716910000051
σkj为各个需要删除健康数据身份信息的用户的签名,w’j为提供健康服务的体域网服务运营商的签名信息,i和j分别为用户和体域网服务运营商的编号标识,k为不大于i-1的正整数;m’除了不包含用户Ui注册的健康数据身份以外和原消息m完全一致;
之后,体域网服务运营商BOj用m’生成一个新的交易
Figure DEST_PATH_FDA0002985716910000052
步骤7-2,体域网服务运营商BOi用m’和它对应的陷门密钥生成用户健康数据哈希碰撞,到新的随机数对(r′,s′);
步骤7-3,体域网服务运营商BOj生成一个新的交易
Figure DEST_PATH_FDA0002985716910000053
并将
Figure DEST_PATH_FDA0002985716910000054
广播给其他体域网服务运营商;
步骤7-4,其他体域网服务运营商收到新的交易后,验证r’=h+(gkmod p)mod q是否成立,若成立,则将原始交易删除并存储新的交易
Figure DEST_PATH_FDA0002985716910000055
其中,g为循环群的原根,p和q均为素数。
6.基于权利要求1至5任意一项所述方法的基于可编辑区块链的体域网身份认证系统,其特征在于,所述系统包括:
模型构建和算法生成模块,用于构建BANAM系统模型,并根据离散对数和变色龙哈希函数生成IAACH算法;所述BANAM系统模型包括用户、区块链、发行机构、体域网服务运营商和健康服务提供商;
第一初始化模块,用于基于BANAM系统模型,开始体域网服务运营商的初始化:生成陷门密钥和公钥;
第二初始化模块,用于基于BANAM系统模型,开始用户的初始化:用户生成自己的健康数据身份信息、公钥和私钥,之后和发行机构进行双向认证;
用户健康注册信息上传模块,用于实现:用户授权后将注册信息上传到区块链,体域网服务运营商定期将用户健康数据身份信息打包到交易中,然后广播给联盟中的其他运营商成员;
第一认证模块,用于实现体域网服务运营商对用户身份进行认证:用户生成随机数和时间戳并计算签名,打包发送给体域网服务运营商,体域网服务运营商对时间戳和签名进行验证,验证通过后生成自己的时间戳和签名并生成会话因子,计算得到会话密钥,并将时间戳、签名和验证声明打包发送给用户;
第二认证模块,用于实现用户对体域网服务运营商身份进行认证:用户对体域网服务运营商生成的时间戳和签名进行验证,验证通过后,解密体域网服务运营商可验证声明,得到会话因子并计算出会话密钥,完成与体域网运营商的双向认证;
更新模块,用于实现:当用户提出健康数据身份信息无用或检测到安全规则库中的恶意行为时,系统自动撤销该用户身份;体域网服务运营商将生成一个除了不包含用户健康数据外与上一版完全一致的新身份信息打包发送到新的交易中并通知用户,随后广播到联盟链中的其他运营商,验证通过后删除原始交易信息,更新并存储新的交易信息。
7.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述方法的步骤。
CN202110299715.1A 2021-03-22 2021-03-22 一种基于可编辑区块链的体域网身份认证方法及系统 Active CN113114728B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110299715.1A CN113114728B (zh) 2021-03-22 2021-03-22 一种基于可编辑区块链的体域网身份认证方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110299715.1A CN113114728B (zh) 2021-03-22 2021-03-22 一种基于可编辑区块链的体域网身份认证方法及系统

Publications (2)

Publication Number Publication Date
CN113114728A CN113114728A (zh) 2021-07-13
CN113114728B true CN113114728B (zh) 2022-04-01

Family

ID=76712110

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110299715.1A Active CN113114728B (zh) 2021-03-22 2021-03-22 一种基于可编辑区块链的体域网身份认证方法及系统

Country Status (1)

Country Link
CN (1) CN113114728B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113794556B (zh) * 2021-09-10 2023-05-23 福建师范大学 面向可编校区块链协议的pch可撤销方法及系统
CN113779606A (zh) * 2021-09-15 2021-12-10 杭州溪塔科技有限公司 一种降低隐私泄露风险的信息校验方法及系统
CN114417429B (zh) * 2022-04-02 2022-06-07 湖南宸瀚科技有限公司 一种基于环式验证的可编辑区块链系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6247737B1 (ja) * 2016-11-16 2017-12-13 PwCあらた有限責任監査法人 データ構造、情報処理装置、プログラム、情報処理方法及びトランザクションシステム
CN110213737A (zh) * 2019-05-23 2019-09-06 广西大学 基于联盟链建立体域网信息安全机制的方法
CN111682938A (zh) * 2020-05-12 2020-09-18 东南大学 面向中心化移动定位系统的三方可认证密钥协商方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9769133B2 (en) * 2014-11-21 2017-09-19 Mcafee, Inc. Protecting user identity and personal information by sharing a secret between personal IoT devices
CN107181765A (zh) * 2017-07-25 2017-09-19 光载无限(北京)科技有限公司 基于区块链技术的网络数字身份认证方法
US20210065267A1 (en) * 2018-05-10 2021-03-04 Civic Technologies, Inc. Eligibility for access to restricted goods and services using zero-knowledge proofs
KR20200085095A (ko) * 2019-01-04 2020-07-14 삼성전자주식회사 블록체인 기반으로 데이터를 관리하는 전자 장치 및 데이터 관리 방법
CN110061851A (zh) * 2019-04-28 2019-07-26 广州大学 一种去中心化的跨信任域认证方法及系统
CN111316303B (zh) * 2019-07-02 2023-11-10 创新先进技术有限公司 用于基于区块链的交叉实体认证的系统和方法
CN110266499B (zh) * 2019-07-08 2020-08-25 西南交通大学 一种基于盲签名的无线体域网匿名认证与密钥协商方法
CN110795501A (zh) * 2019-10-11 2020-02-14 支付宝(杭州)信息技术有限公司 基于区块链的可验证声明的创建方法、装置、设备及系统
CN110879898A (zh) * 2019-10-25 2020-03-13 国网山东省电力公司烟台供电公司 一种基于区块链技术的电网数据完整性检测系统及检测方法
CN111884805B (zh) * 2020-06-24 2023-08-01 易联众信息技术股份有限公司 基于区块链及分布式身份的数据托管方法及系统
CN112187455B (zh) * 2020-09-24 2023-04-18 西南交通大学 一种基于可编辑区块链的分布式公钥基础设施构建方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6247737B1 (ja) * 2016-11-16 2017-12-13 PwCあらた有限責任監査法人 データ構造、情報処理装置、プログラム、情報処理方法及びトランザクションシステム
CN110213737A (zh) * 2019-05-23 2019-09-06 广西大学 基于联盟链建立体域网信息安全机制的方法
CN111682938A (zh) * 2020-05-12 2020-09-18 东南大学 面向中心化移动定位系统的三方可认证密钥协商方法

Also Published As

Publication number Publication date
CN113114728A (zh) 2021-07-13

Similar Documents

Publication Publication Date Title
CN113114728B (zh) 一种基于可编辑区块链的体域网身份认证方法及系统
Zhou et al. PSMPA: Patient self-controllable and multi-level privacy-preserving cooperative authentication in distributedm-healthcare cloud computing system
Le et al. An efficient mutual authentication and access control scheme for wireless sensor networks in healthcare
Zhou et al. Securing m-healthcare social networks: challenges, countermeasures and future directions
Zhou et al. A quadratic residue-based RFID authentication protocol with enhanced security for TMIS
CN102077545A (zh) 用于进行无处不在的病人监测的个人安全管理器
TW201004268A (en) Method for distributed identification, a station in a network
Xiao et al. A secure framework for data sharing in private blockchain-based WBANs
Le et al. An energy-efficient access control scheme for wireless sensor networks based on elliptic curve cryptography
Annane et al. Blockchain based context-aware CP-ABE schema for Internet of Medical Things security
Gao et al. A privacy-preserving identity authentication scheme based on the blockchain
CN108540280A (zh) 一种资源高效的安全数据分享方法及系统
Ding et al. Group authentication and key distribution for sensors in wireless body area network
Cheng et al. Blockchain-based secure authentication scheme for medical data sharing
Qin et al. A privacy-preserving blockchain-based tracing model for virus-infected people in cloud
Wang et al. Searchable encryption with autonomous path delegation function and its application in healthcare cloud
Ali et al. Lightweight verifiable data management system for cloud-assisted wireless body area networks
Zhang et al. NANO: Cryptographic Enforcement of Readability and Editability Governance in Blockchain Databases
Itoo et al. RKMIS: robust key management protocol for industrial sensor network system
Le et al. Public key cryptography-based security scheme for wireless sensor networks in healthcare
Li et al. Public auditing scheme for cloud-based wireless body area network
Zhang et al. Privacy-preserving attribute-based keyword search with traceability and revocation for cloud-assisted iot
Binu et al. A signature-based mutual authentication protocol for remote health monitoring
Rani et al. Design of blockchain-based authentication and key agreement protocol for health data sharing in cooperative hospital network
Meshram et al. Conformal Chebyshev chaotic map-based remote user password authentication protocol using smart card

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