一种Cookie防篡改方法及装置制造方法

文档序号:7781360阅读:179来源:国知局
一种Cookie防篡改方法及装置制造方法
【专利摘要】本申请公开了一种Cookie防篡改方法及装置,该方法通过获取服务器返回给浏览器的响应数据包中的Cookie,其中,所述Cookie的所述首个字段中包含有用户通过所述浏览器访问所述服务器的各种信息数据,对所述Cookie的首个字段进行加密,并将含有加密Cookie的响应数据包发送至所述浏览器,从而实现了对用户访问服务器的数据信息的加密,进而保证了用户信息在网络传输过程中的安全性。
【专利说明】—种Cookie防篡改方法及装置
【技术领域】
[0001]本申请涉及互联网安全【技术领域】,尤其是一种Cookie防篡改方法及装置。
【背景技术】
[0002]随着互联网的发展,访问WEB网站逐渐成为人们获取信息的常用手段。用户在对所述网站进行访问时,发送的访问请求中不仅包含访问目标信息,还包含与用户自身相关的访问源信息。其中,所述访问源信息包含用户登录该网站的用户名及密码、用户在该网站定制的显示样式、用户在该网站浏览过的网页等。通常的,该网站的服务器使用Cookie技术保存所述访问源信息,并利用网络将所述Cookie在用户浏览器和网站服务器之间来回传输。
[0003]目前,在网络中传输的Cookie使用明文,容易被网站攻击者获取,造成用户信息的泄露。

【发明内容】

[0004]有鉴于此,本申请提供了一种Cookie防篡改方法及装置,用以解决现有技术中在网络中传输的Cookie使用明文,容易被网站攻击者获取,造成用户信息的泄露的问题。本申请提供的技术方案如下:
[0005]一种Cookie防篡改方法,包括:
[0006]获取服务器返回给浏览器的响应数据包中的Cookie ;
[0007]对所述Cookie的首个字段进行加密;
[0008]将含有加密Cookie的响应数据包发送至所述浏览器。
[0009]上述方法,优选的,所述对所述Cookie的首个字段进行加密,包括:
[0010]利用RC4算法,对所述Cookie的首个字段进行加密。
[0011]上述方法,优选的,在获取服务器返回给浏览器的响应数据包中的Cookie之后,还包括:
[0012]获取所述响应数据包中的目的IP地址;
[0013]依据预设加密算法,将所述目的IP地址与预设字符串生成标识;
[0014]在所述Cookie中添加所述标识;其中,添加的位置非所述Cookie的首个字段。
[0015]上述方法,优选的,在所述对所述Cookie的首个字段进行加密之后,还包括:
[0016]接收浏览器发送的非首个请求数据包;其中,所述非首个请求数据包中含有所述加密 Cookie ;
[0017]判断所述加密Cookie中是否包含有所述标识;
[0018]若是,对所述加密Cookie中的加密字段进行解密;将所述解密后的请求数据包发送至所述服务器;
[0019]若否,并不进行将所述请求数据包向所述服务器发送的操作。
[0020]本申请还提供了一种Cookie防篡改装置,包括:[0021]Cookie获取单元,用于获取服务器返回给浏览器的响应数据包中的Cookie ;
[0022]Cookie加密单元,用于对所述Cookie的首个字段进行加密;
[0023]数据包发送单元,用于将含有加密Cookie的响应数据包发送至所述浏览器。
[0024]上述装置,优选的,所述加密单元包括:
[0025]第一加密单元,用于利用RC4算法,对所述Cookie的首个字段进行加密。
[0026]上述装置,优选的,还包括:
[0027]IP获取单元,用于获取所述响应数据包中的目的IP地址;
[0028]标识生成单元,用于依据预设加密算法,将所述目的IP地址与预设字符串生成标识;
[0029]标识添加单元,用于在所述Cookie中添加所述标识;其中,添加的位置非所述Cookie的首个字段。
[0030]上述装置,优选的,还包括:
[0031]数据包获取单元,用于接收浏览器向所述服务器发送的非首个请求数据包;其中,所述非首个请求数据包中含有所述加密Cookie ;
[0032]判断单元,用于判断所述加密Cookie中是否包含有所述标识;若是,触发解密单元;
[0033]解密单元,用于对所述加密Cookie中的加密字段进行解密,并将所述解密后的请求数据包发送至所述服务器。
[0034]由以上技术方案可知,与现有技术相比,本申请提供了一种Cookie防篡改方法及装置,该方法通过获取服务器返回给浏览器的响应数据包中的Cookie,其中,所述Cookie的所述首个字段中包含有用户通过所述浏览器访问所述服务器的各种信息数据,对所述Cookie的首个字段进行加密,并将含有加密Cookie的响应数据包发送至所述浏览器,从而实现了对用户访问服务器的数据信息的加密,进而保证了用户信息在网络传输过程中的安全性。
【专利附图】

【附图说明】
[0035]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0036]图1为本申请一种Cookie防篡改方法一个实施例的流程图;
[0037]图2为本申请一种Cookie防篡改方法另一实施例的流程图;
[0038]图3为本申请一种Cookie防篡改方法又一实施例的流程图;
[0039]图4为本申请一种Cookie防篡改装置一个实施例的结构示意图;
[0040]图5为本申请一种Cookie防篡改装置另一实施例的结构示意图;
[0041]图6为本申请一种Cookie防篡改装置又一实施例的结构示意图。
【具体实施方式】
[0042]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0043]Cookie是用户通过浏览器访问服务器的某个资源时,由服务器在响应数据包中传送给所述浏览器的一片数据,服务器传送给各个浏览器的数据可以是不同的。
[0044]具体地,服务器接收到用户发送的访问请求后,会生成与该用户对应的Cookie,将该用户的信息保存在生成的所述Cookie中,将所述Cookie封装入返回给用户的响应数据包中。
[0045]当用户的浏览器接收到该响应数据包后,将该响应数据包的Cookie进行保存。当该用户再次向该网站发送访问请求时,浏览器会自动将保存的所述Cookie封装入所述再次发送的访问请求中。当然,需要对上述浏览器进行相关配置,如自动保存Cookie,才能实现上述功能。
[0046]而当服务器再次接收到包含有Cookie的请求数据包后,会根据所述Cookie中包含的用户信息作出相应反应动作,如从所述Cookie中获取所述用户曾浏览过的网页,根据该网页向该用户返回与该网页相关的网页内容。
[0047]请参阅图1,其示出了本申请一种Cookie防篡改方法一个实施例的流程图,本实施例可以包括:
[0048]步骤101:获取服务器返回给浏览器的响应数据包中的Cookie。
[0049]用户通过浏览器向服务器发送访问请求,以触发所述服务器返回与所述访问请求相对应响应数据包。服务器会生成与所述用户相对应的Cookie,将所述Cookie封装在所述响应数据包中,并将所述包含有Cookie的响应数据包返回给所述用户的浏览器。
[0050]所述获取该响应数据包的方式,可以是首先获取所述服务器返回给浏览器的响应数据包,该响应数据包中包含有HTTP响应头,所述HTTP响应头中包含有Cookie,然后解析所述响应数据包,从所述HTTP响应头中获取所述Cookie。其中,所述获取所述服务器返回的响应数据包的方式可以是利用现有技术中的抓包工具。
[0051]需要说明的是,所述Cookie可以是一条,也可以是多条。
[0052]步骤102:对所述Cookie的首个字段进行加密。
[0053]Cookie的形式可以是至少包含有名称标识与值属性,其中,所述Cookie的首个字段中包含值属性,对所述Cookie的首个字段进行加密,是对所述Cookie首个字段中的值内容进行加密。所述值内容是所述用户访问所述服务器的用户信息,例如,登录该服务器的用户名、密码,在该服务器上访问过的网页,在该服务器上下载过的内容等。另外,Cookie还可以包含有可选属性,如生存周期、路径、版本等。
[0054]其中,所述加密算法并不做限定,现有技术中能对所述Cookie的值属性进行加密的算法都属于本申请的保护范围。
[0055]步骤103:将含有加密Cookie的响应数据包发送至所述浏览器。
[0056]将包含有经过加密的Cookie的响应数据包返回给所述浏览器,以响应所述浏览器对所述服务器发送的访问请求。
[0057]在本实施例中,通过获取服务器返回给浏览器的响应数据包中的Cookie,其中,所述Cookie的所述首个字段中包含有用户通过所述浏览器访问所述服务器的各种信息数据,对所述Cookie的首个字段进行加密,并将含有加密Cookie的响应数据包发送至所述浏览器,从而实现了对用户访问服务器的数据信息的加密,进而保证了用户信息在网络传输过程中的安全性。
[0058]需要说明的是,还可利用应用于所述服务器的另一方法解决上述问题,具体的,该方法可以包括:接收所述服务器的发送模块返回给所述浏览器的响应数据包,对所述响应数据包中的Cookie的首个字段进行加密,并触发所述发送模块将包含有经过加密的Cookie的响应数据包返回给所述浏览器。
[0059]另外,上述实施例中Cookie的形式包括但不限定于所述上述形式,现有技术中任意位置字段包含有用户信息的Cookie都属于本申请的保护范围。相应地,步骤102中的加密位置字段包括但不限定于上述首个字段,只要是对Cookie中包含的用户信息字段进行加密都属于本申请的保护范围。
[0060]再者,上述实施例中的步骤102可以通过以下方式实现:
[0061]利用RC4算法,对所述Cookie的首个字段进行加密。
[0062]RC4算法是面向字节流的加密算法,通过在加密地过程中不断地修改变换表以达到算法强度和校验序列的完整性。具体地,将所述Cookie首个字段,即所述Cookie的值作为该算法的输入,利用预设参数及密钥进行随机处理后生成子密钥序列,将所述子密钥序列与所述Cookie的值内容进行异或运算后得到加密密文。
[0063]将所述Cookie首个字段的值内容更换为所述生成的加密密文,从而实现对所述Cookie首个字段的加密,即首个字段的值内容的加密。
[0064]请参阅图2,其示出了本申请一种Cookie防篡改方法另一实施例的流程图,本实施例可以包括:
[0065]步骤201:获取服务器返回给浏览器的响应数据包中的Cookie。
[0066]步骤202:对所述Cookie的首个字段进行加密。
[0067]其中,所述步骤201及步骤202与上述实施例的步骤101及步骤102相同,在此不
再赘述。
[0068]步骤203:获取所述响应数据包中的目的IP地址。
[0069]所述响应数据包中包含有目的IP地址字段,所述目的IP字段用于指向所述浏览器所在的计算机设备,以使所述响应数据包被返回给所述浏览器。例如,192.168.0.22。
[0070]步骤204:依据预设加密算法,将所述目的IP地址与预设字符串生成标识。
[0071]其中,所述预设字符串,是预先随意设置的一串字符串。将所述目的IP地址的前和/或后加上所述预设字符串,作为待加密对象。
[0072]当然,所述预设加密算法包括但不限定于MD5算法。
[0073]其中,MD5算法(Message-Digest Algorithm5,信息-摘要算法),将待加密文本作为输入内容,经过数据运算生成与该待加密文本唯一对应的整数值,将该整数值作为该待加密文本。具体地,MD5算法以512位分组来处理输入的所述目的IP地址及预设字符串,每一分组又划分为16个32位子分组,算法的输出由四个32位分组组成,将它们级联形成一个128位散列值,将该散列值确定为所述标识。
[0074]步骤205:在所述Cookie中添加所述标识;其中,添加的位置非所述Cookie的首个字段。[0075]其中,所述添加的方式可以是,在所述Cookie中添加新的属性如签名属性,将所述标识作为所述新的属性的值。
[0076]需要说明的是,所述Cookie的首个字段是与所述Cookie名称相对应的值内容,SP所述用户的访问信息,则所述标识不能添加在所述Cookie的首个字段处。
[0077]步骤206:将含有加密Cookie的响应数据包发送至所述浏览器。
[0078]需要说明的是,本实施例中的步骤203的执行顺序并不限定于此,可以是与步骤201同时执行,或可以是与步骤202同时执行,或可以是在步骤201与步骤202之间执行。
[0079]在本实施例中,通过生成与该浏览器相对应的标识,用该标识对所述浏览器向所述服务器发送的请求数据包进行标记。
[0080]请参阅图3,其示出了本申请一种Cookie防篡改方法又一实施例的流程图,在上一实施例的方法之后,本实施例可以包括:
[0081]步骤207:接收浏览器发送的非首个请求数据包;其中,所述非首个请求数据包中含有所述加密Cookie。
[0082]当用户的浏览器接收到所述服务器返回的所述响应数据包后,将该响应数据包的Cookie进行保存。当该用户再次向该网站发送请求数据包时,浏览器会自动将保存的所述Cookie封装入所述再次发送的请求数据包中。当然,需要对上述浏览器进行相关配置,如自动保存Cookie,才能实现上述功能。
[0083]需要说明的是,若所述服务器返回多条Cookie,所述浏览器将所述多条Cookie封装成一条Cookie添加到所述非首个请求数据包中。当然,所述Cookie是经过步骤202加密后的Cookie。
[0084]步骤208:判断所述加密Cookie中是否包含有所述标识;若是,执行步骤209 ;若否,并不进行将所述非首个请求数据包向所述服务器发送的操作。
[0085]所述判断方式可以是解析所述非首个请求数据包,以判断所述请求数据包中是否包含有所述标识。
[0086]需要说明的是,当所述加密Cookie中并不包含有所述标识时,将所述非首个请求数据包确定为Cookie经过篡改的数据包,并不将所述非首个请求数据包向所述服务器发送。同时,可将所述非首个请求数据包进行记录后并删除。其中,所述加密Cookie中并不包含有所述标识的情况可以包括以下情况:一是,所述加密Cookie中包含有标识属性字段,但该标识属性字段中的内容与所述步骤204中生成的标识并不相同。二是,所述加密Cookie中未包含有标识属性字段,则不包含有所述标识。当然,第二种情况中的Cookie是经过加密的。
[0087]需要说明的是,若接收到的请求数据包中的Cookie中未包含有标识属性字段,且所述Cookie也未经过加密,则可能是浏览器已经保存有未加密Cookie并将所述未加密的Cookie封装入步骤207中接收到的所述请求数据包中。可以将所述请求数据包发送至所述服务器,当接收到所述服务器返回的与该请求数据包对应的响应数据包时,对所述响应数据包中的Cookie加密,并将所述经过加密的Cookie向所述浏览器发送。当然,也可以不将所述请求数据包向所述服务器发送。
[0088]步骤209:对所述加密Cookie中的加密字段进行解密;将所述解密后的请求数据包发送至所述服务器;[0089]依据与所述加密算法相对应的解密算法即RC4算法,对所述加密Cookie进行解密,并将解密后的数据包发送至所述服务器,以使所述服务器正常地接收所述浏览器发送的请求数据包。
[0090]包含有Cookie的数据包可能被网络攻击者截获,并对所述数据包中的部分或全部内容进行篡改后向所述服务器进行发送。例如,将所述数据包的源IP地址进行修改,企图触发所述服务器将与所述请求数据包对应的响应数据包返回至所述篡改后的源IP地址。在本实施例中,通过生成与该浏览器相对应的标识,用该标识对所述浏览器向所述服务器发送的请求数据包进行标记,判断发送给所述服务器的请求数据包中加密Cookie中是否包含有所述标识,当不包含时,并不进行将所述请求数据包向所述服务器进行转发的操作,从而实现了保证用户信息安全性的目的。
[0091]需要说明的是,上述实施例方法可以应用于所述服务器与所述浏览器之间的网络中间设备,如所述服务器端的防火墙。具体实现方式是:
[0092]接收浏览器发送的首个请求数据包,并将该首个请求数据包发送至所述服务器,以触发所述服务器返回与该首个请求数据包对应的响应数据包,所述响应数据包中包含有与该浏览器对应的Cookie ;
[0093]接收所述首个响应数据包,对所述首个响应数据包中的Cookie进行加密,获取所述首个响应数据包中的目的IP地址,依据预设加密算法,将所述目的IP地址与预设字符串生成标识,在所述Cookie中添加所述标识;
[0094]将包含有加密Cookie的首个响应数据包返回给所述浏览器;
[0095]接收所述浏览器发送的非首个请求数据包;其中,所述非首个请求数据包中包含有所述加密Cookei ;
[0096]判断所述加密Cookie中是否包含有所述标识;若是,对所述加密Cookie进行解密,将所述解密后的非首个请求数据包发送至所述服务器;若否,并不执行所述解密及发送操作。
[0097]请参阅图4,其示出了本申请一种Cookie防篡改装置一个实施例的结构示意图,本实施例可以包括=Cookie获取单元401、Cookie加密单元402及数据包发送单元403。其中:
[0098]所述Cookie获取单元401,用于获取服务器返回给浏览器的响应数据包中的Cookie。
[0099]用户通过浏览器向服务器发送访问请求,以触发所述服务器返回与所述访问请求相对应响应数据包。服务器会生成与所述用户相对应的Cookie,将所述Cookie封装在所述响应数据包中,并将所述包含有Cookie的响应数据包返回给所述用户的浏览器。
[0100]所述Cookie获取单元401获取该响应数据包的方式,可以是首先获取所述服务器返回给浏览器的响应数据包,该响应数据包中包含有HTTP响应头,所述HTTP响应头中包含有Cookie,然后解析所述响应数据包,从所述HTTP响应头中获取所述Cookie。其中,所述Cookie获取单元401获取所述服务器返回的响应数据包的方式可以是利用现有技术中的抓包工具。
[0101]需要说明的是,所述Cookie获取单元401获取到的所述Cookie可以是一条,也可以是多条。[0102]所述Cookie加密单元402,用于对所述Cookie的首个字段进行加密。
[0103]Cookie的形式可以是至少包含有名称标识与值属性,其中,所述Cookie的首个字段中包含值属性,所述Cookie加密单元402对所述Cookie的首个字段进行加密,是对所述Cookie首个字段中的值内容进行加密。所述值属性内容是所述用户访问所述服务器的用户信息,例如,登录该服务器的用户名、密码,在该服务器上访问过的网页,在该服务器上下载过的内容等。另外,Cookie还可以包含有可选属性,如生存周期、路径、版本等。
[0104]现有技术中能对所述Cookie的值属性进行加密的算法都属于本申请的保护范围。
[0105]所述数据包发送单元403,用于将含有加密Cookie的响应数据包发送至所述浏览器。
[0106]所述数据包发送单元403将包含有经过加密的Cookie的响应数据包返回给所述浏览器,以响应所述浏览器对所述服务器发送的访问请求。
[0107]在本实施例中,所述Cookie获取单元401通过获取服务器返回给浏览器的响应数据包中的Cookie,其中,所述Cookie的所述首个字段中包含有用户通过所述浏览器访问所述服务器的各种信息数据,所述Cookie加密单元402对所述Cookie的首个字段进行加密,所述数据包发送单元403将含有加密Cookie的响应数据包发送至所述浏览器,从而实现了对用户访问服务器的数据信息的加密,进而保证了用户信息在网络传输过程中的安全性。
[0108]需要说明的是,还可利用应用于所述服务器的另一装置解决上述问题,具体的,该装置可以包括:接收模块,用于接收所述服务器的发送模块返回给所述浏览器的响应数据包;加密模块,用于对所述响应数据包中的Cookie的首个字段进行加密,并触发所述发送模块将包含有经过加密的Cookie的响应数据包返回给所述浏览器。
[0109]另外,上述实施例中Cookie的形式包括但不限定于所述上述形式,现有技术中任意位置字段包含有用户信息的Cookie都属于本申请的保护范围。相应地,所述Cookie加密单元402进行加密的加密位置字段包括但不限定于上述首个字段,只要是对Cookie中包含的用户信息字段进行加密都属于本申请的保护范围。
[0110]再者,上述实施例中所述Cookie加密单元402可以通过以下方式实现:第一加密单元。
[0111]所述第一加密单元,用于利用RC4算法,对所述Cookie的首个字段进行加密。
[0112]RC4算法是面向字节流的加密算法,通过在加密地过程中不断地修改变换表以达到算法强度和校验序列的完整性。具体地,所述第一加密单元将所述Cookie首个字段,即所述Cookie的值作为该算法的输入,利用预设参数及密钥进行随机处理后生成子密钥序列,将所述子密钥序列与所述Cookie的值内容进行异或运算后得到加密密文。
[0113]所述第一加密单元将所述Cookie首个字段的值内容更换为所述生成的加密密文,从而实现对所述Cookie首个字段的加密,即首个字段的值内容的加密。
[0114]请参阅图5,其示出了本申请一种Cookie防篡改装置另一实施例的结构示意图,本实施例可以包括=Cookie获取单元401、Cookie加密单元402、IP获取单元403、标识生成单元404、标识添加单元405及数据包发送单元406。其中:
[0115]所述单元401、402及406与上述实施例的说明相同,在此不作赘述。
[0116]所述IP获取单元403,用于获取所述响应数据包中的目的IP地址。[0117]所述IP获取单元403获取到的所述目的IP字段用于指向所述浏览器所在的计算机设备,以使所述响应数据包被返回给所述浏览器。例如,192.168.0.22。
[0118]所述标识生成单元404,用于依据预设加密算法,将所述目的IP地址与预设字符串生成标识。
[0119]其中,所述预设字符串,可以是预先随意设置的一串字符串。所述标识生成单元404将所述目的IP地址的前和/或后加上所述预设字符串,作为待加密对象。
[0120]当然,所述预设加密算法包括但不限定于MD5算法。
[0121]其中,MD5算法(Message-Digest Algorithm5,信息-摘要算法),将待加密文本作为输入内容,经过数据运算生成与该待加密文本唯一对应的整数值,将该整数值作为该待加密文本。具体地,所述标识生成单元404利用MD5算法以512位分组来处理输入的所述目的IP地址及预设字符串,每一分组又划分为16个32位子分组,算法的输出由四个32位分组组成,将它们级联形成一个128位散列值,将该散列值确定为所述标识。
[0122]所述标识添加单元405,用于在所述Cookie中添加所述标识;其中,添加的位置非所述Cookie的首个字段。
[0123]其中,所述标识添加单元405添加的方式可以是,在所述Cookie中添加新的属性如签名属性,将所述标识作为所述新的属性的值。
[0124]需要说明的是,所述Cookie的首个字段是与所述Cookie名称相对应的值内容,即所述用户的访问信息,则所述标识不能添加在所述Cookie的首个字段处。
[0125]需要说明的是,本实施例的所述IP获取单元403并不限定于此种连接方式。可以是与Cookie获取单元401相连,与所述Cookie获取单元401同时执行,或可以是所述Cookie加密单元402相连,与所述Cookie加密单元402同时执行,或可以是分别与所述Cookie获取单元401及所述Cookie加密单元402相连,被所述Cookie获取单元401触发执行,再触发所述Cookie加密单元402执行。
[0126]在本实施例中,所述标识生成单元404通过生成与该浏览器相对应的标识,用该标识对所述浏览器向所述服务器发送的请求数据包进行标记。
[0127]请参阅图6,其示出了本申请一种Cookie防篡改方法又一实施例的结构示意图,在图5所示实施例的基础上,本实施例还可以包括:数据包获取单元407、判断单元408及解密单元409。其中:
[0128]所述数据包获取单元407,用于接收浏览器发送的非首个请求数据包;其中,所述非首个请求数据包中含有所述加密Cookie。
[0129]当用户的浏览器接收到所述服务器返回的所述响应数据包后,将该响应数据包的Cookie进行保存。当该用户再次向该网站发送请求数据包时,浏览器会自动将保存的所述Cookie封装入所述再次发送的请求数据包中。当然,需要对上述浏览器进行相关配置,如自动保存Cookie,才能实现上述功能。
[0130]需要说明的是,若所述服务器返回多条Cookie,所述浏览器将所述多条Cookie封装成一条Cookie添加到所述非首个请求数据包中。当然,所述Cookie是经过所述Cookie加密单元402加密后的Cookie。
[0131]所述判断单元408,用于判断所述加密Cookie中是否包含有所述标识;若是,触发所述解密单元409 ;若否,并不进行将所述非首个请求数据包向所述服务器发送的操作。[0132]所述判断单元408的判断方式可以是解析所述非首个请求数据包,以判断所述请求数据包中是否包含有所述标识。
[0133]需要说明的是,当所述加密Cookie中并不包含有所述标识时,所述判断单元408将所述非首个请求数据包确定为Cookie经过篡改的数据包,并不将所述非首个请求数据包向所述服务器发送。同时,所述判断单元408可将所述非首个请求数据包进行记录后并删除。其中,所述加密Cookie中并不包含有所述标识的情况可以包括以下情况:一是,所述加密Cookie中包含有标识属性字段,但该标识属性字段中的内容与所述步骤204中生成的标识并不相同。二是,所述加密Cookie中未包含有标识属性字段,则不包含有所述标识。当然,第二种情况中的Cookie是经过加密的。
[0134]需要说明的是,若所述数据包获取单元407接收到的请求数据包中的Cookie中未包含有标识属性字段,且所述Cookie也未经过加密,则可能是浏览器已经保存有未加密Cookie并将所述未加密的Cookie封装入步骤207中接收到的所述请求数据包中。所述判断单元408可以将所述请求数据包发送至所述服务器,当Cookie获取单元接收到所述服务器返回的与该请求数据包对应的响应数据包时,Cookie加密单元对所述响应数据包中的Cookie加密,数据包发送单元将所述经过加密的Cookie向所述浏览器发送。当然,所述判断单元408也可以不将所述请求数据包向所述服务器发送。
[0135]所述解密单元409,用于对所述加密Cookie中的加密字段进行解密;将所述解密后的请求数据包发送至所述服务器;
[0136]所述解密单元409依据与所述加密算法相对应的解密算法即RC4算法,对所述加密Cookie进行解密,并将解密后的数据包发送至所述服务器,以使所述服务器正常地接收所述浏览器发送的请求数据包。
[0137]包含有Cookie的数据包可能被网络攻击者截获,并对所述数据包中的部分或全部内容进行篡改后向所述服务器进行发送。例如,将所述数据包的源IP地址进行修改,企图触发所述服务器将与所述请求数据包对应的响应数据包返回至所述篡改后的源IP地址。在本实施例中,标识生成单元404通过生成与该浏览器相对应的标识,用该标识对所述浏览器向所述服务器发送的请求数据包进行标记,所述判断单元408判断发送给所述服务器的请求数据包中的加密Cookie是否包含有所述标识,当不包含时,并不进行将所述请求数据包向所述服务器进行转发的操作,从而实现了保证用户信息安全性的目的。
[0138]需要说明的是,上述装置实施例可以应用于所述服务器与所述浏览器之间的网络中间设备,如所述服务器端的防火墙。具体可以通过以下方法实现:
[0139]第一接收单元,用于接收浏览器发送的首个请求数据包,并将该首个请求数据包发送至所述服务器,以触发所述服务器返回与该首个请求数据包对应的响应数据包,所述响应数据包中包含有与该浏览器对应的Cookie ;
[0140]第二接收单元,用于接收所述首个响应数据包,对所述首个响应数据包中的Cookie进行加密,获取所述首个响应数据包中的目的IP地址,依据预设加密算法,将所述目的IP地址与预设字符串生成标识,在所述Cookie中添加所述标识;
[0141]第一返回单元,用于将包含有加密Cookie的首个响应数据包返回给所述浏览器;
[0142]第三接收单元,用于接收所述浏览器发送的非首个请求数据包;其中,所述非首个请求数据包中包含有所述加密Cookei ;[0143]判断单元,用于判断所述加密Cookie中是否包含有所述标识;若是,触发第二返回单元;
[0144]第二返回单元,用于对所述加密Cookie进行解密,将所述解密后的非首个请求数据包发送至所述服务器;若否,并不执行所述解密及发送操作。
[0145]需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0146]以上对本发明所提供的一种Cookie防篡改方法及装置进行了详细介绍,对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文所定义一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
【权利要求】
1.一种Cookie防篡改方法,其特征在于,包括: 获取服务器返回给浏览器的响应数据包中的Cookie ; 对所述Cookie的首个字段进行加密; 将含有加密Cookie的响应数据包发送至所述浏览器。
2.根据权利要求1所述的方法,其特征在于,所述对所述Cookie的首个字段进行加密,包括: 利用RC4算法,对所述Cookie的首个字段进行加密。
3.根据权利要求1所述的方法,其特征在于,在获取服务器返回给浏览器的响应数据包中的Cookie之后,还包括: 获取所述响应数据包中的目的IP地址; 依据预设加密算法,将所述目的IP地址与预设字符串生成标识; 在所述Cookie中添加所述标识;其中,添加的位置非所述Cookie的首个字段。
4.根据权利要求3所述的方法,其特征在于,在所述对所述Cookie的首个字段进行加密之后,还包括: 接收浏览器发送的非首个请求数据包;其中,所述非首个请求数据包中含有所述加密Cookie ; 判断所述加密Cookie中是否包含有所述标识; 若是,对所述加密Cookie中的加密字段进行解密;将所述解密后的请求数据包发送至所述服务器; 若否,并不进行将所述请求数据包向所述服务器发送的操作。
5.一种Cookie防篡改装置,其特征在于,包括: Cookie获取单元,用于获取服务器返回给浏览器的响应数据包中的Cookie ; Cookie加密单元,用于对所述Cookie的首个字段进行加密; 数据包发送单元,用于将含有加密Cookie的响应数据包发送至所述浏览器。
6.根据权利要求5所述的装置,其特征在于,所述加密单元包括: 第一加密单元,用于利用RC4算法,对所述Cookie的首个字段进行加密。
7.根据权利要求5所述的装置,其特征在于,还包括: IP获取单元,用于获取所述响应数据包中的目的IP地址; 标识生成单元,用于依据预设加密算法,将所述目的IP地址与预设字符串生成标识;标识添加单元,用于在所述Cookie中添加所述标识;其中,添加的位置非所述Cookie的首个字段。
8.根据权利要求7所述的装置,其特征在于,还包括: 数据包获取单元,用于接收浏览器向所述服务器发送的非首个请求数据包;其中,所述非首个请求数据包中含有所述加密Cookie ; 判断单元,用于判断所述加密Cookie中是否包含有所述标识;若是,触发解密单元; 解密单元,用于对所述加密Cookie中的加密字段进行解密,并将所述解密后的请求数据包发送至所述服务器。
【文档编号】H04L29/06GK103618754SQ201310711796
【公开日】2014年3月5日 申请日期:2013年12月20日 优先权日:2013年12月20日
【发明者】奚道通, 孙应娥, 张青, 高隆林 申请人:山东中创软件商用中间件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1