(19)中华 人民共和国 国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210000154.5
(22)申请日 2022.01.02
(71)申请人 西安电子科技大 学
地址 710071 陕西省西安市太白南路2号
(72)发明人 孙聪 高玉堃 马建峰
(74)专利代理 机构 陕西电子 工业专利中心
61205
代理人 王品华
(51)Int.Cl.
H04L 9/32(2006.01)
(54)发明名称
基于哈希链的线上 快速身份验证方法
(57)摘要
本发明公开了一种基于哈希链的线上快速
身份认证方法, 主要解决现有的线上快速身份认
证协议FIDO在诚实实体进行正常的注册或认证
流程中可能出现恶意UAF客户端、 恶意认证器特
定模块从而泄露消息, 影响协议机密性, 导致恶
意登录的问题。 其实现方案是: 初始化FIDO协议
各相关实体; 调用本地安全环 境指令验证实体的
完整性; 进行哈希链注册; 运行FIDO协议, 在保证
协议正常运行的前提下, 基于哈希链实现认证器
特定模块、 用户代理对UAF客户端的校验以及UAF
客户端对认证器特定模块的校验, 增强协议的安
全性, 实现用户在在线服务中的身份注册和认
证。 本发明安全性强, 速度快、 开销小, 可用于在
线服务的远程登录、 身份认证及交易认证 。
权利要求书4页 说明书11页 附图2页
CN 114430324 A
2022.05.03
CN 114430324 A
1.一种基于哈希 链的线上 快速身份验证方法, 包括注 册和认证, 其特 征在于:
(1)在开始哈希链注册之前, 对线上快速认证协议FIDO中的认证器特定模块、 UAF客户
端和用户代理的完整性进行 校验;
(2)对校验通过的认证 器特定模块、 用户代理和UAF客户端 进行哈希 链的注册:
2a)UAF客户端生成两个随机数n1和n2, 初始化两个计数器i=1, j =1, UAF客户端重新请
求计数器kUC=0, 初始化哈希 链次数L, UAF客户端最大重新请求次数 K;
2b)将UAF客户端标识CallerID分别与两个随机数n1和n2连接, 作为认证器特定模块的
哈希链种子xASM和用户代理的哈希 链种子xUA;
2c)分别对认证器特定模块的哈希链种子xASM和用户代理的哈希链种子xUA进行L次哈希
运算, 得到认证 器特定模块的初始哈希 链信息H1和用户代理的初始哈希 链信息H2;
2d)设置哈希链注册标志为req, 并发送消息(req, H1, K)给认证器特定模块, 发送消息
(req, H2, K)给用户代理;
2e)认证器特定模块收到注册哈希链的消息后, 将初 始哈希链信息H1分别保存为初始哈
希链信息H和哈希链验证信息H ’, 将UAF客户端最大重新请求次数K保存为认证器特定模块
最大重新请求次数 K’; 初始化计数器i ’=0, 认证 器特定模块重新请求计数器kASM=0;
2f)用户代理收到注册哈希链的消 息后将初始哈希链信息H2分别保存为初始哈希链信
息H和哈希链验证信息H ’, 将最大重新请求次数K保存为用户代理最大重新请求次数K ’; 初
始化计数器j ’=0, 用户代理重新请求计数器kUA=0;
(3)运行FID O协议, 在注册过程和认证过程 中进行数据处理和基于哈希链对UAF客户端
和认证器特定模块的认证:
3a)根据FIDO协议流程, 依次在服务器端、 用户代理、 UAF客户端之间进行数据的初始
化、 数据传输及简单运 算处理;
3b)UAF客户端向认证器特定模块发送数据处理后的原本FID O协议数据, 同时发起哈希
链认证请求;
3c)认证器特定模块对UAF客户端进行哈希链认证, 认证成功后, 继续执行FIDO协议流
程, 认证器特定模块对原本FIDO协 议数据进行简单运算, 并发送 运算后的数据给认证器; 认
证器对部分数据进行处理, 同时对用户进行本地身份校验, 校验成功后将处理后的消息返
回给认证 器特定模块;
3d)认证器特定模块向UAF客户端转发认证器处理后的原本FID O协议数据, 同时发起哈
希链认证请求;
3e)UAF客户端对认证器特定模块进行哈希链认证, 认证成功后, 向用户代理转发认证
器特定模块发来的原本FIDO协议数据, 同时发起哈希 链认证请求;
3f)用户代理对UAF客户端进行哈希链认证, 认证成功后, 继续执行FID O协议流程, 直至
服务器端对返回的FIDO协议数据校验完毕, 若校验通过, 则线上快速验证协议对用户的身
份注册或身份认证成功。
2.根据权利要求1所述的方法, 其中3b)中UAF客户端向认证器特定模块发起哈希链认
证请求, 是由UAF客户端先将认证器特定模块哈希链种子xASM进行L‑i次的哈希 运算, 生成哈
希校验值HASM, 再将计数器i的值向上增1, 生成一个随机数N和一个时间戳timecA, 并将该随
机数N、 时间戳timeCA和哈希校验值HASM一起发送给认证 器特定模块。权 利 要 求 书 1/4 页
2
CN 114430324 A
23.根据权利要求1所述的方法, 其中3c)中认证器特定模块对UAF客户端进行哈希链认
证, 实现如下:
3c1)在认证器特定模块收到哈希校验值HASM后, 先进行一次哈希运算得到哈希值H ′ASM,
再将H′ASM与2e)存储的哈希 链验证信息 H’进行比较, 判断UAF客户端是否通过认证:
如果H′ASM=H’, 则认证器特定模块对UAF客户端认证成功, 保存随机数N的值, 将计数器
i’值向上增1, 并将哈希 链验证信息 H’更新为哈希校验值HASM;
如果H′ASM≠H’, 则认证器特定模块对UAF客户端认证失败, 则执 行3c2);
3c2)认证器特定模块将对UAF客户端 进行重新请求:
3c21)认证器特定模块先将认证器特定模块重新请求计数器kASM向上增1, 再生成一个
时间戳timeASM, 将时间戳timeASM与计数器i ’的值发送给UAF客户端;
3c22)UAF客户端收到 重新请求信息, 验证时间戳timeASM是否在邻近范围内:
如果不在, 则不予处 理;
如果在, 则验证通过, 先将计数器i的值更新为i ’+1, 再将认证器特定模块哈希链种子
xASM进行L‑i次的哈希运算, 将哈希运算的结果赋给哈希校验值HASM, 同时生成新的随机数
N’, 更新时间戳timeCA, 并将N’赋给N, 将哈希校验值HASM, 随机数N ’和时间戳timeCA发送给认
证器特定模块;
3c23)认证 器特定模块验证时间戳timeCA:
若UAF客户端发来的时间戳timeCA所表示的时间位于步骤3c21)认证器特定模块生成的
时间戳timeASM之前, 则不予处 理;
若UAF客户端发来的时间戳timeCA所表示的时间位于步骤3c21)认证器特定模块生成的
时间戳timeASM之后, 则将收到的哈希校验值HASM进行一次哈希运算得到哈希值H ′ASM, 执行
3c3);
3c3)将哈希值H ′ASM与哈希链验证信息H ’进行比较, 判断UAF客户端是否通过重新请求
认证:
如果H′ASM=H’, 则重新请求认证通过, 认证器特定模块对UAF客户端认证成功, 认证器
特定模块将N ’保存为随机数N, 将计数器i ’值向上增1, 并将哈希链验证信息H ’的值更新为
哈希校验值HASM;
如果H′ASM≠H’, 则重新请求认证失败, 认证器特定模块对认证器特定模块重新请求计
数器kASM的值进行判断:
若认证器特定模块重新请求计数器kASM的值小于认证器特定模块最大重新请求次数
K’, 则返回至 3c21);
若认证器特定模块重新请求计数器kASM的值大于等于认证器特定模块最大重新请求次
数K’, 则认为正常流程中出现恶意的UAF客户端实体, 终止 本次FIDO协议 运行。
4.根据权利要求1所述的方法, 其中3d)中认证器特定模块向UAF客户端发起哈希链认
证请求, 是由认证器特定模块先将2e)存储的初始哈希链信息H与随机数N作连接, 将得到的
字符串进行一次哈希运算得到哈希校验值HUC, 生成时间戳timeAC, 再将时间戳timeAC与哈希
校验值HUC同时发送给UAF客户端。
5.根据权利要求1所述的方法, 其中3e)中UAF客户端对认证器特定模块进行哈希链认
证, 实现如下:权 利 要 求 书 2/4 页
3
CN 114430324 A
3
专利 基于哈希链的线上快速身份验证方法
文档预览
中文文档
18 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共18页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 SC 于 2024-02-07 12:41:22上传分享