本發(fā)明涉及一種電子發(fā)票業(yè)務管理技術領域,具體涉及一種提高電子發(fā)票系統(tǒng)安全性的方法。
背景技術:
電子發(fā)票在國家稅務總局2013年《網(wǎng)絡發(fā)票管理辦法》中明確,其發(fā)行和實施的意義不言而喻。電子發(fā)票大幅節(jié)省企業(yè)在發(fā)票上的成本,節(jié)約印制成本和管理成本。電子發(fā)票使用上更加方便,為消費者提供更加方便的服務。同時減少紙質(zhì)發(fā)票的資源浪費,符合社會未來發(fā)展方向。
電子發(fā)票系統(tǒng)中由于涉及的數(shù)據(jù)極為重要、敏感,必須確定電子發(fā)票數(shù)據(jù)發(fā)送方的身份,來保證稅務的相關信息管理。并且要保證數(shù)據(jù)傳輸過程中數(shù)據(jù)的安全性,保證數(shù)據(jù)的完整性、可靠性及可讀性。
技術實現(xiàn)要素:
本發(fā)明要解決的技術問題是提供一種提高電子發(fā)票系統(tǒng)安全性的方法,該方法能夠確定電子發(fā)票數(shù)據(jù)發(fā)送方的身份,并且保證數(shù)據(jù)傳輸過程中數(shù)據(jù)的安全性、完整性和可靠性。
為了解決所述技術問題,本發(fā)明采用的技術方案是:一種提高電子發(fā)票系統(tǒng)安全性的方法,包括以下步驟:s01、設置登錄控制模塊對登錄用戶進行身份標識和鑒別;s02、采用基于ca身份認證的方式確定電子發(fā)票數(shù)據(jù)的發(fā)送方的身份;s03、采用基于ip登錄的jms設置確定電子發(fā)票的身份認證以及數(shù)據(jù)安全;s04、采用xml數(shù)字簽名方式保證電子發(fā)票生成過程中的安全性、保密性及不可抵賴行,xml文件簽名時使用哈希單向函數(shù)進行處理保證文件內(nèi)容永久性的完整性,在簽名方對xml文件進行xml簽名時,使用簽名方的私鑰對xml文件的數(shù)據(jù)進行非對稱加密,使用簽名方公鑰可以解密驗證,并且使簽名方的私鑰在簽名方是不公開的。
本發(fā)明所述提高電子發(fā)票系統(tǒng)安全性的方法,在xml簽名應用中,使用xml文檔的方式表現(xiàn)數(shù)字簽名或者對xml文檔進行部分簽名。
本發(fā)明所述提高電子發(fā)票系統(tǒng)安全性的方法,xml可以對基于二進制流的數(shù)據(jù)或者基于字符編碼的數(shù)據(jù)進行簽名。
本發(fā)明所述提高電子發(fā)票系統(tǒng)安全性的方法,覆蓋web應用的xml簽名,根據(jù)數(shù)字簽名和被簽名對象之間的關系,分為嵌入式簽名、封裝式簽名和分離式簽名3種簽名方式。
本發(fā)明所述提高電子發(fā)票系統(tǒng)安全性的方法,數(shù)字簽名的流程為:用戶登錄電子發(fā)票系統(tǒng),電子發(fā)票系統(tǒng)返回密碼信息;然后用戶將密碼寫入u-key,u-key向電子發(fā)票系統(tǒng)認證此密碼信息;認證成功后,電子發(fā)票系統(tǒng)向稅務局系統(tǒng)請求用戶信息,稅務局系統(tǒng)返回用戶信息至電子發(fā)票系統(tǒng),電子發(fā)票系統(tǒng)進行信息核實;用戶向電子發(fā)票系統(tǒng)發(fā)生電子訂單,電子發(fā)票系統(tǒng)返回電子發(fā)票至用戶;用戶將接手的電子發(fā)票傳輸至u-key進行確定,u-key確認無誤后進行數(shù)據(jù)加密,然后返回至u-key,u-key對加密后的電子發(fā)票進行數(shù)字簽名,并發(fā)送至電子發(fā)票系統(tǒng)。
本發(fā)明所述提高電子發(fā)票系統(tǒng)安全性的方法,jms消息模型提供一個單獨的、統(tǒng)一的消息api,并且提供一套api用于匹配已有的、非jms應用所使用的消息格式。
本發(fā)明所述提高電子發(fā)票系統(tǒng)安全性的方法,jms在發(fā)送消息的同時加載導入的時間,允許服務器調(diào)用不同情況下電子發(fā)票生成信息請求的標準。
本發(fā)明的有益效果:本發(fā)明所述提高電子發(fā)票系統(tǒng)安全性的方法采用基于ca身份認證用來確定電子發(fā)票數(shù)據(jù)發(fā)送方的身份,保證信息管理的安全性。采用基于ip登錄的jms設置不僅保證了用戶的身份認證,jms的消息處理機制對于同步和異步的處理方式都有很好的選擇性,能夠快速的在生成電子發(fā)票的同時保證電子發(fā)票的身份認證以及數(shù)據(jù)安全等信息,并且jms的信息架構可以適應不同硬件平臺、不同網(wǎng)絡環(huán)境、不同數(shù)據(jù)庫之間的互操作。采用xml數(shù)字簽名,解決了傳統(tǒng)數(shù)字簽名粒度太大,只能以文檔為單位,不支持對電子文檔的批復和多重簽名、以及對文檔特定部分的簽名的問題。
附圖說明
圖1為數(shù)字簽名過程中數(shù)據(jù)發(fā)送的示意圖;
圖2為數(shù)字簽名過程中數(shù)據(jù)接收的示意圖;
圖3為電子發(fā)票系統(tǒng)中數(shù)字簽名的流程圖。
具體實施方式
下面結合附圖和具體實施例對本發(fā)明做進一步的說明。
一種提高電子發(fā)票系統(tǒng)安全性的方法,包括以下步驟:s01、設置登錄控制模塊對登錄用戶進行身份標識和鑒別;s02、采用基于ca身份認證的方式確定電子發(fā)票數(shù)據(jù)的發(fā)送方的身份;s03、采用基于ip登錄的jms設置確定電子發(fā)票的身份認證以及數(shù)據(jù)安全;s04、采用xml數(shù)字簽名方式保證電子發(fā)票生成過程中的安全性、保密性及不可抵賴行,xml文件簽名時使用哈希單向函數(shù)進行處理保證文件內(nèi)容永久性的完整性,在簽名方對xml文件進行xml簽名時,使用簽名方的私鑰對xml文件的數(shù)據(jù)進行非對稱加密,使用簽名方公鑰可以解密驗證,并且使簽名方的私鑰在簽名方是不公開的。
電子發(fā)票系統(tǒng)必須有單獨的登錄控制模塊對登錄用戶進行身份標識和鑒別,登錄控制模塊支持多種的身份認證方式,如ca證書方式,用戶名密碼方式和其它多因子認證方式。不同的用戶訪問的權限也不近相同。
電子發(fā)票系統(tǒng)中由于涉及的數(shù)據(jù)極為重要、敏感,必須確定電子發(fā)票數(shù)據(jù)的發(fā)送方的身份,來保證稅務的相關信息管理?,F(xiàn)實社會中用于確認身份的《居民身份證》是由公安機關簽發(fā)的,公安機關是大家都信得過的一個權威機構。網(wǎng)絡環(huán)境中,也需要有一個大家都信任的權威機構來簽發(fā)電子簽名認證證書,這個權威機構就是《電子簽名法》中所說的電子簽名認證服務提供者,我們稱之為ca(certificateauthority),其主要作用就是對申請者發(fā)放、管理、取消電子簽名認證證書(數(shù)字證書)。習慣上也可以把ca稱作ca中心、ca認證中心等。
電子簽名認證證書是指可證實電子簽名人與電子簽名制作數(shù)據(jù)有唯一關聯(lián)的數(shù)據(jù)信息或者其他電子記錄,在網(wǎng)絡環(huán)境中相當于現(xiàn)實社會中人們持有一個可以確認自己身份的法定證件—《居民身份證》。為了簡便起見,電子簽名認證證書也可稱為電子證書或數(shù)字證書。在實際使用環(huán)境中,電子證書的載體就是一個特殊的usb優(yōu)盤,是一種具有運算功能的硬件存儲介質(zhì)——usb-key。usb-key中內(nèi)置了智能芯片,并有專用安全區(qū)來保存電子簽名制作數(shù)據(jù),usb-key電子簽名制作數(shù)據(jù)不能導出,因此備份的文件無法使用,其安全性高于瀏覽器證書,客戶使用時需要安裝usb-key驅(qū)動程序。
電子發(fā)票的生成系統(tǒng)中,允許訂單批量生成電子發(fā)票,為了更好的實現(xiàn)此功能,引入基于ip的jms消息機制,固定的ip不僅保證了用戶的身份認證,同時jms的消息處理機制對于同步和異步的處理方式都有很好的選擇性,能夠快速的在生成電子發(fā)票的同時保證電子發(fā)票的身份認證以及數(shù)據(jù)安全等信息。
同時,對于電子發(fā)票用戶來說,各企業(yè)面臨諸如不同硬件平臺、不同網(wǎng)絡環(huán)境、不同數(shù)據(jù)庫之間的互操作,多種應用模式并存,系統(tǒng)效率過低,傳輸不可靠,數(shù)據(jù)加密和開發(fā)周期過長等等這些問題時,單純依賴傳統(tǒng)的系統(tǒng)軟件或工具軟件提供的功能已不能滿足要求。因此網(wǎng)絡計算環(huán)境中的異步、低耦合的編程架構—jms的應用就極為重要。
jms的消息模型不僅僅能夠滿足電子發(fā)票環(huán)境,還能滿足消息傳遞過程中數(shù)據(jù)的控制因素:提供一個單獨的、統(tǒng)一的消息api,同時提供一套api用于匹配已有的、非jms應用所使用的格式;支持跨操作系統(tǒng)、機器結構以及計算機語言的異構應用的開發(fā);支持包含可擴展標記語言(xml)頁面的消息。
jms消息傳遞過程中消息中包含用戶的特定的ip地址以及用戶登錄所需要的賬戶名、密碼等一些可以標示登陸者身份的消息信息,同時jms還可以在發(fā)送消息的同時加載導入的時間,允許服務器調(diào)用不同情況下電子發(fā)票生成信息請求的標準。不僅可以有效保證快速、有效的生成發(fā)票,還可以保證電子發(fā)票生成的可控制性。
數(shù)字簽名可以保證電子發(fā)票生成過程中的安全性、保密性及不可抵賴性,并具備法律效力。其作用是集中了企業(yè)的營業(yè)執(zhí)照和公章于一身。
數(shù)字簽名有兩個基本功能:一是用于識別簽名人的身份,二是表明簽名人對文件內(nèi)容的認可。電子簽名制作數(shù)據(jù)和電子簽名驗證數(shù)據(jù)是與電子簽名有著密切聯(lián)系的兩個概念。電子簽名制作數(shù)據(jù),就是用于生成電子簽名并將電子簽名與電子簽名人可靠地聯(lián)系起來的字符、編碼等數(shù)據(jù)。電子簽名驗證數(shù)據(jù),就是用于驗證電子簽名的數(shù)據(jù),包括代碼、口令、算法或者公鑰等。
如圖1所示,使用數(shù)字簽名進行數(shù)據(jù)發(fā)送時,信息發(fā)送者用其私匙對從所傳報文中提取出的特征數(shù)據(jù)(或稱數(shù)字指紋)進行rsa算法操作,以保證發(fā)信人無法抵賴曾發(fā)過該信息(即不可抵賴性),同時也確保信息報文在傳遞過程中未被篡改(即完整性)。當信息接收者收到報文后,就可以用發(fā)送者的公鑰對數(shù)字簽名進行驗證。
如圖2所示,使用數(shù)字簽名數(shù)據(jù)接收時,數(shù)字信封中,信息發(fā)送方采用對稱密鑰來加密信息內(nèi)容,然后將此對稱密鑰用接收方的公開密鑰來加密(這部分稱數(shù)字信封)之后,將它和加密后的信息一起發(fā)送給接收方,接收方先用相應的私有密鑰打開數(shù)字信封,得到對稱密鑰,然后使用對稱密鑰解開加密信息。這種技術的安全性相當高。數(shù)字信封主要包括數(shù)字信封打包和數(shù)字信封拆解,數(shù)字信封打包是使用對方的公鑰將加密密鑰進行加密的過程,只有對方的私鑰才能將加密后的數(shù)據(jù)(通信密鑰)還原;數(shù)字信封拆解是使用私鑰將加密過的數(shù)據(jù)解密的過程。
但是傳統(tǒng)的數(shù)字簽名技術的局限性是簽名的粒度太大,只能以文檔為單位。不支持對電子文檔的批復和多重簽名,以及對文檔特定部分的簽名.而且對應用軟件過于依賴,通用性不好。而xml數(shù)字簽名則很好的解決了這些問題,它利用自身結構化、可擴展性的特點,使用dom和xpath技術實現(xiàn)了在元素級別粒度上的數(shù)字簽名,并且支持多重簽名及文件的完整性。xml文件簽名時是使用哈希單向函數(shù)進行處理,任何對xml文件的略微改動都會導致驗證失敗,所以攻擊者無法對xml文件進行篡改,保證了xml文件內(nèi)容永久性的完整性。在簽名方對xml文件進行xml簽名時,使用簽名方的私鑰對xml文件的數(shù)據(jù)進行非對稱加密,使用簽名方公鑰可以解密驗證。而簽名方的私鑰在簽名方是不公開的,這樣就能夠提供消息確認和簽字方確認服務,從后保證了簽名方的不可否認性;在xml簽名應用中,可以用xml文檔的方式表現(xiàn)數(shù)字簽名,可以對xml文檔進行部分簽名,從而能夠?qū)崿F(xiàn)對同一份xml文檔的不同部分進行多種靈活的簽名。
xml可以對多種不同類型的數(shù)據(jù)簽名,這些數(shù)據(jù)類型包括基于二進制流的數(shù)據(jù)(一個png圖片、語音或圖像文件)、基于字符編碼的數(shù)據(jù)(html文檔和xml文檔)。覆蓋web應用的主要方面xml的簽名方式是極其靈活的,根據(jù)數(shù)字簽名和被簽名對象之間的關系,xml可以分為3種簽名方式:
嵌入式簽名
數(shù)字簽名元素位于被簽名對象的內(nèi)部,作為被簽名xml文檔的一個結點。被簽名對象充當數(shù)字簽名的信封。
封裝式簽名
被簽名對象位于數(shù)字簽名元素內(nèi)部、數(shù)字簽名充當被簽名對象的信封、其中被簽名對象時由一個reference來標示的。
分離式簽名
被簽名對象與數(shù)字簽名彼此分離,不存在相互的包古關系。被簽名對象既可以是本地的xml文件,也可以是網(wǎng)絡上的二進制文件。被簽名對象的位置必須通過uri唯一標示。
xml簽名不僅能選擇性的對文檔內(nèi)部的元素進行有效地、合理地進行加密處理,這不僅能夠保證傳輸文件的安全性以及傳輸速率要求比較高的要求,同時還可以根據(jù)用戶數(shù)據(jù)的機密性選擇群簽名以保證電子數(shù)據(jù)傳輸?shù)陌踩浴?/p>
因此xml簽名很好的可以利用到jms安全機制里面,實現(xiàn)數(shù)據(jù)的批量處理和用戶身份認證等問題。
如圖3所示,xml數(shù)字簽名應用到電子發(fā)票系統(tǒng)的具體流程為:用戶登錄電子發(fā)票系統(tǒng),電子發(fā)票系統(tǒng)返回密碼信息;然后用戶將密碼寫入u-key,u-key向電子發(fā)票系統(tǒng)認證此密碼信息;認證成功后,電子發(fā)票系統(tǒng)向稅務局系統(tǒng)請求用戶信息,稅務局系統(tǒng)返回用戶信息至電子發(fā)票系統(tǒng),電子發(fā)票系統(tǒng)進行信息核實;用戶向電子發(fā)票系統(tǒng)發(fā)生電子訂單,電子發(fā)票系統(tǒng)返回電子發(fā)票至用戶;用戶將接手的電子發(fā)票傳輸至u-key進行確定,u-key確認無誤后進行數(shù)據(jù)加密,然后返回至u-key,u-key對加密后的電子發(fā)票進行數(shù)字簽名,并發(fā)送至電子發(fā)票系統(tǒng)。
從上述的流程圖中我們可以得知用戶的身份認證得以確認,同時也保證數(shù)據(jù)傳輸過程中數(shù)據(jù)的不可修改性,為數(shù)據(jù)的安全性有極大的保證。但同時在數(shù)據(jù)傳輸?shù)倪^程中,此種方法不可避免的使得系統(tǒng)的數(shù)據(jù)處理能力要求極為的嚴格,因此可能會在用戶訪問量交易比較大的時候會出現(xiàn)無法登陸的現(xiàn)象,因此會結合基于ip登陸的jms安全機制來控制數(shù)據(jù)流的高峰處理問題,保證服務器的流暢運行。
以上描述的僅是本發(fā)明的基本原理和優(yōu)選實施例,本領域技術人員根據(jù)本發(fā)明做出的改進和替換,屬于本發(fā)明的保護范圍。