本發(fā)明涉及信息安全技術(shù)領(lǐng)域,尤其涉及一種登錄驗(yàn)證方法、登錄請(qǐng)求方法和安全登錄系統(tǒng)。
背景技術(shù):
目前,較多的網(wǎng)站及應(yīng)用軟件使用“賬戶+密碼”的形式進(jìn)行登錄驗(yàn)證,若登錄時(shí)用戶輸入的密碼與用戶預(yù)先配置的密碼相同,則允許用戶登錄。由于賬戶中可能記錄有用戶的私人信息,甚至涉及用戶的財(cái)產(chǎn)信息,因此,賬戶信息的安全性一直是用戶關(guān)心的問題。
然而,現(xiàn)有的登錄方式僅僅對(duì)登錄密碼進(jìn)行登錄驗(yàn)證,并不能有效保障賬戶的安全。當(dāng)用戶登錄web應(yīng)用或app時(shí),客戶端發(fā)送的登錄請(qǐng)求中攜帶有賬戶及對(duì)應(yīng)的登錄密碼。若攻擊者成功攔截到客戶端發(fā)送的登錄請(qǐng)求,則可以進(jìn)行暴力破解,得到用戶的登錄密碼,從而利用得到的賬戶信息,竊取用戶的隱私信息或是資金。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的主要目的在于提供一種登錄驗(yàn)證方法、登錄請(qǐng)求方法和安全登錄系統(tǒng),旨在解決現(xiàn)有的登錄方式安全性低的技術(shù)問題。
為實(shí)現(xiàn)上述目的,本發(fā)明提供一種登錄驗(yàn)證方法,所述登錄驗(yàn)證方法包括以下步驟:
若收到客戶端發(fā)送的登錄請(qǐng)求,則獲取所述客戶端的身份標(biāo)識(shí),及所述登錄請(qǐng)求攜帶的賬戶名和組合密碼;
根據(jù)預(yù)設(shè)的組合規(guī)則,拆分所述組合密碼得到登錄密碼及校驗(yàn)碼;
根據(jù)所述客戶端的身份標(biāo)識(shí)及預(yù)先配置的校驗(yàn)碼記錄,驗(yàn)證所述校驗(yàn)碼;
根據(jù)所述賬戶名及預(yù)先配置的登錄密碼數(shù)據(jù)庫(kù),驗(yàn)證所述登錄密碼;
若所述校驗(yàn)碼通過驗(yàn)證,且所述登錄密碼通過驗(yàn)證,則判定所述登錄請(qǐng)求通過驗(yàn)證,允許所述客戶端登錄。
優(yōu)選地,所述登錄請(qǐng)求中還攜帶有基于驗(yàn)證碼圖片輸入的圖形驗(yàn)證碼,所述登錄驗(yàn)證方法還包括:
根據(jù)預(yù)先配置的圖形驗(yàn)證碼記錄,校驗(yàn)所述圖形驗(yàn)證碼;
所述若所述校驗(yàn)碼通過驗(yàn)證,且所述登錄密碼通過驗(yàn)證,則判定所述登錄請(qǐng)求通過驗(yàn)證,允許所述客戶端登錄的步驟包括:
若所述校驗(yàn)碼通過驗(yàn)證,且所述登錄密碼通過驗(yàn)證,且所述圖形驗(yàn)證碼通過驗(yàn)證,則判定所述登錄請(qǐng)求通過驗(yàn)證,允許所述客戶端登錄。
優(yōu)選地,所述若收到客戶端發(fā)送的登錄請(qǐng)求,則獲取所述客戶端的身份標(biāo)識(shí),及所述登錄請(qǐng)求攜帶的賬戶名和組合密碼的步驟包括:
若收到客戶端發(fā)送的rsa公鑰加密后的登錄請(qǐng)求,則使用預(yù)設(shè)的私鑰解密所述登錄請(qǐng)求,獲取所述客戶端的身份標(biāo)識(shí),及所述登錄請(qǐng)求攜帶的賬戶名和組合密碼。
優(yōu)選地,所述若收到客戶端發(fā)送的登錄請(qǐng)求,則獲取所述客戶端的身份標(biāo)識(shí),及所述登錄請(qǐng)求攜帶的賬戶名和組合密碼的步驟之前,還包括:
檢測(cè)到所述客戶端訪問登錄頁(yè)面時(shí),生成校驗(yàn)碼返回所述客戶端,以供所述客戶端配置組合密碼;
對(duì)應(yīng)記錄所述客戶端的身份標(biāo)識(shí)及向所述客戶端返回的校驗(yàn)碼,保存到所述校驗(yàn)碼記錄中。
優(yōu)選地,所述校驗(yàn)碼為隨機(jī)數(shù)。
此外,為實(shí)現(xiàn)上述目的,本發(fā)明還提供一種登錄請(qǐng)求方法,所述登錄請(qǐng)求方法包括以下步驟:
在訪問登錄頁(yè)面時(shí),接收服務(wù)器返回的校驗(yàn)碼;
根據(jù)預(yù)設(shè)的組合規(guī)則,將輸入的登錄密碼與所述校驗(yàn)碼組合得到組合密碼;
根據(jù)輸入的賬戶名及所述組合密碼,生成登錄請(qǐng)求發(fā)送給所述服務(wù)器進(jìn)行驗(yàn)證。
優(yōu)選地,所述登錄頁(yè)面中包括驗(yàn)證碼圖片,所述登錄請(qǐng)求方法還包括:
接收基于所述驗(yàn)證碼圖片輸入的圖形驗(yàn)證碼;
所述根據(jù)輸入的賬戶名及所述組合密碼,生成登錄請(qǐng)求發(fā)送給所述服務(wù)器進(jìn)行驗(yàn)證的步驟包括:
根據(jù)輸入的賬戶名、所述組合密碼及所述圖形驗(yàn)證碼,生成登錄請(qǐng)求發(fā)送給所述服務(wù)器。
優(yōu)選地,所述登錄請(qǐng)求方法還包括:
使用預(yù)設(shè)的rsa公鑰加密所述登錄請(qǐng)求,將加密后的登錄請(qǐng)求發(fā)送給所述服務(wù)器。
此外,為實(shí)現(xiàn)上述目的,本發(fā)明還提供一種安全登錄系統(tǒng),所述安全登錄系統(tǒng)包括服務(wù)器和客戶端,其中:
所述客戶端,用于在訪問登錄頁(yè)面時(shí),接收所述服務(wù)器返回的校驗(yàn)碼;根據(jù)預(yù)設(shè)的組合規(guī)則,將輸入的登錄密碼與所述校驗(yàn)碼組合得到組合密碼;根據(jù)輸入的賬戶名及所述組合密碼,生成登錄請(qǐng)求發(fā)送給所述服務(wù)器進(jìn)行驗(yàn)證;
所述服務(wù)器,用于若收到所述客戶端發(fā)送的登錄請(qǐng)求,則獲取所述客戶端的身份標(biāo)識(shí),及所述登錄請(qǐng)求攜帶的賬戶名和組合密碼;根據(jù)預(yù)設(shè)的組合規(guī)則,拆分所述組合密碼得到登錄密碼及校驗(yàn)碼;根據(jù)所述客戶端的身份標(biāo)識(shí)及預(yù)先配置的校驗(yàn)碼記錄,驗(yàn)證所述校驗(yàn)碼;根據(jù)所述賬戶名及預(yù)先配置的登錄密碼數(shù)據(jù)庫(kù),驗(yàn)證所述登錄密碼;若所述校驗(yàn)碼通過驗(yàn)證,且所述登錄密碼通過驗(yàn)證,則判定所述登錄請(qǐng)求通過驗(yàn)證,允許所述客戶端登錄。
優(yōu)選地,所述服務(wù)器還用于,
在檢測(cè)到所述客戶端訪問登錄頁(yè)面時(shí),向所述客戶端返回驗(yàn)證碼圖片;
所述客戶端,還用于接收基于所述驗(yàn)證碼圖片輸入的圖形驗(yàn)證碼;根據(jù)輸入的賬戶名、所述組合密碼及所述圖形驗(yàn)證碼,生成登錄請(qǐng)求發(fā)送給所述服務(wù)器;
所述服務(wù)器,還用于根據(jù)預(yù)先配置的圖形驗(yàn)證碼記錄,校驗(yàn)所述圖形驗(yàn)證碼;若所述校驗(yàn)碼通過驗(yàn)證,且所述登錄密碼通過驗(yàn)證,且所述圖形驗(yàn)證碼通過驗(yàn)證,則判定所述登錄請(qǐng)求通過驗(yàn)證,允許所述客戶端登錄。
本發(fā)明實(shí)施例提出的一種登錄驗(yàn)證方法、登錄請(qǐng)求方法和安全登錄系統(tǒng),在進(jìn)行登錄驗(yàn)證時(shí),若收到客戶端發(fā)送的登錄請(qǐng)求,則獲取此客戶端的身份標(biāo)識(shí),及登錄請(qǐng)求攜帶的賬戶名和組合密碼,用以對(duì)當(dāng)前登錄請(qǐng)求進(jìn)行驗(yàn)證;然后,根據(jù)預(yù)設(shè)的組合規(guī)則,拆分組合密碼得到登錄密碼及校驗(yàn)碼,由于組合密碼中的登錄密碼和校驗(yàn)碼有多種組合方式,而預(yù)設(shè)的組合規(guī)則是攻擊者難以獲取的,因此攻擊者即使截取了登錄請(qǐng)求,也無法破解組合密碼,也就無法得到正確的登錄密碼;然后,根據(jù)客戶端的身份標(biāo)識(shí)及預(yù)先配置的校驗(yàn)碼記錄,驗(yàn)證校驗(yàn)碼;根據(jù)賬戶名及預(yù)先配置的登錄密碼數(shù)據(jù)庫(kù),驗(yàn)證登錄密碼;若校驗(yàn)碼通過驗(yàn)證,且登錄密碼通過驗(yàn)證,則判定當(dāng)前登錄請(qǐng)求通過驗(yàn)證,允許客戶端的登錄。本發(fā)明的登錄方式中,客戶端發(fā)送的登錄請(qǐng)求中并不是直接攜帶登錄密碼,而是攜帶難以破解的、包含有校驗(yàn)碼和登錄密碼的組合密碼,校驗(yàn)碼和登錄密碼使用難以猜解的組合方式組合得到組合密碼,大大增強(qiáng)了登錄密碼的爆破難度,能夠有效的防止攻擊者的暴力破解。并且,本發(fā)明通過對(duì)校驗(yàn)碼和登錄密碼的雙重校驗(yàn),進(jìn)一步增強(qiáng)了單一密碼的安全性。由此,本發(fā)明解決了現(xiàn)有的登錄方式安全性低的技術(shù)問題,大大提高了登錄方式的安全性。
附圖說明
圖1為本發(fā)明登錄驗(yàn)證方法第一實(shí)施例的流程示意圖;
圖2為本發(fā)明登錄驗(yàn)證方法第二實(shí)施例的流程示意圖;
圖3為本發(fā)明登錄驗(yàn)證方法第三實(shí)施例的流程示意圖;
圖4為本發(fā)明登錄驗(yàn)證方法第四實(shí)施例的流程示意圖;
圖5為本發(fā)明登錄請(qǐng)求方法第一實(shí)施例的流程示意圖;
圖6為本發(fā)明登錄請(qǐng)求方法第二實(shí)施例的流程示意圖;
圖7為本發(fā)明登錄請(qǐng)求方法第三實(shí)施例的流程示意圖;
圖8為本發(fā)明安全登錄系統(tǒng)第一實(shí)施例、第二實(shí)施例的模塊示意圖。
本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說明。
具體實(shí)施方式
應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
參照?qǐng)D1,本發(fā)明登錄驗(yàn)證方法第一實(shí)施例提供一種登錄驗(yàn)證方法,所述登錄驗(yàn)證方法包括:
步驟s110、若收到客戶端發(fā)送的登錄請(qǐng)求,則獲取所述客戶端的身份標(biāo)識(shí),及所述登錄請(qǐng)求攜帶的賬戶名和組合密碼。
本發(fā)明提出一種新的登錄方式,在進(jìn)行登錄驗(yàn)證的過程中,使用包含校驗(yàn)碼和真實(shí)登錄密碼的組合密碼,即使登錄請(qǐng)求被攻擊者截取,也無法根據(jù)登錄請(qǐng)求中的密碼破解得到正確的登錄密碼;而服務(wù)器可以正確解析登錄請(qǐng)求中的組合密碼得到校驗(yàn)碼和真實(shí)的登錄密碼,對(duì)登錄密碼和校驗(yàn)碼進(jìn)行雙重驗(yàn)證,保障了賬戶登錄時(shí)的安全性。
具體的,作為一種實(shí)施方式,當(dāng)客戶端在接收到客戶端發(fā)送的登錄請(qǐng)求時(shí),獲取客戶端的身份標(biāo)識(shí),解析登錄請(qǐng)求得到登錄請(qǐng)求攜帶的賬戶名和組合密碼。
其中,客戶端的身份標(biāo)識(shí)可以唯一的表征客戶端身份,例如客戶端的id,或者是客戶端的用戶識(shí)別卡號(hào)碼、客戶端設(shè)備號(hào)等??蛻舳说纳矸輼?biāo)識(shí)可以是登錄請(qǐng)求中攜帶的,也可以是服務(wù)器單獨(dú)向客戶端請(qǐng)求獲取的,可根據(jù)實(shí)際需要靈活配置。
登錄請(qǐng)求中攜帶的賬戶名也即當(dāng)前請(qǐng)求登錄的賬戶名;登錄請(qǐng)求中攜帶的組合密碼即為當(dāng)前需要進(jìn)行驗(yàn)證的密碼。
步驟s120、根據(jù)預(yù)設(shè)的組合規(guī)則,拆分所述組合密碼得到登錄密碼及校驗(yàn)碼。
在得到登錄請(qǐng)求中攜帶的組合密碼后,服務(wù)器根據(jù)預(yù)設(shè)的組合規(guī)則,拆分此組合密碼,得到組合密碼中攜帶的校驗(yàn)碼和真實(shí)的登錄密碼。
預(yù)設(shè)的組合方式是由服務(wù)器和客戶端預(yù)先約定的,校驗(yàn)碼和登錄密碼在組合密碼中的排列順序。需要說明的是,校驗(yàn)碼和登錄密碼在組合密碼中的排列順序可以是簡(jiǎn)單的前后位置排序,也可以是分別將校驗(yàn)碼和登錄密碼拆分后,將拆分后得到的字符或字符組重新組合得到組合密碼,當(dāng)然,也可以是其他排列組合方式,可根據(jù)實(shí)際需要靈活配置。
例如,當(dāng)前登錄請(qǐng)求中攜帶的組合密碼為123456abcdef。
若預(yù)設(shè)的組合方式為:校驗(yàn)碼為6位,登錄密碼為6位,且校驗(yàn)碼的排序位于登錄密碼的前面,則拆分組合密碼得到的校驗(yàn)碼為123456,登錄密碼為abcdef。
若預(yù)設(shè)的組合方式為:校驗(yàn)碼為6位,登錄密碼為6位,且校驗(yàn)碼和登錄密碼均被按照原排序三等分拆分得到字符組,根據(jù)校驗(yàn)碼在前、登錄密碼在后的方式依次穿插排列各字符組得到組合密碼,則服務(wù)器根據(jù)預(yù)設(shè)的組合方式,逆向拆分組合密碼得到的校驗(yàn)碼為1256cd,登錄密碼為34abef。
由此可見,組合密碼中校驗(yàn)碼和登錄密碼的排列方式非常之多,使得組合密碼的破解難度大大增加。
步驟s130、根據(jù)所述客戶端的身份標(biāo)識(shí)及預(yù)先配置的校驗(yàn)碼記錄,驗(yàn)證所述校驗(yàn)碼。
在拆分組合密碼得到校驗(yàn)碼和登錄密碼后,分別驗(yàn)證校驗(yàn)碼和登錄密碼。
具體的,作為一種實(shí)施方式,服務(wù)器根據(jù)客戶端的身份標(biāo)識(shí),查詢預(yù)先配置的校驗(yàn)碼記錄,得到校驗(yàn)碼記錄中此客戶端身份標(biāo)識(shí)對(duì)應(yīng)的校驗(yàn)碼。
然后,判斷拆分組合密碼得到的校驗(yàn)碼與查詢校驗(yàn)碼記錄得到的校驗(yàn)碼是否相同。
若拆分組合密碼得到的校驗(yàn)碼與查詢校驗(yàn)碼記錄得到的校驗(yàn)碼相同,則判定拆分組合密碼得到的校驗(yàn)碼通過驗(yàn)證。
若拆分組合密碼得到的校驗(yàn)碼與查詢校驗(yàn)碼記錄得到的校驗(yàn)碼不相同,則判定拆分組合密碼得到的校驗(yàn)碼未通過驗(yàn)證。
步驟s140、根據(jù)所述賬戶名及預(yù)先配置的登錄密碼數(shù)據(jù)庫(kù),驗(yàn)證所述登錄密碼。
在進(jìn)行登錄密碼的驗(yàn)證時(shí),可以根據(jù)賬戶名,查詢預(yù)先配置的登錄密碼數(shù)據(jù)庫(kù),得到登錄密碼數(shù)據(jù)庫(kù)中此賬戶名對(duì)應(yīng)的登錄密碼,也即用戶預(yù)先配置的、正確的登錄密碼。
然后,判斷拆分組合密碼得到的登錄密碼與查詢登錄密碼數(shù)據(jù)庫(kù)得到的登錄密碼是否相同。
若拆分組合密碼得到的登錄密碼與查詢登錄密碼數(shù)據(jù)庫(kù)得到的登錄密碼相同,則判定拆分組合密碼得到的登錄密碼通過驗(yàn)證。
若拆分組合密碼得到的登錄密碼與查詢登錄密碼數(shù)據(jù)庫(kù)得到的登錄密碼不相同,則判定拆分組合密碼得到的登錄密碼未通過驗(yàn)證。
步驟s150、若所述校驗(yàn)碼通過驗(yàn)證,且所述登錄密碼通過驗(yàn)證,則判定所述登錄請(qǐng)求通過驗(yàn)證,允許所述客戶端登錄。
在對(duì)拆分組合密碼得到的校驗(yàn)碼和登錄密碼進(jìn)行驗(yàn)證后,若校驗(yàn)碼通過驗(yàn)證,且登錄密碼通過驗(yàn)證,則此時(shí)可以判定當(dāng)前的登錄請(qǐng)求通過驗(yàn)證,允許當(dāng)前客戶端以當(dāng)前賬戶登錄。
需要說明的是,本實(shí)施例中的登錄密碼可以是登錄賬戶時(shí)使用的密碼,也可以是進(jìn)行移動(dòng)支付等多種應(yīng)用場(chǎng)景中的指令密碼,可以根據(jù)實(shí)際需要靈活應(yīng)用于需要進(jìn)行密碼驗(yàn)證的應(yīng)用場(chǎng)景。
在本實(shí)施例中,若收到客戶端發(fā)送的登錄請(qǐng)求,則獲取此客戶端的身份標(biāo)識(shí),及登錄請(qǐng)求攜帶的賬戶名和組合密碼,用以對(duì)當(dāng)前登錄請(qǐng)求進(jìn)行驗(yàn)證;然后,根據(jù)預(yù)設(shè)的組合規(guī)則,拆分組合密碼得到登錄密碼及校驗(yàn)碼,由于組合密碼中的登錄密碼和校驗(yàn)碼有多種組合方式,而預(yù)設(shè)的組合規(guī)則是攻擊者難以獲取的,因此攻擊者即使截取了登錄請(qǐng)求,也無法破解組合密碼,也就無法得到正確的登錄密碼;然后,根據(jù)客戶端的身份標(biāo)識(shí)及預(yù)先配置的校驗(yàn)碼記錄,驗(yàn)證校驗(yàn)碼;根據(jù)賬戶名及預(yù)先配置的登錄密碼數(shù)據(jù)庫(kù),驗(yàn)證登錄密碼;若校驗(yàn)碼通過驗(yàn)證,且登錄密碼通過驗(yàn)證,則判定當(dāng)前登錄請(qǐng)求通過驗(yàn)證,允許客戶端的登錄。本實(shí)施例的登錄方式中,在進(jìn)行登錄驗(yàn)證時(shí),客戶端發(fā)送的登錄請(qǐng)求中并不是直接攜帶登錄密碼,而是攜帶難以破解的、包含有校驗(yàn)碼和登錄密碼的組合密碼,校驗(yàn)碼和登錄密碼使用難以猜解的組合方式組合得到組合密碼,大大增強(qiáng)了登錄密碼的爆破難度,能夠有效的防止攻擊者的暴力破解。并且,本實(shí)施例通過對(duì)校驗(yàn)碼和登錄密碼的雙重校驗(yàn),進(jìn)一步增強(qiáng)了單一密碼的安全性。由此,本實(shí)施例解決了現(xiàn)有的登錄方式安全性低的技術(shù)問題,大大提高了登錄方式的安全性。
進(jìn)一步地,參照?qǐng)D2,本發(fā)明登錄驗(yàn)證方法第二實(shí)施例提供一種登錄驗(yàn)證方法,基于上述圖1所示的實(shí)施例,所述登錄請(qǐng)求中還攜帶有基于驗(yàn)證碼圖片輸入的圖形驗(yàn)證碼,所述登錄驗(yàn)證方法還包括:
步驟s160、根據(jù)預(yù)先配置的圖形驗(yàn)證碼記錄,校驗(yàn)所述圖形驗(yàn)證碼。
服務(wù)器在檢測(cè)到客戶端訪問登錄頁(yè)面時(shí),向客戶端返回驗(yàn)證碼圖片,進(jìn)行驗(yàn)證碼圖片的驗(yàn)證。同時(shí),服務(wù)器將此驗(yàn)證碼圖片添加到圖形驗(yàn)證碼記錄中,用于后續(xù)對(duì)客戶端提交的圖形驗(yàn)證碼的校驗(yàn)。
客戶端在收到圖像驗(yàn)證碼后,顯示在登錄頁(yè)面上,以供用戶識(shí)別驗(yàn)證碼圖片、輸入對(duì)應(yīng)的圖形驗(yàn)證碼。
在得到用戶輸入的圖形驗(yàn)證碼后,客戶端根據(jù)當(dāng)前請(qǐng)求登錄的賬戶名、配置的組合密碼以及用戶輸入的圖形驗(yàn)證碼生成登錄請(qǐng)求,發(fā)送給服務(wù)器。
服務(wù)器在收到客戶端的登錄請(qǐng)求后,對(duì)組合密碼中的登錄密碼和校驗(yàn)碼進(jìn)行驗(yàn)證,同時(shí)進(jìn)行圖形驗(yàn)證碼的驗(yàn)證。
在進(jìn)行圖形驗(yàn)證碼的驗(yàn)證時(shí),服務(wù)器查詢圖形驗(yàn)證碼記錄,校驗(yàn)客戶端提交的圖形驗(yàn)證碼是否正確,得到校驗(yàn)結(jié)果。
對(duì)應(yīng)的,所述步驟s150包括:
步驟s151、若所述校驗(yàn)碼通過驗(yàn)證,且所述登錄密碼通過驗(yàn)證,且所述圖形驗(yàn)證碼通過驗(yàn)證,則判定所述登錄請(qǐng)求通過驗(yàn)證,允許所述客戶端登錄。
當(dāng)拆分組合密碼得到的校驗(yàn)碼和登錄密碼都通過驗(yàn)證,并且登錄請(qǐng)求中攜帶的圖形驗(yàn)證碼也通過驗(yàn)證時(shí),服務(wù)器判定當(dāng)前登錄請(qǐng)求通過驗(yàn)證,允許當(dāng)前客戶端以當(dāng)前賬戶登錄。
在本實(shí)施例中,登錄請(qǐng)求中還攜帶有基于驗(yàn)證碼圖片輸入的圖形驗(yàn)證碼,則在收到客戶端發(fā)送的登錄請(qǐng)求時(shí),根據(jù)預(yù)先配置的圖形驗(yàn)證碼記錄,校驗(yàn)圖形驗(yàn)證碼;若校驗(yàn)碼通過驗(yàn)證,且登錄密碼通過驗(yàn)證,且圖形驗(yàn)證碼通過驗(yàn)證,則判定登錄請(qǐng)求通過驗(yàn)證,允許客戶端登錄。本實(shí)施例在組合密碼的基礎(chǔ)上,添加了圖形驗(yàn)證碼,進(jìn)一步增強(qiáng)了對(duì)惡意攻擊的抵抗力,提高了客戶端登錄的安全性。
進(jìn)一步地,參照?qǐng)D3,本發(fā)明登錄驗(yàn)證方法第三實(shí)施例提供一種登錄驗(yàn)證方法,基于上述圖1或圖2所示的實(shí)施例(本實(shí)施例以圖1為例),所述步驟s110包括:
步驟s111、若收到客戶端發(fā)送的rsa公鑰加密后的登錄請(qǐng)求,則使用預(yù)設(shè)的私鑰解密所述登錄請(qǐng)求,獲取所述客戶端的身份標(biāo)識(shí),及所述登錄請(qǐng)求攜帶的賬戶名和組合密碼。
客戶端在發(fā)送登錄請(qǐng)求前,使用rsa公鑰對(duì)登錄請(qǐng)求進(jìn)行加密,將加密后的登錄請(qǐng)求發(fā)送給服務(wù)器。
其中,rsa加密算法為非對(duì)稱算法,客戶端加密所使用的公鑰為公開的,而服務(wù)器解密使用的私鑰是保密不公開的,加密后的信息僅能通過服務(wù)器擁有的私鑰才能解密。
則服務(wù)器在收到客戶端發(fā)送的加密后的登錄請(qǐng)求后,使用保密的私鑰對(duì)登錄請(qǐng)求進(jìn)行解密,得到登錄請(qǐng)求攜帶的賬戶名和組合密碼。
若登錄請(qǐng)求中攜帶有圖形驗(yàn)證碼,則服務(wù)器在解密登錄請(qǐng)求后,同時(shí)得到圖形驗(yàn)證碼、賬戶名和組合密碼。
若登錄請(qǐng)求中攜帶有客戶端的身份標(biāo)識(shí),則服務(wù)器在解密登錄請(qǐng)求后,還得到了客戶端的身份標(biāo)識(shí);若登錄請(qǐng)求中未攜帶客戶端的身份標(biāo)識(shí),則服務(wù)器向客戶端請(qǐng)求其身份標(biāo)識(shí)。
進(jìn)一步地,作為另一種實(shí)施方式,客戶端可以使用rsa公鑰僅對(duì)組合密碼進(jìn)行加密。
則服務(wù)器在收到客戶端發(fā)送的登錄請(qǐng)求時(shí),獲取客戶端的身份標(biāo)識(shí),并解析登錄請(qǐng)求得到賬戶名和加密后的組合密碼。
然后,使用私鑰解密加密后的組合密碼,得到組合密碼。
在本實(shí)施例中,若收到客戶端發(fā)送的rsa公鑰加密后的登錄請(qǐng)求,則使用預(yù)設(shè)的私鑰解密所述登錄請(qǐng)求,獲取客戶端的身份標(biāo)識(shí),及登錄請(qǐng)求攜帶的賬戶名和組合密碼。本實(shí)施例通過對(duì)登錄請(qǐng)求進(jìn)行加密,進(jìn)一步提高了客戶端登錄的安全性,使得登錄請(qǐng)求中的密碼更加難以被暴力破解,提高了登錄方式的安全性。
進(jìn)一步地,參照?qǐng)D4,本發(fā)明登錄驗(yàn)證方法第四實(shí)施例提供一種登錄驗(yàn)證方法,基于上述圖1、圖2或圖3所示的實(shí)施例(本實(shí)施例以圖1為例),所述步驟s110之前,還包括:
步驟s170、檢測(cè)到所述客戶端訪問登錄頁(yè)面時(shí),生成校驗(yàn)碼返回所述客戶端,以供所述客戶端配置組合密碼。
當(dāng)檢測(cè)到客戶端訪問登錄頁(yè)面時(shí),服務(wù)器生成校驗(yàn)碼并將生成的校驗(yàn)碼返回客戶端。
客戶端在收到服務(wù)器發(fā)送的校驗(yàn)碼后,根據(jù)與服務(wù)器預(yù)先約定的組合方式,組合校驗(yàn)碼和用戶輸入的登錄密碼,實(shí)現(xiàn)組合密碼的配置。
需要說明的是,客戶端訪問登錄頁(yè)面包括客戶端打開登錄頁(yè)面,以及刷新登錄頁(yè)面。每當(dāng)客戶端訪問登錄頁(yè)面時(shí),服務(wù)器都重新生成校驗(yàn)碼返回客戶端。因此,客戶端每次刷新登錄頁(yè)面時(shí),服務(wù)器也都會(huì)重新生成校驗(yàn)碼返回客戶端。
進(jìn)一步地,作為一種實(shí)施方式,所述校驗(yàn)碼為隨機(jī)數(shù)。
也即,服務(wù)器每次使用隨機(jī)生成的隨機(jī)數(shù),作為校驗(yàn)碼,下發(fā)給客戶端,客戶端使用服務(wù)器下發(fā)的隨機(jī)數(shù)配置組合密碼。服務(wù)器生成的隨機(jī)數(shù)可以是預(yù)設(shè)的長(zhǎng)度。
當(dāng)使用隨機(jī)數(shù)作為校驗(yàn)碼時(shí),結(jié)合校驗(yàn)碼與登錄密碼的多種組合方式,使得得到組合密碼更加難以被破解,進(jìn)一步提高了客戶端登錄的安全性。
步驟s180、對(duì)應(yīng)記錄所述客戶端的身份標(biāo)識(shí)及向所述客戶端返回的校驗(yàn)碼,保存到所述校驗(yàn)碼記錄中。
服務(wù)器在生成校驗(yàn)碼后,或?qū)⑿r?yàn)碼下發(fā)給客戶端后,對(duì)應(yīng)記錄此客戶端的身份標(biāo)識(shí)及下發(fā)給此客戶端的校驗(yàn)碼,并將此條記錄存儲(chǔ)到校驗(yàn)碼記錄中,用于后續(xù)對(duì)校驗(yàn)碼的驗(yàn)證。
在本實(shí)施例中,檢測(cè)到客戶端訪問登錄頁(yè)面時(shí),生成校驗(yàn)碼返回客戶端,以供客戶端配置組合密碼;并且,對(duì)應(yīng)記錄客戶端的身份標(biāo)識(shí)及向客戶端返回的校驗(yàn)碼,保存到校驗(yàn)碼記錄中。本實(shí)施例每當(dāng)檢測(cè)到客戶端訪問登錄頁(yè)面時(shí),都會(huì)重新生成校驗(yàn)碼下發(fā)給客戶端,保證了校驗(yàn)碼的及時(shí)更新,提高登錄的安全性。若使用隨機(jī)數(shù)作為校驗(yàn)碼,使得組合密碼更加難以被暴力破解,進(jìn)一步提高了客戶端登錄的安全程度。
參照?qǐng)D5,本發(fā)明登錄請(qǐng)求方法第一實(shí)施例提供一種登錄請(qǐng)求方法,所述登錄請(qǐng)求方法包括:
步驟s210、在訪問登錄頁(yè)面時(shí),接收服務(wù)器返回的校驗(yàn)碼。
本發(fā)明提出一種新的登錄方式,客戶端在登錄時(shí),使用包含校驗(yàn)碼和真實(shí)登錄密碼的組合密碼,即使登錄請(qǐng)求被攻擊者截取,也無法根據(jù)登錄請(qǐng)求中的密碼破解得到正確的登錄密碼;而服務(wù)器可以正確解析登錄請(qǐng)求中的組合密碼得到校驗(yàn)碼和真實(shí)的登錄密碼,對(duì)登錄密碼和校驗(yàn)碼進(jìn)行雙重驗(yàn)證,保障了賬戶登錄時(shí)的安全性。
具體的,作為一種實(shí)施方式,客戶端在訪問登錄頁(yè)面時(shí),服務(wù)器生成校驗(yàn)碼并將生成的校驗(yàn)碼返回客戶端。
客戶端接收服務(wù)器發(fā)送的校驗(yàn)碼。
需要說明的是,客戶端訪問登錄頁(yè)面包括客戶端打開登錄頁(yè)面,以及刷新登錄頁(yè)面。每當(dāng)客戶端訪問登錄頁(yè)面時(shí),服務(wù)器都重新生成校驗(yàn)碼返回客戶端。因此,客戶端每次刷新登錄頁(yè)面時(shí),服務(wù)器也都會(huì)重新生成校驗(yàn)碼返回客戶端。
步驟s220、根據(jù)預(yù)設(shè)的組合規(guī)則,將輸入的登錄密碼與所述校驗(yàn)碼組合得到組合密碼。
在得到服務(wù)器下發(fā)的校驗(yàn)碼后,客戶端根據(jù)校驗(yàn)碼和用戶輸入的登錄密碼配置組合密碼
具體的,作為一種實(shí)施方式,預(yù)設(shè)的組合方式是由服務(wù)器和客戶端預(yù)先約定的,校驗(yàn)碼和登錄密碼在組合密碼中的排列順序。需要說明的是,校驗(yàn)碼和登錄密碼在組合密碼中的排列順序可以是簡(jiǎn)單的前后位置排序,也可以是分別將校驗(yàn)碼和登錄密碼拆分后,將拆分后得到的字符或字符組重新組合得到組合密碼,當(dāng)然,也可以是其他排列組合方式,可根據(jù)實(shí)際需要靈活配置。
例如,服務(wù)器下發(fā)的校驗(yàn)碼為123456,用戶輸入的密碼為abcdef。
若預(yù)設(shè)的組合方式為:校驗(yàn)碼的排序位于登錄密碼的前面,則客戶端組合校驗(yàn)碼和登錄密碼得到的組合密碼為123456abcdef。
若預(yù)設(shè)的組合方式為:校驗(yàn)碼和登錄密碼均被按照原排序三等分拆分得到字符組,根據(jù)校驗(yàn)碼在前、登錄密碼在后的方式依次穿插排列各字符組得到組合密碼,則客戶端組合校驗(yàn)碼和登錄密碼得到的組合密碼為12ab34cd56ef。
由此可見,組合密碼中校驗(yàn)碼和登錄密碼的排列方式非常之多,使得組合密碼的破解難度大大增加。
需要說明的是,本實(shí)施例中用戶輸入的登錄密碼也可以是客戶端緩存中保存的登錄密碼。
步驟s230、根據(jù)輸入的賬戶名及所述組合密碼,生成登錄請(qǐng)求發(fā)送給所述服務(wù)器進(jìn)行驗(yàn)證。
在配置得到組合密碼后,客戶端根據(jù)用戶輸入的賬戶名及配置的組合密碼,生成登錄請(qǐng)求,發(fā)送給服務(wù)器進(jìn)行驗(yàn)證。
進(jìn)一步地,客戶端也可以將其身份標(biāo)識(shí)配置到登陸請(qǐng)求中,與賬戶名、組合密碼一起發(fā)送給服務(wù)器。
當(dāng)然,客戶端也可以在服務(wù)器請(qǐng)求其身份標(biāo)識(shí)時(shí),再向服務(wù)器發(fā)送其身份標(biāo)識(shí)。
其中,客戶端的身份標(biāo)識(shí)可以唯一的表征客戶端身份,例如客戶端的id,或者是客戶端的用戶識(shí)別卡號(hào)碼、客戶端設(shè)備號(hào)等。
服務(wù)器在收到客戶端發(fā)送的登錄請(qǐng)求后,獲取客戶端的身份標(biāo)識(shí),及登錄請(qǐng)求攜帶的賬戶名和組合密碼;然后,根據(jù)預(yù)設(shè)的組合規(guī)則,拆分組合密碼得到登錄密碼及校驗(yàn)碼;然后,根據(jù)客戶端的身份標(biāo)識(shí)及預(yù)先配置的校驗(yàn)碼記錄,驗(yàn)證校驗(yàn)碼;根據(jù)賬戶名及預(yù)先配置的登錄密碼數(shù)據(jù)庫(kù),驗(yàn)證登錄密碼;若校驗(yàn)碼通過驗(yàn)證,且登錄密碼通過驗(yàn)證,則判定當(dāng)前登錄請(qǐng)求通過驗(yàn)證,允許客戶端的登錄。
當(dāng)然,服務(wù)器在拆分組合密碼得到校驗(yàn)碼和登錄密碼后,也可以不驗(yàn)證校驗(yàn)碼,僅僅驗(yàn)證登錄密碼。
進(jìn)一步地,作為一種實(shí)施方式,所述校驗(yàn)碼為隨機(jī)數(shù)。
也即,服務(wù)器每次使用隨機(jī)生成的隨機(jī)數(shù),作為校驗(yàn)碼,下發(fā)給客戶端,客戶端使用服務(wù)器下發(fā)的隨機(jī)數(shù)配置組合密碼。服務(wù)器生成的隨機(jī)數(shù)可以是預(yù)設(shè)的長(zhǎng)度。
當(dāng)使用隨機(jī)數(shù)作為校驗(yàn)碼時(shí),結(jié)合校驗(yàn)碼與登錄密碼的多種組合方式,使得得到組合密碼更加難以被破解,進(jìn)一步提高了客戶端登錄的安全性。
在本實(shí)施例中,在訪問登錄頁(yè)面時(shí),接收服務(wù)器返回的校驗(yàn)碼,用以配置組合密碼;然后,根據(jù)預(yù)設(shè)的組合規(guī)則,將用戶輸入的登錄密碼與校驗(yàn)碼組合得到組合密碼,由于組合密碼中的登錄密碼和校驗(yàn)碼有多種組合方式,而預(yù)設(shè)的組合規(guī)則是攻擊者難以獲取的,因此攻擊者即使截取了登錄請(qǐng)求,也無法破解組合密碼,也就無法得到正確的登錄密碼;然后,根據(jù)輸入的賬戶名及組合密碼,生成登錄請(qǐng)求發(fā)送給服務(wù)器進(jìn)行驗(yàn)證。本實(shí)施例的登錄方式中,在請(qǐng)求登錄時(shí),客戶端發(fā)送的登錄請(qǐng)求中并不是直接攜帶登錄密碼,而是攜帶難以破解的、包含有校驗(yàn)碼和登錄密碼的組合密碼,校驗(yàn)碼和登錄密碼使用難以猜解的組合方式組合得到組合密碼,大大增強(qiáng)了登錄密碼的爆破難度,能夠有效的防止攻擊者的暴力破解。由此,本實(shí)施例解決了現(xiàn)有的登錄方式安全性低的技術(shù)問題,大大提高了登錄方式的安全性。
進(jìn)一步地,參照?qǐng)D6,本發(fā)明登錄請(qǐng)求方法第二實(shí)施例提供一種登錄請(qǐng)求方法,基于上述圖5所示的實(shí)施例,所述登錄頁(yè)面中包括驗(yàn)證碼圖片,所述登錄請(qǐng)求方法還包括:
步驟s240、接收基于所述驗(yàn)證碼圖片輸入的圖形驗(yàn)證碼。
所述步驟s230包括:
步驟s231、根據(jù)輸入的賬戶名、所述組合密碼及所述圖形驗(yàn)證碼,生成登錄請(qǐng)求發(fā)送給所述服務(wù)器。
為了進(jìn)一步提高登錄的安全性,服務(wù)器在檢測(cè)到客戶端訪問登錄頁(yè)面時(shí),向客戶端返回驗(yàn)證碼圖片,進(jìn)行驗(yàn)證碼圖片的驗(yàn)證。同時(shí),服務(wù)器將此驗(yàn)證碼圖片添加到圖形驗(yàn)證碼記錄中,用于后續(xù)對(duì)客戶端提交的圖形驗(yàn)證碼的校驗(yàn)。
客戶端在收到圖像驗(yàn)證碼后,顯示在登錄頁(yè)面中,以供用戶識(shí)別驗(yàn)證碼圖片、輸入對(duì)應(yīng)的圖形驗(yàn)證碼。
在得到用戶輸入的圖形驗(yàn)證碼后,客戶端根據(jù)當(dāng)前請(qǐng)求登錄的賬戶名、配置的組合密碼以及用戶輸入的圖形驗(yàn)證碼生成登錄請(qǐng)求,發(fā)送給服務(wù)器。
服務(wù)器在收到客戶端的登錄請(qǐng)求后,對(duì)組合密碼中的登錄密碼和校驗(yàn)碼進(jìn)行驗(yàn)證,同時(shí)進(jìn)行圖形驗(yàn)證碼的驗(yàn)證。
在進(jìn)行圖形驗(yàn)證碼的驗(yàn)證時(shí),服務(wù)器查詢圖形驗(yàn)證碼記錄,校驗(yàn)客戶端提交的圖形驗(yàn)證碼是否正確,得到校驗(yàn)結(jié)果。
當(dāng)拆分組合密碼得到的校驗(yàn)碼和登錄密碼都通過驗(yàn)證,并且登錄請(qǐng)求中攜帶的圖形驗(yàn)證碼也通過驗(yàn)證時(shí),服務(wù)器判定當(dāng)前登錄請(qǐng)求通過驗(yàn)證,允許當(dāng)前客戶端以當(dāng)前賬戶登錄。
在本實(shí)施例中,登錄頁(yè)面中包括驗(yàn)證碼圖片,客戶端接收基于服務(wù)器驗(yàn)證碼圖片輸入的圖形驗(yàn)證碼;然后,根據(jù)用戶輸入的賬戶名、配置得到的組合密碼及用戶輸入的圖形驗(yàn)證碼,生成登錄請(qǐng)求發(fā)送給服務(wù)器。本實(shí)施例在組合密碼的基礎(chǔ)上,添加了圖形驗(yàn)證碼,進(jìn)一步增強(qiáng)了對(duì)惡意攻擊的抵抗力,提高了客戶端登錄的安全性。
進(jìn)一步地,參照?qǐng)D7,本發(fā)明登錄請(qǐng)求方法第三實(shí)施例提供一種登錄請(qǐng)求方法,基于上述圖6或圖7所示的實(shí)施例(本實(shí)施例以圖6為例),所述登錄請(qǐng)求方法還包括:
步驟s250、使用預(yù)設(shè)的rsa公鑰加密所述登錄請(qǐng)求,將加密后的登錄請(qǐng)求發(fā)送給所述服務(wù)器。
為了進(jìn)一步增強(qiáng)登錄信息的安全性,客戶端在發(fā)送登錄請(qǐng)求前,使用rsa公鑰對(duì)登錄請(qǐng)求進(jìn)行加密,將加密后的登錄請(qǐng)求發(fā)送給服務(wù)器。
其中,rsa加密算法為非對(duì)稱算法,客戶端加密所使用的公鑰為公開的,而服務(wù)器解密使用的私鑰是保密不公開的,加密后的信息僅能通過服務(wù)器擁有的私鑰才能解密。
則服務(wù)器在收到客戶端發(fā)送的加密后的登錄請(qǐng)求后,使用保密的私鑰對(duì)登錄請(qǐng)求進(jìn)行解密,得到登錄請(qǐng)求攜帶的信息,包括賬戶名、組合密碼、圖形驗(yàn)證碼、客戶端的身份標(biāo)識(shí)等。
進(jìn)一步地,作為另一種實(shí)施方式,客戶端可以使用rsa公鑰僅對(duì)組合密碼進(jìn)行加密。
則服務(wù)器在收到客戶端發(fā)送的登錄請(qǐng)求時(shí),獲取客戶端的身份標(biāo)識(shí),并解析登錄請(qǐng)求得到賬戶名和加密后的組合密碼。
然后,使用私鑰解密加密后的組合密碼,得到組合密碼。
在本實(shí)施例中,使用預(yù)設(shè)的rsa公鑰加密登錄請(qǐng)求,將加密后的登錄請(qǐng)求發(fā)送給服務(wù)器,進(jìn)行登錄請(qǐng)求的驗(yàn)證。本實(shí)施例通過對(duì)登錄請(qǐng)求進(jìn)行加密,進(jìn)一步提高了客戶端登錄的安全性,使得登錄請(qǐng)求中的密碼更加難以被暴力破解,提高了登錄方式的安全性。
參照?qǐng)D8,本發(fā)明安全登錄系統(tǒng)第一實(shí)施例提供一種安全登錄系統(tǒng),所述安全登錄系統(tǒng)包括服務(wù)器10和客戶端20,其中:
所述客戶端20,用于在訪問登錄頁(yè)面時(shí),接收所述服務(wù)器10返回的校驗(yàn)碼;根據(jù)預(yù)設(shè)的組合規(guī)則,將輸入的登錄密碼與所述校驗(yàn)碼組合得到組合密碼;根據(jù)輸入的賬戶名及所述組合密碼,生成登錄請(qǐng)求發(fā)送給所述服務(wù)器10進(jìn)行驗(yàn)證;
所述服務(wù)器10,用于若收到所述客戶端20發(fā)送的登錄請(qǐng)求,則獲取所述客戶端20的身份標(biāo)識(shí),及所述登錄請(qǐng)求攜帶的賬戶名和組合密碼;根據(jù)預(yù)設(shè)的組合規(guī)則,拆分所述組合密碼得到登錄密碼及校驗(yàn)碼;根據(jù)所述客戶端200的身份標(biāo)識(shí)及預(yù)先配置的校驗(yàn)碼記錄,驗(yàn)證所述校驗(yàn)碼;根據(jù)所述賬戶名及預(yù)先配置的登錄密碼數(shù)據(jù)庫(kù),驗(yàn)證所述登錄密碼;若所述校驗(yàn)碼通過驗(yàn)證,且所述登錄密碼通過驗(yàn)證,則判定所述登錄請(qǐng)求通過驗(yàn)證,允許所述客戶端20登錄。
本發(fā)明提出一種新的登錄系統(tǒng),客戶端20在登錄時(shí),使用包含校驗(yàn)碼和真實(shí)登錄密碼的組合密碼,即使登錄請(qǐng)求被攻擊者截取,也無法根據(jù)登錄請(qǐng)求中的密碼破解得到正確的登錄密碼;而服務(wù)器10可以正確解析登錄請(qǐng)求中的組合密碼得到校驗(yàn)碼和真實(shí)的登錄密碼,對(duì)登錄密碼和校驗(yàn)碼進(jìn)行雙重驗(yàn)證,保障了賬戶登錄時(shí)的安全性。
具體的,作為一種實(shí)施方式,客戶端20在訪問登錄頁(yè)面時(shí),服務(wù)器10生成校驗(yàn)碼并將生成的校驗(yàn)碼返回客戶端20。需要說明的是,客戶端20訪問登錄頁(yè)面包括客戶端20打開登錄頁(yè)面,以及刷新登錄頁(yè)面。每當(dāng)客戶端20訪問登錄頁(yè)面時(shí),服務(wù)器10都重新生成校驗(yàn)碼返回客戶端20。因此,客戶端20每次刷新登錄頁(yè)面時(shí),服務(wù)器10也都會(huì)重新生成校驗(yàn)碼返回客戶端20。
客戶端20接收服務(wù)器10發(fā)送的校驗(yàn)碼,根據(jù)校驗(yàn)碼和用戶輸入的登錄密碼配置組合密碼
具體的,預(yù)設(shè)的組合方式是由服務(wù)器10和客戶端20預(yù)先約定的,校驗(yàn)碼和登錄密碼在組合密碼中的排列順序。需要說明的是,校驗(yàn)碼和登錄密碼在組合密碼中的排列順序可以是簡(jiǎn)單的前后位置排序,也可以是分別將校驗(yàn)碼和登錄密碼拆分后,將拆分后得到的字符或字符組重新組合得到組合密碼,當(dāng)然,也可以是其他排列組合方式,可根據(jù)實(shí)際需要靈活配置。
由于組合密碼中校驗(yàn)碼和登錄密碼的排列方式非常之多,使得組合密碼的破解難度大大增加。
需要說明的是,本實(shí)施例中用戶輸入的登錄密碼也可以是客戶端20緩存中保存的登錄密碼。
在配置得到組合密碼后,客戶端20根據(jù)用戶輸入的賬戶名及配置的組合密碼,生成登錄請(qǐng)求,發(fā)送給服務(wù)器10進(jìn)行驗(yàn)證。
進(jìn)一步地,客戶端20也可以將其身份標(biāo)識(shí)配置到登陸請(qǐng)求中,與賬戶名、組合密碼一起發(fā)送給服務(wù)器10。當(dāng)然,客戶端20也可以在服務(wù)器10請(qǐng)求其身份標(biāo)識(shí)時(shí),再向服務(wù)器10發(fā)送其身份標(biāo)識(shí)。
其中,客戶端20的身份標(biāo)識(shí)可以唯一的表征客戶端20身份,例如客戶端20的id,或者是客戶端20的用戶識(shí)別卡號(hào)碼、客戶端設(shè)備號(hào)等。
服務(wù)器10在收到客戶端20發(fā)送的登錄請(qǐng)求后,獲取客戶端20的身份標(biāo)識(shí),及登錄請(qǐng)求攜帶的賬戶名和組合密碼。
然后,根據(jù)預(yù)設(shè)的組合規(guī)則,拆分組合密碼得到登錄密碼及校驗(yàn)碼;然后,分別驗(yàn)證校驗(yàn)碼和登錄密碼。
具體的,根據(jù)客戶端20的身份標(biāo)識(shí)及預(yù)先配置的校驗(yàn)碼記錄,驗(yàn)證校驗(yàn)碼;根據(jù)賬戶名及預(yù)先配置的登錄密碼數(shù)據(jù)庫(kù),驗(yàn)證登錄密碼。
若校驗(yàn)碼通過驗(yàn)證,且登錄密碼通過驗(yàn)證,則判定當(dāng)前登錄請(qǐng)求通過驗(yàn)證,允許客戶端20的登錄。
當(dāng)然,服務(wù)器10在拆分組合密碼得到校驗(yàn)碼和登錄密碼后,也可以不驗(yàn)證校驗(yàn)碼,僅僅驗(yàn)證登錄密碼。
進(jìn)一步地,作為一種實(shí)施方式,所述校驗(yàn)碼為隨機(jī)數(shù)。
也即,服務(wù)器10每次使用隨機(jī)生成的隨機(jī)數(shù),作為校驗(yàn)碼,下發(fā)給客戶端20,客戶端20使用服務(wù)器10下發(fā)的隨機(jī)數(shù)配置組合密碼。服務(wù)器10生成的隨機(jī)數(shù)可以是預(yù)設(shè)的長(zhǎng)度。
當(dāng)使用隨機(jī)數(shù)作為校驗(yàn)碼時(shí),結(jié)合校驗(yàn)碼與登錄密碼的多種組合方式,使得得到組合密碼更加難以被破解,進(jìn)一步提高了客戶端20登錄的安全性。
在本實(shí)施例中,安全登錄系統(tǒng)包括客戶端20和服務(wù)器10,客戶端20在訪問登錄頁(yè)面時(shí),接收服務(wù)器10返回的校驗(yàn)碼,用以配置組合密碼;然后,根據(jù)預(yù)設(shè)的組合規(guī)則,將用戶輸入的登錄密碼與校驗(yàn)碼組合得到組合密碼,由于組合密碼中的登錄密碼和校驗(yàn)碼有多種組合方式,而預(yù)設(shè)的組合規(guī)則是攻擊者難以獲取的,因此攻擊者即使截取了登錄請(qǐng)求,也無法破解組合密碼,也就無法得到正確的登錄密碼;然后,客戶端20根據(jù)輸入的賬戶名及組合密碼,生成登錄請(qǐng)求發(fā)送給服務(wù)器10進(jìn)行驗(yàn)證。若收到客戶端20發(fā)送的登錄請(qǐng)求,則服務(wù)器10獲取此客戶端20的身份標(biāo)識(shí),及登錄請(qǐng)求攜帶的賬戶名和組合密碼,用以對(duì)當(dāng)前登錄請(qǐng)求進(jìn)行驗(yàn)證;然后,根據(jù)預(yù)設(shè)的組合規(guī)則,拆分組合密碼得到登錄密碼及校驗(yàn)碼;然后,服務(wù)器10根據(jù)客戶端20的身份標(biāo)識(shí)及預(yù)先配置的校驗(yàn)碼記錄,驗(yàn)證校驗(yàn)碼;根據(jù)賬戶名及預(yù)先配置的登錄密碼數(shù)據(jù)庫(kù),驗(yàn)證登錄密碼;若校驗(yàn)碼通過驗(yàn)證,且登錄密碼通過驗(yàn)證,則服務(wù)器10判定當(dāng)前登錄請(qǐng)求通過驗(yàn)證,允許客戶端20的登錄。本實(shí)施例的登錄系統(tǒng)中,在進(jìn)行登錄驗(yàn)證時(shí),服務(wù)器10檢測(cè)到客戶端20訪問登錄頁(yè)面時(shí)向客戶端20發(fā)送校驗(yàn)碼,以供客戶端20根據(jù)校驗(yàn)碼配置組合密碼。由此,客戶端20發(fā)送的登錄請(qǐng)求中并不是直接攜帶登錄密碼,而是攜帶難以破解的、包含有校驗(yàn)碼和登錄密碼的組合密碼,校驗(yàn)碼和登錄密碼使用難以猜解的組合方式組合得到組合密碼,大大增強(qiáng)了登錄密碼的爆破難度,能夠有效的防止攻擊者的暴力破解。并且,服務(wù)器10通過對(duì)校驗(yàn)碼和登錄密碼的雙重校驗(yàn),進(jìn)一步增強(qiáng)了單一密碼的安全性。由此,本實(shí)施例解決了現(xiàn)有的登錄方式安全性低的技術(shù)問題,大大提高了登錄方式的安全性。
進(jìn)一步地,參照?qǐng)D8,本發(fā)明安全登錄系統(tǒng)第二實(shí)施例提供一種安全登錄系統(tǒng),基于上述本發(fā)明安全登錄系統(tǒng)第一實(shí)施例,所述服務(wù)器10還用于,
在檢測(cè)到所述客戶端20訪問登錄頁(yè)面時(shí),向所述客戶端20返回驗(yàn)證碼圖片;
所述客戶端20,還用于接收基于所述驗(yàn)證碼圖片輸入的圖形驗(yàn)證碼;根據(jù)輸入的賬戶名、所述組合密碼及所述圖形驗(yàn)證碼,生成登錄請(qǐng)求發(fā)送給所述服務(wù)器10;
所述服務(wù)器10,還用于根據(jù)預(yù)先配置的圖形驗(yàn)證碼記錄,校驗(yàn)所述圖形驗(yàn)證碼;若所述校驗(yàn)碼通過驗(yàn)證,且所述登錄密碼通過驗(yàn)證,且所述圖形驗(yàn)證碼通過驗(yàn)證,則判定所述登錄請(qǐng)求通過驗(yàn)證,允許所述客戶端20登錄。
為了進(jìn)一步增強(qiáng)登錄系統(tǒng)的安全性,服務(wù)器10在檢測(cè)到客戶端20訪問登錄頁(yè)面時(shí),向客戶端20返回驗(yàn)證碼圖片,進(jìn)行驗(yàn)證碼圖片的驗(yàn)證。同時(shí),服務(wù)器10將此驗(yàn)證碼圖片添加到圖形驗(yàn)證碼記錄中,用于后續(xù)對(duì)客戶端20提交的圖形驗(yàn)證碼的校驗(yàn)。
客戶端20在收到圖像驗(yàn)證碼后,顯示在登錄頁(yè)面上,以供用戶識(shí)別驗(yàn)證碼圖片、輸入對(duì)應(yīng)的圖形驗(yàn)證碼。
在得到用戶輸入的圖形驗(yàn)證碼后,客戶端20根據(jù)當(dāng)前請(qǐng)求登錄的賬戶名、配置的組合密碼以及用戶輸入的圖形驗(yàn)證碼生成登錄請(qǐng)求,發(fā)送給服務(wù)器10。
服務(wù)器10在收到客戶端20的登錄請(qǐng)求后,對(duì)組合密碼中的登錄密碼和校驗(yàn)碼進(jìn)行驗(yàn)證,同時(shí)進(jìn)行圖形驗(yàn)證碼的驗(yàn)證。
在進(jìn)行圖形驗(yàn)證碼的驗(yàn)證時(shí),服務(wù)器10查詢圖形驗(yàn)證碼記錄,校驗(yàn)客戶端20提交的圖形驗(yàn)證碼是否正確,得到校驗(yàn)結(jié)果。
當(dāng)拆分組合密碼得到的校驗(yàn)碼和登錄密碼都通過驗(yàn)證,并且登錄請(qǐng)求中攜帶的圖形驗(yàn)證碼也通過驗(yàn)證時(shí),服務(wù)器10判定當(dāng)前登錄請(qǐng)求通過驗(yàn)證,允許當(dāng)前客戶端20以當(dāng)前賬戶登錄。
在本實(shí)施例中,增加了圖形驗(yàn)證碼,服務(wù)器10在檢測(cè)到客戶端20訪問登錄頁(yè)面時(shí),向客戶端20返回驗(yàn)證碼圖片,則客戶端20配置的登錄請(qǐng)求中還攜帶有基于驗(yàn)證碼圖片輸入的圖形驗(yàn)證碼。服務(wù)器10在收到客戶端20發(fā)送的登錄請(qǐng)求時(shí),根據(jù)預(yù)先配置的圖形驗(yàn)證碼記錄,校驗(yàn)圖形驗(yàn)證碼;若校驗(yàn)碼通過驗(yàn)證,且登錄密碼通過驗(yàn)證,且圖形驗(yàn)證碼通過驗(yàn)證,則判定當(dāng)前客戶端20的登錄請(qǐng)求通過驗(yàn)證,允許客戶端20登錄。本實(shí)施例在組合密碼的基礎(chǔ)上,添加了圖形驗(yàn)證碼,進(jìn)一步增強(qiáng)了對(duì)惡意攻擊的抵抗力,提高了客戶端登錄的安全性。
以上僅為本發(fā)明的可選實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。