贾燕茹
JIA Yan-ru
(郑州铁路职业技术学院,郑州 450052)
目前,在高校网络上发布新闻大多是通过人工送审、批阅、回复和发布,各环节主要通过纸质或电子文档来进行,这种方式往往效率不高而且烦琐,也容易造成新闻延误。如果采用信息技术,实现新闻稿件审批的自动化,不仅会提高审批效率,及时发布新闻,而且也能充分挖掘高校网络资源,为办公自动化服务。
新闻稿审批流转是具有固定流程的活动,可以利用工作流技术实现处理过程自动化。按照工作流管理的概念,新闻稿审批系统可以定义为实现新闻稿处理自动化的软件系统。作为办公自动化通用解决方案,市场上有支持公文审批自动化的商业软件,因其侧重通用性,借用它实现新闻稿流转审批,其适应性、灵活性在满足高校网络用户的要求上尚显不足。本文主要从新闻稿审批流程的组成元素、审批过程、数字签名技术以及密钥管理技术等方面阐述高校网络上新闻稿安全审批系统的设计与实现技术。
通过对新闻稿件的人工审批和发布过程的分析,可以看出一份新闻稿件从起草到最终的网上发布,其审批流程可以抽象出三个组成元素:1)新闻稿,也就是审批对象,包括新闻原文和对新闻原文的审批意见两部分内容。可通过E—mail、FTP等手段在相关人员问传递。2)活动节点,也就是新闻稿审批各环节涉及的人员。根据其作用和位置,包括新闻起草人、中间审批人、终审人和新闻稿发布人,每个节点由不同角色担任。3)流程,审批的核心。从新闻的起草、审批到发布,要经过多个环节,需要多人参与,一般是根据预先定义的规则,在活动参与者之间传递信息。流程的类型有很多,通过对新闻审批过程的研究,采用Sequence串行[1]。流程。新闻稿审批流程如图1所示。每个活动节点[2]履行流程中所定义的角色,一个角色的任务完成后再转下一个节点。节点控制流程的继续、退回修改或否决终止。
图1 新闻稿审批流程
新闻稿审批系统除审批流程外,还需要相应的安全机制和管理机制的支持以保证审批权限、审批意见真实完整。系统模型如图2所示。
主要的功能包括:1)系统活动节点、流程的定义。包括审批角色信息、权限信息、审批环节、审批次序的定义。2)用户管理。用户登录后通过认证机制识别其身份和角色,只有授权角色才能进入审批流程,修改审批新闻稿。3)审批流程。完成各审批角色的任务。4)薪闻稿归档。终审并发布的新闻原件、附件及审批意见应该归档供日后查询或审计。
图2 新闻稿审批系统模型
2.1 基本思路
系统设计的基本思路是利用高校网络内部邮件系统作为新闻稿审批过程的信息载体。根据高校各机构的隶属关系,定制固定的新闻稿审批流程模板。每种模板包括审批环节,中间审批人和终审人信息,审批顺序、权限、地址等。模板的创建、编辑、删除、复制等操作通过模板管理系统由具有权限的管理员完成。用户实用的实际新闻稿审批流程是模板的实例。利用数字签名机制对新闻稿审批人员的权限认证并保证各审批环节新闻稿的真实、完整。对数字签名过程使用的密钥采用集中管理,保证其安全和使用的方便。
2.2 流程
审批基本流程抽象为:用户进入新闻稿审批流转系统后,从模板列表中选取适合的模板,进入并完成新闻稿的起草、编辑,然后进行数字签名。由于模板已定义了审批的下一个中间审批人地址,审批系统会自动通过E-mail系统将待审批新闻稿流转到下一个审批环节。中间审批人或终审人进入自己的邮件系统收到待审批的新闻稿,验证数字签名以认证起草人或审批人,甄别新闻稿的真实完整。然后进行本级的审核,批注审批意见,签名。如果审批意见为同意,系统将新闻稿自动按模板的定义流转到下一环节;如果是退改或撤销意见,系统自动将新闻稿回复起草人;当新闻稿通过了所有审批,流转至网络发布人,新闻发布管理员上传该新闻于网页,并将新闻稿存档以备日后查询、审计。
2.3 系统结构
系统分为四个部分:1)审批流程模板管理,建立、修改、删除审批模板。2)审批流转管理,创建审批实例、审批、签名、发布和存档。3)密钥管理,签名和验证密钥的产生和分配。4)系统与邮件系统的接口。系统结构如图3所示。
图3 系统结构
管理员/用户通过浏览器使用本系统。管理员通过新闻稿审批流程模板管理系统创建或编辑模板,定义流程和审批角色,将定义完成的模板存人数据库,供新闻稿审批流转管理系统使用。各新闻撰写用户通过新闻稿审批流转管理功能,选取合适模板,将新闻稿审批流程模板进行实例化,形成并启动实际运行的新闻稿审批流程。密钥管理系统为审批流程中各审批环节的数字签名服务,由系统管理员在定义角色、流程时通过本系统为其产生签名和验证密钥,并集中存放和管理。本系统使用高校网络内部的E-mail系统,需要留出接口。
2.4 数字签名与密钥管理
在新闻稿审批流转中,很重要的一点是保证新闻稿及审批意见在各环节的审批权限以及真实、完整。系统采用数字签名机制,利用MD5对新闻稿及审批意见抽取指纹,利用RSA算法对指纹实施签名,实现对新闻稿内容及审批意见的认定和责任,避免无关人员故意修改新闻原文和审批意见。
为了整个审批流转过程的安全性和有效性,用于签名与验证的公私钥对的产生和管理十分重要。本系统的密钥管理采用集中管理[3,4]。的思想,即设计一个专门生成和管理新闻稿发起人和审批人的公/私钥对的系统(the key management based servel,KMS)。管理员在创建审批模板定义审批角色时为其自动生成密钥对,使用该角色对应用户的登录密
码对密钥对加密,以此来保证只有知道密码的用户是其签名私钥的合法拥有者,才能解密使用签名,从而保证对新闻稿及审批的责任。在KMS中还需存放用户一角色一公钥的映射关系,当审批流程的各环节在验证其前一环节签名真实时,通过向KMS申明审批者的用户名,由KMS返回相应公钥,验证签名。由于公钥目录由系统维护、管理,可以取得更好的安全性,验证者信任KMS提供的公钥,并用该公钥验证审批人签名的真实性,从而保证新闻的真实完整,及各审批环节的责任认定。
系统采用B/S架构,使用ASP和MicrOsOft 0f-fice Access开发,用Java语言实现数字签名。Java在实现数字签名方面有很大优势,一是Java平台为安全和加密服务提供了API(JCA,JCE);二是JCA提供基本的加密框架,如数字签名、消息摘要和密钥对产生器;三是JCE在JCA的基础上作了扩展,包括加密算法、密钥交换、密钥产生和消息鉴别等接口。下面说明用Java2[5]实现数字签名。
Java2中需要用到的主要的类基本都封装在Java.security.*和Javax.crpyto .*包中。
1)引用需要用的Java包。
Import java .io.*;/*输入输出类*/
Import java.crpyto.*;/*密码算法类:如RSA*/
Import java.security.*;/*密钥对产生器类、密钥管理类、签名类等*/
2)KMS产生并保存密钥。
Key Pair Generator DoublekeyGen=Key Pair Generator.getInstance(“RSA”);
DoublekeyGen.init(1024);
Key Pair Doublekey=
DoublekeyGen.genelrateKeyPair();
PrivateKey priKey=Doublekey.getprivate();
PublicKey pubKey=Doublekey.getpublic();
Object output Strearn out=
new.ObjectOutputStrcam(newFileOutputStream(“pubkey.dat”);
out.writeObject,(pubker);
out.close();
(3)对待审批新闻稿产生摘要。
Message Digest message Digest=
Message Digest.getInstance(“MD5”);
Message Digest.update(xw—Plain);
Byte[ ]MD—xw=message Digest.digest();
将审批流程模板化,基于集中式密钥管理,利用数字签名等机制来保证审批流转的完整、真实和可靠,实现了新闻稿审批的自动化,提高了审批、发布效率,而且与高校网络其它应用系统集成,共享资源。
[1]李均,杨建宁,易强.输入率呈指数变化的M/M/1排队模型[J].重庆电子工程职业学院学报,2010,(04):146-147.
[2]孙洪华,曾超.基于排队论医院仿真优化研究[J].中国现代教育装备,2010,(05):59-61.
[3]王莉,朱翼隽.具有不同到达率的带有启动时间及不耐烦策略的多级适应性休假M/G/1排队[J].大学数学,2010,(03):64-69.
[4]庞秀梅,边军辉.后到先服务的GeOm/G/1(Ex,Mv)排队模型的等待时间[J].大学数学,2010,(04):114-118.