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

动态口令认证的网上选课系统的设计与实现[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

 

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

如需要全部源码,联系QQ:2812491287如需要全部源码,联系QQ:2812491287

评论