本發(fā)明涉及身份驗證技術(shù)領域,具體而言,涉及一種電話驗證方法和裝置。
背景技術(shù):
用戶身份驗證在信息安全中起到至關重要的作用,是多種信息安全措施可以發(fā)揮作用的前提。目前最常用的電話驗證方法有多種,而隨著計算機技術(shù)以及通訊技術(shù)的不斷發(fā)展,通過驗證電話號碼的正確性來實現(xiàn)用戶身份的驗證成為目前的主要身份驗證手段。
當前通過電話號碼實現(xiàn)身份驗證的方法一般包括短信驗證以及語音驗證兩種。短信驗證需要用戶通過移動電話向預設的號碼發(fā)送驗證短信,或者需要執(zhí)行身份驗證的服務器向用戶預設的手機號碼發(fā)送攜帶有驗證碼的短信;而語音驗證則需要用戶通過固定電話或者移動電話撥打目標電話號碼,或者服務器撥打用戶預存電話號碼,從而最終實現(xiàn)用戶的身份驗證。
但是不管是短信驗證還是語音驗證,都會在驗證的過程中產(chǎn)生由電話運營商所收取的通訊費用。
技術(shù)實現(xiàn)要素:
有鑒于此,本發(fā)明實施例的目的在于提供一種電話驗證方法和裝置,能夠避免在對電話號碼進行驗證的過程中產(chǎn)生通訊費用。
第一方面,本發(fā)明實施例提供了一種電話驗證方法,包括:
接收客戶端所發(fā)送的身份驗證請求;所述身份驗證請求中包含身份識別ID和/或待驗證電話號碼;
根據(jù)所述身份驗證請求向待驗證電話號碼或者客戶端發(fā)送驗證指示信息;所述驗證指示信息中包括驗證條件以及目標電話號碼;
若所述目標電話號碼接收到電話的呼叫,提取所述呼叫的電話號碼,并對所述呼叫執(zhí)行掛斷操作;
根據(jù)所述身份驗證請求以及呼叫的電話號碼,判斷所述呼叫是否滿足所述驗證條件;
如果是,則通過驗證。
結(jié)合第一方面,本發(fā)明實施例提供了第一方面的第一種可能的實施方式,其中:所述接收客戶端所發(fā)送的身份驗證請求之后,還包括:
對所述身份驗證請求進行解析;
如果解析后的所述身份驗證請求中僅包括身份識別ID,則根據(jù)所述身份識別ID獲取預存的與所述身份識別ID所對應的預存電話號碼,并將所述預存電話號碼標記為待驗證狀態(tài);
如果解析后的所述身份驗證請求中僅包括待驗證電話號碼,則將所述待驗證電話號碼進行保存,并將所述待驗證電話號碼標記為待驗證狀態(tài);
如果解析后的所述身份驗證請求中包含了身份識別ID以及待驗證電話號碼,則將所述身份識別ID以及待驗證電話號碼進行綁定保存,并將所述待驗證電話號碼標記為待驗證狀態(tài);或者根據(jù)所述身份識別ID獲取預存的與所述身份識別ID所對應的預存電話號碼,并在預存電話號碼以及待驗證電話號碼一致的時候,將預存電話號碼標記為待驗證狀態(tài)。
結(jié)合第一方面,本發(fā)明實施例提供了第一方面的第二種可能的實施方式,其中:所述判斷所述呼叫是否滿足所述驗證條件具體包括:
將所述呼叫的電話號碼與已經(jīng)被標記為待驗證狀態(tài)的所述預存電話號碼進行匹配,
和/或?qū)⒑艚械碾娫捥柎a與已經(jīng)被標記為待驗證狀態(tài)的所述待驗證電話號碼進行匹配;
如果匹配成功,則驗證通過。
結(jié)合第一方面,本發(fā)明實施例提供了第一方面的第三種可能的實施方式,其中:所述根據(jù)所述身份驗證請求向待驗證電話號碼或者客戶端發(fā)送驗證指示信息時,還包括:
記錄所述驗證指示信息發(fā)出的時間;
所述目標電話號碼接收到電話的呼叫時,還包括:
記錄所述呼叫的時間;
所述判斷所述呼叫是否滿足所述驗證條件,還包括:
根據(jù)所述驗證指示信息發(fā)出的時間以及所述呼叫的時間,判斷所述呼叫是否在預設時間范圍之內(nèi),
如果否,則執(zhí)行電話呼入無效的操作。
結(jié)合第一方面,本發(fā)明實施例提供了第一方面的第四種可能的實施方式,其中:所述身份驗證請求中還包括隨機生成的預設格式的加密密鑰;
所述根據(jù)所述身份驗證請求向待驗證電話號碼或者客戶端發(fā)送驗證指示信息具體包括:
判斷所述加密密鑰的格式是否為預先約定的格式;
如果是,則隨機獲取多個預設的目標電話號碼中的一個,并使用所述加密密鑰對所述驗證指示信息進行加密。
第二方面,本發(fā)明實施例還提供一種電話驗證裝置,包括:
身份驗證請求接收單元,用于接收客戶端所發(fā)送的身份驗證請求;所述身份驗證請求中包含身份識別ID和/或待驗證電話號碼;
驗證指示信息返回單元,用于根據(jù)所述身份驗證請求向待驗證電話號碼或者客戶端發(fā)送驗證指示信息;所述驗證指示信息中包括驗證條件以及目標電話號碼;
呼入電話號碼獲取單元,用于若所述目標電話號碼接收到電話的呼叫,提取所述呼叫的電話號碼,并對所述呼叫執(zhí)行掛斷操作;
電話號碼驗證單元,用于根據(jù)所述身份驗證請求以及呼叫的電話號碼,判斷所述呼叫是否滿足所述驗證條件;如果是,則通過驗證。
結(jié)合第二方面,本發(fā)明實施例提供了第二方面的第一種可能的實施方式,還包括:
身份驗證請求解析單元,用于對所述身份驗證請求進行解析;
標記單元,用于當解析后的所述身份驗證請求中僅包括身份識別ID時,根據(jù)所述身份識別ID獲取預存的與所述身份識別ID所對應的預存電話號碼,并將所述預存電話號碼標記為待驗證狀態(tài);
當解析后的所述身份驗證請求中僅包括待驗證電話號碼時,將所述待驗證電話號碼進行保存,并將所述待驗證電話號碼標記為待驗證狀態(tài);
當解析后的所述身份驗證請求中包含了身份識別ID以及待驗證電話號碼時,將所述身份識別ID以及待驗證電話號碼進行綁定保存,并將所述待驗證電話號碼標記為待驗證狀態(tài);或者根據(jù)所述身份識別ID獲取預存的與所述身份識別ID所對應的預存電話號碼,并在預存電話號碼以及待驗證電話號碼一致的時候,將預存電話號碼標記為待驗證狀態(tài)。
結(jié)合第二方面,本發(fā)明實施例提供了第二方面的第二種可能的實施方式,所述電話號碼驗證單元具體包括:
電話號碼匹配模塊,用于將呼叫的電話號碼與已經(jīng)被標記為待驗證狀態(tài)的所述預存電話號碼進行匹配,
和/或?qū)⒑艚械碾娫捥柎a與已經(jīng)被標記為待驗證狀態(tài)的所述電話號碼進行匹配;
驗證通過模塊,用于在電話號碼匹配模塊匹配成功的時候,通過驗證。
結(jié)合第二方面,本發(fā)明實施例提供了第二方面的第三種可能的實施方式,其中:還包括:
驗證指示系信息發(fā)出時間記錄單元,用于根據(jù)所述身份驗證請求向待驗證電話號碼或者客戶端發(fā)送驗證指示信息時,記錄所述驗證指示信息標發(fā)出的時間;
電話呼叫時間記錄單元,用于當目標電話號碼接收到電話的呼叫時,記錄所述呼叫的時間;
時間判斷單元,用于根據(jù)所述驗證指示信息發(fā)出的時間以及所述呼叫的時間,判斷所述呼叫是否在預設時間范圍之內(nèi);
呼入無效單元,用于在所述時間判斷子模塊的判斷結(jié)果為否時,執(zhí)行電話呼入無效的操作。
結(jié)合第二方面,本發(fā)明實施例提供了第二方面的第四種可能的實施方式,其中:所述身份驗證請求中還包括隨機生成的預設格式的加密密鑰;
所述驗證指示信息返回單元還包括:
加密密鑰判斷模塊,用于判斷所述加密密鑰的格式是否為預先約定的格式;
目標電話號碼獲取模塊,用于在所述加密密鑰判斷模塊的判斷結(jié)果為是時,隨機獲取多個目標電話號碼中的一個;
驗證指示信息加密模塊,用于使用所述加密密鑰對所述驗證指示信息進行加密。
本發(fā)明實施例所提供的電話驗證方法和裝置,在獲取了用戶所發(fā)送的身份驗證請求之后,會根據(jù)身份驗證請求向客戶端發(fā)送目標電話號碼。當用戶通過客戶端接收到服務器所發(fā)送的目標電話號碼之后,直接撥打該目標電話號碼。當與目標電話號碼所對應的電話接到電話呼入的時候,與該電話連接的服務器能夠通過呼叫信令或者來電顯示獲取呼叫的電話號碼,并對呼入的電話執(zhí)行掛斷的操作,然后根據(jù)身份驗證請求,對呼叫的電話號碼進行驗證。在這個過程當中,由于用戶在使用自己的電話呼叫目標電話的時候,電話并沒有被接通,因此也不會產(chǎn)生任何的通訊費用,同時完成了電話驗證。
為使本發(fā)明的上述目的、特征和優(yōu)點能更明顯易懂,下文特舉較佳實施例,并配合所附附圖,作詳細說明如下。
附圖說明
為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例中所需要使用的附圖作簡單地介紹,應當理解,以下附圖僅示出了本發(fā)明的某些實施例,因此不應被看作是對范圍的限定,對于本領域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他相關的附圖。
圖1示出了本發(fā)明實施例所提供的一種電話驗證方法的流程圖;
圖2示出了本發(fā)明實施例所提供的另一種電話驗證方法的流程圖;
圖3示出了本發(fā)明實施例所提供的一種電話驗證方法中,對呼叫的電話號碼進行驗證的具體方法流程圖;
圖4示出了本發(fā)明實施例所提供的另一種電話驗證方法的流程圖;
圖5示出了本發(fā)明實施例所提供的另一種電話驗證方法的流程圖;
圖6示出了本發(fā)明實施例所提供的一種電話驗證裝置的結(jié)構(gòu)示意圖;
圖7示出了本發(fā)明實施例所提供的另一種電話驗證裝置的結(jié)構(gòu)示意圖;
圖8示出了本發(fā)明實施例所提供的電話驗證裝置中,驗證單元的具體結(jié)構(gòu)示意圖;
圖9示出了本發(fā)明實施例所提供的另一種電話驗證裝置的結(jié)構(gòu)示意圖;
圖10示出了本發(fā)明實施例所提供的電話驗證裝置中,目標電話號碼返回單元的具體結(jié)構(gòu)示意圖。
具體實施方式
為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。通常在此處附圖中描述和示出的本發(fā)明實施例的組件可以以各種不同的配置來布置和設計。因此,以下對在附圖中提供的本發(fā)明的實施例的詳細描述并非旨在限制要求保護的本發(fā)明的范圍,而是僅僅表示本發(fā)明的選定實施例?;诒景l(fā)明的實施例,本領域技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
目前在用戶通過電話進行身份驗證的時候,如果是通過短信進行驗證,那么就需要用戶使用自己的手機向目標號碼發(fā)送驗證短信,或者服務器根據(jù)用戶在服務器預存的手機號碼,向用戶發(fā)送攜帶有驗證碼的短信;如果是通過語音驗證,則需要用戶撥打目標電話號碼,或者服務器通過電話撥打用于在數(shù)據(jù)庫中預存的電話號碼。而無論是上述哪一種電話驗證方法,都會產(chǎn)生由電話運營商所收取的通訊費用,基于此,本申請?zhí)峁┑囊环N電話驗證方法和裝置,可以避免在對電話號碼紀念性驗證的過程中產(chǎn)生通訊費用。
為便于對本實施例進行理解,首先對本發(fā)明實施例所公開的一種電話驗證方法進行詳細介紹,該方法可以使用在多種用戶身份驗證領域,例如游戲、論壇、APP、網(wǎng)站等登錄帳的號驗證、用戶刷卡消費的時候銀行對用戶身份的驗證等。
參見圖1所示,本發(fā)明實施例提供一種電話驗證方法,包括:
S101:接收客戶端所發(fā)送的身份驗證請求;所述身份驗證請求中包含身份識別ID和/或待驗證電話號碼。
在具體實現(xiàn)的時候,身份驗證請求一般是用戶通過客戶端向服務器發(fā)送的。身份驗證請求中包含了身份識別ID和/或待驗證電話號碼。例如:如果電話驗證的過程發(fā)生在用戶通過客戶端在服務器上進行注冊的過程中,或者用戶需要在經(jīng)過電話驗證后方可登錄的過程,那么身份驗證請求中可以包含身份識別ID和待驗證電話號碼。此時的身份識別ID可以使用戶輸入的帳號,或者還可以將待驗證電話號碼作為用戶的身份識別ID。如果電話驗證的過程發(fā)生在在用戶通過客戶端在服務器上進行登錄的過程(已經(jīng)進行過注冊),那么身份驗證請求中至少包含用戶的身份識別ID,服務器中保存有與該身份識別ID關聯(lián)的與該身份識別ID對應的電話號碼(即為下文中的預存電話號碼),服務器可以根據(jù)用戶的身份識別ID獲取到該預存電話號碼。而如果身份驗證請求的過程發(fā)生在用戶登錄后所需要的身份驗證過程中(例如在對帳號密碼進行修改的過程中,需要用戶先通過電話號碼驗證其身份后方可實現(xiàn)對帳號密碼的修改),那么身份驗證請求中至少包含了待驗證電話號碼,由于此時的用戶帳號已經(jīng)處于登錄狀態(tài),因此客戶端在向服務器發(fā)送數(shù)據(jù)包的時候,必然會攜帶用于服務器驗證身客戶身份的相關信息,次信息可以是身份識別ID,也可以是其他的信息,例如IP地址等。
需要注意的是,用戶可以是人,也可以是計算機軟件構(gòu)成的系統(tǒng)或者其他的裝置等。
S102:根據(jù)所述身份驗證請求向待驗證電話號碼或者客戶端發(fā)送驗證指示信息;所述驗證指示信息中包括驗證條件以及目標電話號碼。
在具體實現(xiàn)的時候,在獲取了用戶所發(fā)送的身份驗證請求之后,會將身份識別ID和/或待驗證電話號碼從身份驗證請求中解析出來。對于身份識別ID和待驗證電話號碼來說,如果在身份驗證請求中只包含了身份識別ID,那么服務器會根據(jù)身份識別ID進行檢索,從數(shù)據(jù)庫中獲取與身份識別ID相應的預存電話號碼,并向該預存電話號碼或者客戶端發(fā)送目標電話號碼;如果身份驗證請求中至少包含了待驗證電話號碼的時候,那么服務器會向該待驗證電話號碼或者客戶端發(fā)送目標電話號碼。
而驗證,則是指示用戶怎樣撥打目標電話號碼,例如,用戶在預設時間之內(nèi)撥打目標電話號碼,即可通過驗證;或者,用戶撥打同一個目標電話號碼預設次數(shù),方可通過驗證,如提示用戶撥打兩次目標電話號碼;或者,用戶須在預設時間內(nèi)撥打同一個目標電話號碼預設次數(shù),方可通過驗證;或者,用戶在預設時間內(nèi)分別撥打不同的目標電話號碼,方可通過驗證;或者,用戶在預設時間的不同時間段內(nèi),分別撥打不同的電話號碼方可通過驗證等等。具體地,驗證條件可以根據(jù)實際的需要進行具體的設定。
S103:若所述目標電話號碼接收到電話的呼叫,提取所述呼叫的電話號碼,并對所述呼叫執(zhí)行掛斷操作;
在具體實現(xiàn)的時候,目標電話號碼所對應的電話可以是網(wǎng)絡電話也可以是實體電話,還可以是虛擬電話。服務器與目標電話號碼所對應的電話連接,能夠獲取電話呼入的信令,并能夠從電話呼入的信令中將呼入電話號碼解析出來,或者服務器可以直接通過電話的來電顯示功能直接獲取呼入電話的電話號碼。當服務器獲取了呼叫的電話號碼之后,會對呼叫的電話號碼執(zhí)行掛斷的操作。
S104:根據(jù)所述身份驗證請求以及呼叫的電話號碼,判斷所述呼叫是否滿足所述驗證條件。
在具體實現(xiàn)的時候,服務器在獲取了呼叫的電話號碼之后,會對呼叫的電話號碼進行驗證。驗證的過程可以是將呼叫的電話號碼和用戶所發(fā)送的身份驗證請求中所包含的待驗證電話號碼進行匹配,如果匹配成功,則驗證通過。驗證的過程還可以是將呼叫的電話號碼和用戶所發(fā)送的身份驗證請求中所包含的身份識別ID所對應的預存電話號碼進行匹配,如果匹配日成功,則通過驗證。另外,還可以根據(jù)驗證條件的不同,判斷呼叫的電話號碼是否符合通過驗證的條件。
此外,還可以根據(jù)不同的應用場景和電話呼叫的特點,設置不同的驗證條件,如可以將驗證條件設置為在特定時間段執(zhí)行特定次數(shù)的呼叫,如對于安全性需求較高的應用場景,可以設置在A時間段對目標電話X進行n次呼叫,在B時間段對目標電話X進行m次呼叫,當所有的呼叫均滿足,才判定驗證成功。由此使得非法第三方很難冒名通過驗證。進一步的,還可以將驗證條件設置為在A時間段對目標電話X進行n次呼叫,在B時間段對目標電話Y進行m次呼叫,在C時間段對目標電話Z進行p次呼叫……等,這樣進一步提高了驗證的復雜度和安全性,對于安全性需求更高的應用場景能夠發(fā)揮更好的作用。以上兩種驗證方式對于安全性需求較高的應用場景,能夠很大程度地提高安全性。
通過對以上兩種驗證方案的描述可知,上述的兩種驗證方案,由于涉及多個目標電話作為驗證端,且需要被驗證者主動撥打電話進行驗證,故尤其適用于采用電話進行驗證的應用場景。相比現(xiàn)有技術(shù)中的其他驗證方式,如網(wǎng)絡客戶端采用驗證碼進行驗證的方式,由于其采用固定的驗證服務器作為驗證端,難以像本案一樣設置多個驗證端,故不能達到本案所具有的多個目標電話作為驗證端進行驗證的效果,難以達到本案所具有的高度安全性。
此外,在安全性需求不高的應該場景,則可以將驗證條件設置為在某個時間段進行1次或少量的幾次呼叫即可。驗證條件可根據(jù)具體應用場景和安全性需求進行靈活設置。
本發(fā)明實施例所提供的電話驗證方法,在獲取了客戶端所發(fā)送的身份驗證請求之后,會根據(jù)身份驗證請求向待驗證電話號碼或者客戶端發(fā)送驗證指示信息。當用戶通過客戶端或者通過待驗證電話號碼接收到服務器所發(fā)送的目標電話號碼之后,直接撥打該目標電話號碼。當與目標電話號碼所對應的電話接到電話的呼叫的時候,與該電話連接的服務器能夠通過呼叫信令或者來電顯示獲取呼叫的電話號碼,并對呼叫執(zhí)行掛斷的操作,然后根據(jù)身份驗證請求和呼叫的電話號碼,判斷所述呼叫是否滿足所述驗證條件。在這個過程當中,由于用戶在使用自己的電話呼叫目標電話的時候,電話并沒有被接通,因此也不會產(chǎn)生任何的通訊費用,同時完成了電話驗證。
參見圖2和圖3所示,本發(fā)明實施例所提供的電話驗證方法中,在上述幾個實施例的基礎上,還包括:具體地,所述接收客戶端所發(fā)送的身份驗證請求之后,還包括:
S201:對所述身份驗證請求進行解析;
S202:如果解析后的所述身份驗證請求中僅包括身份識別ID,則根據(jù)所述身份識別ID獲取預存的與所述身份識別ID所對應的預存電話號碼,并將所述預存電話號碼標記為待驗證狀態(tài);如果無法獲取到與身份識別ID對應的預存電話號碼,則可能是該身份識別ID錯誤或者該身份識別ID并未在服務器中注冊過。
S203:如果解析后的所述身份驗證請求中僅包括待驗證電話號碼,則將所述待驗證電話號碼進行保存,并將所述待驗證電話號碼標記為待驗證狀態(tài);
S204:如果解析后的所述身份驗證請求中包含了身份識別ID以及待驗證電話號碼,則將所述身份識別ID以及待驗證電話號碼進行綁定保存,并將所述待驗證電話號碼標記為待驗證狀態(tài);或者根據(jù)所述身份識別ID獲取預存的與所述身份識別ID所對應的預存電話號碼,并在預存電話號碼以及待驗證電話號碼一致的時候,將預存電話號碼標記為待驗證狀態(tài)。
在實際中,服務器可能要在很短的時間內(nèi)會對很多電話號碼進行驗證,而服務器所連接的數(shù)據(jù)庫內(nèi)則可能保存有數(shù)以萬計的預存電話號碼,在上述過程中,要將預存電話號碼或者待驗證電話號碼標記為待驗證狀態(tài),在S104中,根據(jù)身份驗證請求,對呼叫的電話號碼進行驗證的時候,直接將呼叫的電話號碼與標記為待驗證狀態(tài)的預存電話號碼和/或待驗證電話號碼進行匹配,減少服務器的工作量,提高匹配的速度。另外,將電話號碼標記為待驗證狀態(tài),還用戶識別用戶是否登錄或者用于識別該電話號碼是否被驗證過。
所述判斷所述呼叫是否滿足所述驗證條件參見圖3所示,具體包括:
S301:將所述呼叫的電話號碼與已經(jīng)被標記為待驗證狀態(tài)的所述預存電話號碼進行匹配,和/或?qū)⒑艚械碾娫捥柎a與已經(jīng)被標記為待驗證狀態(tài)的所述待驗證電話號碼進行匹配;
S302:如果匹配成功,則驗證通過。
參見圖4所示,本發(fā)明實施例所提供的電話驗證方法中,所述根據(jù)所述身份驗證請求向待驗證電話號碼或者客戶端發(fā)送驗證指示信息時,還包括:
S401:記錄目標電話號碼發(fā)出的時間;
所述目標電話號碼接收到電話的呼叫時,還包括:
S402:記錄所述呼叫的時間;
所述判斷所述呼叫是否滿足所述驗證條件,還包括:
S403:根據(jù)所述驗證指示信息發(fā)出的時間以及所述呼叫的時間,判斷所述呼叫是否在預設時間范圍之內(nèi),如果否,則執(zhí)行電話呼入無效的操作。
一般地,服務器在將目標電話號碼發(fā)送給客戶端的時候,會記錄目標電話號碼發(fā)出的時間,而服務器在通過目標電話號碼對應的電話接到電話呼入的時候,會記錄接到電話呼入的時間,在對電話號碼進行驗證的過程中,會根據(jù)目標電話號碼發(fā)出的時間以及接到電話呼入的時間,判斷電話呼入的時間是否在預設范圍之內(nèi),如果在,則執(zhí)行后續(xù)的驗證過程,如果否,則執(zhí)行電話呼入無效的操作,掛斷電話,并向客戶端發(fā)出相關的提示。
具體地,還可以建立一個數(shù)據(jù)表,將標記為待驗證狀態(tài)的預存電話號碼以及待驗證電話號碼放入該數(shù)據(jù)表中,同時為每一個電話號碼標記目標電話號碼發(fā)出的時間,同時對該時間進行計時。如果某一個電話號碼計時到達預設時間,則將該電話號碼從數(shù)據(jù)表中刪除,當執(zhí)行呼叫的電話號碼與數(shù)據(jù)表中電話號碼的匹配時,如果匹配成功,則默認該電話的呼入是有效的;如果沒有匹配成功,則認為該電話的呼入無效或者該呼入電話并未被驗證。
參見圖5所示,本發(fā)明實施例還提供另外一種電話驗證方法,在上述實施例的基礎上,在身份驗證請求中還包括隨機生成的預設格式的加密密鑰;
所述根據(jù)所述身份驗證請求向待驗證電話號碼或者客戶端發(fā)送驗證指示信息具體包括:
S501:判斷所述加密密鑰的格式是否為預先約定的格式;
S502:如果是,則隨機獲取多個目標電話號碼中的一個,并使用所述加密密鑰對所述驗證指示信息進行加密。
在具體實現(xiàn)的時候,客戶端可以在生成身份驗證請求之前,隨機生成一組加密密鑰和與加密密鑰所對應的解密密鑰。而加密密鑰的格式是與服務器之間預先約定好的。例如加密密鑰的長度、組成形式(數(shù)字、字母、標點、隨機圖片等的數(shù)量,相對位置等),當服務器接收到身份驗證請求的時候,會先從所述身份驗證請求中將加密密鑰解析出來,然后判斷該加密密鑰的格式是否與預先約定的格式一致,如果是一致的,那么服務器會從多個目標電話號碼中隨機選取一個,并使用該加密密鑰對目標電話號碼進行加密,發(fā)送給客戶端。
客戶端在接收到經(jīng)過加密的目標電話號碼后,對使用解密密鑰對經(jīng)過加密的目標電話號碼進行解密,獲取目標電話號碼。在這個過程當中,客戶端所發(fā)送的身份驗證請求是明碼,而服務器所發(fā)送的目標電話號碼是暗碼,而只有客戶端能夠通過解密密鑰對暗碼進行解密。中間一旦有任何一方被劫持或被仿冒,例如是客戶端電話被劫持,那么它首先得獲知真正的客戶所設置的加解密方式是什么,其與服務器所約定的加密密鑰的格式是什么,并且還需要生成與加密密鑰的格式相對應的揭秘密鑰才能夠真正的獲得目標電話號碼。同時,目標電話號碼是預存在服務器中的多個目標電話號碼中的一個,即使假冒方能夠通過非法途徑獲得這些目標電話號碼,他只有在撥打正確目標電話號碼的情況下才能夠順利的通過驗證,進一步的增加了安全性。反之,當服務器被仿冒的時候同理,在此不再贅述。
本發(fā)明又一實施例還提供一種電話驗證裝置,參見圖6所示,本發(fā)明實施例所提供的電話驗證裝置包括:
身份驗證請求接收單元,用于接收客戶端所發(fā)送的身份驗證請求;所述身份驗證請求中包含身份識別ID和/或待驗證電話號碼;
驗證指示信息返回單元,用于根據(jù)所述身份驗證請求向待驗證電話號碼或者客戶端發(fā)送驗證指示信息;所述驗證指示信息中包括驗證條件以及目標電話號碼;
呼入電話號碼獲取單元,用于若所述目標電話號碼接收到電話的呼叫,提取所述呼叫的電話號碼,并對所述呼叫執(zhí)行掛斷操作;
電話號碼驗證單元,用于根據(jù)所述身份驗證請求以及呼叫的電話號碼,判斷所述呼叫是否滿足所述驗證條件;如果是,則通過驗證。
本實施例中,身份驗證請求接收單元、驗證指示信息返回單元、呼入電話號碼獲取單元和電話號碼驗證單元的具體功能和交互方式,可參見圖1對應的實施例的記載,在此不再贅述。
本發(fā)明實施例所提供的電話驗證裝置,在通過身份驗證請求接收單元獲取了客戶端所發(fā)送的身份驗證請求之后,驗證指示信息返回單元會根據(jù)身份驗證請求向客戶端或者待驗證電話號碼發(fā)送驗證指示信息。當用戶通過客戶端或者通過待驗證電話號碼接收到服務器所發(fā)送的驗證指示信息之后,會將目標電話號碼從中解析出來,直接撥打該目標電話號碼。當與目標電話號碼所對應的電話接到電話呼入的時候,與該電話連接的服務器能夠通過呼叫信令或者來電顯示獲取呼叫的電話號碼,并對呼入的電話執(zhí)行掛斷的操作,然后根據(jù)身份驗證請求和呼叫的電話號碼,判斷所述呼是否滿足驗證條件。在這個過程當中,由于用戶在使用自己的電話呼叫目標電話的時候,電話并沒有被接通,因此也不會產(chǎn)生任何的通訊費用,同時完成了電話驗證。
參見圖7,本發(fā)明實施例所提供的電話驗證裝置中,還包括:
身份驗證請求解析單元,用于對所述身份驗證請求進行解析;
標記單元,用于當解析后的所述身份驗證請求中僅包括身份識別ID時,根據(jù)所述身份識別ID獲取預存的與所述身份識別ID所對應的預存電話號碼,并將所述預存電話號碼標記為待驗證狀態(tài);
當解析后的所述身份驗證請求中僅包括待驗證電話號碼時,將所述待驗證電話號碼進行保存,并將所述待驗證電話號碼標記為待驗證狀態(tài);
當解析后的所述身份驗證請求中包含了身份識別ID以及待驗證電話號碼時,將所述身份識別ID以及待驗證電話號碼進行綁定保存,并將所述待驗證電話號碼標記為待驗證狀態(tài);或者根據(jù)所述身份識別ID獲取預存的與所述身份識別ID所對應的預存電話號碼,并在預存電話號碼以及待驗證電話號碼一致的時候,將預存電話號碼標記為待驗證狀態(tài)。
本實施例中,身份驗證請求解析單元、標記單元的具體功能和交互方式,可參見圖2對應的實施例的記載,在此不再贅述。
參見圖8所示,本發(fā)明實施例所提供的電話驗證裝置中,所述電話號碼驗證單元具體包括:
電話號碼匹配模塊,用于將呼叫的電話號碼與已經(jīng)被標記為待驗證狀態(tài)的所述預存電話號碼進行匹配,
和/或?qū)⒑艚械碾娫捥柎a與已經(jīng)被標記為待驗證狀態(tài)的所述電話號碼進行匹配;
驗證通過模塊,用于在電話號碼匹配模塊匹配成功的時候,通過驗證。
本實施例中,電話號碼匹配模塊、驗證通過模塊的具體功能和交互方式,可參見圖3對應的實施例的記載,在此不再贅述。
參見圖9所示,本發(fā)明實施例所提供的電話驗證裝置中,還包括:
驗證指示系信息發(fā)出時間記錄單元,用于根據(jù)所述身份驗證請求向待驗證電話號碼或者客戶端發(fā)送驗證指示信息時,記錄所述驗證指示信息標發(fā)出的時間;
電話呼叫時間記錄單元,用于當目標電話號碼接收到電話的呼叫時,記錄所述呼叫的時間;
時間判斷單元,用于根據(jù)所述驗證指示信息發(fā)出的時間以及所述呼叫的時間,判斷所述呼叫是否在預設時間范圍之內(nèi);
呼入無效單元,用于在所述時間判斷子模塊的判斷結(jié)果為否時,執(zhí)行電話呼入無效的操作。
本實施例中,驗證指示系信息發(fā)出時間記錄單元、電話呼叫時間記錄單元、時間判斷單元以及呼入無效單元的具體功能和交互方式,可參見圖4對應的實施例的記載,在此不再贅述。
參見圖10所示,本發(fā)明實施例所提供的電話驗證裝置中,所述身份驗證請求中還包括隨機生成的預設格式的加密密鑰;
所述驗證指示信息返回單元還包括:
加密密鑰判斷模塊,用于判斷所述加密密鑰的格式是否為預先約定的格式;
目標電話號碼獲取模塊,用于在所述加密密鑰判斷模塊的判斷結(jié)果為是時,隨機獲取多個目標電話號碼中的一個;
驗證指示信息加密模塊,用于使用所述加密密鑰對所述驗證指示信息進行加密。
本實施例中,加密密鑰判斷模塊、目標電話號碼獲取模塊、驗證指示信息加密模塊的具體功能和交互方式,可參見圖2對應的實施例的記載,在此不再贅述。
本發(fā)明實施例所提供的電話驗證方法和裝置的計算機程序產(chǎn)品,包括存儲了程序代碼的計算機可讀存儲介質(zhì),所述程序代碼包括的指令可用于執(zhí)行前面方法實施例中所述的方法,具體實現(xiàn)可參見方法實施例,在此不再贅述。
所屬領域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng)和裝置的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
所述功能如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應所述以權(quán)利要求的保護范圍為準。