动态口令认证的网上选课系统的设计与实现

动态口令认证的网上选课系统的设计与实现[java毕业论文下载]

动态口令认证的网上选课系统的设计与实现

摘    要

将计算机引入教学信息管理已经成为高校教学管理工作的重要内容之一,比如实行网上选课。与传统的选课方式相比,网上选课提高了学生选课效率,增加了学生选课自主权,使教学更加透明,同时大大提高了教务管理工作的效率。

本文设计实现的网上选课系统基于ASP.NET平台进行开发,后台由SQL Server 2000数据库支持,通过使用C#语言实现动态网页的效果,达到对数据库的操作以完成使用者的要求。本系统主要由以下几个模块组成:身份验证模块;选课模块;信息管理模块等。用户只需要通过浏览器访问就可以实现选课操作,操作简单灵活。并且本系统登录时使用动态口令进行身份认证,解决了静态口令所遇到的很多攻击性问题,如:网络数据流窃听、字典攻击、穷举攻击等,增加了系统安全性。

 

关键词:网上选课系统; 动态口令;C#;ASP.NET

Design and Implementation of Web-based Course Selecting System with Dynamic Password Authentication

Abstract

Applying computer to manage the teaching information is one of the important parts of the university management, such as course selecting on internet. Comparing to the traditional course selecting method, course selecting on internet saves more resources, at the same time, it enhances the students’ independence when choosing courses, which makes the teaching more transparent, also greatly increases the efficiency of teaching management.

This paper designs a Web-based Elective System, which bases on the platform of ASP.NET; the database is SQL Server 2000. We use C# language to achieve the front page movement effect. This system mainly is composed of following several modules: ID authenticating module; course selecting module; information management module. The user just through IE explore to realize the course selecting operation, the operation is simple and flexible. This system adopts Dynamic Password to authenticate ID when login in, it prevents many problems of the static password, for example Sniffer, Dictionary attack, Brute Force and so on. The Dynamic Password improves the safety of the system.

 

Key words: Online Course Selecting System; Dynamic Password; C#; ASP.NET

 

 

 

 

 

目  录

论文总页数:24页

1引言 1

2理论基础 1

2.1 C# 1

2.2 ASP.NET 1

2.3动态口令 2

3需求分析 3

3.1该设计要完成的功能 3

3.2设计思路 4

4总体设计 7

4.1功能模块构造 7

4.2功能模块具体介绍 8

4.2.1身份验证模块 8

4.2.2信息管理模块 8

4.2.3选课模块 8

4.3 E-R图 9

4.4数据库设计 9

5详细设计和实现 12

5.1连接数据库 12

5.2初始化动态口令 12

5.3管理员/老师/学生登录功能 13

5.4管理员/学生/老师密码管理功能 17

5.5老师信息的添加、删除、修改 17

5.6管理员为老师分配课程 18

5.7学生选课 19

5.8老师查看选课名单 21

5.9退出系统 22

结论 22

参考文献 22

致    谢 23

声    明 24

 

 

1引言

随着学校的办学规模越来越大,在校学生人数也日益增多,随之而来的是教务管理工作日趋复杂繁重,已愈来愈成为学校日常管理工作的一个瓶颈。网上选课系统可以提高教务管理工作的效率,减轻教务管理人员的手工劳动,使教务管理工作更加规范化、信息化、制度化和科学化。本系统力求以更加安全便捷的办公效率,成为学校教务管理的好帮手。

本系统是采用B/S(Browser/Server)结构进行设计,使用SQL Server 2000构建数据库,并在ASP.NET环境下使用C#语言开发的一个网上选课系统,其具有一定的实用性。管理员在网上公布将开设的所有课程信息,包括:课程名称,开课老师,学时,最大人数等信息。学生通过任何一台能进入选课系统的计算机,打开选课网站,输入学号和自己的密码,验证了身份便可轻松完成网上选课工作。学生通过上网了解课程的各项信息,确定自己所要选修的课程,并进行选择,还可以增加选课,退出已选的课程,查看个人选课等。在整个选课过程中,当一门课程的学生人数已满时,下一个学生选择该门课时,这门课便不能被选上。网上选课提高了学生选课效率,同时大大提高了教务管理工作的效率。

为了增加系统的安全性,本系统在登录时使用动态口令进行身份认证,在密码中引入迭代值,每次登录时密码的加密次数都不一样,因此每次传输的密码都不一样,即使被窃听了,窃听者也无法用窃听到的口令来做下一次的登录。

2理论基础

2.1 C#

C#是一种简单的、现代的、面向对象的、类型安全的、版本控制的、兼容的、灵活的、基于组件开发的编程语言,它是作为Visual Studio中的一部分推出。C#既保持了C++中熟悉的语法,还包含了大量的高效代码和面向对象特性,它简化和革新了C++中的类、名字空间、方法重载和异常处理等领域,摒弃了C++的复杂性,更易用,更少出错。它不仅能应用于WEB服务程序的开发,并且还能开发强大的系统级程序。

C#提供了方便的功能,如垃圾收集、类型安全、版本控制等等。仅有的"代价"就是,代码操作默认是类型安全,不允许指针。光是类型安全就可以搞定了。但是,如果我们需要指针,仍可以通过非安全码使用它们,而且当调用非安全码时,不能含有列集。

2.2 ASP.NET

ASP.NET 不仅仅是 Active Server Page (ASP) 的下一个版本;它还提供了一个统一的 Web 开发模型,其中包括开发人员生成企业级 Web 应用程序所需的各种服务。ASP.NET 的语法在很大程度上与 ASP 兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。可以通过在现有 ASP 应用程序中逐渐添加 ASP.NET 功能,随时增强 ASP 应用程序的功能。

ASP.NET 是一个已编译的、基于 .NET 的环境,可以用任何与 .NET 兼容的语言(包括 Visual Basic .NET、C# 和 JScript .NET)创作应用程序。另外,任何 ASP.NET 应用程序都可以使用整个 .NET Framework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。

ASP.NET 可以无缝地与 WYSIWYG HTML 编辑器和其他编程工具(包括 Microsoft Visual Studio .NET)一起工作。这不仅使得 Web 开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到 Web 页的 GUI 和完全集成的调试支持。

当创建 ASP.NET 应用程序时,开发人员可以使用 Web 窗体或 XML Web services,或以他们认为合适的任何方式进行组合。每个功能都能得到同一结构的支持,使您能够使用身份验证方案,缓存经常使用的数据,或者对应用程序的配置进行自定义。

ASP.NET包括:页面和控件框架、ASP.NET编译器、安全基础结构、状态管理功能、应用程序配置、监视运行状况和性能功能、调试支持、XML Web services框架、可扩展的宿主环境和应用程序生命周期管理、可扩展的设计器环境。

2.3动态口令

一次性动态口令系统是关于网络安全的口令系统。它的特点是用户每次输入的口令一样,但传输到服务器的口令都不一样。每个登录服务器的口令只使用一次,窃听者无法用窃听到的口令来做下一次的登录,确保了口令的安全。

动态口令与传统的静态口令相比具有以下优势 :

(1)动态性: 用户的动态口令随设定的时间或事件等变量自动变化,无需人工干预,某一时刻的产生的动态口令不能在其他时刻使用。

(2)一次性:任一时刻产生的动态口令在其失效前只能被用户使用一次,否则,系统将视其为非法行为而报警。

(3)随机性:动态口令是随机生成、无规律的。即使本次口令被窃听成功,也难以由此猜出下次的口令。

(4)多重安全性:用户的动态口令令牌产生的动态口令与用户名、静态口令等多因素结合实现多重认证。即使电子令牌丢失,用户仍可在应急状态下利用用户名和静态口令进行用户身份认证。而其他非法持有者,单靠令牌无法实现登录及认证。 

(5)可管理性:统一的身份认证方式和动态口令生成方式,能大大减小在分发密码、支持服务、密码丢失、密码更改及身份管理等各个方面的开销和成本。

S/KEY口令序列认证方案介绍:

贝尔通信研究中心于1991年开发的S/KEY是OPT(one-time password)的首次实现。

认证步骤:

(1) 用户向服务器发送登录请求,并将用户ID发送给服务器;

(2) 服务器收到登录请求和用户ID后,在认证数据库中查询该ID是否存在。若ID为非法ID,则拒绝此次请求;若ID为合法ID,则从数据库中取出相对应的种子Seed和迭代次数(Seq-i),并将这两个数据传送给客户端;

(3) 客户端收到种子数Seed和迭代次数(Seq-i)后,利用客户端的计算程序计算Hn(Seed//PW),(其中n=Seq-i),并将计算结果作为认证数据发送给服务器;

(4) 服务器收到认证数据后,用服务器端的计算程序(与客户端计算程序使用同样的Hash算法)计算H(HSeq-i(Seed//PW)),然后将此计算结果与数据库中存储的认证数据HSeq-i+1(Seed//PW)相比较。若两者相同,则认证通过,用户成功登录;否则,认证失败,服务器拒绝用户的登录请求。

(5) 若服务器通过了对用户的身份认证,将用收到的HSeq-i(Seed//PW)替换数据库中保存的HSeq-i+1(Seed//PW),以便下一次认证使用。

3需求分析

3.1该设计要完成的功能

本次设计所要实现的功能主要有以下几点:

(一):学生操作

1.身份验证:输入学生学号及密码,然后点击“登录”进入“选课系统的菜单页,开始选课。

2.选课操作以及选课结果查询操作:学生可以选课,修改已选的课程,并且查看自己选课结果。在整个选课过程中,当一门课程的学生人数已满时,下一个学生选择该门课时,这门课将不被选中。

(二):管理员操作

1.身份验证:输入用户名和密码,然后点击“登录”,进入选课系统后台的管理信息系统。

2.基本信息录入及修改。包括课程信息,老师信息以及学生信息等。

(三):老师操作

1.身份验证:输入用户名和密码,然后点击“登录”,进入自己任课菜单页,老师可以查看自己所教课程、每门课的选课学生名单。

3.2设计思路

本系统从学生网上自主选课以及管理员管理信息两个大方面进行设计,要基本实现学生的在线选课功能以及管理员对老师、学生、课程信息的管理等功能,并且登录时在口令中引入不确定因数,使每次登录传送的口令信息不同,增加系统安全性。

登录分三个身份:学生、老师、管理员,登录成功后分别进入不同页面,学生进入“Choose.aspx”页面,老师进入“tlview.aspx”页面,管理员进入“Lession.aspx”页面。学生进入页面后可以选课、查看自己选课、修改密码;老师进入页面后可以查看自己所任课程、选课名单、修改密码;管理员进入页面后可以管理各种信息,如:管理员、老师、学生等,可以修改自己的密码。

动态口令的主要思路是:在登录过程中加入不确定因素,使每次登录过程中传送的信息都不相同,以提高登录过程安全性。例如:登录密码=MD5(随机数+密码),系统接收到登录口令后做一个验算即可验证用户的合法性。

当用户向服务器发出连接请求时,服务器发给用户一个challenge。challenge通常是由两部分组成的:种子值(seed)和迭代值(iteration),它们是在添加用户时产生的,用户收到challenge后进行加密计算:MD5iteration(seed+password),并把结果作为回答返回服务器。服务器收到回答,将它再次加密后与所存密码比较,如果相同就成功登录,并更新密码为MD5iteration(seed+password),迭代值为(iteration-1)。

  我们可以看出,用户通过网络传给服务器的口令是种子值和密码的加密结果,用户本身的密码并没有在网上传播。攻击者很难从中提取出原始的密码,又因为迭代值总是不断变化的,这使得下一次用户登录时使用的鉴别信息与上次不同,从而有效地阻止了重放攻击。总之,与静态口令技术的单因子(口令)鉴别不同,一次性动态口令技术是一种多因子(种子值,迭代值和密码)鉴别技术,其中引入的不确定因子使得它更为安全。

管理员添加各类用户时初始化口令流程:

 

 

 

 

 

 

 

 

图1 初始化口令流程图

 

 

用户登录时验证口令流程:

 

图2  登录时验证口令流程

4总体设计

4.1功能模块构造

 

图3  系统功能模块图

4.2功能模块具体介绍

4.2.1身份验证模块

通过登录才可进入选课系统,登录信息提交后检验登录者的身份是否合法,如果合法则转入对应的操作界面。在本系统中,只有三种身份:学生、老师、管理员。登录时在口令中引入不确定因数,使每次登录传送的口令信息不同。

4.2.2信息管理模块

管理员管理模块:负责管理管理员的基本信息。管理员可通过本模块实现添加、删除、修改管理员的基本信息。

老师管理模块:负责管理老师的基本信息。管理员可通过本模块实现添加、删除、修改老师的基本信息,可以选择根据老师工作证号或姓名查找老师。在该模块中可以实现对老师的管理,为排课提供老师的基本信息。

学生管理模块:负责管理学生的基本信息。管理员可通过本模块实现添加、删除、修改学生的基本信息,可以选择根据学生学号或姓名查找学生。在该模块中可以实现对学生的管理。

课程管理模块:负责管理课程的基本信息。管理员可通过本模块实现课程的添加、删除、修改,可以选择按课程名或专业查询已经添加的课程。

系别管理模块:负责管理系别的基本信息。管理员可通过本模块实现系别的添加、删除、修改。

专业管理模块:负责管理专业的基本信息。管理员可通过本模块实现专业的添加、删除、修改,可以按系查询已经添加的专业。

学历管理模块:负责管理学历的基本信息。管理员可通过本模块实现学历的添加、删除、修改。

课程分配模块:负责给老师分配课程。根据老师姓名,课程所属系、专业,给老师分配课程。老师可以教不同系的课程。

密码修改模块:管理员、老师、学生登录成功后在各自的页面点击“修改密码”进行密码修改。

4.2.3选课模块

查看课程选课模块:学生登录后进入选课页面,在规定时间内可以进行选课、退选,选择人数已满的课程时,该课程不能被选上,学生可以查看自己已选课程。

查看选课名单模块:老师登录后可以根据自己所教课程查看选课名单,只有学生选择了的课程才会显示。

4.3 E-R

 

动态口令认证的网上选课系统的设计与实现[点击下载]

相关毕业论文

基于ASP办公自动化系统论文

随着计算机技术的飞速发展,计算机在各行各业中应用的普及,利用计算机实现学校办公自动化系统管理势在必行。办公自动化系统是20世纪80年代初期随着微型计算机技术和计算机局域网络技术的发展而兴起的一门信息处理系统分支

校园学生信息在线管理系统设计

如果我国各个学校管理水平还停留在纸介质的基础上,已不能适应时代的发展,因为它浪费了许多人力和物力,在当今的信息时代这种管理方法必然被计算机为基础的信息管理所取代。学生信息管理系统的开发,适合任何一个大中小学校的管理,

基于Web Mail收发系统设计与开发

互联网络技术的不断发展,电子邮件服务已经成为人们基本的信息交互手段,也是网络服务中最早和最基本的服务之一。传统邮件系统大多是基于C/S结构,如Lotus notes、Microsoft Exchange Server等,这些邮件系统占用相对较多的服务器资源,对服务器性能有更高的要求,同时也增加了管理负担。并且,由于不同服务器需要特定的客户端软件,增加了系统的开发和管理成本。

服装连锁店管理系统的设计与开发

当今,商品销售连锁店的发展给人们带来了诸多便利。服装连锁经营是这一传统商业模式中发展比较有代表性的一类,通过科学的管理方法和现代化的管理工具——计算机及其网络应用系统,能够规范经营中的各项管理、降低服务成本和提高服务质量。

在线教育系统设计

与传统教育相比,远程教育是一种全新的教育模式,它可以突破时间和空间的限制,帮助人们随时随地地学习,让更多的学习者共享优秀教育资源。远程教育既具有开放性、交互性、协作性和自主性等特点,又具有异步性、实时性、生动性、集成性和大容量等优势。

网上鲜花销售系统的设计

计算机专业毕业论文《网上鲜花销售系统》的使用者主要是客户和销售管理者,对于客户来说,实现的功能包括客户浏览鲜花(搜索查询),存放选中的商品的购物车,最后产生订单;对于销售管理者来说,需要对客户的信息,鲜花的信息,以及销售的信息进行管理。

校园网站相册管理系统设计

本系统是根据网站上图片说明的需要而设计的一个子系统,它作为一个网站的一个分支,可以使同学对该网站有生动的认识与更好参与。 本系统分为三个部分:信息平台,交互平台,管理平台。具体可以分为:浏览系统,上传系统,管理员登录系统,更新系统,删除系统,后台数据库管理系统六个子系统组成。

医院信息管理系统

医院信息管理系统主要采用了ASP语言和SQL数据库结合的B/S设计模式,通过网络之间的数据交换来实现医院药品管理、收费管理、住院管理、人工费管理、用户管理几项工作,从而提高医疗部门在医院信息管理过程中的工作效率和质量。

ERP客户管理系统的实现

论文对CRM系统的ASP.NET实现进行了探讨,论文首先阐述了CRM的研究背景,意义及其内容。并从我们为什么需要CRM、概念、管理思想、作用及其基本构成等角度分析了CRM概念的内涵。 接着对CRM数据库设计做了概要介绍,进行CRM系统规划,在此规划上进一步细化抽象,得到整个系统的数据库设计结构。并详细介绍了费用管理系统模块和分析管理系统模块涉及的数据表。另外详细介绍了费用管理系统模块和分析管理模块的概要设计,给出了两个子系统的软件结构和各子模块的关系。

基于ASP的某学校校园BBS的设计与实现

本设计具有一般网上论坛的所有功能,并体现出校园的风格。该系统提供的功能包括会员注册、个人信息查询和修改、密码找回、阅读帖子、发表帖子、帖子搜索、和会员留言等。

作业在线提交系统的设计与实现

作业提交系统的设计与实现是基于B/S结构,在.NET平台上使用C#与Microsoft SQL 2000开发的。主要目的是解决学生提交作业和教师批改作业都得靠纸质交流,或者是用单一的上传,拷贝等方法交流不方便的问题。

基于ASP.NET博客网站的设计与实现,大专计算机毕业论文

简易博客网站系统实现用户在线文章发表、文章浏览及文章评论,为用户提供了友好的个人信息共享和思想感情交流平台。它改变传统的文章发表方式,突破了传统出版物的枷锁,实现文章创作的网络化,使传统繁琐的文章发表简单化、大众化。

评论