就無法傳輸隨機數(shù)X,這體現(xiàn)了本發(fā)明中多因子共同參與,缺一不可的特性,也體現(xiàn)了多因子對合法用戶口令安全的有效保護及對非法用戶登錄行為的多重限制。
[0068]實施例4
[0069]防止撞庫攻擊的多因子身份認證方法同實施例1-3,用戶注冊口令pu的生成是將原始主密鑰k和隨機數(shù)X串聯(lián)連接后,經(jīng)過hash運算得到的,其中,原始主密鑰k作為消息的前半部分,隨機數(shù)X附加在原始主密鑰k的末尾作為消息的后半部分,再對該新生成的消息做hash運算,得到用戶注冊口令pu = hash (貝丨J x)。
[0070]實施例5
[0071]防止撞庫攻擊的多因子身份認證方法同實施例1-4,服務(wù)器存儲口令ps的生成是將用戶注冊口令PU和隨機數(shù)y串聯(lián)連接后,經(jīng)過hash運算得到的,其中,用戶注冊口令pu作為消息的前半部分,隨機數(shù)y附加在用戶注冊口令PU的末尾作為消息的后半部分,再對該新生成的消息做hash運算,得到服務(wù)器存儲口令ps = hash (hash (k | | x) | | y)。
[0072]實施例6
[0073]防止撞庫攻擊的多因子身份認證方法同實施例1-5,隱藏信息ctext的生成是將手機串碼頂EI和短口令pwd的hash值串聯(lián)連接后,對服務(wù)器S生成的隨機數(shù)Y進行對稱加密運算Encrypt (HE11 | hash (pwd),y)得到的,其中,手機串碼頂EI作為加密密鑰的前半部分,短口令pwd的hash值附加在手機串碼IMEI的末尾作為加密密鑰的后半部分,隨機數(shù)y為需加密的明文。
[0074]以上描述僅是本發(fā)明的一些具體實例,并不夠成對本發(fā)明的任何限制。顯然對于本領(lǐng)域的專業(yè)人員來說,在了解了本
【發(fā)明內(nèi)容】
和原理后,都可能在不背離本發(fā)明原理、結(jié)構(gòu)的情況下,進行形式和細節(jié)上的各種修正和改變,但是這些基于本發(fā)明思想的修正和改變?nèi)栽诒景l(fā)明的權(quán)利要求保護范圍之內(nèi)。
【主權(quán)項】
1.一種防止撞庫攻擊的多因子身份認證方法,其特征在于,所述多因子包括有用戶口令,手機和手環(huán),三者缺一不可,共同參與完成用戶的注冊及登錄,認證方法包括有如下步驟: (1)初始化階段: Ia)完成手環(huán)初始化:注冊激活手環(huán),并將其綁定到用戶U指定的手機端上,確保手環(huán)具有藍牙功能,并能與所關(guān)聯(lián)手機端進行藍牙連接; Ib)確保用戶U在注冊階段使用的PC端是安全可信的; (2)注冊階段: 用戶U在PC端利用短口令pwd,通過中止密鑰導(dǎo)出函數(shù)(HKDF),生成原始主密鑰k和驗證字符串V ;通過搖手環(huán)生成隨機數(shù)X,利用原始主密鑰k和隨機數(shù)X,在PC端生成安全性加強的用戶注冊口令Pu ;用戶U在服務(wù)器S進行首次注冊,服務(wù)器S為該用戶U生成隨機數(shù)1,利用用戶注冊口令Pu和隨機數(shù)y,生成安全性更強的服務(wù)器存儲口令ps ;用戶U利用手機端串碼頂EI和短口令pwd的hash值,加密服務(wù)器S發(fā)來的隨機數(shù)y,在手機端生成隱藏信息ctext ;服務(wù)器S最終把用戶注冊信息安全存儲在數(shù)據(jù)庫中,注冊信息包括:身份標識id,隱藏信息ctext,用戶手機號num,驗證字符串v和服務(wù)器存儲口令ps ; (3)預(yù)登錄階段: 3a)用戶U將自己的身份標識id發(fā)送給服務(wù)器S ; 3b)服務(wù)器S收到用戶身份標識id后,查找數(shù)據(jù)庫中與用戶身份標識id相對應(yīng)的隱藏信息ctext和驗證字符串V,然后生成一個隨機數(shù)challenge,并將隨機數(shù)challenge與隱藏信息ctext和驗證字符串V —起發(fā)送給用戶U ; 3c)用戶U利用服務(wù)器S發(fā)來的驗證字符串V,并在手機端上輸入注冊階段使用的短口令pwd,通過HKDF計算導(dǎo)出注冊階段生成的原始主密鑰k,即HKDF.Extract (v,pwd) — (k); 3d)用戶U通過搖手環(huán)行為生成注冊時的隨機數(shù)x,并將隨機數(shù)X通過藍牙發(fā)送到手機端上; 3e)用戶U在手機端利用原始主密鑰k和隨機數(shù)X,生成用戶注冊口令pu ; 3f)用戶U利用手機端串碼IMEI和短口令pwd的hash值,解密隱藏信息ctext,得到注冊階段該網(wǎng)站服務(wù)器生成的隨機數(shù)y;再在手機端利用用戶注冊口令Pu和隨機數(shù)y,生成服務(wù)器存儲口令ps; (4)登錄階段: 4a)用戶U結(jié)合服務(wù)器存儲口令ps和收到的隨機數(shù)challenge,計算消息認證碼R =MAC (ps, challenge),并將消息認證碼R發(fā)送給服務(wù)器S ; 4b)服務(wù)器S收到消息認證碼R后,查找數(shù)據(jù)庫中與用戶身份標識id相對應(yīng)的服務(wù)器存儲口令ps,再結(jié)合challenge,計算消息認證碼R’ = MAC (ps, challenge);最后,比較用戶U發(fā)送的消息認證碼R與服務(wù)器S計算出的消息認證碼R’,若相等,則允許用戶U登錄;否則,拒絕登錄請求。2.根據(jù)權(quán)利要求1所述的防止撞庫攻擊的多因子身份認證方法,其特征在于,所述用戶注冊階段的具體步驟包括有: 2a)用戶U針對當前希望注冊的目標服務(wù)器S選擇一個隨機數(shù)r,一個迭代次數(shù)t和短口令pwd,利用HKDF在PC端計算生成一個可公開的驗證字符串V和一個確定的原始主密鑰k,即 HKDF.Prepare (r,t,pwd) — (v, k); 2b)用戶U通過搖手環(huán),生成一個隨機數(shù)X,隨機數(shù)X通過藍牙發(fā)送到手機端,用戶U在手機端用眼睛識別隨機數(shù)X,利用可輸入設(shè)備如鍵盤將隨機數(shù)X輸入到PC端,并在PC端利用原始主密鑰k和隨機數(shù)X,生成用戶注冊口令pu ; 2c)用戶U通過PC端向服務(wù)器S發(fā)送自己的身份標識id,手機號碼num,驗證字符串v和用戶注冊口令pu ; 2d)服務(wù)器S收到用戶U發(fā)來的注冊信息后,服務(wù)器S為該用戶生成一個唯一的隨機數(shù)1,并把I通過安全短信信道發(fā)送給用戶U注冊過號碼的手機端; 2e)服務(wù)器S利用用戶注冊口令pu和隨機數(shù)y,生成服務(wù)器存儲口令ps,并將ps與用戶身份標識id存儲在數(shù)據(jù)庫中,然后,忘掉y ; 2f)用戶U在手機端收到服務(wù)器S發(fā)來的隨機數(shù)y后,利用手機端串碼頂EI和短口令pwd的hash值,對隨機數(shù)y進行加密,生成隱藏信息ctext,并將隱藏信息ctext通過安全網(wǎng)絡(luò)通信信道發(fā)送給服務(wù)器S,發(fā)送成功后用戶U可以忘掉隱藏信息ctext ; 2g)服務(wù)器S收到用戶U發(fā)送的隱藏信息ctext后,將隱藏信息ctext與對應(yīng)用戶賬號的身份標識id,用戶手機號num,驗證字符串V和服務(wù)器存儲口令ps存儲在一起作為用戶注冊信息。3.根據(jù)權(quán)利要求2所述的防止撞庫攻擊的多因子身份認證方法,其特征在于,所述步驟2b)中生成的隨機數(shù)X,是用戶通過對手環(huán)進行具有行為特征的搖晃得到的,且利用藍牙近距離傳輸?shù)浇壎ǖ氖謾C上。4.根據(jù)權(quán)利要求1或2所述的防止撞庫攻擊的多因子身份認證方法,其特征在于,所述用戶注冊口令Pu的生成是將原始主密鑰k和隨機數(shù)X串聯(lián)連接后,經(jīng)過hash運算得到的,其中,原始主密鑰k作為消息的前半部分,隨機數(shù)X附加在原始主密鑰k的末尾作為消息的后半部分,再對該新生成的消息做hash運算,得到用戶注冊口令pu = hash (k | x)。5.根據(jù)權(quán)利要求1或2所述的防止撞庫攻擊的多因子身份認證方法,其特征在于,所述服務(wù)器存儲口令PS的生成是將用戶注冊口令PU和隨機數(shù)y串聯(lián)連接后,經(jīng)過hash運算得到的,其中,用戶注冊口令Pu作為消息的前半部分,隨機數(shù)y附加在用戶注冊口令pu的末尾作為消息的后半部分,再對該新生成的消息做hash運算,得到服務(wù)器存儲口令ps =hash (hash(k| |x) | |y)06.根據(jù)權(quán)利要求1或2所述的防止撞庫攻擊的多因子身份認證方法,其特征在于,所述隱藏信息ctext的生成是將手機串碼頂EI和短口令pwd的hash值串聯(lián)連接后,對服務(wù)器S生成的隨機數(shù)y進行對稱加密運算Encrypt (HE11 | hash (pwd),y)得到的,其中,手機串碼頂EI作為加密密鑰的前半部分,短口令pwd的hash值附加在手機串碼頂EI的末尾作為加密密鑰的后半部分,隨機數(shù)I為需加密的明文。
【專利摘要】本發(fā)明公開了一種防止撞庫攻擊的多因子身份認證方法,主要解決現(xiàn)有網(wǎng)站登錄系統(tǒng)中用戶口令易遭暴力破解及撞庫攻擊的問題。本發(fā)明的多因子為用戶口令,手機和手環(huán),三者缺一不可,共同完成用戶身份的安全認證。其實現(xiàn)步驟是:(1)用戶用短口令由中止密鑰導(dǎo)出函數(shù)生成原始主密鑰,結(jié)合與手環(huán)和手機分別相關(guān)的兩個隨機數(shù)對原始主密鑰進行兩次加工,生成服務(wù)器存儲口令并存在服務(wù)器;(2)用戶結(jié)合手環(huán)和手機兩個因子先后導(dǎo)出原始主密鑰和兩個不同的隨機數(shù),生成服務(wù)器存儲口令;(3)用戶用服務(wù)器存儲口令與服務(wù)器交互認證。本發(fā)明針對不同網(wǎng)站生成不同的原始主密鑰并安全保護,有效避免了單一口令易被盜用并進行身份偽裝的危險。
【IPC分類】H04L29/06
【公開號】CN105187382
【申請?zhí)枴緾N201510473859
【發(fā)明人】金方園, 楊超, 馬建峰, 李金庫, 安迪, 何思蒙
【申請人】西安電子科技大學(xué)
【公開日】2015年12月23日
【申請日】2015年8月5日