欢迎来到天天文库
浏览记录
ID:5605660
大小:29.00 KB
页数:6页
时间:2017-12-19
《基于cookie与session身份认证机制探究和实现》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、基于Cookie与Session身份认证机制探究和实现 摘要Cookie是解决HTTP协议无状态性的主要方法,是实现Web认证的主要手段。通过系统分析Cookie的工作原理和应用特点,指出该认证机制容易遭受安全的威胁,提出并实现一种安全性较高的基于Cookie和Session相结合的身份认证的机制。关键词Cookie安全;Session;时间随机码;RSA公钥加密算法中图分类号:TP393文献标识码:B文章编号:1671-489X(2014)04-0036-026以Web技术为代表的Internet网络技术的迅速发
2、展,促使人类社会正逐渐进入一个以Internet为中心的信息时代。应用层协议HTTP是Web应用的实现基础,而HTTP协议本身是一种无状态的协议,不能记录客户端的状态信息。然而Web应用系统中很多情况下都需要维持这种状态信息,HTTP协议的这种无状态、面向非连接的缺陷很不利于Web应用的发展。为了解决这个问题,由Netscape公司推出了一项HTTP的状态管理机制——Cookie。Cookie的出现弥补了HTTP协议无状态、面向无连接的缺陷,为应用系统记录客户端的状态信息以及对访问者进行身份认证等操作程序的开发带来很
3、大方便。然而,由于Cookie信息在存储和传送过程中都是以明文形式进行的,当Cookie被作为一项便利的工具在Web中大量使用时,其安全性不得不引起用户的注意。本文主要分析Cookie的工作原理及应用特点,找出运用Cookie存在的安全隐患。针对这些安全隐患,提出并实现基于Cookie和Session相结合的身份认证机制,并且利用RSA公钥加密算法对Cookie信息进行加密,提高身份认证机制的安全性。1Cookie的工作原理及应用分析根据Netscape公司的官方文档中的定义,Cookie是指在HTTP协议下,服务器
4、或脚本可以维护客户端计算机上信息的一种方式[1]。Cookie是借助于HTTP报文头Set-Cookie来传送和交换信息的。Cookie定义了两种HTTP的报文头:Set-Cookie报文头和Cookie报文头。Set-Cookie报文头包含于Web服务器的响应头(ResponseHeader)中,Cookie报文头包含在浏览器客户端请求头(RequestHeader)中。当用户通过Web浏览器首次打开某一站点时,Web服务器将客户端的信息写进HTTP响应报文的Set-Cookie中,与HTTP响应一起发往Web浏览
5、器。当用户通过Web浏览器发送后续的请求时,Web浏览器要根据Web站点的URL从客户端取出Cookie,并添加到HTTP请求报文中发送给Web服务器。2Session机制的应用分析6Session在RFC2109中的定义是:允许客户端和服务器端通过使用HTTP的请求与响应头中的数据来交换状态信息的技术。实际上Session就是客户端和服务器通过Cookie建立的一种对应关系,这种对应关系在RFC2109(HTTPStateManagementMechanism)中被定义为术语“Session”。每一个Session
6、都是有始有终的,在用户登录时建立,在用户退出时删除。通过Cookie来建立Session是RFC2109中规定的标准方法。服务器在HTTP响应头的Set-cookie中设置Cookie值,与HTTP响应报文一起发往客户端;客户端在后续的访问中必须将Cookie值附加在HTTP请求报文的头部一起发往服务器。在服务器设置Set-cookie的同时也将Cookie的内容写入Session。为了让客户端的每一个Session都有唯一的一个Cookie与它对应,在Cookie中选择一个能够区分每一个Cookie的值作为Sess
7、ion的标识。这样,Cookie和Session之间通过这个值就建立了对应关系,根据Cookie就可以找到相应的Session了。在用户退出系统时,服务器会将与该用户相对应的Session删除。3基于Cookie和Session的身份认证机制的实现6根据上面介绍的基本原理,本文通过编写cgi程序在Linux平台上实现了基于Cookie和Session相结合的身份认证机制。本实现来源于网络视频监控系统项目中的一个模块,为了保证系统的安全性,用户登录系统后的所有操作都需要再次进行身份认证。为了方便用户的使用,后续的身份认
8、证不再需要用户输入用户名和密码,而是通过Cookie和Session自动进行身份认证。基于Cookie和Session的身份认证的原理及过程分析基于Cookie和Session的身份认证机制的实现原理是:比较Cookie中绑定的IP地址和系统自动生成的随机码与保存在Session中的IP地址和随机码是否一致,若一致则能够通过身份认证,否则不能够
此文档下载收益归作者所有