本申請(qǐng)涉及通信技術(shù)領(lǐng)域,尤其涉及一種認(rèn)證方法及系統(tǒng)、終端和服務(wù)器。
背景技術(shù):
移動(dòng)通信技術(shù)的迅速發(fā)展和廣泛應(yīng)用給人們的生活帶來極大地便利,但也帶來許多安全隱患。例如,很多情況下均需要認(rèn)證用戶身份,目前通常會(huì)向用戶終端以短信方式下發(fā)驗(yàn)證碼,以通過驗(yàn)證碼認(rèn)證用戶是否為合法用戶。
但是,由于無線信道具有開放性,異常用戶(攻擊者)可以利用對(duì)應(yīng)的接收設(shè)備截獲終端的短信,并利用其中的驗(yàn)證碼通過認(rèn)證,進(jìn)而偽裝成合法用戶損害正常用戶利益。
技術(shù)實(shí)現(xiàn)要素:
鑒于此,本申請(qǐng)?zhí)峁┮环N認(rèn)證方法及系統(tǒng),其中采用終端的特征信息來認(rèn)證當(dāng)前用戶是否具有終端使用權(quán)限,使得異常用戶在沒有終端使用權(quán)限的情況下,即使竊聽到正常用戶短信得到驗(yàn)證碼也不能通過認(rèn)證,從而保證異常用戶無法通過認(rèn)證。
為了實(shí)現(xiàn)上述目的本申請(qǐng)?zhí)峁┝讼率黾夹g(shù)特征:
一種認(rèn)證方法,包括:
向服務(wù)器發(fā)送包含表示非首次認(rèn)證的認(rèn)證標(biāo)識(shí)的認(rèn)證請(qǐng)求,并獲得所述服務(wù)器發(fā)送的驗(yàn)證碼;
提取終端的特征信息,對(duì)所述特征信息執(zhí)行哈希操作獲得特征信息的哈希值;
以所述特征信息的哈希值為鹽值結(jié)合所述驗(yàn)證碼執(zhí)行加鹽哈希操作,獲得加鹽哈希值;
將所述加鹽哈希值發(fā)送至所述服務(wù)器,以便所述服務(wù)器利用所述加鹽哈希值進(jìn)行認(rèn)證。
可選的,在向服務(wù)器發(fā)送包含表示非首次認(rèn)證的認(rèn)證標(biāo)識(shí)的認(rèn)證請(qǐng)求之前,還包括:
判斷該終端是否為首次認(rèn)證;
若不是首次認(rèn)證,則生成包含表示非首次認(rèn)證的認(rèn)證標(biāo)識(shí)的認(rèn)證請(qǐng)求;其中,所述認(rèn)證請(qǐng)求還包括用戶標(biāo)識(shí)。
可選的,還包括:
若是首次認(rèn)證,生成包含表示首次認(rèn)證的認(rèn)證標(biāo)識(shí)的認(rèn)證請(qǐng)求;其中,所述認(rèn)證請(qǐng)求還包括用戶標(biāo)識(shí);
向所述服務(wù)器發(fā)送包含首次標(biāo)識(shí)的認(rèn)證請(qǐng)求,并與所述服務(wù)器執(zhí)行強(qiáng)制認(rèn)證操作;
提取終端的特征信息,對(duì)所述特征信息執(zhí)行哈希操作獲得特征信息的哈希值;
發(fā)送用戶標(biāo)識(shí)和所述特征信息的哈希值至所述服務(wù)器,以便服務(wù)器在終端使用權(quán)限關(guān)系中添加所述用戶標(biāo)識(shí)與所述特征信息的哈希值的對(duì)應(yīng)關(guān)系。
可選的,還包括:
接收并顯示所述服務(wù)器發(fā)送的認(rèn)證結(jié)果。
一種認(rèn)證方法,包括:
接收終端發(fā)送認(rèn)證請(qǐng)求;其中,所述認(rèn)證請(qǐng)求包括用戶標(biāo)識(shí)和表示終端是否為首次進(jìn)行認(rèn)證的認(rèn)證標(biāo)識(shí);
在基于所述認(rèn)證標(biāo)識(shí)確定所述終端非首次進(jìn)行認(rèn)證請(qǐng)求情況下,生成驗(yàn)證碼并向所述終端發(fā)送所述驗(yàn)證碼;
在終端使用權(quán)限關(guān)系中,查找與所述用戶標(biāo)識(shí)對(duì)應(yīng)的特征信息的哈希值;其中,所述終端使用權(quán)限關(guān)系包括各個(gè)用戶標(biāo)識(shí)和各個(gè)特征信息的哈希值一一對(duì)應(yīng)關(guān)系,所述特征信息的哈希值由具有用戶標(biāo)識(shí)使用權(quán)限的終端的特征信息執(zhí)行第一哈希操作后得到;
將所述特征信息的哈希值作為鹽值,結(jié)合所述驗(yàn)證碼執(zhí)行加鹽哈希操作,獲得加鹽哈希值;
將該加鹽哈希值與終端發(fā)送的加鹽哈希值進(jìn)行比較,根據(jù)比較結(jié)果向終端發(fā)送認(rèn)證結(jié)果。
可選的,在接收終端發(fā)送認(rèn)證請(qǐng)求之后,還包括:
在基于所述認(rèn)證標(biāo)識(shí)確定所述終端為首次進(jìn)行認(rèn)證請(qǐng)求情況下,與終端執(zhí)行強(qiáng)制認(rèn)證操作。
可選的,在與終端執(zhí)行強(qiáng)制認(rèn)證操作之后,還包括:
接收終端發(fā)送的特征信息的哈希值和用戶標(biāo)識(shí);
在終端使用權(quán)限關(guān)系中,添加所述特征信息的哈希值與所述用戶標(biāo)識(shí)對(duì)應(yīng)關(guān)系。
一種終端,包括:
通信模塊,用于向服務(wù)器發(fā)送包含表示非首次認(rèn)證的認(rèn)證標(biāo)識(shí)的認(rèn)證請(qǐng)求,并獲得所述服務(wù)器發(fā)送的驗(yàn)證碼;將處理器計(jì)算得到的加鹽哈希值發(fā)送至所述服務(wù)器,以便所述服務(wù)器利用所述加鹽哈希值進(jìn)行認(rèn)證;
處理器,用于提取終端的特征信息,對(duì)所述特征信息執(zhí)行哈希操作獲得特征信息的哈希值;以所述特征信息的哈希值為鹽值結(jié)合所述驗(yàn)證碼執(zhí)行加鹽哈希操作,獲得加鹽哈希值。
一種服務(wù)器,包括:
通信模塊,用于接收終端發(fā)送認(rèn)證請(qǐng)求;其中,所述認(rèn)證請(qǐng)求包括用戶標(biāo)識(shí)和表示終端是否為首次進(jìn)行認(rèn)證的認(rèn)證標(biāo)識(shí),向終端發(fā)送認(rèn)證結(jié)果;
處理器,用于在基于所述認(rèn)證標(biāo)識(shí)確定所述終端非首次進(jìn)行認(rèn)證請(qǐng)求情況下,生成驗(yàn)證碼并向所述終端發(fā)送所述驗(yàn)證碼;在終端使用權(quán)限關(guān)系中,查找與所述用戶標(biāo)識(shí)對(duì)應(yīng)的特征信息的哈希值;其中,所述終端使用權(quán)限關(guān)系包括各個(gè)用戶標(biāo)識(shí)和各個(gè)特征信息的哈希值一一對(duì)應(yīng)關(guān)系,所述特征信息的哈希值由具有用戶標(biāo)識(shí)使用權(quán)限的終端的特征信息執(zhí)行第一哈希操作后得到;將所述特征信息的哈希值作為鹽值,結(jié)合所述驗(yàn)證碼執(zhí)行加鹽哈希操作,獲得加鹽哈希值;將該加鹽哈希值與終端發(fā)送的加鹽哈希值進(jìn)行比較獲得認(rèn)證結(jié)果。
一種認(rèn)證系統(tǒng),包括:
終端,用于向服務(wù)器發(fā)送包含表示非首次認(rèn)證的認(rèn)證標(biāo)識(shí)的認(rèn)證請(qǐng)求,并獲得所述服務(wù)器發(fā)送的驗(yàn)證碼;其中,所述認(rèn)證請(qǐng)求包括用戶標(biāo)識(shí)和表示終端是否為首次進(jìn)行認(rèn)證的認(rèn)證標(biāo)識(shí);提取終端的特征信息,對(duì)所述特征信息執(zhí)行哈希操作獲得特征信息的哈希值;以所述特征信息的哈希值為鹽值結(jié)合所述驗(yàn)證碼執(zhí)行加鹽哈希操作,獲得加鹽哈希值;將所述加鹽哈希值發(fā)送至所述服務(wù)器;接收服務(wù)器發(fā)送的認(rèn)證結(jié)果。
服務(wù)器,用于接收終端發(fā)送認(rèn)證請(qǐng)求;在基于所述認(rèn)證標(biāo)識(shí)確定所述終端非首次進(jìn)行認(rèn)證請(qǐng)求情況下,生成驗(yàn)證碼并向所述終端發(fā)送所述驗(yàn)證碼;在終端使用權(quán)限關(guān)系中,查找與所述用戶標(biāo)識(shí)對(duì)應(yīng)的特征信息的哈希值;其中,所述終端使用權(quán)限關(guān)系包括各個(gè)用戶標(biāo)識(shí)和各個(gè)特征信息的哈希值一一對(duì)應(yīng)關(guān)系,所述特征信息的哈希值由具有用戶標(biāo)識(shí)使用權(quán)限的終端的特征信息執(zhí)行第一哈希操作后得到;將所述特征信息的哈希值作為鹽值,結(jié)合所述驗(yàn)證碼執(zhí)行加鹽哈希操作,獲得加鹽哈希值;將該加鹽哈希值與終端發(fā)送的加鹽哈希值進(jìn)行比較,根據(jù)比較結(jié)果向終端發(fā)送認(rèn)證結(jié)果。
通過以上技術(shù)手段,可以實(shí)現(xiàn)以下有益效果:
本申請(qǐng)采用終端的特征信息來認(rèn)證用戶是否具有終端使用權(quán)限,使得異常用戶在沒有用戶終端使用權(quán)限的情況下,即使竊聽到正常用戶短信得到驗(yàn)證碼也不能通過認(rèn)證,從而保證異常用戶無法通過認(rèn)證。另外,用戶的操作依舊是只需輸入驗(yàn)證碼,不影響用戶體驗(yàn)。
附圖說明
為了更清楚地說明本申請(qǐng)實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請(qǐng)的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本申請(qǐng)實(shí)施例公開的一種認(rèn)證系統(tǒng)的結(jié)構(gòu)示意圖;
圖2為本申請(qǐng)實(shí)施例公開的一種認(rèn)證方法的流程圖;
圖3為本申請(qǐng)實(shí)施例公開的又一種認(rèn)證方法的流程圖;
圖4為本申請(qǐng)實(shí)施例公開的一種終端的結(jié)構(gòu)示意圖;
圖5為本申請(qǐng)實(shí)施例公開的一種服務(wù)器的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本申請(qǐng)實(shí)施例中的附圖,對(duì)本申請(qǐng)實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本申請(qǐng)一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾?qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本申請(qǐng)保護(hù)的范圍。
為了便于本領(lǐng)域技術(shù)人員了解本申請(qǐng)的應(yīng)用場(chǎng)景,參見圖1,本申請(qǐng)?zhí)峁┝艘环N認(rèn)證系統(tǒng),包括終端100和服務(wù)器200。
根據(jù)本申請(qǐng)?zhí)峁┑囊粋€(gè)實(shí)施例,基于圖1所示的認(rèn)證系統(tǒng)提供了一種認(rèn)證方法。參見圖2,具體包括以下步驟:
步驟s201:終端100判斷是否為首次認(rèn)證。
本申請(qǐng)通常應(yīng)用于終端上安裝有應(yīng)用的客戶端??梢岳斫獾氖?,服務(wù)器200為與客戶端100相對(duì)應(yīng)。例如,以中國(guó)銀行為例,客戶端100為“中國(guó)銀行”的客戶端,對(duì)應(yīng)的,服務(wù)器200為“中國(guó)銀行”的服務(wù)器。
終端100上的客戶端在進(jìn)行一些操作(例如,登錄操作、支付操作、或者轉(zhuǎn)操作等等敏感操作)時(shí),需要對(duì)當(dāng)前用戶進(jìn)行認(rèn)證。此情況下,終端100上的客戶端會(huì)判斷是否為首次認(rèn)證。
終端100上的客戶端包括一個(gè)認(rèn)證標(biāo)識(shí),該認(rèn)證標(biāo)識(shí)可以表示其是否已經(jīng)在服務(wù)器200上進(jìn)行過認(rèn)證。
例如,以認(rèn)證標(biāo)識(shí)為一個(gè)flag標(biāo)識(shí)為例,當(dāng)認(rèn)證標(biāo)識(shí)為“1”時(shí),表示終端100已經(jīng)在服務(wù)器200上進(jìn)行過認(rèn)證,本次向服務(wù)器200進(jìn)行認(rèn)證非首次認(rèn)證。當(dāng)認(rèn)證標(biāo)識(shí)為“0”時(shí),表示終端100未在服務(wù)器200上進(jìn)行過認(rèn)證,本次向服務(wù)器200進(jìn)行認(rèn)證為首次認(rèn)證。
終端100可以基于客戶端內(nèi)存儲(chǔ)的認(rèn)證標(biāo)識(shí)判斷是否為首次認(rèn)證。
步驟s202:若是首次認(rèn)證,生成包含表示首次認(rèn)證的認(rèn)證標(biāo)識(shí)的認(rèn)證請(qǐng)求;其中,所述認(rèn)證請(qǐng)求還包括用戶標(biāo)識(shí)。
若認(rèn)證標(biāo)識(shí)表示終端為首次認(rèn)證,則生成包含認(rèn)證標(biāo)識(shí)的認(rèn)證請(qǐng)求,認(rèn)證標(biāo)識(shí)為表示首次向服務(wù)器進(jìn)行認(rèn)證的標(biāo)識(shí)。此外,認(rèn)證請(qǐng)求還包括登錄客戶端的用戶標(biāo)識(shí)。
步驟s203:終端100向服務(wù)器200發(fā)送包含首次標(biāo)識(shí)的認(rèn)證請(qǐng)求。
步驟s204:服務(wù)器200接收終端100發(fā)送的包含首次標(biāo)識(shí)的認(rèn)證請(qǐng)求,在基于所述認(rèn)證標(biāo)識(shí)確定所述終端為首次進(jìn)行認(rèn)證請(qǐng)求情況下,與終端執(zhí)行強(qiáng)制認(rèn)證操作。
服務(wù)器200接收終端100發(fā)送的認(rèn)證請(qǐng)求,通過認(rèn)證請(qǐng)求中的認(rèn)證標(biāo)識(shí)可以得知終端100為首次認(rèn)證,之前未在服務(wù)器200上進(jìn)行過認(rèn)證。此次認(rèn)證過程,服務(wù)器200與終端100可以執(zhí)行強(qiáng)制認(rèn)證操作。
強(qiáng)制認(rèn)證操作可以為現(xiàn)有認(rèn)證操作中的一種認(rèn)證操作,例如,服務(wù)器200向終端100發(fā)送驗(yàn)證碼進(jìn)行認(rèn)證。該過程已為成熟技術(shù),在此不再贅述。
步驟s205:終端100提取終端的特征信息,對(duì)所述特征信息執(zhí)行哈希操作獲得特征信息的哈希值,發(fā)送用戶標(biāo)識(shí)和特征信息的哈希值至服務(wù)器200。
在終端100與服務(wù)器200進(jìn)行強(qiáng)制認(rèn)證操作后,終端100可以提取終端的特征信息。特征信息為可以唯一表示終端的信息。例如,終端的imei號(hào)碼、終端的出廠號(hào)碼等等。
本申請(qǐng)中獲取終端的特征信息的目的在于,利用特征信息和驗(yàn)證碼雙重驗(yàn)證登錄客戶端的當(dāng)前用戶是否為合法用戶。由于服務(wù)器200下發(fā)的驗(yàn)證碼容易被盜取,所以本申請(qǐng)?jiān)隍?yàn)證碼之外增加了終端的特征信息。
通常情況下,合法用戶所使用的終端基本不變,所以,終端的特征信息可以表示登錄客戶端的當(dāng)前用戶是否具有終端使用權(quán)限。
例如,登錄客戶端的當(dāng)前用戶通常采用特征信息為a的終端登錄,則表示當(dāng)前用戶具有特征信息為a的終端使用權(quán)限。若當(dāng)前用戶采用特征信息為b的終端登錄,則表示當(dāng)前用戶不具有特征信息為b的終端使用權(quán)限。
終端100可以將終端的特征信息直接發(fā)送至服務(wù)器200,以便服務(wù)器200進(jìn)行存儲(chǔ)。
但是通常而言,為了提高傳輸效率和避免特征信息被竊取,可以對(duì)終端的特征信息進(jìn)行執(zhí)行哈希操作,從而獲得特征信息的哈希值。哈希值的字節(jié)數(shù)量小于特征信息的字節(jié)數(shù)量,可以提高傳輸效率。并且,對(duì)終端的特征信息執(zhí)行哈希操作后,可以避免直接在網(wǎng)絡(luò)中明文傳輸終端的特征信息,可以對(duì)終端的特征信息進(jìn)行保護(hù)。
步驟s206:服務(wù)器200接收用戶標(biāo)識(shí)和特征信息的哈希值,并在終端使用權(quán)限關(guān)系中添加所述用戶標(biāo)識(shí)與所述特征信息的哈希值的對(duì)應(yīng)關(guān)系。
服務(wù)器200中具有終端使用權(quán)限關(guān)系,其中包括各個(gè)用戶標(biāo)識(shí)和對(duì)應(yīng)的各個(gè)特征信息的哈希值的對(duì)應(yīng)關(guān)系。以一個(gè)對(duì)應(yīng)關(guān)系為例,用戶標(biāo)識(shí)a和特征信息的哈希值a具有對(duì)應(yīng)關(guān)系,則用戶標(biāo)識(shí)a具有與該特征信息對(duì)應(yīng)的終端的使用權(quán)限。
根據(jù)本申請(qǐng)的又一實(shí)施例,基于圖1所示的認(rèn)證系統(tǒng)又提供了一種認(rèn)證方法。參見圖3具體包括以下步驟:
步驟s301:終端100向服務(wù)器200發(fā)送包含表示非首次認(rèn)證的認(rèn)證標(biāo)識(shí)的認(rèn)證請(qǐng)求。
若終端100判斷客戶端內(nèi)的認(rèn)證標(biāo)識(shí)非首次認(rèn)證,則生成包含認(rèn)證標(biāo)識(shí)的認(rèn)證請(qǐng)求,認(rèn)證標(biāo)識(shí)為表示非首次向服務(wù)器進(jìn)行認(rèn)證的標(biāo)識(shí)。此外,認(rèn)證請(qǐng)求還包括登錄客戶端的用戶標(biāo)識(shí)。
步驟s302:服務(wù)器200接收包含表示非首次認(rèn)證的認(rèn)證標(biāo)識(shí)的認(rèn)證請(qǐng)求,在基于所述認(rèn)證標(biāo)識(shí)確定所述終端非首次進(jìn)行認(rèn)證請(qǐng)求情況下,生成驗(yàn)證碼并向所述終端發(fā)送所述驗(yàn)證碼。
服務(wù)器200接收終端100發(fā)送的認(rèn)證請(qǐng)求,通過認(rèn)證請(qǐng)求中的認(rèn)證標(biāo)識(shí)可以得知終端100非首次認(rèn)證。因此,可以使用新的認(rèn)證方式:利用終端的特征信息和驗(yàn)證碼的雙重驗(yàn)證方式。
因此,服務(wù)器200先生成驗(yàn)證碼,生成驗(yàn)證碼的方式可有多種并且已為成熟技術(shù),在此不再贅述。
步驟s303:服務(wù)器300在終端使用權(quán)限關(guān)系中,查找與所述用戶標(biāo)識(shí)對(duì)應(yīng)的特征信息的哈希值;將所述特征信息的哈希值作為鹽值,結(jié)合所述驗(yàn)證碼執(zhí)行加鹽哈希操作,獲得加鹽哈希值。
通過上述圖2所示的實(shí)施例可以看出:所述終端使用權(quán)限關(guān)系包括各個(gè)用戶標(biāo)識(shí)和各個(gè)特征信息的哈希值一一對(duì)應(yīng)關(guān)系,所述特征信息的哈希值由具有用戶標(biāo)識(shí)使用權(quán)限的終端的特征信息執(zhí)行第一哈希操作后得到。
服務(wù)器200在認(rèn)證請(qǐng)求中獲取用戶標(biāo)識(shí),并在終端使用權(quán)限關(guān)系中查找與用戶標(biāo)識(shí)對(duì)應(yīng)的特征信息的哈希值。
加鹽哈希操作的過程可以為:哈希操作(驗(yàn)證碼+鹽值)=哈希值。即,服務(wù)器200將特征信息的哈希值作為鹽值,然后將鹽值和驗(yàn)證碼進(jìn)行結(jié)合,從而對(duì)結(jié)合后的數(shù)據(jù)進(jìn)行哈希操作,從而獲得加鹽哈希值。
步驟s304:終端100接收服務(wù)器發(fā)送的驗(yàn)證碼,并提取終端的特征信息,對(duì)所述特征信息執(zhí)行哈希操作獲得特征信息的哈希值;以所述特征信息的哈希值為鹽值結(jié)合所述驗(yàn)證碼執(zhí)行加鹽哈希操作,獲得加鹽哈希值;將所述加鹽哈希值發(fā)送至所述服務(wù)器200。
終端100執(zhí)行過程與步驟s303的過程類似,在此不再贅述。
步驟s305:服務(wù)器200將計(jì)算得到的加鹽哈希值與終端發(fā)送的加鹽哈希值進(jìn)行比較,根據(jù)比較結(jié)果向終端發(fā)送認(rèn)證結(jié)果。
服務(wù)器200計(jì)算根據(jù)預(yù)先存儲(chǔ)的特征信息的哈希值和驗(yàn)證碼得到加鹽哈希值,將該加鹽哈希值作為認(rèn)證依據(jù)。
終端100會(huì)提取終端的特征信息并得到特征信息的哈希值,并利用特征信息的哈希值和接收到的驗(yàn)證碼得到加鹽哈希值,將該加鹽哈希值作為認(rèn)證憑證。
服務(wù)器200將兩個(gè)加鹽哈希值進(jìn)行對(duì)比,若兩個(gè)加鹽哈希值一致,則說明用戶具有終端使用權(quán)限,且,驗(yàn)證碼輸入正確,即當(dāng)前用戶通過認(rèn)證為合法用戶。
若兩個(gè)加鹽哈希值一致,則說明當(dāng)前用戶不具有終端使用權(quán)限,或者,驗(yàn)證碼輸入有誤,即當(dāng)前用戶未通過認(rèn)證為非法用戶。
服務(wù)器200向終端100發(fā)送認(rèn)證結(jié)果。
步驟s306:終端100用于接收并顯示認(rèn)證結(jié)果。
通過上述兩個(gè)實(shí)施例,可以看出本申請(qǐng)具有以下有益效果:
與現(xiàn)有技術(shù)中直接使用驗(yàn)證碼的方式相比,本申請(qǐng)即在攻擊者竊聽到用戶短信獲知驗(yàn)證碼的情況下,由于攻擊終端無法獲得正常終端的特征信息,所以攻擊終端不具有正常設(shè)備使用權(quán)限。即,攻擊終端不能提供計(jì)算加鹽哈希操作所需要的鹽值,故無法計(jì)算正確的加鹽哈希值(認(rèn)證憑證)。
本實(shí)施例使用設(shè)備信息的哈希值作為鹽值,由于哈希值無法窮舉,故在竊聽者沒有對(duì)應(yīng)終端使用權(quán)限且特征信息未泄露的情況下,該方法能有效防止攻擊者通過認(rèn)證。并且,使用特征信息的哈希值做鹽值,比直接使用特征信息更安全,防止特征信息的泄露。
另外,用戶的操作依舊是只需輸入驗(yàn)證碼,不影響用戶體驗(yàn)。
下面介紹本申請(qǐng)的一個(gè)應(yīng)用實(shí)例:
終端100的客戶端判斷為首次認(rèn)證時(shí),向服務(wù)器200發(fā)起認(rèn)證請(qǐng)求,雙方進(jìn)行強(qiáng)制認(rèn)證操作,以建立安全可靠的信道。在此基礎(chǔ)上,終端100讀取終端的imei碼作為特征信息,并計(jì)算特診信息的哈希值s發(fā)送給服務(wù)器200。服務(wù)器將用戶標(biāo)識(shí)和s值對(duì)應(yīng)存儲(chǔ)。
終端100向服務(wù)器200發(fā)起認(rèn)證請(qǐng)求,服務(wù)器200通過短信下發(fā)驗(yàn)證碼。終端100讀取終端的imei碼,并執(zhí)行哈希操作得到哈希值s’,將哈希值s’作為鹽值,對(duì)收到的驗(yàn)證碼再次執(zhí)行哈希操作得到認(rèn)證憑證h’;將認(rèn)證憑證h’發(fā)送至服務(wù)器200。
服務(wù)器200查找與用戶標(biāo)識(shí)對(duì)應(yīng)的值s作為鹽值,對(duì)生成的驗(yàn)證碼執(zhí)行哈希操作得到認(rèn)證憑證h,并比較h和h’是否相同。若相同,則認(rèn)證通過;若不同,則認(rèn)證失敗。
參見圖4,本申請(qǐng)還提供了一種終端,包括:
通信模塊101,用于向服務(wù)器發(fā)送包含表示非首次認(rèn)證的認(rèn)證標(biāo)識(shí)的認(rèn)證請(qǐng)求,并獲得所述服務(wù)器發(fā)送的驗(yàn)證碼;將處理器計(jì)算得到的加鹽哈希值發(fā)送至所述服務(wù)器,以便所述服務(wù)器利用所述加鹽哈希值進(jìn)行認(rèn)證;
處理器102,用于提取終端的特征信息,對(duì)所述特征信息執(zhí)行哈希操作獲得特征信息的哈希值;以所述特征信息的哈希值為鹽值結(jié)合所述驗(yàn)證碼執(zhí)行加鹽哈希操作,獲得加鹽哈希值。
參見圖5,本申請(qǐng)還提供一種服務(wù)器,包括:
通信模塊201,用于接收終端發(fā)送認(rèn)證請(qǐng)求;其中,所述認(rèn)證請(qǐng)求包括用戶標(biāo)識(shí)和表示終端是否為首次進(jìn)行認(rèn)證的認(rèn)證標(biāo)識(shí),向終端發(fā)送認(rèn)證結(jié)果;
處理器202,用于在基于所述認(rèn)證標(biāo)識(shí)確定所述終端非首次進(jìn)行認(rèn)證請(qǐng)求情況下,生成驗(yàn)證碼并向所述終端發(fā)送所述驗(yàn)證碼;在終端使用權(quán)限關(guān)系中,查找與所述用戶標(biāo)識(shí)對(duì)應(yīng)的特征信息的哈希值;其中,所述終端使用權(quán)限關(guān)系包括各個(gè)用戶標(biāo)識(shí)和各個(gè)特征信息的哈希值一一對(duì)應(yīng)關(guān)系,所述特征信息的哈希值由具有用戶標(biāo)識(shí)使用權(quán)限的終端的特征信息執(zhí)行第一哈希操作后得到;將所述特征信息的哈希值作為鹽值,結(jié)合所述驗(yàn)證碼執(zhí)行加鹽哈希操作,獲得加鹽哈希值;將該加鹽哈希值與終端發(fā)送的加鹽哈希值進(jìn)行比較獲得認(rèn)證結(jié)果。
本實(shí)施例方法所述的功能如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算設(shè)備可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本申請(qǐng)實(shí)施例對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,移動(dòng)計(jì)算設(shè)備或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本申請(qǐng)各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:u盤、移動(dòng)硬盤、只讀存儲(chǔ)器(rom,read-onlymemory)、隨機(jī)存取存儲(chǔ)器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
本說明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其它實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同或相似部分互相參見即可。
對(duì)所公開的實(shí)施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本申請(qǐng)。對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本申請(qǐng)的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本申請(qǐng)將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。