基于加密技术的Cookie安全防护方法及服务器技术

技术编号:20369898 阅读:45 留言:0更新日期:2019-02-16 20:03
本发明专利技术涉及信息安全领域,本发明专利技术是要解决现有网络传输中的Cookie容易被网站攻击者获取,通过Cookie发起注入类攻击造成服务器安全性不高的问题,提出一种基于加密技术的Cookie安全防护方法及服务器,所述方法主要包括以下步骤:通过对Set‑Cookie函数的键值进行加密重写,再将重写后的Set‑Cookie函数定义的Cookie发送至浏览器,当服务器收到包含该Cookie的请求数据包后,对Cookie所使用的Set‑Cookie函数的键值解密成功后再读取Cookie中的信息,防止网站攻击者窃取Cookie,避免用户信息泄露,防止注入类攻击,提高了用户信息及服务器的安全性,适用于Web服务器。

Cookie Security Protection Method and Server Based on Encryption Technology

The invention relates to the field of information security. The invention aims to solve the problem that Cookie in existing network transmission is easy to be acquired by website attackers, and the server security is not high due to injecting class attacks initiated by Cookie. A Cookie security protection method and server based on encryption technology are proposed. The method mainly includes the following steps: through the key value of Set Cookie function. Encryption rewrite, and then send the rewritten Set Cookie function definition Cookie to the browser. When the server receives the request packet containing the Cookie, it decrypts the key value of Set Cookie function used by Cookie and reads the information in Cookie after successful decryption, so as to prevent website attackers from stealing Cookie, avoid user information leakage, prevent injection attacks, and improve user information and Server security, suitable for Web servers.

【技术实现步骤摘要】
基于加密技术的Cookie安全防护方法及服务器
本专利技术涉及信息安全
,具体来说涉及一种Cookie安全防护方法及服务器。
技术介绍
Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用Cookie)。Cookie名称和值可以由服务器端开发自己定义,对于JSP而言也可以直接写入jsessionid,这样服务器可以知道该用户是否是合法用户以及是否需要重新登录等,服务器可以设置或读取Cookie中包含信息,借此维护用户跟服务器会话中的状态。Cookie常用于保存用户ID,凭证,状态等关键信息,但是目前Cookie的内容是以明文保存,或者普通加密的方式对Cookie进行保护,仍然面临着容易被网站攻击者获取,通过篡改Cookie向服务器发起注入类攻击的风险,如跨站脚本攻击(XSS),服务器安全得不到保障。
技术实现思路
本专利技术的目的是要解决现有网络传输中的Cookie容易被网站攻击者获取,通过Cookie发起注入类攻击造成服务器安全性不高的问题,提出一种基于加密技术的Cookie安全防护方法及服务器。本专利技术解决上述技术问题所采用的技术方案是:基于加密技术的Cookie安全防护方法,包括以下步骤:S01.在服务器发送含有Cookie的响应数据包至浏览器之前,对发送所述Cookie的Set-Cookie函数的键值进行加密,获得加密密文,根据所述加密密文重写所述Set-Cookie函数;S02.将含有Cookie的响应数据包发送至所述浏览器,所述Cookie是由重写后的Set-Cookie函数定义的;S03.当服务器收到浏览器发送的包括所述Cookie的请求数据包后,对所述Cookie所使用的Set-Cookie函数的键值进行解密;S04.判断所述Cookie所使用的Set-Cookie函数的键值是否解密成功,若是,根据解密后的数据重写所述Cookie,若否,丢弃所述Cookie。进一步的,为指定发送包含Cookie的响应数据包的浏览器所在的客户端,步骤S01中,所述对发送所述Cookie的Set-Cookie函数的键值进行加密之前还包括:S11.在浏览器向服务器发送的请求数据包中获取UA字段的值以及安装该浏览器的客户端的外网IP地址;S12.将所述UA字段的值及外网IP地址以字符串的方式拼接;S13.根据Hash算法将所述拼接后的字符串生成密钥。进一步的,为提高安全性,步骤S01中,所述对发送所述Cookie的Set-Cookie函数的键值进行加密包括:将所述密钥作为AES加密密钥,根据AES加密函数对所述Set-Cookie函数的键值进行加密;步骤S03中,所述对所述Cookie所使用的Set-Cookie函数的键值进行解密包括:将所述密钥作为AES解密密钥,根据AES解密函数对所述Cookie所使用的Set-Cookie函数的键值进行解密。本专利技术还提出一种服务器,所述服务器包括:Set-Cookie函数加密单元,用于在服务器发送含有Cookie的响应数据包至浏览器之前,对发送所述Cookie的Set-Cookie函数的键值进行加密,获得加密密文;Set-Cookie函数重写单元,用于根据所述加密密文重写所述Set-Cookie函数;数据包发送单元,用于将含有Cookie的响应数据包发送至所述浏览器,所述Cookie是由重写后的Set-Cookie函数定义的;Cookie解密单元,用于当服务器收到浏览器发送包括所述Cookie的请求数据包后,对所述Cookie所使用的Set-Cookie函数的键值进行解密;判断单元,用于判断所述Cookie所使用的Set-Cookie函数的键值是否解密成功;Cookie重写单元,用于所述Cookie所使用的Set-Cookie函数的键值解密成功后,根据解密后的数据重写所述Cookie。进一步的,为指定发送包含Cookie的响应数据包的浏览器所在的客户端,所述服务器还包括:获取单元,用于在浏览器向服务器发送的请求数据包中获取UA字段的值以及安装该浏览器的客户端的外网IP地址;拼接单元,用于将所述UA字段的值及外网IP地址以字符串的方式拼接;密钥生成单元,用于根据Hash算法将所述拼接后的字符串生成密钥。本专利技术的有益效果是:本专利技术所述的基于加密技术的Cookie安全防护方法,通过对Set-Cookie函数的键值进行加密重写,再将重写后的Set-Cookie函数定义的Cookie发送至目标浏览器,当服务器后续收到包含该Cookie的请求数据包后,对Cookie所使用的Set-Cookie函数的键值进行解密成功后再读取Cookie中的信息,防止网站攻击者窃取Cookie,避免用户信息被泄露,防止基于Cookie的注入类攻击,如将攻击脚本注入Cookie中或对Cookie进行篡改对服务器进行攻击,提高了用户信息及服务器的安全性。附图说明图1为本专利技术实施例所述的基于加密技术的Cookie安全防护方法的流程示意图。具体实施方式下面将结合附图对本专利技术的实施方式进行详细描述。本专利技术所述的基于加密技术的Cookie安全防护方法,包括以下步骤:在服务器发送含有Cookie的响应数据包至浏览器之前,对发送所述Cookie的Set-Cookie函数的键值进行加密,获得加密密文,根据所述加密密文重写所述Set-Cookie函数;将含有Cookie的响应数据包发送至所述浏览器,所述Cookie是由重写后的Set-Cookie函数定义的;当服务器收到浏览器发送包括所述Cookie的请求数据包后,对所述Cookie所使用的Set-Cookie函数的键值进行解密;判断所述Cookie所使用的Set-Cookie函数的键值是否解密成功,若是,根据解密后的数据重写所述Cookie,若否,丢弃所述Cookie。所述服务器包括:Set-Cookie函数加密单元,用于在服务器发送含有Cookie的响应数据包至浏览器之前,对发送所述Cookie的Set-Cookie函数的键值进行加密,获得加密密文;Set-Cookie函数重写单元,用于根据所述加密密文重写所述Set-Cookie函数;数据包发送单元,用于将含有Cookie的响应数据包发送至所述浏览器,所述Cookie是由重写后的Set-Cookie函数定义的;Cookie解密单元,用于当服务器收到浏览器发送包括所述Cookie的请求数据包后,对所述Cookie所使用的Set-Cookie函数的键值进行解密;判断单元,用于判断所述Cookie所使用的Set-Cookie函数的键值是否解密成功;Cookie重写单元,用于所述Cookie所使用的Set-Cookie函数的键值解密成功后,根据解密后的数据重写所述Cookie。具体来说,服务器收到用户通过浏览器发送的访问请求后,会生成与用户相对应的Cookie,即用Set-Cookie函数定义一个Cookie,在定义的过程中,对Set-Cookie函数的键值进行加密重写,将由重写后的Set-Cookie函数所定义的Cookie封装至服务器返回至浏览器的响应数本文档来自技高网...

【技术保护点】
1.基于加密技术的Cookie安全防护方法,其特征在于,包括以下步骤:S01.在服务器发送含有Cookie的响应数据包至浏览器之前,对发送所述Cookie的Set‑Cookie函数的键值进行加密,获得加密密文,根据所述加密密文重写所述Set‑Cookie函数;S02.将含有Cookie的响应数据包发送至所述浏览器,所述Cookie是由重写后的Set‑Cookie函数定义的;S03.当服务器收到浏览器发送的包括所述Cookie的请求数据包后,对所述Cookie所使用的Set‑Cookie函数的键值进行解密;S04.判断所述Cookie所使用的Set‑Cookie函数的键值是否解密成功,若是,根据解密后的数据重写所述Cookie,若否,丢弃所述Cookie。

【技术特征摘要】
1.基于加密技术的Cookie安全防护方法,其特征在于,包括以下步骤:S01.在服务器发送含有Cookie的响应数据包至浏览器之前,对发送所述Cookie的Set-Cookie函数的键值进行加密,获得加密密文,根据所述加密密文重写所述Set-Cookie函数;S02.将含有Cookie的响应数据包发送至所述浏览器,所述Cookie是由重写后的Set-Cookie函数定义的;S03.当服务器收到浏览器发送的包括所述Cookie的请求数据包后,对所述Cookie所使用的Set-Cookie函数的键值进行解密;S04.判断所述Cookie所使用的Set-Cookie函数的键值是否解密成功,若是,根据解密后的数据重写所述Cookie,若否,丢弃所述Cookie。2.如权利要求1所述的基于加密技术的Cookie安全防护方法,其特征在于,步骤S01中,所述对发送所述Cookie的Set-Cookie函数的键值进行加密之前还包括:S11.在浏览器向服务器发送的请求数据包中获取UA字段的值以及安装该浏览器的客户端的外网IP地址;S12.将所述UA字段的值及外网IP地址以字符串的方式拼接;S13.根据Hash算法将所述拼接后的字符串生成密钥。3.如权利要求2所述的基于加密技术的Cookie安全防护方法,其特征在于,步骤S01中,所述对发送所述Cookie的Set-Cookie函数的键值进行加密包括:将所述密钥作为AES加密密钥,根据AES加密函数对所述Set-Cookie函数的键值进行加...

【专利技术属性】
技术研发人员:付强
申请(专利权)人:四川长虹电器股份有限公司
类型:发明
国别省市:四川,51

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

1