一种验证客户端的方法及系统的制作方法

文档序号:7691649阅读:154来源:国知局
专利名称:一种验证客户端的方法及系统的制作方法
技术领域
本发明涉及网络安全技术领域,具体涉及一种验证客户端的方法及系统。
背景技术
安全认证机制一直是软件系统设计中的重中之重,尤其是在金融、电 信、国家安全等领域的软件系统安全认证显得尤为重要。客户端与服务器 连接时,服务器会根据当前客户提交的安全认证信息来进行相应处理,决 定客户是否有权限进入系统,有哪些操作权限。具体的机制由系统本身的 方案决定。客户端软件是驻留在用户机器上的一段程序,需要在客户机器上运行,它与服务器交互并组成一套完整的系统。由于浏览器/月良务器(B/S, Browser/Server)架构的开发成本低、支持跨平台操作、维护升级方便、具 有良好的安全性、开放性和扩充性,而且不需要专门的客户端,只需要通 过浏览器就可以访问服务器,成为当今应用软件的首选体系结构。虽然具 有这种便捷性,但也带来了安全方面的隐患,往往需要一个简单、安全、 高效安全认证机制来弥补。现有技术中通常采用用户登录的方式,用户使 用系统前要先进行注册授权,其流程大致为1、 用户输入基本信息提交到服务器端进行注册,服务器将用户信息 保存到数据库并等待系统管理员的处理。2、 系统管理员根据用户信息批准或拒绝该用户的注册并进行相应的 授权。3、 服务器将用户的授权信息保存到数据库。4、 用户提交用户名、密码登录系统。5、 系统根据用户提供的用户名、密码与数据库保存的信息进行验证。 在实现本发明的过程中,发明人发现现有技术中至少存在如下问题这种 技术方案不能确保系统中所有服务的安全,只在系统入口处设置了鉴权, 对于系统中某些相对独立的服务,如果暴露了相应的接口就很容易被侵入。例如,由于Web网络用户接口 Web UI ( Web User Interface )中的远 程控制软件是采用Java Applet技术开发,用户可以将其下载到本地,然后 传播,只要能够获取服务端的IP和端口号,就可以脱离Web UI的鉴权而 任意操控服务器。当然,可以在这些相对独立的服务中采取该技术实施二次鉴权,但相 对比较繁瑣,需要用户再次输入鉴权信息。另外,现有技术需要数据库的 支持,还需要数据库的存取操作,耗费了一定的资源。在有大量客户的系 统中,这种缺点显得尤为明显。发明内容有鉴于此,本发明的目的在于提供一种验证客户端的方法及系统,可 使得对客户端的验证简单易行、安全可靠。本发明实施例提供一种验证客户端的方法,包括接收客户端的服务请求,根据所述服务请求产生一个密钥;将所产生的密钥分别发送给所述客户端和服务端;利用所述密钥,所述客户端和服务端之间进行交互对所述客户端进行 验证。本发明实施例提供的一种验证客户端的系统,包括客户端、服务端 及验证服务器,所述验证服务器,包括接收单元,用于接收客户端的请求;密钥产生单元,用于产生随机数,该随机数作为密钥;发送单元,将所述密钥产生单元产生的密钥分别发送给客户端和服务端;所述服务端接收所述客户端采用所述密钥加密的命令,对所述命令进 行解密、认证,当认证通过后,响应所述客户端的请求或命令,4丸行相应 的业务。本发明实施例还提供一种验证服务器,包括 接收单元,用于接收客户端的请求;密钥产生单元,用于根据所述客户端的请求产生一个随^L数作为密钥;发送单元,将所述密钥产生单元产生的密钥分别发送给客户端和服务 端,所述密钥用于所述客户端和服务端之间进行验证。综上所述,本发明实施例中,密钥通过一睑证服务端随机生成,通过协 议分发密钥进行权限验证。单独拥有客户端软件验证服务器登录进行初始 化也无法使用。由于使用服务需要登录验证服务器,通过验证服务器产生 的随机密钥来进行鉴权,从而根本上解决了直接通过客户端软件非法操控 服务器的安全隐患,避免用户为使用某些服务而进行二次登录,使得对客 户端的验证简单易行、安全可靠。


图1为本发明实施例中实现客户端验证的原理示意图; 图2为本发明实施例中实现客户端验证的方法流程图; 图3为本发明实施例一中实现客户端聪、〖正的方法流程图; 图4为本发明实施例二中实现客户端聪、汪的原理示意图; 图5为本发明实施例二中实现客户端驺ri正的方法流程图; 图6为本发明实施例二中实现客户端验证的系统构成示意图。
具体实施方式
为使得对客户端的验证简单易行、安全可靠,本发明实施例提供一种 客户端—睑i正方法及系统。参照图1,登录Web站点的用户请求需要进行安全认证的服务时,向 web服务器提交一个获取该项服务的请求,web服务器接受到此请求后, 根据程序算法产生一个随机数作为密钥,Web服务器将此密钥分别返回 到客户端与服务提供方。客户端根据此密钥加密所有的监控命令并且通过 私有协议封装,所有客户端发送的命令都会经过服务端权限-验证模块的验 证和解密,验证通过后再执行相应的业务。当服务端的权限-验i正才莫块在一 定时间内没有收到根据有效密钥加密的命令时,就会自动释》丈临时用户密 钥,该用户密钥也将失效。如果需要再次连4妄,则需要通过在Web站点上再次请求iU正。参照图2,本发明实施例提供的客户端—验证方法,包括 步骤SOl,客户端登录到Web服务器发送登录请求Login Request (用户名、密码)到Web服务器;步骤S02, Web服务器接收到该Login Request请求后,对该客户端进行身份验证;步骤S03, Web服务器在确认该客户端身份合法后,发送登录成功消 息给该客户端;步骤S04,客户端在收到登录成功的确i人信息后,发送月l务请求消息 给Web服务器,在此所述服务指需要进行安全认证的服务;步骤S05, Web服务器接收到该服务请求后,根据程序算法产生一 个随机数,以该随机数作为密钥;步骤S06, Web服务器将所产生的密钥采用https协议将所产生的密 钥发送给提供所述服务的服务端;步骤S07,服务端反馈所请求的服务可用的确认信息给AVeb服务器; 步骤S08, Web服务器采用https协议将所产生的密钥发送给客户端; 步骤S09,客户端向所述服务端发送带有所述密钥的服务连接请求, 具体的,所述客户端采用所述密钥,对所有的操作命令进行加密并且通过 私有协议封装形成所述服务连接请求;步骤SIO,对客户端发送的服务连接请求进行解密和验证,所述验证 由设置在服务端的权限验证模块执行;步骤Sll,服务端反馈服务请求的验证结果信息给客户端。 在验证验证通过后,服务端的应用服务器再执行相应的监控命令,并 反馈服务请求的确认信息给客户端。若验证未通过,则不做处理,并将验 证结果信息反馈给客户端。当服务端的权限验证模块在预定的时间内没有 收到根据有效密钥加密的监控命令时,就会自动释放临时用户,密钥也将 失效。如果需要继续进行连接,则需要通过在Web站点上再次请求认证。 下面结合具体实施例对本发明进行描述。 实施例一本实施例中,利用一个Web服务器作为载体,在客户端与服务端之 间建立一个可靠的权限验证方式,如果脱离了该Web服务器则权限验证不 能通过,充分利用了原有web站点的安全机制。参照图3,登录浏览器(Web站点)的用户请求需要进^f亍安全认证的 服务时,向web服务器提交一个获取该项服务的请求,web服务器接受到 此请求后,根据程序算法产生一个随机数作为密钥,Web服务器将此密钥 分别返回到客户端与服务端。客户端根据此密钥加密所有的监控命令并且 通过私有协议封装,所有客户端发送的命令都会经过服务端4又限验证模块 的验证和解密然后再执行相应的业务。当服务端的权限验证才莫块在一定时 间内没有收到根据有效密钥加密的监控命令时就会自动释放临时用户密 钥也将失效。如果需要再次连接需要通过在Web站点上再次i貪求认证。KVM即Keyboard (键盘)、Video (显示器)和Mouse (鼠标),KVM 系统为模拟本地键盘、鼠标和显示器来管理远程服务器的一种系统,本发 明实施例中的基于KVM系统中进行客户端—验^E,该系统包括web服务器、 KVM客户端以及KVM服务器,提供的客户端验证方法包4舌如下步骤 SlOl、客户端发送Https请求;用户通过浏览器登录web服务器,发送Https请求给web服务器;链接 对应生成密钥的URL;当用户点击该链接时会首先进入Web服务器的密钥产生才莫块来获取密钥。S102、 Web服务器根据所述Https请求产生密钥,采用https协议将 此密钥发送给KVM客户端;web服务器接受到此请求后,根据程序算法产生一个随机数作为密钥int verifyValue = generateRandom(); generateRandom()以Web服务器的日期时间作为因子生成随机数;S103 、 Web服务器采用https协议将所产生的密钥分发到KVM服务端; 将所产生的随机数作为密钥发送给KVM服务端; ServerKVM.keyCode = Web服务器产生的密钥; S104、 KVM客户端根据返回的密钥初始化,在显示Applet的Html标 签中,加入密钥参数以初始化KVM程序。<PARAM NAME = "verifyValue" VALUE="-1574763008 "> KVMApplet kvmApplet = new KVMApplet(Web服务器产生的密钥); 采用的Applet是用Java语言编写的一种小应用程序,可直4妾嵌入到 页面中,由支持Java的浏览器(IE或Netscape等)解释执行,它可以大大 提高Web页面和服务端的交互能力和动态执行能力。5105、 KVM客户端采用所述密钥对命令进行加密并且发送给KVM 服务端;KVM客户端采用Web服务器发送的随机数作为密钥,对所有的要发 送给服务端的命令进行加密并且通过私有协议封装;cmd = new RequestCmd(Web服务器产生的密钥,命令字); UDPSocket,sent(cmd);5106、 KVM服务端解析UDP报文并处理,利用所述密钥才是取并判断 加密命令的有效性;5107、 KVM服务端向KVM客户端返回应答信息,将判断加密命令 的结果发送给所述KVM客户端。在验证通过后,KVM服务器再执行相应的业务,并反々责月良务请求的 确认信息给KVM客户端。若验证未通过,则不做处理;并将验证结果反馈给客户端。当KVM服务器在预定的时间内没有收到根据有效密钥加密的命令 时,就会自动释放临时用户,密钥也将失效。如果需要继续进行连接,则 需要通过Web服务器再次请求认证。实施例二由于服务端密钥不限于从Web服务器的获取,只要是具有密钥产生 功能的服务器都可以提供,然后根据密钥初始化客户端业务模块,也可实现这种安全验证机制。参照图4,本实施例中,利用一个可产生密钥的验证服务器,在客户 端与服务端之间建立一个可靠的权限验证方式。参照图4,需要获得某种服务(如付费业务、特殊业务)的用户,首先需要进行安全认证的服务时,用户登录验证服务器,向验证服务器发送 一个获取该项服务的请求,验证服务器接受到此请求后,根据程序算法产 生一个随机数作为密钥,验证服务器将此密钥分别返回到客户端与服务端。客户端根据此密钥加密所有的监控命令并且通过私有协议封装,所有 客户端发送的命令经过服务端权限验证模块的验证和解密然后再执行相 应的业务。当服务端的权限验证模块在一定时间内没有收到根据有效密钥 加密的命令时,将自动释放临时用户密钥,该用户密钥也将失效。如果需 要再次连接需要通过向验证服务器再次请求密钥。本发明实施例中的用于客户端验证的系统包括验证服务器、客户端及服务端,如图5所示,本发明实施例提供的客户端验证方法,包括如下步 骤5201、 客户端发送服务请求给验证服务器;5202、 验证服务器根据所述服务请求产生密钥;具体的,验证服务器接受到此请求后,根据程序算法产生一个随机数 作为密钥;5203、 验证服务器将所产生的密钥发送给客户端;5204、 分发所述密钥到服务端;5205、 客户端利用所述密钥初始化业务^f莫块;5206、 客户端采用所述密钥加密命令,并通过私有协议封装该加密后 的命令得到UDP报文,然后将该UDP报文发送给服务端;5207、 服务端解析UDP报文并处理,提取所述密钥并判断命令的有 效性,将判断结果发送给所述客户端。参照图6,本发明实施例还提供一种验证客户端的系统,包括客户 端610、服务端630及验证服务器620,所述验证服务器620,包括接收单元621,用于接(R^户端的服务请求;密钥产生单元622,用于根据所述客户端的服务请求产生随机数,该 随机数作为密钥;发送单元623,将所述密钥产生单元产生的密钥分别发送症会客户端和 服务端;所述服务端630接收所述客户端610采用所述密钥加密的命令,对所 述命令进行解密、认证,当认证通过后,响应所述客户端610的请求或命 令,执行相应的业务。所述服务端630在预定时间内未收到所述客户端610发送的加密命 令,会自动释放所接收的密钥。综上所述,本发明实施例中,密钥通过验证服务器随机生成,通过协 议分发密钥进行权限验证。由于使用服务需要登录验证服务器,通过验证 服务器产生的随机密钥来进行鉴权,这样即使单独拥有客户端软件也无法 避开验证服务器操控服务端,从而根本上解决了直接通过客户端软件非法 操控服务器的安全隐患,避免用户为使用某些服务而进行二次登录,使得 对客户端的验证简单易行、安全可靠。而且,规定时间内没有进行操作会自动回收。权限的持有具有可控性, 分发的权限都具有临时性。另外,对控制命令进行双重保密,根据随机产 生的密钥加密并且通过私有协议封装所有控制命令,进一 步增强了安全 性。以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护 范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等, 均包含在本发明的保护范围内。
权利要求
1. 一种验证客户端的方法,其特征在于,包括接收客户端的服务请求,根据所述服务请求产生密钥;将所述产生的密钥分别发送给所述客户端和服务端,所述密钥用于所述客户端和所述服务端之间进行交互以对所述客户端进行验证。
2、 如权利要求l所述的方法,其特征在于,所述客户端和服务端之间 进行交互,具体包括所述服务端接收所述客户端采用所述密钥加密后的命令; 对所述加密后的命令进行解密、验证,当认证通过后,响应所述命令执 4亍相应的业务。
3、 如权利要求2所述的方法,其特征在于,还包括在预定时间内未收到客户端的加密命令,所述服务端自动释放所接收的 密钥。
4、 如权利要求2所述的方法,其特征在于,还包括 所述客户端采用私有协议对所述加密后的命令进行封装; 所述服务端对接收到的封装后的命令进行解封装得到所述加密后的命令。
5、 如权利要求1所述的方法,其特征在于,当接收客户端的请求的服务器为Web服务器,则所述Web服务器采用 https协议将所产生的密钥分别发送给所述客户端和服务端。
6、 一种验证客户端的系统,其特征在于,包括客户端、服务端及验 证服务器,所述验证服务器,包括接收单元,用于接收客户端的请求;密钥产生单元,用于4艮据所述客户端的请求产生密钥;发送单元,将所述密钥产生单元产生的密钥分别发送给客户端和服务端;所述服务端接收所述客户端采用所述密钥加密的命令,对所述加密的命 令进行解密、认证,当认证通过后,响应所述客户端的请求或命令,执行相 应的业务。
7、 如权利要求6所述的系统,其特征在于,所述服务端在预定时间内未收到客户端的加密命令,自动释;^文所接收的 密钥。
8、 一种验证服务器,其特征在于,包括 接收单元,用于接收客户端的请求;密钥产生单元,用于根据所述客户端的请求产生一个随机数作为密钥; 发送单元,将所述密钥产生单元产生的密钥分别发送给客户端和服务端,所述密钥用于所述客户端和服务端之间进行交互,以对所述客户端进行验证。
9、 如权利要求8所述的验证服务器,其特征在于,所述—验证服务器为 Web服务器,所述发送单元采用https协议将所产生的密钥分别发送给所述客户端和 服务端。
10、 如权利要求8所述的验证服务器,其特征在于,还包括 解封装单元,用于对接收到的客户端采用私有协议对所述加密后的命令进行封装后的命令进行解封装。
全文摘要
本发明公开一种验证客户端的方法,包括接收客户端的服务请求,并产生密钥;将所产生的密钥分别发送给所述客户端和服务端,利用所述密密钥,所述客户端和服务端之间进行交互对所述客户端进行验证。本发明还提供了一种验证客户端的系统,包括服务端、客户端、验证服务器,该验证服务器具体包括接收单元、密钥产生单元、发送单元;服务端接收客户端采用密钥加密的命令,对所述命令进行解密、认证,当认证通过后,响应所述客户端的请求或命令,执行相应的业务。根据本发明使得对客户端的验证简单易行、安全可靠。
文档编号H04L9/32GK101277192SQ200810094068
公开日2008年10月1日 申请日期2008年4月25日 优先权日2008年4月25日
发明者彭建嘉, 徐道荣 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1