论文无忧网提供:计算机毕业论文范文|计算机毕业设计|计算机毕业论文
栏目导航 ASP Java Web .NET VB6.0 JAVA VC VF DELPHI PB 计算机网络 计算机科学与技术 PHP 安卓APP 其他 C# 代写论文
当前位置: > 计算机 > 计算机科学与技术 >

具有动态口令认证机制的网上投票系统的设计(论文+程序)

1.2网上投票系统概念的提出

网络的快速发展和计算机的广泛普及,为解决传统民意调查存在的缺点和提出网上投票系统概念提供了物质基础。人们针对传统的民意调查存在的不足,开发了网上投票系统,大大提高了调查的时效性。 copyright paper51.com

1.3网上投票系统的适用范围 内容来自www.paper51.com

从技术上来说,网上投票是十分简便的,时效性也强。但是目前网上的民意调查似乎还有一定的随意性,没有按照严格的民意调查的程序与方法进行。网上调查与传统民意调查有着很大不同,值得我们从各个角度去认识。我个人认为,至少以下方面是需要关注的。

http://www.paper51.com

1.3.1什么样的主题适合做网上投票

内容来自www.paper51.com

网上投票对象只能来源于网络的使用者,而目前这部分使用者具有一定的特殊性,特别是在中国。据CNNIC2006年9月公布的调查结果显示,我国互联网继续保持持续、稳定的增长态势。其中网民数、上网计算机数分别达到了11000万人、4950万台,与上年同期相比分别增长了18.1%和19.0%。 copyright paper51.com

在网民的特征结构方面,男性、未婚、30岁以下、大学本科以下、月收入在2000元及以下(含无收入)网民的比例依然在网民各特征数据中占据主要地位,所占比例分别为58.7%、57.9%、82.6%、70.8%、70.9%,其中未婚、30岁以上网民的比例与上年同期相比都有所上升,但男性网民比例、大学本科以下、月收入在2000元及以下(含无收入)网民所占比例与上年同期相比有所下降;在职业方面,学生所占比例超过了总网民的三分之一,达到了35.1%,其次是企业单位工作人员,占总数的29.6%,排在第三位的是学校教师及行政人员,所占比例为7.3%,国家机关、党群组织工作人员所占比例为6.6%,事业单位工作人员所占比例为6.5%,其他职业的网民所占比例都在5.0%以下。

内容来自论文无忧网 www.paper51.com

因此,如果把一些大多数网民日常工作生活未涉及的调查内容作为网络投票的主题,结果就会产生偏差。找到适合于网络调查的主题,是调查结果合理、有效的前提。 paper51.com

1.3.2网上投票样本的合理性

copyright paper51.com

传统问卷调查,调查方可以根据需要抽取样本,以保证其合理性。但网上投票调查基本上取决于上网用户的主观意愿。而他的心绪、性格、当时环境等等因素,会对他是否主动参加调查起作用,也就会在一定程度上影响样本的合理性。

内容来自www.paper51.com

1.3.3网上投票的程序与方法

copyright paper51.com

由于网络的特点,网上投票调查与传统的调查有着很大的区别。因此,研究出一套适合网络特点的调查程序与方法是必要的。本网上投票系统的调查程序与方法将在之后的章节详细阐述。 内容来自www.paper51.com

2 系统体系开发环境

http://www.paper51.com

2.1系统的硬件环境 内容来自www.paper51.com

本系统在开发过程中以SQL为基础,ASP编程。计算机和服务器的最低要求:

paper51.com

(1)处理器:PentiumIII 600MHz或者更高;

内容来自www.paper51.com

(2)内存(RAM):至少64MB,建议128MB或更高;

paper51.com

(3)硬盘空间:系统驱动上需求900MB的可用空间,安装驱动上要求3.3GB的可用空间,可选的MSDN库文档另需1.9GB的可用空间; 内容来自论文无忧网 www.paper51.com

(4)显示器:需要设置成1024x768模式或者更高分辨率; 内容来自www.paper51.com

(5)其他:CD-ROM或者DVD-ROM驱动器以及Microsoft鼠标或者兼容的指针设备。

http://www.paper51.com

2.2技术上配合 copyright paper51.com

个人计算机的出现加速了企业信息化进程,网络开发的新模式也日趋成熟,发展到现在,网络的开发模式已从工作站/服务器模式、Client/Server模式发展到以浏览器/web服务器体系结构模型的Browser/Server模式。浏览器/web服务器最基本的形式是使用web服务。浏览器/web服务器的出现实现了一个三层应用架构,它将客户机/服务器模型以及那些基于主机的处理模型的最好特性聚集在一起了,这一体系结构的目标是容易配置、信息的集中管理和简单的资源管理在这个开发思想中,服务器的负责向用户提供信息和要求的数据,另外通过客户浏览器软件,服务器是呈现给用户的图形化用户界面显示由服务器发送的住处服务器控制住处的布局和内容,这使信息的控制和管理非常可靠,计算机网络从体系结构到实用技术已逐步走向系统化、工程化、科学化。

copyright paper51.com

在进行"网上投票系统"的开发时,用到了许多计算机方面的相关技术,其中也用到了许多新的开发技术和方法,这些也是完成系统开发的关键性技术,最主要的是:软件工程、ASP技术、三层应用系统框架结构、SQL数据库技术等。

copyright paper51.com

2.3 ASP简介 内容来自论文无忧网 www.paper51.com

Microsoft Active Server Pages 即我们所称的ASP,其实是一套微软开发的服务器端脚本环境,ASP内含于IIS 3.0 和4.0 之中,通过ASP我们可以结合 HTML网页、ASP指令和ActiveX元件建立动态、交互且高效的WEB服务器应用程序。有了ASP你就不必担心客户的浏览器是否能运行你所编写的代码,因为所有的程序都将在服务器端执行,包括所有嵌在普通HTML中的脚本程序。当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。以下罗列了Active Server Pages所独具的一些特点:

http://www.paper51.com

(1)使用VBScript、JScript等简单易懂的脚本语言,结合HTML代码,即可快速地完成网站的应用程序。 copyright paper51.com

(2)无须compile编译,容易编写,可在服务器端直接执行。

copyright paper51.com

(3)使用普通的文本编辑器,如Windows的记事本,即可进行编辑设计。 paper51.com

(4)与浏览器无关(Browser Independence),用户端只要使用可执行HTML码的浏览器,即可浏览Active Server Pages所设计的网页内容。Active ServerPages所使用的脚本语言(VBScript、Jscript)均在WEB服务器端执行,用户端的浏览器不需要能够执行这些脚本语言。 http://www.paper51.com

(5)Active Server Pages能与任何ActiveX scripting语言相容。除了可使用VBScript或JScript语言来设计外,还通过plug-in的方式,使用由第三方所提供的其他脚本语言,譬如REXX、Perl、Tcl等。脚本引擎是处理脚本程序的COM(Component Object Model)物件。 http://www.paper51.com

(6)Active Server Pages的源程序,不会被传到客户浏览器,因而可以避免所写的源程序被他人剽窃,也提高了程序的安全性。 内容来自www.paper51.com

(7)可使用服务器端的脚本来产生客户端的脚本。 http://www.paper51.com

(8)物件导向(Object-oriented)。

内容来自www.paper51.com

(9)ActiveX Server Components(ActiveX 服务器元件)具有无限可扩充性。可以使用Visual Basic、Java、VisualC++、COBOL等编程语言来编写你所需要的ActiveXServer Component。 paper51.com

运行 ASP所需的环境:

内容来自www.paper51.com

·Microsoft Internet Information Server version 3.0/4.0 on Windows NTServer 内容来自www.paper51.com

·Microsoft Peer Web Services Version 3.0 on Windows NT Workstation

http://www.paper51.com

·Microsoft Personal Web Server on Windows 95/98 内容来自论文无忧网 www.paper51.com

ASP的处理过程。当一个用户浏览器(下图所示:Web Client)从Web服务器(下图所示:Web Server)要求一个ASP网页时,Web服务器会将这个ASP文件发送给Web 服务器的ASP引擎(下图所示:ASP Engine),ASP引擎则将该ASP网页中所有的服务器端脚本(下图所示:<%和%>之间的代码)转换成HTML代码,然后将所有HTML代码发送给用户浏览器。见下图所示: 内容来自论文无忧网 www.paper51.com

内容来自论文无忧网 www.paper51.com

图2-1 ASP处理过程 内容来自www.paper51.com

2.4 SQL简介 内容来自www.paper51.com

SQL全称是“结构化查询语言(Structured Query Language)”,最早的是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEM R开发的一种查询语言,它的前身是SQUARE语言。SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言,得到了广泛的应用。如今无论是像Oracle,Sybase,Informix,SQL server这些大型的数据库管理系统,还是像Visual Foxporo,PowerBuilder这些微机上常用的数据库开发系统,都支持SQL语言作为查询语言。 copyright paper51.com

Structured Query Language包含4个部分:数据查询语言DQL-Data Query Language SELECT;数据操纵语言DQL-Data Manipulation LanguageINSERT,UPDATE,DELETE;数据定义语言DQL-Data Definition LanguageCREATE,ALTER,DROP;数据控制语言DQL-Data Control Language COMMITWORK,ROLLBACK WORK。 http://www.paper51.com

SQL的优点:SQL广泛地被采用正说明了它的优点。它使全部用户,包括应用程序员、DBA管理员和终端用户受益非浅。

内容来自论文无忧网 www.paper51.com

SQL是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。SQL允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集。所有SQL语句接受集合作为输入,返回集合作为输出。SQL的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入。SQL不要求用户指定对数据的存放方法。这种特性使用户更易集中精力于要得到的结果。所有SQL语句使用查询优化器,它是RDBMS的一部分,由它决定对指定数据存取的最快速度的手段。查询优化器知道存在什么索引,哪儿使用合适,而用户从不需要知道表是否有索引,表有什么类型的索引。

http://www.paper51.com

SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、应用程序员、决策支持系统人员及许多其它类型的终端用户。基本的SQL命令只需很少时间就能学会,最高级的命令在几天内便可掌握。SQL为许多任务提供了命令,包括:

内容来自论文无忧网 www.paper51.com

(1)查询数据; paper51.com

(2)在表中插入、修改和删除记录;

内容来自www.paper51.com

(3)建立、修改和删除数据对象;

paper51.com

(4)控制对数据和数据对象的存取;

copyright paper51.com

(5)保证数据库一致性和完整性。

http://www.paper51.com

以前的数据库管理系统为上述各类操作提供单独的语言,而SQL 将全部任务统一在一种语言中。 paper51.com

由于所有主要的关系数据库管理系统都支持SQL语言,用户可将使用SQL的技能从一个RDBMS转到另一个。所有用SQL编写的程序都是可以移植的。

内容来自www.paper51.com

2.5动态口令认证技术

paper51.com

动态口令技术是对传统的静态口令技术的改进,它采用双因子认证的原理,即用户既要拥有一些东西(something you have),如系统颁发的Token(令牌),又要知道一些东西(something you know),如启用Token的口令。当用户要网上投票登录系统时,首先要输入启用Token的口令,其次还要将Token上所显示的数字作为系统的口令输入。Token上的数字是不断变化的,而且与认证服务器同步,因此用户登录到系统的口令也是不断地变化的(即所谓的“一次一密”)。 copyright paper51.com

双因子认证比基于口令的认证方法增加了一个认证要素,攻击者仅仅获取了用户口令或者仅仅拿到了用户的令牌访问设备,都无法通过系统的认证。而且令牌访问设备上所显示的数字式不断地变化,这使得攻击变得非常困难。因此,这种方法比基于口令的认证方法具有更好的安全性,在一定程度不同上解决了基于静态口令的认证方法所面临的威胁。

paper51.com

动态口令认证技术具体的实现即是验证码。

内容来自论文无忧网 www.paper51.com

所谓验证码,是将一串随机产生的数字或符号,生成一幅图片,图片里加上一些干扰象素(防止OCR),由用户肉眼识别其中的验证码信息,输入表单提交网站验证,验证成功后才能使用某项功能。验证码可防止大规模匿名操作的发生,如某些用户利用软件自动注册、登录、投票等不公正行为。而加上随机的验证码之后,软件不可能计算出一样的验证码,因此就无法投票了。

内容来自论文无忧网 www.paper51.com

2.5.1验证码起源 paper51.com

因为攻击者会使用有害程序注册大量的Web服务帐户(如Passport)。攻击者可以使用这些帐户为其他的用户制造麻烦,如发送垃圾邮件或通过同时反复登录多个帐户来延缓服务的速度。在大多数情况下,自动注册程序不能识别此图片中的字符。简单的说呢,就是防止攻击者编写程序,自动注册,重复登录暴力破解密码。验证码技术应运而生。

copyright paper51.com

2.5.2验证码实现流程

copyright paper51.com

服务器端随机生成验证码字符串,保存在内存中,并写入图片,发送给浏览器端显示,浏览器端输入验证码图片上字符,然后提交服务器端,提交的字符和服务器端保存的该字符比较是否一致。一致就继续,否则返回提示。攻击者编写的robot程序,很难识别验证码字符,顺利的完成自动注册,登录。而用户可以识别填写,所以这就实现了阻挡攻击的作用。而图片的字符识别,就是看图片上的干扰强度了。就实际的效果来说,验证码只是增加攻击者的难度,而不可能完全的防止。

http://www.paper51.com

2.5.3网上投票系统中的验证码的作用 paper51.com

因为WEB站有时会碰到客户机恶意攻击,其中一种很常见的攻击手段就是身份欺骗它通过在客户端脚本写入一些代码,然后利用其客户机在网站反复登陆,或者攻击者创建一个HTML窗体,其窗体如果包含了注册窗体或投票窗体等相同的字段,然后利用“http-post”传输数据到服务器,服务器会执行相应的创建帐户,提交垃圾数据等操作,如果服务器本身不能有效验证并拒绝此非法操作,它会很严重耗费其系统资源,降低网站性能甚至使程序崩溃。 paper51.com

而现在流行的判断访问WEB程序是合法用户还是恶意操作的方式,就是采用动态口令技术。本网上投票系统采用的方法是为用户提供一个包含随即字符串的图片,用户必须读取这些字符串,然后随登陆窗体或者投票窗体等用户创建的窗体一起提交。因为人的话,可以很容易读出图片中的数字,但如果是一段客户端攻击代码,通过一般手段是很难识别验证码的。这样可以确保当前访问是来自一个人而非机器。

http://www.paper51.com

------分隔线----------------------------
联系方式