安全Cookie的设计开发C# 第4页

C#安全Cookie的设计开发

1.4 安全Cookie设计的技术路线及预期目标

围绕1.3节中提出的解决方案,本设计的技术路线已经很明确。对于Cookie的“机密性”,需要选择一种加密算法,经过查阅文献资料来分析和对比各种加密解密算法,AES算法以其高度的安全性和优异的性能得到了采纳;同时,在加密算法中需要采用合理的电子签名算法来实现Cookie的“完整性”,经过对比,最终采纳了SHA1算法;在“可鉴别性”上,开发出MAC/IP绑定Cookie的鉴别方法来保证Cookie不被盗用。加密和电子签名使用ASP.NET的加密Cookie方法同时实现,MAC地址是调用Win32API使用ARP协议获取。

根据以上提出的设计思想,可以建立完整的系统模型。作为对比验证,本设计分别针对1.3节中确定的安全Cookie的三种特性建立了对比模型,分别为“明文Cookie模型”、“加密Cookie模型”、“MAC/IP地址绑定加密Cookie模型”。在“明文Cookie模型”中,用户登陆成功后,用户名被保存在Cookie中;在“加密Cookie模型”中,用户登陆成功后,生成身份验证票据,加密后保存在Cookie中;在“MAC/IP地址绑定加密Cookie模型”中,用户登陆成功后,获取客户端MAC/IP地址作为身份验证票据的自定义字段,生成身份验证票据并加密,存入Cookie中。经过对比测试,可确定“MAC/IP地址绑定加密Cookie模型”为安全Cookie设计。

确定了系统模型,使用Microsoft Visual Studio 2005使用C#来实际开发各个模型的ASP.NET网站模型。调试程序时,为了模拟真实的网络环境,需要使用三台互联的计算机,一台作为Web服务器,另外二台作为工作站。测试时需要使用一个Cookie修改工具和一个Cookie欺骗工具来对所设计的模型进行安全性测试。

按照以上列出的技术路线实施之后,可以充分证明“MAC/IP地址绑定加密Cookie模型”的设计实现了安全Cookie

本设计的预期目标是:通过本方案生成的Cookie信息在没有密钥的情况下几乎是不可能取得其信息的;即使系统的Cookie被非法盗取,使用该Cookie在其它电脑上登陆本系统,服务器程序可以识别,并拒绝该Cookie

第二章 Cookie技术分析

2.1Cookie技术概述

WEB技术发展史上,Cookie技术的出现是一个重大的变革。最先是Netscape在它的Netscape Navigator浏览器中引入了Cookie技术,从那时起,World Wide Web 协会就开始支持Cookie标准。以后又经过微软的大力推广(因为微软的IIS Web服务器所采用的ASP技术很大程度的使用了Cookie技术),即在微软的Internet Explorer浏览器中完全支持Cookie技术[15]。到现在,绝大多数的浏览器都支持Cookie技术,或者至少兼容Cookie技术的使用。

按照Netscape官方文档中的定义,Cookie是在HTTP协议下,服务器或脚本可以维护客户工作站上信息的一种方式。Cookie 是由Web服务器保存在用户浏览器上的小文本文件,它可以包含有关用户的信息(如身份识别号码、密码、用户在Web站点购物的方式或用户访问该站点的次数)。无论何时用户链接到服务器,Web站点都可以访问Cookie信息。[15]

一般来说,Cookie通过HTTP Headers从服务器端返回到浏览器上。首先,服务器端在响应中利用Set-Cookie header来创建一个Cookie ,然后,浏览器在它的请求中通过Cookie header包含这个已经创建的Cookie,并且返回至服务器,从而完成浏览器的论证。目前有些Cookie 是临时的,另一些则是持续的。临时的Cookie只在浏览器上保存一段规定的时间,一旦超过规定的时间该Cookie就会被系统清除。[3]

Cookie技术的应用,给网站带来了更多的功能,也给用户带来了极大的方便和个性化的体验,然而, 由于Cookie 以明文形式在浏览器和服务器间发送,任何可以截获 Web 通信的人都可以读取 Cookie、设置 Cookie 属性,而且Cookie信息也可以从用户的电脑上被盗走,所以不正当地利用此技术会造成用户信息的安全问题。因此,要保证Cookie使用中的安全,必须对Cookie信息进行加密处理,并且加入电子签名和合法性鉴别。[6]

2.2        Cookie技术

2.2.1 Cookie运行机制

Cookie运行机制如下图2.1-1[1]

2.1-1 Cookie的运行机制若图片无法显示请联系QQ3249114,C#安全Cookie的设计开发系统免费,转发请注明源于www.751com.cn

1客户方向服务器发起一个请求;

2服务器接收到请求后产生一个Set-Cookie 报头放在HTTP报文中一起发给客户方发起一次会话;

3客户端收到该应答后将Set-Cookie 中的内容取出形成一个TXT文件;

4当客户方再提出一个请求后将Cookie.txt中的内容读出产生Cookie报头放在HTTP请求报文中发给服务器

5服务器接收到包含Cookie报头的请求检索其Cookie中与用户有关的信息生成一个客户方所请示的页面应答传递给客户方这便是HTTP协议中的Cookie机制运行的基本过程以此来解决HTTP协议无连接无状态的问题

2.2.2 Cookie的结构

Cookie的结构如图2.2.2-1[3]

2.2.2-1 Cookie的结构

下面对Cookie6个属性分别详述:

Cookies Name 必需属性, 指明了Cookie 的名字, 由一系列字符(不包括括号、逗号和空格) 组成;

Cookies Value  Cookie的值,Web服务器存储在Cookie中的信息;

Domain    可选, 指明了Cookie的有效域范围, 默认为产生Cookie的服务器的名字;

Path   可选,指明了Cookie 在有效域中的有效路径, 在有效路径外的网页不可以读写Cookie,默认为产生此Cookie的文档的URL;

Secure 可选,如果标记一个Cookie为安全的, 那么仅当客户端与服务器的对话通道是安全的(HTTP over SSL),Cookie才会被传送.

Expire Date 可选, 指明了Cookie的存活期,一旦过期, Cookie将不再有效.expires为关键字,date由服务器指明,如果不指明, 系统默认Cookie将在用户会话结束后自动过期.

2.3           加密技术

加密算法可分为可逆加密算法和不可逆加密算法。其中可逆算法按照密钥类型不同可分为两类:对称加密算法(秘密密钥加密)和非对称加密算法(公开密钥加密)

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有