文/張懌 王偉聰 黃智
打印機(jī)、復(fù)印機(jī)是辦公過(guò)程中的重要設(shè)備,廣泛應(yīng)用在各個(gè)領(lǐng)域。在中國(guó)市場(chǎng),僅A3幅面辦公用打印機(jī)、復(fù)印機(jī)保有量就有約400萬(wàn)臺(tái),每年更新約80萬(wàn)臺(tái),其中用于黨、政、軍辦公環(huán)節(jié)以及各級(jí)涉密部門(mén)約占總量的40%,即160萬(wàn)臺(tái),每年更新32萬(wàn)臺(tái)。全球打印復(fù)印機(jī)的主要品牌僅10余個(gè),其中美國(guó)品牌1個(gè),英國(guó)、荷蘭品牌各1個(gè)(均已被日本企業(yè)并購(gòu)),中國(guó)臺(tái)灣品牌1個(gè)(代工生產(chǎn)日本產(chǎn)品),其余均為日本品牌,生產(chǎn)核心技術(shù)主要被外國(guó)壟斷,這使得中國(guó)黨政軍各級(jí)部門(mén)在文件輸出環(huán)節(jié)的安全隱患巨大。為此,中國(guó)軍方曾經(jīng)二度花費(fèi)巨資進(jìn)行文印輸出管控方式的標(biāo)準(zhǔn)制定以及推廣,國(guó)家保密及機(jī)要系統(tǒng)也投入專項(xiàng)資金對(duì)普通打印復(fù)印機(jī)進(jìn)行安全增強(qiáng)研制。但這些只是防范性措施,如果某些國(guó)家通過(guò)在打印復(fù)印機(jī)內(nèi)植入程序、預(yù)留后門(mén),我們使用其技術(shù)品牌的打印復(fù)印機(jī)會(huì)造成巨大的信息泄密,造成難以估量的損失;同時(shí),由于我們沒(méi)有完全知識(shí)產(chǎn)權(quán),無(wú)法加解密要打印或復(fù)印的絕密文件,所有的防范措施只能從外圍著手,事倍功半。
中高端打印復(fù)印機(jī)通常是通過(guò)網(wǎng)絡(luò)共享使用的,網(wǎng)絡(luò)上如果有某非常規(guī)接收節(jié)點(diǎn),不論是否連接因特網(wǎng),都有可能造成信息泄露。更不要說(shuō)還有少部分信息安全意識(shí)差的涉密單位,還會(huì)與打印復(fù)印機(jī)共用根服務(wù)器基本在國(guó)外的因特網(wǎng),將造成更大的網(wǎng)絡(luò)泄密風(fēng)險(xiǎn)。
本研究針對(duì)系統(tǒng)級(jí)芯片(SoC)打印復(fù)印機(jī)研制一套基于安全可信技術(shù)的管控系統(tǒng),通過(guò)基于自主可控的加、解密技術(shù),控制芯片嵌入SM2、SM3和SM4國(guó)產(chǎn)密碼算法,可以實(shí)現(xiàn)在電腦端加密,然后到打印復(fù)印端解密的工作方式,從根本上解決中高端打印復(fù)印機(jī)需要網(wǎng)絡(luò)共享卻又容易因網(wǎng)絡(luò)泄密的問(wèn)題。
安全可信管控系統(tǒng)的核心子系統(tǒng)中安全監(jiān)控邏輯結(jié)構(gòu)、物理監(jiān)控結(jié)構(gòu)、存儲(chǔ)客戶端警報(bào)結(jié)構(gòu)、TCP發(fā)送接口數(shù)據(jù)結(jié)構(gòu)、系統(tǒng)容錯(cuò)處理等系統(tǒng)組成。
互聯(lián)網(wǎng)報(bào)警信息一方面要保證有足夠的證據(jù)確定發(fā)生違規(guī)行為的單位和終端,另一方面要收集相關(guān)的外聯(lián)通道信息,幫助違規(guī)單位分析原因、提高涉密網(wǎng)絡(luò)管理水平,因此,互聯(lián)網(wǎng)報(bào)警信息應(yīng)當(dāng)包含終端紀(jì)錄信息、配置管理信息和網(wǎng)址索引信息,見(jiàn)表1至表3。
表1 互聯(lián)網(wǎng)報(bào)警終端記錄信息
表1 (續(xù))
表2 互聯(lián)網(wǎng)報(bào)警配置管理信息
表3 互聯(lián)網(wǎng)報(bào)警網(wǎng)址索引信息
該模塊針對(duì)系統(tǒng)敏感信息進(jìn)行監(jiān)控,對(duì)輸入和輸出文件進(jìn)行加、解密和追蹤。
錯(cuò)誤配置文件:err.conf g [errCode:errString]
錯(cuò)誤頭文件:err.h [enum{errExp= errCode,...}]
程序目錄結(jié)構(gòu):
--plugin 存放第三方分析程序。
--save.conf g 保存設(shè)置。
--secret.db 敏感信息庫(kù)。
--Servs.OutStream.Mapping IPC 文件映射通信
讀取、服務(wù)端[供第三方讀取任務(wù)]
--Client.InStream.Mapping IPC 文件映射通信寫(xiě)
入。服務(wù)端[第三方寫(xiě)入任務(wù)進(jìn)度]
--{TASK_PATH} ask.conf g 任務(wù)設(shè)置。
--{TASK_PATH}secret 已涉及敏感信息網(wǎng)頁(yè)。
--{TASK_PATH}secret eport.log 敏感信息網(wǎng)頁(yè)
報(bào)告。
--{TASK_PATH}anaylse_res 第三方分析結(jié)果。
--{TASK_PATH}anaylse_res{URI_NAME}.anay
lse.res 每個(gè)資源的分析結(jié)果。
--{TASK_PATH}index.idx 任務(wù)索引。
--{TASK_PATH}{WEB_PAGE_NAME_MD5} 資
源目錄。
--{TASK_PATH}{WEB_PAGE_NAME_
MD5}uri.idx 網(wǎng)絡(luò)資源名-本地文件名對(duì)應(yīng)
索引。
該數(shù)據(jù)結(jié)構(gòu)主要用于警報(bào)解碼后進(jìn)行填充,然后將填充好數(shù)據(jù)傳入組包模塊。組包模塊將利用該數(shù)據(jù)結(jié)構(gòu)組包。
struct ClientInfo
{
TCHAR name[101]; //主機(jī)名
CHAR ZoneCode[16]; //地區(qū)編碼
CHAR UnitName[128]; //單位名
CHAR Dept[48]; //部門(mén)
CHAR UserName[101]; //用戶名
ULONGLONG MAC[3]; //本機(jī)MAC地址
ULONG hip[3]; //本機(jī)IP
CHAR OS[51]; //操作系統(tǒng)信息
CHAR MasterCode[51]; //主板編碼
CHAR HDCode[256]; // m_HDCode[256];
CHAR ver[21]; //客戶端程序Ver
TCHAR TranName[101]; //轉(zhuǎn)發(fā)服務(wù)器名
ULONG TranIp; //被轉(zhuǎn)發(fā)的IP
TCHAR TranTime[101]; //轉(zhuǎn)發(fā)的時(shí)間
}
為保證數(shù)據(jù)傳輸質(zhì)量,特獨(dú)立創(chuàng)建線程進(jìn)行通信。但線程函數(shù)只能傳輸一個(gè)參數(shù),所以創(chuàng)建一個(gè)結(jié)構(gòu)體,把必要信息一起傳進(jìn)去。
struct TCPSendInfo
{
SOCKADDR_IN Addr; //TCP發(fā)送的目的
IP 地址
char Data[2014]; //TCP 發(fā)送的數(shù)據(jù)
UINT Size; //發(fā)送數(shù)據(jù)的大小
}
(1)出錯(cuò)信息
針對(duì)系統(tǒng)穩(wěn)定性進(jìn)行容錯(cuò)處理設(shè)計(jì),首先將出錯(cuò)信息進(jìn)行分類如表4所示,對(duì)常見(jiàn)的問(wèn)題實(shí)施預(yù)處理,非常規(guī)問(wèn)題應(yīng)有補(bǔ)救措施,系統(tǒng)定期進(jìn)行維護(hù)。
(2)補(bǔ)救措施
說(shuō)明故障出現(xiàn)后可能采取的變通措施,包括:
a. 索引[數(shù)據(jù)]設(shè)備出現(xiàn)故障后,應(yīng)立即使用后備數(shù)據(jù);
b. 當(dāng)應(yīng)用程序出現(xiàn)錯(cuò)誤應(yīng)該能自動(dòng)重啟,接著上次未完成任務(wù)繼續(xù)。
表4 打印復(fù)印機(jī)管理系統(tǒng)常見(jiàn)問(wèn)題與處理方法
(3)系統(tǒng)維護(hù)
● 出錯(cuò)重啟動(dòng)
在程序運(yùn)行時(shí)向系統(tǒng)服務(wù)控制器寫(xiě)入保護(hù)請(qǐng)求,在程序正常關(guān)閉時(shí)關(guān)閉保護(hù)請(qǐng)求。這樣,如果在程序異常退出時(shí),則系統(tǒng)會(huì)重新啟動(dòng)程序。
● 斷點(diǎn)續(xù)傳
程序在維護(hù)日期寫(xiě)入程序運(yùn)行日志,直到程序關(guān)閉為止。如果在程序重新啟動(dòng)之后發(fā)現(xiàn)程序沒(méi)有正常關(guān)閉,則會(huì)讀取日志,完成未完成的任務(wù)。
目前國(guó)產(chǎn)打印復(fù)印機(jī)存在低效且容易因網(wǎng)絡(luò)共享造成信息泄露等問(wèn)題,本研究通過(guò)研制基于安全可信技術(shù)的打印復(fù)印機(jī)管控系統(tǒng),能夠很好地填補(bǔ)我國(guó)相關(guān)技術(shù)空白并解決以上問(wèn)題。采用離線雙向秘鑰互補(bǔ)加、解密算法,彌補(bǔ)了現(xiàn)有打印數(shù)據(jù)容易發(fā)生傳輸竊取泄密的缺陷;結(jié)合SoC芯片動(dòng)態(tài)自調(diào)試與身份匹配,從而實(shí)現(xiàn)打印復(fù)印機(jī)在任一場(chǎng)景下做到系統(tǒng)安全可信。