计算机网络课程设计 广东海洋大学文档格式.docx
《计算机网络课程设计 广东海洋大学文档格式.docx》由会员分享,可在线阅读,更多相关《计算机网络课程设计 广东海洋大学文档格式.docx(9页珍藏版)》请在冰点文库上搜索。
3.2在页面之间传递变量2
4Cookie的属性2
5Cookie的缺陷3
6Cookie的工作原理3
7Cookie数据的移动方式3
8Cookie的保存方式4
9Cookie限制4
10Cookie的生存周期4
11防范Cookie泄密的安全措施4
参考文献7
摘要
进入21世纪,随着网络的迅速发展,简单、单一的网页已经不能够满足现在的需要。
Cookies是一种可以让网站服务器把少量的数据存储在客户端的硬盘或内存,或者从客户端的硬盘读取数据的一种技术。
Cookies是当你浏览某网站时,由Web服务器置于你硬盘上的一个非常小的文本文件,它可以记录你的用户ID、密码、浏览过的网页、停留的时间等信息。
网站可以利用Cookies跟踪统计用户访问该网站的习惯,比如什么时间访问,访问了哪些页面,在每个网页的停留时间等。
利用这些信息,一方面是可以为用户提供个性化的服务,另一方面,也可以作为了解所有用户行为的工具,对于网站经营策略的改进有一定参考价值。
本论文正是针对Cookies进行深入剖析。
关键词:
cookies互联网安全
introduction
Enteredintwenty-firstCentury,withtherapiddevelopmentofnetwork,simple,singleWebpagealreadycouldnotsatisfythepresentneed.Cookiesisakindofcanletthewebservertoasmallamountofdataisstoredontheclient'
sdiskormemory,areaddatafromtheclientdiskor.Cookiesiswhenyouvisitasite,byaverysmalltextfilesfromtheWebserveronyourharddrive,itcanrecordtheuserID,password,viewyourhadWebpage,residencetimeandotherinformation.
Websitestrackstatisticsuserstoaccessthesiteusingthecookieshabits,suchaswhattimetovisit,visitwhichpage,ineachWebpageresidencetimeetc.Usingthisinformation,onecanprovidepersonalizedservicefortheusers,ontheotherhand,canalsobeusedasatooltounderstandalltheuserbehavior,andhasacertainreferencevaluetoimprovethesitemanagementstrategy.
Thisthesisisbasedonthecookiesanalysis.
Keywords:
cookie;
Internet;
SAFETY
互联网上Cookie之剖析
1概述
进入21世纪,其重要的特征是网络化、数字化和信息化,这是一个以网络为核心的时代。
网络传递信息速度之快,使之成为信息社会的命脉和发展知识经济的重要基础。
网络对社会经济的发展已经产生了不可估量的影响。
互联网是由一些使用公用语言互相通信的计算机连接而成的网络,即广域网、局域网及单机按照一定的通讯协议组成的国际计算机网络。
早期的互联网的应用非常简单,HTTP被设计为一种无状态的协议。
但是是现在用户可以通过互联网实现各种复杂的应用,这些应用需要互联网服务器能识别用户。
要实现这些功能,万维网服务器必须记住用户每次访问网站的状态信息。
Cookie正是对无状态的HTTP进行状态化的技术。
本文正是基于当今技术之下,针对目前Cookie的性质、特点,以及安全性等方面进行分析。
2Cookie
Cookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。
Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用Cookie)。
Cookie名称和值可以由服务器端开发自己定义,对于JSP而言也可以直接写入jsessionid,这样服务器可以知道该用户是否合法用户以及是否需要重新登录等,服务器可以设置或读取Cookies中包含信息,借此维护用户跟服务器会话中的状态。
3Cookie的作用
3.1记录访客的某些信息
例如可以利用Cookie纪录用户光临你的网页次数,或者访客曾经输入过的信息,某些网站(如XX)可以自动纪录你上次登录的用户名,用的就是Cookie。
3.2在页面之间传递变量
浏览器并不会保存当前页面上任何变量信息的,当页面被关闭,页面上的任何变量信息将随之消失。
另外一种方式就是使用Cookie,把变量以Cookie形式保存下来,然后在下一页通过读取该Cookie来获得变量的值。
4Cookie的属性
4.1Domain
域,表示当前Cookie所属于哪个域或子域下面。
此处需要额外注意的是,在C#中,如果一个Cookie不设置对应的Domain,那么在CookieContainer.Add(Cookies)的时候,会死掉。
对于服务器返回的Set-Cookie中,如果没有指定Domain的值,那么其Domain的值是默认为当前所提交的HTTP的请求所对应的主域名的。
比如访问,返回一个Cookie,没有指名Domain值,那么其为值为默认的。
4.2Path
表示Cookie的所属路径。
4.3Expiretime/Max-age
表示了Cookie的有效期。
Expire的值,是一个时间,过了这个时间,该Cookie就失效了。
或者是用Max-age指定当前Cookie是在多长时间之后而失效。
如果服务器返回的一个Cookie,没有指定其Expiretime,那么表明此Cookie有效期只是当前的Session,即是SessionCookie,当前Session会话结束后,就过期了。
对应的,当关闭(浏览器中)该页面的时候,此Cookie就应该被浏览器所删除了。
4.4Secure
表示该Cookie只能用HTTPS传输。
一般用于包含认证信息的Cookie,要求传输此Cookie的时候,必须用HTTPS传输。
4.5HTTPonly
表示此Cookie必须用于HTTP或HTTPS传输。
这意味着,浏览器脚本,比如JavaScript中,是不允许访问操作此Cookie的。
5Cookie的缺陷
1、Cookie会被附加在每个HTTP请求中,所以无形中增加了流量。
2、由于在HTTP请求中的Cookie是明文传递的,所以安全性成问题。
(除非用HTTPS)
3、Cookie的大小限制在4KB左右。
对于复杂的存储需求来说是不够用的。
6Cookie的工作原理
Cookie是web站点放置到你的硬盘上的程序。
它们驻留在你的计算机上收集关于你在因特网上所做的一切事情的信息,并且web站点可以在任何时候读取到Cookie收集到的所有信息。
关于Cookie的比较恰当的定义:
一个Cookie是web服务器存放在用户硬盘的一段文本,Cookie允许一个web站点在用户的机器存放一些文本的信息,并可以在以后重新获取它。
这个基于文本的信息存储着一些“键-值”对。
Cookie数据是简单的web站点放置在你的硬盘上的“键-值”对的文本,所有的Cookie文件都是如此。
Web站点保存这些数据,然后又可以取回来,一个web站点只能取回它自己存放在你机器的数据,不能看到其它的Cookie,也不能看到你机器上的其它任何东西。
一般来说,Cookie通过HTTPHeaders从服务器端返回到浏览器上。
首先,服务器端在响应中利用HTTP协议的Set-Cookieheader来创建一个Cookie,然后,浏览器在它的请求中通过Cookieheader包含这个已经创建的Cookie,并且将它返回至服务器,从而完成浏览器客户端的认证。
7Cookie数据的移动方式
1、如果你在你的浏览器中输入了web的URL,浏览器会象这个URL的web站点发送请求,比如,你在浏览器中输入一下URL:
http:
//,浏览器会将请求发送到baidu的web服务器,请求它的首页。
2、当浏览器发送请求时,它会查看你机器上跟域名有关的Cookie文件,如果存在同有关的Cookie,浏览器就会把相关的Cookie“键-值”对数据跟请求一起发送到服务器,如果不存在同有关的Cookie,则浏览器不发送Cookie到服务器。
3、baidu的web服务器收到Cookies数据和一个页面的HTTP请求,如果收到了Cookie“键-值”对,baidu的web服务器将能够使用它们。
4、如果没有收到Cookie“键-值”对,baidu的web服务器就能知道你以前没有访问过这个站点,服务器建立一个新的用户ID,并在把你所请求的页面发回到你的浏览器时,把用户ID“键-值”对发送到你的机器,你的硬盘就会驻留了对应这个站点的“键-值”对Cookie。
5、web服务器可以在你访问站点时,随时的更改“键-值”对或者加入一个新的“键-值”对。
6、同“键-值”对发送到客户端的还有同这个“键-值”对相关的一些其它信息,其中之一就是Cookie有效期,另一个就是路径(为了在同一个站点的不同部分关联不同的Cookie)。
你能够控制这个过程,你可以在你的浏览器中设置当web站点向你的机器发送Cookie时你是接受还是拒绝。
8Cookie的保存方式
InternetExplorer将站点的Cookie保存在文件名格式为<
user>
@<
domain>
.txt的文件中,其中<
是您的帐户名。
例如,如果您的名称user,您访问的站点为,那么该站点的Cookie将保存在名为user@.txt的文件中。
(该文件名可能包含一个顺序的编号,如user@[1].txt。
)Cookie文本文件是与用户相关的,所以会按照帐户分别保存。
9Cookie限制
一个Cookie会占用大约50个字符的基本空间开销(用于保存有效期信息等),再加上其中保存的值的长度,其总和接近4K的限制。
大多数浏览器只允许每个站点保存20个Cookie。
10Cookie的生存周期
Cookie可以保持登录信息到用户下次与服务器的会话,换句话说,下次访问同一网站时,用户会发现不必输入用户名和密码就已经登录了(当然,不排除用户手工删除Cookie)。
而还有一些Cookie在用户退出会话的时候就被删除了,这样可以有效保护个人隐私。
Cookie在生成时就会被指定一个Expire值,这就是Cookie的生存周期,在这个周期内Cookie有效,超出周期Cookie就会被清除。
有些页面将Cookie的生存周期设置为“0”或负值,这样在关闭页面时,就马上清除Cookie,不会记录用户信息,更加安全。
11防范Cookie泄密的安全措施
11.1加强安全防范意识
Cookie相对来说是无害的,但它能用于跟踪用户,使用Cookie必须意识到其固有的安全弱点。
保存在Cookie中的内容,完全有可能是用户的私人数据。
例如,网站为了方便用户,利用Cookie来保存会员的注册信息:
电子邮件地址、网站的用户名、用户密码、信用卡号码等,以便用户以后登录该网站时不用重新输入这些数据。
如果有人盗取了这样的Cookie文件,他就可以冒充登录网站,这将对用户的个人信息安全构成不可预测的威胁。
因此,只在Cookie中保存一些不重要的数据,如用户首选项或其它对应用程序没有重大影响的信息。
如果确实需要在Cookie中保存某些敏感信息,就要对其加密,以防被他人盗用。
可以对Cookie的属性进行设置,使其只能在使用安全套接字层(SSL)的连接上传输。
SSL并不能防止保存在用户计算机上的Cookie被他人读取或操作,但能防止Cookie在传输途中被他人截获。
11.2配置安全的浏览器
IE和Netscape浏览器的工具栏里,都有禁止Cookie的设置选项,都可以设置当某个站点要在用户的计算机上创建Cookie时,是否给出提示。
这样用户就可以选择允许或拒绝创建Cookie。
需要注意的是,某些网站的应用必须使用Cookie,简单地禁止可能导致无法正常浏览此类网站。
使用IE6会更安全。
最新的IE6提供了多种隐私保护功能,包括:
查看网站的P3P隐私策略,以了解该网站如何使用个人可识别信息;
通过Cookie隐私设置决定是否允许将网站的Cookie保存在计算机上;
在访问不符合隐私设置条件的站点时发出隐私警报。
用户可以有选择性地设置Cookie。
11.3安装Cookie管理工具
CookieCrusher。
LimitSoftware公司的Crusher适用于Netscape用户,其功能有:
管理计算机上已有的Cookie、设置禁止或允许创建Cookie的网站列表、在创建新Cookie与修改已经存在的Cookie时发出警告、禁止第三方网站Cookie、实时控制接受或拒绝来自站点的Cookie、记录Cookie活动日志、编辑Cookie等,并且在网上浏览时,程序独创的分析功能可以自动确定网站要求创建的Cookie的目的,如:
判断网站是把Cookie用于存储用户输入的资料还是准备利用Cookie跟踪用户的浏览习惯等。
CookiePaI。
除了浏览器能使用Cookie,其它的互联网软件也可能使用,如邮件程序等。
为了维护网络隐私的安全,同时又能保证一些互联网软件正确地使用Cookie文件,可以安装Kooka-burraSoftware公司的支持多种软件的Cookie管理工具CookiePaI。
它专门用于Cookie管理,支持用户查看、删除、编辑已经存在的Cookie,自动地实时控制是否接受Cookie,根据过期时间过滤Cookie,它还能够记录Cookie的活动,编辑拒绝或允许Cookie的网站列表。
11.4删除内存中的Cookie
Cookie的信息并不都是以文件形式存放在硬盘中,还有部分信息保存在内存里。
这类Cookie通常是用户在访问某些特殊网站时,由系统自动在内存中生成的。
一旦访问者离开该网站,系统又自动将Cookie从内存中删除。
对此,需要借助注册表编辑器来修改系统设置,运行Regedit,找到如下键值:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Cur-rentversion\InternetSettings\Cache\SpeciaIPaths\Cookies,这是Cookies在内存中的键值,把这个键值删除。
右键单击“Cook-ies”,再单击快捷菜单中的“删除”命令确认删除。
11.5使用AAS技术
2002年,美国IngrianNetworks公司发表了可以使Web站点免受“CookiePoisoning(Cookie篡改)”攻击的平台“ActiveAppIi-cationSecurity(AAS)”。
AAS平台能对Cookie内部的重要信息进行加密处理,并附上电子签名。
Web服务器每次和客户端进行通信时,将利用电子签名对Cookie的内容进行确认。
如果恶意用户删除了电子签名或者更改了信息内容,将会使电子签名和Cookie的内容无法再匹配。
这时,AAS便会阻止这条Cookie并拒绝向Web站点返回信息。
另外,该平台还对Cookie内容进行了3DES加密,解密需要口令,通过这种方法安全地保存Cookie。
WWW服务器和客户端之间的通信还全部利用了SSL连接方式,以确保通信路由的安全。
通过综合运用电子签名、加密、SSL连接等技术组成强效的安全方案,可以排除通信路由及数据存储两方面存在的脆弱性,杜绝对Cookie的篡改。
参考文献
[1]佚名.HttpCookie工作原理及其优点缺点介绍.
[2]佚名.Cookie安全性研究.
[3]孙丽娥,杨威.基于Cookie技术的信息安全研究.山西师范大学:
网络中心,2008.
[4]胡望忠,刘卫东.Cookie应用与个人信息安全研究.计算机应用与软件,2007,(3):
50-53.
[5]武丽芬,傅小丽.COOKIE.COOKIE,2010:
78.
[6]朱远文,张煜,常畅,王春东.基于Cookie的安全防护技术研究.竞赛优秀论文,2012,(9).
[7]于光许.基于Cookie技术的统一认证方案的研究.焦作大学学报,2012,(3)
[8]汤伟明.浅谈COOKIE技术.常州信息职业技术学院学报,2005,(3).
[9]钟子明.Cookie机制分析及其安全问题对策.桂林航天工业高等专科学校学报,2001,
(1).
总结
通过此次课程设计,对所学的有关计算机网络的知识有了比较全面的了解和应用,真正尝试到了理论联系实际的趣味,明白了“说是说、做是做,说和做是两码事儿”的古语。
此次设计巩固了理论基础知识,加深了对Cookie以及其相关应用、有关计算机网络的认识,且对word文档的操作有了更加高是水平。
同时也发现了自己知识的不足,特别是动手能力的缺乏,对以后的学习和实践有了比较强的指导意义。
使我感触最深的是做任何事都要细心,而且要有耐心,怀着执著的心去追求真理。
最后,要特地感谢肖洪生老师一直以来对我的帮助,是你的细心指导和关怀,使我能够顺利的完成这份课程设计。
老师的严谨治学态度、渊博的知识、无私的奉献精神使我们深受启迪。
从老师身上,我不仅学到了扎实、宽广的专业知识,也学到了做人的道理。
在此我要向我们的老师师致以最衷心的感谢和深深的敬意!