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