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