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