一种分布式身份验证方法技术

技术编号:23561754 阅读:42 留言:0更新日期:2020-03-25 06:30
本发明专利技术揭示了一种分布式身份验证方法,包括用户节点向调度节点发送认证请求,用户节点选择验证节点;验证节点发送认证要求至用户节点,用户节点发送应答结果至验证节点;验证节点对应答结果并验证,以确定是否认证成功;验证节点根据用户节点的公钥从存储节点查找令牌信息,并将令牌信息与用户节点提供的认证信息进行匹配,判断验证认证信息是否有效,若有效,则根据用户数据生成新的认证信息并存储至存储节点,进一步向用户节点广播认证成功信息。本发明专利技术能够可靠的实现身份认证,并且认证效率高,认证可靠,不占用本地资源。

A distributed authentication method

【技术实现步骤摘要】
一种分布式身份验证方法
本专利技术涉及网络完全
,尤其是涉及一种分布式身份验证方法。
技术介绍
如今的互联网体系正在从传统的集中模式向去中心化和分布式模式转变,传统互联网体系中的集中控制中心已经暴露出许多问题,比如容易受到网络攻击、信息盗取,同时也容易出现单点故障等问题,因此去中心化和分布式结构越来越多的出现在人们眼前。在这种变革下,传统的集中身份认证方式面临巨大挑战,并且传统的集中身份认证方式还具有认证效率低,认证不可靠的缺点,因此,在去中心化的互联网体系下,亟需一种认证效率高、认证可靠的身份认证方方法。
技术实现思路
本专利技术的目的在于克服现有技术的缺陷,提供一种认证效率高、认证可靠的分布式身份认证方方法。为实现上述目的,本专利技术提出如下技术方案:一种分布式身份验证方法,包括如下步骤:步骤S100,用户节点向调度节点发送认证请求,用户节点收到认证请求后选择验证节点;步骤S200,验证节点发送认证要求至用户节点,用户节点对认证要求进行应答并将应答结果加密后发送至验证节点,所述认证要求包括至少一个随机数;步骤S300,验证节点对应答结果进行解密并验证应答结果是否有效,若有效,则认证成功,否则,认证失败;步骤S400,验证节点根据用户节点的公钥从存储节点查找令牌信息,并将令牌信息与用户节点提供的认证信息进行匹配,判断验证认证信息是否有效,若有效,则根据用户数据生成新的认证信息并存储至存储节点,进一步向用户节点广播认证成功信息;优选地,在步骤S100之前,还包括如下步骤:用户节点向调度节点发送注册请求,调度节点向用户节点发送注册要求;用户节点生成密钥对,并根据注册要求填写注册信息并发送至调度节点,所述密钥对包括公钥和秘钥;调度节点检测用户节点的注册信息是否满足要求,若是,则保存公钥并对注册信息进行加密获得令牌信息,进一步将令牌信息存储至存储节点,回应用户节点注册成功。优选地,在步骤S100中,通过如下步骤选择验证节点:步骤S101,查看验证节点在线情况,并选择预设数量处于在线状态的验证节点;步骤S102,获取每个验证节点的节点质量指标,选择节点质量指标最高的验证节点。优选地,节点质量指标通过如下公式计算:其中,NQI表示节点质量指标,B表示网络带宽,D表示网络延时,T表示验证次数。优选地,在步骤S200中,应答结果通过如下步骤获得:用户节点将公钥与随机数合并,并通过单向哈希函数生成字符串作为应答结果。优选地,所述单向哈希函数为MD5算法。优选地,在步骤S400中,新的认证信息通过如下步骤获得:对用户数据进行哈希处理并通过椭圆曲线签名算法进行签名,生成新的认证新信息。优选地,所述存储节点运行区块链。本专利技术的有益效果是:本专利技术所述的分布式身份验证方法,能够可靠的实现身份认证,并且认证效率高,认证可靠,不占用本地资源。附图说明图1是本专利技术的身份认证流程图示意图;图2是本专利技术的注册流程图示意图。具体实施方式下面将结合本专利技术的附图,对本专利技术实施例的技术方案进行清楚、完整的描述。如图1所示,本专利技术所揭示的一种分布式身份验证方法,包括如下步骤:步骤S100,用户节点向调度节点发送认证请求,用户节点收到认证请求后选择验证节点;具体地,进行分布式身份验证时,用户节点首先向调度节点发送认证请求,用户节点接收到认证请求后,进一步选择验证节点。本实施例中,通过节点选择算法选择合适验证的验证节点,也即通过当前节点是否在线、网络带宽、延时、验证次数等条件进行筛选,实施时,首先,查看验证节点在线情况,选择一定数量并且处于在线的验证节点;最后,获取每个验证节点的节点质量指标NQI(NodeQualityIndex),节点质量指标NQI可通过如下公式计算:其中,NQI表示节点质量指标,B表示网络带宽,D表示网络延时,T表示验证次数。进一步选择节点质量指标最好的验证节点用于验证。步骤S200,验证节点发送认证要求至用户节点,用户节点对认证要求进行应答并将应答结果加密后发送至验证节点,所述认证要求包括至少一个随机数;具体地,本专利技术采用挑战/应答(Challenge/Response)机制,也即调度节点在每次收到认证请求时向用户节点发送一个不同的“挑战”字串或者一个随机数值,用户节点接收到“挑战”字串或者随机数值后作出相应的应答。实施时,还需判断用户是否为合法用户,也即用户节点向验证节点发送认证请求,要求进行身份认证,验证节点首先从存储节点中查询用户是否为合法用户,若是,则进行进一步操作,否则,不作进一步操作。当用户为合法用户时,验证节点内部产生一个随机数值,作为“挑战”发送至用户节点。用户节点进一步将自己的公钥和随机数值合并,并使用单向哈希(Hash)函数,如MD5算法,生成一个字节串作为应答结果,加密后发送至验证节点。步骤S300,验证节点对应答结果进行解密并验证应答结果是否有效,若有效,则认证成功,否则,认证失败;具体地,验证节点接收到应答结果后进行解密处理,将解密获得的应答结果与自身计算的结果进行比较,若两者相同,则通过认证,否则,认证失败,验证节点最终通知用户节点认证结果,也即通知用户认证成功或者认证失败。本实施例中,验证节点的个数可根据实际需求进行设定,并且随着验证节点的数量增多,安全性也会逐渐提升。步骤S400,验证节点根据用户节点的公钥从存储节点查找令牌信息,并将令牌信息与用户节点提供的认证信息进行匹配,判断验证认证信息是否有效,若有效,则根据用户数据生成新的认证信息并存储至存储节点,进一步向用户节点广播认证成功信息。具体地,验证节点根据用户节点提供的公钥从存储节点中查找令牌(Token)信息,当查找到令牌信息后进一步与用户节点提供的认证信息进行匹配,以验证认证信息的有效性。当验证节点验证成功后,不在本地存储用户数据,并对用户提供的数据进行哈希处理并签名,生成新的认证信息发送至存储节点,验证节点进一步广播用户节点认证成功信息。实施时,签名采用椭圆曲线签名算法,其具有安全性能高,存储空间小,处理速度快的优点,也即:用户的密钥对:(d,Q);(d为私钥,Q为公钥);待签名的信息:token;签名:Signature(token)=(r,s)。其中,签名过程包括:(1)根据ECC算法随机生成一个密钥对(k,R),R=(xR,yR);(2)令r=xRmodn,如果r=0,则返回步骤(1);(3)计算H=Hash(token);(4)按照数据类型转换规则,将H转化为一个bigendian的整数e;(5)s=k^-1(e+rd)modn,若s=0,则返回步骤(1);(6)输出的S=(r,s)即为签名。验证过程包括:计算H=Hash(token);按照数据类型转换规则,将H转化为一个bigendian的整数e;本文档来自技高网...

【技术保护点】
1.一种分布式身份验证方法,其特征在于,包括如下步骤:/n步骤S100,用户节点向调度节点发送认证请求,用户节点收到认证请求后选择验证节点;/n步骤S200,验证节点发送认证要求至用户节点,用户节点对认证要求进行应答并将应答结果加密后发送至验证节点,所述认证要求包括至少一个随机数;/n步骤S300,验证节点对应答结果进行解密并验证应答结果是否有效,若有效,则认证成功,否则,认证失败;/n步骤S400,验证节点根据用户节点的公钥从存储节点查找令牌信息,并将令牌信息与用户节点提供的认证信息进行匹配,判断验证认证信息是否有效,若有效,则根据用户数据生成新的认证信息并存储至存储节点,进一步向用户节点广播认证成功信息。/n

【技术特征摘要】
1.一种分布式身份验证方法,其特征在于,包括如下步骤:
步骤S100,用户节点向调度节点发送认证请求,用户节点收到认证请求后选择验证节点;
步骤S200,验证节点发送认证要求至用户节点,用户节点对认证要求进行应答并将应答结果加密后发送至验证节点,所述认证要求包括至少一个随机数;
步骤S300,验证节点对应答结果进行解密并验证应答结果是否有效,若有效,则认证成功,否则,认证失败;
步骤S400,验证节点根据用户节点的公钥从存储节点查找令牌信息,并将令牌信息与用户节点提供的认证信息进行匹配,判断验证认证信息是否有效,若有效,则根据用户数据生成新的认证信息并存储至存储节点,进一步向用户节点广播认证成功信息。


2.根据权利要求1所述的方法,其特征在于,在步骤S100之前,还包括如下步骤:
用户节点向调度节点发送注册请求,调度节点向用户节点发送注册要求;
用户节点生成密钥对,并根据注册要求填写注册信息并发送至调度节点,所述密钥对包括公钥和秘钥;
调度节点检测用户节点的注册信息是否满足要求,若是,则保存公钥并对注册信息进行加密获得令牌信息,进一步将令牌信息存储至存储节点,回应用户节点注册成功...

【专利技术属性】
技术研发人员:郑朝晖王健翔缪文豪
申请(专利权)人:上海海加网络科技有限公司
类型:发明
国别省市:上海;31

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

1