賈燕茹
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.