,顯而易見(jiàn)地,下面描述中的附圖僅僅是本申請(qǐng)的實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
[0056]圖1示出了本申請(qǐng)一種密碼重置方法一個(gè)實(shí)施例的流程示意圖;
[0057]圖2示出了本申請(qǐng)一種密碼重置方法另一個(gè)實(shí)施例的流程交互示意圖;
[0058]圖3示出了本申請(qǐng)一種密碼重置裝置一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0059]本申請(qǐng)實(shí)施例提供了一種密碼重置方法和裝置,以減少密碼重置過(guò)程中客戶端的信息被暴露而導(dǎo)致客戶端受到信息轟炸的情況,也降低服務(wù)器端在密碼重置過(guò)程中的數(shù)據(jù)資源浪費(fèi)。
[0060]下面將結(jié)合本申請(qǐng)實(shí)施例中的附圖,對(duì)本申請(qǐng)實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本申請(qǐng)一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾?qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本申請(qǐng)保護(hù)的范圍。[0061 ] 首先對(duì)本申請(qǐng)實(shí)施例的一種密碼重置方法進(jìn)行介紹。
[0062]本申請(qǐng)的發(fā)明人在研宄中發(fā)現(xiàn),現(xiàn)有的密碼重置過(guò)程中,客戶端向服務(wù)器發(fā)送密碼重置請(qǐng)求后,實(shí)際上服務(wù)器會(huì)為客戶端分配一個(gè)接口,接口是與客戶端一一對(duì)應(yīng)的,通過(guò)該接口來(lái)完成該用戶對(duì)應(yīng)的密碼重置。由于交互次數(shù)較多,客戶端與服務(wù)器之間的接口被暴露的風(fēng)險(xiǎn)較大,而當(dāng)接口被暴露并非法利用時(shí),則可能會(huì)基于該接口惡意向客戶端發(fā)送消息,導(dǎo)致客戶端接收大量無(wú)用信息,也增大了服務(wù)器的數(shù)據(jù)輸出量。
[0063]其中,該接口可以理解為服務(wù)器為該客戶端分配的,與該客戶端進(jìn)行交互的通道,服務(wù)器通過(guò)該接口可以與客戶端進(jìn)行交互,為客戶端提供密碼重置服務(wù)。服務(wù)器實(shí)際上是根據(jù)客戶端信息,來(lái)唯一確定一個(gè)接口,而在密碼重置的過(guò)程中,接口會(huì)一直存在。例如,當(dāng)服務(wù)器為客戶端返回重置密碼后,如果客戶端未接收到該重置密碼,該客戶端重新請(qǐng)求重置密碼時(shí),仍會(huì)通過(guò)該接口來(lái)請(qǐng)求重置密碼。然而接口的有效時(shí)間越長(zhǎng),該接口被暴露的風(fēng)險(xiǎn)就越大。發(fā)明人通過(guò)不斷研宄發(fā)現(xiàn),可以通過(guò)改變密碼重置流程,以使得客戶端與服務(wù)器之間交互通道的有效時(shí)間變短,也就是為服務(wù)器為客戶端分配的接口設(shè)置一個(gè)生命周期,并將該生命周期設(shè)置為單次交互有效。
[0064]基于本申請(qǐng)發(fā)明人的研宄發(fā)現(xiàn),本申請(qǐng)實(shí)施例的密碼重置方法可以參見(jiàn)圖1,其示出了本申請(qǐng)實(shí)施例一種密碼重置方法一個(gè)實(shí)施例的流程示意圖,本實(shí)施例的方法可以包括:
[0065]101,當(dāng)接收到客戶端發(fā)送的密碼重置請(qǐng)求時(shí),生成與客戶端對(duì)應(yīng)的隨機(jī)數(shù)。
[0066]在本申請(qǐng)實(shí)施例中,服務(wù)器端在接收到密碼重置請(qǐng)求后,針對(duì)當(dāng)前的密碼重置請(qǐng)求生成了唯一的隨機(jī)數(shù),該隨機(jī)數(shù)與客戶端一一對(duì)應(yīng)。
[0067]102,利用預(yù)置的密鑰對(duì)該隨機(jī)數(shù)進(jìn)行加密,得到第一加密驗(yàn)證數(shù)據(jù)。
[0068]103,將該第一加密驗(yàn)證數(shù)據(jù)發(fā)送至客戶端進(jìn)行解密。
[0069]其中,在本申請(qǐng)實(shí)施例中服務(wù)器端與客戶端均預(yù)置了指定密鑰,這樣,當(dāng)服務(wù)器端將利用該密鑰對(duì)生成的隨機(jī)數(shù)進(jìn)行加密后,客戶端就可以利用自身預(yù)置的該密鑰對(duì)加密的隨機(jī)數(shù)進(jìn)行解密,以解密出該隨機(jī)數(shù)。
[0070]其中,為了便于區(qū)分,在本申請(qǐng)實(shí)施例中將服務(wù)器端利用該密鑰對(duì)該隨機(jī)數(shù)進(jìn)行解密得到的數(shù)據(jù)成為第一加密驗(yàn)證數(shù)據(jù)。
[0071]104,接收該客戶端發(fā)送的第二加密驗(yàn)證數(shù)據(jù)。
[0072]105,當(dāng)確定出該第二加密驗(yàn)證數(shù)據(jù)是對(duì)隨機(jī)數(shù)進(jìn)行加密得到的數(shù)據(jù)時(shí),確定為該客戶端重置的密碼。
[0073]在本申請(qǐng)實(shí)施例中,客戶端從該第一加密驗(yàn)證數(shù)據(jù)中解密出該隨機(jī)數(shù)后,為了便于服務(wù)端對(duì)該客戶端進(jìn)行身份驗(yàn)證,該客戶端還需要對(duì)該隨機(jī)數(shù)進(jìn)行加密,以便服務(wù)器根據(jù)該客戶端返回的加密數(shù)據(jù)中是否包含有該隨機(jī)數(shù)來(lái)判斷該客戶端是否為具有請(qǐng)求密碼重置權(quán)限的客戶端。
[0074]為了便于區(qū)分,為了與服務(wù)器對(duì)隨機(jī)數(shù)進(jìn)行加密得到的第一加密驗(yàn)證數(shù)據(jù)進(jìn)行區(qū)分,將該客戶端返回的加密數(shù)據(jù)成為第二加密驗(yàn)證數(shù)據(jù)。
[0075]如果該客戶端返回的該第二加密驗(yàn)證數(shù)據(jù)是對(duì)該隨機(jī)數(shù)進(jìn)行加密得到的,則說(shuō)明該客戶端為發(fā)起該密碼重置請(qǐng)求的客戶端,且該客戶端為具有合法權(quán)限的客戶端。否則,則認(rèn)為該客戶端不合法,終止服務(wù)器與該客戶端的數(shù)據(jù)交互。
[0076]需要說(shuō)明的是,在本申請(qǐng)實(shí)施例中,當(dāng)客戶端發(fā)送回該第二加密驗(yàn)證數(shù)據(jù)時(shí),如果該服務(wù)器通過(guò)對(duì)該第二加密驗(yàn)證數(shù)據(jù)進(jìn)行驗(yàn)證通過(guò),服務(wù)器才為該客戶端分配了一個(gè)接口。而由于該第二加密數(shù)據(jù)是基于該服務(wù)器為該客戶端生成的隨機(jī)數(shù)得到的,因此,服務(wù)器為該客戶端分配的接口實(shí)際上也就基于該隨機(jī)數(shù)生成的,接口與隨機(jī)數(shù)一一對(duì)應(yīng)。
[0077]106,向該客戶端發(fā)送為該客戶端重置的密碼。
[0078]107,將該隨機(jī)數(shù)設(shè)置為不可用。
[0079]當(dāng)為客戶端返回了重置的密碼之后,就會(huì)將該隨機(jī)數(shù)設(shè)置為失效,而無(wú)需關(guān)心是否成功為客戶端返回密碼,以及后續(xù)是否該客戶端還存在重置密碼獲取請(qǐng)求。如果客戶端重置密碼獲取失敗,需要重新發(fā)送重置密碼請(qǐng)求時(shí),仍需要重新通過(guò)本申請(qǐng)實(shí)施例的方法,由服務(wù)器為該客戶端重新生成另一個(gè)隨機(jī)數(shù),然后執(zhí)行以上流程來(lái)重新獲取重置密碼。
[0080]可見(jiàn),在本申請(qǐng)實(shí)施例的密碼重置過(guò)程中服務(wù)器生成的隨機(jī)數(shù)僅僅在單次重置請(qǐng)求中有效,一旦服務(wù)器為客戶端返回重置密碼,該隨機(jī)數(shù)便失效,從而大大降低了由于隨機(jī)數(shù)被竊取的風(fēng)險(xiǎn),進(jìn)而降低了基于該隨機(jī)數(shù)訪問(wèn)該服務(wù)器并基于該隨機(jī)數(shù)惡意向客戶端發(fā)送信息的情況。
[0081]即使該隨機(jī)數(shù)被竊取,由于將該隨機(jī)數(shù)被設(shè)置為不可用狀態(tài)后,會(huì)導(dǎo)致基于該隨機(jī)數(shù)構(gòu)建的客戶端與服務(wù)器之間的交互通道也相應(yīng)失效。這樣,即使出現(xiàn)非法利用該隨機(jī)數(shù)訪問(wèn)該服務(wù)器的情況出現(xiàn),由于服務(wù)器已經(jīng)將該隨機(jī)數(shù)設(shè)置為不可用狀態(tài),因此服務(wù)器也不會(huì)響應(yīng)該訪問(wèn)請(qǐng)求,也就避免了利用服務(wù)器惡意向客戶端發(fā)送短消息的情況。
[0082]而基于接口層面來(lái)說(shuō),當(dāng)該隨機(jī)數(shù)被設(shè)置為不可用后,服務(wù)器基于該接口為客戶端分配的接口也會(huì)失效,從而減少接口被暴露并非法利用的情況。
[0083]在本申請(qǐng)實(shí)施例中,服務(wù)器接收到客戶端的密碼重置請(qǐng)求時(shí),會(huì)為該客戶端生成一個(gè)隨機(jī)數(shù),然后基于該隨機(jī)數(shù)對(duì)客戶端進(jìn)行身份驗(yàn)證,并在身份驗(yàn)證后,將為客戶端重置的密碼返回給客戶端并將該隨機(jī)數(shù)設(shè)置為不可用,從而使得該隨機(jī)數(shù)具有單次交互可用的特點(diǎn),降低了隨機(jī)數(shù)被暴露的風(fēng)險(xiǎn)。同時(shí),即使該隨機(jī)數(shù)被竊取,由于該服務(wù)器已經(jīng)將該隨機(jī)數(shù)設(shè)置為不可用狀態(tài),也使得無(wú)法基于該隨機(jī)數(shù)來(lái)偽造身份對(duì)服務(wù)器進(jìn)行訪問(wèn),并非法利用服務(wù)器向客戶端發(fā)送信息。
[0084]可以理解的是,為了便于服務(wù)器區(qū)分出各個(gè)不同的客戶端,在客戶端發(fā)送的密碼重置請(qǐng)求中可以攜帶有該客戶端的標(biāo)識(shí)信息。該客戶端的標(biāo)識(shí)信息用于唯一標(biāo)示該客戶端,如該標(biāo)識(shí)信息可以為客戶端所在電子設(shè)備的電話號(hào)碼,客戶端對(duì)應(yīng)的IP地址等等。
[0085]相應(yīng)的,由于服務(wù)器可能會(huì)接收到多個(gè)客戶端發(fā)送的密碼重置請(qǐng)求,且為不同的客戶端分別生成不同的隨機(jī)數(shù),則為了后續(xù)確定出各個(gè)客戶端所對(duì)應(yīng)的隨機(jī)數(shù),則服務(wù)器生成的隨機(jī)數(shù)是與客戶端的標(biāo)識(shí)信息一一對(duì)應(yīng)的。這樣,為了對(duì)該客戶端發(fā)送的第二加密驗(yàn)證數(shù)據(jù)進(jìn)行驗(yàn)證,需要確定出該客戶端對(duì)應(yīng)的隨機(jī)數(shù),則該客戶端發(fā)送給第二加密驗(yàn)證數(shù)據(jù)的同時(shí),還可以發(fā)送該客戶端的標(biāo)識(shí)信息。這樣,服務(wù)器接收到該第二加密驗(yàn)證數(shù)據(jù)和該標(biāo)識(shí)信息后,確定該標(biāo)識(shí)信息對(duì)應(yīng)的隨機(jī)數(shù)。然后,驗(yàn)證該第二加密驗(yàn)證隨機(jī)數(shù)是否為對(duì)該標(biāo)識(shí)信息對(duì)應(yīng)的隨機(jī)數(shù)進(jìn)行加密得到的數(shù)據(jù)。
[0086]可以理解的是,該客戶端的標(biāo)識(shí)信息可以有多種,當(dāng)該客戶端的標(biāo)識(shí)信息不同時(shí),服務(wù)器為客戶端返回重置的密碼的