?

基于ECC和指紋USBKey的身份認證協議

2014-03-07 02:03張利華沈友進
華東交通大學學報 2014年2期
關鍵詞:數字證書私鑰攻擊者

張利華,沈友進

(華東交通大學電氣與電子工程學院,江西 南昌 330013)

基于ECC和指紋USBKey的身份認證協議

張利華,沈友進

(華東交通大學電氣與電子工程學院,江西 南昌 330013)

分析了現有網絡身份認證方案的不足,給出了一種指紋識別技術與USBKey技術相結合的身份認證方案。利用載有指紋特征的指紋USBKey改進現有的USBKey認證技術。利用橢圓曲線密碼算法ECC(elliptic curve cryption),提高身份認證協議的安全性。采用挑戰與應答的認證機制,實現了雙向身份認證。使用含指紋特征的數字證書,防止非法用戶篡改指紋特征。給出的身份認證協議實現了USBKey對用戶權限的驗證及遠程服務器對用戶身份的實體認證。能夠有效抵御竊聽攻擊、假冒攻擊、重放攻擊及DoS攻擊。

身份認證;USBKey;指紋;橢圓曲線密碼算法

遠程身份認證是保障網絡安全的重要手段。常見的身份認證方式有靜態口令認證、動態口令認證、智能卡認證、USBKey認證及生物認證。靜態口令認證易遭受口令猜測攻擊與字典攻擊,且口令明文傳輸易被竊聽[1]。動態口令認證,由于時間漂移的存在導致時間機制的失步和維護事件同步的復雜性[2]。智能卡認證存在智能卡丟失/復制攻擊,且智能卡的加解密計算能力有限[3-4]?,F有的基于USBKey的身份認證協議,使用PIN碼對USBKey的使用權限進行驗證,然而一旦用戶的PIN碼被盜或被木馬竊取,則非法入侵者將會輕而易舉地控制USBKey進行身份認證[5]。Ge Xiaomin等[6]提出了一種基于指紋特征的身份認證,但是該方案將指紋特征在不安全的網絡上傳輸,這會使得非法入侵者在網絡傳輸過程中,竊取指紋圖像,進行重放攻擊。為此,學者們提出了一些改進措施,將靜態/動態口令認證、智能卡認證、USBKey認證及生物認證等方法融合,形成多因子身份認證,增加身份認證協議的安全性,如文獻[7-9],但由于身份認證的復雜性與網絡攻擊的多樣性,簡單物理融合的認證方案,并不能完全解決網絡身份認證的難題。

針對網絡身份認證中存在的問題,提出一種基于ECC(elliptic curve cryptography)密碼算法的指紋USB?Key身份認證方案。通過將含有指紋特征的數字證書嵌入USBKey,利用指紋代替PIN碼驗證USBKey的使用權限,且將指紋融入用戶遠程身份認證。通過ECC對身份認證中的交互信息進行加密,保障數據的傳輸安全。采用挑戰—應答認證機制,融合指紋與USBKey身份認證技術,實現雙因子的雙向認證,提高網絡身份認證的安全性。

1 ECC密碼算法和指紋USBKey技術

ECC是一種基于橢圓曲線離散對數難題的密碼算法,比傳統的對稱密碼算法AES安全性高[10]。比目前使用廣泛的基于大數因式分解難題的RSA密碼算法,有著明顯的安全優勢,并且在同等的安全保密能力下,ECC的密鑰長度比RSA密鑰長度要小得多,從而運算速度更快、效率更高。ECC密碼算法是利用橢圓曲線E(Fq)(q>3)上階為n的基點G,選擇私鑰x(x<n),計算公鑰K=xG。利用公私鑰對可進行加解密簽名運算。

指紋USBKey身份認證方案,是將ECC密碼算法、指紋識別技術與USBKey技術相結合,構造新型的指紋USBKey。指紋USBKey是一種集指紋傳感器、指紋處理芯片、信息安全芯片、內嵌COS(chip operation system)等的USB接口設備。指紋傳感器與指紋處理芯片構成指紋USBKey的指紋處理模塊,信息安全芯片及內嵌COS構成信息安全模塊,其結構如圖1所示。

圖1 指紋USBKeyFig.1 Fingerprint USBKey

指紋USBKey內置ECC加密簽名算法,存儲含指紋特征的數字證書、用戶信息及用戶私鑰。指紋USB?Key可用于數字簽名與加解密計算。由于指紋USBKey存儲的私鑰保存于USBKey密鑰存儲區內,不能導出USBKey,所有的加解密簽名運算都在USBKey中進行,保證了私鑰的安全。

利用指紋特征改進傳統USBKey采用PIN碼保護的方式,防止PIN碼被盜或被木馬竊取,使得USBKey與用戶實體身份構成一一對應關系,實現USBKey對用戶的實體驗證。并且利用含指紋特征的數字證書證書,實現遠程服務端對用戶的實體認證。

為了使用戶的指紋特征不被篡改或復制,USBKey的公鑰與持有者身份綁定,需通過可信認證中心生成含紋特征的數字證書。在USBKey初始化時,將數字證書固化在USBKey中。含指紋特征的數字證書含有用戶某手指的指紋特征(記為Mark),指紋特征Mark既用于USBKey使用權限的驗證,又用于遠程身份認證,具體作用流程如下:

1)指紋特征代替PIN碼,實現USBKey對用戶的實體身份驗證。每當用戶使用USBKey時,用戶必先輸入指紋,利用指紋處理芯片生成指紋特征,與指紋特征Mark進行匹配。特征匹配成功后,用戶才有USBKey的使用權限。

2)利用指紋特征證書,實現遠程服務端對用戶的實體認證。當且僅當用戶獲得USBKey的使用權限,USBKey才釋放與指紋特征證書相對應的指紋特征序列號fid,用于遠程身份認證。

2 遠程身份認證協議

遠程身份認證的主體包括用戶(記為User)、指紋USBKey及遠程服務端的訪問控制中心(記為AS)。AS負責用戶注冊、證書簽發、以及對用戶進行身份認證。只有通過身份認證的用戶,才能訪問服務器端。本協議包括用戶注冊申請階段與身份認證階段。

2.1 用戶注冊申請階段

假設AS在ECC密碼算法下,輸出其密鑰對(xas,Kas),并公開公鑰Kas、單向強安全Hash函數h(·)。所有注冊用戶均可獲得Kas及h(·)。AS維護由USBKey唯一序列號Numx組成的USBKey序列表Ux。

1)USBKey利用內置的ECC密碼算法,生成一對密鑰(xu,Ku),并將私鑰xu保存在USBKey中的私鑰存儲區,私鑰將無法改寫或導出USBKey。User利用指紋USBKey輸入指紋圖像,并提取指紋特征Mark。USB?Key計算C1=EKas[h(Mark)||Mark]||Ku||Numi||h(xu),其中Numi為USBKey的唯一序列號。USBKey將C1發送至AS。

2)AS接收到C1后,利用其私鑰解密C1,驗證Numi的真實性,若Numi不屬于某個USBKey序列表Ui,則終止注冊。若Numi真實合法,則AS頒發由Mark、指紋序列號fid、Ku、Numi及AS的數字簽名Singas組成的數字證書,即Certi=EKu[Mark||fid]||Ku||Numi||Singas。AS將h(fid)、h(xu)及Certi添加到序列表Ui中,作為用戶標識。為了對指紋序列號fid的安全保密,AS銷毀fid。最后AS將Certi發送給用戶的USBKey。USBKey將Certi下載至USBKey的數字證書存儲區。注冊階段完成。

2.2 遠程身份認證階段

遠程身份認證具體過程如下:

1)User請求接入服務器端時,將指紋USBKey插入PC機的USB接口,并利用USBKey的指紋傳感器,輸入指紋圖像。USBKey獲取用戶的指紋特征,與Certi中的指紋特征模板Mark比較,若指紋特征不一致,則終止身份認證。否則用戶取得該指紋USBKey的使用權,用于遠程身份認證。用戶取得USBKey的使用權后,USBKey計算C2=EKas{Exu[Numi,n]}||Numi,其中n為隨機數。USBKey將C2發送給AS。

2)AS接收到C2后,利用Numi,查找到User的序列表Ui,獲取User的公鑰Ku,并利用自己的私鑰xas解密C2。得到隨機數n,計算C3=EKu{Exas[h(xu)||n||c]},其中c為與n不同的隨機數。AS將C3發送給USBKey。

3)指紋USBKey接收到C3后,利用自己的私鑰xu及AS的公鑰Kas解密C3,得到h'(xu)、n'及c。USBKey驗證h'(xu)是否等于H=h(xu),n'是否等于n,若兩者驗證不都相等,則AS未通過身份認證,終止此次身份認證。否則AS通過身份認證,USBKey計算C4=EKas[h(fid)||c||r]||Numi(其中r為不同于c的隨機數),將C4發送給AS。

4)AS接收到C4后,利用自己的私鑰xas解密C4,得到h'(fid)、c'及r。驗證h'(fid)是否等于h(fid),驗證c'是否等于c,若兩者驗證不都相等,則指紋USBKey未通過身份認證,即用戶User未通過身份認證。否則指紋USBKey通過身份認證,即用戶通過身份認證。至此,實現了雙向身份認證,本次身份認證過程結束。

3 安全性分析

1)抗竊聽攻擊。假設攻擊者C監聽USBKey與AS的認證信息。在遠程身份認證階段的過程1)和3)中,攻擊者監聽到C2=EKas{Exu[Numi,n]}||Numi或C4=EKas[h(fid)||c||r]||Numi,但由于C缺乏AS的私鑰xas,所以根本無法進行解密運算,無法進行攻擊。在認證階段2)中,攻擊者C監聽到C3=EKu{Exas[h(xu)||n||c]},但由于C缺乏指紋USBKey的私鑰xu,根本無法進行解密運算,所以攻擊者C無法達到竊聽攻擊的目的。

2)抗重放攻擊。由于指紋USBKey與AS進行身份認證時,認證信息都使用了隨機數,保證了信息的新鮮性,攻擊者無法進行重放攻擊,當攻擊者獲取到C2、C3或C4后,進行重放時,由于C2、C3及C4都插入隨機數,收到消息的認證主體對隨機數進行驗證判定,使得該攻擊方式無效。

3)抗假冒攻擊。攻擊者C在指紋USBKey與AS的身份認證中,假冒認證實體USBKey或AS,但由于攻擊者C沒有認證雙方的私鑰,所以無法進行假冒攻擊進行身份認證。當攻擊者C假冒指紋USBKey時,發起與AS的身份認證,由于C無User的指紋,則無法使用指紋USBKey,更無法使用指紋特征完成與AS的身份認證。當攻擊者假冒AS時,可以獲取C2=EKas{Exu[Numi,n]}||Numi,但由于沒有AS的私鑰,也無法得到n,更無法利用n進行身份認證。

4)抗Dos攻擊。在認證階段過程1)中,所有發向AS的認證請求,必須包含正確的指紋USBKey序列號Numi及正確的私鑰xu對n的加密,否則AS拒絕本次認證會話,有效抵御Dos攻擊。同樣,在認證過程4)中,AS接收到C4=EKas[h(fid)||c||r]||Numi,只有解密出的C4含有正確的h(fid)及隨機數c,AS才認證User合法,通過身份認證,否則立即關閉認證會話,抵御DoS攻擊。

4 結束語

將指紋識別技術與USBKey技術相結合,利用ECC密碼算法對認證信息進行加密,構造含指紋特征的數字證書存儲在USBKey中,形成雙因子身份認證,解決了現有身份認證方案存在的缺陷。利用挑戰與應答的認證機制,實現用戶與服務器端的雙向認證。指紋特征代替USBKey的PIN碼能有效抵御因PIN被盜帶來的口令攻擊行為,實現了USBKey對用戶的驗證。利用指紋特征序列號fid避免了指紋特征直接在開放的網絡中直接傳輸帶來的安全威脅,實現了遠程服務端對用戶的生物認證。指紋USBKey存儲用戶私鑰,保障了用戶私鑰的安全性。構建含指紋特征的數字證書,能防止攻擊者篡改USBKey中的指紋特征進行假冒攻擊。經安全性分析,本方案有較高的安全性。

[1]方恩博,劉嘉勇,肖豐霞.一種適于受限資源環境的遠程用戶雙向身份鑒別方案[J].四川大學學報:工程科學版,2011,43(5):140-145.

[2]劉瀟,劉巍然,李為宇.一種改進的動態口令生成算法及重同步方案[J].計算機研究與發展,2012,49(12):2611-2618.

[3]LI CHUNTA,HWANG MINSHIANG.An efficient biometrics-based remote user authentication scheme using smart cards[J].Journal of Network and Computer Applications,2010(33):1-5.

[4]余卿斐,楊曉元,周宣武.基于ECC的遠程用戶智能卡認證方案[J].計算機工程,2009,35(5):142-143.

[5]陳學禮,馮姝雯.基于USBKEY的身份管理與認證系統的研究及實施[J].信息系統工程,2013,20(1):74.

[6]GE XIAOMIN,WU CUIHONG.Analysis and research for multi-mode identity authentication of E-commerce[C]//Proceedings of 2010 The 3rd International Conference on Computational Intelligence and Industrial Application,Wuhan:Springer-Verlag,2011:507-513.

[7]劉懷蘭,侯昕,王佳.改進的基于USBKey的動態身份認證方案[J].華中科技大學學報,2010,38(11):41-43.

[8]鄭建德,鄭杭杰,楊靜.一種口令、令牌與生物認證技術通用集成框架[J].廈門大學學報:自然科學版,2011,50(1):42-46.

[9]黃朝陽.基于指紋和智能卡的PKI雙向認證系統[J].計算機系統應用,2012,21(10):198-200.

[10]殷愛菡,王勝凱.基于改進的AES算法的EPON安全方案研究[J].華東交通大學學報,2013,30(4):35-39.

A Novel User Authentication Scheme Based on ECC and Fingerprint USBKey

Zhang Lihua,Shen Youjin
(School of Electrical and Electronic Engineering,East China Jiaotong University,Nanchang 330013,China)

Network user authentication schemes are analyzed in this paper,and then a new authentication model combining the fingerprint recognition technology with USBKey technology is proposed,which uses fingerprint US?BKey with fingerprint characteristics to improve the existing USBKey authentication.The ECC(Elliptic Curve Cryptography)algorithm is utilized to improve the security of user authentication protocol.The challenge/response authentication mechanism is adopted to achieve the mutual authentication.The digital certificate with fingerprint characteristic is exploited to prevent unauthorized users from tampering with fingerprint characteristics.The user authentication scheme presented in this paper may judge the user authority by USBKey,realize the remote server authentication,and effectively resist the eavesdropping attack,impersonation attack,replay attack and DoS attack as well.

user authentication;USBKey;fingerprint;ECC(elliptic curve cryptography)algorithm

TP309

A

1005-0523(2014)02-0095-04

2013-11-06

國家863計劃項目(2006AA04A134)

張利華(1972—),男,副教授,博士,主要研究方向為電氣信息技術,通信網絡信息安全。

猜你喜歡
數字證書私鑰攻擊者
清掃機器人避障系統區塊鏈私鑰分片存儲方法
比特幣的安全性到底有多高
機動能力受限的目標-攻擊-防御定性微分對策
基于改進ECC 算法的網絡信息私鑰變換優化方法
正面迎接批判
一種基于虛擬私鑰的OpenSSL與CSP交互方案
當心黑客利用數字證書的漏洞
基于數字證書的軍事信息系統安全防護方案
以數字證書為核心的信息安全技術之研究
有限次重復博弈下的網絡攻擊行為研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合