客户端认证方法技术

技术编号:29764645 阅读:26 留言:0更新日期:2021-08-20 21:18
本发明专利技术公开了一种客户端认证方法,所述方法包括:客户端向认证中心发送身份认证请求,认证中心认证通过后确定目标服务器,至少根据目标服务器的服务器地址和预设失效时间生成凭证内容,采用公共私钥对凭证内容进行数字签名得到凭证签名,并将凭证内容和凭证签名作为认证凭证返回;客户端按照服务器地址将认证凭证发送给目标服务器;目标服务器采用公共公钥对认证凭证进行签名验证,以及根据预设失效时间验证认证凭证是否有效,并在确定签名验证正确和认证凭证有效时向客户端返回验证成功消息;当客户端接收到验证成功消息后与目标服务器进行服务数据交互。本发明专利技术客户端认证方法有效避免了服务器密钥泄露的问题。

【技术实现步骤摘要】
客户端认证方法
本专利技术涉及安全
,尤其涉及一种客户端认证方法。
技术介绍
当前,客户端与提供远程桌面服务的服务器通过RFB远程控制协议进行远程桌面服务数据的交互。RFB支持vnc密码认证模式,客户端将用户输入的密码(服务器密钥)作为key加密随机串发送给服务器,服务器通过本地的密钥验证随机串,实现用户权限认证。由于远程桌面服务是部署在批量生成的远程桌面服务器上的,因此需要每个用户向每台服务器进行密钥交换,极大地增加了服务器密钥的泄露风险。
技术实现思路
本专利技术的主要目的在于提供一种客户端认证方法,旨在解决现有的客户端权限认证模式服务器密钥泄露风险大的技术问题。为实现上述目的,本专利技术提供一种客户端认证方法,所述方法应用于客户端,所述方法包括以下步骤:向认证中心发送身份认证请求,以供所述认证中心对所述身份认证请求进行认证通过后从对接的服务器中确定目标服务器,至少根据所述目标服务器的服务器地址和预设失效时间生成凭证内容,采用预设的认证中心的公共私钥对所述凭证内容进行数字签名得到凭证签名,并将所述凭证内容和所述凭证签名作为认证凭证返回给所述客户端;从所述认证中心接收到所述认证凭证后,按照所述认证凭证中的所述服务器地址将所述认证凭证发送给所述目标服务器,以供所述目标服务器采用与所述公共私钥对应的公共公钥对所述认证凭证进行签名验证,以及根据所述预设失效时间验证所述认证凭证是否有效,并在确定签名验证正确和所述认证凭证有效时向所述客户端返回验证成功消息;当接收到所述验证成功消息后,与所述目标服务器进行服务数据交互。可选地,所述认证中心还根据所述目标服务器的服务器公钥生成所述凭证内容,所述与所述目标服务器进行服务数据交互的步骤包括:生成第一随机数组,并采用从所述认证凭证中提取到的所述服务器公钥对所述第一随机数组加密得到第一加密随机数组;将所述第一加密随机数组发送给所述目标服务器,以供所述目标服务器采用与所述服务器公钥对应的服务器私钥对所述第一加密随机数组进行解密得到所述第一随机数组;接收所述目标服务器发送的第二加密随机数组,并采用所述服务器公钥对所述第二加密随机数组进行解密得到第二随机数组,其中,所述目标服务器生成所述第二随机数组并采用所述服务器私钥对所述第二随机数组加密得到所述第二加密随机数组;将所述第一随机数组和所述第二随机数组合并得到对称密钥,并与所述目标服务器采用所述对称密钥通过对称加密通道进行服务数据交互,其中,所述目标服务器采用与所述客户端相同的合并方式将所述第一随机数组和所述第二随机数组合并得到所述对称密钥。可选地,所述将所述第一随机数组和所述第二随机数组合并得到对称密钥的步骤包括:将所述第一随机数组和所述第二随机数组进行拼接得到拼接数组;计算得到所述拼接数组的摘要,并对所述摘要进行编码得到对称密钥。可选地,所述按照所述认证凭证中的所述服务器地址将所述认证凭证发送给所述目标服务器的步骤之前,还包括:从所述认证中心接收到所述认证凭证后,提取所述认证凭证中的凭证内容;对所述凭证内容采用预设编解码算法进行解码得到所述服务器地址、所述预设失效时间和所述服务器公钥,其中,所述认证中心至少将所述服务器地址、所述预设失效时间和所述服务器公钥采用所述预设编解码算法进行编码得到所述凭证内容。为实现上述目的,本专利技术还提供一种客户端认证方法,所述方法应用于认证中心,所述方法包括以下步骤:接收客户端发送的身份认证请求并对所述身份认证请求进行认证;当认证通过后从对接的服务器中确定目标服务器,并至少根据所述目标服务器的服务器地址和预设失效时间生成凭证内容;采用预设的认证中心的公共私钥对所述凭证内容进行数字签名得到凭证签名;将所述凭证内容和所述凭证签名作为认证凭证返回给所述客户端,以供所述客户端按照所述认证凭证中的所述服务器地址将所述认证凭证发送给所述目标服务器,所述目标服务器采用与所述公共私钥对应的公共公钥对所述认证凭证进行签名验证,以及根据所述预设失效时间验证所述认证凭证是否有效,并在确定签名验证正确和所述认证凭证有效时与所述客户端进行服务数据交互。可选地,所述采用预设的认证中心的公共私钥对所述凭证内容进行数字签名得到凭证签名的步骤之前,还包括:获取其他认证中心的公钥,并将本端的公钥传递给所述其他认证中心;生成本端随机数组并采用其他认证中心的公钥将所述本端随机数组通过加密方式发送给所述其他认证中心;获取所述其他认证中心的他端随机数组,其中,所述其他认证中心生成所述他端随机数组并采用本端的公钥将所述他端随机数组通过加密方式发送给本端;获取随机序列,其中,所述随机序列由本端或其他认证中心随机生成;采用预设随机排列算法按照所述随机序列对拼接数组进行随机排列得到公共随机数组,其中,本端和所述其他认证中心采用相同的拼接方式分别将所述本端随机数组和所述他端随机数组拼接得到所述拼接数组;采用预设密钥生成算法以所述公共随机数组为种子生成本端和所述其他认证中心共用的所述公共公钥和所述公共私钥,其中,所述其他认证中心采用所述预设随机排列算法按照所述随机序列对所述拼接数组进行随机排列得到所述公共随机数组,并采用所述预设密钥生成算法以所述公共随机数组为种子生成所述公共公钥和所述公共私钥。可选地,所述获取其他认证中心的公钥,并将本端的公钥传递给所述其他认证中心的步骤包括:将本端的公钥上传至区块链,以供其他认证中心从所述区块链上获取本端的公钥;从所述区块链上获取所述其他认证中心的公钥,其中,所述其他认证中心将他端的公钥上传至所述区块链;所述采用预设密钥生成算法以所述公共随机数组为种子生成本端和所述其他认证中心共用的所述公共公钥和所述公共私钥的步骤之后,还包括:将所述公共公钥上传所述区块链,并调用智能合约验证本端和所述其他认证中心上传的公共公钥是否相同;若相同则确定上链成功,以供本端对接的各个服务器从所述区块链中同步上链成功的所述公共公钥。可选地,所述获取随机序列,其中,所述随机序列由本端或其他认证中心随机生成的步骤包括:将所述本端随机数组转换得到的第一数值与所述他端随机数组转换得到的第二数值进行大小比较;当所述第一数值大于所述第二数值时,生成随机序列并采用本端的私钥对所述随机序列进行数字签名得到签名结果,将所述随机序列和所述签名结果采用所述其他认证中心的公钥进行加密得到加密序列,将所述加密序列发送给所述其他认证中心,以供所述其他认证中心采用他端的私钥对所述加密序列进行解密得到所述随机序列和所述签名结果,并在采用本端的公钥对所述随机序列和所述签名结果进行验证通过后确认获得所述随机序列;当所述第一数值小于或等于所述第二数值时,接收所述其他认证中心发送的加密序列,采用本端的私钥对所述加密序列进行解密得到随机序列和签名结果,并在采用所述其他认证中心的公钥对所述随机序列和所述签名结果进行验证通过后确本文档来自技高网...

【技术保护点】
1.一种客户端认证方法,其特征在于,所述方法应用于客户端,所述方法包括以下步骤:/n向认证中心发送身份认证请求,以供所述认证中心对所述身份认证请求进行认证通过后从对接的服务器中确定目标服务器,至少根据所述目标服务器的服务器地址和预设失效时间生成凭证内容,采用预设的认证中心的公共私钥对所述凭证内容进行数字签名得到凭证签名,并将所述凭证内容和所述凭证签名作为认证凭证返回给所述客户端;/n从所述认证中心接收到所述认证凭证后,按照所述认证凭证中的所述服务器地址将所述认证凭证发送给所述目标服务器,以供所述目标服务器采用与所述公共私钥对应的公共公钥对所述认证凭证进行签名验证,以及根据所述预设失效时间验证所述认证凭证是否有效,并在确定签名验证正确和所述认证凭证有效时向所述客户端返回验证成功消息;/n当接收到所述验证成功消息后,与所述目标服务器进行服务数据交互。/n

【技术特征摘要】
1.一种客户端认证方法,其特征在于,所述方法应用于客户端,所述方法包括以下步骤:
向认证中心发送身份认证请求,以供所述认证中心对所述身份认证请求进行认证通过后从对接的服务器中确定目标服务器,至少根据所述目标服务器的服务器地址和预设失效时间生成凭证内容,采用预设的认证中心的公共私钥对所述凭证内容进行数字签名得到凭证签名,并将所述凭证内容和所述凭证签名作为认证凭证返回给所述客户端;
从所述认证中心接收到所述认证凭证后,按照所述认证凭证中的所述服务器地址将所述认证凭证发送给所述目标服务器,以供所述目标服务器采用与所述公共私钥对应的公共公钥对所述认证凭证进行签名验证,以及根据所述预设失效时间验证所述认证凭证是否有效,并在确定签名验证正确和所述认证凭证有效时向所述客户端返回验证成功消息;
当接收到所述验证成功消息后,与所述目标服务器进行服务数据交互。


2.如权利要求1所述的客户端认证方法,其特征在于,所述认证中心还根据所述目标服务器的服务器公钥生成所述凭证内容,所述与所述目标服务器进行服务数据交互的步骤包括:
生成第一随机数组,并采用从所述认证凭证中提取到的所述服务器公钥对所述第一随机数组加密得到第一加密随机数组;
将所述第一加密随机数组发送给所述目标服务器,以供所述目标服务器采用与所述服务器公钥对应的服务器私钥对所述第一加密随机数组进行解密得到所述第一随机数组;
接收所述目标服务器发送的第二加密随机数组,并采用所述服务器公钥对所述第二加密随机数组进行解密得到第二随机数组,其中,所述目标服务器生成所述第二随机数组并采用所述服务器私钥对所述第二随机数组加密得到所述第二加密随机数组;
将所述第一随机数组和所述第二随机数组合并得到对称密钥,并与所述目标服务器采用所述对称密钥通过对称加密通道进行服务数据交互,其中,所述目标服务器采用与所述客户端相同的合并方式将所述第一随机数组和所述第二随机数组合并得到所述对称密钥。


3.如权利要求2所述的客户端认证方法,其特征在于,所述将所述第一随机数组和所述第二随机数组合并得到对称密钥的步骤包括:
将所述第一随机数组和所述第二随机数组进行拼接得到拼接数组;
计算得到所述拼接数组的摘要,并对所述摘要进行编码得到对称密钥。


4.如权利要求2或3任一项所述的客户端认证方法,其特征在于,所述按照所述认证凭证中的所述服务器地址将所述认证凭证发送给所述目标服务器的步骤之前,还包括:
从所述认证中心接收到所述认证凭证后,提取所述认证凭证中的凭证内容;
对所述凭证内容采用预设编解码算法进行解码得到所述服务器地址、所述预设失效时间和所述服务器公钥,其中,所述认证中心至少将所述服务器地址、所述预设失效时间和所述服务器公钥采用所述预设编解码算法进行编码得到所述凭证内容。


5.一种客户端认证方法,其特征在于,所述方法应用于认证中心,所述方法包括以下步骤:
接收客户端发送的身份认证请求并对所述身份认证请求进行认证;
当认证通过后从对接的服务器中确定目标服务器,并至少根据所述目标服务器的服务器地址和预设失效时间生成凭证内容;
采用预设的认证中心的公共私钥对所述凭证内容进行数字签名得到凭证签名;
将所述凭证内容和所述凭证签名作为认证凭证返回给所述客户端,以供所述客户端按照所述认证凭证中的所述服务器地址将所述认证凭证发送给所述目标服务器,所述目标服务器采用与所述公共私钥对应的公共公钥对所述认证凭证进行签名验证,以及根据所述预设失效时间验证所述认证凭证是否有效,并在确定签名验证正确和所述认证凭证有效时与所述客户端进行服务数据交互。


6.如权利要求5所述的客户端认证方法,其特征在于,所述采用预设的认证中心的公共私钥对所述凭证内容进行数字签名得到凭证签名的步骤之前,还包括:
获取其他认证中心的公钥,并将本端的公钥传递给所述其他认证中心;
生成本端随机数组并采用其他认证中心的公钥将所述本端随机数组通过加密方式发送给所述其他认证中心;
获取所述其他认证中心的他端随机数组,其中,所述其他认证中心生成所述他端随机数组并采用本端的公钥将所述他端随机数组通过加密方式发送给本端;
获取随机序列,其中,所述随机序列由本端或其他认证中心随机生成;
采用预设随机排列算法按照所述随...

【专利技术属性】
技术研发人员:廖颜华张俊麒胡朝新何凌峰陈涛苏小康张开翔范瑞彬
申请(专利权)人:深圳前海微众银行股份有限公司
类型:发明
国别省市:广东;44

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

1