一种单系统多平台身份验证方法与流程

文档序号:12278708阅读:来源:国知局

技术特征:

1.一种单系统多平台身份验证方法,其特征在于,包括以下步骤:

S1、服务器获取客户机登录时使用的用户名和用户密码,然后访问数据库查找该用户是否存在,若存在则为该用户提供密文,否则提示错误并要求客户机重新登录;

S2、服务器接收客户机发送的对于限制资源的访问请求,并接收用户提交的密文;

S3、服务器验证密文,验证成功后进入步骤S4,验证不成功则执行第一调整方案;

S4、服务器解析密文,根据请求访问的客户机信息查询相关字段内容,根据各客户机的协议内容决定当前操作是否存在错误,如果没有错误则进入步骤S5,否则执行第二调整方案;

S5、服务器返回允许客户机访问限制资源的回执,并重新加密密文,将加密完成的密文重新发送给客户机。

2.根据权利要求1所述的单系统多平台身份验证方法,其特征在于,所述步骤S1具体包括以下子步骤:

S11、服务器获取客户机登录时使用的用户名和用户密码,访问数据库查找该用户是否存在,若存在则执行步骤S12,否则提示错误并要求客户机重新登录;

S12、从数据库中提取该客户机对象,提取token字段,若token字段为空则执行步骤S13,否则执行步骤S14;

S13、使用put方法,将当前客户机的标识信息、当前时间戳、当前登录客户机的平台信息加入到一个字符串—字符串图中,将字符串—字符串图加密成密文,置入缓存;

S14、解析token字段,将token字段还原为明文,从请求登陆的报文的首部提取agent字段,作为键值访问指定字段,将其修改为指定内容;再修改LastLogin字段为当前时间戳;修改完后加密成密文,置入缓存;

S15、返回登录成功信息,将密文加入到返回报文的首部作为客户机请求访问闲置资源的密文凭证。

3.根据权利要求2所述的单系统多平台身份验证方法,其特征在于,所述步骤S13加密过程包括以下子步骤:

S131、获取客户机的设备类型,使用put方法加入字符串—字符串图SecretMap中;

S132、获取当前程序包被安装的时间,使用put方法加入字符串—字符串图SecretMap中;

S133、获取系统时间,使用put方法加入字符串—字符串图SecretMap中;

S134、以JSON格式将字符串—字符串图SecretMap加密,使用的密语由程序开发时定义,由客户机和服务器硬编码保存。

4.根据权利要求3所述的单系统多平台身份验证方法,其特征在于,所述步骤S3中验证密文包括以下子步骤:

S31、服务器解析HTTP请求报文的头部信息,提取其中的验证协议约定字段,提取成功执行S32,否则执行S36;

S32、将提取到的验证协议约定字段进行解密,得到字符串-字符串图的结构,称其为StatusMap,提取HTTP请求报文中的客户机代理字段,依次获取客户机所处的平台;

S33、判断客户机使用的平台,若为web平台则执行步骤S331,若为非web平台则执行步骤S333;

S331、从StatusMap中提取web字段作为验证内容,分析是否出现协议内容错误,若协议内容无误则进行步骤S332;若协议内容有误则进行报错,并报告一次协议内容错误记录,然后执行步骤S34;

S332、判断协议内容与当前时间戳相比是否超时,如果出现超时则进行报错,并报告一次过时错误记录,然后执行步骤S34;若未超时则更新定时器,然后执行步骤S35;

S333、提取响应字段作为验证内容,按照各自协议内容维护持久登录信息,判断登陆信息是否验证成功,若验证成功则执行步骤S35;否则进行报错,并报告一次登陆错误记录,然后执行步骤S34;

S34、提示客户机错误信息,并要求重新登录;

S35、重新生成报文,并根据服务器与客户机的协议内容对报文进行加密,将新的报文加入服务器响应报文中的pretoken字段;

S36、无法提取验证协议约定字段或验证协议约定字段验证失败,意味着使用了过期协议报文,表示受到了会话固定的攻击方式,服务器产生攻击警告,并置入服务器日志;

S37、提取StatusMap中客户机身份信息内容,并将其作为业务逻辑中的令牌。

5.根据权利要求4所述的单系统多平台身份验证方法,其特征在于,所述步骤S3中的第一调整方案具体为:分析验证结果,查看是否存在密文语法错误,若存在则产生攻击警告,将当前的agent信息和IP地址信息置入危险客户源并输出到日志中,并提示错误信息,要求客户机重新提供密文;

若不存在密文语法错误则检查HTTP报文段中的请求信息,分析报文中agent和IP地址是否源自危险客户源,如果是则产生攻击警告,并将信息输出到日志中,然后要求客户重新提供密文;否则提示错误信息,要求客户端重新提供密文。

6.根据权利要求5所述的单系统多平台身份验证方法,其特征在于,所述步骤S4中解析密文包括以下子步骤:

S41、接收客户机发送的访问请求报文和密文,获取报文和密文接收到的时间戳,记为current;

S42、根据约定密语解析密文获取SecretMap,若解析成功执行步骤S43,否则产生攻击警告,将当前访问请求报文中的agent信息和IP地址信息置入危险客户源并输出到日志中,向客户机提示错误;

S43、解析SecretMap中的send字段,并与current比较,如果出现current早于send或者current与send的差超过2倍平均网络时延,则认为受到撞库攻击,产生攻击警告,将当前的agent信息和IP地址信息置入危险客源并输出到日志中,提示错误;否则执行步骤S44;

S44、解析SecretMap中的device段和install字段,通过device段和install字段向服务器查询该客户机是否为可信客户机,如果是则该密文通过验证,否则执行步骤S45;

S45、检查发送访问请求报文的客户机的操作:如果是登录请求则向客户机进行提示警告,要求客户机提供可信登录操作证明进行验证,验证通过后,将当前信息加入到服务器中进行存储,并将该客户机标识为可信客户机,该密文通过验证,若验证未通过,则向当前在线的客户机发送不可信操作警告,同时产生攻击警告,将当前的agent信息和IP地址信息置入危险客户源并输出到日志中,提示错误;如果客户机正在进行除登陆请求之外的其他操作,向当前在线的客户机发送不可信操作警告,同时产生攻击警告,将当前的agent信息和IP地址信息置入危险客户源并输出到日志中,提示错误。

7.根据权利要求6所述的单系统多平台身份验证方法,其特征在于,所述步骤S4中的第二调整方案具体为:判断当前错误类型,如果为超时类错误则提示错误,要求客户机重新登录,跳转登录页面;如果为密文错误则产生攻击警告,将当前的agent信息和IP地址信息置入危险客户源并输出到日志中,提示错误。

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