防止会话劫持的方法、服务器以及终端技术

技术编号:20049810 阅读:43 留言:0更新日期:2019-01-09 05:48
本申请实施例公开了一种防止会话劫持的方法、服务器以及终端,用于防止攻击方恶意获取终端和服务器之间的身份认证信息,提高了终端和服务器之间的会话信息安全等级。本申请实施例方法包括:服务器自动创建会话标识,随机创建作为唯一标识符的令牌的数值,并不断更换令牌的数值,然后将该动态数值放入服务器和终端用于信息交互的数据包中,通过加密方式对数据包进行加密,从而双重保护终端和服务器之间进行信息交互的信息安全。

【技术实现步骤摘要】
防止会话劫持的方法、服务器以及终端
本申请涉及通信
,尤其涉及防止会话劫持的方法、服务器以及终端。
技术介绍
会话劫持是一种攻击者作为第三方通过获取终端的会话标识(SessionID)后,使用该合法的会话标识登录目标终端的用户帐号,伪装成合法用户,劫持终端和服务器之间的会话的攻击方法。而心跳机制是终端定时发送一个自定义的心跳包,让服务器知道终端还处于活动状态,以确保终端和服务器之间连接的有效性的机制。在终端和服务器之间需要进行会话之前,终端首先需要登录服务器以及进行与服务器之间的心跳包检测,在终端登录并获知终端和服务器之间正常连接后,终端向服务器发送业务信息。目前终端和服务器之间的会话机制,通常使用会话标识进行二者之间信息的交互。而会话机制中的会话标识通常保存在Cookie中,Cookie是指某些网站为了辨别用户身份、进行会话跟踪而储存在用户本地终端上的数据,这些数据通常都已经加密。当终端需要和服务器进行信息交互时,首先,终端需要登录服务器,通过登录请求信息将终端的用户帐号以及密码发送给服务器,服务器在接收到登录请求信息后,就会在服务器中自动创建会话标识,并建立终端的用户信息与该会话标识之间的用户身份识别映射关系,然后将该会话标识发送给终端,终端用该会话标识发送请求心跳包消息给服务器,当服务器通过用户身份识别映射关系以及该会话标识对终端认证成功后,服务器就会将心跳包通过心跳包响应消息发送给终端,最后终端还是使用会话标识将业务请求消息发送给服务器,服务器通过会话标识将第一业务消息通过业务响应消息发送给终端。然而,由于目前的技术中,会话标识始终是在终端和服务器之间作为可以进行该会话(信息交互)的身份凭证,而即使会话标识保存在Cookie中,并且已进行了加密,但是攻击方还是能够找到一些计算机安全漏洞恶意获取该会话标识,伪装成合法终端,攻击终端和服务器之间的会话,严重影响了终端和服务器之间的会话信息安全,二者之间的会话信息安全等级有待提高。
技术实现思路
本申请实施例提供了防止会话劫持的方法、服务器以及终端,能够防止攻击方恶意获取终端和服务器之间的身份认证信息,提高了终端和服务器之间的会话信息安全等级。本申请实施例提供了一种防止会话劫持的方法,包括:服务器验证终端发送的用户帐号以及密码;所述服务器创建与所述用户帐号对应的会话标识;所述服务器创建与所述会话标识对应的第一令牌;所述服务器建立所述用户信息与所述会话标识的用户身份识别映射关系,所述用户信息包括用户名在内的用户与所述服务器之间的会话信息;所述服务器通过加密方式向所述终端发送登录响应消息,所述登录响应消息携带所述第一令牌;所述服务器通过所述加密方式接收所述终端发送的心跳包请求消息,所述心跳包请求消息携带所述第一令牌;当所述服务器通过用户身份识别映射关系确定所述用户信息的认证成功时,所述服务器创建与所述会话标识对应的所述第二令牌;所述服务器通过所述加密方式向所述终端发送心跳包响应消息,所述心跳包响应消息携带所述第二令牌;所述服务器接收所述终端通过所述加密方式发送的第一业务请求消息,所述第一业务请求消息携带所述第二令牌;所述服务器通过所述加密方式向所述终端发送第一业务响应消息,所述第一业务响应消息中携带第一业务消息以及所述第二令牌。可选地,在所述服务器创建与所述会话标识对应的所述第二令牌之后,在所述服务器通过加密方式向所述终端发送心跳包响应消息之前,所述方法还包括:所述服务器重置所述会话标识的超时定时器;在所述服务器通过加密方式向所述终端发送第一业务响应消息之后,所述方法还包括:所述服务器接收所述终端通过加密方式发送的第二业务请求消息,所述第二业务请求消息携带所述第二令牌;当所述服务器确定所述超时定时器的时长达到预设时长阈值时,所述服务器创建与所述会话标识对应的第三令牌;所述服务器通过加密方式向所述终端发送登录响应消息,所述登录响应消息携带所述第三令牌。可选地,所述加密方式为加密协议。可选地,所述服务器通过加密方式向所述终端发送登录响应消息包括:所述服务器用所述用户帐号作为初始加密密钥,通过加密算法对登录响应数据包进行加密,所述登录响应数据包中包含有所述第一令牌;所述服务器向所述终端发送所述登录响应消息,所述登录响应消息携带用所述初始加密密钥加密的登录响应数据包,所述登录响应数据包中包含有所述第一令牌;所述服务器通过所述加密方式接收所述终端发送的心跳包请求消息包括:所述服务器接收所述终端发送的所述心跳包请求消息,所述心跳包请求消息携带用所述第一令牌加密的心跳包请求数据包;所述服务器使用所述第一令牌对所述心跳包请求数据包进行解密;所述服务器通过所述加密方式向所述终端发送心跳包响应消息包括:所述服务器用所述第一令牌作为加密密钥,通过所述加密算法对心跳包响应数据包进行加密,所述心跳包响应数据包中包含有所述第二令牌;所述服务器向所述终端发送所述心跳包响应消息,所述心跳包响应消息携带用所述第一令牌加密的所述心跳包响应数据包;所述服务器接收所述终端通过所述加密方式发送的第一业务请求消息包括:所述服务器接收所述终端发送的所述第一业务请求消息,所述第一业务请求消息携带用所述第二令牌加密的业务请求数据包;所述服务器使用所述第二令牌对所述第一业务请求数据包进行解密;所述服务器通过所述加密方式向所述终端发送第一业务响应消息包括:所述服务器用所述第二令牌作为所述加密密钥,通过所述加密算法对所述第一业务响应数据包进行加密;所述服务器向所述终端发送所述第一业务响应消息,所述第一业务响应消息携带用所述第二令牌加密的所述第一业务响应数据包,所述第一业务响应数据包中包含有第一业务消息。可选地,在所述服务器创建与所述会话标识对应的所述第二令牌之后,在所述服务器用所述第一令牌作为加密密钥,通过所述加密算法对心跳包响应数据包进行加密之前,所述方法还包括:所述服务器重置所述会话标识的超时定时器;在所述服务器向所述终端发送所述第一业务响应消息之后,所述方法还包括:所述服务器接收所述终端发送的第二业务请求消息,所述第二业务请求消息携带用所述第二令牌加密的业务请求数据包;当所述服务器确定所述超时定时器的时长达到预设时长阈值时,所述服务器创建新的会话标识以及第三令牌,所述新的会话标识与所述第三令牌相对应;所述服务器用所述第三令牌作为所述加密密钥,通过所述加密算法对所述登录响应数据包再次进行加密,所述登录响应数据包中包含有所述第三令牌;所述服务器向所述终端再次发送登录响应消息,所述登录响应消息携带用所述第三令牌加密的登录响应数据包,所述登录响应数据包中包含有所述第三令牌。可选地,所述心跳包响应消息还携带系统控制载荷,所述系统控制载荷为所述服务器进行控制操作的消息以及指令信息。可选地,所述加密协议包括基于安全套接字层的超文本传输协议(Hypertexttransferprotocoloversecuresocketlayer,HTTPS协议)、安全套接层协议(securesocketslayer,SSL协议)或安全传输层协议(transportlayersecurity,TLS协议)。可选地,所述加密算法包括:对称加密算法、异或加密算法或数据加密算法。本申请实施例提供了另一种防止会话劫持的方法,本文档来自技高网
...

【技术保护点】
1.一种防止会话劫持的方法,其特征在于,包括:服务器验证终端发送的用户帐号以及密码;所述服务器创建与所述用户帐号对应的会话标识;所述服务器创建与所述会话标识对应的第一令牌;所述服务器建立用户信息与所述会话标识的用户身份识别映射关系,所述用户信息包括用户名在内的用户与所述服务器之间的会话信息;所述服务器通过加密方式向所述终端发送登录响应消息,所述登录响应消息携带所述第一令牌;所述服务器通过所述加密方式接收所述终端发送的心跳包请求消息,所述心跳包请求消息携带所述第一令牌;当所述服务器通过用户身份识别映射关系确定所述用户信息的认证成功时,所述服务器创建与所述会话标识对应的所述第二令牌;所述服务器通过所述加密方式向所述终端发送心跳包响应消息,所述心跳包响应消息携带所述第二令牌;所述服务器接收所述终端通过所述加密方式发送的第一业务请求消息,所述第一业务请求消息携带所述第二令牌;所述服务器通过所述加密方式向所述终端发送第一业务响应消息,所述第一业务响应消息中携带第一业务消息以及所述第二令牌。

【技术特征摘要】
1.一种防止会话劫持的方法,其特征在于,包括:服务器验证终端发送的用户帐号以及密码;所述服务器创建与所述用户帐号对应的会话标识;所述服务器创建与所述会话标识对应的第一令牌;所述服务器建立用户信息与所述会话标识的用户身份识别映射关系,所述用户信息包括用户名在内的用户与所述服务器之间的会话信息;所述服务器通过加密方式向所述终端发送登录响应消息,所述登录响应消息携带所述第一令牌;所述服务器通过所述加密方式接收所述终端发送的心跳包请求消息,所述心跳包请求消息携带所述第一令牌;当所述服务器通过用户身份识别映射关系确定所述用户信息的认证成功时,所述服务器创建与所述会话标识对应的所述第二令牌;所述服务器通过所述加密方式向所述终端发送心跳包响应消息,所述心跳包响应消息携带所述第二令牌;所述服务器接收所述终端通过所述加密方式发送的第一业务请求消息,所述第一业务请求消息携带所述第二令牌;所述服务器通过所述加密方式向所述终端发送第一业务响应消息,所述第一业务响应消息中携带第一业务消息以及所述第二令牌。2.根据权利要求1所述的方法,其特征在于,在所述服务器创建与所述会话标识对应的所述第二令牌之后,在所述服务器通过加密方式向所述终端发送心跳包响应消息之前,所述方法还包括:所述服务器重置所述会话标识的超时定时器;在所述服务器通过加密方式向所述终端发送第一业务响应消息之后,所述方法还包括:所述服务器接收所述终端通过加密方式发送的第二业务请求消息,所述第二业务请求消息携带所述第二令牌;当所述服务器确定所述超时定时器的时长达到预设时长阈值时,所述服务器创建新的会话标识以及第三令牌,所述新的会话标识与所述第三令牌相对应;所述服务器通过加密方式向所述终端发送登录响应消息,所述登录响应消息携带所述第三令牌。3.根据权利要求1或2所述的方法,其特征在于,所述加密方式为加密协议。4.根据权利要求1所述的方法,其特征在于,所述服务器通过加密方式向所述终端发送登录响应消息包括:所述服务器用所述用户帐号作为初始加密密钥,通过加密算法对登录响应数据包进行加密,所述登录响应数据包中包含有所述第一令牌;所述服务器向所述终端发送所述登录响应消息,所述登录响应消息携带用所述初始加密密钥加密的登录响应数据包,所述登录响应数据包中包含有所述第一令牌;所述服务器通过所述加密方式接收所述终端发送的心跳包请求消息包括:所述服务器接收所述终端发送的所述心跳包请求消息,所述心跳包请求消息携带用所述第一令牌加密的心跳包请求数据包;所述服务器使用所述第一令牌对所述心跳包请求数据包进行解密;所述服务器通过所述加密方式向所述终端发送心跳包响应消息包括:所述服务器用所述第一令牌作为加密密钥,通过所述加密算法对心跳包响应数据包进行加密,所述心跳包响应数据包中包含有所述第二令牌;所述服务器向所述终端发送所述心跳包响应消息,所述心跳包响应消息携带用所述第一令牌加密的所述心跳包响应数据包;所述服务器接收所述终端通过所述加密方式发送的第一业务请求消息包括:所述服务器接收所述终端发送的所述第一业务请求消息,所述第一业务请求消息携带用所述第二令牌加密的业务请求数据包;所述服务器使用所述第二令牌对所述第一业务请求数据包进行解密;所述服务器通过所述加密方式向所述终端发送第一业务响应消息包括:所述服务器用所述第二令牌作为所述加密密钥,通过所述加密算法对所述第一业务响应数据包进行加密;所述服务器向所述终端发送所述第一业务响应消息,所述第一业务响应消息携带用所述第二令牌加密的所述第一业务响应数据包,所述第一业务响应数据包中包含有第一业务消息以及所述第二令牌。5.根据权利要求4所述的方法,其特征在于,在所述服务器创建与所述会话标识对应的所述第二令牌之后,在所述服务器用所述第一令牌作为加密密钥,通过所述加密算法对心跳包响应数据包进行加密之前,所述方法还包括:所述服务器重置所述会话标识的超时定时器;在所述服务器向所述终端发送所述第一业务响应消息之后,所述方法还包括:所述服务器接收所述终端发送的第二业务请求消息,所述第二业务请求消息携带用所述第二令牌加密的业务请求数据包;当所述服务器确定所述超时定时器的时长达到预设时长阈值时,所述服务器创建新的会话标识以及第三令牌,所述新的会话标识与所述第三令牌相对应;所述服务器用所述第三令牌作为所述加密密钥,通过所述加密算法对所述登录响应数据包再次进行加密,所述登录响应数据包中包含有所述第三令牌;所述服务器向所述终端再次发送登录响应消息,所述登录响应消息携带用所述第三令牌加密的登录响应数据包,所述登录响应数据包中包含有所述第三令牌。6.根据权...

【专利技术属性】
技术研发人员:杨坤元洪汉潮
申请(专利权)人:金蝶软件中国有限公司
类型:发明
国别省市:广东,44

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

1