本發(fā)明涉及密碼認證技術,特別涉及一種圖片密碼認證方法和圖片密碼認證裝置。
背景技術:
隨著計算機技術的不斷進步,各種個人電腦、筆記本、平板電腦、智能手機的日益普及,不管對個人或公司用戶,計算機系統(tǒng)的安全也變得越來越重要。而且隨著互聯(lián)網的飛速發(fā)展,網絡安全的形勢也日趨復雜多變,人們對網絡安全日趨重視,身份認證無處不在,大部分認證以字符密碼形式出現,如操作系統(tǒng)登錄密碼、網站密碼、游戲密碼、客戶端密碼、手機密碼等等。
然而,這樣的字符密碼作為最常用的身份認證手段,存在很多缺點,例如存在可能被盜取、泄露、窺視、暴力破解、撞庫、記憶困難等多方面的問題,已經很難滿足新形勢下的計算機系統(tǒng)以及網絡安全需求。
盜?。汉诳屯ㄟ^技術手段(如鍵盤記錄、脫庫、釣魚網站、釣魚郵箱)盜取用戶密碼。
泄露:一個網絡系統(tǒng)被黑客攻陷后,往往會泄露本系統(tǒng)甚至其他系統(tǒng)的用戶密碼,用戶由于保管不善也會泄露密碼(例如把密碼寫在紙條上)。
窺視:在輸入密碼過程中,旁人可以窺視錄入密碼過程,從而獲取密碼。
暴力破解:黑客利用字典暴力破解密碼。
撞庫:黑客利用一個網站或系統(tǒng)泄露的用戶名密碼,批量化嘗試登陸另外一個網站或者系統(tǒng)。
記憶困難:復雜密碼用戶記不住,太簡單或者太規(guī)律又容易被破解。
鑒于上述問題,迫切需要一種密碼認證技術來克服上述的這樣或那樣的問題。
技術實現要素:
本發(fā)明提供了一種圖片密碼認證技術,該技術解決了傳統(tǒng)字符密碼認證存在的上述問題。
需要說明的是,本發(fā)明中提及的術語“計算機系統(tǒng)”是廣義上的術語,其可包括例如服務器、個人電腦、筆記本電腦、平板電腦、智能手機等,其既可以是例如服務器和個人電腦、智能手機的組合,也可以是單個計算機設備。另外,“計算機設備”也是一個廣義上的術語,可以是例如服務器、個人電腦、筆記本電腦、平板電腦、智能手機等。
此外,在本發(fā)明的方法描述中,可能對各個步驟進行了編號,然而,這樣的編號僅僅是為了方便描述,而并不意味著,這些方法必須按照所列序號依次進行,除非,在描述中明確地指出了執(zhí)行這些步驟的先后順序或者根據上下文的邏輯關系這些步驟必須先后進行。否則,這些步驟的執(zhí)行順序可以根據需要調整。
根據本發(fā)明的一個實施方式,提供了一種圖片密碼認證方法,包括:接收圖片密碼認證請求,所述圖片密碼認證請求包括與用戶相關的唯一標識;根據所述唯一標識獲取在圖片密碼生成時設置的認證圖片,并且添加多個圖片形成圖片組;將用戶從所述圖片組中選擇的一個圖片設置為背景圖片;將至少包括在圖片密碼生成時的備選符號的字符和圖形形成符號矩陣,重疊在所述背景圖片上;讓用戶在所述背景圖片上移動所述符號矩陣,使得所述圖片密碼生成時用戶選擇的認證符號移動至圖片密碼生成時的期望位置,然后確定用戶是否選擇了正確的背景圖片,并且確定所述認證符號是否被移動至所述期望位置,若都正確,則認證成功,否則,認證失敗。
優(yōu)選地,在上述圖片密碼認證方法中,還包括在設置所述背景圖片之前,將用戶選擇的所述一個圖片切割為多個圖片塊;并且在設置所述背景圖片時,將用戶從所述多個圖片塊中選擇的一個圖片塊設置為所述背景圖片。
優(yōu)選地,在上述圖片密碼認證方法中,所述符號矩陣的面積大于所述背景圖片的面積,并且所述符號矩陣的位于所述背景圖片之外的部分不呈現給用戶。
優(yōu)選地,在上述圖片密碼認證方法中,若在圖片密碼生成時,用戶需要色盲專用圖庫,則在圖片密碼認證過程中,所述計算機系統(tǒng)提供的圖片、字符和圖形為色盲專用的圖片、字符和圖形。
優(yōu)選地,在上述圖片密碼認證方法中,在用戶在所述背景圖片上移動所述符號矩陣時,不顯示符號矩陣中各個符號在所述背景圖片中的坐標位置,并且確定所述認證符號是否被移動至圖片密碼生成時的期望位置時,只要所述認證符號的坐標位置與圖片密碼生成時的坐標位置的偏差在預定范圍內,則判定所述認證符號被移動至所述期望位置。
優(yōu)選地,在上述圖片密碼認證方法中,在用戶在所述背景圖片上移動所述符號矩陣時,顯示符號矩陣中各個符號在所述背景圖片中的坐標位置;并且在確定所述認證符號是否被移動至圖片密碼生成時的期望位置時,判斷所述認證符號的坐標位置是否與圖片密碼生成時的坐標位置相同。
優(yōu)選地,在上述圖片密碼認證方法中,在接收到所述圖片密碼認證請求后,要求獲取用戶設備的系統(tǒng)環(huán)境信息,并根據所述系統(tǒng)環(huán)境信息確認所述用戶設備的系統(tǒng)環(huán)境是否安全,若確認安全則接受圖片密碼認證請求,否則,拒絕圖片密碼認證請求。
優(yōu)選地,在上述圖片密碼認證方法中,當同一個唯一標識的圖片密碼認證請求連續(xù)錯誤預定次數,則在預定時間內不接受該唯一標識的圖片密碼認證請求。
優(yōu)選地,在上述圖片密碼認證方法中,當同一個唯一標識的圖片密碼認證請求連續(xù)錯誤預定次數,則要求用戶以其他方式校驗身份,驗證通過后,允許用戶重新設置圖片認證密碼或者再次發(fā)起的圖片密碼認證請求。
優(yōu)選地,在上述圖片密碼認證方法中,若在密碼生成時用戶選擇了多個認證符號,則針對所述多個認證符號中的其余認證符號,按照圖片密碼生成時的順序依次讓用戶在所述背景圖片上移動所述符號矩陣,使得所述圖片密碼生成時用戶選擇的認證符號移動至在圖片密碼生成時的期望位置。
根據本發(fā)明的另一個實施方式,提供了一種圖片密碼認證裝置,包括:認證請求接收模塊,接收圖片密碼認證請求,所述圖片密碼認證請求包括與用戶相關的唯一標識;圖片組形成模塊,根據所述唯一標識獲取在圖片密碼生成時設置的認證圖片,并且添加多個圖片形成圖片組;背景圖片設置模塊,將用戶從所述圖片組中選擇的一個圖片設置為背景圖片;符號矩陣形成模塊,將至少包括在圖片密碼生成時的備選符號的字符和圖形形成符號矩陣,重疊在所述背景圖片上;圖片密碼認證模塊,讓用戶在所述背景圖片上移動所述符號矩陣,使得所述圖片密碼生成時用戶選擇的認證符號移動至圖片密碼生成時的期望位置,然后確定用戶是否選擇了正確的背景圖片,并且確定所述認證符號是否被移動至所述期望位置,若都正確,則認證成功,否則,認證失敗。
本發(fā)明利用上述的圖片密碼認證方法和裝置進行認證,解決了傳統(tǒng)字符密碼認證存在的問題,與傳統(tǒng)密碼認證相比,通過本發(fā)明解決或改善了以下方面的一個或多個問題:
盜?。罕景l(fā)明可以有效防止被盜取的情況,通過圖片色彩、字符位置等認證方式,不存在被盜取的可能性。
泄露、窺視:即使用戶在錄入圖片密碼過程中有旁人窺視,也不易泄露認證符號以及認證的字符位置。
暴力破解:由于服務端策略的存在,多次認證失敗此用戶會被凍結,而且環(huán)境監(jiān)測模塊會監(jiān)測異常調用,防止暴力破解。
撞庫:由于不存在傳統(tǒng)字符密碼,所以此問題不存在。
記憶困難:用戶根據圖片和字符認證,比記憶復雜的字符密碼容易很多。
附圖說明
圖1示出了根據本發(fā)明的一個實施例的圖片密碼生成裝置的結構示意圖。
圖2示出了根據本發(fā)明的一個實施例的圖片密碼認證裝置的結構示意圖。
圖3示出了根據本發(fā)明的一種計算機系統(tǒng)的示意性框圖。
圖4示出了根據本發(fā)明的一個實施方式的圖片密碼生成方法的流程示意圖。
圖5示出了根據本發(fā)明的另一計算機系統(tǒng)的示意性框圖。
圖6示出了根據本發(fā)明的另一實施方式的圖片密碼生成方法的流程示意圖。
圖7示出了根據本發(fā)明的一個實施方式的圖片密碼認證方法的流程示意圖。
圖8示出了根據本發(fā)明的另一實施方式的圖片密碼認證方法的流程示意圖。
具體實施方式
為使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下參照附圖結合實施例,對本發(fā)明進一步詳細說明。
圖1示出了根據本發(fā)明的一個實施例的圖片密碼生成裝置的結構示意圖。圖1的圖片密碼生成裝置1000包括認證圖片設置模塊1100、背景圖片設置模塊1200、備選符號設置模塊1300、認證符號設置模塊1400、符號矩陣形成模塊1500和圖片密碼生成模塊1600。
認證圖片設置模塊1100,將由用戶上傳或由用戶選自計算機系統(tǒng)中的圖片設置為用于認證的認證圖片;或者直接從所述計算機系統(tǒng)的圖片中指定認證圖片并使該認證圖片展示給用戶。
背景圖片設置模塊1200,利用所述認證圖片設置背景圖片。
備選符號設置模塊1300,要求用戶輸入或者從所述計算機系統(tǒng)提供的字符或圖形中選擇至少一個字符或圖形作為備選符號。
認證符號設置模塊1400,將由用戶從所述備選符號中選擇的至少一個字符或圖形設置為認證符號。
符號矩陣形成模塊1500,使用至少包含所述備選符號的多個字符或圖形生成符號矩陣,并且使所述符號矩陣重疊在所述背景圖片上并突出顯示一個認證符號。
圖片密碼生成模塊1600,讓用戶拖動所述符號矩陣以使突出顯示的認證符號位于所述背景圖片中的期望位置以生成圖片密碼。
圖2示出根據本發(fā)明的一個實施例的圖片密碼認證裝置的結構示意圖。圖2的圖片密碼認證裝置2000包括認證請求接收模塊2100、圖片組形成模塊2200、背景圖片設置模塊2300、符號矩陣形成模塊2400和圖片密碼認證模塊2500。
認證請求接收模塊2100,接收圖片密碼認證請求,所述圖片密碼認證請求包括與用戶相關的唯一標識;圖片組形成模塊2200,根據所述唯一標識獲取在圖片密碼生成時設置的認證圖片,并且添加多個圖片形成圖片組;背景圖片設置模塊2300,將用戶從所述圖片組中選擇的一個圖片設置為背景圖片;符號矩陣形成模塊2400,將至少包括在圖片密碼生成時的備選符號的字符和圖形形成符號矩陣,重疊在所述背景圖片上;圖片密碼認證模塊2500,讓用戶在所述背景圖片上移動所述符號矩陣,使得所述圖片密碼生成時用戶選擇的認證符號移動至圖片密碼生成時的期望位置,然后確定用戶是否選擇了正確的背景圖片,并且確定所述認證符號是否被移動至圖片密碼生成時的期望位置,若都正確,則認證成功,否則,認證失敗。
本發(fā)明可以用于不同的計算機系統(tǒng),本領域技術人員可以理解的是,以上的圖片密碼生成裝置1000和圖片密碼認證裝置2000中各個模塊的功能可通過例如下述認證模塊、應用模塊等實現。本發(fā)明可以用于例如多個計算機設備組成的計算機系統(tǒng),尤其是通過網絡連接起來的多個計算機設備,利用本發(fā)明的圖片密碼生成和認證方法,可以大大增強網絡安全。例如,圖3示出了計算機系統(tǒng)10的示意性框圖。計算機系統(tǒng)10可包括服務器100和用戶設備200。為了簡明起見,在圖3中僅示出了一個用戶設備200,然而,可以有多個相同或不同的用戶設備200,用戶設備200可以是例如個人電腦、平板電腦、智能手機等。用戶設備200可經由網絡300與服務器100連接。網絡300可以是例如互聯(lián)網、局域網、3g網絡、4g網絡、藍牙網絡等。
服務器100可包括認證模塊110和大數據和機器學習引擎120。認證模塊110在密碼設置和認證過程中進行相關的處理。大數據和機器學習引擎120處理環(huán)境安全校驗請求,例如根據用戶設備的系統(tǒng)環(huán)境信息確認用戶設備的系統(tǒng)環(huán)境是否安全。用戶設備200可包括應用模塊210和安全監(jiān)測模塊220。應用模塊210可以是例如個人電腦、平板電腦、智能手機等的應用程序或操作系統(tǒng)、網站客戶端等。安全監(jiān)測模塊220可收集用戶設備的系統(tǒng)環(huán)境信息,并將該系統(tǒng)環(huán)境信息上傳給服務器100。
圖4示出了根據本發(fā)明的一個實施方式的圖片密碼生成方法的流程示意圖。例如,在用戶需要對某些應用程序或網站進行注冊時,需要設置用戶密碼,可通過包括以下步驟的方法進行設置。
參見圖4,在步驟s110中,安全監(jiān)測模塊220收集當前用戶設備200的系統(tǒng)環(huán)境信息,并將其送給服務器100。具體而言,將系統(tǒng)環(huán)境信息發(fā)送給服務器100可以是例如由認證模塊110轉發(fā)給大數據和機器學習引擎120,也可以是直接發(fā)送給大數據和機器學習引擎120。
在步驟s120中,由服務器,例如大數據和機器學習引擎120根據該系統(tǒng)環(huán)境信息確認用戶設備200的系統(tǒng)環(huán)境是否安全,若確認安全則執(zhí)行后續(xù)步驟。若確定不安全,則在步驟s130拒絕執(zhí)行后續(xù)步驟。拒絕注冊時,例如可以告知用戶系統(tǒng)環(huán)境不安全。大數據和機器學習引擎120也可以根據系統(tǒng)環(huán)境信息確定用戶系統(tǒng)環(huán)境存在什么風險,并將其提示給用戶,還可以提示用戶可以采取何種措施改善系統(tǒng)環(huán)境。例如,如果檢測到用戶設備存在鍵盤記錄間諜軟件,可以提示客戶存在字符輸入被記錄的風險,應刪除相應軟件或者利用殺毒軟件進行殺毒處理。步驟s110~s130并非是必須的,但是優(yōu)選執(zhí)行這些步驟,以降低設置密碼被盜取的風險。
在步驟s140中,設置認證圖片,具體而言,將由用戶上傳或選自計算機系統(tǒng)10的具有多個特征點的圖片設置為用于認證的認證圖片;或者從計算機系統(tǒng)10中的圖片指定具有多個特征點的圖片作為認證圖片并將該認證圖片展示給用戶。計算機系統(tǒng)10本身的認證圖片集可以包括在服務器100的認證模塊110或用戶設備200的應用模塊210中,并且可以由認證模塊110或應用模塊210來指定認證圖片。
本文所描述的“具有多個特征點的圖片”是指非完全均勻一致的圖片,圖片中至少具有若干用戶可識別的與其他位置不同的位點、線條或區(qū)域,以使得用戶在將后續(xù)提及的字符矩陣放置在特定位置后,能夠相對容易地重現該放置動作。也就是說,由于圖片上具有的特征點,使得在設置好圖片密碼后,在認證時用戶能夠相對輕松地將字符矩陣中的認證符號還原至該特定位置。圖片中的特征點越多,圖片密碼被破解或泄露的可能性越低,然而,特征點過多并且各特征點之間的過于近似(例如僅僅是大量密集的黑點分布在整個圖片上的情況),增加重現難度,即認證操作的方便性降低。因此,在選擇圖片時可稍作篩選以兼顧保密和易用性。具有多個特征點的圖片可以是例如人物圖片、風景圖片、任意涂鴉等等,只要具有若干特征點即可。
在步驟s150中,將認證圖片切割為包括多個特征點的多個圖片塊。此操作可由例如服務器100的認證模塊110或用戶設備200的應用模塊210執(zhí)行,優(yōu)選由認證模塊110執(zhí)行。
在步驟s160中,將用戶選擇的一個圖片塊設置為背景圖片。此操作可由例如服務器100的認證模塊110或用戶設備200的應用模塊210執(zhí)行,優(yōu)選由應用模塊210執(zhí)行。
在步驟s170中,要求用戶輸入至少一個字符或圖形或者從計算機系統(tǒng)10提供的字符或圖形中選擇至少一個字符或圖形作為備選符號。要求用戶輸入或者選擇的步驟可以由例如服務器100的認證模塊110或用戶設備200的應用模塊210執(zhí)行,優(yōu)選由應用模塊210執(zhí)行。這里,計算機系統(tǒng)10提供的字符或圖形可以包括在認證模塊110或應用模塊210中,優(yōu)選包括在認證模塊110中。在此步驟,備選符號既可以是用戶輸入的,又可以是選自計算機系統(tǒng)提供的,或者是兩者的組合。
在步驟s180中,將由用戶從所述備選符號中選擇的至少一個字符或圖形設置為認證符號。此操作可由例如服務器100的認證模塊110或用戶設備200的應用模塊210執(zhí)行,優(yōu)選由認證模塊110執(zhí)行。所述認證符號可以是不同顏色、不同字體、不同亮度的數字、特殊符號、不同語言的文字字符以及圖形。在選擇多個認證符號的情況下,多個認證符號既可以有字符,又可以有圖形。
在步驟s190中,使用至少包含所述備選符號的多個字符或圖形生成符號矩陣,并且使所述符號矩陣重疊在所述背景圖片上并突出顯示一個認證符號。此步驟可以由例如服務器100的認證模塊110或用戶設備200的應用模塊210執(zhí)行,優(yōu)選由應用模塊210執(zhí)行。這里的突出顯示可以是例如加粗、高亮、閃爍等。
在此步驟中,符號矩陣中的符號數可以根據不同的應用場景而定,符號矩陣內的符號可以重復。此外,重疊在背景圖片上的符號矩陣的面積可以小于或等于背景圖片的面積,但是優(yōu)選符號矩陣的面積大于背景圖片的面積,由此符號矩陣的一部分符號位于背景圖片之外。在認證時,在背景圖片之外的部分可以不顯示,僅顯示位于背景圖片范圍內的符號,由此,例如,進一步降低了因為偷窺導致的圖片密碼泄露的風險。
在步驟s200中,要求用戶拖動所述符號矩陣,使得所述一個認證符號與所述背景圖片上的一個特征點重合。此步驟可以由例如服務器100的認證模塊110或用戶設備200的應用模塊210執(zhí)行,優(yōu)選由應用模塊210執(zhí)行。
在步驟s210中,判定是否還有其他未設置的認證符號,如果還有,則重復步驟s190和步驟s200;
在步驟s220中,向用戶預演圖片密碼認證過程,要求用戶完成模擬認證過程,若用戶模擬認證失敗則重新進行圖片密碼生成,即返回執(zhí)行步驟s140以及后續(xù)步驟。若模擬認證成功,則結束圖片密碼生成過程。由于本發(fā)明的密碼生成以及認證方式是一種全新的方式,因此,向用戶預演認證過程,可以提高用戶的體驗,當然,此過程不是必須的,可以其他方式向用戶說明認證過程。另外,盡管要求模擬認證也不是必須的,但是增加模擬認證步驟可以提到圖片密碼設置的可靠性,確保用戶在設置過程中沒有誤操作或者忘記之前的設置圖片塊、認證符號等。模擬認證過程可以參考下文中描述的認證過程類似地設置。
當然,在上述各個步驟的設置處理時,可將認證圖片、背景圖片、背景圖片以外的圖片塊、備選符號、認證符號、以及認證符號分別與背景圖片的最終位置關系與和用戶相關的唯一標識關聯(lián)存儲在所述服務器中。與用戶相關的唯一標識,例如可以是用戶名、用戶設備名稱、ip地址、手機號碼等。由此,方便在認證時由所述認證模塊使用。
在上述的圖片密碼生成方法中,將認證圖片分割,將分割后的圖片塊設置為背景圖片,然而,也可以省略圖片分割步驟,直接將用戶選擇的認證圖片設置為背景圖片。省略認證圖片的分割,可以簡化密碼設置和認證過程。而將分割后的圖片塊設置為背景圖片,可以進一步加強密碼的保密性。具體是否分割認證圖片,可以根據不同的應用進行選擇。
在上述的圖片密碼生成方法中,通過圖片的特征點來設置符號矩陣的位置。然而,也可以通過提示認證符號的坐標位置來設置。例如,在步驟s200中,在用戶拖動符號矩陣時,顯示認證符號在背景圖片上的坐標,或者在用戶停止拖動,確定了放置位置后,顯示認證符號的位置坐標。這樣在密碼認證時,用戶可以根據密碼生成時的認證符號的坐標位置來移動符號矩陣。通過坐標位置設置方式,即使用戶上傳了特征不明顯的圖片、甚至均勻顏色的圖片時,也可以順利地進行設置和認證。
本發(fā)明也可以用于為單個計算機設備的計算機系統(tǒng),例如在單機的操作系統(tǒng)登錄、手機登錄的情況下,利用本發(fā)明的圖片密碼生成和認證方法,可以增強單機設備的安全。例如,圖5示出了計算機系統(tǒng)30的示意性框圖。計算機系統(tǒng)30可以是單個計算機設備。該計算機設備可以是例如個人電腦、平板電腦、智能手機等。計算機系統(tǒng)30可包括認證模塊310和應用模塊320。另外,盡管這里認證模塊310和應用模塊320是兩個獨立的模塊,認證模塊也可以作為應用模塊的一部分。
圖6示出了根據本發(fā)明的另一實施方式的圖片密碼生成方法的流程示意圖。在單機設備上進行密碼生成時,首先進行圖6中的步驟s340,設置認證圖片,具體而言,將由用戶上傳或選自計算機系統(tǒng)30的具有多個特征點的圖片設置為用于認證的認證圖片;或者從計算機系統(tǒng)30中的圖片指定具有多個特征點的圖片作為認證圖片并將該認證圖片展示給用戶。計算機系統(tǒng)30本身的認證圖片集可以包括在認證模塊310或應用模塊320中,并且可以由認證模塊310或應用模塊320來指定認證圖片。
在步驟s350中,將認證圖片切割為包括多個特征點的多個圖片塊。此操作可由例如認證模塊310或應用模塊320執(zhí)行,優(yōu)選由認證模塊310執(zhí)行。
在步驟s360中,將用戶選擇的一個圖片塊設置為背景圖片。此操作可由例如認證模塊310或應用模塊320執(zhí)行,優(yōu)選由應用模塊320執(zhí)行。
在步驟s370中,要求用戶輸入至少一個字符或圖形或者從計算機系統(tǒng)30提供的字符或圖形中選擇至少一個字符或圖形作為備選符號。要求用戶輸入或者選擇的步驟可以由例如認證模塊310或應用模塊320執(zhí)行,優(yōu)選由應用模塊320執(zhí)行。這里,計算機系統(tǒng)30提供的字符或圖形可以包括在認證模塊310或應用模塊320中,優(yōu)選包括在認證模塊310中。在此步驟,備選符號既可以是用戶輸入的,又可以是選自計算機系統(tǒng)提供的,或者是兩者的組合。
在步驟s380中,將由用戶從所述備選符號中選擇的至少一個字符或圖形設置為認證符號。此操作可由例如認證模塊310或應用模塊320執(zhí)行,優(yōu)選由認證模塊310執(zhí)行。所述認證符號可以是不同顏色、不同字體、不同亮度的數字、特殊符號、不同語言的文字字符以及圖形。
在步驟s390中,使用至少包含所述備選符號的多個字符或圖形生成符號矩陣,并且使所述符號矩陣重疊在所述背景圖片上并突出顯示一個認證符號。此步驟可以由例如認證模塊310或應用模塊320執(zhí)行,優(yōu)選由應用模塊320執(zhí)行。這里的突出顯示可以是例如加粗、高亮、閃爍等。
在此步驟中,符號矩陣中的符號數可以根據不同的應用場景而定,符號矩陣內的符號可以重復。此外,重疊在背景圖片上的符號矩陣的面積可以小于或等于背景圖片的面積,但是優(yōu)選符號矩陣的面積大于背景圖片的面積,由此符號矩陣的一部分符號位于背景圖片之外。在認證時,在背景圖片之外的部分可以不顯示,僅顯示位于背景圖片范圍內的符號,由此,例如,進一步降低了因為偷窺導致的圖片密碼泄露的風險。
在步驟s400中,要求用戶拖動所述符號矩陣,使得所述一個認證符號與所述背景圖片上的一個特征點重合。此步驟可以由例如認證模塊310或應用模塊320執(zhí)行,優(yōu)選由應用模塊320執(zhí)行。
在步驟s410中,判定是否還有其他未設置的認證符號,如果還有,則重復步驟s390和步驟s400。
在步驟s420中,向用戶預演圖片密碼認證過程,要求用戶完成模擬認證過程,若用戶模擬認證失敗則重新進行圖片密碼生成,即返回執(zhí)行步驟s340以及后續(xù)步驟。若模擬認證成功,則結束圖片密碼生成過程。由于本發(fā)明的密碼生成以及認證方式是一種全新的方式,因此,向用戶預演認證過程,可以提高用戶的體驗,當然,此過程不是必須的,可以其他方式向用戶說明認證過程。另外,盡管要求模擬認證也不是必須的,但是增加模擬認證步驟可以提到圖片密碼設置的可靠性,確保用戶在設置過程中沒有誤操作或者忘記之前的設置圖片塊、認證符號等。模擬認證過程可以參考下文中描述的認證過程類似地設置。
當然,在上述各個步驟的設置處理時,將認證圖片、背景圖片、背景圖片以外的圖片塊、備選符號、認證符號、以及認證符號分別與背景圖片的最終位置關系與和用戶相關的唯一標識關聯(lián)存儲在計算機系統(tǒng)30中。由此,方便在認證時由所述認證模塊310使用。
在上述的圖片密碼生成方法中,將認證圖片分割,將分割后的圖片塊設置為背景圖片,然而,也可以省略圖片分割步驟,直接將用戶選擇的認證圖片設置為背景圖片。優(yōu)選將分割后的圖片塊設置為背景圖片,由此進一步加強密碼的保密性。
同樣,在以上的圖片密碼生成方法中,也可以通過提示認證符號的坐標位置來設置符號矩陣的位置。
圖7示出了根據本發(fā)明的一個實施方式的圖片密碼認證方法的流程示意圖。圖7的密碼認證過程可用于圖3的計算機系統(tǒng),并且可對應于圖4的圖片密碼生成過程。例如,在用戶需要登錄某些應用程序或網站時,需要用戶進行密碼認證,可通過例如以下方式進行。
參照圖7,在步驟s510中,認證模塊110接收應用模塊210發(fā)起的圖片密碼認證請求,該圖片密碼認證請求包括與用戶相關的唯一標識。認證模塊110在接收到認證請求后,需要確認用戶設備200的系統(tǒng)環(huán)境是否安全。因此,在步驟s520中,用戶設備200的安全監(jiān)測模塊220收集系統(tǒng)環(huán)境信息,并將其發(fā)送給服務器100。將系統(tǒng)環(huán)境信息發(fā)送給服務器100可以是例如由認證模塊110轉發(fā)給大數據和機器學習引擎120,也可以是直接發(fā)送給大數據和機器學習引擎120。
然后,在步驟s530中,由所述大數據和機器學習引擎130根據所述系統(tǒng)環(huán)境信息確認所述用戶設備的系統(tǒng)環(huán)境是否安全,若確認安全則接受圖片密碼認證請求,執(zhí)行后續(xù)步驟,否則,則在步驟s540拒絕圖片密碼認證請求。拒絕認證時可以告知用戶系統(tǒng)環(huán)境不安全。大數據和機器學習引擎120也可以根據系統(tǒng)環(huán)境信息確定用戶系統(tǒng)環(huán)境存在什么風險,并將其提示給用戶,還可以提示用戶可以采取何種措施改善系統(tǒng)環(huán)境。例如,如果檢測到用戶設備存在鍵盤記錄間諜軟件,可以提示客戶存在字符輸入被記錄的風險,應刪除相應軟件或者利用殺毒軟件進行殺毒處理。步驟s520~s540并非是必須的,但是優(yōu)選執(zhí)行這些步驟,以降低設置密碼被盜取的風險。
在系統(tǒng)環(huán)境安全的情況下,執(zhí)行步驟s550,認證模塊110根據唯一標識獲取在圖片密碼生成時設置的認證圖片,并且加上多個圖片形成圖片組,然后將圖片組以及相應的圖片身份標識發(fā)送給應用模塊210。圖片身份標識可以是圖片編號、圖片名稱等。在步驟s560中,應用模塊210將圖片組中各個圖片展示給用戶,并讓用戶選擇一個圖片,然后,在步驟s570中將該圖片的圖片身份標識發(fā)送給認證模塊110。
在步驟s580中,認證模塊110將用戶選擇的圖片切割為各自包含多個特征點的多個圖片塊后,并將多個圖片塊以及相應的圖片塊身份標識發(fā)送給應用模塊210;在步驟s590中,應用模塊210將多個圖片塊展示給用戶,并讓用戶選擇一個圖片塊;然后,在步驟s600中,應用模塊210將用戶選擇的圖片塊的圖片塊身份標識發(fā)送給認證模塊110。顯然,若用戶在步驟s560中選擇了正確的認證圖片,則在s580中的切割方式與密碼設置階段的切割方式一樣。
此外,在步驟s610中,認證模塊110將圖片密碼生成時的備選符號發(fā)送給應用模塊210。此步驟也可以提至例如步驟s550之前。
在步驟s620中,應用模塊210將用戶選擇的一個圖片塊作為背景圖片,并且將至少包括所述備選符號的字符和圖形形成符號矩陣,在背景圖片上展示給用戶。
此外,重疊在背景圖片上的符號矩陣的面積可以小于或等于背景圖片的面積,但是優(yōu)選符號矩陣的面積大于背景圖片的面積,由此符號矩陣的一部分符號位于背景圖片之外。并且,在此步驟s620中,在背景圖片之外的部分可以不顯示,僅顯示位于背景圖片范圍內的符號,由此,例如,進一步降低了因為偷窺導致的圖片密碼泄露的風險。
在步驟s630中,應用模塊210要求用戶在背景圖片中移動符號矩陣,使得在圖片密碼生成時用戶選擇的認證符號移動至圖片密碼生成時的相同特征點;若在密碼生成時用戶選擇了多個認證符號,則按照圖片密碼生成時的順序依次對所述多個認證符號執(zhí)行此步驟。
在步驟s640中,認證模塊110確定用戶是否選擇了正確的背景圖片,并且確定所述認證符號是否被移動至圖片密碼生成時的相同位置,若都正確,則用戶認證成功,否則,用戶認證失敗。在確定認證符號是否被移動至圖片密碼生成時的相同位置時,可以設定一定的容差,也就是說,只要用戶將認證符號移動至原設定坐標附近,就可以認為是移動至原設定位置。這樣可以提高易用性。
如果用戶在設置圖片密碼時,未進行認證圖片的分割,而是直接將認證圖片設置為背景圖片,則在上述的圖片密碼認證過程中,省略上述的步驟s580至s600。并且,在步驟s620中,應用模塊210將用戶選擇的圖片作為背景圖片。
此外,在步驟s620中,符號矩陣可以是每次形成預定的不同矩陣,或者隨機形成,優(yōu)選隨機形成,由此形成的矩陣與圖片密碼生成時符號矩陣不一樣,而在認證時,用戶只需要將符號矩陣中的認證符號(圖片密碼生成過程中由用戶選擇設置的認證符號)移動至在密碼生成時的圖片上的相同位置即可。若密碼生成時用戶選擇的認證符號在矩陣中出現了兩次或更多次,則只需要將任何一個認證符號移動至密碼生成時在圖片上的相同位置即可。由于在認證時,符號矩陣與圖片密碼生成時符號矩陣不一樣,并且矩陣中可以包括兩個或更多的認證符號,而且在認證時,不會突出顯示認證符號,所以,在認證過程中,即使有人偷窺整個認證過程,也無法重復該認證過程。此外,由于上述特征,即使人們反復觀看此密碼的認證過程,也很難發(fā)現其認證規(guī)律。而現有的字符密碼認證過程顯然做不到這一點。
在步驟s630中,用戶可通過背景圖片上的特征點判定是否移動到密碼設置時的位置。然而,也可以通過認證符號的坐標位置來確定是否移動到正確位置,例如,在用于移動矩陣的同時,將符號矩陣中各個符號的坐標位置提示給用戶,用戶移動矩陣直至認證符號的坐標位置與密碼生成階段的位置相同為止。通過坐標來確定位置,能夠將認證符號精確地移動至設置位置,同時,由于每次認證時的符號矩陣都不同,而且將符號矩陣中所有符號的坐標都提示給用戶,即使旁邊有人偷窺,也不清楚哪個符號是認證符號,因此,無法重現該認證過程。
而且,此密碼也很難通過黑客技術手段(例如鍵盤記錄等)盜取、暴力破解。而且,本發(fā)明的圖片密碼方便記憶,也不存在因為保管不慎(密碼寫在紙條上)而泄露。因此,本發(fā)明的密碼生成方法以及密碼認證過程的技術效果是傳統(tǒng)密碼無法比擬的,其安全性極高。
此外,當同一個唯一標識的圖片密碼認證請求連續(xù)錯誤預定次數,可以設定在預定時間內不接受該唯一標識的圖片密碼認證請求。例如,連續(xù)五次認證錯誤,可以設定在數小時內不再接受該唯一標識的認證請求?;蛘?,當同一個唯一標識的圖片密碼認證請求連續(xù)錯誤預定次數,則要求用戶以其他方式校驗身份,驗證通過后,允許用戶重新設置圖片認證密碼或者再次發(fā)起的圖片密碼認證請求。其他校驗身份的方式可以是,例如指紋認證、上傳身份證件認證、回答預先設置的問題等認證方式或其組合?;蛘?,可以設置為如果同一個唯一標識的圖片密碼認證請求的認證頻率達到設定的閾值,則拒絕該圖片密碼認證請求,例如,同一個唯一標識在三分鐘內發(fā)起十次圖片密碼認證請求,則拒絕隨后的圖片密碼認證請求。另外,服務器100的認證模塊110也可以采用黑白名單策略,若認證ip在白名單內容,則同意繼續(xù)認證,否則,拒絕認證。
圖8示出了根據本發(fā)明的另一實施方式的圖片密碼認證方法的流程示意圖。圖8的密碼認證過程可用于圖5的計算機系統(tǒng)30,并且可對應于圖6的圖片密碼生成過程。例如,在用戶登錄單機的操作系統(tǒng)登錄、手機登錄、應用軟件登錄等情況下,可以通過例如以下方式進行認證。
參照圖8,在步驟s710中,認證模塊310接收應用模塊320發(fā)起的圖片密碼認證請求,該圖片密碼認證請求包括與用戶相關的唯一標識。
步驟s750,認證模塊310根據唯一標識獲取在圖片密碼生成時設置的認證圖片,并且加上多個圖片形成圖片組,然后將圖片組以及相應的圖片身份標識發(fā)送給應用模塊320。圖片身份標識可以是圖片編號、圖片名稱等。在步驟s760中,應用模塊320將圖片組中各個圖片展示給用戶,并讓用戶選擇一個圖片,然后,在步驟s770中將該圖片的圖片身份標識發(fā)送給認證模塊310。
在步驟s780中,認證模塊310將用戶選擇的圖片切割為各自包含多個特征點的多個圖片塊后,并將多個圖片塊以及相應的圖片塊身份標識發(fā)送給應用模塊320;在步驟s790中,應用模塊320將多個圖片塊展示給用戶,并讓用戶選擇一個圖片塊;然后,在步驟s800中,應用模塊320將用戶選擇的圖片塊的圖片塊身份標識發(fā)送給認證模塊310。顯然,若用戶在步驟s760中選擇了正確的認證圖片,則在s780中的切割方式與密碼設置階段的切割方式一樣。
此外,在步驟s810中,認證模塊310將圖片密碼生成時的備選符號發(fā)送給應用模塊320。此步驟也可以提至例如步驟s750之前。
在步驟s820中,應用模塊320將用戶選擇的一個圖片塊作為背景圖片,并且將至少包括所述備選符號的字符和圖形隨機形成符號矩陣,在背景圖片上展示給用戶。
此外,重疊在背景圖片上的符號矩陣的面積可以小于或等于背景圖片的面積,但是優(yōu)選符號矩陣的面積大于背景圖片的面積,由此符號矩陣的一部分符號位于背景圖片之外。并且,在此步驟s820中,在背景圖片之外的部分可以不顯示,僅顯示位于背景圖片范圍內的符號,由此,例如,進一步降低了因為偷窺導致的圖片密碼泄露的風險。
在步驟s830中,應用模塊320要求用戶在背景圖片中移動符號矩陣,使得在圖片密碼生成時用戶選擇的認證符號移動至圖片密碼生成時的相同特征點;若在密碼生成時用戶選擇了多個認證符號,則按照圖片密碼生成時的順序依次對所述多個認證符號執(zhí)行此步驟。
在步驟s840中,認證模塊310確定用戶是否選擇了正確的背景圖片,并且確定所述認證符號是否被移動至圖片密碼生成時的相同位置,若都正確,則用戶認證成功,否則,用戶認證失敗。
如果用戶在設置圖片密碼時,未進行認證圖片的分割,而是直接將認證圖片設置為背景圖片,則在上述的圖片密碼認證過程中,省略上述的步驟s780至s800。并且,在步驟s820中,應用模塊320將用戶選擇的圖片作為背景圖片。
此外,需要說明的是,在步驟s820中,符號矩陣是隨機形成的,因此,可能是與圖片密碼生成時符號矩陣不一樣,而在認證時,用戶只需要將符號矩陣中的認證符號(圖片密碼生成過程中由用戶選擇設置的認證符號)移動至在密碼生成時的圖片上的相同位置即可。若密碼生成時用戶選擇的認證符號在矩陣中出現了兩次或更多次,則只需要將任何一個認證符號移動至密碼生成時在圖片上的相同位置即可。由于在認證時,符號矩陣是隨機生成的,并且矩陣中可以包括兩個或更多的認證符號,而且在認證時,不會突出顯示認證符號,所以,在認證過程中,即使有人偷窺整個認證過程,也無法重復該認證過程。此外,由于上述特征,即使人們反復觀看此密碼的認證過程,也很難發(fā)現其認證規(guī)律。而現有的字符密碼認證過程顯然做不到這一點。
在步驟s830中,用戶可通過背景圖片上的特征點判定是否移動到密碼設置時的位置。然而,如上文所述,也同樣可以通過認證符號的坐標位置來確定是否移動到正確位置。
而且,此密碼也很難通過黑客技術手段(例如鍵盤記錄等)盜取、暴力破解。而且,本發(fā)明的圖片密碼方便記憶,也不存在因為保管不慎(密碼寫在紙條上)而泄露。因此,本發(fā)明的密碼生成方法以及密碼認證過程的技術效果是傳統(tǒng)密碼無法比擬的,其安全性極高。
此外,當同一個唯一標識的圖片密碼認證請求連續(xù)錯誤預定次數,可以設定在預定時間內不接受該唯一標識的圖片密碼認證請求。例如,連續(xù)五次認證錯誤,可以設定在數小時內不再接受該唯一標識的認證請求?;蛘撸斖粋€唯一標識的圖片密碼認證請求連續(xù)錯誤預定次數,則要求用戶以其他方式校驗身份,驗證通過后,允許用戶重新設置圖片認證密碼或者再次發(fā)起的圖片密碼認證請求。其他校驗身份的方式可以是,例如指紋認證、上傳身份證件認證、回答預先設置的問題等認證方式或其組合?;蛘撸梢栽O置為如果同一個唯一標識的圖片密碼認證請求的認證頻率達到設定的閾值,則拒絕該圖片密碼認證請求,例如,同一個唯一標識在三分鐘內發(fā)起十次圖片密碼認證請求,則拒絕隨后的圖片密碼認證請求。
此外,考慮到色盲用戶的特殊情況,可以在設置圖片密碼時,首先詢問用戶是否需要色盲專用圖庫,如果需要,則在密碼生成及認證過程中,計算機系統(tǒng)為用戶提供色盲專用的圖片、字符和圖形。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發(fā)明保護的范圍之內。