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

C#安全Cookie的设计开发

2.3.6   算法对比

以上算法是目前常用的加密算法,表2.3.7-1对这些算法进行了对比。

2.3.7-1 常用加密算法比较

名称

算法类型

密钥长度

摘要长度

速度

资源消耗

安全性

MD5

散列分组

128

易受攻击,已有破解方法

SHA1

散列分组

160

不易受攻击,破解难度大

AES

对称分组

128192256

安全性高,尚未被破解

DES

对称分组

56

安全性中、破解难度大

3DES

对称分组

112168

安全性高

 

由上表可以看出,对于MD5SHA12中签名算法,前者在速度和资源消耗上占优势,但是相对于SHA1算法而言,安全性要低,容易受到攻击;后者虽然在效率上要差,但是考虑到Cookie信息的数据量并不多,对于目前的计算处理速度来说,不构成瓶颈,因此,选用SHA1算法进行电子签名比较合理。对于Cookie信息的加密采用的算法,可以明显看出AES算法无论在算法的效率还是安全级别都比DES3DES要高,毫无疑问的选择AES算法作为Cookie的信息加密算法。

2.4 小结

根据以上对Cookie结构的分析和加密算法的对比,可以清楚的看到,SHA1算法在安全性方面要比MD5高出很多,性能上的损失在当前计算机处理水平上可以忽略,因此确定采用SHA1算法对Cookie信息进行签名;AES算法无论在算法的效率还是安全级别都比DES3DES要高,因此确定对Cookie中的数据部分采用AES算法。

确定了本次设计的技术方案和设计路线,据此便可以设计出系统的模型。

第三章 系统模型设计

3.1 系统模型

本系统模型分为二个部分,Web服务器产生Cookie的模型(见图3.1-1)和Web服务器验证Cookie的模型(见图3.1-2

3.1-1 Web服务器生成Cookie模型

该模型展示了Web服务器产生Cookie信息的过程。原始信息中加入客户端特征信息(本设计中为客户端MAC地址或者IP地址),经过SHA1数字签名后使用AES加密算法加密,经过以上过程处理后的信息被加入到HTTP报文中发送至客户端浏览器。待下次客户端请求服务器时,发送该Cookie给服务器,服务器对其进行验证。如下图3.1-2所示。若图片无法显示请联系QQ3249114,C#安全Cookie的设计开发系统免费,转发请注明源于www.751com.cn

3.1-2 Cookie验证模型

该模型展示了客户端浏览器请求Web网站时,Web服务器对Cookie的验证过程。Web服务器获取HTTP头中的Cookie信息后,使用密钥将其内容解密,然后提取其中的签名信息,使用签名算法重新计算Cookie签名,若签名不符则拒绝该Cookie的业务操作,若签名通过,则比较Cookie中的客户端特征信息,若特征信息不符,则拒绝该Cookie的业务操作,若特征信息符合,则认为该Cookie合法,运行其进行业务操作。

通过以上对本设计的业务流程的分析,可以对系统的模型进行详细的设计。

3.2 模型设计

本设计中使用了3Cookie模型来说明安全Cookie的设计,分别为:明文Cookie模型(图3.2-1)、加密Cookie模型(图3.2-2)、MAC地址/IP地址绑定的加密Cookie模型(图3.2-3)。

3.2-1 明文Cookie模型

明文Cookie模型中,用户通过登陆页面输入用户名和密码登陆,验证失败重返登陆页,验证成功后将用户名放入Cookie信息中,然后服务器通过HTTP报文将Cookie发送至客户端浏览器,浏览器下次请求Web服务器时,发送CookieWeb服务器,Web服务器读取Cookie,确认用户身份。

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

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