基于SSL协议的培训管理系统的研究与设计
2012-03-27薛辉
薛辉
(商洛学院现代教育技术中心,陕西商洛726000)
1.引言
在当今的知识经济背景下,国家为了培养和选拔各种人才,设立了各种各样的考试。为了帮助考生顺利通过考试,各培训机构针对性地设立了各种培训,既提高了考生的知识水平,也带来了一定的经济效益。但随着考生人数的增多,培训规模的增大,对培训人员的管理问题日益突显。宣传、报名、缴费、上课时间和地点通知等各个环节工作量巨大,耗费大量人力物力,使得培训成本高居不下。为了完善管理、降低培训成本、方便培训机构和考生,本文设计了一个基于SSL协议的培训管理系统,以解决这些问题。
2.SSL协议简介
SSL(Secure Socket Layer)协议最早是由美国Netscape公司提出的,它工作在socket层上,利用公开密钥技术对数据进行认证和加密,在点对点之间构造安全的通道,运行在TCP/IP层之上、应用层之下,传输安全的数据[1],如图1所示。在通信过程中,服务器和客户端都要支持SSL协议,通过SSL协议使客户端得到服务器的信任,从而建立起安全可靠的传输连接[2]。与HTTP协议比起来,SSL协议的安全性要强得多。如今,SSL已经被广泛使用于网络上的身份认证和数据安全通信,大多数浏览器支持SSL协议,许多电子商务服务采用SSL建立安全的会话[3]。
图1 SSL协议的层次结构模型
SSL协议主要包括SSL记录层协议和SSL握手层协议两部分。SSL记录层协议负责传输SSL握手层的控制数据和基于SSL通道传输的应用数据。SSL握手层协议负责传送用于客户机和服务器之间会话的加密参数,它包括SSL握手协议、SSL改变加密约定协议和SSL警告协议三个具体的协议[4]。SSL主要提供保密性、完整性和认证三种基本的安全服务[5]。
3.系统的设计
3.1 系统的需求分析
软件需求分析方法很多[6],本文采用基于培训流程的需求分析。一轮培训主要包括课程设定、宣传、报名、缴费、发学员证、查询课表、上课、成绩反馈等阶段。在课程设定阶段,系统管理员要设定都开哪些课程,拟定每门课的教师。宣传阶段主要是对培训的科目和教师做广告,在系统里采用动态网站的形式,用发布新闻和公告来实现。报名和缴费实现无人值守,网上自助完成,以降低人力成本。学员证采用网上自助打印,教师和学生还需要随时查询课表。培训结束后,培训机构希望学生把考试的成绩反馈给自己。
3.2 系统的功能模块
根据系统的需求分析,系统的功能模块设计如图2所示。
图2 系统的功能模块
3.2.1 课程设定模块
课程设定模块用来设定培训的课程。其中科目的设定和教师设定属于数据的初始化,设定培训哪些科目以及拥有哪些教师,包括对科目和教师的增加、删除、修改等。培训开始前根据科目和教师的初始数据设定具体开哪些课程以及课程的任课教师。
3.2.2信息服务模块
新闻服务和公告服务主要是为培训做宣传,可以在后台随时发布。新闻可以分很多栏目,比如机构介绍、师资力量、往年业绩、学院评价等。公告服务主要是发布最新的重要的信息,放在网站显要的位置。新闻和公告可以设定为公开的和内部的两种,公开的所有人都可以看到,内部的只有机构系统管理员、教师和参加培训的学员能够看到。课表查询主要是方便教师和学生及时查询上课的时间和地点。
3.2.3 学员服务模块
学员服务模块包括账号注册、网上报名、网上缴费、学员证打印和成绩反馈五个功能。学员先注册一个账号,然后选择培训的课程进行报名,报名完成之后可以通过网上银行自助缴费,并可以自己打印学员证。考试结束之后,学生可以把自己的成绩提交给系统,反馈给培训机构。
3.3 数据库的设计
系统采用B/S模式,基于ASP.NET框架采用C#语言开发,数据库选择SQL SERVER 2005,包含的主要表有:
(1)科目信息表,包括科目编号、科目名称等字段。
(2)教师信息表,包括教师编号、姓名、性别、出生日期、主讲科目、账号、密码等字段。
(3)课程信息表储存培训课程的信息,与科目信息表和教师信息表分别形成一对多的关系,包括课程编号、科目编号、教师编号、课时、报名费、开课时间、结课时间、上课时间、上课地点等字段。
(4)栏目信息表,包括栏目编号、栏目名称、显示顺序等字段。
(5)新闻信息表,包括新闻编号、新闻标题、新闻内容、发布时间、发布人、发布IP、栏目编号、是否公开等字段。
(6)公告信息表,包括公告编号、公告标题、公告内容、发布时间、发布人、发布IP、是否公开等字段。
(7)学员信息表,包括学员编号、姓名、性别、出生日期、账号、密码等字段。
(8)报名信息表储存学员报名参加哪些课程,与课程信息表和学员信息表分别形成一对多的关系,包括报名流水号、学员编号、课程编号、是否缴费、考试成绩等字段。其中考试成绩字段的值在考试结束成绩出来之后由学生提交。
4.基于SSL的安全缴费
为了节省人力成本,方便考生报名,网上报名、缴费、打印学员证等采用一体化自助完成,其中网上缴费采用SSL协议,实现轻松安全的缴费。
4.1 网上缴费的体系结构
根据对系统的需求分析,结合设计的功能模块,可见该系统涉及到的实体有培训机构、教师、学员、银行等,系统网上缴费的体系结构如图3所示。
4.2 网上缴费的流程
基于SSL协议的网上缴费的流程如下:
(1)学员在银行注册网上银行。
(2)学员访问培训管理系统的网站,选择需要参加培训的课程,进行网上报名。报名之后选择网上支付,并选择开卡银行,把信息提交给培训机构。
(3)培训机构把报名信息和费用信息发给学员开卡的银行,并在学员机器上打开一个与开卡银行服务器建立SSL连接的新窗口。
(4)学员机器验证银行服务器证书,完成与银行服务器的握手协议,建立安全加密通道。
(5)学员机器弹出支付页面,学员输入银行卡账号和密码确认支付。学员机器和银行服务器分别对支付信息进行加密及解密,确保隐私信息的安全性。在成功支付之后,学员机器离开SSL连接。
(6)开卡银行把资金从学员银行卡中转入培训机构账户中,并向培训机构发出付款成功的信息,培训机构收到信息后设定学员已缴费,并向学员发出提示。
图3 系统网上缴费的体系结构
4.3 网上缴费的安全方案
SSL依靠数字证书识别通信双方的身份,保证数据传输的安全性和完整性。构建基于SSL协议的Web系统主要有两种方法,第一种方法是采用微软的IIS的证书服务系统,能很好地支持SSL协议,第二种方法是采用Java技术的SSL安全代理,灵活性较强[7]。本系统采用第一种方法,方便功能的实现。SSL协议虽能保证数据传输的安全性、真实性、完整性,但不能提供交易的不可否认性[8]。为了实现缴费的不可否认性,本系统结合使用数字签名技术,保障网上支付的安全[9]。
5.系统的特点
本系统具有以下几个特点:
(1)实用性强:针对培训管理的流程详细设计和开发,可以有效组织培训的各个环节。
(2)方便易用:学员可以在网上轻松实现报名、缴费、打印学员证、查询课表等一系列工作,避免四处奔走。
(3)安全性高:网上缴费采用SSL协议,并使用数字签名技术,保障网上缴费的安全性。
(4)扩展性强:可以增加自动排课、网上教学、培训成果考核等许多内容,组建功能强大的培训管理与服务系统。
6.结束语
传统培训工作的宣传、报名、缴费、上课时间和地点通知等各个环节工作量巨大,耗费大量人力物力,使得培训成本居高不下。本系统可以借助网络进行宣传,实现网上报名、缴费、打印学员证、课表查询等工作的一体化自助完成,节省人力支出,降低培训成本,方便培训机构和考生,实用性强,市场前景广阔。
[1] 杨斌.SSL协议与SET协议探讨[J].江西师范大学学报(自然科学版),2003,27(4):365-368.
[2] 毛胜利.基于SSL协议的电子商务系统的研究[J].商场现代化,2009(8):118-119.
[3] 侯小梅,莫鸿强,毛宗源.基于SSL协议的电子商务解决方案[J].计算机工程与应用,2001,37(8):35-36.
[4] 陈卓,洪帆.电子商务中两种安全支付协议SSL和SET的研究与比较[J].计算机工程与应用,2003,39(4):102-104.
[5] 吕玉珠.基于SSL协议的电子商务支付系统的实现及安全性研究[J].煤炭技术,2011,30(9):119-120.
[6] 王继成,高珍.软件需求分析的研究[J].计算机工程与设计,2002,23(8):18-21.
[7] 李继良.基于SSL协议的网银系统设计与实现[J].计算机工程与设计,2010,31(23):4976-4978.
[8] 周满元.一种基于SSL协议的铁路电子商务支付系统[J].仪器仪表学报,2006,27(z1):944-945.
[9] 张峰岭.为SSL协议加上数字签名[J].现代计算机,2002,7(143):23-40.