一种基于认证设备进行认证的方法和设备技术

技术编号:12576600 阅读:115 留言:0更新日期:2015-12-23 16:35
本发明专利技术公开一种基于认证设备进行认证的方法和设备,该方法包括:客户端根据获取到的URI得到应用ID,向服务器发送根据应用ID和用户标识得到的设备认证请求;接收服务器发送的当前认证数据;根据当前认证数据中的挑战值得到客户端数据对象,对客户端数据对象和当前认证数据中的应用ID进行哈希运算得到客户端参数,获取当前认证数据中的密钥标识,向认证设备发送根据客户端参数、密钥标识和密钥标识长度组成的当前认证请求信息;接收认证设备返回的认证响应信息,向服务器发送根据认证响应信息、客户端数据对象和当前认证数据中的会话ID组成的签名验证请求;接收服务器返回的信息,若是成功信息则确定认证成功,否则确定认证失败。

【技术实现步骤摘要】

本专利技术涉及信息安全领域,尤其涉及一种基于认证设备进行认证的方法和设备
技术介绍
现有技术中,基于口令的在线身份认证技术存在很大风险,用户的口令可以通过猜测、网络盗取信用证书、网络钓鱼等技术手段获得,若用户使用的口令长度较短或者属于容易破译的弱口令,则易被攻击从而造成个人隐私信息泄漏甚至财产损失;传统的身份认证方法,需要客户端发送口令到远程服务器的口令库中进行比对,但是存在被拦截和破解的风险,而且口令储存在同一个远程服务器上,如果超级管理员帐号被盗,远程服务器中所有用户的口令均被泄漏。
技术实现思路
本专利技术的目的是为了克服现有技术的不足,提供一种基于认证设备进行认证的方法和设备,认证设备参与身份认证过程,实现线上快速身份验证,提高互联网的安全性。本专利技术提供的一种基于认证设备进行认证的方法,包括:步骤S1:客户端获取统一资源标识符,根据所述统一资源标识符得到应用ID,根据所述应用ID和用户输入的用户标识得到设备认证请求,向服务器发送所述设备认证请求;步骤S2:所述客户端接收所述服务器发送的当前认证数据;步骤S3:所述客户端根据当前认证数据中的挑战值得到客户端数据对象,对所述客户端数据对象和当前认证数据中的应用ID进行哈希运算得到客户端参数,获取当前认证数据中的密钥标识,将所述客户端参数、所述密钥标识和密钥标识长度组成当前认证请求信息,向认证设备发送当前认证请求信息;步骤S4:所述客户端接收所述认证设备返回的信息,判断接收到的信息的类型,若是认证失败信息则确定认证失败,结束,若是认证响应信息则执行步骤S5 ;步骤S5:所述客户端将所述认证响应信息、所述客户端数据对象和当前认证数据中的会话ID组成签名验证请求,向所述服务器发送所述签名验证请求;步骤S6:所述客户端接收所述服务器返回的信息,判断接收到的信息是否为成功信息,是则确定认证成功,否则确定认证失败。本专利技术还提供的一种基于认证设备进行认证的客户端,包括:第一生成模块、第一发送模块、第一接收模块、第二生成模块、第三生成模块、第一判断模块、第四生成模块和第二判断模块;所述第一生成模块,用于获取统一资源标识符,根据所述统一资源标识符得到应用ID,根据所述应用ID和用户输入的用户标识得到设备认证请求;所述第一发送模块,用于向所述服务器发送所述第一生成模块生成的所述设备认证请求,向认证设备发送所述第三生成模块生成的当前认证请求信息,向所述服务器发送所述第四生成模块生成的签名验证请求;所述第一接收模块,用于接收所述服务器返回的当前认证数据,接收所述认证设备返回的信息,接收所述服务器返回的信息;所述第二生成模块,用于根据所述第一接收模块接收到的当前认证数据中的挑战值得到客户端数据对象;所述第三生成模块,用于对所述第二生成模块生成的所述客户端数据对象和所述第一接收模块接收到的当前认证数据中的应用ID进行哈希运算得到客户端参数,获取当前认证数据中的密钥标识,将所述客户端参数、所述密钥标识和密钥标识长度组成当前认证请求信息;所述第一判断模块,用于判断所述第一接收模块接收到的认证设备返回的信息的类型,若是认证失败信息则确定认证失败,结束;所述第四生成模块,用于当所述第一判断模块判断出认证设备返回的信息是认证响应信息时,将所述认证响应信息、所述第二生成模块生成的所述客户端数据对象和所述第一接收模块接收到的当前认证数据中的会话ID组成签名验证请求;所述第二判断模块,用于判断所述第一接收模块接收到的所述服务器返回的信息是否为成功信息,是则确定认证成功,否则确定认证失败。本专利技术还提供的一种基于认证设备进行认证的服务器,包括:第二接收模块、第一解析模块、第七判断模块、第二获取模块、第五生成模块、第三获取模块、第八判断模块、第六生成模块、验证模块、第一更新模块和第二发送模块;所述第二接收模块,用于接收客户端发送的设备认证请求,接收所述客户端发送的签名验证请求;所述第一解析模块,用于对所述第二接收模块接收到的所述设备认证请求进行解析,得到应用ID和用户标识;对所述第二接收模块接收到的所述签名验证请求进行解析,得到认证响应信息、客户端数据对象和当前认证数据中的会话ID ;所述第七判断模块,用于根据所述第一解析模块解析得到的所述用户标识,在所述服务器中查找密钥记录,判断是否能够查找到与所述用户标识匹配的密钥记录;所述第二获取模块,用于当所述第七判断模块判断出能够查找到与所述用户标识匹配的密钥记录时,获取所述密钥记录作为当前密钥记录;所述第五生成模块,用于在所述第二获取模块获取到的当前密钥记录中获取密钥标识,生成与所述密钥标识对应的会话ID和挑战值,将所述挑战值、所述会话ID、所述第一解析模块解析得到的所述应用ID和所述密钥标识组成当前认证数据;所述第三获取模块,用于从所述第一解析模块解析得到的所述认证响应信息中获取认证设备的当前认证次数和签名结果;所述第八判断模块,用于判断所述第三获取模块获取到的所述认证设备的当前认证次数是否大于服务器中的当前认证次数,否则向所述客户端返回错误信息;所述第六生成模块,用于当所述第八判断模块判断出所述认证设备的当前认证次数大于所述服务器中的当前认证次数时,根据所述第一解析模块解析得到的所述会话ID查找对应的应用ID,对所述第一解析模块解析得到的所述客户端数据对象和查找到的所述应用ID进行哈希运算得到服务器参数,根据所述服务器参数和所述第三获取模块获取到的所述认证设备的当前认证次数组成验证数据;所述验证模块,用于根据所述第一解析模块解析得到的所述会话ID查找对应的密钥记录中的公钥,根据所述第六生成模块生成的所述验证数据、所述第三获取模块获取到的所述签名结果和查找到的所述密钥记录中的公钥,进行验签,判断是否验签成功;所述第一更新模块,用于当所述验证模块判断验签成功时,更新所述服务器中的当前认证次数;所述第二发送模块,用于当所述第七判断模块判断出不能够查找到与所述用户标识匹配的密钥记录时,向所述客户端返回错误信息;向所述客户端发送所述第五生成模块生成的当前认证数据;当所述第八判断模块判断出所述认证设备的当前认证次数不大于所述服务器中的当前认证次数时,向所述客户端返回错误信息;当所述验证模块判断验签成功时,向所述客户端返回成功信息;当所述验证模块判断验签失败时,向所述客户端返回错误信息。本专利技术还提供的一种基于认证设备进行认证的认证设备,包括:第三接收模块、第四获取模块、第十四判断模块、第七生成模块、签名模块、第二更新模块、第八生成模块和第三发送模块;所述第三接收模块,用于等待并接收客户端发送的当前认证请求信息,等待并接收来自用户的确认信息;所述第四获取模块,用于获取所述第三接收模块接收到的当前认证请求信息中的密钥标识;所述第十四判断模块,用于根据所述第四获取模块获取到的所述密钥标识在所述认证设备中查找对应的密钥对中的私钥,判断是否能够查找到与所述密钥标识对应的密钥对中的私钥;所述第七生成模块,用于当所述第十四判断模块判断出能够查找到与所述密钥标识对应的密钥对中的私钥时,根据所述认证设备的当前认证次数、所述第三接收模块接收到的当前认证请求信息中的客户端参数,得到待签名数据;所述签名模块,用于当所述第三接收模块接收到来自用户的所述确认信息时,使用查本文档来自技高网...

【技术保护点】
一种基于认证设备进行认证的方法,其特征在于,所述方法包括:步骤S1:客户端获取统一资源标识符,根据所述统一资源标识符得到应用ID,根据所述应用ID和用户输入的用户标识得到设备认证请求,向服务器发送所述设备认证请求;步骤S2:所述客户端接收所述服务器发送的当前认证数据;步骤S3:所述客户端根据当前认证数据中的挑战值得到客户端数据对象,对所述客户端数据对象和当前认证数据中的应用ID进行哈希运算得到客户端参数,获取当前认证数据中的密钥标识,将所述客户端参数、所述密钥标识和密钥标识长度组成当前认证请求信息,向认证设备发送当前认证请求信息;步骤S4:所述客户端接收所述认证设备返回的信息,判断接收到的信息的类型,若是认证失败信息则确定认证失败,结束,若是认证响应信息则执行步骤S5;步骤S5:所述客户端将所述认证响应信息、所述客户端数据对象和当前认证数据中的会话ID组成签名验证请求,向所述服务器发送所述签名验证请求;步骤S6:所述客户端接收所述服务器返回的信息,判断接收到的信息是否为成功信息,是则确定认证成功,否则确定认证失败。

【技术特征摘要】

【专利技术属性】
技术研发人员:陆舟于华章
申请(专利权)人:飞天诚信科技股份有限公司
类型:发明
国别省市:北京;11

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

1