摘 要:對當前ATM應用中的安全缺陷進行了分析,設計了一個基于USBKEY的身份認證系統,并對系統的組成及其功能進行了闡述。討論了基于USBKEY的認證系統的工作原理,并對身份認證系統的安全性進行了剖析。設計的認證系統克服了傳統口令認證的弱點,解決了ATM應用中持卡人身份認證的安全問題。
關鍵詞:TM,PKI,USBKEY,認證系統
中圖分類號:F83文獻標識碼:A文章編號:1672-3198(2008)09-0209-02
1 當前ATM應用的安全隱患分析
當前,ATM 應用的操作過程如下所述。持卡人將銀行卡插入ATM,經過ATM 的讀卡機檢查是否為合法的銀行卡后提示輸入用戶的身份識別碼(PIN碼),ATM對PIN碼格式進行校驗無誤后,提示用戶輸入交易類型和交易額,并將這些請求信息發網銀行主機。銀行主機對請求信息進行校驗,驗證操作者是否是該卡的合法持卡人。若銀行主機對請求信息校驗無誤后則進行相應的賬務處理并向ATM 發出響應信息,ATM則根據主機的響應信息進行單據打印、吐現金、退卡等處理,至此一個完整的ATM交易結束。
以上可以看出,現有的ATM應用對持卡人身份的合法性判斷主要采用輸入數字的PIN碼法,該方法存在多種安全隱患:(1)網絡數據流竊聽:在ATM 與銀行主機之間,通過網絡傳遞的交易請求信息是未經加密或經過簡單加密處理的信息,容易被攻擊者通過竊聽技術竊取用戶信息。(2)窮舉嘗試:攻擊者使用有意義的數字作為密碼來不斷嘗試持卡人的密碼。如果持卡人的密碼是未經過改動的初始密碼或一個特殊、容易被分析的數字,則密碼很容易被攻擊者窮舉出來。(3)窺探:攻擊者利用與ATM接近的機會,通過安裝監視器或親自窺探合法用戶輸入口令的過程等方式,以得到持卡人的口令。(4)按鍵側錄:該程序會使持卡人在使用ATM的同時同步向外發送報告,使持卡人的所有操作都一覽無遺,攻擊者可以很輕易地獲得持卡人的口令。(5)垃圾搜索:攻擊者通過搜索合法者持卡人使用過的廢棄物,如打印單據等,得到與被攻擊系統有關的信息。(6)網絡釣魚:犯罪分子通常會給用戶發送一封看似合法的電子郵件或手機短信,要求對方提供銀行賬號和密碼。如果用戶將自己的銀行賬號和密碼告之對方,犯罪分子就可以通過自制的銀行卡到ATM機上提款。
為解決現有ATM應用的安全隱患,最有效和最直接的辦法是防止犯罪分子獲取持卡人的口令。然而隨著社會的發展,高科技知識的普及,犯罪分子的手段越來越高明,持卡人的口令經常被竊取。因此如何保證在犯罪分子非法獲取口令后,持卡人的經濟利益不受損害,成為值得研究的熱點問題。
2 認證系統實現的理論基礎
2.1 PKI
公鑰基礎設施PKI是利用非對稱密碼算法來實現并提供安全服務的具有通用性的密鑰管理平臺。
完整的PKI系統具有認證機構(CA)、數字證書庫、密鑰備份及恢復系統、證書作廢系統、應用接口(API)等五個基本構成部分。認證機構:證書的簽發機構,是整個PKJ的核心,是PKJ應用中權威的、可信任的、公正的第三方機構;數字證書庫:用于存儲己簽發的數字證書及公鑰,用戶可由此獲得所需的其他用戶的證書及公鑰;密鑰備份及恢復系統:對用戶的解密密鑰進行備份,當丟失時進行恢復,簽名私鑰為確保其唯一性而不作備份;證書作廢系統:證書由于某種原因需要作廢,終止使用,通過證書撤銷列表CRL來實現;應用接口(API):完整的PKI必須提供良好的應用接口系統,使得各種應用能夠以安全、一致、可信的方式與PKI交互。
2.2 數字證書
數字證書是公開密鑰體系的密鑰管理媒介,是權威性的電子文檔,形同網絡環境中的身份證,用于證明某一主體的身份以及其公開密鑰的合法性,又稱為數字ID。數字證書將證書持有者的身份信息和其所擁有的公鑰進行綁定,還包含CA對該證書的簽名,該簽名保障了證書,也即主體身份的合法性和有效性。證書和對應的私鑰一起可以提供諸如身份認證完整性、機密性和不可否認性等安全服務。
2.3 數字簽名
簽名是證明當事者的身份和數據真實性的一種信息,起到確認、核準、生效和負責任等作用。一個完善的數字簽名應滿足以下三個條件:
(1)簽名者事后不能抵賴自己的簽名;
(2)任何其他人不能偽造簽名;
(3)如果當事人雙方關于簽名的真偽發生爭執,能夠在公正的仲裁者面前通過驗證簽名來確認其真偽。
利用公開密鑰密碼可以實現滿足以上條件的數字簽名,以下是一個通用的數字簽名模型;
設
(1)A、B向CA申請證書,故各自的公開密鑰Ke均在共享的證書庫中,以此作為對方及仲裁者驗證簽名的依據之一;
(2)A用自己保密的簽名密鑰KdA對明文M進行簽名; SA=D(M,KdA),SA即為A對M的簽名。A將SA發送給B,并將SA留底;
(3)B收到SA后,在證書庫中查閱A公開的驗證簽名密鑰KeA,對簽名進行驗證:
E(SA,KeA)=E(D(M,KdA),KeA)=M
驗證簽名就是恢復明文的過程。如果能恢復出正確的M,則說明SA是A的簽名,否則不是。B將收到的SA留底,并用氏B簽名一個回送A的回執。
(4)A收到回執后同樣驗證簽名并留底。
由于只有A才擁有簽名密鑰KdA,而且由公開的KeA在計算上不能求出KdA,所以在第二步的簽名操作只有A才能進行,任何其他人都不能做。所以,KdA就相當于A的印章或指紋,SA就是A對M的簽名。對此A不能抵賴,任何其他人不能偽造。如果A和B對于簽名的真偽發生爭執,則他們應向CA出示留底的簽名數據,即可驗證簽名,解決糾紛。
2.4 USBKEY
USBKEY從智能卡技術上發展而來,是結合了現代密碼學技術、智能卡技術和USB技術的新一代身份認證產品。
USBKEY的內嵌芯片和芯片操作系統(COS)需要提供私鑰的生成、安全存儲和公鑰密碼算法等功能。由于其具有獨立的數據處理能力和良好的安全性,USBKEY成為數字證書和簽名私鑰的安全載體。由于數字證書包括證書擁有者的個人信息、證書擁有者的公鑰、公鑰的有效期、頒發數字證書的CA、CA的數字簽名等,所以網上雙方經過相互驗證數字證書后,即可確認對方身份的合法性。在進行數字簽名時,用來簽名的私鑰在KEY中產生并保存在KEY中,任何情況不能讀出,簽名的過程在KEY中完成,比傳統方式下在主機端用私鑰實現簽名更安全可靠。
3 基于USBKEY的認證系統
3.1 認證系統的構成
認證系統主要由USBKEY、認證服務器等幾部分組成。USBKEY中下載有持卡人個人數字證書和用來簽名的私鑰。認證服務器:放置在銀行內部,與銀行的業務主機協同工作并提供對用戶端身份進行認證的專用網絡服務器,它同時也完成存儲和管理用戶數據的功能。
3.2 身份認證的工作原理
每個USBKEY硬件都具有用戶PIN 碼, 以實現雙因子認證功能。USBKEY內置加密算法, 預先在USBKEY中存儲一個證明用戶身份的私鑰,當持卡人需要對ATM進行操作時,首先是身份認證,先由ATM向認證服務器發出一個驗證請求。認證服務器接到此請求后生成一個隨機數并通過網絡傳輸給ATM。ATM將收到的隨機數提供給插在USB接口上的USBKEY, 由USBKEY使用持卡人私鑰將該隨機數進行加密運算并得到一個結果作為認證證據傳送給認證服務器。認證服務器使用存儲在服務器數據庫中的該持卡人公鑰對傳回的數據進行解密運算,如果解密后的結果與服務器初始傳給ATM的隨機數一致,則認為該持卡人是一個合法用戶。
3.3 認證系統的安全性分析
3.3.1 雙因子認證
每一個USBKEY都具有硬件PIN碼保護,PIN 碼和硬件構成了持卡人使用USBKEY的兩個必要因素,即“ 雙因子認證” 。持卡人只有同時取得了USBKEY 和用戶PIN碼,才可以使用ATM。即使持卡人的PIN 碼被泄漏,只要持有的USBKEY不被盜取,合法用戶的身份就不會被仿冒;如果持卡人的USBKEY 遺失,獲取者由于不知道持卡人的PIN碼,也無法仿冒合法用戶的身份。
3.3.2 安全的數據存儲空間
USBKEY 具有8K- 128K 的安全數據存儲空間,可以存儲數字證書、用戶密鑰等秘密數據,對該存儲空間的讀寫操作必須通過程序實現,用戶無法直接讀取,其中用戶私鑰是不可導出的,杜絕了復制用戶數字證書或身份信息的可能性。
3.3.3 硬件實現加密算法
USBKEY 內置CPU 或智能卡芯片,可以實現PKI 體系中使用的數據摘要、數據加解密和簽名的各種算法,加解密運算在USBKEY內進行,保證了用戶密鑰不會出現在計算機內存中,從而杜絕了用戶密鑰被黑客截取的可能性。
3.4 認證系統的不足
3.4.1 ATM的硬件系統
ATM并未設置USB外接接口,需對現有ATM進行改裝,現有ATM的硬件系統包含計算機主機,因此只需將現有的ATM重新改裝,添加一個USB外接接口。由于添加外接USB接口,可能導致犯罪分子由此作為新的犯罪手段,這點需要引起足夠重視。
3.4.2 認證的時間效率
現有ATM使用方便快捷,新的認證系統引入后增加了身份認證的時間。對于技術提供方,如何提高算法速度,如何生產出更高性能的USBKEY產品是值得研究的。此外由于網絡通信量的增大,網絡傳輸的速度需要加快。
4 結語
總之,隨著ATM犯罪的不斷上升,中國社會各界正面臨著這種犯罪帶來的諸多危害,也更加關切如何才能有效預防這種犯罪。采用基于USBKEY技術實現對ATM持卡人的身份認證系統,可以確保用戶身份的有效性,更為重要的是,即使持卡人的口令被犯罪分子竊取,該系統也能防止犯罪分子作案,從而極大地保障自助銀行業務應用系統的安全性以及持卡人的利益。
參考文獻
[1]張煥國,劉玉珍.密碼學引論[M].武漢:武漢大學出版社,2003.
[2]盧加元,吳國兵.基于ATM 應用的身份認證系統[J].計算機工程與設計,2007.
[3]王可一.USB Key身份認證技術[J].中國高新技術企業, 2007.