本發(fā)明涉及密碼安全技術(shù)領(lǐng)域,尤其涉及一種身份認(rèn)證方法。
背景技術(shù):
隨著計(jì)算機(jī)技術(shù)的發(fā)展,密碼安全問題一直是計(jì)算機(jī)領(lǐng)域內(nèi)的一個(gè)重要研究方向,尤其是在互聯(lián)網(wǎng)迅速發(fā)展的今天,密碼安全技術(shù)也層出不窮。
目前,國內(nèi)一些大型的企業(yè)集團(tuán)和政府機(jī)關(guān)都在利用互聯(lián)網(wǎng)在自己和大眾之間建立一條快速、高效的網(wǎng)絡(luò)通道,為人們提供各式的網(wǎng)絡(luò)服務(wù)?;诨ヂ?lián)網(wǎng)的信息服務(wù)系統(tǒng)的行業(yè)特點(diǎn),網(wǎng)絡(luò)安全也就顯得尤為重要。
在計(jì)算機(jī)網(wǎng)絡(luò)中,最常見而且最簡單的訪問控制方法是使用密碼,通過對(duì)密碼的匹配來確認(rèn)用戶的合法性。但目前黑客猖獗,個(gè)人和公司信息屢屢被盜,現(xiàn)有技術(shù)中使用的靜態(tài)密碼很容易被黑客破解,或者被木馬軟件等黑客工具探知,導(dǎo)致第三方冒用合法身份,非法獲取信息。因此,現(xiàn)有技術(shù)中的使用靜態(tài)密碼進(jìn)行身份驗(yàn)證存在安全漏洞,無法保證身份驗(yàn)證的安全性。
由此出現(xiàn)了動(dòng)態(tài)密碼,目前,主流的動(dòng)態(tài)密碼身份認(rèn)證技術(shù)主要有基于時(shí)間同步、以及基于事件同步。
基于時(shí)間同步認(rèn)證技術(shù)是把時(shí)間作為變動(dòng)因子,一般以60秒作為變化單位。每次進(jìn)行身份認(rèn)證前,客戶端通過各種手段來確保客戶端與時(shí)間服務(wù)器兩者的時(shí)間同步。基于事件同步的的令牌原理是通過某一特定的事件次序及相同的種子值作為輸入,在算法中運(yùn)算出一致的密碼。認(rèn)證時(shí),用戶令牌用預(yù)設(shè)的密鑰與用戶按鍵的次數(shù)通過密碼算法(DES+Hash等)生成本次所需的口令,認(rèn)證服務(wù)器同時(shí)是根據(jù)每次用戶登錄事件計(jì)算出相同密碼,與傳過來的口令進(jìn)行比較,以確認(rèn)登錄人的身份。
然而,上述現(xiàn)有方法都比較復(fù)雜,實(shí)際應(yīng)用過程中極其不方便;故需進(jìn)行開發(fā)研究,以提供一種簡單有效的方法。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,有必要提供一種身份認(rèn)證方法,其可簡單有效地進(jìn)行用戶的身份認(rèn)證。所述技術(shù)方案如下:
一種身份認(rèn)證方法,包括如下步驟:
步驟1、進(jìn)行用戶注冊(cè)
客戶端用戶預(yù)先在服務(wù)器端的服務(wù)器進(jìn)行注冊(cè),注冊(cè)登記一個(gè)帳號(hào)以及注冊(cè)設(shè)置一套用于運(yùn)算的自定義算法;
步驟2、生成用于身份認(rèn)證的動(dòng)態(tài)密碼
服務(wù)器端的服務(wù)器下發(fā)隨機(jī)碼到客戶端,客戶端用戶將隨機(jī)碼結(jié)合步驟1中注冊(cè)到服務(wù)器的自定義算法生成一個(gè)用于身份認(rèn)證的動(dòng)態(tài)密碼;
步驟3、進(jìn)行身份驗(yàn)證
服務(wù)器端收到客戶端用戶提交的動(dòng)態(tài)密碼之后,將客戶端步驟1中注冊(cè)登記的自定義算法與下發(fā)的隨機(jī)碼進(jìn)行運(yùn)算,得到驗(yàn)證動(dòng)態(tài)密碼,服務(wù)器根據(jù)用戶提交的動(dòng)態(tài)密碼對(duì)身份進(jìn)行認(rèn)證,具體認(rèn)證過程為:將步驟2中的動(dòng)態(tài)密碼與步驟3中生成的驗(yàn)證動(dòng)態(tài)密碼比較,進(jìn)行身份驗(yàn)證。
進(jìn)一步地,步驟1中,注冊(cè)所設(shè)置的自定義算法為一條數(shù)學(xué)運(yùn)算的式子,該式子包括有服務(wù)器端的服務(wù)器下發(fā)的隨機(jī)碼的代號(hào)以及運(yùn)算符。
進(jìn)一步地,步驟2中,所述用于身份認(rèn)證的動(dòng)態(tài)密碼的生成方法如下:
將收到的隨機(jī)碼分別代入步驟1中注冊(cè)的自定義算法式子中,進(jìn)行運(yùn)算得到一串?dāng)?shù)字,該串?dāng)?shù)字即為所需要的動(dòng)態(tài)密碼。
進(jìn)一步地,步驟3中,具體認(rèn)證過程為:將步驟2中提交的動(dòng)態(tài)密碼與步驟3種生成的驗(yàn)證動(dòng)態(tài)密碼進(jìn)行比較,如果兩個(gè)密碼相同,則身份認(rèn)證通過,否則,認(rèn)證失敗。
本發(fā)明實(shí)施例提供的技術(shù)方案的有益效果是:
本發(fā)明身份認(rèn)證方法基于自定義算法的動(dòng)態(tài)密碼生成,生成一個(gè)用于身份認(rèn)證的動(dòng)態(tài)密碼,然后對(duì)比驗(yàn)證動(dòng)態(tài)密碼,從而實(shí)現(xiàn)身份的認(rèn)證,不需要借助額外介質(zhì),容易部署,不產(chǎn)生額外成本,認(rèn)證方法簡單、實(shí)用有效。
為讓本發(fā)明的上述和其他目的、特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉較佳實(shí)施例,并配合所附圖式,作詳細(xì)說明如下。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明身份認(rèn)證方法的注冊(cè)過程示意圖。
圖2為本發(fā)明身份認(rèn)證方法的流程框圖。
圖3為本發(fā)明身份認(rèn)證方法的流程示意圖。
具體實(shí)施方式
為更進(jìn)一步闡述本發(fā)明為實(shí)現(xiàn)預(yù)定發(fā)明目的所采取的技術(shù)手段及功效,以下結(jié)合附圖及較佳實(shí)施例,對(duì)依據(jù)本發(fā)明的具體實(shí)施方式、結(jié)構(gòu)、特征及其功效,詳細(xì)說明如后。
本發(fā)明實(shí)施例提供一種身份認(rèn)證方法,基于一種自定義算法的動(dòng)態(tài)密碼生成技術(shù),不需要借助額外介質(zhì),容易部署,不產(chǎn)生額外成本,認(rèn)證方法簡單、實(shí)用有效。
參閱圖1、圖2、圖3所示,本發(fā)明實(shí)施例身份認(rèn)證方法基于自定義算法的動(dòng)態(tài)密碼生成,生成一個(gè)用于身份認(rèn)證的動(dòng)態(tài)密碼,然后對(duì)比驗(yàn)證動(dòng)態(tài)密碼,從而實(shí)現(xiàn)身份的認(rèn)證,包括如下步驟:
步驟1、進(jìn)行用戶注冊(cè)
具體地,用戶(即:客戶端)預(yù)先在服務(wù)提供商處(即:服務(wù)器端)進(jìn)行注冊(cè),注冊(cè)登記一個(gè)帳號(hào)以及注冊(cè)設(shè)置一套用于運(yùn)算的自定義算法。如圖1所示,其中注冊(cè)過程中所設(shè)置的自定義算法是一條類似于數(shù)學(xué)運(yùn)算的式子,該式子包括有服務(wù)器端的服務(wù)器下發(fā)的隨機(jī)碼的代號(hào)以及運(yùn)算符。在本發(fā)明實(shí)施例中以式子:w*x+y/z+x*lgxy為例進(jìn)行說明,其中,w、x、y、z為服務(wù)器下發(fā)隨機(jī)碼的代號(hào),共4位,用w、x、y、z表示,而其余符號(hào)*、+、/、lg為運(yùn)算符,本發(fā)明的運(yùn)算符涵蓋常用的數(shù)學(xué)運(yùn)算符和一些自定義的運(yùn)算符,包括但不限于:加(+)、減(-)、乘(*)、除(/)、對(duì)數(shù)(lg)、乘方(^)、括號(hào)(())、倒數(shù)(!)、百分比(%)等。
步驟2、生成用于身份認(rèn)證的動(dòng)態(tài)密碼
首先,當(dāng)客戶端的用戶登錄需要進(jìn)行身份認(rèn)證時(shí),服務(wù)器端的服務(wù)器會(huì)先下發(fā)隨機(jī)碼到客戶端,客戶端用戶需要將隨機(jī)碼結(jié)合步驟1中注冊(cè)到服務(wù)器的自定義算法生成一個(gè)用于身份認(rèn)證的動(dòng)態(tài)密碼。
以步驟1中的式子為例,服務(wù)器端的服務(wù)器會(huì)先下發(fā)一個(gè)隨機(jī)碼,即4位數(shù)的阿拉伯?dāng)?shù)字,將這4個(gè)數(shù)字分別定義為式子中定義為w、x、y、z;當(dāng)客戶端收到隨機(jī)碼后,用戶需要將隨機(jī)碼結(jié)合第步驟1中注冊(cè)到服務(wù)器的自定義算法生成一個(gè)用于身份認(rèn)證的動(dòng)態(tài)密碼。具體地,所述用于身份認(rèn)證的動(dòng)態(tài)密碼的生成方法如下:
將收到的隨機(jī)碼分別代入步驟1中注冊(cè)的自定義算法式子中,然后按照約定的規(guī)則進(jìn)行運(yùn)算,最終得到一串?dāng)?shù)字,該串?dāng)?shù)字即為所需要的動(dòng)態(tài)密碼,然后客戶端將該動(dòng)態(tài)密碼提交到服務(wù)器進(jìn)行驗(yàn)證。
步驟3、進(jìn)行身份驗(yàn)證
服務(wù)器端服務(wù)器收到客戶端用戶提交的動(dòng)態(tài)密碼之后,按照步驟3中相同的動(dòng)態(tài)密碼生成方法,將客戶端步驟1中注冊(cè)登記的自定義算法與下發(fā)的隨機(jī)碼進(jìn)行運(yùn)算,得到驗(yàn)證動(dòng)態(tài)密碼。服務(wù)器根據(jù)用戶提交的動(dòng)態(tài)密碼對(duì)身份進(jìn)行認(rèn)證,具體認(rèn)證過程為:將步驟2中提交的動(dòng)態(tài)密碼與步驟3中生成的驗(yàn)證動(dòng)態(tài)密碼進(jìn)行比較,如果兩個(gè)密碼相同,則身份認(rèn)證通過,否則,認(rèn)證失敗。該認(rèn)證過程的關(guān)鍵在于,用戶需要對(duì)注冊(cè)的自定義算法進(jìn)行保密,在不泄密的前提下,如果用戶能通過自定義算法結(jié)合隨機(jī)碼生成正確的動(dòng)態(tài)密碼,則服務(wù)器認(rèn)為該用戶為自定義算法合法持有者,然后通過這個(gè)判斷對(duì)用戶進(jìn)行身份的認(rèn)證。
通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實(shí)施例方法可借助軟件加必需的通用硬件平臺(tái)的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)(如ROM/RAM、磁碟、光盤)中,包括若干指令用以使得一臺(tái)終端設(shè)備(可以是手機(jī),計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例該的方法。
以上該,僅是本發(fā)明的較佳實(shí)施例而已,并非對(duì)本發(fā)明作任何形式上的限制,雖然本發(fā)明已以較佳實(shí)施例揭示如上,然而并非用以限定本發(fā)明,任何本領(lǐng)域技術(shù)人員,在不脫離本發(fā)明技術(shù)方案范圍內(nèi),當(dāng)可利用上述揭示的技術(shù)內(nèi)容做出些許更動(dòng)或修飾為等同變化的等效實(shí)施例,但凡是未脫離本發(fā)明技術(shù)方案內(nèi)容,依據(jù)本發(fā)明的技術(shù)實(shí)質(zhì)對(duì)以上實(shí)施例所作的任何簡介修改、等同變化與修飾,均仍屬于本發(fā)明技術(shù)方案的范圍內(nèi)。