CN116471023B - 一种基于区块链技术的无证书身份认证与密钥协商方法 - Google Patents
一种基于区块链技术的无证书身份认证与密钥协商方法 Download PDFInfo
- Publication number
- CN116471023B CN116471023B CN202310421406.6A CN202310421406A CN116471023B CN 116471023 B CN116471023 B CN 116471023B CN 202310421406 A CN202310421406 A CN 202310421406A CN 116471023 B CN116471023 B CN 116471023B
- Authority
- CN
- China
- Prior art keywords
- identity
- user
- server
- key
- chain
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000005516 engineering process Methods 0.000 title claims abstract description 26
- 238000012795 verification Methods 0.000 claims description 24
- 238000004364 calculation method Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 7
- 230000003993 interaction Effects 0.000 claims description 5
- 125000004122 cyclic group Chemical group 0.000 claims description 3
- 230000008569 process Effects 0.000 description 14
- 238000004458 analytical method Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241001481828 Glyptocephalus cynoglossus Species 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/32—User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
-
- 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/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/6245—Protecting personal data, e.g. for financial or medical purposes
-
- 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/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3271—Cryptographic 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 using challenge-response
- H04L9/3273—Cryptographic 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 using challenge-response for mutual authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic 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)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于区块链技术的无证书身份认证与密钥协商方法,包括:虚拟身份创建步骤、身份上链步骤和身份认证与密钥协商步骤;用于借助区块链技术进行身份认证与隐私保护,方案使用生物特征保证了用户或服务器起的节点虚拟身份唯一性,使用无证书签名保证节点隐私并确保信息的安全性,借助区块链技术的去中心化、不可篡改、公开透明等特点实现双方的相互认证和密钥协商,具有较高的安全性和效率;可在交通、教育、政务、医疗等等领域应用。
Description
技术领域
本发明涉及网络空间中的实体身份认证技术领域,特别涉及一种基于区块链技术的无证书身份认证与密钥协商方法。
背景技术
网络空间的身份管理与认证对于所有形式的远程通信都至关重要,进入大数据时代,与日俱增的数据量对中心化身份管理与认证系统带来的压力越来越大,而传统身份认证技术由于其中心第三方的结构存在很大的安全隐患与风险,如单点故障、恶意服务器攻击等等。
区块链技术的出现为解决这个问题提供了新的思路。
因此,如何将区块链技术应用到网络空间中的实体身份认证,降低安全隐患与风险,成为同行从业人员亟待解决的问题。
发明内容
本发明的目的在于提供一种基于区块链技术的无证书身份认证与密钥协商方法,利用区块链技术去中心化,公开透明等特性来弥补传统身份管理与认证机制存在的不足。结合生物特征的特殊性,实现链上唯一虚拟身份,利用无证书方案改进了链下身份认证过程,构建合理安全的身份管理和认证方案,实现了双向认证及会话密钥协商。
为实现上述目的,本发明采取的技术方案为:
本发明提供一种基于区块链技术的无证书身份认证与密钥协商方法,包括以下步骤:
虚拟身份创建步骤:用户和服务器均作为区块链节点,各自输入唯一身份识别的生物特征信息,创建唯一虚拟身份信息,并发送给链管理者ISP;
身份上链步骤:链管理者ISP接收所述唯一虚拟身份信息并进行计算,将带有虚拟身份信息的上链请求信息广播到链并生成对应区块交易记录;
身份认证与密钥协商步骤:通过信息交互与会话,利用无证书签名与双线性对进行用户和服务器之间的相互认证并实现密钥协商。
进一步地,所述虚拟身份创建步骤具体包括:
区块链节点对应的用户通过带有模糊提取器的智能设备输入唯一身份识别生物特征BIO,智能设备通过生成算法Gen(BIO)得到σ,并计算唯一身份ID=H1(σ);
区块链节点计算Q=h(ID),Q为用户在链上对应节点的唯一虚拟身份,发送Q给链管理者ISP。
进一步地,所述身份上链步骤具体包括:
链管理者ISP接收到Q,计算部分私钥D=s·Q;D表示节点部分私钥,s表示链管理者主密钥;将D通过安全信道发回给对应的区块链节点用户;
区块链节点用户随机选择x,计算完整私钥S=x·D,以及公钥<X,Y>,其中X=x·P,Y=x·s·P=x·P0,完成后向ISP发送上链请求(Q,Y);
链管理者ISP将带有虚拟身份信息的上链请求信息广播到链并生成对应区块交易记录。
进一步地,所述身份认证与密钥协商步骤,具体包括:
第1步:当用户A需要向服务器B请求服务时,A选取循环群中的随机数,计算Ri=ri·P;随机值/>,计算w1=e(P,P)a,U1=v1·SA+a·P,v1=H(Ri,w1);完成计算后,用户A发送请求消息M1=(QA,Ri,XA,U1,v1)给服务器B;QA为用户A在链上对应节点的唯一虚拟身份;e(·)为双线性运算函数;SA为用户A节点完整私钥;XA为用户A部分公钥;
第2步:服务器B收到用户A的请求消息M1,首先根据QA搜寻链上信息,找到对应区块记录以及用户A部分公钥YA,通过检查e(XA,P0)=e(YA,P)是否成立来验证节点公钥与身份是否匹配,判断用户身份,若不成立,则中止会话拒绝服务,否则就实现了身份真实性检验;继续以下验证,服务器B获取用户A公钥<XA,YA>,计算验证v1=H(Ri,w1)是否成立;若成立则验证通过,完成身份合法性检验,否则中止会话;
服务器B选取随机数计算Rj=rj·P;kji=rj·Ri,Authji=h(QA||QB||kji||Rj||T),其中T为时间戳;选取随机值/>计算w2=e(P,P)b,U2=v2·SB+b·P,v2=H(Rj,w2);服务器B向用户A发送回应消息M2=(T,QB,Rj,XB,Authji,U2,v2);SB为服务器B节点完整私钥;QB为服务器B在链上对应节点的唯一虚拟身份;
第3步:用户A收到服务器B回应消息M2,首先检查时间T,判断ΔT是否在合理范围内;然后根据QB去区块链上搜寻链上交易记录及信息,找到对应区块信息以及YB,首先通过检查e(XB,P0)=e(YB,P)是否成立来验证公钥是否匹配,判断服务器身份,若不成立,则中止会话拒绝服务,否则就实现了身份真实性检验;继续以下验证,用户A获取服务器B公钥<XB,YB>,计算验证v2=H(Rj,w2)是否成立;若成立则验证通过,否则中止会话;计算kij=ri·Rj,验证Authji=h(QA||QB||kji||Rj||T),如果成立,则完成身份合法性检验,实现认证;否则中止会话;
最后用户A计算会话密钥skij=h(QA||QB||kij),双方为了确保获得一致会话密钥并告知对方自己已成功计算该密钥,则将会话密钥进一步隐藏,计算M3,h(T);发送h(T)给服务器B;
第4步:服务器B收到h(T)后,首先检查时间T,通过w1,w2获得skij,计算skji=h(QA||QB||kji),并验证/>是否成立;若成立,则双方完成相互认证并建立会话密钥。
与现有技术相比,本发明具有如下有益效果:
本发明实施例提供的一种基于区块链技术的无证书身份认证与密钥协商方法,用于借助区块链技术进行身份认证与隐私保护,方案使用生物特征保证了用户或服务器起的节点虚拟身份唯一性,使用无证书签名保证节点隐私并确保信息的安全性,借助区块链技术的去中心化、不可篡改、公开透明等特点实现双方的相互认证和密钥协商;通过分析设计的方案具有较高的安全性和效率。
附图说明
图1为本发明实施例提供的区块链的无证书身份认证与密钥协商的系统架构图;
图2为本发明实施例提供的虚拟身份创建与身份上链的过程示意图;
图3为本发明实施例提供的用户A与服务器B交互时身份认证与密钥协商的过程图。
具体实施方式
为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。
在本发明的描述中,需要说明的是,术语“上”、“下”、“内”、“外”“前端”、“后端”、“两端”、“一端”、“另一端”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“设置有”、“连接”等,应做广义理解,例如“连接”,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
本发明提供的一种基于区块链技术的无证书身份认证与密钥协商方法,借助区块链技术实现相对去中心化的身份鉴别,所有公民实体及服务商或者平台都能作为区块链系统中的某一节点,当进行会话及信息传递、提供服务时实现节点间的认证与密钥协商,可在交通、教育、政务、医疗等等领域应用。
本发明提供的一种基于区块链技术的无证书身份认证与密钥协商方法,用户利用生物特征在智能设备上进行身份创建与上链,链运营商将节点信息广播到链,链上节点利用无证书签名与双线性对进行相互认证并实现密钥协商,如图1所示,为认证系统的架构图;
该方法具体包括:
虚拟身份创建步骤:用户和服务器均作为区块链节点,各自输入唯一身份识别的生物特征信息,创建唯一虚拟身份信息,并发送给链管理者ISP;
身份上链步骤:链管理者ISP接收所述唯一虚拟身份信息并进行计算,将带有虚拟身份信息的上链请求信息广播到链并生成对应区块交易记录;
身份认证与密钥协商步骤:通过信息交互与会话,利用无证书签名与双线性对进行用户和服务器之间的相互认证并实现密钥协商。
该方法分为3个阶段:虚拟身份创建阶段、身份上链阶段以及身份认证与密钥协商阶段。整个过程采用链上信息存储,链下身份认证的方式进行,所用到的部分参数如表1。
表.1符号说明
用户和服务器都作为区块链节点,需要上链进行事务处理,与其他节点进行会话及提供、获取服务,则其需要进行虚拟身份创建并上链。在认证系统中,用户或服务器都作为区块链节点,具有相同属性。步骤如图2所示,以用户为例,包括如下:
(1)虚拟身份创建:以用户为例,用户A通过带有模糊提取器的智能设备输入唯一身份识别特征BIO,智能设备通过生成算法Gen(BIO)得到σ并计算唯一身份IDA=H1(σ),其中,σ表示生物特征值的一个代表值。为了保证用户链上身份虚拟性,用户A计算QA=h(IDA),QA为用户A链上对应节点的唯一虚拟身份。并发送QA给链管理者ISP。链管理者ISP接收到QA,计算用户节点部分私钥QA=s·QA。其中,链管理者ISP的私钥和公钥分别是s和P0=s·P。链管理者ISP将DA通过安全信道发回给用户A。
(2)身份上链:用户A发送QA给链管理者ISP。链管理者ISP接收到QA,计算部分私钥DA=s·QA,将DA通过安全信道发回给用户A。用户A随机选择xA,计算完整私钥SA=xA·DA,以及公钥<XA,YA>,其中XA=xA·P,YA=xA·s·P=xA·P0。完成后向ISP发送上链请求(QA,YA)。链管理者ISP将上链请求信息广播到链并生成对应区块交易记录。
同理,服务器B执行以上相同操作实现虚拟身份创建和身份上链过程:
(1)虚拟身份创建:服务器B操作者通过带有模糊提取器的智能设备输入唯一身份识别特征BIO,智能设备通过生成算法Gen(BIO)得到σ并计算唯一身份IDB=H1(σ)。为了保证服务器链上身份虚拟性,服务器B计算QB=h(IDB),QB为服务器B链上对应节点的虚拟身份。并发送QB给链管理者ISP。链管理者ISP接收到QB,计算其部分私钥DB=s·QB。其中,链管理者ISP的私钥和公钥分别是s和P0=s·P。链管理者ISP将DB通过安全信道发回给服务器B。
(2)身份上链:服务器B发送QB给链管理者ISP。链管理者ISP接收到QB,计算部分私钥DB=s·QB,将DB通过安全信道发回给服务器B。服务器B随机选择xB,计算完整私钥SB=xB,DB,以及公钥<XB,YB>,其中XB=xB·P,YB=xB·s·P=xB·P0。向ISP发送上链请求(QB,YB)。链管理者ISP将上链请求信息广播到链并生成对应区块。
(3)认证与密钥协商阶段
身份认证与密钥协商:通过信息交互与会话,完成节点身份的认证并协商后期一段时间的对称密钥作为会话密钥使用。用户和服务器间的应答过程通过以下步骤完成,信息交互过程如图3展示。
第1步:当用户A需要向服务器B请求服务时,用户A选取循环群中的随机数计算Ri=ri·P。随机值/>计算w1=e(P,P)a,U1=v1·SA+a·P,v1=G(Ri,w1)。完成计算后,其发送请求消息M1=(QA,Ri,XA,U1,v1)给服务器B。QA为用户A在链上对应节点的唯一虚拟身份;e(·)为双线性运算函数;SA为用户A节点完整私钥;XA为用户A部分公钥;
第2步:服务器B收到服务器B的请求消息M1,首先根据QA搜寻链上信息,找到对应区块记录以及用户A部分公钥YA,首先通过检查e(XA,P0)=e(YA,P)是否成立来验证节点公钥与身份是否匹配,判断用户身份,若不成立,则中止会话拒绝服务,否则就实现了身份真实性检验,继续以下验证,服务器B获取用户A公钥<XA,YA>,计算验证v1=H(Ri,w1)是否成立。
若成立则验证通过,完成身份合法性检验,否则中止会话。服务器B选取随机数计算Rj=rj·P。kji=rj·Ri,Authji=h(QA||QB||kji||Rj||T),其中T为时间戳。选取随机值/>计算w2=e(P,P)b,U2=v2·SB+b·P,v2=H(Rj,w2)。服务器B向用户A发送回应消息M2=(T,QB,Rj,XB,Authji,U2,v2)。
第3步:用户A收到服务器B回应消息M2,首先检查时间T,判断ΔT是否在合理范围内。然后根据QB去区块链上搜寻链上交易记录及信息,找到对应区块信息以及YB,首先通过检查e(XB,P0)=e(YB,P)是否成立来验证公钥是否匹配,判断服务器身份,若不成立,则中止会话拒绝服务,否则就实现了身份真实性检验;继续以下验证,用户A获取服务器B公钥<XB,YB>,计算验证v2=H(Rj,w2)是否成立。若成立则验证通过,否则中止会话。计算kij=ri·Rj,验证Authji=h(QA||QB||kji||Rj||T),如果成立,则完成身份合法性检验,实现认证;否则中止会话。
最后,用户A计算会话密钥skij=h(QA||QB||kij),双方为了确保获得一致会话密钥并告知对方自己已成功计算该密钥,则将会话密钥进一步隐藏,计算M3,h(T)。发送h(T)给服务器B。
第4步:服务器B收到h(T)后,首先检查时间T,由于T为之前一轮自己选取,可有效避免时间同步攻击引起的拒绝服务等问题。通过w1,w2获得skij,计算skji=h(QA||QB||kji),并验证/>是否成立。若成立,则双方完成相互认证并建立会话密钥。
注:
下面从安全出发,理论分析本发明实施例的方案的安全性。
(1)避免单点故障:基于区块链去中心化的特性构建的本身份管理与认证方法,可以有效避免传统身份认证下的单点故障问题;同时为了避免本方法存在区块链运营商可能导致的安全问题,本发明采取部分私钥与完整私钥的设计,实现用户密钥的自主权掌控以及公钥自认证,实现身份管理。
(2)抗拒绝服务攻击:服务器节点自身选取时间戳T,并自己验证T的时效性,用户节点无需选取参数,则服务器节点在完成参数更新后,无需担心因某种原因导致的客户未能成功更新参数,给进一步通信造成障碍。
(3)虚拟身份唯一:与传统的口令与智能卡的方式不同,生物特征具有唯一性、终身不变、稳定性强,本发明的方案中用户或服务器需通过智能设备采集生物特征,通过模糊提取器和特定的运算对应唯一的虚拟身份,则唯一用户或者服务器只能拥有唯一节点,避免了区块链中由共识机制产生的51%攻击。
(4)抗重放攻击:身份认证过程中加入了时间戳T等元素,可以避免重放攻击,同时使用了无证书签名确保信息不会被更改。另一方面,本发明使用了带有用户私钥的证书,进一步保证信息不会被篡改,接收方会通过特定发送方的公钥验证签名,从而抵抗重放攻击。
(5)女巫攻击:方案在身份创建阶段使用了生物特征技术,可以确保任一实体只能拥有唯一节点身份;同时若攻击者尝试通过自己的节点去伪造其他身份时,方案的认证过程第一步通过e(X,P0)=e(Y,P)完成身份与公钥的对应确保身份真实性,第二步通过双线性运算w=e(U,P)·e(Q,-Y)v计算正确的w,在此基础上v=H(R,w)才能验证通过,确保身份的合法性。以上三层设计,完全保证了攻击者在未知合法节点私钥情况下无法伪造身份成功,也就不存在女巫攻击。
(6)抗伪装攻击:由于区块链公开透明的特点,尽管任意节点都可以在链上获取其他用户的虚拟身份和Y,也可以截获节点发送信息M获取X,从而获取用户虚拟身份和公钥,但是,本发明采用了无证书方案进行身份认证,攻击者无法获取私钥则无法完成验证过程。即如果攻击者更改了信息,则验证无法通过,从而保证了安全性。意味着未持有节点私钥的攻击者无法完成伪装,而节点私钥为节点自身选取的随机数决定。
假设攻击者为合法用户为/>下面分以下几种情况考虑:本发明的安全性基于区块链技术,通过计算w,接收方验证V值是否相等来实现,U实现节点私钥的隐藏,V保证用户信息不被修改,区块链技术保证用户身份跟公钥匹配。
1.攻击者更改用户/>发送的Ri进行会话密钥获取,但未更改w1,U1,v1等信息。然后接收方检查v1=H(R'i,w1)无法通过验证。
2.攻击者更改用户/>发送Ri,w1,未更改U1,v1等信息。然后接收方检查v1=H(R'i,w'1),等式不成立,无法完成伪装。
3.攻击者更改用户/>发送Ri,w1,v1,未更改U1等信息。此时接收方无法正确计算w1,假设接收方计算得到新的/> v'1=H(R'i,w'1)这个验证等式仍然无法通过。
4.攻击者更改用户/>发送Ri,w1,v1,U1。此时攻击者可计算新的U'1=v'1·S'A+a'·P,接收方无法计算正确的w1,假设接收方计算的/> 同样的v'1=H(R'i,w'1)这个验证等式仍然无法成立。
这意味着不持有节点私钥的攻击者无法成功完成伪装,而节点私钥由节点选择的随机数决定,这个秘密值只有节点自身掌握管理。
(7)抗内部攻击:区块链运营商为节点提供部分私钥,保证了节点密钥由自身生成,不同节点之间无相同信息,则内部节点无论是其他用户还是其他服务器以及运营商都无法进行内部攻击。区块链的去中心化和共识机制也保障了系统的抗内部攻击。
(8)抗双花攻击(51%攻击):前面分析提到的唯一虚拟身份确保了该攻击的无法实现性,恶意节点无法占据系统一半以上节点,并且,本发明认为系统在合理使用的情况下,安全的共识与激励机制也能保证合谋无法实现。
下面从效率性进行分析:
(1)无需存储验证表:区别于传统方案,本发明使用生物特征结合模糊提取器,免去了以往管理中心通过存储验证表来验证用户是否是系统用户的过程,节省了大量存储空间。并且用户自主计算管理公私钥,无需证书。
(2)双向多次认证:在本发明的认证过程中,节点首先通过X、Y验证对方身份,再利用双线性对进行又一次身份验证,另外加入了认证信息Auth进一步进行身份认证,认证过程更加具有鲁棒性。
(3)运算复杂度:首先本方法中认证过程只有三次信息传递,通过最少的会话次数完成了双向身份认证并实现了会话密钥协商。其次,系统中运用的只有两次异或,九次哈希,两次双线性对及七次点乘运算。
本发明提出了一种基于区块链技术的无证书身份认证与密钥协商方法,用于借助区块链技术进行身份认证与隐私保护。方案使用生物特征保证了用户或服务器起的节点虚拟身份唯一性,使用无证书签名保证节点隐私并确保信息的安全性,借助区块链技术的去中心化、不可篡改、公开透明等特点实现双方的相互认证和密钥协商;通过分析设计的方案具有较高的安全性和效率。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (3)
1.一种基于区块链技术的无证书身份认证与密钥协商方法,其特征在于,包括以下步骤:
虚拟身份创建步骤:用户和服务器均作为区块链节点,各自输入唯一身份识别的生物特征信息,创建唯一虚拟身份信息,并发送给链管理者ISP;
身份上链步骤:链管理者ISP接收所述唯一虚拟身份信息并进行计算,将带有虚拟身份信息的上链请求信息广播到链并生成对应区块交易记录;
身份认证与密钥协商步骤:通过信息交互与会话,利用无证书签名与双线性对进行用户和服务器之间的相互认证并实现密钥协商;
所述身份认证与密钥协商步骤,具体包括:
第1步:当用户A需要向服务器B请求服务时,A选取循环群中的随机数计算Ri=ri·P;P表示群生成元;随机值/>计算w1=e(P,P)a,U1=v1·SA+a·P,v1=H(Ri,w1);H()表示哈希函数,/>完成计算后,用户A发送请求消息M1=(QA,Ri,XA,U1,v1)给服务器B;QA为用户A在链上对应节点的唯一虚拟身份;e(·)为双线性运算函数;SA为用户A节点完整私钥;XA为用户A部分公钥;
第2步:服务器B收到用户A的请求消息M1,首先根据QA搜寻链上信息,找到对应区块记录以及用户A部分公钥YA,通过检查e(XA,P0)=e(XA,P)是否成立来验证节点公钥与身份是否匹配,判断用户身份,若不成立,则中止会话拒绝服务,否则就实现了身份真实性检验;P0表示链管理者公钥继续以下验证,服务器B获取用户A公钥{XA,YA>,计算w1=e(U1,P)·验证v1=H(Ri,w1)是否成立;若成立则验证通过,完成身份合法性检验,否则中止会话;
服务器B选取随机数计算Rj=rj·P;kji=rj·Ri,Authji=h(QA||QB||kji||Rj||T),其中T为时间戳,h()表示哈希函数,/>选取随机值/>计算w2=e(P,P)b,U2=v2·SB+b·P,v2=H(Rj,w2);服务器B向用户A发送回应消息M2=(T,QB,Rj,XB,Authji,U2,v2);SB为服务器B节点完整私钥;QB为服务器B在链上对应节点的唯一虚拟身份;XB为服务器B部分公钥;
第3步:用户A收到服务器B回应消息M2,首先检查时间戳T,判断ΔT是否在合理范围内;然后根据QB去区块链上搜寻链上交易记录及信息,找到对应区块信息以及YB,首先通过检查e(XB,P0)=e(YB,P)是否成立来验证公钥是否匹配,判断服务器身份,若不成立,则中止会话拒绝服务,否则就实现了身份真实性检验;继续以下验证,用户A获取服务器B公钥<XB,YB>,计算验证v2=H(Rj,w2)是否成立;若成立则验证通过,否则中止会话;计算kij=ri·Rj,验证Authji=h(QA||QB||kji||Rj||T),如果成立,则完成身份合法性检验,实现认证;否则中止会话;
最后用户A计算会话密钥skij=h(QA||QB||kij),双方为了确保获得一致会话密钥并告知对方自己已成功计算该密钥,则将会话密钥进一步隐藏,计算M3,h(T);发送h(T)给服务器B;
第4步:服务器B收到h(T)后,首先检查时间戳T,通过w1,w2获得skij,计算skji=h(QA||QB||kji),并验证/>是否成立;若成立,则双方完成相互认证并建立会话密钥。
2.根据权利要求1所述的一种基于区块链技术的无证书身份认证与密钥协商方法,其特征在于,所述虚拟身份创建步骤具体包括:
区块链节点对应的用户通过带有模糊提取器的智能设备输入唯一身份识别生物特征BIO,智能设备通过生成算法Gen(BIO)得到σ,并计算唯一身份ID=H1(σ);H1()表示哈希函数,
区块链节点计算Q=h(ID),Q为用户在链上对应节点的唯一虚拟身份,发送Q给链管理者ISP。
3.根据权利要求2所述的一种基于区块链技术的无证书身份认证与密钥协商方法,其特征在于,所述身份上链步骤具体包括:
链管理者ISP接收到Q,计算部分私钥D=s·Q;D表示节点部分私钥,s表示链管理者主密钥;将D通过安全信道发回给对应的区块链节点用户;
区块链节点用户随机选择x,计算完整私钥S=x·D,以及公钥<X,Y>,其中X=x·P,Y=x·s·P=x·P0,完成后向ISP发送上链请求(Q,Y);
链管理者ISP将带有虚拟身份信息的上链请求信息广播到链并生成对应区块交易记录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310421406.6A CN116471023B (zh) | 2023-04-19 | 2023-04-19 | 一种基于区块链技术的无证书身份认证与密钥协商方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310421406.6A CN116471023B (zh) | 2023-04-19 | 2023-04-19 | 一种基于区块链技术的无证书身份认证与密钥协商方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116471023A CN116471023A (zh) | 2023-07-21 |
CN116471023B true CN116471023B (zh) | 2024-02-20 |
Family
ID=87180297
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310421406.6A Active CN116471023B (zh) | 2023-04-19 | 2023-04-19 | 一种基于区块链技术的无证书身份认证与密钥协商方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116471023B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110505058A (zh) * | 2019-08-20 | 2019-11-26 | 西安电子科技大学 | 跨链场景下异构区块链的身份认证方法 |
CN112134892A (zh) * | 2020-09-24 | 2020-12-25 | 南京邮电大学 | 一种移动边缘计算环境下的服务迁移方法 |
CN113569298A (zh) * | 2021-07-23 | 2021-10-29 | 徐丹梅 | 一种基于区块链的身份生成方法及身份系统 |
CN115473631A (zh) * | 2022-08-22 | 2022-12-13 | 武汉大学 | 一种基于中国剩余定理的区块链无证书聚合签密密钥协商方法 |
-
2023
- 2023-04-19 CN CN202310421406.6A patent/CN116471023B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110505058A (zh) * | 2019-08-20 | 2019-11-26 | 西安电子科技大学 | 跨链场景下异构区块链的身份认证方法 |
CN112134892A (zh) * | 2020-09-24 | 2020-12-25 | 南京邮电大学 | 一种移动边缘计算环境下的服务迁移方法 |
CN113569298A (zh) * | 2021-07-23 | 2021-10-29 | 徐丹梅 | 一种基于区块链的身份生成方法及身份系统 |
CN115473631A (zh) * | 2022-08-22 | 2022-12-13 | 武汉大学 | 一种基于中国剩余定理的区块链无证书聚合签密密钥协商方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116471023A (zh) | 2023-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106657124B (zh) | 用于物联网的基于假名的匿名认证与密钥协商优化认证方法以及优化认证分析方法 | |
CN101902476B (zh) | 移动p2p用户身份认证方法 | |
CN109327313A (zh) | 一种具有隐私保护特性的双向身份认证方法、服务器 | |
CN108111301A (zh) | 基于后量子密钥交换实现ssh协议的方法及其系统 | |
Li et al. | AEP-PPA: An anonymous, efficient and provably-secure privacy-preserving authentication protocol for mobile services in smart cities | |
Weimerskirch et al. | Zero common-knowledge authentication for pervasive networks | |
CN108243166A (zh) | 一种基于USBKey的身份认证方法和系统 | |
Bella et al. | Mechanical proofs about a non-repudiation protocol | |
CN105119721B (zh) | 一种基于智能卡的三因素远程身份认证方法 | |
EP1573482A2 (en) | Cryptographic methods and apparatus for secure authentication | |
CN110808829B (zh) | 一种基于密钥分配中心的ssh认证方法 | |
CN103338201B (zh) | 一种多服务器环境下注册中心参与的远程身份认证方法 | |
CN110234111A (zh) | 一种适用于多网关无线传感器网络的双因素认证密钥协商协议 | |
CN109818756A (zh) | 一种基于量子密钥分发技术的身份认证系统实现方法 | |
CN101697540A (zh) | 一种p2p服务请求用户身份认证方法 | |
Chakrabarti et al. | Password-based authentication: Preventing dictionary attacks | |
Nagaraju et al. | SecAuthn: Provably secure multi-factor authentication for the cloud computing systems | |
CN110020524A (zh) | 一种基于智能卡的双向认证方法 | |
CN109347626A (zh) | 一种具有反跟踪特性的安全身份认证方法 | |
CN116388995A (zh) | 一种基于puf的轻量级智能电网认证方法 | |
CN110866754A (zh) | 一种基于动态口令的纯软件dpva身份认证方法 | |
CN107231230B (zh) | 基于病症的跨域动态匿名认证群组密钥管理方法及系统 | |
CN115955320B (zh) | 一种视频会议身份认证方法 | |
CN116471023B (zh) | 一种基于区块链技术的无证书身份认证与密钥协商方法 | |
Kim et al. | Further improved remote user authentication scheme |
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 |