智能卡口令認(rèn)證及修改密碼方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及信息安全和密碼學(xué)技術(shù)領(lǐng)域,具體是一種結(jié)合智能卡的口令認(rèn)證和修 改密碼的方法。
【背景技術(shù)】
[0002] 在快節(jié)奏的都市生活中,網(wǎng)上交易、網(wǎng)上充值無(wú)疑為人們節(jié)約了更多的時(shí)間。然 而,人類越發(fā)依賴信息系統(tǒng),信息安全問(wèn)題就會(huì)越發(fā)凸顯。自從電子商務(wù)蓬勃發(fā)展W來(lái),通 過(guò)互聯(lián)網(wǎng)盜竊用戶財(cái)產(chǎn)的案例時(shí)有發(fā)生,信息安全問(wèn)題成為社會(huì)信息化發(fā)展進(jìn)程中一個(gè)無(wú) 法忽視的問(wèn)題。
[0003] 為了解決上述問(wèn)題,人們使用現(xiàn)代密碼學(xué)中對(duì)稱加密W及非對(duì)稱加密設(shè)計(jì)了多種 認(rèn)證機(jī)制。其中口令認(rèn)證相對(duì)于其他種類的認(rèn)證具有更加簡(jiǎn)潔,方便的特性。現(xiàn)實(shí)生活中, 很多電腦或者手機(jī)的應(yīng)用軟件都是基于口令認(rèn)證進(jìn)行訪問(wèn)控制的。在方便客戶的同時(shí),該 些特性也使使用口令認(rèn)證的用戶很容易受到攻擊,攻擊者通常會(huì)對(duì)竊取的口令文件進(jìn)行猜 巧。,該就是"字典攻擊"。
[0004] 目前基于口令認(rèn)證的系統(tǒng)設(shè)計(jì)方法主要有:
[0005] (1)使用用戶口令將私鑰加密后存儲(chǔ)在用戶設(shè)備上,該種方法現(xiàn)在被廣泛應(yīng)用于 各個(gè)領(lǐng)域,但難W抵抗字典攻擊。
[0006] (2)使用智能卡W及USBKEY等硬件設(shè)備來(lái)加強(qiáng)私鑰保護(hù),但如果智能卡丟失,用 戶的信息就可能泄露。
[0007] (3)采用分組密碼系統(tǒng)與公鑰加密系統(tǒng),通信雙方將建立會(huì)話密鑰并且同時(shí)保護(hù) 用戶密碼,避免字典攻擊,但是分組密碼加密速度慢并且存在密文傳輸錯(cuò)誤的隱患。
[000引 (4) 一次性口令認(rèn)證,比如MD5,使每次登陸時(shí)用戶密碼都不相同,但是使用安全 令牌要面對(duì)電池電量耗盡的困擾。
【發(fā)明內(nèi)容】
[0009] 為了解決現(xiàn)有技術(shù)存在的上述問(wèn)題,本發(fā)明提出一種智能卡口令認(rèn)證及修改密碼 方法,通過(guò)用戶W及服務(wù)器雙方認(rèn)證,實(shí)現(xiàn)保護(hù)用戶信息,允許用戶隨時(shí)更改密碼,使用戶 認(rèn)證信息得到更大力度的保護(hù)。
[0010] 本發(fā)明智能卡口令認(rèn)證方法,包括W下步驟:
[0011] A1、用戶注冊(cè);
[001引 A1-1、用戶產(chǎn)生一個(gè)隨機(jī)數(shù)X。并將X。保密的存入智能卡中,X。大于1024bit;
[001引A1-2、用戶定義其用戶名ID及密碼PW,并使用單向哈希函數(shù)hO進(jìn)行如下操作:EPW=h0(eMPW),然后通過(guò)安全信道將用戶名(ID)W及EPW發(fā)送給服務(wù)器S進(jìn)行注冊(cè)認(rèn) 證,其中II表示連接;
[0014] A1-3、服務(wù)器接收到用戶的注冊(cè)認(rèn)證請(qǐng)求后,檢測(cè)用戶名ID是否合法,如果合法, 服務(wù)器生成隨機(jī)數(shù)Xs,Xs的取值大于1024bit,然后服務(wù)器對(duì)該用戶名ID通過(guò)單向哈希函 數(shù)h0操作如下:仿D=WA;、.留/Dj:如果用戶名ID不合法,則通知用戶重新生成合法ID;[00巧]A1-4、服務(wù)器利用EPW生成安全參數(shù)Si、S2;S1 =h巧PWIIXS)、S2 =h巧PWIIS1),計(jì) 算安全參數(shù)= 貨思,Xss為大于l〇24bit的隨機(jī)數(shù);
[0016] A1-5、服務(wù)器選擇一個(gè)足夠大的素?cái)?shù)P化及Wg為生成元的元組Gg,p的取值大于 1024bit;
[0017] A1-6、服務(wù)器將用戶名ID、單向哈希函數(shù)hO、素?cái)?shù)P、生成元g、安全參數(shù)Si和NW 安全方式寫(xiě)入用戶的智能卡中。
[0018] A2、用戶登錄,將智能卡插入對(duì)應(yīng)設(shè)備中,智能卡記錄智能卡插入時(shí)間TW及r時(shí) 間內(nèi)的操作次數(shù)M;
[0019] A2-1、用戶輸入用戶名(ID')W及密碼(PW')后,智能卡使用單向哈希函數(shù)hO和 預(yù)先存儲(chǔ)的隨機(jī)數(shù)Xc計(jì)算EPW' =h狂cIlPW');
[0020] A2-2、智能卡產(chǎn)生一個(gè)大于1024bit的隨機(jī)數(shù)ri并使用單向哈希函數(shù)計(jì)算h(r1), s'2=h巧PW'I|si)W及G=
[0021] A2-3、智能卡計(jì)算
【主權(quán)項(xiàng)】
I.智能卡口令認(rèn)證方法,其特征在于,包括以下步驟, A1、用戶注冊(cè); A1-1、用戶產(chǎn)生一個(gè)隨機(jī)數(shù)X。并將X。保密的存入智能卡中,X。大于1024bit; A1-2、用戶定義其用戶名ID及密碼PW,并使用單向哈希函數(shù)h()進(jìn)行如下操作:EPW=h(Xc||PW),然后通過(guò)安全信道將用戶名(ID)以及EPW發(fā)送給服務(wù)器S進(jìn)行注冊(cè)認(rèn)證,其中 I表示連接; A1-3、服務(wù)器接收到用戶的注冊(cè)認(rèn)證請(qǐng)求后,檢測(cè)用戶名ID是否合法,如果合法,服務(wù) 器生成隨機(jī)數(shù)Xs,Xs的取值大于1024bit,然后服務(wù)器對(duì)該用戶名ID通過(guò)單向哈希函數(shù)h() 操作如下:£/D=/z(Xs. ?/D):如果用戶名ID不合法,則通知用戶重新生成合法ID; 八1-4、服務(wù)器利用£?1生成安全參數(shù)81、82:81=11伍?1||乂 3)、82=11伍?1||81),計(jì)算安 全參數(shù)jV=Zss十&十£10,Xss為大于1024bit的隨機(jī)數(shù); A1-5、服務(wù)器選擇一個(gè)足夠大的素?cái)?shù)p以及以g為生成元的元組Gg,p的取值大于 1024bit; A1-6、服務(wù)器將用戶名ID、單向哈希函數(shù)h()、素?cái)?shù)p、生成元g、安全參數(shù)81和N以安 全方式寫(xiě)入用戶的智能卡中。 A2、用戶登錄,將智能卡插入對(duì)應(yīng)設(shè)備中,智能卡記錄智能卡插入時(shí)間T以及T'時(shí)間內(nèi) 的操作次數(shù)M; A2-1、用戶輸入用戶名(ID')以及密碼(PW')后,智能卡使用單向哈希函數(shù)h()和預(yù)先 存儲(chǔ)的隨機(jī)數(shù)X。計(jì)算EPW' =h(X。IIPW'); A2-2、智能卡產(chǎn)生一個(gè)大于1024bit的隨機(jī)數(shù)!T1并使用單向哈希函數(shù)計(jì)算h(rD,s' 2 =h(EPW,IIs1)以及G=,;十心 A2-3、智能卡計(jì)算F= ,'一'mod/;> 以及E= mod/?; A2-4、用戶將G,h(ri),用戶名(ID'),F(xiàn),E以及N通過(guò)安全信道發(fā)送給服務(wù)器。 A3、身份認(rèn)證; A3-1、服務(wù)器驗(yàn)證用戶名(ID')與數(shù)據(jù)庫(kù)中的注冊(cè)用戶名是否相符,如果不相符,則阻 止用戶登錄;相符則執(zhí)行A3-2; A3-2、服務(wù)器記錄當(dāng)前時(shí)間T'并設(shè)定一段時(shí)間內(nèi)最大申請(qǐng)?jiān)L問(wèn)次數(shù)M' ; A3-3、服務(wù)器計(jì)算二MX5十/D'),&二Xss十JV十以及r/ = 士十G,然后服 務(wù)器比較h(ri)和hOV),如果相等,則執(zhí)行A3-4 ;否則阻止用戶繼續(xù)訪問(wèn); 八3-4、服務(wù)器產(chǎn)生一個(gè)隨機(jī)數(shù)1'2并計(jì)算" =7-20>/2〇'|||4)以及匕=11(8'2||1' 2||1'1'),將a和b發(fā)送給用戶; A3-5、用戶計(jì)算IiCr11Is' 2)以及4 ="十/如Il&)以及b' =h(s' 21 |r2'IIr1),比較b和b'的大小,如果相等,則證明服務(wù)器合法;否則阻止用戶繼續(xù)訪問(wèn); A3-6、用戶計(jì)算& Il心II&),并將G'通過(guò)安全信道發(fā)送給服務(wù)器; A3-7、服務(wù)器收到G'后計(jì)算V =A(r2Il士)十G',比較V和S2的大小,如果相等則執(zhí)行A3-8 ;否則阻止用戶繼續(xù)訪問(wèn); A3-8、服務(wù)器計(jì)算礦=gmodp以及=mod/),然后計(jì)算FF'、EE'并分別 比較其與gTm〇dp、gMm〇dp的差值是否在生成元g的5次方以內(nèi),如果是則證明是合法用戶 并允許用戶訪問(wèn)。
2.根據(jù)權(quán)利要求1所述的智能卡口令認(rèn)證方法修改密碼的方法,其特征在于,包括以 下步驟: T1、用戶將智能卡插入智能卡終端,輸入用戶名ID、舊密碼PW°ld以及新密碼PWn6w; T2、智能卡分別使用舊密碼ID°ld和新密碼IDnew并調(diào)用存儲(chǔ)在智能卡中的Xc計(jì)算EPW°ld 和EPWn?,然后通過(guò)安全信道將用戶名ID,EPW°ld,EPWn6IPN發(fā)送給服務(wù)器; T3、服務(wù)器收到請(qǐng)求信息后,計(jì)算= ?i〇),
對(duì)比S2以及的數(shù)值大小,如果一致則證明用戶通過(guò)身份驗(yàn)證,允許其修改密碼; T4、服務(wù)器計(jì)算W=AOEPW|丨&),4?=壞EPWIIO以及 十十£/£>,并將修改過(guò)的驗(yàn)證信息Nnew以及發(fā)送給用戶; T5、用戶在智能卡終端更新智能卡中的信息為用戶名ID,單向哈希函數(shù)h(),素?cái)?shù)p,生 成元g,安全參數(shù) <"和『\
【專利摘要】本發(fā)明公開(kāi)一種結(jié)合智能卡的口令認(rèn)證和修改密碼方法,廣泛應(yīng)用于電子商務(wù)等社交網(wǎng)絡(luò)服務(wù)的安全保障機(jī)制中。本發(fā)明將智能卡和口令認(rèn)證相結(jié)合,包含了用戶注冊(cè)、服務(wù)器認(rèn)證、用戶認(rèn)證和用戶密碼修改等四個(gè)完整的階段,在其中設(shè)計(jì)了輕量級(jí)高效安全的密碼協(xié)議和算法。實(shí)現(xiàn)了遠(yuǎn)端服務(wù)器不存儲(chǔ)用戶密碼的功能,降低了用戶密碼在服務(wù)器端被竊取的風(fēng)險(xiǎn),同時(shí)口令認(rèn)證協(xié)議中加入了時(shí)戳以及計(jì)數(shù)器,能夠有效防范重放攻擊以及信息攔截攻擊,且用戶可自由更改密碼而不向服務(wù)器申請(qǐng)。
【IPC分類】H04L29-06
【公開(kāi)號(hào)】CN104821941
【申請(qǐng)?zhí)枴緾N201510192496
【發(fā)明人】黃海平, 李正韜, 伍一鳴, 吳敏, 李艷, 王汝傳, 沙超, 蔣凌云
【申請(qǐng)人】南京郵電大學(xué)
【公開(kāi)日】2015年8月5日
【申請(qǐng)日】2015年4月21日