CN116137710A - 一种通用的三方口令认证密钥交换方法 - Google Patents

一种通用的三方口令认证密钥交换方法 Download PDF

Info

Publication number
CN116137710A
CN116137710A CN202111360908.XA CN202111360908A CN116137710A CN 116137710 A CN116137710 A CN 116137710A CN 202111360908 A CN202111360908 A CN 202111360908A CN 116137710 A CN116137710 A CN 116137710A
Authority
CN
China
Prior art keywords
user
server
key
message
sed
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.)
Pending
Application number
CN202111360908.XA
Other languages
English (en)
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.)
Peking University
Original Assignee
Peking University
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 Peking University filed Critical Peking University
Priority to CN202111360908.XA priority Critical patent/CN116137710A/zh
Publication of CN116137710A publication Critical patent/CN116137710A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • 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/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
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/041Key generation or derivation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/047Key management, e.g. using generic bootstrapping architecture [GBA] without using a trusted network node as an anchor
    • H04W12/0471Key exchange

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种通用的三方口令认证密钥交换方法。本发明可以将任意安全的两方口令认证协议转换为安全的三方认证协议;允许服务器S通过增强的非对称口令认证协议理想功能
Figure DDA0003359226910000012
和安全信道理想功能
Figure DDA0003359226910000011
分别与用户U和服务节点SN建立会话密钥。本发明可以兼容无线传感器网络、物联网、智能电网、智能家居等多种网络环境,支持运算性能较低的传感器节点等参与认证。利用本发明提供的技术方案,在新的网络应用出现时,当网络结构不发生变化时,协议设计者无需设计新协议,可以充分利用之前设计的协议。

Description

一种通用的三方口令认证密钥交换方法
技术领域
本发明属于信息安全技术领域,涉及一种通用的、新型网络环境下的三方身份认证交换方法,尤其涉及一种基于口令的三方密钥交换协议设计和实现方法。
背景技术
物联网(Internet of Things,简称IoT)、无线传感器网络(Wireless SensorNetwork,简称WSN)等新型网络的发展实现了万物互联。这一类网络结构主要包括三类参与方,用户U(User)、认证服务器S(Server)、服务节点SN(Service-provider Node),符合U-S-SN架构。用户通过认证服务器与远程服务节点(如传感器、射频识别设备等)建立连接,实现实时访问服务节点的资源。
为实现远程实时访问功能,学者们提出了大量针对特定应用的三方身份认证的专用协议。例如,Wazid等人在文献1(Mohammad Wazid,Ashok Kumar Das,Vanga Odelu etal.“Secure remote user authenticated key establishment protocol for smarthome environment”.IEEE Trans.Depend.Secure Comput.2020,17(2):391–406.)中提出的针对智能家居应用的协议;Zhou等人在文献2(Lu Zhou,Xiong Li,Kuo-Hui Yeh et al.“Lightweight IoT-based authentication scheme in cloud computingcircumstance”.Future Gener.Comput.Syst.2019,91:244–251.)中提出的云计算环境下基于物联网的轻量级认证协议等等。然而现有研究中,鲜少关注通用的三方认证协议。唯一可以看作通用协议的是SSO(Single-Sign-On,简称SSO)类协议,如Kerberos。这一类协议支持共享认证,即用户可以通过第三方认证获得特定应用的访问权限。如用户通过微信账号登录新浪微博。但SSO类协议设计复杂,难以在资源受限的传感器节点上部署。再者,SSO通常采用自动化的方法进行证明,无法保证所设计的协议具备密码学安全。例如,Kerberos协议容易遭受离线口令猜测攻击。
更重要的是,这些专用协议无法与其他应用相兼容。当新的应用出现时,即使网络架构并未改变,协议设计者也不得不重新设计协议,增加了协议设计者的负担。因此,如何设计适用于新型网络的通用身份认证协议是当前亟需解决的问题。而口令作为应用最广泛的认证方式,设计基于口令的认证协议也是现实所需,设计安全的口令认证协议可以轻易扩展到多因素方案。
发明内容
本发明提供一种通用的新型网络环境下三方口令认证方法。利用本发明的方法可以将任意安全的两方口令认证协议转换为安全的三方认证协议。本发明的核心思想是允许服务器S通过增强的非对称口令认证协议理想功能
Figure BDA0003359226890000021
和安全信道理想功能/>
Figure BDA0003359226890000022
分别与用户U和服务节点SN建立会话密钥。首先,定义本发明的符号,/>
Figure BDA0003359226890000023
表示攻击者,P和P′表示正在通信的协议双方。Compromised表示被攻击者捕获,Impersonate表示攻击者的仿冒操作。Fresh表示该消息是新鲜的,即未被攻击者篡改。NewSession表示建立会话请求。/>
本发明提供的技术方案如下:
1.修改的安全信道理想功能
Figure BDA0003359226890000024
本发修改文献(Ran Canetti and Hugo Krawczyk.“Universally composablenotions of key exchange and secure channels”.In:Proc.EUROCRYPT.2002:337–351.)中定义的安全信道理想功能
Figure BDA0003359226890000025
增加捕获和仿冒查询,即Compromise和Impersonate,以描述当某一参与者被攻击者/>
Figure BDA0003359226890000026
捕获,攻击者仿冒该参与者与通信的另一方进行通信。本发明定义的安全信道理想功能/>
Figure BDA0003359226890000027
刻画了协议能抵抗反向仿冒攻击(Key CompromiseImpersonation,简称KCI),即假设攻击者/>
Figure BDA0003359226890000028
捕获了某一个协议参与方P′(可能是用户或服务器其中之一),攻击者无法仿冒另一方P与P′通信。本发明修改的安全信道理想功能/>
Figure BDA0003359226890000029
如下:
1.节点捕获(Compromising)
(a).当
Figure BDA00033592268900000210
收到来自/>
Figure BDA00033592268900000211
对参与方P的捕获操作(Compromise,P)时,将P标记为Compromised。
(b).当
Figure BDA00033592268900000212
收到来自/>
Figure BDA00033592268900000213
对某一次会话sid中参与方P的仿冒操作(Impersonate,sid,P,P′)时,如果P被标记为Compromised,且存在被标记为新鲜的,即Fresh的记录<sid,P′,P>,则将该记录标记为Compromised,向/>
Figure BDA00033592268900000214
发送(ImpersonateSucc,sid,P,P′)。
2.消息传输(Message sending)
(a).当
Figure BDA00033592268900000215
收到来自P的新建会话操作(NewSession,sid,P,P′)时,如果这是对<sid,P,P′>的第1个NewSession查询,即不存在参与方P和P′已经建立的会话记录<sid,P,P′>,则记录<sid,P,P′>,并将其做新鲜的Fresh标记,同时将该记录发送给/>
Figure BDA00033592268900000219
(b).当
Figure BDA00033592268900000216
收到来自/>
Figure BDA00033592268900000217
的会话完成操作(Ready,sid,P,P′)时,则执行如下操作:
i.如果存在被标记为Fresh的记录<sid,P,P′>和被标记为Fresh或Ready的记录<sid,P′,P>,则将<sid,P,P′>做会话完成Ready标记,将(Ready,sid,P,P′)发送给P和
Figure BDA00033592268900000218
ii.如果存在被标记为Compromised的记录<sid,P,P′>,则将(Ready,sid,P,P′)发送给P和
Figure BDA0003359226890000031
iii.否则,将P和P′之间标识为sid的会话未完成的记录(NotReady,sid,P,P′)发送给
Figure BDA0003359226890000032
(c).当
Figure BDA0003359226890000033
收到来自p的发送消息m给参与方P操作(Send,sid,P,P′,m)时,如果<sid,P,P′>被标记为Ready,则记录<sid,P,P′,m>,将其做已发送Sent标记,将(Send,sid,P,P′,|m|)发送给/>
Figure BDA0003359226890000034
(d).当
Figure BDA0003359226890000035
收到来自P的发送消息m给参与方P操作(Send,sid,P,P′,m)时,如果<sid,P,P′>被标记为Compromised,则记录<sid,P,P′,m>,将其做已发送Sent标记,将(Send,sid,P,P′,m)发送给/>
Figure BDA0003359226890000036
(e).当
Figure BDA0003359226890000037
收到来自/>
Figure BDA00033592268900000319
的递送操作(Deliver,sid,P,P″,m)时,如果<sid,P′,P>被标记为Ready,且存在被标记为Sent的记录<sid,P′,P>,则将<sid,P,P′,m>做已接收Received标记,将(Received,sid,P,P′,m)发送给P′。/>
(f).当
Figure BDA0003359226890000038
收到来自/>
Figure BDA0003359226890000039
的递送操作(Deliver,sid,P,P′,m)时,如果存在被标记为Compromised的记录<sid,P′,P>,则将(Received,sid,P,P′,m)发送给P′。
(g).当
Figure BDA00033592268900000310
收到来自参与方P的过期操作(Expire,sid,P,P′)时:如果<sid,P,P′>被标记为Ready,则将其做已过期Expired标记;如果<sid,P,P′>被标记为Compromised,则将其做被捕获且过期ComExpired标记。
2.增强的非对称口令认证协议理想功能
Figure BDA00033592268900000311
本发明修改了文献(Ran Canetti,Shai Halevi,Jonathan Katz et al.“Universally composable password-based key exchange”.In:Proc.EUROCRYPT.2005:404–421.)中定义的增强的非对称口令认证协议理想功能
Figure BDA00033592268900000312
增加抵抗预计算攻击的能力,即确保攻击者在获取口令文件之前无法预先计算口令验证项。增强的非对称口令认证协议理想功能/>
Figure BDA00033592268900000313
的执行过程如下:
1.用户注册过程(Password registration)
(a).当
Figure BDA00033592268900000314
收到来自用户U的注册请求(Register,U,S,pw),如果这是第1个对<U,S>的注册Register查询,即不存在<Register,U,S,·>记录,则记录<Register,U,S,pw>,并将其标记为Uncompromised。
2.窃取口令文件过程(Stealing passwordfile)
(a).当
Figure BDA00033592268900000315
收到来自/>
Figure BDA00033592268900000316
的窃取U存储在S上的口令文件操作(StealPWFile,U,S)时,如果存在U,S的注册记录,则将其做被窃取Stolen标记,同时将文件已被窃取的记录(Stolen,U,S)发送给攻击者/>
Figure BDA00033592268900000317
反之,将没有口令文件的记录(NoFile,U,S)发送给/>
Figure BDA00033592268900000318
(b).当
Figure BDA0003359226890000041
收到来自/>
Figure BDA0003359226890000042
离线猜测攻击(OfflineTest,U,S,pw′)时,如果存在被标记为Stolen的记录<Register,U,S,pw>,则执行如下操作:如果猜测的口令pw′等于存储的口令pw,即pw=pw′,则将该记录标记为被捕获Compromised,将离线猜测成功(OfflineSucc,U,S,pw′)发送给/>
Figure BDA0003359226890000043
反之,将离线猜测失败(OfflineFail,U,S,pw′)发送给
Figure BDA0003359226890000044
3.会话创建过程(New Sessions)
(a).当
Figure BDA0003359226890000045
收到来自U的新建会话操作(NewSession,sid,U,S,pw′)时,如果这是对<sid,U,S>的第1个NewSession查询,则增加记录<sid,U,S,pw′>,将其做新鲜的Fresh标记,并向/>
Figure BDA0003359226890000046
发送U和S新建会话(NewSession,sid,U,S)。
(b).当
Figure BDA0003359226890000047
收到来自S的新建会话操作(NewSession,sid,S,U)时,如果存在<Register,U,S,pw>记录,且该查询是对<sid,S,U>的第1个NewSession查询,则记录<sid,S,U,pw>,并将其做新鲜的Fresh标记,向/>
Figure BDA00033592268900000419
发送S和U新建会话(NewSession,sid,S,U)。
4.主动攻击过程(Active attacks)
(a).当
Figure BDA0003359226890000048
收到来自攻击者/>
Figure BDA0003359226890000049
的在线猜测攻击(OnlineTest,sid,P,P′,pw″)时,如果存在被标记为Fresh的记录<sid,P′,P,pw′>,则执行:如果猜测的口令等于存储的口令,即pw″=pw′,则将该记录标记为被捕获Compromised,同时向/>
Figure BDA00033592268900000410
发送在线猜测成功(OnlineSucc,sid,P,P′,pw″);否则将该记录标记为被中断Interrupted,将在线猜测失败(OnlineFail,sid,P,P′,pw″)发送给/>
Figure BDA00033592268900000411
/>
(b).当
Figure BDA00033592268900000412
收到来自/>
Figure BDA00033592268900000413
的仿冒操作(Impersonate,sid,S,U)时,如果存在被标记为Fresh的记录<sid,U,S,pw′>和被标记为Stolen的记录<Register,U,S,pw>,则执行如下操作:
i.如果pw=pw′,则将记录<sid,U,S,pw′>做被捕获Compromised标记,同时将仿冒成功(ImpersonateSucc,sid,S,U)发送给攻击者
Figure BDA00033592268900000414
ii.如果pw≠pw′,则将记录<sid,U,S,pw′>做被中断Interrupted记录,同时将仿冒失败(ImpersonateFail,sid,S,U)发送给攻击者
Figure BDA00033592268900000415
5.消息传送过程(Message sending)
(a).当
Figure BDA00033592268900000416
收到来自/>
Figure BDA00033592268900000417
的会话完成操作(Ready,sid,P,P′)时,理想功能将执行如下操作:
i.如果存在被标记为Fresh的记录<sid,P,P′,pw′>和被标记为Fresh或Ready的记录<sid,P′,P,pw″>,则执行:如果pw′=pw″,将<sid,P,P′,pw′>标记为Ready,将会话完成(Ready,sid,P,P′)发送给P和
Figure BDA00033592268900000418
否则,将<sid,P,P′,pw′>标记为Interrupted,将会话被中断(Interrupted,sid,P,P′)发送给P和/>
Figure BDA0003359226890000051
ii.如果存在被标记为Compromised的记录〈sid,P,P′,pw′〉,则将会话完成(Ready,sid,P,P′)发送给P和
Figure BDA0003359226890000052
iii.否则,将(NotReady,sid,P,P′)发送给
Figure BDA0003359226890000053
(b).当
Figure BDA0003359226890000054
收到来自参与方P的发送消息(Send,sid,P,P′,m)操作,如果存在被标记为Ready的记录<sid,P,P′,pw′>,则增加消息m的记录〈sid,P,P′,m〉,并将其做已发送Sent标记,向攻击者/>
Figure BDA0003359226890000055
发送(Send,sid,P,P′,|m|)。
(c).当
Figure BDA0003359226890000056
收到来自P的发送消息(Send,sid,P,P′,m)操作,如果存在被标记为Compromised的记录<sid,P,P′,pw′>,则增加记录<sid,P,P′,m>,并将其做已发送Sent标记,向/>
Figure BDA0003359226890000057
发送(Send,sid,P,P′,m)。
(d).当
Figure BDA0003359226890000058
收到来自/>
Figure BDA0003359226890000059
的递送操作(Deliver,sid,P,P′)时,则执行:如果存在Ready的记录<sid,P′,P,pw″>和被标记为Sent的记录<sid,P,P′,m〉,则将〈sid,P,P′,m〉标记为已接收Received,将(Received,sid,P,P′,m)发送给P′。
(e).当
Figure BDA00033592268900000510
收到来自/>
Figure BDA00033592268900000511
的递送操作(Deliver,sid,P,P′,m)时,如果存在被标记为Compromised的记录〈sid,P′,P,pw″〉,则将(Received,sid,P,P′,m)发送给P′。
(f).当
Figure BDA00033592268900000512
收到来自参与方P的过期操作(Expire,sid,P,P′)时,如果存在被标记为Ready的记录<sid,P,P′,pw′>,则将其做已过期Expired标记。
(g).当
Figure BDA00033592268900000513
收到来自P的过期操作(Expire,sid,P,P′)时,如果存在被标记为Compro mised的记录<sid,P,P′,pw′>,则将其标记为被捕获且过期ComExpired。
3.三方口令认证密钥交换协议(3-PAKE)
本发明提出的三方口令认证密钥交换协议框架采用模块化设计思想,将增强的非对称口令认证密钥交换协议的理想功能
Figure BDA00033592268900000514
和安全信道的理想功能/>
Figure BDA00033592268900000515
作为子模块构造安全的三方密钥交换协议。具体构造过程如下:
1.用户注册过程(Registration)
(a).当理想功能
Figure BDA00033592268900000516
收到注册请求(Register,U,S,pw),用户U将(Register,U,S,pw)发送给/>
Figure BDA00033592268900000517
2.密钥交换过程(Key exchange)
(a).当
Figure BDA00033592268900000518
收到新建会话请求(NewSession,sid,U,S,SN,pw′),U将(NewSession,sid,U,S,pw′)发送给/>
Figure BDA00033592268900000519
Figure BDA00033592268900000520
收到来自/>
Figure BDA00033592268900000521
的响应(Ready,sid,U,S),U发送消息<U,S,SN>给
Figure BDA00033592268900000522
即(Send,sid,U,S,<U,S,SN>)给/>
Figure BDA00033592268900000523
Figure BDA0003359226890000061
收到来自/>
Figure BDA0003359226890000062
的响应(Received,sid,S,U,SK),U发送会话完成通知(Expire,sid,S,U)给/>
Figure BDA0003359226890000063
并输出会话密钥(sid,U,S,SN,SK)。
(b).当
Figure BDA0003359226890000064
收到新建会话请求(NewSession,sid,S,U,SN),服务器S选择会话密钥SK←${0,1}k(SK为随机选择,域值空间由安全参数k决定),将新建会话请求(NewSession,sid,S,U)发送给/>
Figure BDA0003359226890000065
Figure BDA0003359226890000066
收到来自/>
Figure BDA0003359226890000067
的响应(Ready,sid,S,U),服务器S置为等待状态。
Figure BDA0003359226890000068
收到来自/>
Figure BDA0003359226890000069
的响应(Received,sid,U,S,<U,S,SN>),S发送新建会话请求(NewSession,sid,S,SN)给/>
Figure BDA00033592268900000610
Figure BDA00033592268900000611
收到来自/>
Figure BDA00033592268900000612
的响应(Ready,sid,S,SN),S将消息(Send,sid,S,SN,<U,S,SN,SK>)和S与SN会话完成通知(Expire,sid,S,SN)发送给/>
Figure BDA00033592268900000613
将会话密钥(Send,sid,S,U,SK)和S与U会话完成通知(Expire,sid,S,U)发送给/>
Figure BDA00033592268900000614
(c).当
Figure BDA00033592268900000615
收到新建会话请求(NewSession,sid,SN,S,U),服务节点SN发送新建会话请求(NewSession,sid,SN,S)给/>
Figure BDA00033592268900000616
Figure BDA00033592268900000617
收到来自/>
Figure BDA00033592268900000618
的响应(Ready,sid,S,SN),SN置为等待状态。
Figure BDA00033592268900000619
收到来自/>
Figure BDA00033592268900000620
的响应(Received,sid,S,SN,<U,S,SN,SK>),SN发送会话完成(Expire,sid,SK,S)给/>
Figure BDA00033592268900000621
并输出会话密钥(sid,SK,S,U,SK)。
本发明的有益效果是:
本发明提供一种通用的三方认证密钥交换方法。该方法可以将任意安全的两方认证密钥交换协议转换为新型网络环境下安全的三方认证密钥交换协议。本发明可以兼容无线传感器网络、物联网、智能电网、智能家居等多种网络环境,支持运算性能较低的传感器节点等参与认证。利用本发明提供的技术方案,在新的网络应用出现时,当网络结构不发生变化时,协议设计者无需设计新协议,可以充分利用之前设计的协议。
附图说明
图1是本发明的通用三方口令认证密钥交换协议框架图。
具体实施方式
下面结合附图,通过实施例进一步描述本发明,但不以任何方式限制本发明的范围。利用本发明提供通用转化方法,可以将任意安全的两方认证密钥交换协议(2-SaPAKE和2-AKE)转换为三方认证密钥交换协议。
本发明的用户身份认证过程主要包括用户注册和认证阶段。协议包括三个参与方,分别是多个用户U、一个认证服务器S和多个远程服务节点SN。对于双因素版本,还包括设备D。图1所示是本发明的身份认证协议的基本架构。其中的AKE协议以HMQV协议为例对本发明进行说明。协议初始化时,应为服务器S设置私钥skS、公钥pkS,以及身份标识S。为各远程服务器节点SN设置私钥skSN和公钥pkSN,以及身份标识SN。允许SN已知服务器身份标识和服务器公钥(S,pkS)。采用哈希函数h1、h2、h3、h4、h5对各参数进行哈希操作。
注册阶段
1.用户U选择口令pw,从整数模q1集合构成包含q1个元素的有限加法群
Figure BDA0003359226890000071
中选择随机数r,从有限加法群/>
Figure BDA0003359226890000072
(/>
Figure BDA0003359226890000073
的生成元为g2)中选择用户私钥skU,用户将口令pw做指数和哈希操作得到参数α←h1(pw)r,同时根据私钥计算公钥/>
Figure BDA0003359226890000074
2.用户U将消息<U,α,pkU>通过安全信道发送给服务器S;
3.服务器S接收到来自用户U的<U,α,pkU>消息后,选择随机数
Figure BDA0003359226890000075
计算参数/>
Figure BDA0003359226890000076
4.服务器S将消息<β,pkS>通过安全信道发送给U;
5.用户U收到来自服务器S的消息后,采用第一步选择的随机数,计算
Figure BDA0003359226890000077
获得
Figure BDA0003359226890000078
将口令pw和/>
Figure BDA0003359226890000079
做连接操作,并计算哈希值,得到/>
Figure BDA00033592268900000710
作为用户U的随机密钥,接下来用随机密钥rw加密用户私钥和服务器公钥(skU,pkS)得到密文cU←Encrw(skU,pkS);
6.用户U将<cU>通过安全信道发送给服务器S。
7.服务器S存储<U,lU,cU,pkU>;
认证和密钥交换阶段
当用户想访问远程服务节点的资源时,执行以下操作:
1.用户U选择随机数
Figure BDA00033592268900000711
Figure BDA00033592268900000712
计算参数/>
Figure BDA00033592268900000713
和参数
Figure BDA00033592268900000714
2.用户U选择想要访问的远程服务节点SN,将消息<U,SN,X,α1>发送给服务器S;
3.服务器S接收到消息后,选择随机数
Figure BDA00033592268900000715
计算参数/>
Figure BDA00033592268900000716
4.服务器S将消息<U,S,Y2>发送给远程服务节点SN;
5.服务节点SN接收到消息后,选择随机数
Figure BDA0003359226890000081
计算参数/>
Figure BDA0003359226890000082
选用任意高效的两方认证密钥交换协议计算用于验证的会话密钥,此处以标准化的HMQV协议为例进行说明,服务节点计算会话密钥SK2←HMQV(SN,S,skSN,pkS,z,Y2)和用于通信的会话密钥SK←h5(U,S,SN,SK2);
6.服务节点SN将消息<Z>发送给服务器S;
7.服务器S接收到消息后,计算参数
Figure BDA0003359226890000083
计算用于验证服务器和服务节点之间的安全连接的会话密钥SK2←HMQV(S,SN,skS,pkSN,y2,Z),同时计算用于验证服务器和用户之间安全连接的会话密钥SK1←HMQV(S,U,skS,pkU,y1,X)和用于三方通信的会话密钥SK←h5(U,S,SN,SK2),用SK1加密服务节点的身份标识SN和会话密钥SK得到密文
Figure BDA0003359226890000084
8.服务器S将消息<β1,Y1,cU,C>发送给用户U;
9.用户U接收到消息后,计算随机密钥
Figure BDA0003359226890000085
解密获得用户私钥和服务器公钥skU,pkS←Decrw(cU),计算用于验证服务器和用户之间安全连接的会话密钥SK1←HMQV(U,S,skU,pkS,x,Y1),用计算的SK1解密获得服务节点的身份标识和用于三方通信的会话密钥/>
Figure BDA0003359226890000086
判定SN′≠SN是否满足,如果满足,则终止协议;反之,用户U和服务器节点SN在服务器S的帮助下建立了会话密钥SK。
双因素版本
对于安全性要求较高的应用,可以将该协议扩展为双因素协议。对于双因素协议,增加设备D,仅需要将注册阶段第6步“用户U将<cU>通过安全信道发送给服务器S。”改为“用户U将<U,S,cU>发送给设备D”,设备D存储<U,S,cU>。同时,在认证和密钥交换阶段第2步“用户U将消息<U,SN,X,α>发送给服务器S;”后,增加用户U将消息<U,S>发送给设备D。在第8步中“服务器S将消息<β1,Y1,cU,C>发送给用户U;”改成“服务器S将消息<β1,Y1,C>发送给用户U,同时,设备D将消息cU发送给用户U”。如此,便可实现双因素版本的三方口令认证密钥交换协议。当口令或设备任意一方被攻击者捕获时,都能保证攻击者无法登录系统,即实现了多因素安全性。
需要注意的是,公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附权利要求的精神和范围内,各种替换和修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。

Claims (6)

1.一种通用的三方口令认证密钥交换方法,其特征在于,包括
注册阶段
11)用户U选择口令pw,从整数模q1集合构成的包含q1个元素的有限加法群
Figure FDA0003359226880000011
中选择随机数r,从有限加法群/>
Figure FDA0003359226880000012
中选择用户私钥skU,根据口令pw和随机数r生成参数α、根据私钥skU生成公钥pkU
12)用户U将消息<U,α,pkU>通过安全信道发送给服务器S;
13)服务器S接收到来自用户U的消息<U,α,pkU>后,从有限加法群
Figure FDA0003359226880000013
中选择随机数lU,计算参数/>
Figure FDA0003359226880000014
14)服务器S将消息<β,pkS>通过安全信道发送给用户U;
15)用户U根据来自服务器S的消息<β,pkS>,利用步骤11)中生成的随机数计算
Figure FDA0003359226880000015
生成用户U的随机密钥rw,然后利用随机密钥rw加密用户私钥skU和服务器公钥pkS,得到密文cU
16)用户U将<cU>通过安全信道发送给服务器S;服务器S存储<U,lU,cU,pkU>;
认证和密钥交换阶段
21)当用户U访问远程服务节点SN上的资源时,用户U首先从有限加法群
Figure FDA0003359226880000016
中选择随机数r1,根据口令pw和随机数r1生成参数α1,从有限加法群/>
Figure FDA0003359226880000017
中选择x并计算参数/>
Figure FDA0003359226880000018
g2为/>
Figure FDA0003359226880000019
的生成元;
22)用户U将消息<U,SN,X,α1>发送给服务器S;
23)服务器S接收到消息<U,SN,X,α1>后,从有限加法群
Figure FDA00033592268800000110
中选择随机数y1,y2,并计算参数/>
Figure FDA00033592268800000111
24)服务器S将消息<U,S,Y2>发送给远程服务节点SN;
25)远程服务节点SN接收到消息<U,S,Y2>后,从有限加法群
Figure FDA00033592268800000112
中选择随机数
Figure FDA00033592268800000113
计算参数/>
Figure FDA00033592268800000114
然后通过两方认证密钥交换协议计算用于验证的会话密钥SK2和用于通信的会话密钥SK;
26)远程服务节点SN将消息<Z>发送给服务器S;
27)服务器S接收到消息<Z>后,从有限加法群
Figure FDA00033592268800000115
中选择随机数/>
Figure FDA00033592268800000116
计算参数
Figure FDA00033592268800000117
以及计算用于验证服务器S和远程服务节点SN之间安全连接的会话密钥SK2、用于验证服务器S和用户U之间安全连接的会话密钥SK1和用于三方通信的会话密钥SK,用Sk1加密远程服务节点的身份标识SN和会话密钥SK得到密文C;
28)服务器S将消息<β1,Y1,cU,C>发送给用户U;
29)用户U接收到消息<β1,Y1,cU,C>后,利用随机密钥rw对消息<β1,Y1,cU,C>中cU进行解密获得用户私钥skU和服务器公钥pkS,计算用于验证服务器和用户之间安全连接的会话密钥SK1,用所得SK1解密获得远程服务节点的身份标识SN′和用于三方通信的会话密钥SK,如果SN′≠SN则终止会话;如果SN′=SN,则服务器S为用户U和远程服务器节点SN建立会话密钥SK。
2.如权利要求1所述的方法,其特征在于,注册阶段,用户将口令pw做指数和哈希操作得到参数α←h1(pw)r,根据私钥skU计算公钥
Figure FDA0003359226880000021
3.如权利要求1所述的方法,其特征在于,注册阶段,将用户口令pw和
Figure FDA0003359226880000022
做连接操作并计算哈希值,得到用户U的随机密钥rw。
4.如权利要求1所述的方法,其特征在于,利用HMQV协议计算会话密钥SK2和用于通信的会话密钥SK。
5.一种双因素三方口令认证密钥交换方法,其特征在于,包括
注册阶段
11)用户U选择口令pw,从有限加法群
Figure FDA0003359226880000023
中选择随机数r,从有限加法群/>
Figure FDA0003359226880000024
中选择用户私钥skU,根据口令pw和随机数r生成参数α、根据私钥skU生成公钥pkU
12)用户U将消息<U,α,pkU>通过安全信道发送给服务器S;
13)服务器S接收到来自用户U的消息<U,α,pkU>后,从有限加法群
Figure FDA0003359226880000025
中选择随机数lU,计算参数/>
Figure FDA0003359226880000026
14)服务器S将消息<β,pkS>通过安全信道发送给用户U;
15)用户U根据来自服务器S的消息<β,pkS>计算
Figure FDA0003359226880000027
生成用户U的随机密钥rw,然后利用随机密钥rw加密用户私钥skU和服务器公钥pkS,得到密文cU
16)用户U将<U,S,cU>发送给设备D;设备D存储<U,S,cU>;
认证和密钥交换阶段
21)当用户U访问远程服务节点SN上的资源时,用户U首先从有限加法群
Figure FDA0003359226880000028
中选择随机数r1,根据口令pw和随机数r1生成参数α1,从有限加法群/>
Figure FDA0003359226880000029
中选择x并计算得到/>
Figure FDA0003359226880000031
g2为/>
Figure FDA0003359226880000032
的生成元;
22)用户U将消息<U,SN,X,α1>发送给服务器S,将消息<U,S>发送给设备D;
23)服务器S接收到消息<U,SN,X,α1>后,从有限加法群
Figure FDA0003359226880000033
中选择随机数y1,y2,并计算参数/>
Figure FDA0003359226880000034
24)服务器S将消息<U,S,Y2>发送给远程服务节点SN;
25)远程服务节点SN接收到消息<U,S,Y2>后,从有限加法群
Figure FDA0003359226880000035
中选择随机数
Figure FDA0003359226880000036
计算参数/>
Figure FDA0003359226880000037
然后通过两方认证密钥交换协议计算用于验证的会话密钥SK2和用于通信的会话密钥SK;
26)远程服务节点SN将消息<Z>发送给服务器S;
27)服务器S接收到消息<Z>后,从有限加法群
Figure FDA0003359226880000038
中选择随机数/>
Figure FDA0003359226880000039
计算参数
Figure FDA00033592268800000310
以及计算用于验证服务器S和远程服务节点SN之间安全连接的会话密钥SK2、用于验证服务器S和用户U之间安全连接的会话密钥SK1和用于三方通信的会话密钥SK,用Sk1加密远程服务节点的身份标识SN和会话密钥SK得到密文C;
28)服务器S将消息<β1,Y1,C>发送给用户U,设备D将消息<cU>发送给用户U;
29)用户U接收到消息<β1,Y1,cU,C>后,利用随机密钥rw对消息<β1,Y1,cU,C>中cU进行解密获得用户私钥skU和服务器公钥pkS,计算用于验证服务器和用户之间安全连接的会话密钥SK1,用所得SK1解密获得远程服务节点的身份标识SN′和用于三方通信的会话密钥SK,如果SN′≠SN则终止会话;如果SN′=SN,则服务器S为用户U和远程服务器节点SN建立会话密钥SK。
6.一种通用的三方口令认证密钥交换方法,其特征在于,包括
注册阶段
当理想功能
Figure FDA00033592268800000311
收到注册请求(Register,U,S,pw),用户U将(Register,U,S,pw)发送给/>
Figure FDA00033592268800000312
Figure FDA00033592268800000313
根据收到的用户U的注册请求(Register,U,S,pw),生成记录<Register,U,S,pw>,并将其标记为Uncompromised;其中,/>
Figure FDA00033592268800000314
为理想功能,由非对称口令认证密钥交换协议的理想功能/>
Figure FDA00033592268800000315
和安全信道的理想功能/>
Figure FDA00033592268800000316
交互构成;S为服务器标识,pw为口令;
认证和密钥交换阶段
(a).当
Figure FDA00033592268800000317
收到新建会话请求(NewSession,sid,U,S,SN,pw′),U将(NewSession,sid,U,S,pw′)发送给/>
Figure FDA0003359226880000041
Figure FDA0003359226880000042
根据用户U发送的会话建立请求(NewSession,sid,U,S,pw′)生成响应(Ready,sid,U,S);
Figure FDA0003359226880000043
收到来自/>
Figure FDA0003359226880000044
的响应(Ready,sid,U,S),U发送(Send,sid,U,S,<U,S,SN>)给/>
Figure FDA0003359226880000045
Figure FDA0003359226880000046
收到来自/>
Figure FDA0003359226880000047
的响应(Received,sid,S,U,SK),U发送(Expire,sid,S,U)给/>
Figure FDA0003359226880000048
并输出(sid,U,S,SN,SK);
其中SN为用户U访问远程服务节点,SK为会话密钥,pw′为猜测的口令;
(b).当
Figure FDA0003359226880000049
收到新建会话请求(NewSession,sid,S,U,SN),服务器S选择会话密钥
Figure FDA00033592268800000410
Figure FDA00033592268800000411
将(NewSession,sid,S,U)发送给/>
Figure FDA00033592268800000412
Figure FDA00033592268800000413
收到来自/>
Figure FDA00033592268800000414
的响应(Ready,sid,S,U),将服务器S置为等待状态;
Figure FDA00033592268800000415
收到来自/>
Figure FDA00033592268800000416
的响应(Received,sid,U,S,<U,S,SN>),S发送(NewSession,sid,S,SN)给/>
Figure FDA00033592268800000417
Figure FDA00033592268800000418
收到来自/>
Figure FDA00033592268800000419
的响应(Ready,sid,S,SN),S将(Send,sid,S,SN,<U,S,SN,SK))和(Expire,sid,S,SN)发送给/>
Figure FDA00033592268800000420
将(Send,sid,S,U,SK)和(Expire,sid,S,U)发送给
Figure FDA00033592268800000421
(c).当
Figure FDA00033592268800000422
收到新建会话请求(NewSession,sid,SN,S,U),服务节点SN发送(NewSession,sid,SN,S)给/>
Figure FDA00033592268800000423
Figure FDA00033592268800000424
收到来自/>
Figure FDA00033592268800000425
的响应(Ready,sid,S,SN),将SN置为等待状态;
Figure FDA00033592268800000426
收到来自/>
Figure FDA00033592268800000427
的响应(Received,sid,S,SN,<U,S,SN,SK>),SN发送(Expire,sid,SN,S)给/>
Figure FDA00033592268800000428
并输出(sid,SN,S,U,SK)。/>
CN202111360908.XA 2021-11-17 2021-11-17 一种通用的三方口令认证密钥交换方法 Pending CN116137710A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111360908.XA CN116137710A (zh) 2021-11-17 2021-11-17 一种通用的三方口令认证密钥交换方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111360908.XA CN116137710A (zh) 2021-11-17 2021-11-17 一种通用的三方口令认证密钥交换方法

Publications (1)

Publication Number Publication Date
CN116137710A true CN116137710A (zh) 2023-05-19

Family

ID=86326772

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111360908.XA Pending CN116137710A (zh) 2021-11-17 2021-11-17 一种通用的三方口令认证密钥交换方法

Country Status (1)

Country Link
CN (1) CN116137710A (zh)

Similar Documents

Publication Publication Date Title
CN108111301B (zh) 基于后量子密钥交换实现ssh协议的方法及其系统
Tsai et al. A privacy-aware authentication scheme for distributed mobile cloud computing services
Agrawal et al. PASTA: password-based threshold authentication
Li et al. Group-based authentication and key agreement with dynamic policy updating for MTC in LTE-A networks
KR101486782B1 (ko) 무한 중첩된 해시 체인들에 의한 1회용 패스워드 인증
EP2635993B1 (en) Registration server, gateway apparatus and method for providing a secret value to devices
US7055170B1 (en) Security mechanism and architecture for collaborative software systems using tuple space
US20180262352A1 (en) Secure Authentication of Remote Equipment
Yuan et al. EIMAKP: Heterogeneous cross-domain authenticated key agreement protocols in the EIM system
Chen et al. Cross-domain password-based authenticated key exchange revisited
CN109995739A (zh) 一种信息传输方法、客户端、服务器及存储介质
CN116318678A (zh) 一种多因子物联网终端动态群组接入认证方法
CN112769568A (zh) 雾计算环境中的安全认证通信系统、方法、物联网设备
CN116527279A (zh) 工控网络中安全数据聚合的可验证联邦学习装置及方法
JP2024501728A (ja) ブロックチェーンベースのsdpアクセス制御方法及びシステム
CN107104888B (zh) 一种安全的即时通信方法
Xiong et al. Privacy-preserving authentication scheme with revocability for multi-WSN in industrial IoT
CN106487502B (zh) 一种基于口令的轻量级密钥协商方法
JP4924943B2 (ja) 認証付鍵交換システム、認証付鍵交換方法およびプログラム
Zhu A provable privacy-protection system for multi-server environment
CN112468983B (zh) 一种低功耗的电力物联网智能设备接入认证方法及其辅助装置
CN213938340U (zh) 5g应用接入认证网络架构
CN114386020A (zh) 基于量子安全的快速二次身份认证方法及系统
CN116137710A (zh) 一种通用的三方口令认证密钥交换方法
JP4677784B2 (ja) 集合型宅内ネットワークにおける認証方法及びシステム

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