
【摘要】為解決網絡發(fā)票系統(tǒng)在網絡中斷或系統(tǒng)故障情況下發(fā)票無法開具的問題,山東省國稅局開發(fā)了網絡發(fā)票離線開具系統(tǒng),實現(xiàn)離線環(huán)境下普通發(fā)票的開具。本文對系統(tǒng)作了詳細介紹,可見其具有廣闊的應用前景和推廣價值。
【關鍵詞】網絡發(fā)票 離線開票 智能Ukey 接口定義
近幾年網絡發(fā)票在國內稅收征管工作中成為熱點話題,國家稅務總局在修訂后的《發(fā)票管理辦法》第二十三條明確寫出“國家推廣使用網絡發(fā)票管理系統(tǒng)開具發(fā)票”,為網絡發(fā)票的推行做好了制度保障。從實際使用情況看,網絡發(fā)票系統(tǒng)要有極高的穩(wěn)定性和安全性,一旦出現(xiàn)系統(tǒng)升級或系統(tǒng)故障,又或者納稅人端出現(xiàn)網絡故障時,都會導致納稅人無法開具發(fā)票。對于某些特定行業(yè)如酒店、飯店或者大商場、超市,很多外地納稅人如果無法獲得發(fā)票,將造成極大的不便。
網絡發(fā)票離線開具系統(tǒng)可作為網絡中斷或系統(tǒng)故障時的應急開票方案,且當網絡或系統(tǒng)恢復后,能在第一時間上傳開票數(shù)據(jù),是在線系統(tǒng)的有益補充。本文以山東省國稅局網絡發(fā)票離線開具系統(tǒng)為例,簡要介紹離線開具系統(tǒng)的功能與實現(xiàn)。
一、離線開具系統(tǒng)體系結構
網絡發(fā)票離線開具系統(tǒng)包括四個組成部分:遠程網絡發(fā)票系統(tǒng)、離線開具軟件、離線開具硬件以及智能“身份認證電子密碼鑰匙”(簡稱Ukey)。遠程網絡發(fā)票系統(tǒng)部署在山東省國稅局,主要負責在線、離線系統(tǒng)網絡發(fā)票數(shù)據(jù)的接收、存儲和發(fā)票數(shù)據(jù)查詢,同時提供離線開具軟件的在線升級。離線開具軟件指的是離線開具客戶端軟件,部署在納稅人的計算機上,實現(xiàn)網絡發(fā)票的離線開具、打印、作廢以及發(fā)票充紅,當網絡連通時實現(xiàn)網絡發(fā)票離線數(shù)據(jù)的自動上傳。離線開具硬件包括計算機、掌上電腦、打印機等客戶端硬件。
二、離線開具系統(tǒng)的載體
網絡發(fā)票離線開具系統(tǒng)需要通過身份認證Ukey確定納稅人的身份。同時系統(tǒng)還需要存儲納稅人開票的信息,但由于普通的Ukey僅能實現(xiàn)簡單的身份認證功能不能滿足離線開具系統(tǒng)的要求,所以經調研我們在普通Ukey的基礎上,創(chuàng)新地提出了智能Ukey的概念,將智能Ukey作為離線開具系統(tǒng)的載體。智能Ukey較普通Ukey新增了以下功能:
1. 集成了安全時鐘功能。在智能Ukey中集成了安全時鐘,安全時鐘日誤差在3秒以內,使用壽命在3年以上。安全時鐘在智能Ukey內部,其信息在稅務局發(fā)行Ukey時進行設定,Ukey使用者無法對時鐘時間進行修改,這樣在離線開票時讀取安全時鐘中的時間作為開票時間,能夠防止發(fā)票時間信息被篡改,保證開票時間的準確性。
2. 增加了安全存儲。智能Ukey應具有128MB以上非易失性存儲介質。該介質存儲單元要求可擦寫次數(shù)在10萬次,數(shù)據(jù)存儲時間應超過5年,并具有數(shù)據(jù)滾存功能、防掉電設計,采用ECC校驗、CRC校驗以及雙備份等機制來確保存儲于介質上的數(shù)據(jù)可靠性和穩(wěn)定性。安全存儲介質采用戶數(shù)據(jù)加密邏輯保護的方式,如果使用者不慎將Ukey丟失,他人也無法獲得或者修改Ukey數(shù)據(jù),保證了用戶數(shù)據(jù)的安全。
3. 具有認證與加密功能。智能Ukey支持國家稅務總局CA證書身份認證及其他標準證書下載,且支持證書簽名功能。省局為保持離線系統(tǒng)開具的發(fā)票與在線系統(tǒng)的一致性,在智能Ukey中還灌裝國密辦SSF44稅控算法及相關密鑰,能夠正確生成并保存符合國標(GB 18240)要求的稅控碼。算法采用嚴格的生命周期管理,只能在Ukey初始化階段進行算法下載,外界既無法得到也無法替換Ukey中的算法,確保算法的安全性。
4. 具有稅控功能??紤]到離線系統(tǒng)安全使用,在UKey中必須加入相應的稅控功能。稅控功能主要包括:發(fā)票開具信息檢查、開具信息存取、開具狀態(tài)修改、開具時間限制、開具限額的限制、開具比例限制等。這些功能的實現(xiàn)必須在Ukey的片內操作系統(tǒng)(COS系統(tǒng))中進行二次開發(fā)。
三、主要流程
1. 主要流程。離線開票的主要流程包括:首先納稅人在稅務局領購發(fā)票。領購完發(fā)票以后,納稅人可以在辦稅服務廳或者通過網絡登錄在線開票系統(tǒng)同步發(fā)票信息到智能Ukey中。當網絡出現(xiàn)故障時,納稅人可登錄電腦中的離線開票客戶端,同步離線庫存數(shù)據(jù)、開票限額信息、開具限制信息,同步完成后進行發(fā)票開具或者直接通過發(fā)票補錄進行開具。當網絡恢復以后,納稅人登錄在線系統(tǒng),系統(tǒng)會自動上傳離線開票的數(shù)據(jù),上傳數(shù)據(jù)結束以后才可以在在線系統(tǒng)進行開票。2. 發(fā)票信息寫入Ukey流程。納稅人在離線系統(tǒng)填寫完開票信息后,需要與智能Ukey進行交互才能保存與打印。離線系統(tǒng)通過Ukey開票時寫入Ukey數(shù)據(jù)流程如下圖所示:
發(fā)票開具的具體流程包括: 首先判斷納稅人識別號、登錄賬號、機器編號是否與開具明細中的一致,然后檢查身份證書狀態(tài),檢查發(fā)票領購狀態(tài),判斷離線開票有效期限、在線離線標志狀態(tài)、有效天數(shù)、離線開具比例等信息,再判斷是否有未上傳的記錄,如果檢查的信息符合要求則要判斷發(fā)票金額合計是否在開具限額范圍內,然后通過存在智能Ukey中的稅控算法生成稅控碼,生成數(shù)字簽名,并保存發(fā)票明細信息。最后修改Ukey中的發(fā)票代碼、發(fā)票起號相同的領購信息,完成發(fā)票的開具和寫入操作。
四、用戶接口定義
為了保證離線開票系統(tǒng)的正常使用,省局重新定義了智能Ukey的外部接口與涉稅信息存儲模式。接口定義包括接口名稱、接口功能、接口返回值、接口參數(shù)、函數(shù)名稱,調用方式等。接口的范圍包括:設備調用、設備設置、認證函數(shù)、稅控函數(shù)、錯誤代碼信息等。其中新定義稅控函數(shù)接口16個,錯誤代碼信息27條,這些接口的定義能夠滿足離線開具系統(tǒng)的具體要求。同時省局還對涉稅信息的存儲模式進行了定義,包括:納稅人登記信息、發(fā)票票種信息、發(fā)票領購信息、發(fā)票開具信息,并確定這些涉稅信息的存儲位置、存儲長度、專用指令以及各字節(jié)的含義。智能Ukey接口定義、錯誤信息代碼以及存儲模式舉例如下所示:
1. 接口定義。
名稱:獲取納稅人登記信息(納稅人端)。
功能:獲取納稅人登記信息(納稅人端)。
返回值:0 成功,>0 失敗,值為錯誤碼。
參數(shù):HANDLE Handle 設備句柄;PBYTEpbData數(shù)據(jù);DWORD dwPassWordLen數(shù)據(jù)長度。
函數(shù)名:
DWORD WINAPI UKEY_GetNsrdjxxqy(IN HANDLE Handle, IN OUT PBYTE pbData, IN OUT PDWORD pdwDataLen)。
2. 錯誤代碼信息定義。
#define TYUEKY_DEVICE_BAD_CERT TYUEKY_ BASE+17
//存在未上傳數(shù)據(jù)
#define TYUEKY_DEVICE_HAVE_NOTRANCE_DA-TA TYUEKY_BASE+18
//指定數(shù)據(jù)不存在
3. 發(fā)票票種信息存儲模式定義。
五、安全設計的主要措施
1. 雙重密碼保護。離線開票系統(tǒng)登錄時必須插入智能Ukey,系統(tǒng)使用既要輸入系統(tǒng)密碼還要輸入智能Ukey密碼,采用雙重密碼保護來保證用戶信息安全。
2. 利用數(shù)字證書和智能Ukey保證離線開具安全。在離線狀態(tài)下,開票數(shù)據(jù)先寫入智能Ukey保密存儲區(qū),然后寫入納稅人本地數(shù)據(jù)庫,待網絡連通后,再將Ukey保密存儲區(qū)的數(shù)據(jù)上傳的稅務局數(shù)據(jù)庫中。不管網絡處在哪種狀態(tài),只有數(shù)據(jù)寫入Ukey保密存儲區(qū)成功后,才能打印發(fā)票。智能Ukey的安全存儲區(qū)不能被普通用戶讀取,且不可修改。
3. 利用Ukey內置時鐘保證發(fā)票開具時間準確性。利用Ukey本身的離線時鐘功能控制納稅人發(fā)票開具時間,防止了離線狀態(tài)下納稅人開票時間的隨意性。
4. 采用稅控方式控制開票量。采用單戶納稅人離線開票數(shù)量、離線開票比例和離線開票時間(系統(tǒng)默認為3天)三種方式控制離線發(fā)票開具量,最大限度地減少離線開具的風險。
5. 通過國密辦認可的稅控加密算法生成稅控碼,并打印在發(fā)票上,實現(xiàn)發(fā)票的真?zhèn)尾樵儯行Х乐辜侔l(fā)票。
6. 將發(fā)票數(shù)據(jù)生成數(shù)字簽名并保存在發(fā)票數(shù)據(jù)中,能夠通過驗簽確定數(shù)據(jù)真?zhèn)危乐拱l(fā)票票面數(shù)據(jù)被篡改。
主要參考文獻
廖傳書,韓屏.基于USB 的無源身份認證的實現(xiàn).微機發(fā)展,2004;14
【作 者】
崔 偉 緱延軍(博士)
【作者單位】
(山東青年政治學院工商管理學院 濟南 250014 山東省國家稅務局 濟南 250002)