论文部分内容阅读
摘 要:如今,计算机网络技术迅猛发展,教育网络化已经成为未来教育的发展方向和新的模式。在现代教育中网络的广泛应用,使得传统的教学方式发生翻天覆地的变化,远程教学与考试已经成为普遍的教学方法之一,而在网络考试系统中用户身份认证的功能至关重要,它可以保证在线考试系统用户身份的真实性,从而使得考试公平、有效,能够客观地评价学生的真实水平。
关键词:Kerberos;在线考试;身份认证;数据库
一、引言
随着信息技术的迅猛发展,网络信息越来越和人们的生活息息相关。日益增多的安全需求,使网络信息安全技术也得到了迅猛发展。网络信息安全涉及领域非常广泛,而身份认证技术是其中重要的一部分。
身份认证,顾名思义是在计算机网络中对操作者身份信息进行确认。Kerberos 是一种网络认证协议,它为服务系统提供第三方的用户身份认证。在信息化时代中,很多软件系统都需要有良好的安全保障,在线考试系统也不例外,它需要对考试的用户进行身份认证来确保考试的公平性,而应用Kerberos认证协议能够更好的实现身份认证的功能。
二、基于Kerberos的在线考试身份认证系统
1.Kerberos协议简介
Kerberos是一种允许某实体在非安全网络环境下通信的网络协议。Kerberos 通过密钥系统为应用程序提供强大的认证服务。它不依赖于主机操作系统认证,对主机地址、物理安全没有特定的需求。它是基于对称密码机制的第三方认证协议,授予用户票据作为身份凭证,在通信时双方共享会话密钥。
Kerberos是在MIT的Athena项目中产生的,应用于C/S模式下的身份认证系统,它使用对称密码体制,通过用户和服务器利用对称密钥完成认证服务。在一个开放的分布式网络环境中,它能够防止同一个工作站的用户冒充其它用户操作机器,有效的预防用户更改工作站IP地址冒充另一工作站的风险,减小服务器被冒充的可能。
2.Kerberos认证系统的组成
Kerberos认证系统主要由以下几部分组成:
(1)用户端 Client
(2)在线考试系统服务器 Server
(3)认证服务器 Authentication Server
(4)票据分配服务器 Ticket Granting Server
在Kerberos系统认证过程中,客户端向应用服务器提出请求,需要通过第三方服务器申请认证票据,来向应用服务器证实自己的身份,第三方服务器分别和客户端和应用服务器端共享一个密钥。应用服务器通过检验用户端提供的票据是否合法来决定是否为其服务。
3.Kerberos数据库
数据库用于存储用户的用户名、密码、以及票据的时间戳、生命周期以及认证过程中产生的密钥。认证服务器AS,用于响应从用户认证端发送来的身份认证请求。认证服务器AS根据用户请求的合法性来决定是否向其发放用于访问票据许可服务器的票据TGT。票据许可服务器TGS,向拥有合法身份凭证并没有过期的TGT用户发放所请求的访问票据。
认证服务程序完成认证工作,它以只读的方式从Kerberos数据库中读取用户信息来完成认证工作,此时,从注册的用户表中查询必要的信息。数据库管理系统完成对数据库的更新和管理操作。在进行认证工作时,数据库管理系统与其他认证服务程序不同的是它只能运行在主Kerberos服务器上,维护可写的Kerberos数据库,而其他的认证服务程序则可运行在从Kerberos服务器上,维护Kerberos的只读备份。
4.Kerberos协议工作过程
Kerberos协议的认证过程可以分成三个阶段,每两个阶段之间又有着一定的联系,三个阶段的顺利实现才能保证认证功能的实现。
第一阶段:认证服务器交换信息
用户向认证服务器AS发送认证服务请求,并请求获得TGT。用户在登录的时候会输入用户名与密码,并以此作为客户端的密钥。认证服务器对AS_REQ请求进行分析,若该认证请求是有效的,则认证服务器会在数据包AS_REP中返回包含TGT和用户与TGS共享的会话密钥。用户端则可以使用从收到的AS_REP数据包中获得加密了的票据许可票据TGT作为身份凭证,向票据许可服务器TGS请求服务。如果该认证请求时无效的,认证服务器AS则会在回应数据包AS_REP中返回AS_ERROR。
第二阶段:授权服务器向用户发放服务许可票据
在发送的服务请求TGS_REQ中加入之前获得的加密过的票据许可票据TGT。票据许可服务器TGS将TGT从收到的请求数据包中分离出来,并对TGT进行解密处理,根据解密得出的信息来确定用户身份的有效性。如果得出用户请求是合法有效的,则在票据许可服务器TGS的回应数据包TGS_REP中将返回用户端所请求的服务对应的授权票据Ticket。如果用户端发送的请求是错误不合法的,TGS则会返回TGS_ERROR。
第三阶段:客户机获得应用服务
如果用户端通过合法性验证,从票据许可服务器TGS处获得了访问特定应用服务器的授权票据Ticket,那么用户就可以向应用服务器发出身份认证请求了。用户端将授权票据附加到发往应用服务器AP的请求数据包AP_REQ中,应用服务器使用与KDC共享的密钥对请求数据包进行解密并计算时间戳,然后与认证符中的时间戳进行比对,判断用户是否合法。若用户信息合法,则应用服务器会在回应数据包AP_REP中返回给用户端后续通信的凭证,以便为有效用户提供服务。若用户信息非法,应用服务器则会返回正确的认证信息,向客户提供应用请求。
三、关键技术应用
1. 前台开发工具
系统在设计时采用MyEclipse6.5作为JAVA集成开发环境。MyEclipse 是一个用于开发Java, J2EE的 Eclipse 插件集合,其功能强大,技术支持广泛,尤其是对各种开源产品的支持,使得很多编程人员都热衷于它。MyEclipse是对Eclipse的扩展,完善了Eclipse功能上的缺陷,使用户在操作时更加方便快捷。利用它我们可以对数据库进行修改、插入、删除、更新等操作。同时,可以通过它在浏览器上发布项目以及对应用程序服务器的整合,可以极大的提高工作效率。在线考试系统中 Kerberos的认证过程也要通过它实现。
2.后台数据库
系統采用MySQL数据库,它的优点是使用完全多线程,支持多处理器,支持多种数据类型,可以高速通过一个高度优化的类库实现SQL函数库,查询初始化后没有内存漏洞。全面支持SQL的分组查询和排列子句,支持聚合函数,用户可以在同一查询中对来自不同数据库的表进行查询。MySQL支持C、C++、Java、Perl、PHP、Python和TCL API等平台。
结束语
信息安全是网络通信的最根本的需求,为了能够维护网络信息安全,加大应用软件的保密性,在线考试系统在用户登录时,采用身份认证方式确认操作者的身份。设计实现了用户身份认证的用户使用端和认证服务器端程序,利用一系列交互认证过程,验证在线考试系统用户身份的真实性,因此保证了在线考试系统的安全,提高了考试的公平性,保障了用户登录的安全,使得整个考试系统的信息得到有力的保障。
参考文献
[1] 李勇;内网安全管理系统中身份认证方案的研究与实现[D];北京邮电大学;2010年.
[2] 邓婕;身份认证方案的研究与设计[D];四川师范大学;2007年.
[3] 徐会艳;基于口令的身份认证方案的研究[D];南京理工大学;2010年.
[4] 傅德胜;陈昕;;一种基于动态口令的身份认证系统研究[J];微计算机信息;2009年27期.
关键词:Kerberos;在线考试;身份认证;数据库
一、引言
随着信息技术的迅猛发展,网络信息越来越和人们的生活息息相关。日益增多的安全需求,使网络信息安全技术也得到了迅猛发展。网络信息安全涉及领域非常广泛,而身份认证技术是其中重要的一部分。
身份认证,顾名思义是在计算机网络中对操作者身份信息进行确认。Kerberos 是一种网络认证协议,它为服务系统提供第三方的用户身份认证。在信息化时代中,很多软件系统都需要有良好的安全保障,在线考试系统也不例外,它需要对考试的用户进行身份认证来确保考试的公平性,而应用Kerberos认证协议能够更好的实现身份认证的功能。
二、基于Kerberos的在线考试身份认证系统
1.Kerberos协议简介
Kerberos是一种允许某实体在非安全网络环境下通信的网络协议。Kerberos 通过密钥系统为应用程序提供强大的认证服务。它不依赖于主机操作系统认证,对主机地址、物理安全没有特定的需求。它是基于对称密码机制的第三方认证协议,授予用户票据作为身份凭证,在通信时双方共享会话密钥。
Kerberos是在MIT的Athena项目中产生的,应用于C/S模式下的身份认证系统,它使用对称密码体制,通过用户和服务器利用对称密钥完成认证服务。在一个开放的分布式网络环境中,它能够防止同一个工作站的用户冒充其它用户操作机器,有效的预防用户更改工作站IP地址冒充另一工作站的风险,减小服务器被冒充的可能。
2.Kerberos认证系统的组成
Kerberos认证系统主要由以下几部分组成:
(1)用户端 Client
(2)在线考试系统服务器 Server
(3)认证服务器 Authentication Server
(4)票据分配服务器 Ticket Granting Server
在Kerberos系统认证过程中,客户端向应用服务器提出请求,需要通过第三方服务器申请认证票据,来向应用服务器证实自己的身份,第三方服务器分别和客户端和应用服务器端共享一个密钥。应用服务器通过检验用户端提供的票据是否合法来决定是否为其服务。
3.Kerberos数据库
数据库用于存储用户的用户名、密码、以及票据的时间戳、生命周期以及认证过程中产生的密钥。认证服务器AS,用于响应从用户认证端发送来的身份认证请求。认证服务器AS根据用户请求的合法性来决定是否向其发放用于访问票据许可服务器的票据TGT。票据许可服务器TGS,向拥有合法身份凭证并没有过期的TGT用户发放所请求的访问票据。
认证服务程序完成认证工作,它以只读的方式从Kerberos数据库中读取用户信息来完成认证工作,此时,从注册的用户表中查询必要的信息。数据库管理系统完成对数据库的更新和管理操作。在进行认证工作时,数据库管理系统与其他认证服务程序不同的是它只能运行在主Kerberos服务器上,维护可写的Kerberos数据库,而其他的认证服务程序则可运行在从Kerberos服务器上,维护Kerberos的只读备份。
4.Kerberos协议工作过程
Kerberos协议的认证过程可以分成三个阶段,每两个阶段之间又有着一定的联系,三个阶段的顺利实现才能保证认证功能的实现。
第一阶段:认证服务器交换信息
用户向认证服务器AS发送认证服务请求,并请求获得TGT。用户在登录的时候会输入用户名与密码,并以此作为客户端的密钥。认证服务器对AS_REQ请求进行分析,若该认证请求是有效的,则认证服务器会在数据包AS_REP中返回包含TGT和用户与TGS共享的会话密钥。用户端则可以使用从收到的AS_REP数据包中获得加密了的票据许可票据TGT作为身份凭证,向票据许可服务器TGS请求服务。如果该认证请求时无效的,认证服务器AS则会在回应数据包AS_REP中返回AS_ERROR。
第二阶段:授权服务器向用户发放服务许可票据
在发送的服务请求TGS_REQ中加入之前获得的加密过的票据许可票据TGT。票据许可服务器TGS将TGT从收到的请求数据包中分离出来,并对TGT进行解密处理,根据解密得出的信息来确定用户身份的有效性。如果得出用户请求是合法有效的,则在票据许可服务器TGS的回应数据包TGS_REP中将返回用户端所请求的服务对应的授权票据Ticket。如果用户端发送的请求是错误不合法的,TGS则会返回TGS_ERROR。
第三阶段:客户机获得应用服务
如果用户端通过合法性验证,从票据许可服务器TGS处获得了访问特定应用服务器的授权票据Ticket,那么用户就可以向应用服务器发出身份认证请求了。用户端将授权票据附加到发往应用服务器AP的请求数据包AP_REQ中,应用服务器使用与KDC共享的密钥对请求数据包进行解密并计算时间戳,然后与认证符中的时间戳进行比对,判断用户是否合法。若用户信息合法,则应用服务器会在回应数据包AP_REP中返回给用户端后续通信的凭证,以便为有效用户提供服务。若用户信息非法,应用服务器则会返回正确的认证信息,向客户提供应用请求。
三、关键技术应用
1. 前台开发工具
系统在设计时采用MyEclipse6.5作为JAVA集成开发环境。MyEclipse 是一个用于开发Java, J2EE的 Eclipse 插件集合,其功能强大,技术支持广泛,尤其是对各种开源产品的支持,使得很多编程人员都热衷于它。MyEclipse是对Eclipse的扩展,完善了Eclipse功能上的缺陷,使用户在操作时更加方便快捷。利用它我们可以对数据库进行修改、插入、删除、更新等操作。同时,可以通过它在浏览器上发布项目以及对应用程序服务器的整合,可以极大的提高工作效率。在线考试系统中 Kerberos的认证过程也要通过它实现。
2.后台数据库
系統采用MySQL数据库,它的优点是使用完全多线程,支持多处理器,支持多种数据类型,可以高速通过一个高度优化的类库实现SQL函数库,查询初始化后没有内存漏洞。全面支持SQL的分组查询和排列子句,支持聚合函数,用户可以在同一查询中对来自不同数据库的表进行查询。MySQL支持C、C++、Java、Perl、PHP、Python和TCL API等平台。
结束语
信息安全是网络通信的最根本的需求,为了能够维护网络信息安全,加大应用软件的保密性,在线考试系统在用户登录时,采用身份认证方式确认操作者的身份。设计实现了用户身份认证的用户使用端和认证服务器端程序,利用一系列交互认证过程,验证在线考试系统用户身份的真实性,因此保证了在线考试系统的安全,提高了考试的公平性,保障了用户登录的安全,使得整个考试系统的信息得到有力的保障。
参考文献
[1] 李勇;内网安全管理系统中身份认证方案的研究与实现[D];北京邮电大学;2010年.
[2] 邓婕;身份认证方案的研究与设计[D];四川师范大学;2007年.
[3] 徐会艳;基于口令的身份认证方案的研究[D];南京理工大学;2010年.
[4] 傅德胜;陈昕;;一种基于动态口令的身份认证系统研究[J];微计算机信息;2009年27期.