本申請涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,尤其涉及一種人機識別方法及裝置。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,很多網(wǎng)站應(yīng)運而生。為了便于網(wǎng)站個性化管理用戶資料,用戶可以向網(wǎng)站進行注冊用戶名以及用戶密碼,并且,用戶名和用戶密碼統(tǒng)稱為注冊信息。伴隨著網(wǎng)站的逐漸增加,用戶需要在多個網(wǎng)站上進行注冊。為了方便記憶各個網(wǎng)站的注冊信息,大多數(shù)用戶在各個網(wǎng)站上的注冊信息是相同的或者類似的。
眾所周知,各個網(wǎng)站的風險控制等級不一致,如果一個網(wǎng)站的風險控制等級較低,則較為容易被黑客入侵。如果一個網(wǎng)站的風險控制等級較高,則不容易被黑客入侵。因此,黑客往往攻擊風險控制等級較低的網(wǎng)站,在攻擊成功之后,可以批量盜取用戶的注冊信息。
由于各個網(wǎng)站的注冊信息為相同或類似,因此,黑客可以利用批量盜取的注冊信息登錄風險控制等級較高的網(wǎng)站,進而對風險程度較高的網(wǎng)站進行攻擊。這會進一步導致更多注冊信息的泄露并對用戶造成一定損失。
由于黑客一般通過操控機器的方式攻擊網(wǎng)站以獲取注冊信息,因此如果網(wǎng)站的操作者為機器,則很有可能是黑客在利用機器在攻擊網(wǎng)站。因此,現(xiàn)在需要一種技術(shù)手段來識別網(wǎng)站的操作者是否為機器,以便可以防范機器攻擊網(wǎng)站。
技術(shù)實現(xiàn)要素:
在研究過程中,本申請發(fā)明人發(fā)現(xiàn):
為了防止機器攻擊網(wǎng)站,一些防控技術(shù)手段已經(jīng)應(yīng)用到線上網(wǎng)站中。例如,在網(wǎng)站登錄或付款時顯示圖片驗證碼,若操作者可以依照圖片驗證碼來輸入正確的驗證碼,則表示當前操作為人工操作。
但是,針對已知防控技術(shù)手段,其破解技術(shù)也被黑客所破解,所以現(xiàn)有的防控技術(shù)手段已經(jīng)無法阻止黑客的批量盜號行為。例如,在網(wǎng)站登錄或付 款時顯示圖片驗證碼,黑客可以采用圖片識別技術(shù)來識別圖片驗證碼的具體內(nèi)容,從而輸入正確的驗證碼,以達到躲避防控技術(shù)的目的。
因此,本申請?zhí)峁┝艘环N人機識別方法及裝置,來緩解黑客使用機器攻擊網(wǎng)站問題。
本申請?zhí)峁┮韵录夹g(shù)手段來實現(xiàn)上述目的:
一種人機識別方法,包括:
渲染任務(wù)的顯示界面;其中,所述顯示界面攜帶有操作場景、操作對象和任務(wù)目標;
接收針對所述操作對象的處理操作;
在所述處理操作滿足預設(shè)條件的情況下,確定所述處理操作為人工操作;其中,所述預設(shè)條件包括所述處理操作的操作結(jié)果達到所述任務(wù)的任務(wù)目標。
優(yōu)選的,所述預設(shè)條件還包括:
所述處理操作所形成的運行狀態(tài)信息滿足預設(shè)人工操作條件。
優(yōu)選的,所述任務(wù)的任務(wù)類型為無智類型、弱智類型或強智類型;
在所述任務(wù)為無智類型或弱智類型的情況下,所述預設(shè)條件還包括:所述處理操作所形成的運行狀態(tài)信息滿足預設(shè)人工操作條件。
優(yōu)選的,所述處理操作所形成的運行狀態(tài)信息滿足預設(shè)人工操作條件,包括:
所述處理操作所形成的運動軌跡與預設(shè)人工操作軌跡匹配;和/或
所述處理操作所形成的直線運動速度在預設(shè)人工運動速度范圍內(nèi);和/或
所述處理操作所形成的彎道運動加速度在預設(shè)人工運動加速度范圍內(nèi)。
優(yōu)選的,所述處理操作所形成的運行狀態(tài)信息滿足預設(shè)人工操作條件,包括:
所述處理操作所形成的運動軌跡與預設(shè)人工操作軌跡的匹配程度,對應(yīng)所述處理操作的第一分數(shù);
所述處理操作所形成的直線運動速度與預設(shè)人工運動速度范圍的匹配程度,對應(yīng)所述處理操作的第二分數(shù);
所述處理操作所形成的彎道運動加速度與預設(shè)滿足預設(shè)人工加速度范圍的匹配程度,對應(yīng)所述處理操作的第三分數(shù);
第一乘積、第二乘積和第三乘積的和值大于預設(shè)人工操作分數(shù);其中,所述第一乘積為所述第一分數(shù)與第一權(quán)重的乘積,所述第二乘積為所述第二分數(shù)與第二權(quán)重的乘積,所述第三乘積為所述第三分數(shù)與第三權(quán)重的乘積。
優(yōu)選的,所述處理操作包括:
上移、下移、左移、右移、拖動、更改操作對象的方位中的一種或多種的組合。
一種人機識別裝置,包括:
渲染單元,用于渲染任務(wù)的顯示界面;其中,所述顯示界面攜帶有操作場景、操作對象和任務(wù)目標;
接收單元,用于接收針對所述操作對象的處理操作;
確定單元,用于在所述處理操作滿足預設(shè)條件的情況下,確定所述處理操作為人工操作;其中,所述預設(shè)條件包括所述處理操作的操作結(jié)果達到所述任務(wù)的任務(wù)目標。
優(yōu)選的,所述預設(shè)條件還包括:
所述處理操作所形成的運行狀態(tài)信息滿足預設(shè)人工操作條件。
優(yōu)選的,所述任務(wù)的任務(wù)類型為無智類型、弱智類型或強智類型;
在所述任務(wù)為無智類型或弱智類型的情況下,所述預設(shè)條件還包括:
所述處理操作所形成的運行狀態(tài)信息滿足預設(shè)人工操作條件。
優(yōu)選的,所述處理操作所形成的運行狀態(tài)信息滿足預設(shè)人工操作條件,包括:
所述處理操作所形成的運動軌跡與預設(shè)人工操作軌跡匹配;和/或
所述處理操作所形成的直線運動速度在預設(shè)人工運動速度范圍內(nèi);和/或
所述處理操作所形成的彎道運動加速度在預設(shè)人工運動加速度范圍內(nèi)。
優(yōu)選的,所述處理操作所形成的運行狀態(tài)信息滿足預設(shè)人工操作條件,包括:
所述處理操作所形成的運動軌跡與預設(shè)人工操作軌跡的匹配程度,對應(yīng)所述處理操作的第一分數(shù);
所述處理操作所形成的直線運動速度與預設(shè)人工運動速度范圍的匹配程度,對應(yīng)所述處理操作的第二分數(shù);
所述處理操作所形成的彎道運動加速度與預設(shè)滿足預設(shè)人工加速度范圍的匹配程度,對應(yīng)所述處理操作的第三分數(shù);
第一乘積、第二乘積和第三乘積的和值大于預設(shè)人工操作分數(shù);其中,所述第一乘積為所述第一分數(shù)與第一權(quán)重的乘積,所述第二乘積為所述第二分數(shù)與第二權(quán)重的乘積,所述第三乘積為所述第三分數(shù)與第三權(quán)重的乘積。
優(yōu)選的,所述處理操作包括:
上移、下移、左移、右移、拖動、更改操作對象的方位中的一種或多種的組合。
通過技術(shù)手段,可以得到以下有益效果:
本申請?zhí)峁┮环N相當于驗證碼的任務(wù),本申請所提供的任務(wù)并不是固定不變的,任務(wù)中的操作對象可以隨著操作者的處理操作而移動的。并且,操作者所執(zhí)行的處理操作也不僅僅是簡單的輸入操作,而是為了達到任務(wù)目標而對操作對象執(zhí)行的處理操作。當操作者的處理操作使得任務(wù)達到任務(wù)目標時,即可認為操作者輸入正確的驗證碼。因此,本申請所提供的防控技術(shù)由于任務(wù)中需要加入操作者的處理操作才能夠完成任務(wù),并且處理操作并不是機器通過簡單的識別技術(shù)便可破解的,所以,本申請?zhí)峁┑募夹g(shù)手段可以準確識別操作者為人工還是機器。
附圖說明
為了更清楚地說明本申請實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本申請實施例公開的一種人機識別方法的流程圖;
圖2為本申請實施例公開的一種人機識別方法中的任務(wù)示意圖;
圖3為本申請實施例公開的又一種人機識別方法中的任務(wù)示意圖;
圖4為本申請實施例公開的一種人機識別裝置的結(jié)構(gòu)示意圖。
具體實施方式
下面將結(jié)合本申請實施例中的附圖,對本申請實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例。基于本申請中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護的范圍。
本申請發(fā)明人在研究過程中發(fā)現(xiàn):雖然圖片驗證碼中的具體內(nèi)容是隨機的,但是在一次操作過程中一旦圖片驗證碼生成,圖片驗證碼上的具體內(nèi)容便不會改變。操作者僅需將圖片驗證碼的具體內(nèi)容填寫至輸入框中即可。即現(xiàn)有技術(shù)圖片驗證碼一旦生成不會改變,并且需要操作者執(zhí)行的處理操作較少。因此,黑客可以利用圖片識別技術(shù)來識別圖片驗證碼的具體內(nèi)容,并將其填寫至輸入框,以此來躲避現(xiàn)有防控技術(shù)。
鑒于此,本申請發(fā)明人設(shè)想提供一種相當于驗證碼的任務(wù),該任務(wù)中的操作對象可以隨著操作者的處理操作而移動,當操作者的處理操作使得任務(wù)達到任務(wù)目標時,即可認為操作者輸入正確的驗證碼。即,本申請所提供的相當于驗證碼的任務(wù)并不是固定不變的,而是可以隨著操作者的處理操作而移動的。并且,操作者所執(zhí)行的處理操作也不僅僅是簡單的輸入操作,而是為了達到任務(wù)目標而對操作對象執(zhí)行的處理操作。加之,只有在操作者的處理操作達到任務(wù)目標時,才確定操作者輸入正確的驗證碼。
為了使得本申請所提供的防控技術(shù)不被黑客輕易破解,所以任務(wù)的一個主要特征是隨機性,以便在網(wǎng)站需要輸入驗證碼階段,網(wǎng)站可以保證隨機分發(fā)不同的任務(wù)。
為了網(wǎng)站實現(xiàn)隨機性分發(fā)任務(wù)的目的,針對同一種類任務(wù)而言,其任務(wù)目標和操作對象應(yīng)該可以隨機移動。例如,假設(shè)一個任務(wù)為推箱子,操作對象為箱子,任務(wù)目標為一個指定位置。當操作者將箱子從起始位置推動至指定位置時,代表操作者完成該任務(wù)。為了保證任務(wù)的隨機性,在每個任務(wù)中操作對象的起始位置和任務(wù)目標的指定位置均是不同的,以實現(xiàn)隨機分發(fā)任務(wù)的目的。
此外,為了增加任務(wù)多樣性,可以在網(wǎng)站中添加多個種類任務(wù),例如,推箱子、俄羅斯方塊、小熊貓爬竹竿和貪吃蛇任務(wù)等等。并且,每個種類任務(wù)均具有隨機性的特征,即可以實現(xiàn)隨機分發(fā)不同任務(wù)目的。這樣可以在網(wǎng) 站中實現(xiàn)任務(wù)的多樣性和隨機性,從而使得操作者需要執(zhí)行不同的處理操作,來完成任務(wù),以達到利用任務(wù)來實現(xiàn)驗證碼的目的。
下面詳細介紹本申請的詳細執(zhí)行過程,如圖1所示,本申請?zhí)峁┝艘环N人機識別方法,應(yīng)用于網(wǎng)站的控制器,所述方法包括以下步驟:
步驟S101:渲染任務(wù)的顯示界面;其中,所述顯示界面攜帶有操作場景、操作對象和任務(wù)目標。
操作者在網(wǎng)站的一個網(wǎng)頁執(zhí)行到需要輸入驗證碼的情況下,在控制器上具有多個種類的任務(wù)的情況下,首先隨機地或者按照一定方式地選擇一個種類的任務(wù);在控制器上僅有一個種類的任務(wù)的情況下,則直接選擇該種類的任務(wù)。在控制器確定一個種類的任務(wù)之后,針對該種類任務(wù)隨機生成一個具體任務(wù)。
由于任務(wù)在控制器均以軟件程序方式進行存儲,為了讓操作者可以完成任務(wù),必須讓操作者看到任務(wù),因此控制器可以渲染任務(wù)的顯示界面。在顯示界面上具有操作場景、操作對象和任務(wù)目標。操作場景主要用于表示操作對象的行進線路;操作對象表示隨著操作處理操作而移動的對象;任務(wù)目標表示操作對象需要達到的目的,在操作對象達到任務(wù)目標時,可以表示操作者完成任務(wù)。
例如,以任務(wù)為推箱子為例,參見圖2為推箱子任務(wù)的一個顯示界面。在顯示界面上橫豎相間的表示箱子行進線路為操作場景,箱子表示操作對象,黑色實體框為箱子所要達到的任務(wù)目標。
再如,以任務(wù)俄羅斯方塊為例,參見圖3為俄羅斯方塊的一個顯示界面。在顯示界面上,橫豎相間的表示操作對象行進線路以及在顯示界面底部已有的一些固定的操作塊均為操作場景,在圖2中操作塊為操作對象(如圖2所示的“L”型的操作塊),預先設(shè)定的分數(shù)(如300分)為任務(wù)目標,在圖示中未顯示。
步驟S102:接收針對所述操作對象的處理操作。
在控制器利用顯示界面顯示出任務(wù)之后,操作者可以依據(jù)操作場景針對操作對象執(zhí)行處理操作。處理操作可以為:上移、下移、左移、右移、拖動、更改操作對象的方位以及這些操作的組合??梢岳斫獾氖牵幚聿僮骺梢允? 多種多樣的,本申請僅僅列舉出一些。針對操作對象的其它處理操作,也屬于本申請的保護范圍。
例如,延續(xù)上述舉例,針對圖2所示的任務(wù)。為了使得任務(wù)達到任務(wù)目標,操作者可以將操作對象(箱子)右移一步再將操作對象上移兩步。當然,操作者還可以將操作對象上移兩步再將操作對象右移一步。這些針對操作對象所執(zhí)行的操作均可以看作為處理操作。
再如,延續(xù)上述舉例,針對圖3所示的任務(wù)。為了使得任務(wù)達到任務(wù)目標,操作者可以將操作對象(操作塊)進行變換操作,再將操作對象向左移動、向右移動或向下移動,以使操作塊達到空缺位置。這些針對操作對象所執(zhí)行的操作均可以看作為處理操作。
步驟S103:在所述處理操作滿足預設(shè)條件的情況下,確定所述處理操作為人工操作;其中,所述預設(shè)條件包括所述處理操作的操作結(jié)果達到所述任務(wù)的任務(wù)目標。
本申請所提供的預設(shè)條件包括操作者對操作對象的處理操作,可以使得任務(wù)達到任務(wù)目標。當操作者對操作對象執(zhí)行處理操作之后的操作結(jié)果可以使得任務(wù)達到任務(wù)目標時,則確定操作者完成任務(wù),也即代表操作者通過驗證。
具體而言,在操作者每執(zhí)行一步處理操作,均會對處理操作的操作結(jié)果進行判斷,以判定任務(wù)是否達到任務(wù)目標。針對不同種類的任務(wù)而言,由于操作場景、操作對象和任務(wù)目標均不一致,所以,在不同種類中判斷處理操作是否完成任務(wù)的判斷依據(jù)也不盡相同。因此,在實際應(yīng)用過程中,需要預先在控制器中設(shè)定各個種類任務(wù)的判斷依據(jù),至于各個種類任務(wù)的判斷依據(jù)的具體設(shè)定過程,不是本申請所保護的重點,在此不再贅述。
例如,針對圖2所示的推箱子,在操作者執(zhí)行一步處理操作之后,即以驗證操作對象的位置與指定位置是否一致,若一致的話,則表示任務(wù)達到任務(wù)目標。
再如,針對圖3所示的俄羅斯方塊,在操作者對一個操作塊執(zhí)行完畢之后,可以驗證操作者所得分數(shù)是否大于設(shè)定分數(shù)(任務(wù)目標),若所得分數(shù)達到任務(wù)目標,則判定任務(wù)達到任務(wù)目標。
本申請所提供的利用任務(wù)作為驗證碼的技術(shù)手段為目前較為新穎的防控技術(shù),黑客在短時間內(nèi)應(yīng)該無法破解本申請所提供防控技術(shù)。因此,在確定操作者的處理操作達到任務(wù)目標時,也就是確定操作者通過驗證時,表示操作者的處理操作是人工操作,操作者是人工而非機器。
可以理解的是,在操作者的處理操作未達到任務(wù)目標時,也就是確定操作者未通過驗證時,不能表示操作者的處理操作是人工操作。
從以上內(nèi)容,可以看出本申請具有以下有益效果:
本申請?zhí)峁┮环N相當于驗證碼的任務(wù),本申請所提供的任務(wù)并不是固定不變的,任務(wù)中的操作對象可以隨著操作者的處理操作而移動的。并且,操作者所執(zhí)行的處理操作也不僅僅是簡單的輸入操作,而是為了達到任務(wù)目標而對操作對象執(zhí)行的處理操作。當操作者的處理操作使得任務(wù)達到任務(wù)目標時,即可認為操作者輸入正確的驗證碼。因此,本申請所提供的防控技術(shù)由于任務(wù)中需要加入操作者的處理操作才能夠完成任務(wù),并且處理操作并不是機器通過簡單的識別技術(shù)便可破解的,所以,本申請?zhí)峁┑募夹g(shù)手段可以準確識別操作者為人工還是機器。
由于本申請所提供的防控技術(shù)手段較為新穎,黑客在短時間應(yīng)該不會破解。但是,隨著黑客的技術(shù)越來越高,在一段時間之后圖1所示的實施例提供的防控技術(shù)難免被破解。即,機器也可以對操作對象執(zhí)行處理操作,從而使得任務(wù)達到目標。為此,本申請在圖1所示的實施例之上,還增加了以下技術(shù)內(nèi)容,以便在一個操作者的處理操作使得任務(wù)達到任務(wù)目標之后,可以進一步確定執(zhí)行處理操作的操作者是人工還是機器。
本申請所提供的預設(shè)條件還包括所述處理操作所形成的運行狀態(tài)信息滿足預設(shè)人工操作條件。即在圖1所示的實施例中確定處理操作的操作結(jié)果達到所述任務(wù)的任務(wù)目標之后,還需要進一步判斷處理操作所形成的運行狀態(tài)信息是否滿足預設(shè)人工操作條件。
在處理操作所形成的運行狀態(tài)信息滿足預設(shè)人工操作條件時,則可以表示處理操作的操作者為人工而非機器。在處理操作所形成的運行狀態(tài)信息未滿足預設(shè)人工操作條件時,則不能表示處理操作的操作者為人工。
下面詳細介紹判斷處理操作所形成的運行狀態(tài)信息是否滿足預設(shè)人工操作條件的具體過程,這個過程可以分為多種方式,下面對各種方式進行詳細說明:
第一種方式:所述處理操作所形成的運動軌跡與預設(shè)人工操作軌跡匹配。
在本申請步驟101中渲染顯示界面之后,控制器可以根據(jù)顯示界面上的操作對象的初始位置以及任務(wù)目標的指定位置,并利用與任務(wù)對應(yīng)的計算方式來計算合理的人工操作軌跡,并將合理的人工操作軌跡作為預設(shè)人工操作軌跡,然后進行存儲以便后續(xù)過程中使用。
根據(jù)本申請步驟101中的顯示界面可以構(gòu)建坐標系,然后可以記錄操作對象的初始位置(以橫坐標和縱坐標方式表示)以及每個處理操作之后操作對象的中間位置(以橫坐標和縱坐標方式表示),在操作者結(jié)束對操作對象的處理操作之后,可以依據(jù)初始位置以及各個中間位置生成操作對象的運動軌跡。
然后將操作對象的運動軌跡與預設(shè)人工操作軌跡進行匹配,若兩者一致,則表示操作者的處理操作為人工操作,若不一致,則表示操作者的處理操作非人工操作。
第二種方式:所述處理操作所形成的直線運動速度在預設(shè)人工運動速度范圍內(nèi)。
本申請在執(zhí)行之前可以通過實驗方式來確定人工在直線運動時的速度范圍,然后將直線運動速度范圍存儲至控制器中,并將預先存儲的直線運動速度范圍確定為預設(shè)人工運動速度范圍。
根據(jù)本申請步驟101中的顯示界面可以構(gòu)建坐標系,然后可以記錄操作對象的初始位置以及每個處理操作的操作信息。操作信息可以包括操作對象的中間位置、當前時間以及操作方式。其中,中間位置表示在處理操作之后操作對象的橫坐標和縱坐標;當前時間表示操作對象更改位置之后的當前時間;操作方式表示操作者對操作對象所執(zhí)行的處理,例如,上移、下移、左移、右移等。
若操作信息中操作方式持續(xù)為同一操作方式,則表示操作對象在執(zhí)行直線運動。例如,多個操作信息中的操作方式均為上移,則表示操作對象在向上執(zhí)行直線運動。
然后,可以利用多個操作信息計算操作對象在直線運動過程中的直線運動速度。具體的可以為利用直線運動過程中,第一個操作信息中的中間位置與最后一個操作信息中的中間位置,計算第一個點與最后一個點之間的距離。再計算第一點當前時間與最后一個點之間的當前時間之間的時間間隔,將距離與時間間隔的商值,作為直線運動速度。
然后,將操作對象的直線運動速度與預設(shè)人工運動速度范圍進行匹配,若直線運動速度在預設(shè)人工運動速度范圍內(nèi),則表示操作者的處理操作為人工操作,若直線運動速度未在預設(shè)人工運動速度范圍內(nèi),則表示操作者的處理操作非人工操作。
作為第二種方式的擴展,若操作對象在操作過程中具有多條直線,則可以計算多條直線運動速度是否相似。因為若為人工操作的話,由于人的使用習慣,所以各條直線運動速度應(yīng)該為近似一致的;若為機器操作的話,由于機器沒有操作習慣,所以各條直線運動速度可能會不一致。
所以,在判斷各條直線運動速度相似的話,則表示為人工操作;若各條直線運動速度不相似的話,則表示為機器操作。
第三種方式:所述處理操作所形成的彎道運動加速度在預設(shè)人工運動加速度范圍內(nèi)。
本申請在執(zhí)行之前可以通過實驗方式來確定人工在彎道運動時的加速度范圍,然后將彎道運動加速度范圍存儲至控制器中,并將預先存儲的彎道加運動速度范圍確定為預設(shè)人工運動加速度范圍。
根據(jù)本申請步驟101中的顯示界面可以構(gòu)建坐標系,然后可以記錄操作對象的初始位置以及每個處理操作的操作信息。操作信息可以包括操作對象的中間位置、當前時間以及操作方式。其中,中間位置表示在處理操作之后操作對象的橫坐標和縱坐標;當前時間表示操作對象更改位置之后的當前時間;操作方式表示操作者對操作對象所執(zhí)行的處理,例如,上移、下移、左移、右移等。
若操作信息中操作方式由一種操作方式更改為另一種操作方式,則表示操作對象在執(zhí)行彎道運動。例如,一個操作信息中的操作方式均為上移,在下一個操作信息的操作方式為右移,則表示兩個操作信息可以形成一個向右彎道。
然后,可以利用第二種方式所提供的方法,來計算操作對象在彎道前的速度以及彎道后的速度。再計算彎道后速度與彎道前速度的速度差值,以及彎道后的操作信息的當前時間,與彎道前的操作信息的當前時間的時間間隔。將速度差值與時間間隔的商值,作為操作對象的彎道運動加速度。
然后,將操作對象的彎道運動加速度與預設(shè)人工運動加速度范圍進行匹配,若彎道運動加速度在預設(shè)人工運動速度范圍內(nèi),則表示操作者的處理操作為人工操作,若彎道運動加速度未在預設(shè)人工運動速度范圍內(nèi),則表示操作者的處理操作非人工操作。
作為第三種方式的擴展,若操作對象在操作過程中具有多條彎道,則可以計算多條彎道運動加速度是否相似。因為若為人工操作的話,由于人的使用習慣,所以各個彎道運動加速度應(yīng)該是近似一致的;若為機器操作的話,由于機器沒有操作習慣,所以各條彎道運動加速度可能會不一致。
所以,在判斷各彎道運動加速度相似的話,則表示為人工操作;若各個彎道運動加速度不相似的話,則表示為機器操作。
上述三種方式均站在一個方面進行判斷,雖然可以確定處理操作是否為人工操作,可是這樣的判斷結(jié)果判斷誤差較大。例如,在操作者確實為人工操作的情況下,由于執(zhí)行的運動軌跡與預設(shè)運動軌跡不符合,則會導致出現(xiàn)誤判現(xiàn)象。因此,本申請還提供綜合考慮前面三種方式的第四種方式,以提高判斷的準確率。
第四種方式:綜合考慮前三種方式。
(1)所述處理操作所形成的運動軌跡與預設(shè)人工操作軌跡的匹配程度,對應(yīng)所述處理操作的第一分數(shù)。
按照第一種方式中所提供的技術(shù)手段,生成操作對象的運動軌跡。然后依據(jù)操作對象的運動軌跡與預設(shè)人工操作軌跡的匹配程度,為操作對象賦予不同的分數(shù)??梢岳斫獾氖?,操作對象的運動軌跡與預設(shè)人工操作軌跡越相 似,則分數(shù)越高;操作對象的運動軌跡與預設(shè)人工操作軌跡越不相似,則分數(shù)越低。
(2)所述處理操作所形成的直線運動速度與預設(shè)人工運動速度范圍的匹配程度,對應(yīng)所述處理操作的第二分數(shù)。
按照第二種方式中所提供的技術(shù)手段,計算操作對象的直線運動速度。然后依據(jù)操作對象的直線運動速度與預設(shè)人工運動速度范圍的匹配程度,為操作對象賦予不同的分數(shù)??梢岳斫獾氖牵僮鲗ο蟮闹本€運動速度與預設(shè)人工運動速度范圍越接近,則分數(shù)越高;操作對象的直線運動速度與預設(shè)人工運動速度范圍越不接近,則分數(shù)越低。
(3)所述處理操作所形成的彎道運動加速度與預設(shè)滿足預設(shè)人工加速度范圍的匹配程度,對應(yīng)所述處理操作的第三分數(shù)。
按照第三種方式中所提供的技術(shù)手段,計算操作對象的彎道運動加速度。然后依據(jù)操作對象的彎道運動加速度與預設(shè)人工運動加速度范圍的匹配程度,為操作對象賦予不同的分數(shù)??梢岳斫獾氖?,操作對象的彎道運動加速度與預設(shè)人工運動加速度范圍越接近,則分數(shù)越高;操作對象的彎道運動加速度與預設(shè)人工運動加速度范圍越不接近,則分數(shù)越低。
在計算得到第一分數(shù)、第二分數(shù)、第三分數(shù)之后,可以計算三者的和值。將和值與預設(shè)人工操作分數(shù)進行對比,若和值大于預設(shè)人工操作分數(shù)則說明操作者為人工,否則說明操作者不為人工。其中,預設(shè)人工操作分數(shù)為預先設(shè)置在控制器中的一個表示人工操作分數(shù)限制。
為了區(qū)分每個方式的重要程度,可以分別為每個分數(shù)設(shè)定不同的權(quán)重,例如為第一分數(shù)設(shè)定第一權(quán)重,為第二分數(shù)設(shè)定第二權(quán)重,為第三分數(shù)設(shè)定第三權(quán)重。然后,將第一分數(shù)與第一權(quán)重的乘積稱為第一乘積,將第二分數(shù)與第二權(quán)重的乘積稱為第二乘積,將第三分數(shù)與第三權(quán)重的乘積稱為第三乘積。在第一乘積、第二乘積和第三乘積的和值大于預設(shè)人工操作分數(shù)時,則說明操作者為人工,否則說明操作者不為人工。其中,預設(shè)人工操作分數(shù)為預先設(shè)置在控制器中的一個表示人工操作分數(shù)限制。
現(xiàn)有技術(shù)中不論何種情況下,其輸出的驗證碼的難易程度均是一致。這使得網(wǎng)站不能夠?qū)Σ煌墑e用戶和不同的應(yīng)用場景進行區(qū)分對待。例如,針 對安全級別較高的網(wǎng)站,驗證碼的安全級別應(yīng)該越高。針對安全級別較低的網(wǎng)站,驗證碼的安全級別應(yīng)該越低。再如,在一個操作者在本地登陸賬號但是輸錯密碼的情況下,可能為用戶不小心輸錯密碼,此時可以輸出安全級別不高的驗證碼,來驗證操作者是否為人工。在一個操作者異地登陸賬號但是輸錯密碼的情況下,很有可能是機器在執(zhí)行攻擊操作,此時可以輸出安全級別較高的驗證碼,來驗證操作者是否為機器。
因此,本申請可以將多個種類的任務(wù)分為不同的任務(wù)類型。任務(wù)類型為無智類型、弱智類型或強智類型。其中,無智類型表示無需用戶思考即可完成的任務(wù)類型,其對應(yīng)的安全級別較低;例如,推箱子、貪吃蛇等。弱智類型表示需要簡單的思考即可完成的任務(wù)類型,其對應(yīng)的安全級別適中;例如,俄羅斯方塊、熊貓爬竹竿等。強智類型表示需要用戶較多思考和和一些變換操作才可完成的任務(wù)類型,其對應(yīng)的安全級別較高;例如,穿越火線、DOTA等。
在圖1所示的實施例中,在步驟S101中可以根據(jù)不同的情況來決定輸出那個任務(wù)類型的任務(wù)。例如,當用戶在本地登陸但是輸入密碼錯誤時候,可能表示操作者為人工只是忘記密碼;此時可以輸出無智類型的任務(wù),以驗證操作者是否人工。當操作者異地登陸賬戶的時候,可能表示賬號被盜取,此時可以輸出弱智類型的任務(wù),來驗證操作者是否為機器。當用戶異地登陸時候并且輸錯密碼,則很有可能是機器操作,此時輸出強智類型的任務(wù),來驗證操作者是否為機器。
可以理解的是,在實際應(yīng)用中控制器還可以根據(jù)其它情況來決定具體所輸出的任務(wù)類型。在此不再贅述。
針對無智類型和弱智類型的任務(wù),由于無智類型和弱智類型安全級別不高,需要用戶思考和參與度也不高,因此在圖1所示的實施例之后,仍無法準確確定操作者為人工還是機器,所以還可以繼續(xù)執(zhí)行驗證處理操作所形成的運行狀態(tài)信息是否滿足預設(shè)人工操作。
針對強智類型的任務(wù),由于強智類型的安全級別較高,需要用戶思考和參與度也較高,因此在圖1所示的實施例之后,便可以準確確定操作者為人 工,所以在圖1所示的實施例之后,便無需執(zhí)行驗證處理操作所形成的運行狀態(tài)信息是否滿足預設(shè)人工操作。
與圖1所示的人及識別方法相對應(yīng),如圖4所示,本申請?zhí)峁┝艘环N人機識別裝置,包括:
渲染單元401,用于渲染任務(wù)的顯示界面;其中,所述顯示界面攜帶有操作場景、操作對象和任務(wù)目標;
接收單元402,用于接收針對所述操作對象的處理操作;
確定單元403,用于在所述處理操作滿足預設(shè)條件的情況下,確定所述處理操作為人工操作;其中,所述預設(shè)條件包括所述處理操作的操作結(jié)果達到所述任務(wù)的任務(wù)目標。
其中,所述預設(shè)條件還包括:所述處理操作所形成的運行狀態(tài)信息滿足預設(shè)人工操作條件。
在控制器中將多個種類的任務(wù)分為三種任務(wù)類型:無智類型、弱智類型或強智類型的情況下,在所述任務(wù)為無智類型或弱智類型的情況下,所述預設(shè)條件還包括:所述處理操作所形成的運行狀態(tài)信息滿足預設(shè)人工操作條件。在任務(wù)類型為強智類型的情況下,不需要判斷處理操作所形成的運行狀態(tài)信息是否滿足預設(shè)人工操作條件。
所述處理操作所形成的運行狀態(tài)信息滿足預設(shè)人工操作條件,包括以下四種方式:
第一種方式:所述處理操作所形成的運動軌跡與預設(shè)人工操作軌跡匹配。
第二種方式:所述處理操作所形成的直線運動速度在預設(shè)人工運動速度范圍內(nèi)。
第三種方式:所述處理操作所形成的彎道運動加速度在預設(shè)人工運動加速度范圍內(nèi)。
第四種方式:所述處理操作所形成的運動軌跡與預設(shè)人工操作軌跡的匹配程度,對應(yīng)所述處理操作的第一分數(shù);所述處理操作所形成的直線運動速度與預設(shè)人工運動速度范圍的匹配程度,對應(yīng)所述處理操作的第二分數(shù);所述處理操作所形成的彎道運動加速度與預設(shè)滿足預設(shè)人工加速度范圍的匹配程度,對應(yīng)所述處理操作的第三分數(shù);第一乘積、第二乘積和第三乘積的和 值大于預設(shè)人工操作分數(shù);其中,所述第一乘積為所述第一分數(shù)與第一權(quán)重的乘積,所述第二乘積為所述第二分數(shù)與第二權(quán)重的乘積,所述第三乘積為所述第三分數(shù)與第三權(quán)重的乘積。
從以上內(nèi)容,可以看出本申請具有以下有益效果:
本申請?zhí)峁┮环N相當于驗證碼的任務(wù),本申請所提供的任務(wù)并不是固定不變的,任務(wù)中的操作對象可以隨著操作者的處理操作而移動的。并且,操作者所執(zhí)行的處理操作也不僅僅是簡單的輸入操作,而是為了達到任務(wù)目標而對操作對象執(zhí)行的處理操作。當操作者的處理操作使得任務(wù)達到任務(wù)目標時,即可認為操作者輸入正確的驗證碼。因此,本申請所提供的防控技術(shù)由于任務(wù)中需要加入操作者的處理操作才能夠完成任務(wù),并且處理操作并不是機器通過簡單的識別技術(shù)便可破解的,所以,本申請?zhí)峁┑募夹g(shù)手段可以準確識別操作者為人工還是機器。
本實施例方法所述的功能如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算設(shè)備可讀取存儲介質(zhì)中?;谶@樣的理解,本申請實施例對現(xiàn)有技術(shù)做出貢獻的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算設(shè)備(可以是個人計算機,服務(wù)器,移動計算設(shè)備或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本申請各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
本說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其它實施例的不同之處,各個實施例之間相同或相似部分互相參見即可。
對所公開的實施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本申請。對這些實施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本申請的精神或范圍的情況下, 在其它實施例中實現(xiàn)。因此,本申請將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。