◆王 敏
?
一種基于二維碼的涉密內網安全短信網關
◆王 敏
(湖北三峽職業技術學院 湖北 443000)
本文基于二維碼生成和解碼技術,將涉密內網需要發送的手機短信生成二維碼圖片,非涉密外網使用攝像頭解碼二維碼圖片還原原始信息,借助運營商短信平臺進行短信發送,實現內外網物理隔離環境下內網系統向手機用戶發送涉密業務系統生成的文件簽收、公文辦理等短信提醒功能,構建了一種安全短信網關系統。該網關有效解決了過去通過U盤或光盤拷貝內網短信信息到外網,或者通過GAP擺渡短信信息到外網的效率低下或不能滿足內外網完全物理隔離要求的問題。
二維碼;短信網關;物理隔離
電子政務內網是涉密的黨政機關辦公業務網絡,依據國家重要信息系統安全等級保護標準和法規要求,電子政務內網和外網必須實現物理隔離,以有效杜絕機密信息泄露和竊取事件發生。電子政務內網的業務系統如公務員辦公系統、電子監察系統等,在業務處理過程中,需要向公務員手機發送文件簽收、公文辦理等提醒短信。此時,需要將涉密內網的短信信息傳遞到外網,再借助外網運營商的短信平臺向手機用戶發送短信。這類問題的研究解決辦法過去主要有三種途徑。一是借助于滿足單向傳輸要求的U盤接口裝置,將需要發送的短信拷貝到保密U盤上,然后將U盤中短信拷貝到外網短信平臺發送。該方式實現了內外網的物理隔離,但是需要人工參與操作,不能實現自動化,效率也非常低下。二是將內網需要發送的短信信息刻錄到光盤中,將光盤中短信拷貝到外網短信平臺發送。該方式較第一種方式效率更為低下。三是采用隔離網閘(GAP)技術。內外網通過GAP連接,通過GAP擺渡需要交換的信息,如同一個高速開關在內外網間來回切換,同一時刻內外網間沒有連接。但根據國家重要信息系統安全等級保護標準,GAP沒有達到內外網完全物理隔離要求,所以現在也不能采用。因此本系統的設計目的是在滿足內外網物理隔離條件下,實現將內網的短信信息傳遞到外網,再通過外網短信平臺完成短信發送功能。
QR碼屬于矩陣式二維碼中的一種,由DENSO(日本電裝)公司開發,由JIS和ISO將其標準化。其具有存儲信息量大、小空間內打印、有效表現各種字母、變臟和破損的適應能力強、任意方向讀取、支持數據合并功能等優點,是近幾年來移動設備上超流行的一種編碼方式,它比傳統的Bar Code條形碼能存更多的信息,也能表示更多的數據類型。QR碼符號由正方形模塊構成,組成正方形陣列,由編碼區域及尋象圖形、分隔符、定位圖形和矯正圖形在內的功能圖形構成,功能圖形不能用于數據編碼。符號的四周由空白區包圍[1]。如圖1。

圖1 QR碼基本結構圖
(1)位置探測圖形、位置探測圖形分隔符和定位圖形:用于對二維碼的定位,對每個QR碼來說,位置都是固定存在的,只是大小規格會有所差異;這些黑白間隔的矩形塊易進行圖像處理檢測[2]。
(2)校正圖形:根據尺寸的不同,矯正圖形的個數也不同。矯正圖形主要用于QR碼形狀的矯正,尤其當QR碼印刷在不平坦的面上,或拍照時候發生變形等。
(3)格式信息:表示二維碼糾錯級別,分為L、M、Q、H。
(4)數據區域和糾錯碼字:數據區域使用黑白二進制網格編碼內容,8個格子可以編碼一個字節,是實際保存的二維碼信息。糾錯碼字用于修正二維碼損壞帶來的錯誤。
(5)版本信息:即二維碼規格,QR碼符號共有40種規格的矩陣(一般為黑白色),從21x21(版本1),到177x177(版本40),每一版本符號比前一版本每邊增加4個模塊。
安全短信網關系統架構如圖2所示。
內網業務系統生成需要發送的短信內容,通過數據交換接口模塊,將數據傳遞給安全短信平臺內網端,進入傳遞隊列,數據加密模塊取出隊首元素進行加密,短信二維碼圖像生成模塊將加密后的數據根據GB/T18284-2000編碼規范生成QR二維碼圖片,并在顯示器上輸出。在安全短信平臺外網端,短信二維碼圖像識別模塊記錄攝像機上拍攝的二維碼圖片,并進行二維碼識別,數據解密模塊解密圖像識別模塊識別出的二維碼承載的信息,確認二維碼圖像生成模塊負責生成圖像傳遞成功與否的二維碼圖片,確認二維碼圖像識別模塊負責識別由確認二維碼圖像生成模塊生成的二維碼圖像。短信發送模塊負責將正確解密后的短信內容發送后手機用戶。

圖2 基于二維碼的涉密內網安全短信網關系統架構
(1)采用2臺主機,主機的地域位置沒有限制,內網傳遞主機連接在涉密內網,外網識別主機連接在非涉密外網。內外網各配置1臺網絡攝像機,內網攝像機用于抓取外網主機顯示器上輸出的二維碼,外網攝像機用于抓取內網主機顯示器上輸出的二維碼。
(2)采用Java程序設計技術,設計基于GB/T18284-2000編碼規范的QR二維碼圖片生成和識別軟件。
(3)設計短信接受、傳遞和發送軟件系統。
(1)數據交換接口模塊
內網業務系統如公務員辦公平臺、大督查平臺在公文辦理、文件送達、事項通知等業務處理過程中,需要以短信形式送達用戶通知情形時,將短信內容及其用戶手機號碼列表組成短信報文,基于Web Service技術[5],通過數據交換接口模塊將短信報文推送給安全短信平臺內網端系統,進入內網傳遞等待隊列。
(2)數據加密模塊
依次取出隊列中隊首元素,采用AES加密算法對傳遞數據進行加密,這樣后面生成的二維碼如果不經過解密,其內容也不可用。
(3)短信二維碼圖像生成模塊
數據加密模塊輸出數據采用GB/T 18284-2000編碼規范生成QR二維碼圖片,打印到顯示器上指定位置,并啟動定時器。
(4)短信二維碼圖像識別模塊
顯示器前的外網網絡攝像機對準二維碼圖像進行攝像,以定時間隔不間斷抓拍成圖片,然后對抓拍的二維碼圖片進行識別和存儲,本次二維碼與上次傳遞的二維碼進行比對,若相同則丟棄,表示該二維碼已經傳遞過,不同則是新的二維碼,輸出給數據解密模塊。
(5)數據解密模塊
對短信二維碼圖像識別模塊的輸出數據進行解密,還原原始短信報文。若二維碼圖像能夠正確識別和解密,則將短信內容及其手機號碼輸出給短信發送模塊,進入外網短信發送等待隊列并向確認二維碼圖像生成模塊輸出傳遞成功信號;若二維碼圖像能夠未能正確識別和解密,則向確認二維碼圖像生成模塊輸出傳遞失敗信號。
(6)確認二維碼圖像生成模塊
根據數據解密模塊的輸出,生成傳遞成功或傳遞失敗二維碼圖像,并打印到顯示器上指定位置。
(7)確認二維碼圖像識別模塊
顯示器前的內網網絡攝像機對準二維碼圖像進行攝像,并抓拍成圖片,然后對抓拍的二維碼圖片進行識別。若為傳遞成功信號,則保存相關記錄,取出下一個內網傳遞等待隊列隊首元素,進入下一條短信報文的傳遞流程;若為傳遞失敗信號,則將本次未傳遞成功信息生成2次二維碼圖像并打印到顯示器上;若再次接受為傳遞失敗信號,則將本次未傳遞成功信息生成3次二維碼圖像并打印到顯示器上;3次不成功則放棄本次傳遞,保存相關記錄并取出下一個內網傳遞等待隊列隊首元素,進入下一條短信報文的傳遞流程;若已到定時時間也轉入下一條短信報文的傳遞流程[6]。
(8)短信發送模塊
對進入外網短信發送等待隊列中的元素進行處理,推送給運營商短信平臺發送到用戶手機,并保存發送記錄。
(9)輔助模塊
①系統管理
系統設置,如顯示器節能設置、攝像抓拍間隔設置、二維碼圖像規格設置等;數據備份。
②用戶管理
用戶、角色、權限管理。
③手機管理
手機機主基本信息、手機號碼等的管理。
④歷史記錄管理
短信報文傳遞記錄、短信發送記錄等的歷史查詢和報表輸出。
⑤二次傳遞管理
對已到定時時間未成功傳遞的短信報文或三次都未能成功傳遞的短信報文進行二次傳遞;對未能成功發送的短信進行二次發送。
本文的安全短信網關系統基于java、spring、mybatis技術實現,數據庫采用mysql。內網業務系統調用平臺基于Web Service的服務接口向平臺推送需要傳遞到外網進行發送的短信,待發送短信組成FIFO隊列,網關的調度系統負責取出隊列元素,進行數據加密、二維碼生成、二維碼識別、錯誤重傳和同步。內、外網的調度系統獨立并行工作,通過握手響應機制實現同步,當不同步時,調度系統采用二進制指數后退算法通知二維碼生成和識別模塊當前工作時刻。
實際短信發送具有很高的時效性要求,短信發送時延主要由數據接收、加密、二維碼生成、二維碼識別、數據解密、錯誤重傳和運營商短信發送時延組成。一個關鍵問題是群發短信的效率問題,往往業務系統需要一次群發1000多條短信,如果一個手機號的短信就進行一次二維碼的發送、識別的話,將產生很大的發送時延(這需要1小時以上)。為此,通過群發用戶手機號共用相同短信內容,所有手機號組裝成一個接受短信用戶號碼字段,該字段進行二維碼轉換和識別時采用分片發送、組裝方式進行模式轉換,這樣基本可以線性提高短信轉換和發送的效率。
目前,該系統在宜昌市電子政務內網進行了實際應用,系統穩定可靠運行了1年多時間,年安全發送短信500余萬條。
本系統的設計針對過去通過U盤或光盤拷貝內網短信信息到外網,或者通過GAP擺渡短信信息到外網的效率低下或不能滿足內外網完全物理隔離的問題,設計了一種基于二維碼圖像生成和識別技術的內網安全短信網關系統,在有效實現內外網物理隔離條件下,將內網的短信信息傳遞到外網,再通過外網短信平臺完成短信發送功能。
[1]梁柯,李秉毅,陳柯.二維碼在通信標識資源管理系統中的應用[J].土木建筑與環境工程,2016.
[2]梁榮,汪玉凱,李心池.分級安全的二維碼識別系統及關鍵算法設計[J].計算機工程與設計,2017.
[3]安進,張丹.基于RFID和圖像識別的食品追溯信息查詢算法[J].科技通報,2017.
[4]張丹,王晶,蔡宗琰.基于二維碼使用的搬運車設計及其路徑優化[J].制造自動化,2017.
[5]凌康杰,岳學軍,劉永鑫,王健,王林惠,甘海明.基于移動互聯的農產品二維碼溯源系統設計[J].華南農業大學學報,2017.
[6]徐仲勛,劉建新,王亞威,曾嬙.一種基于標記碼的AGV小車導航修正方法[J].機床與液壓,2018.
國家自然科學基金(41172298)。