摘要:本文结合网上阅卷系统的安全需求以及认证和授权机制,给出了基于JAAS的网上阅卷系统认证和授权机制的设计思想,设计出了网上阅卷系统的认证和授权服务的架构,并完成了认证和授权服务的架构中各组成部分的详细设计。
关键词: JAAS;网上阅卷;认证;授权
中图分类号: TP311 文献标识码:A 编号: 1007 - 1687 (2007) 08 - 0045 - 02
收稿日期: 2007 - 02 - 15
作者简介:章丽玲(1975 - ) ,女,研究方向为网络安全。
1 引言
网上阅卷系统是以计算机网络和电子扫描技术为依托,以控制主观题评分误差、实现考试公平性原则为最终目的,把多年来人工阅卷积累起来的丰富经验和现代高新技术相结合,由阅卷教师在计算机辅助下完成试卷评阅的一种全新工作模式。网上阅卷通过计算机及计算机网络进行,必然会存在许多不安全因素,如在网络上传输的评分结果易被人窃听或篡改、阅卷教师的身份可能被假冒、阅卷服务器易受到黑客攻击等等。从提升网上阅卷系统的安全强度出发,本文探讨了如何利用JAAS ( Java Authentication and Authorization Service)技术实现网上阅卷系统的安全设计。
2 JAAS概述
Java认证和授权服务JAAS是组成J2EE安全框架的三个AP I之一,它提出了以用户为中心的安全框架,强调通过验证谁在运行代码以及运行者的权限来保护系统免受攻击。
JAAS实现可插拔的安全认证( PAM: Pluggable AuthenticationModule) ,使得上层的Java应用程序和底层的安全认证相互分离,这样有利于使用新的登录模块或者更改已有的登录模块而不用修改上层应用。JAAS的验证机制使用LoginContext类实现独立于底层验证技术的登录。在LoginContext类的下面是一个或多个动态可配置的登录模块,这些登录模块对应相应的安全机制,处理实际的验证服务,比如一个登录模块对应着执行基于Kerberos协议的验证,而另一个登录模块可能对应着执行基于智能卡的硬件方式的验证。
在JAAS推出之前,访问控制以代码为中心,通过了解代码的来源和数字签名者的身份判定其访问的权限。在JAAS中,通过将Subject (主体)添加到LoginContext中,实现基于用户角色的访问控制,即根据谁在执行代码来授予访问权限或拒绝访问。JAAS的授权可以通过编程和声明两种方式实现。编程方式下,程序通过检查经过认证的Subject中的权限特征决定是否授予访问权限;声明方式下,访问控制器通过将包含在LoginContext的权限特征与策略文件中的权限配置进行对比,以决定是否允许敏感操作。
3 基于JAAS的网上阅卷系统的安全设计
3. 1 基于JAAS认证和授权的设计思想。对于用户的认证,一般的设计思路为:在服务器和客户端两边同时编写登录模块。这样做的好处是客户端和服务器端同时进行认证,从而加大了系统的安全系数,但这样却加重了客户端的负担,也违背了表现逻辑与业务逻辑分离的思想。怎样才能既保证系统的安全,又不加重客户端的负担呢? 解决的思路是把客户端的认证信息一次性传递给服务器,并在服务器端通过认证。
JAAS的目标是实现以用户为中心的访问控制,即允许经过认证的用户访问指定授权的资源,网上阅卷系统采用基于角色的访问控制,用户角色采用层次结构,从高级向低级分为系统管理员、科目主管、题组长、小组长、普通评卷员。高级角色只对他下属的低级角色有控制权,对其他的低级角色无控制权,如题组长只能管理小组长,而不能管理普通评卷员。
3. 2 认证和授权服务的架构。基于3. 1节的实现思想,图1给出了网上阅卷系统认证和授权服务的架构:
(1)会话管理器。会话管理器完成管理安全会话令牌和传递用户请求到身份认证器和访问控制器的功能。用户的所有请求都发送到会话管理器,由会话管理器将这些请求传递到具体的管理器去完成相关工作。会话管理器必须具有以下功能:会话创建,当用户成功认证后,建立一个会话令牌供后续访问使用;会话验证,安全系统验证会话令牌,确信会话仍然是活动和有效的;会话终止,当用户注销或用户被禁止时,终止会话。
(2)身份认证器。主要完成对用户身份进行认证,从而判断用户是否是系统合法的用户。身份认证器在认证用户身份后,必须在一定程度内保持用户的认证结果的有效性。它返回一个标识用户认证会话的安全会话令牌,同时把认证后产生的用户信息(如用户角色信息)保存起来,以供授权访问用。
(3)访问控制器。是提供对多种不同类型资源的各种级别的访问控制,主要资源有:题块资源、学生分数资源、各种统
计资源等,访问控制器使用认证之后用户的标识和基于角色的安全访问控制策略来判断用户对特定保护资源的请求访问权限。
(4)安全服务管理控制台。目的是提供对用户、角色和阅卷资源等信息的管理。每个用户都拥有自己的信息,按照用户群体的角色来管理。
(5)用户信息库。主要用来存放用户表、角色表、权限表以及它们之间的对应关系表、约束关系表等。
(6)阅卷数据库。主要用来存放试卷图片数据、考生分数数据、各种统计数据等阅卷数据信息,为用户提供访问的客体资源。
3. 3 安全服务器设计的详细设计
3. 3. 1 会话管理器。会话管理器使用一个会话令牌来实现会话管理,会话令牌包含用户基本信息、用户角色信息、用户相关认证信息、认证反馈信息等。会话管理器创建和维护会话令牌,并在后续的授权访问中传递该令牌以获得相关信息。会话管理器定时判断会话是否超过指定的时间,对于超时的会话,会话管理器删除与会话相关的信息,被删除的会话所对应的用户在以后的访问过程中需要重新认证。在用户需要访问特定被保护的资源并请求授权时,访问控制器调用会话管理器的会话令牌验证功能以确认用户会话的有效性,只有当用户会话验证通过时,才会通过安全访问控制策略对资源的请求访问进行检查。用户退出系统时,会话管理器撤销用户会话,并删除用户登录后生成的所有信息,而在用户访问期间,用户的相关信息可以通过用户的会话令牌获得。会话管理器对象模型如图2所示。
其中SessionTokenManage类实现与身份认证管理接口和访问控制管理接口,完成建立和维护会话令牌以及传递请求到具体处理模块的功能。SessionToken类封装了令牌的相关信息,包括令牌ID、用户认证信息、用户主题信息和认证反馈信息等。
3. 3. 2 身份认证器。安全保护的首要问题是鉴别用户身份。当用户访问网上阅卷系统时,首先必须鉴别用户的身份,如果用户是该系统的合法用户,则允许用户进入系统,否则退出系统。目前有多种用户身份认证的方法可用,如口令认证、证书认证、物理特征认证等。对于各种认证方法,都有相应的认证机制,网上阅卷系统决定采用一种开放的、可扩展的认证方式,即提供一种能容纳各种认证机制的可能,如一个用户可采用多种认证方式,而不用更改很多代码,只需修改相关的配置文件即可,采用JAAS技术可实现网上阅卷系统的可插拔的认证机制。具体方法为:将JAAS的不同认证域映射为不同的认证机制,不同的认证机制需要提供不同类型的认证信息,通过传递给服务器的参数类型可以确定认证方式。身份认证器在认证过程中根据用户提供的认证信息类型,确定认证机制并映射到相应的认证域,并将以后的认证过程交给JAAS处理。JAAS域配置决定一种认证机制采用哪些LoginModule进行处理,并确定认证通过规则。网上阅卷系统身份认证器结构图如图3所示。
3. 3. 3 访问控制器。网上阅卷系统的访问控制器采用JAAS的基于用户角色的授权模式,具体实现方法为:首先初始化访问控制器,获得基于角色访问控制策略中的所有角色和这些角色所拥有的所有权限。当进行授权访问时访问控制器从会话令牌信息中获得用户的认证信息,如果用户通过认证,则获取该用户所拥有的角色信息,并将对请求资源和相关操作封装成一个权限信息集合。访问控制器调用JAAS的Subject类的相关方法来实现授权,该方法初始化一个特权动作从而触发Java安全管理器装入安全访问策略,该策略由自定义的角色权限适配器提供。只要授权请求的用户的角色权限大于或等于他所请求资源的操作权限就通过了该项资源操作请求。
3. 3. 4 安全服务管理控制台。安全服务管理控制台是实现访问控制的初始化关键控制组件,安全服务管理控制台主要由以下功能子模块组成: (1)用户管理模块。负责添加用户、修改用户、删除用户; (2)角色管理模块。负责建立和维护角色及角色层次的工作,包括添加角色,删除角色,添加角色间的继承关系和删除角色间的继承关系; (3)资源管理模块。负责管理系统的阅卷资源,包括题块资源的管理、阅卷分数资源的管理、统计资源管理及异常试卷的管理; ( 4)权限管理模块。负责建立和维护权限系统,包括创建权限和删除权限; ( 5)映射关系管理模块。主要功能包括负责维护用户与角色之间的映射关系;负责维护角色与权限之间的映射关系;负责维护权限与操作之间的映射关系。即建立映射关系
JB P3. 2,LOOP2 ;检测若是否为0了
LOOP3:NOP
JNB P3. 2,LOOP3 ;检测若是否为1,若为1,一个周期
CLR TR0 ;结束同步. 读定时计数Nc值
MOV B, TH0
MOV A, TL0
MOV TL0, #00H
MOV TH0, #00H
RET
4 存在的问题
⑴测量的频率范围内存在0 ~7. 6HZ的死区,原因是MCS系列单片机定时/计数器为16位,可通过增加软件定时位数解决,但使用的采样周期变长。
⑵在整个频率范围内分辨率和精度是非均匀的。
参考文献:
[ 1 ]杨振江,孙占彪. 智能仪器与数据采集系统中的新器件及应用. 西安电子科技大学出版社, 2001.
[ 2 ]何立民. 单片机应用技术选编(2) . 北京航空航天大学出版社, 2000.
[ 3 ]何立民. MCS - 51系列单片机应用系统设计系统配置与接口技术. 北京航空航天大学出版社, 1998.
[ 4 ]李昌禧. 智能仪表原理与设计. 化学工业出版社, 2005.
The V/F Data Acquisition Circuit for
the SinglechipM icrocomputer Besed on LM331
L I J ian - xin L I Ju - chun
(Wuhan Institute of Software Engineering, Wuhan 430205, China)
Abstract: This paper introduces an app lication of a voltage frequency converter formed a serialmodulus converter, including the singlechip computer alongwith its circuit of the interface and high definition frequencymeasurment design method. Achieve the transference of the analog signals from the digital signalswhich are the computer required. They are widely used in intelligentized signals checking instrument and meter, It can using by a few circuits form the V /F data acquisition channel and the p rogram control of circuit interface.
Key words: V /F transformation;micro controller unit; frequency measurement
和撤销映射关系。
结束语
采用JAAS技术实现网上阅卷系统的身份认证和授权机制,较好地解决了对身份认证和访问控制的统一管理问题,降低了后续开发的难度,增强了网上阅卷系统的安全性。
参考文献:
[ 1 ]王海龙,朱程荣. J2EE中基于CAPTCHA的认证模块的实现. 计算机技术与发展, 2006, (1).
[ 2 ]Konstantin Laufer. A hike through post - EJB J2EEWeb app lication architecture, Part II. ScitntificProgramming, 2006, (3 /4).
[ 3 ]张志立,张鹏,齐德昱. 基于J2EE的Web应用开发中的安全问题的研究. 武汉理工大学学报, 2005, (2).
[ 4 ]张海燕,宋中山. JAAS:灵活的Java安全机制. 农业网络信息, 2005, (6).
[ 5 ]刘晓华等编著. 精通Java核心技术[M ]. 北京:电子工业出版社, 2003.
[ 6 ]王敏,吉逸. Java2环境下身份认证和授权机制的研究[ J ] ,微机发展, 2003, (5).
Secure Design in OnlineMarking System Based on JAAS
ZHANG L i - ling
(Department of Computer Science and Engineering, HubeiUniversity of Education, Wuhan 430205, China)
Abstract:Based on the security demanded and authentication and authorization mechanism in online marking system,this paper describes design of the authentication and authorization mechanism of online marking system; designs the architecture of Authentication and Authorization Server based on JAAS and comp letes the detailed design.
Key words: JAAS; onlineMarking System; authentication; authorization