安徽博微長安電子有限公司 楊守峰
對文件名進行密級標識是為了方便對文件的進行密級管理,是防止涉密信息無意間泄露的有效途徑,是保密單位的基本規(guī)定,然而現(xiàn)在很多文件名的密級標識還是手動輸入,當文件數(shù)量很多的情況下,標識文件將是一項相當費時費力的任務,同時,也容易出現(xiàn)漏標、錯標的錯誤?,F(xiàn)在一般的解決方案有利用文件密級管理插件,即當文檔編輯好后,即彈出該插件,讓制作者選擇密級,對文件的首頁和文件名進行自動標注,然而這樣的插件仍有其固有缺點,第一仍是對單個文件進行操作,對批量文件的操作費時費力,第二,此類插件占用較多計算機資源,容易引起計算機變慢、死機等問題;還有的解決方案是利用現(xiàn)有的重命名軟件,然而此類軟件使用起來并不完全滿足要求,且功能單一,無法滿足更復雜的要求。因此,本文希望開發(fā)一款具有批量標識功能的工具,以使密級標識任務變得簡單。
文件標識需要在首頁和文件名進行標識,存在四種狀態(tài):第一、首頁有標識,文件名沒有標識,這種情況特別容易密級混亂,造成涉密文件打印、傳輸、使用中的泄密;第二、首頁和文件名皆標識,但有可能出現(xiàn)二者不一致的情況,一般以首頁密級信息為準;第三、文件名有標識,首頁沒有標識;第四、文件名和首頁都沒有標識。使用者希望能夠在選好單個文件、多個文件或者文件夾之后,軟件能夠自動處理以上四種情況。對于第一種情況,軟件根據(jù)讀取文件首頁信息,提取密級信息,然后對文件名進行重命名;第二種情況,軟件讀取首頁密級信息和文件名密級信息,對二者比對,對不相匹配的情況,修改文件名;第三種情況,為了不破壞文件內容,一般僅對用戶進行提示;第四種情況,需要用戶選擇密級,然后修改文件名。
表1 軟件需求分析
根據(jù)以上需求,軟件分為文件選擇模塊、自動檢測模塊和批量標識模塊。軟件工作流程是用戶首先使用文件選擇模塊,可選擇單個文件和文件夾,文件選擇模塊將文件路徑和文件名存儲下來;用戶選擇自動檢測模塊,軟件遍歷所選文件和文件夾下的所有文件,調用檢測模塊,對前面介紹的第一種情況和第二種情況的文件,調用批量標識模塊,修改標識,對第三種情況和第四種情況,分別移動文件到指定文件夾;針對第三種情況,用戶可以自定義密級,選好文件后,批量標識模塊自動進行修改(見圖1)。
經(jīng)過分析,WORD、EXCEL、PPT文件在日常工作中使用頻率最大,產生的文件占總數(shù)80%以上,也是最需要自動密級標識和自動密級檢測的地方,因此,軟件目前針對該三類文件進行自動檢測。
圖1 用例描述
Microsoft Office提供了OLE Automation自動化程序的接口,通過添加Office提供的庫可對Word、Excel、PPT等軟件進行讀取內容的操作,其中Word提供的庫為MSWORD.OLB、Excel提供的庫為Excel.OLB、PPT提供的為MSPPT.OLB。
對Office進行操作的流程是:
(1)添加類型庫,以本電腦word2003為例,類型庫文件路徑是“D:Program FilesMicrosoft OfficeOFFICE11MSWORD.OLB”。
(2)選擇要添加的類,這里可以全選。
(3)初始化COM,利用InitInstance()函數(shù),在其中添加Afx-OleInit()函數(shù)。
(4)調用相關函數(shù)實現(xiàn)功能,如獲取文件內容。
對word和PPT文件讀取第一頁內容,對EXCEL文件,讀取前三行的內容,從文檔內容和文件名尋找“非密”、“內部”、“秘密”和“機密”四個關鍵詞。如果沒有獲取成功,則默認為非密,如果獲取成功,則將文件內容和文件名密級相對比,將對比結果歸類為前面四種情況之一。
當檢測為情況1和情況2,修改文件名,添加相應的密級標識;當檢測為情況3,將文件移動到一個臨時文件夾,由用戶決定密級;當檢測為情況4,移動到臨時文件夾,以作提醒。
圖2 自動檢測模塊流程圖
用戶首先將密級一致的所有文件或文件夾放入統(tǒng)一的文件夾,確定好密級后,批量標識模塊將遍歷文件夾下的所有文件,自動添加密級標識。
圖3 批量標識流程圖
圖4 批量標識源程序代碼
試驗中選擇100個文件,以上四種情況各取25個,首先選擇自動檢測功能,最終約1分鐘檢測完畢,對符合情況1和情況2的文件,在文件名中進行標識,對情況3和情況4的文件,放入2個臨時文件夾“未標識”和“提示文件”中,經(jīng)查看,已標識的文件名和首頁密級相符達100%;然后,選擇批量標識功能,人工將“未標識”文件夾里的文件按密級進行分類,耗時1分鐘,再調用批量標識功能,經(jīng)過約10秒的時間,自動標識完畢,總共耗時130秒,平均1.3秒一個文件。手動標識平均每個文件打開2秒,查看2秒,添加標識6秒,平均至少10秒一個文件。可見軟件的自動標識速率大大優(yōu)于人工手動輸入。
該密級標識軟件利用的是文件首頁和首行密級信息與文件名密級信息是否匹配,并不能判斷文件內容是否涉密;該軟件通過MFC調用相關函數(shù),編程實現(xiàn)大量人工操作,可大大節(jié)省文件密級標識的時間,有效防止漏標、錯標的問題;然而,該軟件目前僅支持Office軟件,后續(xù)需要擴展對其他文件類型的支持。
[1]孔凡真.基于插件技術的Word電子文件密級標識生成與管理工具的設計與實現(xiàn)[D].北京交通大學,2016.
[2]代飛.基于OLE技術和MFC框架技術的文檔自動化系統(tǒng)[D].吉林大學,2009.
[3]吳希有.基于COM技術的電子文檔密級標識系統(tǒng)設計與實現(xiàn)[D].杭州電子科技大學,2015.
[4]張家存,姜秀柱.基于MFC的Word文件編程[J].《福建電腦》,2011,9:143,173.
[5]陳特放,方斌.VC平臺下基于OLE的Word自動化操作應用[J].計算機應用與軟件,2009,9:123-125.