一种基于公钥算法的身份认证协议

2022-03-18 07:45黄朝阳
网络安全技术与应用 2022年3期
关键词:私钥公钥非对称

◆黄朝阳

一种基于公钥算法的身份认证协议

◆黄朝阳

(厦门海洋职业技术学院 福建 361100)

为提升传统公钥体制下身份认证方案的效能,本文引入伪随机数作为挑战信息的挑战应答机制,并糅合散列函数及异或运算,提出一种只需两次信息交互的身份认证协议,并证明新协议拥有较高的安全性和效率。

公钥算法;伪随机数;散列函数;身份认证;双向认证

基于非对称加密算法的安全性,公钥密码体制广泛运用于多种身份认证方案[1-2]。传统公钥体制身份认证协议的实现需要四次的信息交互,结合挑战应答机制的公钥身份认证方案有很多,但认证安全性和效能方面都多少存在瑕疵[3-[4]。本文引入单向散列函数和简单异或运算[5]来改进基于挑战应答机制的公钥身份认证协议,提出一种通过两次信息交互实现双向认证的解决方案。

1 基于公钥算法的认证协议

协议认证流程由注册和认证两个阶段组成。文中所用符号表示如下:

-远程服务器;

-用户;

Kpub_Kpri_-的公、私钥;

ID_-服务器的账号;

Cert_IDK-用户的数字证书、账号、口令;

(*)-单向散列函数;

||-字符串连接;

R-伪随机数;

K(m)使用K对称加密m;

Kpub_{m}-使用Kpub_非对称加密m;

-结果信息,0为失败,1为成功;

K-一次性会话密钥,m表示第几次认证的次数。

2 注册流程

2.1 用户注册信息生成并发送

用户生成伪随机数R,计算出伪随机数连接口令后的两次散列值fR||K)。用户通过公共信息向服务器发送分别经用户私钥和服务器公钥内加密的注册信息:Kpub_{ID||||R||{R||fR||K)}}。

2.2 服务器核验注册申请及结果返回

服务器用Kpri_解密注册信息得到ID、及。首先查验数据库中ID的重复性,如库中已有ID存在,记录注册方IP及错误次数,若错误数超限则限制此IP后续恶意抢注行为;然后根据t得到以解密内部加密信息,获取;核验和以检查用户注册的合法性,如不同则注册失败,终止会话;两者相同则注册成功,将信息ID、、、fR||K)’存入数据库,返回结果信息给:{ID_||}。

3 双向认证流程

3.1 请求登录消息发送

用户生成伪随机数R后用公钥加密登录信息,经公共信道发送服务器:Kpub_{ID||R||(R||K)⊕fR||K)||fR||K)⊕fR||K)}。

3.2 服务器核验用户登录信息及认证结果返回

3.3 用户对服务器双向认证的实现

K’=fR||K)(ID||ID_||R||R

协议注册认证流程时序图如图1所示。

图1 协议注册认证流程时序图

4 安全性和效能分析

4.1 协议的安全性

在本协议中,C注册所传送的信息经C、H的私钥和公钥内外加密。攻击者不具有C的私钥因此没法假冒C进行抢注,从而冒充攻击无法实现。

如攻击者反复发起无效抢注,H可根据来源IP及错误数限制此行为。对于攻击者频繁传递无效的登录信息给H的拒绝服务攻击行为,同样可通过记录来源IP和错误次数进行防范,从而有效抵御拒绝服务攻击。

C的口令在H数据库中以散列值的形式存在,并没有明文传输和存储,故可防范内部人员攻击。

协议中糅合了挑战应答机制,每次认证消息包含的伪随机各不相同,可有效抵御重放攻击。

以公钥加密的认证信息,只能由对应私钥拥有者才可以正确解密,协议的认证过程通过公钥算法加解密计算来检验各种信息的合法性,协议既实现双向认证,又可有效防止中间人攻击。

协议在成功实现双向认证后,以双方账号及所生成的伪随机数经对称加密计算出本次会话的一次性密钥,密钥构件均不以明文在公共信道传送,且构件因每次认证所生成的伪随机数而不断变化,真正实现一次一密。其中:

=f2(R1||Kc)(IDc||ID_H||R0||R1)=K1’

上式得证,双向认证完成后,H、C各自计算的一次性会话密钥K1=K1’。

4.2 效能分析

认证效能决定于登录认证阶段的通信次数和H端计算量。

由图1可见,本协议仅需两次信息传递即可实现C与H双向认证,与传统公钥认证协议相比通信次数明显降低。

传统公钥认证协议的认证双方计算量均至少要达到1ADA+1AEA。本协议C与H的计算复杂度如表1所示。其中SEA表示对称密钥加解密计算,AEA表示非对称加密计算,ADA表示非对称解密计算,HA为散列计算,XOR为异或计算。

表1 认证双方复杂度

协议阶段UiAS 注册2AEA+2H2ADA 登录1AEA+7HA+2XOR 认证Ui 1ADA+3XOR+1AEA 认证AS1ADA 密钥协商1SEA1SEA

综上所述,本协议与传统公钥协议相比,仅需两次交互即可实现双向认证且协商有后续一次性会话密钥,计算复杂度没有明显提高。本协议比传统协议有更好的效能。

5 结束语

本文将散列函数和简单异或运算糅合挑战应答机制,提出一种通过两次信息交互实现双向认证的公钥身份认证协议改进方案。协议的安全性能基于单向散列函数和非对称加密算法,新方案有较好的安全性能和效率。结合生物特征的多因素认证和如何改进文中所用的挑战伪随机数的随机性,是进一步提升协议性能的研究方向。

[1]刘仁山,孟祥宏.基于PKI的身份认证系统的设计与实现[J].制造业自动化,2013,35(3):113-116.

[2]张伟丽.浅析PKI技术在数字家庭网络中的应用[J].电视技术,2014,38(S1):46-49.

[3]王中华,韩臻,刘吉强.云环境下基于PTPM和无证书公钥的身份认证方案[J].软件学报,2016,27(6):1523-1537.

[4]马春波,杜以聪,曾坤.基于IBC体制的挑战/应答式双向身份认证协议[J].计算机工程与设计,2017,38(2):345-349.

[5]魏宗秀.在线建立会话密钥身份认证协议的设计与实现[J].信息安全与技术,2014(5):37-40.

福建省中青年教师教育科研项目The education scientific research project of young teachers in Fujian Province(JAT191316)

猜你喜欢
私钥公钥非对称
清扫机器人避障系统区块链私钥分片存储方法
后发技术非对称赶超策略及其情境依赖机制研究
非对称腹板束设计方法在地铁大跨变宽变高连续梁中的应用
比特币的安全性到底有多高
Spatially defined single-cell transcriptional profiling characterizes diverse chondrocyte subtypes and nucleus pulposus progenitors in human intervertebral discs
非对称干涉仪技术及工程实现
神奇的公钥密码
一种基于虚拟私钥的OpenSSL与CSP交互方案
国密SM2密码算法的C语言实现
基于身份的聚合签名体制研究