动态口令认证的网上选课系统的设计与实现
摘 要 将 计算 机引入教学信息管理已经成为高校教学管理工作的重要 内容 之一,比
如实行网上选课。与传统的选课方式相比,网上选课提高了学生选课效率,增加了学生选
课自主权,使教学更加透明,同时大大提高了教务管理工作的效率。 本文设计实现的网
上选课系统基于 平台进行开发,后台由 SQL Server 2000 数据库支持,通过使
用 C#语言实现动态网页的效果,达到对数据库的操作以完成使用者的要求。本系统主要
由以下几个模块组成:身份验证模块;选课模块;信息管理模块等。用户只需要通过浏览
器访问就可以实现选课操作,操作简单灵活。并且本系统登录时使用动态口令进行身份认
证,解决了静态口令所遇到的很多攻击性 问题 ,如: 网络 数据流窃听、字典攻击、穷举
攻击等,增加了系统安全性。 关键词:网上选课系统; 动态口令;C#; 需求 分
析 该设计要完成的功能 本次设计所要实现的功能主要有以下几点: (一):学生操作
1.身份验证:输入学生学号及密码,然后点击“登录”进入“选课系统的菜单页,开始选课。
2.选课操作以及选课结果查询操作:学生可以选课,修改已选的课程,并且查看自己选课
结果。在整个选课过程中,当一门课程的学生人数已满时,下一个学生选择该门课时,这
门课将不被选中。 (二):管理员操作 1.身份验证:输入用户名和密码,然后点击“登录”
,进入选课系统后台的管理信息系统。 2.基本信息录入及修改。包括课程信息,老师信息
以及学生信息等。 (三):老师操作 1.身份验证:输入用户名和密码,然后点击“登录”,
进入自己任课菜单页,老师可以查看自己所教课程、每门课的选课学生名单。 设计思
路 本系统从学生网上自主选课以及管理员管理信息两个大方面进行设计,要基本实现学
生的在线选课功能以及管理员对老师、学生、课程信息的管理等功能,并且登录时在口令
中引入不确定因数,使每次登录传送的口令信息不同,增加系统安全性。 登录分三个身
份:学生、老师、管理员,登录成功后分别进入不同页面,学生进入“”页面
,老师进入“”页面,管理员进入“”页面。学生进入页面后可以选课
、查看自己选课、修改密码;老师进入页面后可以查看自己所任课程、选课名单、修改密
码;管理员进入页面后可以管理各种信息,如:管理员、老师、学生等,可以修改自己的
密码。 动态口令的主要思路是:在登录过程中加入不确定因素,使每次登录过程中传送
的信息都不相同,以提高登录过程安全性。例如:登录密码=MD5(随机数+密码),系统
接收到登录口令后做一个验算即可验证用户的合法性。 当用户向服务器发出连接请求时
,服务器发给用户一个 challenge。challenge 通常是由两部分组成的:种子值(seed)和迭
代值(iteration),它们是在添加用户时产生的,用户收到 challenge 后进行加密计算:
MD5iteration(seed+password),并把结果作为回答返回服务器。服务器收到回答,将它再
次加密后与所存密码比较,如果相同就成功登录,并更新密码为
MD5iteration(seed+password),迭代值为(iteration-1)。 我们可以看出,用户通过网络传
给服务器的口令是种子值和密码的加密结果,用户本身的密码并没有在网上传播。攻击者
很难从中提取出原始的密码,又因为迭代值总是不断变化的,这使得下一次用户登录时使
用的鉴别信息与上次不同,从而有效地阻止了重放攻击。总之,与静态口令技术的单因子
(口令)鉴别不同,一次性动态口令技术是一种多因子(种子值,迭代值和密码)鉴别技
术,其中引入的不确定因子使得它更为安全