一种无需用户身份的三因素的远程用户认证方法

文档序号:10515209阅读:349来源:国知局
一种无需用户身份的三因素的远程用户认证方法
【专利摘要】本发明公开了一种无需用户身份的三因素的远程用户认证方法,属于多因素认证协议领域。采用基于椭圆曲线的公钥密码,实现了无需用户身份的三因素认证。本方法包括如下步骤:1:服务器产生公私钥对及其他公共参数;2:用户向服务器提交注册信息,注册中心返回相应数据或智能卡;3:用户输入口令、生物特征,插入智能卡并计算登录参数发送给服务器,然后用户、服务器经过相应的数据交换,实现认证与密钥协商,产生会话密钥。本方法基于远程用户认证环境,保证了用户在无需输入用户身份的情况下,也能够顺利通过服务器认证,基于口令、智能卡、生物特征的三因素认证,保证了本方法的安全,能够抵抗所有提到的攻击,适用于安保,金融等对安全要求较高的场合。
【专利说明】
-种无需用户身份的Ξ因素的远程用户认证方法
技术领域
[0001] 本发明设及一种无需用户身份的Ξ因素的远程用户认证方法,特别设及一种利用 楠圆曲线密码学与基于口令、智能卡和生物特征的远程认证方法。
【背景技术】
[0002] 基于口令、智能卡和生物特征的认证方法,是远程计算机系统中较为具有实用价 值且安全有效的认证机制。目前,该类型方案已初步被应用于实际生活之中,主要包括一些 对安全性要求较高的应用场景,如电子银行等领域。但是,目前已提出的该类型认证方案, 在包括用户体验度、系统安全性等方面仍有不足。例如,目前所有方案,在用户注册和登录 时必须要求用户提供并输入其用户身份或用户名,但运一过程有违Ξ因素认证的基本理 念,且会影响系统效率和用户体验;此外,目前的方案难W有效抵御字典攻击等恶意攻击手 段。
[0003] 目前广泛采用的远程用户认证方案大多采用双因素认证方式,即利用用户口令和 智能卡对用户身份进行认证,例如中国专利CN104702559A,CN101867587A所掲示的方法。但 是,用户口令存在被恶意读卡器记录的风险,而且由于大多数用户口令均由易于记忆的字 符串组成,所W极易被暴力破解。虽然有智能卡作为另一认证凭证,但是智能卡同样存在遗 失或被不法之徒窃取的风险,一旦敌手获取了智能卡,就可W利用侧信道攻击等方式读取 智能卡内的数据,从而冒充用户登录服务器。
[0004] 为了提高双因素认证方案的系统安全性和可靠性,生物特征被作为第Ξ个因素引 入到了远程用户认证协议中。生物特征多种有点,主要包括:(1)生物特征不会丢失或遗忘; (2)生物特征难W被复制;(3)生物特征难W被猜测,因此,越来越多的基于智能卡的认证方 法开始引入其作为认证的第二或者Ξ因素,例如中国专利CN104767624A,CN105119721A。
[0005] 但是,目前存在的基于Ξ因素的远程用户认证方案中,在用户提供口令、智能卡、 身份特征之外,还需要用户输入用户名,运一做法有违Ξ因素认证的本质理念,同时会降低 用户体验和系统容错性。

【发明内容】

[0006] 针对目前认证方案均不支持免用户身份的远程用户认证,本发明提供一种无需用 户身份的基于用户口令、智能卡和生物特征的远程认证方法。通过模糊提取函数,提取生物 特征信息,利用哈希函数和随机数对所提取的生物信息进行盲化,作为唯一表示用户身份 的标识符;使用给予楠圆曲线的公钥密码学算法,实现信息的安全传输和会话密钥协商,具 有匿名登录、双向认证、前向安全的会话密钥等重要特性,同时该方法可W抵御目前已知的 所有攻击。
[0007] 本发明为实现上述的目的所采用的技术方案如下:
[0008] 步骤1:系统初始化阶段:系统初始化时,服务器产生基于楠圆曲线面膜学的公钥 密码体制的公私钥对。
[0009] 步骤2:注册阶段:本阶段分为Ξ个阶段:
[0010] 步骤2.1:用户输入口令和生物特征信息,利用模糊提取函数提取生物特征值和辅 助字符串,并利用哈希函数和随机数对特征值进行盲化处理,将盲化后的数据发给服务器。 运里的生物特征可W是任意类型的生物特征,例如指纹,虹膜等。
[0011] 步骤2.2:服务器在收到请求之后,为用户生成一个专属随机数,并将该随机数与 用户盲化后的特征值存储在其存储器中,便于之后的认证。然后,服务器利用其私钥和用户 独有的盲化特征值和专属随机数,为用户生成其验证参数,并存入空智能卡内办法给用户。
[0012] 步骤2.3:用户收到智能卡后,利用自己选择的口令对其验证参数和辅助字符串进 行保密存储,生成一个保密验证参数和保密辅助字符串参数,并用运个两个参数替代卡内 的验证参数。
[0013] 步骤3:登录与认证密钥协商阶段:本阶段分为W下Ξ个阶段:
[0014] 步骤3.1:用户将智能卡插入读卡器中,仅需输入生物特征、口令,首先利用口令解 密出辅助字符串,利用模糊提取函数和辅助字符串得到特征值,进一步利用特征值和智能 卡内的保密验证参数得出验证参数。之后,生成用于密钥协商的随机数和并用服务器公钥 得出一个楠圆曲线点,并用验证参数生成登录请求所需的盲化验证参数,发送给服务器。
[0015] 步骤3.2:服务器收到用户的登录参数后,利用服务器私钥算出用户用于加密的楠 圆曲线点,之后提取出用户登录请求中包含的盲化特征值,利用该值检索其存储中对应该 用户的数据项,进一步利用该用户的专属随机数计算出验证参数,利用计算出的验证参数 对用户请求中的盲化验证参数进行验证。通过验证之后,服务器也将生成一个用于密钥协 商的随机数,基于该随机数的楠圆曲线点和对应的会话密钥,并利用该会话密钥和之前计 算的验证参数生成一个服务器验证参数,作为返回值发送给用户。
[0016] 步骤3.3:用户在收到返回值之后,利用服务器计算的楠圆曲线点得出会话密钥, 利用该会话密钥和自己的验证参数验证返回值中的服务器验证参数。验证通过之后,还需 再利用会话密钥和验证参数等数据生成最后确认参数,向服务器证明自己生成了正确的会 话密钥。在服务器验证通过之后,双向认证和会话密钥协商即完成。
[0017] 步骤4:用户口令和生物特征更新阶段:本阶段分为W下各阶段:
[0018] 步骤4.1:用户输入新的生物特征,生成新的随机数,利用模糊提取函数和哈希函 数计算出新的盲化特征值发送给服务器。
[0019] 步骤4.2:服务器在收到请求之后,为用户生成新的专属随机数并更新在其存储中 该用户对应的数据项。之后,计算出新的验证参数返回给用户。
[0020] 步骤4.3:用户在收到新的验证参数之后,利用新的口令和验证参数,计算得出新 的保密验证参数和保密辅助字符串,替换智能卡内原有数据W完成更换过程。
[0021] 本发明的优点在于:
[0022] 本发明实现了免用户身份的Ξ因素认证:经过注册后,用户可W无需输入用户身 份的情况下,安全有效地通过服务器认证并产生安全可靠的会话密钥。
[0023] 本发明可W提供匿名登录功能:即使用户在登录过程中发送的请求被敌手窃取, 敌手也无法确定或追踪用户的具体身份。因为用户的登录请求中包含由随机数和服务器公 钥产生的楠圆曲线点,只有持有服务器私钥才能解密。同时,其所包含的随机数每次均不 同,所W用户每次的登录请求也均不相同,可W有效实现匿名登录和不可追踪性。
[0024] 本发明可W抵御扮演攻击:敌手无法扮演用户或服务器来欺骗服务器或用户。首 先,用户的登录请求中包含由随机数和服务器公钥产生的楠圆曲线点,只有持有服务器私 钥才能解密。显然,敌手无法对请求计算出对应个回应返回值,用户也就不会相信敌手的身 份。其次,用户的登录请求中包含验证参数,只有持有智能卡,并且输入正确的口令和生物 特征信息的情况下才能得出该数据。显然,敌手也无法产生合法的登录请求,所W本发明可 W有效抵御扮演攻击。
[0025] 本发明可W抵御重放攻击:敌手无法通过窃听用户过往通信,重放登录请求的方 式欺骗服务器。因为即使敌手重放了用户的某次登录请求,服务器会采用新的随机数生成 会话密钥和服务器验证参数。敌手会受到服务器的返回值并被要求最终验证参数W确认会 话密钥。显然,敌手只是窃听了某次用户的通讯,而无法获取对应的用户随机数,也就无法 产生正确的最终验证参数,也就无法通过服务器认证。
[0026] 本即使服务器的长期密钥,如私钥等,被泄露,攻击者也无法得出已完成的会话对 应的会话密钥。因为所有会话密钥中均包含用户和服务器生成的随机数,运些随机数对敌 手来说是不可获取的,也就无法生成对应会话密钥。
[0027] 由于本发明可W抵御常见的攻击手段,并且具有匿名登录,会话密钥的前向安全 的重要安全性质,可W广泛应用于银行系统,安保系统等对安全要求严格的场合。
【附图说明】
[00%]图1是本发明种无需用户身份的Ξ因素的远程用户认证方法的登录认证阶段与密 钥协商阶段流程的一种实施方式。
【具体实施方式】 下面详细描述本发明的【具体实施方式】。
[0029] 在步骤1中,服务器在域GF(p)初始化楠圆曲线Ep并生成服务器私钥S和公钥ΡΚ = sP,选择一个单向哈希函数h( ·)和模糊提取函数{Gen( · ),Rep( ·,·)}。最后,服务器将 系统公开参数公布<PK,p,P,Ep,h( · ),Gen( · ),R邱(·,·)>。
[0030] 在步骤2中,具体包含W下阶段:
[0031] 用户化仅需选择PWi而无需选择用户身份,并输入生物特征信息Bioi,经过模糊提 取函数处理生成(〇1,01)=6611他〇1),其中〇功特征值,而0功辅助字符串。之后,用户端生 成h(OiMnb)并将其作为注册请求通过安全信道发给服务器,其中nb为随机数。
[0032] 服务器收到用户化的注册请求h(OiMnb)后,生成随机数m,计算验证参数Ai = Mh (〇1||化)||3||111),将<心,}1(.),9古击。>存储到一个空的智能卡内并通过安全信道发给 用户。此外,服务器还需在其存储中维持一个结构为<11(〇1||化),111>的数据表,用于之后 的用户认证。
[0033] 用户得到智能卡后,根据之前选择的用户口令,对智能卡内的认证参数进行保密 处理,计算Ci = h(nb II PWi II h(〇i I I加 )),A -為嚴得和孩邸巧巧)幾谈最后,用户 将卡内的Ai替换为 <化,Ei>。
[0034] 在步骤3中,如图1所示,具体包含W下阶段:
[003引 S101:用户Ui输入BlOi和PWi,插入智能卡,计算從!N,}::::巧敏Μ巧巧),0i = Gen (8101,目0,扣=}1(刖||?胖川}1柄||化))并最终得到验证参数為-^),:海^;;。然后,用户产生 一个随机数斬卸巧·并计算Pu = nuP和Κι = nuPK,生成登录请求所需参数 说-A - ft.(巧|柄,)等&(斯![/化巧PRi = h(DIDi II Ki II Ai II IDs),最后用户将登录请求发送给 服务器 <DIDi,Ri,Pu>。
[0036] S102:服务器Sj收到<0册,扣,口。>后,计算1(1 = 3口。并检索该用户在其存储中的数 据项<11柄||化)曲>,并计算41=}1化佔||化川山||3)和化=}1(〇1化|忙||41||1〇3),与收 到的请求中包含的相同参数进行比较,如果相同则验证通过,反之验证失败。验证通过之 后,生成随机数巧S径技巧并计算Ps = nsP,会话密钥SKs = Kh(〇i| |nb)||Ki| IrisPul |lDs||Ai), 验证返回参数R2 = h(IDs Μ h(〇i Μ化)Μ Ai I I SKs),并将参数返回给用户<R2,Ps>。
[0037] S103:用户化收到返回消息后,同样计算会话密钥SKu=Mh(〇i||化)||Κι| luiPsI IDsIlAi)和验证返回参数R2 = H(IDs||h(〇i| |nb)||Ai| ISKu),并与收到的消息中所包含参数 进行比较,只有在二者相等时才能通过验证。之后向服务器发送最后的验证请求R3 = H( IDs I h(〇i Μ化)Μ SKu Μ Ai),W向服务器确认双方生成的是相同的密钥
[0038] S104:在服务器验证通过后,既相互认证与会话密钥协商完成。双方可W使用会话 密钥来进行安全通讯。
[0039] 在步骤4中,具体包含W下阶段:
[0040] 用户化输入新的生物特征Bioi,并利用模糊提取函数(的,巧按e化(及*:(幻,计算新 的Μ钟诚傲给服务器,其中"視新的随机数。
[0041] 服务器收到请求后,检索并用请求内的新参数更新其存储内对应用户的数据项, 计算新的验证参数,4? A辦砖Η,縣b对韩并将其返回给用户。
[0042] 用户收到新的参数后,利用新的口令对数据进行加密,计算巧聲敏(:苦和 巧-如PWT) Θ裤Η碱,并用新参数< 巧,巧 >更新智能卡内的数据,即完成更新。
[0043] 在上述认证方法与下图【附图说明】中设及到的参数W及运算符号分别说明如下:
[0044] Ui:编号为i的用户
[0045] 编号为j的服务器
[0046] 瓜:服务器的标识符
[0047] BI0i,IDi,PWi:用户i的生物特征,用户名,密码 [004引 SK:会话密钥
[0049] η:用户或服务器生成随机数
[(X)加 ]Ρ,ΡΚ:服务器的公钥
[0051] Ρ:大素数 [0化2] S:服务器的私钥
[0053] h( ·):单向哈希函数运算
[0054] Gen( · ),R邱(·,·):生物特征模糊提取函数 [005引盛异或运算
[00?] 11:拼接字符串
[0057]虽然W上描述了本发明的【具体实施方式】,但是本技术领域内的熟练技术人员应当 理解,运些仅是举例说明,可W对运些实施方式做出多种的变更或者修改,而不背离其本发 明的原理与实质。本发明的范围仅由所附权利要求书限定。
【主权项】
1. 一种无需用户名的三因素的远程用户认证方法,其特征在于,该方法包含以下步骤: 步骤1:注册中心初始化产生基于椭圆曲线的公私钥对; 步骤2:用户通过安全信道向服务器提交注册信息,仅需提供盲化后的生物特征信息, 无需用户名。服务器经过计算后,将处理后的数据存储在智能卡中,并通过安全信道将智能 卡发送给用户,并在服务器的存储器内维护一个以盲化后的用户生物特征信息为主键的 表; 步骤3:用户在登录服务器之前,用户U仅需输入三个因素,包括口令、智能卡和生物特 征信息,无需用户名,在计算登录信息之后,将登录请求发送给服务器,用户、服务器经过相 应的数据交换,实现认证与密钥协商,并产生会话密钥。2. 根据权利要求1所述的无需用户名的三因素的远程用户认证方法,其特征在于,步骤 1所述服务器在域GF(p)初始化椭圆曲线E P并生成服务器私钥s和公钥PK = sP,选择一个单 向哈希函数h( ·)和模糊提取函数{Gen( · ),Rep{( ·,·)}。最后,服务器将系统公开参数 公布<PK,p,P,EP,h( · ),Gen( · ),Rep( ·,·)>。3. 根据权利要求1所述的多服务器环境下的三因素认证方法,其特征在于,步骤2中,具 体包含以下步骤: (1) 服务器注册:在安全信道下,编号为j的服务器&向注册中心发出注册请求,并提交 它的SID,注册中心收到请求后,生成随机数y,计算M = h(SID| |y),将{M,r,rpub,p}发送给服 务器SJ; (2) 用户注册: (a) 用户Ui选择IDi,PWi,并生成一个随机数Ni,计算WFhdDil |PWi),W2 = h(IDi| |Ni),在 安全信道下,将{Wi,W2}发给注册中心; (b) 注册中心收到用户仏的注册请求{W^Ws}后,生成随机数X,计算验证参数X = hm| W2| |x),将其使用1加密d二久十,最终,将{A,h( · ),T*( · ),r,rpub,p}放入智能卡,将 智能卡通过安全信道交给用户U; (c) 用户得到智能卡后,输入其生物特征BlOi,计算祝=馬辦1(射0|),¥ = 11(顶| |PWi| Ni),并存入智能卡。最终智能卡中存储的数据为{A,N,V,h( · ),T*( · ),r,rpub,p}。4. 根据权利要求1所述的多服务器环境下基于混沌映射的智能卡认证方法,其特征在 于,步骤3中,具体包含以下步骤: (1) 用户Ui输入8瓜,顶,?1!,计算//; = ~?/1(扪0〖),并验证11(顶||?1川化)是否等于 V,验证通过后,计算WfhdDil |PWi),W2 = h(IDi| |Ni),使用I解密儿Χ = 4ΦΜ^,计算Y = h (SIDj I |X),并生成随机数ηι,计算加密参数A = rrii(r) m ctp,=7^(%仙)mud μ,并 加密ι:胃3 = &将{W2,W3,Y,&}发送给服务器S j; (2) S j收到{W2,W3,Y,Ci},生成随机数η2,计算加密参数:4 = (r) mod p、= kfcuh)贈d P。计算亡瑪.二货%?',将{12,13,丫,(:10弘]/[,(:1,〇3}发送给注册中心; (3) 注册中心收到{¥2,13,丫,〇10」,]\1,〇1,〇3},计算〇4 = 1^(〇3)111〇(1卩,〇2 = 1^(〇1)1]1〇(1卩,解 密W3与CIDj: = , 57/),/= C/D_/?C4 )首先计算h(SIDj I I y),验证其是否等于 M,然后计算MMWil |w2| |x)| IsiD」),验证是否等于Y,验证通过后,注册中心计算验证数据 VFhdl |c2),v2=h(siDj| |C4),将rnw}发送给服务器Sj; (4) 服务器后,计算h(SIDj| |C4),验证是否等于V2,验证通过后,计算戏= UC〗)mod wVFhW I I sk)将{V3,C3}发送给用户Ui; (5) 用户Ui收到{Vi,C3},计算嫌:=mod p,然后计算h(h(Wi I I C21 I sk) I I sk),验 证是否等于V3,验证通过后,使用会话密钥sk来进行通讯。
【文档编号】H04L9/30GK105871553SQ201610486863
【公开日】2016年8月17日
【申请日】2016年6月28日
【发明人】熊虎, 苑晨, 陈伟, 闫东杰, 范鹏程, 卢震宇
【申请人】电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1