第21卷 第1期
河南教育学院学报(自然科学版) V01.21 N0.1
2012年3月
Journal of Henan Institute of Education(Natural Science Edition)
Mar.2Ol2
一种高校网上办公数字签名系统的设计及实现
郭改文
(河南教育学院信息技术系,河南郑州450046)
摘要:针对高校网上办公系统存在的安全需求,将PK1技术应用于高校网上办公系统,设计了一种高校网上办
公数字签名系统的功能模型和公文流转的总体架构,并利用Java技术提供的安全体系分别实现了公文流转服务器
端和客户端的部署.
关键词:高校;公约基础设施(PKI);数字签名;公文流转;Java
中图分类号:TP309.2 文献标识码:A 文章编号:1007—0834(2012)0l一0032—04
0 引言
随着高校数字化校园建设的逐步推进,方便快捷、信息渠道畅通的网上办公系统在功能上已基本完善,
为高等院校提供了管理关系的协调与统一,提高了工作质量和效率,在高校异地化办公中发挥着重要的作
用.其处理的大量敏感信息通过校园网及Internet传送,如何保证高校网上办公系统顺利畅通,保证敏感信
息不被他人侵犯、破坏及干扰,已经成为信息安全领域关注的一个重要课题.基于密码学的数字签名技术能
够保证数据的机密性、完整性及抗否定性,能解决通信双方引发的争端.本文基于公钥基础设施PKI(Public
Key Infrastructure)技术”。 ,以河南教育学院网上办公系统为例,设计并实现了一种高校网上办公数字签名
系统.
1 网上办公数字签名系统功能模型
1.1特殊的数字签名
针对高校网上办公系统的特点,根据功能的不同可以将数字签名分为以下几种形式.
(1)个人单独签名 网上办公系统主要是对公文的签发和接收,在接收公文过程中,主要是对公文的验
证和归档,一般属于部门一对一的个人单独签名.本文使用基于混合密码体制的个人单独签名方案 』.
(2)多重数字签名 网上办公系统中,还存在着多个部门多个用户对同一信息共同签名的需求.需要多
人参与对同一文件进行签名,称之为多重数字签名.根据参与签名过程的不同,将多重数字签名分为有序多
重数字签名和广播多重数字签名两种 。 .
(3)群签名 网上办公系统中,在公文签收时,相同院系、科室的不同工作人员可以代表其所在部门完
成诸如公文签收类事务性工作,系统一般只需要确认该部门是否收到公文,并不关心具体接收公文的工作人
员,但一旦出现争议时,又可检查出当时的接收者.由于群签名 具有签名者匿名、只有权威才能辨认签名
者等多种特点,使得群签名在高校网上办公系统(如办公系统中的公文签收、电子投票、电子选举、招标投标
等子系统)中广泛应用.
(4)其他签名 除上述签名之外,高校网上办公系统中还涉及代理签名、盲群签名、自证明认证加密签
名、不可否认签名、防失败签名等 .
1.2数字签名系统的功能模型
基于高校网上办公系统的安全需求,设计高校公文流转数字签名系统,它包括4部分内容:CA中心、公
文流转客户端、公文流转服务器、管理部门应用服务器.基于PKI技术的CA中心的建立参见文献[8].本系
收稿日期:2011—1l一20
基金项目:河南省科技厅重点攻关项目(082102210059);河南省高等学校青年骨干教师资助计划(2009GGJS一139)
作者简介:郭改文(1971一),女,河南邓州人,河南教育学院信息技术系副教授,博士,研究方向:智能计算、计算机网络及信息
安全.
第1期 郭改文:一种高校网上办公数字签名系统的设计及实现 33
统采用基于4层B/S模式结构,功能模型如图1所示,4个层次分别是客户浏览器、Web服务器、数字签名应
用服务器以及后端数据库服务器.本系统模型中的用户可以通过Intranet(异地分校区用户通过Internet)访
问应用服务器的管理中心模块,进行用户登记、注册、注销和权限管理.Web服务器负责把终端用户的签名
请求送到数字签名应用服务器,并把签名结果返回客户端.在数字签名应用服务器上,个人单独签名管理模
块实现个人单独数字签名功能,多重签名管理模块实现有序和无序多重数字签名,群签名管理模块和代理签
名管理模块可以进行群签名和代理签名.数据库服务器通过后端数据库对公文相关数据进行处理.
l 管理中心模块 l1._ ◆ 厂、
终端用户界面I. _--/ n ernet ! - 服务器 ・l●・
o
, — Web
个人单独签名管理模块
I多重签名管理模块1.__ ◆ 后端
l群签名管理模块1.一_ ◆ 数据库
—
O o
l代理签名管理模块I.._ ◆ \/
i 客户浏览器层j
........................
we 服务器层i
.......一.......... 一...一... .
应用服务器层 I数据库服务器层
:
....一......................... ......... ......
图1 高校网上办公数字签名系统功能模型
Fig.1 Function model of digital signature in network-based office system for colleges and universities
2公文流转的总体架构
高校网上办公系统中,公文网上流转的总体架构如图2所示.公文流转客户端主要有以下功能:产生密
钥对、上传公钥到CA中心、下载经CA签名的证书、维护本地证书列表并与CA中心的证书列表同步以及进
行公文的上传和下载.公文流转服务器负责发送公文、转发公文、接收公文以及对用户和公文进行管理.证书
服务器负责根据具体的证书策略审核申请人身份,由审核结果决定是否给用户颁发证书.此外证书服务器还
要进行以下处理:证书撤销请求(由于各种原因导致证书失效)、发布证书和列表、将证书撤销列表发送到目
录服务器.目录服务器提供用户的身份信息和证书查询,并且保留最新的证书撤销列表.
图2公文流转的总体架构
Fig.2 General framework of
document circulation
图3公文发送和接收的过程
Fig.3 Process of sending and
receiving documents
在图3中展示了公文通过CA认证中心发送和接收的过程.通过公文发送方和公文接收方的双向认证
通信机制,很好地实现了公文收发双方的不可否认性和不可抵赖性,使网上办公系统公文流转过程更加安全
稳固.
3数字签名系统的实现基础
3.1 Java技术的安全体系
Java的安全性包括两个方面:一是Java2平台内置了Java2安全体系结构核心和Java加密体系结构,故
它是一个安全、现成的平台;二是Java语言所实现的安全服务功能,对安全性要求较高的领域来说是非常重
要的.
Applet是执行于Web浏览器上的一段小Java程序,继承于java.applet.Applet类.Applet和HTML的组
合,可以建立功能强大的动态界面.
34 河南教育学院学报(自然科学版)
为了避免远程下载的Applet危及系统的安全,Java主要采用“沙箱”机制实现安全措施,其安全模型提
供了Appiet类装载器、字节码验证器以及安全管理器.Applet类装载器能一直保持对Java运行环境的控制;
Java字节码验证器假设了所有的代码都是有可能突破系统的安全措施的,从而按级别进行验证;安全管理器
的作用就是保卫沙箱之间的边界.这三者结合起来可在Applet的装载与执行阶段,对文件系统、网络与浏览
程序的内部存取做进一步检查,共同维护着Java Applet的安全.
Java Applet默认在“沙箱”中运行,有很多限制.例如,不能和Applet所在机器以外的服务器通信,不能
访问用户本地资源等.为保证用户的安全,在数字签名系统中,将Applet签名程序从服务器端下载到客户端
的机器上运行签名的过程.如何突破“沙箱”限制,允许签名过程访问用户本机系统上的文件,从而获取用户
签名所需的密钥,对需宴签名的文件进行签名操作呢?解决的办法是对Java Applet类进行数字签名.
在Windows的DOS界面下,进入编写的Applet类所在的目录,按以下步骤进行.
(1)将编译生成的Applet类打包成jar文件:
jar—cvf sign—LJ.jar sign—LJ
此命令将包sign—LJ压缩为sign—LJ.jar包.
(2)为前面创建的包文件(sign—LJ.jar)创建LJkeystore和keys:
keytool——genkey——keystore LJkeystore——lias LJCA
此命令生成了一个名为LJkeystore的keystore文件,其中,LJkeystore将用来存放私钥(private keys)和公
钥的认证,这里别名取为LJCA.命令执行后,系统会提出一些问题,用户要根据实际情况进行填写.
(3)使用上面生成的钥匙来对jar包文件进行签名:
jarsigner—keystore LJkeystore sign—LJ.jar LJCA
这样就完成了对Applet类的自签名.
当签名后的sign—LJ.jar下载到客户端,用户验证该签名并通过后,sign—LJ.jar中的程序就可以操作客户
端本机系统上的资源.
3.2数字签名模块的功能
数字签名模块是以Applet的形式下载到客户端运行,是本系统的核心.主要功能有:生成非对称密钥
对、生成对称密钥、生成原始文件的信息摘要、加密原始文件、签名信息摘要,加密对称密钥、解密对称密钥、
解密原始文件、原始文件重新生成信息摘要,解密签名的信息摘要、摘要对比等.
4 网上办公数字签名系统的实施及运行
基于PKI数字证书、Java Applet安全、数字签名算法及J2EE相关技术,可以构建起一个安全的网上办公
系统.本系统的开发工具及运行环境:测试服务器使用Apache Tomcat 6.0,数据库使用MS Access 2003,系统
界面开发使用Dreamweaver 8,系统页面主要语言为Jsp 1.0,系统主要签名及验证功能代码使用JDK 1.6编
写,运行时需要有JRE环境.