一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于门限的动态多因素身份认证方法和通信方法与流程

2022-02-20 00:51:52 来源:中国专利 TAG:


1.本发明属于信息安全技术领域,涉及一种动态的、实用的用户身份认证方法,尤其涉及一种基于门限的动态多因素身份认证协议设计和实现方法。


背景技术:

2.近年来,多因素认证(multi-factor authentication,mfa)逐渐深入人们的生产生活中。如基于银行卡和pin码的认证方式、基于口令和短信验证码的认证、基于生物特征和电子护照的认证等。用户的认证因素通常分为三类:用户所知(如口令、pin码等)、用户所有(如智能卡、智能手机等)、用户所是(如声音、指纹等),多因素认证方式即是将其中的多个因素相结合。与基于单一因素的认证方式不同,多因素认证要求用户认证时出示t个指定因素,攻击者只有在同时获得t个因素的情况下才能仿冒用户,增强了认证的安全性。
3.然而,现有的多因素认证方式均要求用户出示t个固定因素。例如google authenticator要求同时提供口令和pin码。jarecki等人在文献1(jarecki s,krawczyk h,shirvanian m,et al.two-factor authentication with end-to-end password security[j].iacr international workshop on public key cryptography,2018.431-461.)中提出的optfa协议要求用户认证时同时提供口令和智能手机。far等人在文献2(far h,bayat m,das a k,et al.laptas:lightweight anonymous privacy-preserving three-factor authentication scheme for wsn-based iiot[j].wireless networks,2021,27(4):1-24.)中提出的laptas协议要求同时提供口令、智能卡和生物特征。由于“静态”多因素认证方式要求用户随时随地携带t个因素,限制了用户使用因素的灵活性。
[0004]
同时,t个固定因素也限制了多因素认证的安全性。一般来说,认证因素越多(如t=5),认证系统所能提供的安全性越高,而我们难以要求用户同时携带更多的认证因素维持安全性。例如,现实生活中通常采用双因素认证或三因素认证,其安全性远不如五因素认证,但要求用户同时携带5个认证因素不具备可行性。
[0005]
调查发现,用户在家庭中或工作场所中拥有多个电子设备已成为常态。例如家庭中的智能音箱、工作场所中的内网服务器,而出行时便于携带的智能手机、智能手表、平板电脑也为较多用户所拥有。甚至不常用的旧手机也可以用作备用认证因素。目前尚未有研究考虑动态的多因素身份认证。


技术实现要素:

[0006]
本发明提供一种通用的动态多因素用户身份认证方法和通信方法,允许用户通过口令、多个可选设备、生物特征进行身份认证,支持用户根据需求从n个认证因素中自主选择t个因素进行认证。利用基于门限的不经意伪随机函数(threshold oblivious pseudorandom function,toprf)和认证密钥交换协议(authenticated key-exchange,ake)构造门限多因素认证协议框架(threshold multi-factor authentication,tmfa)。本发明的主要思想是使用除口令外其他t-1个因素中的任意一个,通过修改的toprf协议将口
令增强为随机密钥,使用该随机密钥运行ake协议进行身份认证。除口令外,其他因素都对应toprf中的一个密钥。设备因素的密钥存储在本地,生物因素通过模糊提取技术将用户生物特征提取成密钥,以防止服务器存储文件泄漏时发生生物因素泄漏。toprf保证了动态多因素认证协议中因素对服务器的不可见性,即服务器并未获知用户注册了哪些因素进行身份认证。进一步保证了即使服务器被攻击者捕获,用户的认证因素仍然安全。再者,利用门限方案的刷新机制,tmfa协议能实现远程撤销故障设备的功能。本发明提高了多因素协议的安全性,有效实现了多因素身份认证中用户使用因素的灵活性。
[0007]
本发明提供的技术方案如下:
[0008]
一、m-toprf协议
[0009]
由于口令无需携带,且不会丢失,本发明要求口令作为必选因素。故本发明对toprf协议做出相应修改,得到m-toprf协议。具体来说,toprf允许服务器和客户端通过该协议运行伪随机函数(pseudorandom function,prf),其中,服务器拥有密钥s,客户端输入x。协议运行后,客户端得到伪随机函数值fs(x),但客户端不知道关于密钥s的任何信息,同时服务器不知道关于输入x的任何信息。对于toprf,密钥s由多个服务器分享,即s被划分为n个影子可以防止某一台服务器被攻击导致密钥泄漏。其中,典型的(t,n)toprf协议里存在n台服务器分割共享密钥s,认证过程要求至少t台服务器同时运行toprf协议以恢复出密钥s。当不超过t台服务器被攻击时,攻击者无法离线获得正确的输出fs(x)。
[0010]
m-toprf要求从n个实体中固定一个实体。即m-toprf中存在1台主服务器,和n-1台其他服务器,与1个客户端运行协议。其中,1台主服务器分享一半密钥,其他n-1台服务器分享另一半密钥。这一改变可通过访问结构(access structure)实现,访问结构可以设置各实体的组合来构造m-toprf。简言之,主服务器持有一半密钥,其余各服务器分别持有另一半密钥的如此一来,可以使用(2,2)秘密共享和(t-1,n-1)秘密共享构造m-toprf。其中,m-toprf的密钥s被(2,2)秘密共享划分为s1,s2两部分,s2被(t-1,n-1)秘密共享划分为主服务器持有s1,其余各服务器分别持有s
2i
。为构造秘密s,需要s1和t-1个共享的共同参与重构。这里,以客户端输入口令为例对m-toprf协议进行描述:
[0011]
初始化阶段
[0012]
1.客户端c随机生成密钥s,以及s的影子s1和s2,满足s=s1 s2。客户端c发送s1给主服务器s1。然后,客户端c通过(t-1,n-1)秘密共享生成s2的影子s
2i
,并分别将s
2i
发送给n-1台s2服务器。各服务器存储各自的影子。
[0013]
认证阶段
[0014]
1.用户在客户端c上输入口令pw选择随机数r,计算α

h(pw)r。其中,左箭头表示赋值,h()表示哈希函数。客户端c将α分别发送给s1和t-1台s2服务器。客户端c从n-1台其他服务器里选择t-1台服务器,记这些服务器中第i台服务器的索引值为i,索引集合为i,即t-1台服务器分别为
[0015]
2.各服务器接收到来自客户端c的消息后,s1计算各算算s1将发送给客户端c。各将发送给客户端c。
[0016]
3.客户端c接收到来自各服务器的消息后,计算其中,λi表示i在i中的拉格朗日插值系数。
[0017]
注意,此处客户端上的输入可以不止是用户口令,也可以是其他任意值。
[0018]
二、tmfa基本原理
[0019]
tmfa协议建立在m-toprf和ake协议之上。tmfa里存在1个服务器(对应m-toprf中的主服务器),用于处理用户口令,及实现认证。同时还包括1个客户端,方便用户输入,以及其他n-1个因素,一般为设备(对应m-toprf中的其他n-1个服务器),如智能手机、智能手表等。这n-1中也可以包括生物因素,通过模糊验证技术进行提取。tmfa协议工作原理如下:
[0020]
(1)用户在客户端输入口令pw运行m-toprf协议,通过服务器和任意t-1台设备将用户口令pw增强为随机密钥rw。
[0021]
(2)用户使用rw解密设备中存储的密文c(该密文为注册阶段用户和服务器协商生成,并存储在设备中),获得ake协议的用户私钥ku和服务器公钥ks。
[0022]
(3)用户使用密钥ku和ks与服务器运行ake协议,输出ake协议的会话密钥。
[0023]
本发明的有益效果是:
[0024]
本发明提供一种基于门限的动态多因素身份认证协议的设计方法和多因素身份认证。该方法具有通用性,支持任意设备。利用本发明提供的技术方案,可以实现用户从n个认证因素中自主选择t个(每次可不同)因素进行认证,既提高了多因素协议的安全性,又具备更高的用户友好性。实现了动态多因素身份认证。
附图说明
[0025]
图1是本发明的动态多因素认证协议的架构图。
具体实施方式
[0026]
下面结合附图,通过实施例进一步描述本发明,但不以任何方式限制本发明的范围。
[0027]
利用本发明提供方法设计的基于口令、多设备、生物特征进行的动态多因素用户身份认证,提高了现有密钥交换协议的安全性,支持用户根据需求随机从n个因素中自主选择t个认证因素进行认证,同时具备前向安全性、用户友好性等基本安全属性。实现了安全高效的动态多因素认证。
[0028]
本发明的用户身份认证过程包括初始化阶段、用户注册和认证阶段。图1所示是本发明的身份认证协议的基本架构。其中的ake协议以hmqv协议为例对本发明进行说明。注意,文中的左箭头(即

)表示赋值,$表示随机选取。初始化阶段是在安全信道上,认证和密钥交换是在公开信道(不安全)上;初始化阶段只需要执行一次,必须先完成初始化,才能执行认证阶段。认证阶段可以多次执行。
[0029]
系统参数
[0030]
本阶段在用户初始化之前,完成系统参数定义。
[0031]
1.g1、g2是循环群,g1、g2分别为循环群g1、g2的生成元,g1、g2的阶分别为m1、m2;
[0032]
2.h1、h
′1、h2和h
′2表示哈希函数,值域分别为{0,1}
l
、和{0,1}
l
。其中,l表示会话密钥的长度。
[0033]
3.加密协议(enc,dec)。
[0034]
初始化阶段
[0035]
2.客户端c生成密钥s,以及s的影子sd和ss,满足s=sd ss。客户端c发送ss给服务器s。然后,客户端c通过(t-1,n-1)秘密共享生成sd的影子并分别将发送给各设备di。客户端c计算rw

h1(pw,h
′1(pw)s)。
[0036]
3.客户端c通过和生成用户的私钥和公钥(ku,ku),其中ku为用户的私钥,ku为用户的公钥。客户端c利用随机密钥rw加密用户私钥和服务器公钥(ku,ks),生成密文c,其中ks为服务器公钥。客户端c将用户公钥ku发送给服务器s,将密文c发送给各设备di(1≤i≤n-1)。
[0037]
4.各设备di存储密文c和各自的影子
[0038]
5.服务器s通过和生成服务器的私钥和公钥(ks,ks)。服务器s发送服务器公钥ks给客户端c,服务器s存储用户公钥ku和影子ss。
[0039]
认证与密钥协商阶段
[0040]
4.客户端c选择随机数计算α=h
′1(pw)r。客户端c根据需求选择t-1台设备,设置索引值i。客户端c继续选择随机数计算客户端c将(u,x,α)发送给服务器s,客户端c将(u,s,α)发送给各设备di(i∈i);u代表用户名。
[0041]
5.各设备di接收到来自客户端c的消息(u,s,α),设备di计算将发送给客户端c。
[0042]
6.服务器s接收到来自客户端c的消息(u,x,α),服务器s选择随机数计算服务器s将(y,βs)发送给客户端c,并输出会话密钥sk。
[0043]
7.客户端c接收到来自服务器s的消息(y,βs)和来自各设备di的消息客户端c计算ku,ks←
dec
rw
(c),(c),输出会话密钥sk。其中,λi表示i在i中的拉格朗日插值系数
[0044]
8.客户端c利用生成的会话密钥sk加密通信消息,发送给服务器s,若服务器s利用生成的会话密钥sk解密后得到可识别的消息,则认证成功。
[0045]
需要注意的是,公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附权利要求的精神和范围内,各种替换和修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献