关键词:网上投票系统;ASP;SQL;动态验证码
摘 要
随着网络技术的迅速发展,传统的投票方式已经不能满足人们的需要。而网上投票系统除了能够完成传统的功能之外,更具有时效高和范围广的优点,更符合现代社会的需要。
具有动态口令认证机制的网上投票系统的设计是采用ASP和SQL Server2000技术开发的简易投票系统,并在用户登陆过程中设置动态验证码,提高系统的安全性。它实现了以下功能:投票、结果查看、增加、删除及搜索投票等。本论文首先介绍了网上投票系统的概念及和适用范围。在系统开发环境中主要对ASP、SQL和动态口令认证机制的基本概念作了详尽的介绍。接着通过E-R图说明数据库的搭建和数据库的设计。然后介绍了本系统的总体设计,包括:系统结构和总体功能设计。论文以功能模块图的形式说明了功能的设计并给出了部分核心代码及主要功能界面图。
2.5动态口令认证技术
动态口令技术是对传统的静态口令技术的改进,它采用双因子认证的原理,即用户既要拥有一些东西(something you have),如系统颁发的Token(令牌),又要知道一些东西(something you know),如启用Token的口令。当用户要网上投票登录系统时,首先要输入启用Token的口令,其次还要将Token上所显示的数字作为系统的口令输入。Token上的数字是不断变化的,而且与认证服务器同步,因此用户登录到系统的口令也是不断地变化的(即所谓的“一次一密”)。
双因子认证比基于口令的认证方法增加了一个认证要素,攻击者仅仅获取了用户口令或者仅仅拿到了用户的令牌访问设备,都无法通过系统的认证。而且令牌访问设备上所显示的数字式不断地变化,这使得攻击变得非常困难。因此,这种方法比基于口令的认证方法具有更好的安全性,在一定程度不同上解决了基于静态口令的认证方法所面临的威胁。
动态口令认证技术具体的实现即是验证码。
所谓验证码,是将一串随机产生的数字或符号,生成一幅图片, 图片里加上一些干扰象素(防止OCR),由用户肉眼识别其中的验证码信息,输入表单提交网站验证,验证成功后才能使用某项功能。验证码可防止大规模匿名操作的发生,如某些用户利用软件自动注册、登录、投票等不公正行为。而加上随机的验证码之后,软件不可能计算出一样的验证码,因此就无法投票了。
2.5.1验证码起源
因为攻击者会使用有害程序注册大量的Web服务帐户(如Passport)。攻击者可以使用这些帐户为其他的用户制造麻烦,如发送垃圾邮件或通过同时反复登录多个帐户来延缓服务的速度。在大多数情况下,自动注册程序不能识别此图片中的字符。简单的说呢,就是防止攻击者编写程序,自动注册,重复登录暴力破解密码。验证码技术应运而生。
2.5.2验证码实现流程
服务器端随机生成验证码字符串,保存在内存中,并写入图片,发送给浏览器端显示,浏览器端输入验证码图片上字符,然后提交服务器端,提交的字符和服务器端保存的该字符比较是否一致。一致就继续,否则返回提示。攻击者编写的robot程序,很难识别验证码字符,顺利的完成自动注册,登录。而用户可以识别填写,所以这就实现了阻挡攻击的作用。而图片的字符识别,就是看图片上的干扰强度了。就实际的效果来说,验证码只是增加攻击者的难度,而不可能完全的防止。
目 录
1 引言 1
1.1网上投票系统的概念 1
1.2网上投票系统概念的提出 1
1.3网上投票系统的适用范围 1
1.3.1什么样的主题适合做网上投票 1
1.3.2网上投票样本的合理性 2
1.3.3网上投票的程序与方法 2
2 系统体系开发环境 2
2.1系统的硬件环境 2
2.2技术上配合 3
2.3 ASP简介 3
2.4 SQL简介 4
2.5动态口令认证技术 6
2.5.1验证码起源 6
2.5.2验证码实现流程 6
2.5.3网上投票系统中的验证码的作用 7
3 数据库的搭建 7
3.1 E-R图 7
3.2数据库的设计 8
3.2.1用户信息 8
3.2.2投票信息 9
3.2.3投票选项 9
3.2.4管理员信息 10
4 系统详细设计 10
4.1具有动态口令认证机制的网上投票系统的结构 10
4.2系统详细功能设计 11
4.2.1用户注册、登陆和和验证模块 11
4.2.2用户投票模块 13
4.2.3投票管理模块 15
结 论 18
参考文献 18
致 谢 19