开篇:润墨网以专业的文秘视角,为您筛选了一篇基于Web的多重身份认证的设计与实现范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!
(邢台职业技术学院,河北邢台054035)
摘 要:本文介绍了在基于web的应用系统中的身份认证问题,设计并实现了基于多重认证技术的系统身份认证解决方案:利用防火墙防止外部用户登录;利用IP/MAC认证方法防止非法客户端的访问;通过用户名、密码及汉字验证码认证,防止利用程序的分析破解;利用服务器用户认证方法防止非法角色的访问;利用数据加密对数据库进行加密。
关键字:身份认证;Web;验证码
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2006)35-I0050-02
1 引言
随着以ASP.NET为代表的新的Web开发技术的兴起,基于B/S结构的Web应用在各行各业得到更广泛的应用,但如何设计安全的Web应用程序,有效地保护存储的信息不被窃取,降低受攻击的风险,也成为Web应用开发的首要问题。
身份验证技术是基于B,s模式的Web网络应用系统安全的重要环节,对于很多行业来说,它是解决Web网络应用系统安全问题的首要问题。目前独立于Internet网络的企业电子业务处理系统普遍采用静态的“用户名+密码”的身份认证方法。这类技术操作简便,实现成本低,但抗攻击能力很弱。笔者针对B/S结构公安技侦综合管理系统所遇到的身份认证的实际情况,结合目前国内外身份认证技术,提出一种基于IP/MAC认证、Web服务器用户认证、位图汉字验证码认证和用户名、密码认证的多重认证方法以及数据加密等多重加密技术。
2 基于Web的多重身份认证的设计
邢台市公安局技侦综合管理系统覆盖了案件的立案、审批、任务分配、侦办、查询、结案、调档等案件侦办的全过程,是一个面向多级、多部门、多用户的信息平台,根据公安业务的保密要求,系统访问控制要求严格。为此在系统的开发过程中采用了多重身份认证和多重技术来保证系统的安全性。
2.1 Web认证系统的认证流程
基于Web认证系统的认证流程示意图如图1所示。
①当客户端用户需要访问由Web服务器提供的某些资源时.向Web服务器提出认证请求。
②Web服务器弹出认证界面,包括用户名、口令、验证码输入框和随机生成的汉字图片验证码的图像,客户端用户输入认证信息(包括用户名、口令和验证码)。
③客户端向Web服务器提交用户名、口令和验证码。
④服务器系统对用户名、口令和验证码进行确认,这三项中任何一项出错进行相应的出错处理流程:只有这三项完全正确,才根据用户所属的角色拥有的权限进入相应的界面。用户在进行各种操作时。要对用户的操作权限进行验证。
用户名和口令存储在服务器端的数据库中,用户口令采用MD5加密存储,位图汉字验证码随机产生并与当前汇划关联。
2.2多重身份认证的设计
结合目前国内外身份认证技术,提出一种基于IP/MAC认证,用户名、密码及位图汉字验证码认证和Web服务器用户认证的多重认证方法。
(1)IP/MAC认证
通过指定合法的访问服务器的IP地址和MAC地址来防止非法客户端的访问,在服务器端配置合法的IP地址和MAC地址表进行IP和MAC认证。在服务器端定义合法客户端的IP和MAC表,此表可使用数据库表或XML文件方式。当有Web客户端连接到服务器端时,服务器使用定义的客户端IP和MAC来检查其合法性,若是合法的客户端IP和MAC.则进行下一步:否则,返回错误响应,并中止连接。
(2)用户名,密码认证和位图汉字验证码认证
传统的“用户名+密码”的二元认证方式,容易被恶意程序暴力破解,而用户名、密码和位图汉字验证码认证方式除要求用户输入用户名和密码之外,还要求手工输入随机生成的随机码(动态生成图片汉字验证码),有助于防止自动化的程序填写登录:同时限制错误登录次数和使用“扩展动态密码”,密码错误超过限制次数,即封欲登录陆者IP或ID,以降低恶意程序访问服务器的频率。页面中的随机码为汉字字符,用图形显示。每个随机码对应的图形不止一种,以防止非法程序的分析破解。
(3)Web服务器用户认证
当用户在客户端通过浏览器启动应用程序时,通过用户登录窗口首先按照输入的用户名(UserID)、口令和系统自动获取的登录计算机的IP地址和MAC地址进行身份验证,若验证成功则进入系统。用户登录系统进行某个功能页面后,通过PageBase中的SetRight()来判定用户是否有相应的权限。SetRight()调用MyU.tility.IsAllow()函数。如果在数据库中验证到相应的记录存在,则此用户在该页面具备相应的权限,否则页面上的需要权限的控件将被置为不可用。
(4)数据加密技术
在用户注册后,用户信息(用户密码)在数据库中如果以明文的方式存放会带来极大的安全隐患。利用System.Security.Cryp.tograghy命名空间中的类来实现数据的加密与解密。在新增用户时,存人数据库的是用户密码的MD5哈希值。在登录验证时根据用户输入的密码计算响应的MD5哈希值与数据库中的哈希值进行比较。为了消除SQL注入的隐患,使用带参数的存储过程来完成用户验证的过程。
(5)防火墙和入侵检测技术
在公安技侦网络和公安金盾工程网络之间部署防火墙和入侵检测系统,在防火墙上设置单向的访问策略(只允许公安技侦网络用户访问公安金盾工程网络)、配置动态NAT转换(公安技侦网络用户在公安金盾网络内是保密的),利用一台堡垒机实现与省厅和市局数据库资源的共享。同时部署入侵检测系统发现异常及时报警。
3 基于Web的多重身份认证的实现关键技术
3.1防火墙和入侵检测技术
在边界防火墙上配置动态NAT转换如下:
//动态NAT转换//
Pixfirewall(config)#lobal(outside)1218.12.226.12
Pixfirewall(config)#lobal(outside)2 218.12.226.13
Pixfirewall(config)#nat(inside)110.8.10.0 255.255.255.000
Pixfirewall(config)#nat(nside)210.8.11.0255.255.255.000
//堡垒主机//
Pixfirewall (config)#static (inside,outside) 218.12.226.2910.8.10.240 netmask 255.255.255.255 00
3.2跨网段MAC地址的获取
基于B/S的跨网段的客户端MAC取得实现代码如下: