基于Websocket的双因子认证系统及方法与流程

文档序号:14914675发布日期:2018-07-11 00:24阅读:835来源:国知局

本发明涉及一种认证系统及方法,具体地,涉及一种基于Websocket的双因子认证系统及方法。



背景技术:

在Web应用开发双因子认证功能,过去的实现方法只能利用微软的IE浏览器开发OCX组件才能完成。这使得需要进行双因子认证的用户不能选择其它浏览器来访问应用。

直到HTML5标准的发行,才使得这种情况得到改变。在HTML5的标准中包含一项技术,即:Websocket。WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信——允许服务器主动发送信息给客户端。WebSocket协议支持(在受控环境中运行不受信任的代码的)客户端与(选择加入该代码的通信的)远程主机之间进行全双工通信。用于此的安全模型是Web浏览器常用的基于原始的安全模式。协议包括一个开放的握手以及随后的TCP层上的消息帧。该技术的目标是为基于浏览器的、需要和服务器进行双向通信的(服务器不能依赖于打开多个HTTP连接(例如,使用XMLHttpRequest或<iframe>和长轮询))应用程序提供一种通信机制。



技术实现要素:

针对现有技术中的缺陷,本发明的目的是提供一种基于Websocket的双因子认证系统及方法,其通过UsbKey硬件来完成数据的加密和解密操作,性能可以得到保证。

根据本发明的一个方面,提供一种基于Websocket的双因子认证系统,其特征在于,包括用户认证模块、远程服务器、客户端、用户认证界面、Web服务器、UsbKey通信模块,用户认证模块、远程服务器、客户端、用户认证界面、Web服务器、UsbKey通信模块依次连接,Web服务器是用户的Web应用系统,UsbKey通信模块使用UsbKey接口实现Websocket与UsbKey交换数据的接口。

本发明还提供一种基于Websocket的双因子认证方法,其特征在于,包括以下步骤:

步骤一,用户从浏览器页面输入用户账户名、口令和UsbKey的PIN码,并传递给UsbKey;

步骤二,UsbKey通信模块使用PIN码获取UsbKey设备的认证;

步骤三,UsbKey设备使用Web服务器的公钥加密用户口令和UsbKey的标识;

步骤四,UsbKey设备使用自己的私钥签名被步骤五加密的结果;

步骤五,然后UsbKey设备将计算结果返回给浏览器;

步骤六,浏览器将计算结果提交给Web服务器进行验证;

步骤七,Web服务器根据用户名获取UsbKey的公钥并解密信息;

步骤八,Web服务器使用自己的私钥解密步骤七的结果;

步骤九,Web服务器再将得到的用户名和口令与系统中的账户进行认证。

优选地,所述Web服务器是用户的Web应用系统。

优选地,所述UsbKey通信模块使用UsbKey接口实现Websocket与UsbKey交换数据的接口。

与现有技术相比,本发明具有如下的有益效果:一,由于采用Websocket技术,产品的通用性变强。二,本发明通过UsbKey硬件来完成数据的加密和解密操作,性能可以得到保证。三,通过使用UsbKey硬件对相关数据进行加密保存,保证了应用的安全性。四,通过使用UsbKey,提升了用户的易用性。

附图说明

通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1为本发明基于Websocket的双因子认证系统的原理图。

图2为本发明基于Websocket的双因子认证方法的流程图。

具体实施方式

下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。

如图1所示,本发明基于Websocket的双因子认证系统包括用户认证模块、远程服务器、客户端、用户认证界面、Web服务器、UsbKey通信模块,用户认证模块、远程服务器、客户端、用户认证界面、Web服务器、UsbKey通信模块依次连接,Web服务器是用户的Web应用系统,UsbKey通信模块使用UsbKey接口实现Websocket与UsbKey交换数据的接口。

如图2所示,本发明基于Websocket的双因子认证方法包括以下步骤:

步骤一,用户从浏览器页面输入用户账户名、口令和UsbKey的PIN码,并传递给UsbKey;

步骤二,UsbKey通信模块使用PIN码获取UsbKey设备的认证;

步骤三,UsbKey设备使用Web服务器的公钥加密用户口令和UsbKey的标识;

步骤四,UsbKey设备使用自己的私钥签名被步骤五加密的结果;

步骤五,然后UsbKey设备将计算结果返回给浏览器;

步骤六,浏览器将计算结果提交给Web服务器进行验证;

步骤七,Web服务器根据用户名获取UsbKey的公钥并解密信息;

步骤八,Web服务器使用自己的私钥解密步骤七的结果;

步骤九,Web服务器再将得到的用户名和口令与系统中的账户进行认证。

Web服务器是用户的Web应用系统,这样方便操作。

UsbKey通信模块使用UsbKey接口实现Websocket与UsbKey交换数据的接口,这样方便通信。

以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1