基于指紋識別和智能卡的安全電子報稅系統(tǒng)
文章出處:http://botanicstilllife.com 作者:陳平, 孫宏偉, 顧明 人氣: 發(fā)表時間:2011年09月30日
電子報稅是電子政務(wù)建設(shè)的組成部分。在電子報稅系統(tǒng)中,稅務(wù)機(jī)關(guān)結(jié)合自身的信息管理系統(tǒng),利用現(xiàn)代信息技術(shù),特別是互聯(lián)網(wǎng)技術(shù),實現(xiàn)與納稅人之間遠(yuǎn)程涉稅信息的數(shù)據(jù)交換,并與銀行和國庫聯(lián)網(wǎng),為納稅人提供全面、方便、快捷、高效的電子化申報和納稅服務(wù)。由于稅務(wù)機(jī)關(guān)根據(jù)納稅人通過電子報稅系統(tǒng)傳輸?shù)膱蠖悢?shù)據(jù)進(jìn)行電子扣款,因此對納稅人進(jìn)行身份認(rèn)證、對報稅信息進(jìn)行加密傳輸和數(shù)字簽名尤為重要。
為了解決報稅系統(tǒng)的安全問題,數(shù)據(jù)加密、數(shù)字簽名等安全技術(shù)已經(jīng)應(yīng)用到了電子報稅系統(tǒng)中。這些技術(shù)雖然保證了報稅信息在傳輸和存儲的過程中是基于密文的,但是用來對報稅信息加密和數(shù)字簽名密鑰的安全問題并沒有解決:密鑰往往存儲在報稅系統(tǒng)的收發(fā)終端或者稅務(wù)機(jī)關(guān)的CA服務(wù)器上,隨著網(wǎng)絡(luò)攻擊技術(shù)的發(fā)展,目前保存密鑰的方法會對電子報稅系統(tǒng)的安全產(chǎn)生嚴(yán)重的威脅。而且目前系統(tǒng)中納稅人身份認(rèn)證問題僅僅通過用戶名和口令的方式加以解決,該辦法不僅不能提供雙向認(rèn)證,而且一旦用戶名和口令泄漏,將給納稅人和稅務(wù)機(jī)關(guān)造成重大的損失。為了解決電子報稅系統(tǒng)的身份認(rèn)證、密鑰管理方面存在的安全問題,本文提出了一種基于指紋識別和智能卡技術(shù)的安全解決方案。
1 相關(guān)工作
1.1.1 基于PKI的電子報稅系統(tǒng)安全方案
(1)注冊階段
在注冊階段,將納稅人的相關(guān)信息存入客戶端。存入的信息包括納稅人基本信息、數(shù)字證書、私鑰、服務(wù)器端公鑰、MD5摘要算法以及RSA加密算法等。稅務(wù)端的服務(wù)器進(jìn)行密鑰管理。密鑰管理服務(wù)器運行密鑰管理服務(wù)軟件,實現(xiàn)備份密鑰、注冊密鑰和歸檔密鑰的管理,密鑰發(fā)放、作廢和恢復(fù)申請的認(rèn)證及授權(quán),密鑰的生成、發(fā)放、注冊、注銷、歸檔和恢復(fù),密鑰管理員、RA管理員和設(shè)備的注冊與管理,密鑰管理日志的記錄,密鑰管理中心的管理和維護(hù)等功能。在密鑰生成和發(fā)放后,為保證密鑰的安全,可將納稅人的密鑰直接銷毀,只需保存納稅人的公鑰信息。在服務(wù)器上,可利用操作系統(tǒng)和數(shù)據(jù)庫本身的安全機(jī)制來保障密鑰、證書等信息的安全。
(2)認(rèn)證階段
使用電子報稅系統(tǒng)的每個納稅人持有一對公鑰和私鑰,完成對數(shù)據(jù)的加密、解密、簽名、驗證簽名等相關(guān)操作。如果用Pubi ( i = c, s)表示納稅人(下標(biāo)用c表示)和稅務(wù)機(jī)關(guān)(下標(biāo)用s表示)的公鑰; Prii ( i = c, s)表示納稅人和稅務(wù)機(jī)關(guān)的私鑰;
Pube i ( x) ( i = c, s)表示用公鑰對內(nèi)容x加密; Pubd i ( x) ( i = c, s)
表示用公鑰對內(nèi)容x解密; Prie i ( x) ( i = c, s)表示用私鑰對內(nèi)容x加密; Prid i ( x) ( i = c, s)表示用私鑰對內(nèi)容x解密;MD5 ( x)表示對內(nèi)容進(jìn)行MD5摘要處理; DESe ( k, x)表示用密鑰k對內(nèi)容x進(jìn)行DES加密;DESd ( k, x)表示用密鑰k對內(nèi)容x進(jìn)行DES解密[3 ]。
納稅人對生成身份認(rèn)證信息過程如圖1左側(cè)所示。①納稅人輸入用戶名和口令信息p,并隨機(jī)生成DES加密密鑰k; ②將p和k組合成a; ③利用稅務(wù)機(jī)關(guān)的公鑰Pubs 對a加密得到ea; ④對ea進(jìn)行MD5摘要處理得到結(jié)果m, 以納稅人的私鑰Pric 對m 加密得到em; ⑤將內(nèi)容ea和em 連接在一起形成認(rèn)證信息sm,并直接把sm 發(fā)送到稅務(wù)機(jī)關(guān)報稅服務(wù)器。
稅務(wù)機(jī)關(guān)對納稅人進(jìn)行身份認(rèn)證的過程如圖1如下所示。
①將收到的認(rèn)證信息sm 分成ea和em 兩段; ②用納稅人的公鑰Pubc 對em 解密得到m,同時利用MD5算法對ea進(jìn)行摘要處理得到m n; ③比較m n和m 的內(nèi)容, 如果不同, 則證明認(rèn)證信息在傳輸過程中發(fā)生了改變,將該認(rèn)證信息丟棄,并通知納稅人;如果相同,利用稅務(wù)機(jī)關(guān)的私鑰Pris 對ea解密,并將ea分離為p和k,將p與服務(wù)器中的用戶名和口令比較,如相符,將k作為本次交易的DES密鑰,否則通知納稅人口令有誤。
(3)傳輸階段
納稅人生成報稅信息過程如圖2左側(cè)所示。①納稅人發(fā)送方撰寫報稅信息c; ②以k為密鑰對報稅信息進(jìn)行DES加密,得到密文形式的報稅信息ec; ③對ec進(jìn)行MD5摘要處理得到結(jié)果m,以納稅人的私鑰Pric 對m 加密得到em; ④將內(nèi)容ec和em 連接在一起形成報稅信息sm,把sm 發(fā)送到稅務(wù)機(jī)關(guān)報稅服務(wù)器。
稅務(wù)機(jī)關(guān)接收報稅信息流程如圖2右側(cè)所示。①將收到的報稅信息sm 分成ec和em 兩段; ②用納稅人的公鑰Pubc 對em 解密得到m,同時利用MD5算法對ea進(jìn)行摘要處理得到m n; ③比較m n和m 的內(nèi)容, 如果不同, 則證明報稅信息在傳輸過程中發(fā)生了改變,將該報稅信息丟棄并通知納稅人;如果相同,則以k為密鑰對ec進(jìn)行DES解密,得到報稅信息c。
現(xiàn)有的方案存在以下缺陷:私鑰等敏感信息存放在納稅人端,容易被破解;如果納稅人的私鑰被他人獲得,整個系統(tǒng)就無安全性可言;由于用戶名泄漏,攻擊者可以假冒他人進(jìn)行登錄;用戶的保密意識不強(qiáng),口令容易泄漏;口令容易被猜測,同時由于沒有鎖定機(jī)制,攻擊者可以采取強(qiáng)攻擊的手段進(jìn)行口令的不斷猜測;一旦攻擊者獲得服務(wù)器數(shù)據(jù)庫中的用戶/口令表,則獲得了所有用戶的口令。
1.1.2 智能卡技術(shù)
智能卡是由一個或多個集成電路芯片(包括固化在芯片中的軟件)組成的設(shè)備,可以安全地存儲密鑰、證書和用戶數(shù)據(jù)等敏感信息,防止硬件級別的竄改。智能卡芯片在很多應(yīng)用中可以獨立完成加密、解密、身份認(rèn)證、數(shù)字簽名等對安全較為敏感的計算任務(wù),從而能夠提高應(yīng)用系統(tǒng)抗病毒攻擊以及防止敏感信息的泄漏。
根據(jù)智能卡組成結(jié)構(gòu)的不同,可以分為三類:
(1)一般存儲卡。其內(nèi)嵌芯片相當(dāng)于普通串行E2 PROM,本身不具備信息保密功能,只能用于保密性要求不高的應(yīng)用場合。
(2)加密存儲卡。其內(nèi)嵌芯片在存儲區(qū)外增加了控制邏輯。在訪問存儲區(qū)之前需要核對密碼,一般用于需要進(jìn)行簡單保密要求的應(yīng)用場合。
(3) CPU卡。其內(nèi)嵌芯片相當(dāng)于一個特殊類型的單片機(jī),內(nèi)部除了帶有控制器、存儲器、時序控制邏輯等外,還帶有算法單元和操作系統(tǒng),被廣泛應(yīng)用于信息安全性要求特別高的場合。
使用智能卡具有以下優(yōu)點: ①私鑰不可讀。智能卡的軟硬件設(shè)計嚴(yán)格控制用戶私鑰的使用權(quán)限,只能在滿足條件時方可使用,保護(hù)了私鑰的安全性。②卡內(nèi)簽名、驗證。私鑰的簽名、驗證功能一律在卡內(nèi)實現(xiàn),不存在傳輸中私鑰泄漏的可能性。由于智能卡具有以上特點,在電子報稅系統(tǒng)中引入智能卡技術(shù)可以大大提高系統(tǒng)的安全性。
1.1.3 指紋識別技術(shù)
由于人體指紋特征具有較高的穩(wěn)定性、獨特性以及可接受性和易獲得性,加上指紋識別技術(shù)的不斷成熟,可以利用指紋特征進(jìn)行身份認(rèn)證。在指紋識別算法中比較流行的是基于細(xì)節(jié)特征(Minutiae)的指紋識別,細(xì)節(jié)是指紋圖像中脊線的分支和末梢。
指紋識別技術(shù)主要包括讀取指紋圖像、指紋圖像預(yù)處理、指紋圖像特征提取、保存和比對。①通過指紋讀取到人體指紋的圖像,取得指紋圖像之后,對原始圖像進(jìn)行初步的處理,降低噪聲使之更清晰。②提取特征數(shù)據(jù),它是一種單方向的轉(zhuǎn)換,可以從指紋轉(zhuǎn)換成特征數(shù)據(jù),但不能從特征數(shù)據(jù)轉(zhuǎn)換成指紋,而兩枚不同的指紋不會產(chǎn)生相同的特征數(shù)據(jù)。③通過計算機(jī)模糊比較的方法把兩個指紋的特征數(shù)據(jù)進(jìn)行比較,計算出它們的相似程度,最終得到兩個指紋的匹配結(jié)果??梢詫⒅讣y特征模板保存在服務(wù)器上,當(dāng)用戶登錄時,將新采集到的指紋信息與在計算機(jī)中儲存的指紋特征模板進(jìn)行比較來認(rèn)證用戶的身份。
2 基于指紋識別和智能卡技術(shù)的電子報稅系統(tǒng)安全方案
2.1.1 注冊階段
稅務(wù)機(jī)關(guān)發(fā)放智能卡時,將納稅人的相關(guān)信息寫入卡內(nèi)。
卡內(nèi)寫入的信息包括納稅人基本信息、數(shù)字證書、私鑰、服務(wù)器端的公鑰、MD5摘要算法以及RSA[ 7 ]加密算法等。由于智能卡設(shè)有唯一標(biāo)志號和PIN碼,并且在身份認(rèn)證階段還需要進(jìn)行指紋信息的比對,這樣在很大程度上避免了盜用智能卡帶來的安全問題。
稅務(wù)端服務(wù)器上存儲了所有納稅人的公鑰信息和指紋信息。服務(wù)器上面的公鑰數(shù)據(jù)是用來被所有用戶訪問的,而且對安全性的要求較低,所以可以依靠操作系統(tǒng)和數(shù)據(jù)庫系統(tǒng)的安全性來解決。另外,如果某個納稅人的智能卡丟失,當(dāng)納稅人掛失智能卡的時候要將用戶的證書吊銷,這樣需要在服務(wù)器上維護(hù)一個證書吊銷列表來控制證書的回收。私鑰在生成之后直接寫入用戶所持有的智能卡中,在發(fā)卡機(jī)構(gòu)不保存副本,這樣最大程度地保證了電子報稅系統(tǒng)的安全。依靠操作系統(tǒng)和數(shù)據(jù)庫系統(tǒng)的安全性,并且對指紋信息進(jìn)行適當(dāng)加密,可以保證指紋信息的安全性。
由于智能卡內(nèi)處理器能力的限制,使用中主要利用智能卡處理一些小數(shù)據(jù)量的敏感信息,如對密鑰的加密等。通過DES對大量報稅數(shù)據(jù)的加、解密處理則是在客戶端上實現(xiàn)的,這樣可以揚長避短,既達(dá)到了足夠的安全性,又充分地利用了客戶端系統(tǒng)DES加密、解密速度快的優(yōu)點,實現(xiàn)電子報稅系統(tǒng)較快的響應(yīng)時間。
2.1.2 認(rèn)證階段
納稅人端生成認(rèn)證信息的流程如圖3左側(cè)所示。
(1)納稅人將智能卡插入讀卡器,并輸入PIN碼;
(2)采集指紋信息,并進(jìn)行圖像預(yù)處理增強(qiáng)和細(xì)節(jié)抽取,生成指紋特征信息( f) ;
(3)利用采集到的指紋信息作為種子生成DES加密密鑰k;
(4)將f和k組合成a;
(5)利用稅務(wù)機(jī)關(guān)的公鑰Pubs 對a加密得到ea;
(6)對ea進(jìn)行MD5摘要處理得到結(jié)果m,以納稅人的私鑰Pric 對m 加密得到em;
(7)將內(nèi)容ea和em 連接在一起形成加密、簽名后的認(rèn)證信息sm,并直接把sm 發(fā)送到稅務(wù)機(jī)關(guān)服務(wù)器。
灰色框中的處理步驟是納稅人以私鑰Pric 加密認(rèn)證信息MD5摘要處理結(jié)果,是在智能卡內(nèi)進(jìn)行的。納稅人身份的認(rèn)證過程如圖3右側(cè)所示。
(1)稅務(wù)機(jī)關(guān)將收到的報稅信息sm 分成ea和em 兩段,用納稅人的公鑰Pubc 對em 解密得到m。
(2)利用MD5算法對ea進(jìn)行摘要處理得到m n, 比較m n和m 的內(nèi)容。如果不同,則證明認(rèn)證信息在傳輸?shù)倪^程中發(fā)生了改變,將該信息丟棄,并通知納稅人;如果相同,利用稅務(wù)機(jī)關(guān)的私鑰Pric 對ea解密,得到a。
(3)將a分離成f和k。
(4)將注冊指紋信息f與服務(wù)器中存儲的信息進(jìn)行細(xì)節(jié)匹配:
①如果匹配通過,則納稅人的身份得到確認(rèn)。對注冊指紋信息f進(jìn)行摘要處理,并利用稅務(wù)機(jī)關(guān)的私鑰Pris 和納稅人的公鑰Pubc 對該信息進(jìn)行加密,發(fā)送到納稅人端(如圖4左側(cè)所示)。
②如果不能匹配,則納稅人的身份不符,并通知納稅人?;疑蛑械奶幚聿襟E是稅務(wù)機(jī)關(guān)私鑰Pris 對ea解密的過程也在智能卡內(nèi)進(jìn)行的。
稅務(wù)機(jī)關(guān)身份的認(rèn)證過程如圖4右側(cè)所示。納稅人端在收到返回的認(rèn)證信息后,利用納稅人的私鑰Pric 和稅務(wù)機(jī)關(guān)的公鑰Pubs 對摘要信息進(jìn)行解密,并將其與客戶端已有注冊指紋信息的摘要進(jìn)行比對。如相符,則稅務(wù)機(jī)關(guān)的身份得到確認(rèn)。至此,雙方身份都得到驗證。
2.1.3 傳輸階段
在圖5的報稅信息發(fā)送處理流程中: ①對報稅信息進(jìn)行加密處理,得到ec; ②對于ec進(jìn)行MD5摘要處理,得到m; ③用納稅人的私鑰Pric 和稅務(wù)機(jī)關(guān)的公鑰Pubs 對m 進(jìn)行兩次加密處理。這個步驟是在智能卡內(nèi)處理,加密之后再將結(jié)果返回給卡外信息發(fā)送程序。這樣外部的程序就不能直接訪問用戶的私鑰,從而可以在最大程度上保證私鑰的安全性。
在報稅信息接收處理流程中,以納稅人的公鑰Pubc 和稅務(wù)機(jī)關(guān)私鑰Pris 對em 解密的過程也在卡內(nèi)進(jìn)行。外部程序?qū)m 發(fā)送給智能卡,經(jīng)過卡內(nèi)解密得到m 返回給外部程序,納稅信息的DES解密過程在外部客戶端實現(xiàn),同樣避免了外部程序直接訪問到稅務(wù)機(jī)關(guān)的私鑰,最大限度地提高了系統(tǒng)的整體效率和安全性。
3 安全性分析
本文提出的基于指紋識別和智能卡技術(shù)的電子報稅方案中,將指紋識別和智能卡技術(shù)運用到了身份認(rèn)證、報稅信息的存儲和傳輸中,具有以下特點和安全性:
(1)系統(tǒng)的終端中引入了具有自主計算功能的智能卡,實現(xiàn)用戶私鑰的硬件級別的防止竄改。將用戶基本信息、數(shù)字證書和私鑰等信息存儲到卡內(nèi)之后,進(jìn)行數(shù)據(jù)的加密、解密和簽名等操作。私鑰不出卡,保證了私鑰的安全,從而提高了整個系統(tǒng)的安全性。
(2)利用指紋特征進(jìn)行身份認(rèn)證。在認(rèn)證階段,將用戶的指紋信息與服務(wù)器端的指紋特征信息進(jìn)行比對,即便非法用戶獲得了合法用戶的智能卡和口令,由于缺少必須的指紋信息,也無法登錄稅務(wù)機(jī)關(guān)的服務(wù)器。
(3)實現(xiàn)了雙向認(rèn)證。在稅務(wù)機(jī)關(guān)服務(wù)器驗證了納稅人的登錄請求后,向納稅人端傳送特定的認(rèn)證信息,納稅人端可以識別其身份。只有雙方的認(rèn)證都通過,納稅人才能登錄到稅務(wù)機(jī)關(guān)的服務(wù)器。
(4)將指紋特征作為DES密鑰產(chǎn)生種子。在納稅人進(jìn)行登錄時,必須提供指紋信息,而每次登錄采集到的指紋信息是不相同的,因此根據(jù)每次登錄時提供的指紋信息來產(chǎn)生DES密鑰可以保證該DES密鑰是一次性的。
綜合以上分析,該方案能夠?qū)崿F(xiàn)稅務(wù)機(jī)關(guān)與納稅人之間的雙向身份認(rèn)證,有效地解決了報稅信息的傳輸問題,提高了電子報稅系統(tǒng)的安全性和實際運行過程中的效率。
4 結(jié)論
要實現(xiàn)安全的電子報稅服務(wù),進(jìn)行身份認(rèn)證并且對報稅信息加密和簽名處理是必不可少的。本文提出基于指紋識別和智能卡技術(shù)的電子報稅系統(tǒng)安全方案,在納稅人端和服務(wù)器端引入智能卡技術(shù),保證密鑰等機(jī)密信息的安全;在納稅人登錄時引入指紋識別技術(shù),實現(xiàn)交易雙方的雙向身份認(rèn)證,最大限度地降低了系統(tǒng)的安全隱患,可以在不改變原有電子報稅系統(tǒng)體系結(jié)構(gòu)的前提下有效地解決身份認(rèn)證和數(shù)據(jù)傳輸過程中的安全問題。安全分析表明,該方案能夠有效地提高身份認(rèn)證和數(shù)據(jù)傳輸中的安全問題。在下一步的工作中,我們將進(jìn)一步研究智能卡內(nèi)的高效加密算法,以提高整個系統(tǒng)的運行效率。
(文/清華大學(xué)軟件學(xué)院, 陳平, 孫宏偉, 顧明)