基于哈希链的线上快速身份验证方法技术

技术编号:33306239 阅读:24 留言:0更新日期:2022-05-06 12:16
本发明专利技术公开了一种基于哈希链的线上快速身份认证方法,主要解决现有的线上快速身份认证协议FIDO在诚实实体进行正常的注册或认证流程中可能出现恶意UAF客户端、恶意认证器特定模块从而泄露消息,影响协议机密性,导致恶意登录的问题。其实现方案是:初始化FIDO协议各相关实体;调用本地安全环境指令验证实体的完整性;进行哈希链注册;运行FIDO协议,在保证协议正常运行的前提下,基于哈希链实现认证器特定模块、用户代理对UAF客户端的校验以及UAF客户端对认证器特定模块的校验,增强协议的安全性,实现用户在在线服务中的身份注册和认证。本发明专利技术安全性强,速度快、开销小,可用于在线服务的远程登录、身份认证及交易认证。身份认证及交易认证。身份认证及交易认证。

【技术实现步骤摘要】
基于哈希链的线上快速身份验证方法


[0001]本专利技术属于网络安全
,特别涉及一种线上快速身份验证方法,可用于在线服务的远程登录、身份认证、交易认证。

技术介绍

[0002]长久以来,口令一直作为身份验证的一个重要手段,输入用户名与密码进行校验一度成为所有在线网站的身份验证方式。在口令成为一个用户唯一身份认证标识时,口令的泄露无疑将带来很大危害。随着技术的发展,更多的身份验证手段出现,人们尝试使用独一无二的生物特征,如指纹、面容、虹膜等方式进行个人身份验证。生物识别手段在如今的生活中的应用愈加流行与成熟,但也存在诸多不足。2019年,生物科技公司Suprema被曝出泄漏超过100万人的面部和指纹信息的案件。由此可见,即使是快捷方便的生物识别手段仍然容易在各个环节产生数据泄露的风险,尤其是针对服务商数据库的攻击,将可能导致大规模数据的泄露。
[0003]2013年2月,快速在线身份认证FIDO联盟正式成立,最初的目的在于利用越来越成熟和流行的生物识别机制定义一套开放的、可扩展的、能互用的身份识别机制,减少用户在认证时对密码的依赖。其中通用认证框架UAF允许在线服务提供无密码和多因素安全性,用户通过选择本地身份验证机制,如轻扫手指、查看相机、对着麦克风说话、输入PIN等,将设备或原始密码注册到在线服务中。在注册过程中,验证器生成平台唯一的公私密钥对。私钥存储在本地的安全计算环境中,公钥则使用特定于设备型号的认证密钥进行签名。基于公私钥对的非对称加密体系,只在本地的可信执行环境中存储用户的生物特征信息,是FIDO相较于传统身份认证方式的两个重要不同点。
[0004]深圳市文鼎创数据科技有限公司在其申请号201910979088.9的专利文献中提出“基于FIDO设备的交易认证方法及FIDO设备”。其应用于服务器,在FIDO设备登录指令中的extension信息条目或其他现有条目或新增的条目中嵌入交易信息,采用这种嵌入方式既不与原有功能冲突,又能保证用户交易信息确认的安全功能,实现了国内外网上银行大金额交易的安全和应用要求。但该方法中提出的设置交易信息以及交易信息的确认机制仅用于信息确认,无法消除隐私数据泄露以及破坏登录的风险。
[0005]北京邮电大学冯皓楠在In Network and Distributed System Security Symposium(NDSS),2021发表的论文“AFormal Analysis of the FIDO UAF Protocol”中通过形式化验证工具proverif对FIDO UAF协议进行分析,指出如果存在恶意的UAF客户端设备,就会影响UAF协议的部分安全属性,产生认证器重绑定攻击、隐私泄露攻击和拒绝服务攻击,论文中提出一种解决办法,即认证器特定模块对UAF客户端的标识CallerID建立可信列表。但其不足之处是UAF客户端的数量庞大,可信列表的维护将极为困难。

技术实现思路

[0006]本专利技术的目的在于针对上述FIDO UAF协议存在的风险,提出一种基于哈希链的线
上快速身份验证方法,以避免注册和认证流程中出现恶意UAF客户端实体和恶意认证器特定模块,确保诚实实体的正常注册和认证,提高FIDO UAF协议的安全性,缩小攻击面。
[0007]实现本专利技术目的的具体思路是:通过初始化FIDO标准结构,在经过校验的安全环境下,由UAF客户端向认证器特定模块和用户代理进行哈希链的注册。通过在正常的FIDO协议注册和认证流程中增加验证哈希链的过程,实现认证器特定模块和用户代理对UAF客户端的认证以及UAF客户端对认证器特定模块的认证。同时通过提供一种可设置次数的重新请求机制,请求未通过验证的设备重新发送信息,避免恶意UAF客户端与认证器特定模块通信、恶意UAF客户端与用户代理通信、恶意认证器特定模块与UAF客户端通信这三大问题。通过利用哈希函数的单向性、碰撞约束以及较高的计算效率在UAF协议中提供诚实实体的验证,及时发现恶意实体并终止协议流程,有利于保障协议的机密性,缩小攻击面。
[0008]根据上述思路,本专利技术的实现步骤包括如下:
[0009](1)在开始哈希链注册之前,对线上快速认证协议FIDO中的认证器特定模块、UAF客户端和用户代理的完整性进行校验;
[0010](2)对校验通过的认证器特定模块、用户代理和UAF客户端进行哈希链的注册:
[0011]2a)UAF客户端生成两个随机数n1和n2,初始化计数器i=1,j=1及UAF客户端重新请求计数器k
UC
=0,初始化哈希链次数L,UAF客户端最大重新请求次数K;
[0012]2b)将UAF客户端标识CallerID分别与两个随机数n1和n2连接,作为认证器特定模块的哈希链种子x
ASM
和用户代理的哈希链种子x
UA

[0013]2c)分别对认证器特定模块的哈希链种子x
ASM
和用户代理的哈希链种子x
UA
进行L次哈希运算,得到认证器特定模块的初始哈希链信息H1和用户代理的初始哈希链信息H2;
[0014]2d)设置哈希链注册标志为req,并发送消息(req,H1,K)给认证器特定模块,发送消息(req,H2,K)给用户代理;
[0015]2e)认证器特定模块收到注册哈希链的消息后,将初始哈希链信息H1分别保存为初始哈希链信息H和哈希链验证信息H

,将UAF客户端最大重新请求次数K保存为认证器特定模块最大重新请求次数K

;初始化计数器i

=0,认证器特定模块重新请求计数器k
ASM
=0;
[0016]2f)用户代理收到注册哈希链的消息后将初始哈希链信息H2分别保存为初始哈希链信息H和哈希链验证信息H

,将最大重新请求次数K保存为用户代理最大重新请求次数K

;初始化计数器j

=0,用户代理重新请求计数器k
UA
=0;
[0017](3)运行FIDO协议,在注册过程和认证过程中进行数据处理和基于哈希链对UAF客户端和认证器特定模块的认证:
[0018]3a)根据FIDO协议流程,依次在服务器端、用户代理、UAF客户端之间进行数据的初始化、数据传输及简单运算处理;
[0019]3b)UAF客户端向认证器特定模块发送数据处理后的原本FIDO协议数据,同时发起哈希链认证请求;
[0020]3c)认证器特定模块对UAF客户端进行哈希链认证,认证成功后,继续执行FIDO协议流程,认证器特定模块对原本FIDO协议数据进行简单运算,并发送运算后的数据给认证器;认证器对部分数据进行处理,同时对用户进行本地身份校验,校验成功后将处理后的消息返回给认证器特定模块;
[0021]3d)认证器特定模块向UAF客户端转发认证器处理后的原本FIDO协议数据,同时发起哈希链认证请求本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于哈希链的线上快速身份验证方法,包括注册和认证,其特征在于:(1)在开始哈希链注册之前,对线上快速认证协议FIDO中的认证器特定模块、UAF客户端和用户代理的完整性进行校验;(2)对校验通过的认证器特定模块、用户代理和UAF客户端进行哈希链的注册:2a)UAF客户端生成两个随机数n1和n2,初始化两个计数器i=1,j=1,UAF客户端重新请求计数器k
UC
=0,初始化哈希链次数L,UAF客户端最大重新请求次数K;2b)将UAF客户端标识CallerID分别与两个随机数n1和n2连接,作为认证器特定模块的哈希链种子x
ASM
和用户代理的哈希链种子x
UA
;2c)分别对认证器特定模块的哈希链种子x
ASM
和用户代理的哈希链种子x
UA
进行L次哈希运算,得到认证器特定模块的初始哈希链信息H1和用户代理的初始哈希链信息H2;2d)设置哈希链注册标志为req,并发送消息(req,H1,K)给认证器特定模块,发送消息(req,H2,K)给用户代理;2e)认证器特定模块收到注册哈希链的消息后,将初始哈希链信息H1分别保存为初始哈希链信息H和哈希链验证信息H

,将UAF客户端最大重新请求次数K保存为认证器特定模块最大重新请求次数K

;初始化计数器i

=0,认证器特定模块重新请求计数器k
ASM
=0;2f)用户代理收到注册哈希链的消息后将初始哈希链信息H2分别保存为初始哈希链信息H和哈希链验证信息H

,将最大重新请求次数K保存为用户代理最大重新请求次数K

;初始化计数器j

=0,用户代理重新请求计数器k
UA
=0;(3)运行FIDO协议,在注册过程和认证过程中进行数据处理和基于哈希链对UAF客户端和认证器特定模块的认证:3a)根据FIDO协议流程,依次在服务器端、用户代理、UAF客户端之间进行数据的初始化、数据传输及简单运算处理;3b)UAF客户端向认证器特定模块发送数据处理后的原本FIDO协议数据,同时发起哈希链认证请求;3c)认证器特定模块对UAF客户端进行哈希链认证,认证成功后,继续执行FIDO协议流程,认证器特定模块对原本FIDO协议数据进行简单运算,并发送运算后的数据给认证器;认证器对部分数据进行处理,同时对用户进行本地身份校验,校验成功后将处理后的消息返回给认证器特定模块;3d)认证器特定模块向UAF客户端转发认证器处理后的原本FIDO协议数据,同时发起哈希链认证请求;3e)UAF客户端对认证器特定模块进行哈希链认证,认证成功后,向用户代理转发认证器特定模块发来的原本FIDO协议数据,同时发起哈希链认证请求;3f)用户代理对UAF客户端进行哈希链认证,认证成功后,继续执行FIDO协议流程,直至服务器端对返回的FIDO协议数据校验完毕,若校验通过,则线上快速验证协议对用户的身份注册或身份认证成功。2.根据权利要求1所述的方法,其中3b)中UAF客户端向认证器特定模块发起哈希链认证请求,是由UAF客户端先将认证器特定模块哈希链种子x
ASM
进行L

i次的哈希运算,生成哈希校验值H
ASM
,再将计数器i的值向上增1,生成一个随机数N和一个时间戳time
cA
,并将该随机数N、时间戳time
CA
和哈希校验值H
ASM
一起发送给认证器特定模块。
3.根据权利要求1所述的方法,其中3c)中认证器特定模块对UAF客户端进行哈希链认证,实现如下:3c1)在认证器特定模块收到哈希校验值H
ASM
后,先进行一次哈希运算得到哈希值H

ASM
,再将H

ASM
与2e)存储的哈希链验证信息H

进行比较,判断UAF客户端是否通过认证:如果H

ASM
=H

,则认证器特定模块对UAF客户端认证成功,保存随机数N的值,将计数器i

值向上增1,并将哈希链验证信息H

更新为哈希校验值H
ASM
;如果H

ASM
≠H

,则认证器特定模块对UAF客户端认证失败,则执行3c2);3c2)认证器特定模块将对UAF客户端进行重新请求:3c21)认证器特定模块先将认证器特定模块重新请求计数器k
ASM
向上增1,再生成一个时间戳time
ASM
,将时间戳time
ASM
与计数器i

的值发送给UAF客户端;3c22)UAF客户端收到重新请求信息,验证时间戳time
ASM
是否在邻近范围内:如果不在,则不予处理;如果在,则验证通过,先将计数器i的值更新为i

+1,再将认证器特定模块哈希链种子x
ASM
进行L

i次的哈希运算,将哈希运算的结果赋给哈希校验值H
ASM
,同时生成新的随机数N

,更新时间戳time
CA
,并将N

赋给N,将哈希校验值H
ASM
,随机数N

和时间戳time
CA
发送给认证器特定模块;3c23)认证器特定模块验证时间戳time
CA
:若UAF客户端发来的时间戳time
CA
所表示的时间位于步骤3c21)认证器特定模块生成的时间戳time
ASM
之前,则不予处理;若UAF客户端发来的时间戳time
CA
所表示的时间位于步骤3c21)认证器特定模块生成的时间戳time
ASM
之后,则将收到的哈希校验值H
ASM
进行一次哈希运算得到哈希值H

ASM
,执行3c3);3c3)将哈希值H

ASM
与哈希链验证信息H

进行比较,判断UAF客户端是否通过重新请求认证:如果H

ASM
=H

,则重新请求认证通过,认证器特定模块对UAF客户端认证成功,认证器特定模块将N

保存为随机数N,将计数器i

值向上增1,并将哈希链验证信息H

的值更新为哈希校验值H
ASM
;如果H

ASM
≠H

,则重新请求认证失败,认证器特定模块对认证器特定模块重新请求计数器k
ASM
的值进行判断:若认证器特定模块重新请求计数器k
ASM
的值小于认证器特定模块最大重新请求次数K

,则返回至3c21);若认证器特定模块重新请求计数器k
ASM
的值大于等于认证器特定模块最大重新请求次数K

,则认为正常流程中出现恶意的UAF客户端实体,终止本次FIDO协议运行。4.根据权利要求1所述的方法,其中3d)中认证器特定模块向UAF客户端发起哈希链认证请求,是由认证器特定模块先将2e)存储的初始...

【专利技术属性】
技术研发人员:孙聪高玉堃马建峰
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1