本發(fā)明涉及安全驗(yàn)證技術(shù)領(lǐng)域,尤其涉及一種用于驗(yàn)證用戶身份的方法及裝置。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的迅速發(fā)展,網(wǎng)絡(luò)安全方面存在著越來越多的隱患,例如,由于很多網(wǎng)民喜歡用相同的賬號密碼注冊多個(gè)網(wǎng)站,甚至作為支付平臺賬號,所以黑客通過直接入侵網(wǎng)站服務(wù)器竊取用戶賬號密碼等數(shù)據(jù),并利用所竊取的賬號密碼通刷大量網(wǎng)站(俗稱刷庫),給用戶利益帶來損失。還有一種惡意注冊行為,用以實(shí)現(xiàn)炒信(利用各種途徑和手法進(jìn)行涉嫌虛假交易、炒作信用等行為)、惡意評價(jià)或發(fā)布非法信息等目的。該刷庫及惡意注冊行為均是通過特定的軟件實(shí)現(xiàn)的一種自動登錄或注冊的行為。
為避免所述的刷庫及惡意注冊等行為的發(fā)生,一種已有技術(shù)提出了圖片驗(yàn)證方法,在驗(yàn)證頁面利用圖片展示驗(yàn)證碼,在進(jìn)行身份驗(yàn)證時(shí)除需要輸入賬號和密碼外,還需輸入所述圖片中的驗(yàn)證碼才可通過驗(yàn)證,此種方法的不足在于:非法軟件很容易使用圖片識別技術(shù)識別出圖片中的驗(yàn)證碼,從而通過驗(yàn)證,因此該方法無法有效避免刷庫及惡意注冊等行為的發(fā)生。
另一種已有技術(shù)通過將驗(yàn)證碼以手機(jī)短消息的形式發(fā)送給用戶,該方式很容易被使用貓池(就是將相當(dāng)數(shù)量的Modem使用特殊的撥號請求接入設(shè)備連接在一起,可以同時(shí)接受多個(gè)用戶撥號連接的設(shè)備)進(jìn)行惡意注冊的用戶獲取驗(yàn)證碼,并通過相關(guān)軟件發(fā)送該驗(yàn)證碼到驗(yàn)證窗口,從而通過驗(yàn)證,該方法雖然可達(dá)到阻止刷庫的目的,但無法有效避免惡意注冊行為的發(fā)生。
因此,需要一種技術(shù)可以有效避免刷庫及惡意注冊等行為的發(fā)生,以 保證網(wǎng)絡(luò)環(huán)境的安全可靠。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明解決的技術(shù)問題之一是提供一種用于驗(yàn)證用戶身份的方法及裝置,可有效避免刷庫及惡意注冊等行為的發(fā)生,以保證網(wǎng)絡(luò)環(huán)境的安全可靠。
根據(jù)本發(fā)明一方面的一個(gè)實(shí)施例,提供了一種用于驗(yàn)證用戶身份的方法,包括:
響應(yīng)于接收到用戶的身份驗(yàn)證觸發(fā)請求,通過第一途徑提供第一驗(yàn)證因子給所述用戶;
響應(yīng)于接收到用戶獲取第二驗(yàn)證因子的請求,通過區(qū)別于所述第一途徑的第二途徑提供第二驗(yàn)證因子給所述用戶;
接收用戶輸入的驗(yàn)證碼;
通過將所述用戶輸入的驗(yàn)證碼與基于所述第一驗(yàn)證因子和所述第二驗(yàn)證因子產(chǎn)生的標(biāo)準(zhǔn)結(jié)合結(jié)果進(jìn)行比對來驗(yàn)證用戶身份。
可選地,所述第一驗(yàn)證因子是包含變量的驗(yàn)證表達(dá)式,所述第二驗(yàn)證因子是所述變量的賦值。
可選地,所述第二驗(yàn)證因子是包含變量的驗(yàn)證表達(dá)式,所述第一驗(yàn)證因子是所述變量的賦值。
可選地,所述第二驗(yàn)證因子為多個(gè)第二驗(yàn)證因子,所述通過區(qū)別于所述第一途徑的第二途徑提供第二驗(yàn)證因子給所述用戶包括:
為多個(gè)第二驗(yàn)證因子中的不同第二驗(yàn)證因子選擇區(qū)別于所述第一途徑的、不同的第二途徑提供給所述用戶。
可選地,所述驗(yàn)證表達(dá)式是數(shù)學(xué)表達(dá)式或邏輯表達(dá)式。
可選地,所述結(jié)合結(jié)果包括:
數(shù)學(xué)運(yùn)算產(chǎn)生的結(jié)果或邏輯運(yùn)算產(chǎn)生的結(jié)果。
可選地,所述通過第一途徑提供第一驗(yàn)證因子給所述用戶包括:
通過驗(yàn)證頁面顯示所述第一驗(yàn)證因子給所述用戶。
可選地,所述通過驗(yàn)證頁面顯示所述第一驗(yàn)證因子包括:
通過驗(yàn)證頁面顯示變形和/或加擾后的第一驗(yàn)證因子。
可選地,所述第二途徑包括以下中的至少之一:
發(fā)送應(yīng)用上的即時(shí)消息的方式、發(fā)送短消息的方式、發(fā)送電子郵件的方式。
可選地,所述通過區(qū)別于所述第一途徑的第二途徑提供第二驗(yàn)證因子給所述用戶的步驟是響應(yīng)于接收到用戶獲取第二驗(yàn)證因子的請求進(jìn)行的。
根據(jù)本發(fā)明另一方面的一個(gè)實(shí)施例,提供了一種用于驗(yàn)證用戶身份的裝置,包括:
第一驗(yàn)證因子提供單元,用于響應(yīng)于接收到用戶的身份驗(yàn)證觸發(fā)請求,通過第一途徑提供第一驗(yàn)證因子給所述用戶;
第二驗(yàn)證因子提供單元,用于響應(yīng)于接收到用戶獲取第二驗(yàn)證因子的請求,通過區(qū)別于所述第一途徑的第二途徑提供第二驗(yàn)證因子給所述用戶;
接收單元,用于接收用戶輸入的驗(yàn)證碼;
驗(yàn)證單元,用于通過將所述用戶輸入的驗(yàn)證碼與基于所述第一驗(yàn)證因子和所述第二驗(yàn)證因子產(chǎn)生的標(biāo)準(zhǔn)結(jié)合結(jié)果進(jìn)行比對來驗(yàn)證用戶身份。
可選地,所述第一驗(yàn)證因子是包含變量的驗(yàn)證表達(dá)式,所述第二驗(yàn)證因子是所述變量的賦值。
可選地,所述第二驗(yàn)證因子是包含變量的驗(yàn)證表達(dá)式,所述第一驗(yàn)證因子是所述變量的賦值。
可選地,所述第二驗(yàn)證因子為多個(gè)第二驗(yàn)證因子,所述第二驗(yàn)證因子提供單元用于:
為多個(gè)第二驗(yàn)證因子中的不同第二驗(yàn)證因子選擇區(qū)別于所述第一途徑的、不同的第二途徑提供給所述用戶。
可選地,所述驗(yàn)證表達(dá)式是數(shù)學(xué)表達(dá)式或邏輯表達(dá)式。
可選地,所述結(jié)合結(jié)果包括:
數(shù)學(xué)運(yùn)算產(chǎn)生的結(jié)果或邏輯運(yùn)算產(chǎn)生的結(jié)果。
可選地,所述第一驗(yàn)證因子提供單元通過第一途徑提供第一驗(yàn)證因子給所述用戶包括:
通過驗(yàn)證頁面顯示所述第一驗(yàn)證因子給所述用戶。
可選地,所述通過驗(yàn)證頁面顯示所述第一驗(yàn)證因子包括:
通過驗(yàn)證頁面顯示變形和/或加擾后的第一驗(yàn)證因子。
可選地,所述第二途徑包括以下中的至少之一:
發(fā)送應(yīng)用上的即時(shí)消息的方式、發(fā)送短消息的方式、發(fā)送電子郵件的方式。
可選地,所述第二驗(yàn)證因子提供單元是響應(yīng)于接收到用戶獲取第二驗(yàn)證因子的請求,通過區(qū)別于所述第一途徑的第二途徑提供第二驗(yàn)證因子給所述用戶。
本實(shí)施例中將驗(yàn)證碼拆分為第一驗(yàn)證因子和第二驗(yàn)證因子,并通過不同途徑將第一驗(yàn)證因子和第二驗(yàn)證因子提供給用戶,且利用基于所述第一驗(yàn)證因子和第二驗(yàn)證因子產(chǎn)生的標(biāo)準(zhǔn)結(jié)合結(jié)果來驗(yàn)證用戶身份,降低了驗(yàn)證碼被竊取的風(fēng)險(xiǎn),可有效防止刷庫及惡意注冊等行為的發(fā)生。
本領(lǐng)域普通技術(shù)人員將了解,雖然下面的詳細(xì)說明將參考圖示實(shí)施例、附圖進(jìn)行,但本發(fā)明并不僅限于這些實(shí)施例。而是,本發(fā)明的范圍是廣泛的,且意在僅通過后附的權(quán)利要求限定本發(fā)明的范圍。
附圖說明
通過閱讀參照以下附圖所作的對非限制性實(shí)施例所作的詳細(xì)描述,本發(fā)明的其它特征、目的和優(yōu)點(diǎn)將會變得更明顯:
圖1是根據(jù)本發(fā)明一個(gè)實(shí)施例的用于驗(yàn)證用戶身份的方法的流程圖。
圖2是根據(jù)本發(fā)明一個(gè)實(shí)施例的登錄場景驗(yàn)證用戶身份的方法的流程圖。
圖3是根據(jù)本發(fā)明一個(gè)實(shí)施例的用于驗(yàn)證用戶身份的裝置的結(jié)構(gòu)示意圖。
附圖中相同或相似的附圖標(biāo)記代表相同或相似的部件。
具體實(shí)施方式
在更加詳細(xì)地討論示例性實(shí)施例之前應(yīng)當(dāng)提到的是,一些示例性實(shí)施 例被描述成作為流程圖描繪的處理或方法。雖然流程圖將各項(xiàng)操作描述成順序的處理,但是其中的許多操作可以被并行地、并發(fā)地或者同時(shí)實(shí)施。此外,各項(xiàng)操作的順序可以被重新安排。當(dāng)其操作完成時(shí)所述處理可以被終止,但是還可以具有未包括在附圖中的附加步驟。所述處理可以對應(yīng)于方法、函數(shù)、規(guī)程、子例程、子程序等等。
所述計(jì)算機(jī)設(shè)備包括用戶設(shè)備與網(wǎng)絡(luò)設(shè)備。其中,所述用戶設(shè)備包括但不限于電腦、智能手機(jī)、PDA等;所述網(wǎng)絡(luò)設(shè)備包括但不限于單個(gè)網(wǎng)絡(luò)服務(wù)器、多個(gè)網(wǎng)絡(luò)服務(wù)器組成的服務(wù)器組或基于云計(jì)算(Cloud Computing)的由大量計(jì)算機(jī)或網(wǎng)絡(luò)服務(wù)器構(gòu)成的云,其中,云計(jì)算是分布式計(jì)算的一種,由一群松散耦合的計(jì)算機(jī)集組成的一個(gè)超級虛擬計(jì)算機(jī)。其中,所述計(jì)算機(jī)設(shè)備可單獨(dú)運(yùn)行來實(shí)現(xiàn)本發(fā)明,也可接入網(wǎng)絡(luò)并通過與網(wǎng)絡(luò)中的其他計(jì)算機(jī)設(shè)備的交互操作來實(shí)現(xiàn)本發(fā)明。其中,所述計(jì)算機(jī)設(shè)備所處的網(wǎng)絡(luò)包括但不限于互聯(lián)網(wǎng)、廣域網(wǎng)、城域網(wǎng)、局域網(wǎng)、VPN網(wǎng)絡(luò)等。
需要說明的是,所述用戶設(shè)備、網(wǎng)絡(luò)設(shè)備和網(wǎng)絡(luò)等僅為舉例,其他現(xiàn)有的或今后可能出現(xiàn)的計(jì)算機(jī)設(shè)備或網(wǎng)絡(luò)如可適用于本發(fā)明,也應(yīng)包含在本發(fā)明保護(hù)范圍以內(nèi),并以引用方式包含于此。
后面所討論的方法(其中一些通過流程圖示出)可以通過硬件、軟件、固件、中間件、微代碼、硬件描述語言或者其任意組合來實(shí)施。當(dāng)用軟件、固件、中間件或微代碼來實(shí)施時(shí),用以實(shí)施必要任務(wù)的程序代碼或代碼段可以被存儲在機(jī)器或計(jì)算機(jī)可讀介質(zhì)(比如存儲介質(zhì))中。(一個(gè)或多個(gè))處理器可以實(shí)施必要的任務(wù)。
這里所公開的具體結(jié)構(gòu)和功能細(xì)節(jié)僅僅是代表性的,并且是用于描述本發(fā)明的示例性實(shí)施例的目的。但是本發(fā)明可以通過許多替換形式來具體實(shí)現(xiàn),并且不應(yīng)當(dāng)被解釋成僅僅受限于這里所闡述的實(shí)施例。
應(yīng)當(dāng)理解的是,雖然在這里可能使用了術(shù)語“第一”、“第二”等等來描述各個(gè)單元,但是這些單元不應(yīng)當(dāng)受這些術(shù)語限制。使用這些術(shù)語僅僅是為了將一個(gè)單元與另一個(gè)單元進(jìn)行區(qū)分。舉例來說,在不背離示例性實(shí)施例的范圍的情況下,第一單元可以被稱為第二單元,并且類似地第二單元可以被稱為第一單元。這里所使用的術(shù)語“和/或”包括其中一個(gè)或更多所列 出的相關(guān)聯(lián)項(xiàng)目的任意和所有組合。
應(yīng)當(dāng)理解的是,當(dāng)一個(gè)單元被稱為“連接”或“耦合”到另一單元時(shí),其可以直接連接或耦合到所述另一單元,或者可以存在中間單元。與此相對,當(dāng)一個(gè)單元被稱為“直接連接”或“直接耦合”到另一單元時(shí),則不存在中間單元。應(yīng)當(dāng)按照類似的方式來解釋被用于描述單元之間的關(guān)系的其他詞語(例如“處于...之間”相比于“直接處于...之間”,“與...鄰近”相比于“與...直接鄰近”等等)。
這里所使用的術(shù)語僅僅是為了描述具體實(shí)施例而不意圖限制示例性實(shí)施例。除非上下文明確地另有所指,否則這里所使用的單數(shù)形式“一個(gè)”、“一項(xiàng)”還意圖包括復(fù)數(shù)。還應(yīng)當(dāng)理解的是,這里所使用的術(shù)語“包括”和/或“包含”規(guī)定所陳述的特征、整數(shù)、步驟、操作、單元和/或組件的存在,而不排除存在或添加一個(gè)或更多其他特征、整數(shù)、步驟、操作、單元、組件和/或其組合。
還應(yīng)當(dāng)提到的是,在一些替換實(shí)現(xiàn)方式中,所提到的功能/動作可以按照不同于附圖中標(biāo)示的順序發(fā)生。舉例來說,取決于所涉及的功能/動作,相繼示出的兩幅圖實(shí)際上可以基本上同時(shí)執(zhí)行或者有時(shí)可以按照相反的順序來執(zhí)行。
本發(fā)明人發(fā)現(xiàn),現(xiàn)有技術(shù)由于將整個(gè)驗(yàn)證碼通過同一途徑提供給單一設(shè)備,很容易被非法者竊取或利用,從而進(jìn)行非法行為。本申請實(shí)施例為避免該問題,采用將驗(yàn)證碼分離的思想,將單一途徑可獲取的驗(yàn)證碼進(jìn)行拆分,使用固定信息加動態(tài)信息組合的方式完成驗(yàn)證,以有效避免刷庫及惡意注冊等行為的發(fā)生,并降低驗(yàn)證碼被竊取的風(fēng)險(xiǎn)。
下面結(jié)合附圖對本發(fā)明的技術(shù)方案作進(jìn)一步詳細(xì)描述。
圖1是根據(jù)本發(fā)明一個(gè)實(shí)施例的用于驗(yàn)證用戶身份的方法的流程圖,該方法可用于登錄或注冊場景中對用戶身份進(jìn)行驗(yàn)證。該方法主要包括如下步驟:
S10、響應(yīng)于接收到用戶的身份驗(yàn)證觸發(fā)請求,通過第一途徑提供第一驗(yàn)證因子給所述用戶;
S11、響應(yīng)于接收到用戶獲取第二驗(yàn)證因子的請求,通過區(qū)別于所述 第一途徑的第二途徑提供第二驗(yàn)證因子給所述用戶;
S12、接收用戶輸入的驗(yàn)證碼;
S13、通過將所述用戶輸入的驗(yàn)證碼與基于所述第一驗(yàn)證因子和所述第二驗(yàn)證因子產(chǎn)生的標(biāo)準(zhǔn)結(jié)合結(jié)果進(jìn)行比對來驗(yàn)證用戶身份。
下面對上述各步驟做進(jìn)一步詳細(xì)介紹。
首先對第一驗(yàn)證因子及第二驗(yàn)證因子進(jìn)行說明。其中一種實(shí)施例所述的第一驗(yàn)證因子可以是包含變量的驗(yàn)證表達(dá)式,所述第二驗(yàn)證因子可以是所述變量的賦值。另一實(shí)施例所述第二驗(yàn)證因子可以是包含變量的驗(yàn)證表達(dá)式,所述第一驗(yàn)證因子可以是所述變量的賦值。所述驗(yàn)證表達(dá)式中至少包含一個(gè)變量。所述變量可以由任意符號表示,如圖形符號、字母或其他字符等等。所述驗(yàn)證表達(dá)式可以是數(shù)學(xué)表達(dá)式或邏輯表達(dá)式,或者也可以是字符串。
針對數(shù)學(xué)表達(dá)式,所述變量可以用來表示數(shù)學(xué)表達(dá)式中的數(shù)學(xué)運(yùn)算符號(包括括號等數(shù)字分組符號)和數(shù)字中的至少一個(gè)。
例如,所述驗(yàn)證表達(dá)式可以為:24×a=?,該驗(yàn)證表達(dá)式中包括:數(shù)字、數(shù)學(xué)運(yùn)算符號和用字母表示的變量。
所述驗(yàn)證表達(dá)式還可以為:□+△=?,其中,該驗(yàn)證表達(dá)式中包括:用不同圖形表示的變量和數(shù)學(xué)運(yùn)算符號。
所述驗(yàn)證表達(dá)式還可以為:x□y=?,該驗(yàn)證表達(dá)式中包括:用字母和圖形表示的變量。
所述驗(yàn)證表達(dá)式還可以為:24×ax+yb=?,其中a、b可分別表示左括號和右括號,x、y可分別表示數(shù)字,也就是該驗(yàn)證表達(dá)式包括用字母表示的變量,且該變量的賦值包括數(shù)字和數(shù)字分組符號。
所述的邏輯表達(dá)式可以為包含邏輯運(yùn)算符號的表達(dá)式,例如,10>x是否正確等等;也可以為使用文字描述的表達(dá)式,例如,屬牛后的第a個(gè)屬相是什么等等。
所述驗(yàn)證表達(dá)式若為字符串,其可以是英文單詞,例如,b?□d,,對應(yīng)的變量的賦值可以為?=i,□=r,當(dāng)然也可以為其他形式的字符串。
上述所列舉的第一驗(yàn)證因子和第二驗(yàn)證因子的表達(dá)形式僅為發(fā)明人 所列舉的幾種實(shí)例,本申請并不局限于此。
由于本實(shí)施例所述的方法可用于登錄或注冊場景,則步驟S10中所述的身份驗(yàn)證觸發(fā)請求包括但不限于:用戶發(fā)送的進(jìn)入注冊頁面的請求,或用戶發(fā)送的進(jìn)入登錄頁面的請求等等。
其中,通過第一途徑提供第一驗(yàn)證因子給所述用戶包括:通過驗(yàn)證頁面顯示所述第一驗(yàn)證因子給所述用戶,例如,可以以圖片形式在驗(yàn)證頁面顯示所述第一驗(yàn)證因子。其中,針對用戶發(fā)送的進(jìn)入注冊頁面的請求,則對應(yīng)的驗(yàn)證頁面即為注冊頁面;針對用戶發(fā)送的進(jìn)入登錄頁面的請求,對應(yīng)的驗(yàn)證頁面即為登錄頁面。當(dāng)然,所述第一途徑還包括以下至少一種:發(fā)送電子郵件、發(fā)送短消息、發(fā)送應(yīng)用上的即時(shí)消息等等。
可選地,可以對該第一驗(yàn)證因子進(jìn)行變形和/或加擾,則在驗(yàn)證頁面中顯示變形和/或加擾后的第一驗(yàn)證因子。所述變形包括但不限于:扭曲、旋轉(zhuǎn)、拉伸、壓縮等等處理。所述加擾包括但不限于:增加背景、干擾線等等。
可以理解的是,還可以通過音頻展現(xiàn)所述第一驗(yàn)證因子。
步驟S11中所述的第二途徑包括如下至少一種:
發(fā)送應(yīng)用上的即時(shí)消息的方式、發(fā)送短消息的方式、發(fā)送電子郵件的方式。
本申請實(shí)施例可在用戶注冊時(shí)由用戶選擇所述第二途徑,例如,若用戶選擇發(fā)送短消息的方式,則用戶提供接收短消息的手機(jī)號;若用戶選擇發(fā)送應(yīng)用上的即時(shí)消息的方式,則用戶提供接收即時(shí)消息的賬號;若用戶選擇發(fā)送電子郵件的方式,則用戶提供接收電子郵件的地址等等。
需要說明的是,發(fā)送第二驗(yàn)證因子的第二途徑是區(qū)別于發(fā)送第一驗(yàn)證因子的第一途徑,也就是,若第一途徑為發(fā)送短消息,則第二途徑為區(qū)別于發(fā)送短消息的其他途徑,如發(fā)送電子郵件,或發(fā)送應(yīng)用上的即時(shí)消息。且第二算法因子同樣可以以圖形或音頻形式展現(xiàn)給用戶。步驟S11中,用戶發(fā)送獲取第二驗(yàn)證因子的請求的方法可以為:在驗(yàn)證頁面中提供獲取第二驗(yàn)證因子的按鈕,用戶通過點(diǎn)擊該按鈕發(fā)送獲取第二驗(yàn)證因子的請求。
針對步驟S10及S11還需要說明的是,其中一種實(shí)施例,所述第一驗(yàn) 證因子及第二驗(yàn)證因子可以是響應(yīng)于用戶的身份驗(yàn)證觸發(fā)請求隨機(jī)產(chǎn)生的,并基于隨機(jī)產(chǎn)生的第一驗(yàn)證因子及第二驗(yàn)證因子產(chǎn)生所述驗(yàn)證表達(dá)式的標(biāo)準(zhǔn)結(jié)合結(jié)果,例如,響應(yīng)于用戶的身份驗(yàn)證觸發(fā)請求,為用戶隨機(jī)生成的第一驗(yàn)證因子為一個(gè)包含變量的驗(yàn)證表達(dá)式為:x-y=?,此驗(yàn)證表達(dá)式中用字母x和y代表兩個(gè)變量。隨機(jī)生成的第二驗(yàn)證因子為兩變量的賦值,x=45,y=20,以及根據(jù)兩變量的賦值確定該驗(yàn)證表達(dá)式的標(biāo)準(zhǔn)數(shù)學(xué)運(yùn)算結(jié)果為25(即表達(dá)式45-20的結(jié)果)。將第二驗(yàn)證因子保存,在接收到用戶獲取第二驗(yàn)證因子的請求情況下通過第二途徑發(fā)送給用戶。并將所述標(biāo)準(zhǔn)結(jié)合結(jié)果保存,具體的,可保存該標(biāo)準(zhǔn)結(jié)合結(jié)果與該用戶標(biāo)識的對應(yīng)關(guān)系,例如,用戶ID<標(biāo)準(zhǔn)結(jié)合結(jié)果=25>。
另一種實(shí)施例,所述第一驗(yàn)證因子是響應(yīng)于用戶的身份驗(yàn)證觸發(fā)請求隨機(jī)產(chǎn)生。所述第二驗(yàn)證因子是響應(yīng)于接收到用戶獲取第二驗(yàn)證因子的請求隨機(jī)產(chǎn)生。并在隨機(jī)產(chǎn)生第二驗(yàn)證因子后,基于隨機(jī)產(chǎn)生的第一驗(yàn)證因子及第二驗(yàn)證因子產(chǎn)生所述驗(yàn)證表達(dá)式的標(biāo)準(zhǔn)結(jié)合結(jié)果,并將所述標(biāo)準(zhǔn)結(jié)合結(jié)果保存,具體的,可保存該標(biāo)準(zhǔn)結(jié)合結(jié)果與該用戶標(biāo)識的對應(yīng)關(guān)系。
前面所述的標(biāo)準(zhǔn)結(jié)合結(jié)果是將所述變量的賦值代入所述包含變量的驗(yàn)證表達(dá)式后得到的結(jié)果。例如,將變量代入數(shù)學(xué)表達(dá)式或邏輯表達(dá)式或得到的結(jié)果,或?qū)⒆兞看胱址蟮慕Y(jié)果。
步驟S12可通過在驗(yàn)證頁面提供驗(yàn)證碼輸入窗口接收用戶輸入的驗(yàn)證碼。
步驟S13用于驗(yàn)證用戶輸入的驗(yàn)證碼是否正確,從而驗(yàn)證用戶身份的合法性,具體的,可以以該用戶標(biāo)識為索引,查找基于所述第一驗(yàn)證因子和所述第二驗(yàn)證因子產(chǎn)生的標(biāo)準(zhǔn)結(jié)合結(jié)果,通過將所述用戶輸入的驗(yàn)證碼與所述標(biāo)準(zhǔn)結(jié)合結(jié)果進(jìn)行比對,若一致,則驗(yàn)證通過,表示該用戶身份合法;若不一致,則驗(yàn)證失敗,表示該用戶有可能為非法用戶。
可以理解的是,本申請實(shí)施例所述的驗(yàn)證因子并不局限于兩個(gè),上面實(shí)施例中包含第一驗(yàn)證因子和第二驗(yàn)證因子僅為一種舉例。實(shí)際應(yīng)用中可以包含多個(gè)驗(yàn)證因子,也可理解為包含多個(gè)第二驗(yàn)證因子,則通過區(qū)別于所述第一途徑的第二途徑提供第二驗(yàn)證因子給所述用戶時(shí),為多個(gè)第二驗(yàn) 證因子中的不同第二驗(yàn)證因子選擇區(qū)別于所述第一途徑的、不同的第二途徑提供給所述用戶。此時(shí),所述的標(biāo)準(zhǔn)結(jié)合結(jié)果為所有驗(yàn)證因子結(jié)合的結(jié)果。
本實(shí)施例中將驗(yàn)證碼拆分為第一驗(yàn)證因子和第二驗(yàn)證因子,并通過不同途徑將第一驗(yàn)證因子和第二驗(yàn)證因子提供給用戶,且利用基于所述第一驗(yàn)證因子和第二驗(yàn)證因子產(chǎn)生的標(biāo)準(zhǔn)結(jié)合結(jié)果來驗(yàn)證用戶身份,有效降低了驗(yàn)證碼被竊取的風(fēng)險(xiǎn)。對于使用貓池進(jìn)行惡意注冊的行為,其即使獲取其中一個(gè)驗(yàn)證因子,也無法獲得正確的驗(yàn)證碼,因此,可有效防止刷庫及惡意注冊等行為的發(fā)生。
為便于理解上述技術(shù)方案,下面以登錄場景對用戶身份進(jìn)行驗(yàn)證為例進(jìn)行說明。如圖2中所示為該方法具體流程圖,該方法主要包括如下步驟:
S20響應(yīng)于接收到用戶的進(jìn)入登錄頁面的請求,提供顯示有驗(yàn)證表達(dá)式的登錄頁面。
具體的,接收到用戶的進(jìn)入登錄頁面的請求后,為該用戶隨機(jī)產(chǎn)生一驗(yàn)證表達(dá)式為:12×a=?,該驗(yàn)證表達(dá)式中包含一個(gè)變量a??赏瑫r(shí)確定該變量a的賦值,a=3;并將變量的賦值代入所述驗(yàn)證表達(dá)式中以確定該驗(yàn)證表達(dá)式的標(biāo)準(zhǔn)數(shù)學(xué)運(yùn)算結(jié)果為:36(即12×3=36)。將隨機(jī)產(chǎn)生的該驗(yàn)證表達(dá)式以圖片形式顯示在登錄頁面中,并保存a的賦值以及基于該賦值計(jì)算的該驗(yàn)證表達(dá)式的標(biāo)準(zhǔn)運(yùn)算結(jié)果,例如,保存該a的賦值與該用戶的用戶標(biāo)識的對應(yīng)關(guān)系以及所述標(biāo)準(zhǔn)運(yùn)算結(jié)果與該用戶的用戶標(biāo)識的對應(yīng)關(guān)系。
S21、響應(yīng)于接收到用戶獲取變量賦值的請求,將變量的賦值通過短消息發(fā)送給用戶。
例如,在登陸頁面中提供一獲取變量賦值的按鈕,在識別到用戶點(diǎn)擊該按鈕時(shí),則即接收到用戶獲取變量賦值的請求,則以該用戶的用戶標(biāo)識為索引查找保存的變量的賦值為a=3,同時(shí)獲取到該用戶選擇的第二途徑為發(fā)送短消息,以及接收短消息到手機(jī)號,則向該用戶提供的手機(jī)號發(fā)送短消息以提供變量a的賦值。
S22、接收用戶輸入的驗(yàn)證碼;
通過在登錄頁面提供一驗(yàn)證碼輸入框來接收用戶輸入的驗(yàn)證碼。
S23、驗(yàn)證用戶輸入的驗(yàn)證碼與基于所述驗(yàn)證表達(dá)式以及表達(dá)式中變量的賦值確定的標(biāo)準(zhǔn)運(yùn)算結(jié)果是否一致,來驗(yàn)證用戶身份。
具體的,以該用戶的用戶標(biāo)識為索引,查找基于所述驗(yàn)證表達(dá)式以及a的賦值確定的標(biāo)準(zhǔn)運(yùn)算結(jié)果,得到該標(biāo)準(zhǔn)運(yùn)算結(jié)果為36,通過比對用戶輸入的驗(yàn)證碼是否為36來確定用戶身份驗(yàn)證是否成功。
本申請實(shí)施例還提供一種與上述用于驗(yàn)證用戶身份的方法對應(yīng)的裝置,所述裝置用于實(shí)現(xiàn)注冊或登錄時(shí)對用戶身份的驗(yàn)證。如圖3中所示為所述裝置的結(jié)構(gòu)示意圖,該裝置主要包括:第一驗(yàn)證因子提供單元30、第二驗(yàn)證因子提供單元31、接收單元32及驗(yàn)證單元33。
其中的第一驗(yàn)證因子提供單元30,主要用于響應(yīng)于接收到用戶的身份驗(yàn)證觸發(fā)請求,通過第一途徑提供第一驗(yàn)證因子給所述用戶。
第二驗(yàn)證因子提供單元31,主要用于響應(yīng)于接收到用戶獲取第二驗(yàn)證因子的請求,通過區(qū)別于所述第一途徑的第二途徑提供第二驗(yàn)證因子給所述用戶。
接收單元32,主要用于接收用戶輸入的驗(yàn)證碼。
驗(yàn)證單元33,主要用于通過將所述用戶輸入的驗(yàn)證碼與基于所述第一驗(yàn)證因子和所述第二驗(yàn)證因子產(chǎn)生的標(biāo)準(zhǔn)結(jié)合結(jié)果進(jìn)行比對來驗(yàn)證用戶身份。
下面對上述各單元做進(jìn)一步詳細(xì)介紹。
首先對第一驗(yàn)證因子及第二驗(yàn)證因子進(jìn)行下說明。其中一種實(shí)施例所述的第一驗(yàn)證因子可以是包含變量的驗(yàn)證表達(dá)式,所述第二驗(yàn)證因子可以是所述變量的賦值。另一實(shí)施例所述第二驗(yàn)證因子可以是包含變量的驗(yàn)證表達(dá)式,所述第一驗(yàn)證因子可以是所述變量的賦值。所述驗(yàn)證表達(dá)式中至少包含一個(gè)變量。所述變量可以由任意符號表示,如圖形符號、字母或其他字符等等。所述驗(yàn)證表達(dá)式可以是數(shù)學(xué)表達(dá)式或邏輯表達(dá)式,或者也可以是字符串。
針對數(shù)學(xué)表達(dá)式,所述變量可以用來表示數(shù)學(xué)表達(dá)式中的數(shù)學(xué)運(yùn)算符 號(包括括號等數(shù)字分組符號)和數(shù)字中的至少一個(gè)。
例如,所述驗(yàn)證表達(dá)式可以為:24×a=?,該驗(yàn)證表達(dá)式中包括:數(shù)字、數(shù)學(xué)運(yùn)算符號和用字母表示的變量。
所述驗(yàn)證表達(dá)式還可以為:□+△=??,其中,該驗(yàn)證表達(dá)式中包括:用不同圖形表示的變量和數(shù)學(xué)運(yùn)算符號。
所述驗(yàn)證表達(dá)式還可以為:x□y=?,該驗(yàn)證表達(dá)式中包括:用字母和圖形表示的變量。
所述驗(yàn)證表達(dá)式還可以為:24×ax+yb=?,其中a、b可分別表示左括號和右括號,x、y可分別表示數(shù)字,也就是該驗(yàn)證表達(dá)式包括用字母表示的變量,且該變量的賦值包括數(shù)字和數(shù)字分組符號。
所述的邏輯表達(dá)式可以為包含邏輯運(yùn)算符號的表達(dá)式,例如,10>x是否正確等等;也可以為使用文字描述的表達(dá)式,例如,屬牛后的第a個(gè)屬相是什么等等。
所述驗(yàn)證表達(dá)式若為字符串,其可以是英文單詞,例如,b?□d,對應(yīng)的變量的賦值可以為?=i,□=r,當(dāng)然也可以為其他形式的字符串。
上述所列舉的第一驗(yàn)證因子和第二驗(yàn)證因子的表達(dá)形式僅為發(fā)明人所列舉的幾種實(shí)例,本申請并不局限于此。
所述的身份驗(yàn)證觸發(fā)請求包括但不限于:用戶發(fā)送的進(jìn)入注冊頁面的請求,或用戶發(fā)送的進(jìn)入登錄頁面的請求等等。
其中,第一驗(yàn)證因子提供單元30通過第一途徑提供第一驗(yàn)證因子給所述用戶包括:通過驗(yàn)證頁面顯示所述第一驗(yàn)證因子給所述用戶,例如,可以以圖片形式在驗(yàn)證頁面顯示所述第一驗(yàn)證因子。其中,針對用戶發(fā)送的進(jìn)入注冊頁面的請求,則對應(yīng)的驗(yàn)證頁面即為注冊頁面;針對用戶發(fā)送的進(jìn)入登錄頁面的請求,對應(yīng)的驗(yàn)證頁面即為登錄頁面。當(dāng)然,所述第一途徑還包括以下至少一種:發(fā)送電子郵件、發(fā)送短消息、發(fā)送應(yīng)用上的即時(shí)消息等等。
可選地,可以對該第一驗(yàn)證因子進(jìn)行變形和/或加擾,則第一驗(yàn)證因子提供單元30在驗(yàn)證頁面中顯示變形和/或加擾后的第一驗(yàn)證因子。所述變形包括但不限于:扭曲、旋轉(zhuǎn)、拉伸、壓縮等等處理。所述加擾包括但不 限于:增加背景、干擾線等等??梢岳斫獾氖牵€可以通過音頻展現(xiàn)所述第一驗(yàn)證因子。
所述第二驗(yàn)證因子提供單元31是響應(yīng)于接收到用戶獲取第二驗(yàn)證因子的請求,通過區(qū)別于第一途徑的第二途徑提供第二驗(yàn)證因子給用戶,所述的第二途徑包括如下至少一種:
發(fā)送應(yīng)用上的即時(shí)消息的方式、發(fā)送短消息的方式、發(fā)送電子郵件的方式。
本申請實(shí)施例可在用戶注冊時(shí)由用戶選擇所述第二途徑,例如,若用戶選擇發(fā)送短消息的方式,則用戶提供接收短消息的手機(jī)號;若用戶選擇發(fā)送應(yīng)用上的即時(shí)消息的方式,則用戶提供接收即時(shí)消息的賬號;若用戶選擇發(fā)送電子郵件的方式,則用戶提供接收電子郵件的地址等等。需要說明的是,發(fā)送第二驗(yàn)證因子的第二途徑是區(qū)別于發(fā)送第一驗(yàn)證因子的第一途徑,也就是,若第一途徑為發(fā)送短消息,則第二途徑為區(qū)別于發(fā)送短消息的其他途徑,如發(fā)送電子郵件,或發(fā)送應(yīng)用上的即時(shí)消息。且第二算法因子同樣可以以圖形或音頻形式展現(xiàn)給用戶。
具體實(shí)施中可以在驗(yàn)證頁面中提供獲取第二驗(yàn)證因子的按鈕,用戶通過點(diǎn)擊該按鈕發(fā)送獲取第二驗(yàn)證因子的請求。
對于第一驗(yàn)證因子和第二驗(yàn)證因子的產(chǎn)生時(shí)機(jī)包括如下任一種情況:
其中一種實(shí)施例,所述第一驗(yàn)證因子及第二驗(yàn)證因子可以是響應(yīng)于用戶的身份驗(yàn)證觸發(fā)請求隨機(jī)產(chǎn)生的,并基于隨機(jī)產(chǎn)生的第一驗(yàn)證因子及第二驗(yàn)證因子產(chǎn)生所述驗(yàn)證表達(dá)式的標(biāo)準(zhǔn)結(jié)合結(jié)果,例如,響應(yīng)于用戶的身份驗(yàn)證觸發(fā)請求,為用戶隨機(jī)生成的第一驗(yàn)證因子為一個(gè)包含變量的驗(yàn)證表達(dá)式為:x-y=?,此驗(yàn)證表達(dá)式中用字母x和y代表兩個(gè)變量。隨機(jī)生成的第二驗(yàn)證因子為兩變量的賦值,x=45,y=20,以及根據(jù)兩變量的賦值確定該驗(yàn)證表達(dá)式的標(biāo)準(zhǔn)數(shù)學(xué)運(yùn)算結(jié)果為25(即表達(dá)式45-20的結(jié)果)。將第一驗(yàn)證因子通過第一途徑提供給用戶,以及將第二驗(yàn)證因子保存,在接收到用戶的第二驗(yàn)證因子獲取請求情況下通過第二途徑發(fā)送給用戶,并將所述標(biāo)準(zhǔn)結(jié)合結(jié)果保存,具體的,可保存該標(biāo)準(zhǔn)結(jié)合結(jié)果與該用戶標(biāo)識的對應(yīng)關(guān)系,例如,用戶ID<標(biāo)準(zhǔn)結(jié)合結(jié)果=25>。
另一種實(shí)施例,所述第一驗(yàn)證因子是響應(yīng)于用戶的身份驗(yàn)證觸發(fā)請求隨機(jī)產(chǎn)生。所述第二驗(yàn)證因子是響應(yīng)于接收到第二驗(yàn)證因子獲取請求隨機(jī)產(chǎn)生。并在隨機(jī)產(chǎn)生第二驗(yàn)證因子后,基于隨機(jī)產(chǎn)生的第一驗(yàn)證因子及第二驗(yàn)證因子產(chǎn)生所述驗(yàn)證表達(dá)式的標(biāo)準(zhǔn)結(jié)合結(jié)果,并將所述標(biāo)準(zhǔn)結(jié)合結(jié)果保存,具體的,可保存該標(biāo)準(zhǔn)結(jié)合結(jié)果與該用戶標(biāo)識的對應(yīng)關(guān)系。
前面所述的標(biāo)準(zhǔn)結(jié)合結(jié)果是將所述變量的賦值代入所述包含變量的驗(yàn)證表達(dá)式得到的結(jié)果。例如,將變量代入數(shù)學(xué)表達(dá)式或邏輯表達(dá)式或得到的結(jié)果,或?qū)⒆兞看胱址蟮慕Y(jié)果。
接收單元32可通過在驗(yàn)證頁面提供驗(yàn)證碼輸入窗口接收用戶輸入的驗(yàn)證碼。
驗(yàn)證單元33用于驗(yàn)證用戶輸入的驗(yàn)證碼是否正確,從而驗(yàn)證用戶身份的合法性,具體的,可以以該用戶標(biāo)識為索引,查找基于所述第一驗(yàn)證因子和所述第二驗(yàn)證因子產(chǎn)生的標(biāo)準(zhǔn)結(jié)合結(jié)果,通過將所述用戶輸入的驗(yàn)證碼與所述標(biāo)準(zhǔn)結(jié)合結(jié)果進(jìn)行比對,若一致,則驗(yàn)證通過,表示該用戶身份合法;若不一致,則驗(yàn)證失敗,表示該用戶有可能為非法用戶。
可以理解的是,本申請實(shí)施例所述的驗(yàn)證因子并不局限于兩個(gè),上面實(shí)施例中包含第一驗(yàn)證因子和第二驗(yàn)證因子僅為一種舉例。實(shí)際應(yīng)用中可以包含多個(gè)驗(yàn)證因子,也可理解為包含多個(gè)第二驗(yàn)證因子,則通過區(qū)別于所述第一途徑的第二途徑提供第二驗(yàn)證因子給所述用戶時(shí),為多個(gè)第二驗(yàn)證因子中的不同第二驗(yàn)證因子選擇區(qū)別于所述第一途徑的、不同的第二途徑提供給所述用戶。此時(shí),所述的標(biāo)準(zhǔn)結(jié)合結(jié)果為所有驗(yàn)證因子結(jié)合的結(jié)果。
本實(shí)施例中將驗(yàn)證碼拆分為第一驗(yàn)證因子和第二驗(yàn)證因子,并通過不同途徑將第一驗(yàn)證因子和第二驗(yàn)證因子提供給用戶,且利用基于所述第一驗(yàn)證因子和第二驗(yàn)證因子產(chǎn)生的標(biāo)準(zhǔn)結(jié)合結(jié)果來驗(yàn)證用戶身份,有效降低了驗(yàn)證碼被竊取的風(fēng)險(xiǎn),可有效防止刷庫及惡意注冊等行為的發(fā)生。
需要注意的是,本發(fā)明可在軟件和/或軟件與硬件的組合體中被實(shí)施,例如,可采用專用集成電路(ASIC)、通用目的計(jì)算機(jī)或任何其他類似硬件設(shè)備來實(shí)現(xiàn)。在一個(gè)實(shí)施例中,本發(fā)明的軟件程序可以通過處理器執(zhí)行 以實(shí)現(xiàn)上文所述步驟或功能。同樣地,本發(fā)明的軟件程序(包括相關(guān)的數(shù)據(jù)結(jié)構(gòu))可以被存儲到計(jì)算機(jī)可讀記錄介質(zhì)中,例如,RAM存儲器,磁或光驅(qū)動器或軟磁盤及類似設(shè)備。另外,本發(fā)明的一些步驟或功能可采用硬件來實(shí)現(xiàn),例如,作為與處理器配合從而執(zhí)行各個(gè)步驟或功能的電路。
另外,本發(fā)明的一部分可被應(yīng)用為計(jì)算機(jī)程序產(chǎn)品,例如計(jì)算機(jī)程序指令,當(dāng)其被計(jì)算機(jī)執(zhí)行時(shí),通過該計(jì)算機(jī)的操作,可以調(diào)用或提供根據(jù)本發(fā)明的方法和/或技術(shù)方案。而調(diào)用本發(fā)明的方法的程序指令,可能被存儲在固定的或可移動的記錄介質(zhì)中,和/或通過廣播或其他信號承載媒體中的數(shù)據(jù)流而被傳輸,和/或被存儲在根據(jù)所述程序指令運(yùn)行的計(jì)算機(jī)設(shè)備的工作存儲器中。在此,根據(jù)本發(fā)明的一個(gè)實(shí)施例包括一個(gè)裝置,該裝置包括用于存儲計(jì)算機(jī)程序指令的存儲器和用于執(zhí)行程序指令的處理器,其中,當(dāng)該計(jì)算機(jī)程序指令被該處理器執(zhí)行時(shí),觸發(fā)該裝置運(yùn)行基于前述根據(jù)本發(fā)明的多個(gè)實(shí)施例的方法和/或技術(shù)方案。
對于本領(lǐng)域技術(shù)人員而言,顯然本發(fā)明不限于上述示范性實(shí)施例的細(xì)節(jié),而且在不背離本發(fā)明的精神或基本特征的情況下,能夠以其他的具體形式實(shí)現(xiàn)本發(fā)明。因此,無論從哪一點(diǎn)來看,均應(yīng)將實(shí)施例看作是示范性的,而且是非限制性的,本發(fā)明的范圍由所附權(quán)利要求而不是上述說明限定,因此旨在將落在權(quán)利要求的等同要件的含義和范圍內(nèi)的所有變化涵括在本發(fā)明內(nèi)。不應(yīng)將權(quán)利要求中的任何附圖標(biāo)記視為限制所涉及的權(quán)利要求。此外,顯然“包括”一詞不排除其他單元或步驟,單數(shù)不排除復(fù)數(shù)。系統(tǒng)權(quán)利要求中陳述的多個(gè)單元或裝置也可以由一個(gè)單元或裝置通過軟件或者硬件來實(shí)現(xiàn)。第一,第二等詞語用來表示名稱,而并不表示任何特定的順序。