專利名稱:通過軟鍵盤實現(xiàn)密碼輸入的方法、系統(tǒng)、客戶端及服務器的制作方法
技術(shù)領域:
本發(fā)明涉及軟鍵盤技術(shù)領域,尤其涉及一種通過軟鍵盤實現(xiàn)密碼輸入的方法、系統(tǒng)、客戶端及服務器。
背景技術(shù):
軟鍵盤是軟件模擬的鍵盤,可以通過鼠標點擊軟鍵盤上的按鍵實現(xiàn)字符的輸入。軟鍵盤常應用于實現(xiàn)密碼的輸入,由于軟鍵盤通過鼠標(即操作系統(tǒng)中的鼠標,簡稱系統(tǒng)鼠標)進行密碼輸入?yún)迹艽a自始至終端都不會以任何形式的字符明文出現(xiàn),因此相對于普通的文本輸入框或硬鍵盤,軟鍵盤擁有較高的安全性。
目前,通過軟鍵盤實現(xiàn)密碼的輸入的方案為服務器向客戶端下發(fā)ー組順序打亂的圖片,每張圖片分別對應一個字符,其對應關系存儲于服務器中;客戶端將服務器下發(fā)的該組圖片組合成軟鍵盤顯示給用戶,其中,軟鍵盤中每個字符按鍵對應ー張圖片;用戶輸入密碼時,客戶端根據(jù)用戶的鼠標按鍵操作依次獲取密碼的各個字符對應的圖片序號,將獲取到的圖片序號序列發(fā)送至服務器;服務器通過預先保存的對應關系,獲得圖片序號序列對應的密碼并進行密碼驗證?,F(xiàn)有通過軟鍵盤實現(xiàn)密碼的輸入的方案中,客戶端獲取到的密碼的每個字符對應的圖片序號后,木馬可以較容易的從客戶端的內(nèi)存中獲取各個圖片序號,配合截獲系統(tǒng)鼠標的位置和系統(tǒng)鼠標的事件,結(jié)合對客戶端顯示的軟鍵盤的截屏操作,木馬可以得到圖片與字符的對應關系并推出密碼,導致用戶輸入的密碼被盜取,安全性較低。
發(fā)明內(nèi)容
本發(fā)明實施例所要解決的技術(shù)問題在于,提供一種通過軟鍵盤實現(xiàn)密碼輸入的方法、系統(tǒng)、客戶端及服務器,可提升通過軟鍵盤進行密碼輸入的安全性。為了解決上述技術(shù)問題,本發(fā)明實施例提供了一種通過軟鍵盤實現(xiàn)密碼輸入的方法,包括
客戶端向服務器發(fā)送軟鍵盤獲取請求,并接收所述服務器返回的軟鍵盤圖片和變換因
子;
所述客戶端根據(jù)預設的亂序算法和所述變換因子,對所述軟鍵盤圖片進行變換,生成輸入鍵盤和內(nèi)存鍵盤,并建立所述輸入鍵盤和所述內(nèi)存鍵盤的映射關系;
所述客戶端顯示所述輸入鍵盤,當用戶在所述輸入鍵盤上輸入密碼時,所述客戶端根據(jù)所述輸入鍵盤和所述內(nèi)存鍵盤的映射關系,對所述密碼進行處理后發(fā)送至所述服務器。其中,所述客戶端向服務器發(fā)送軟鍵盤獲取請求,并接收所述服務器返回的軟鍵盤圖片和變換因子,包括
當接收到用戶的密碼輸入請求時,客戶端向服務器發(fā)送軟鍵盤獲取請求;
所述服務器根據(jù)所述軟鍵盤獲取請求,基于預設的變換因子對應的變換算法,生成軟鍵盤圖片;所述服務器將所述軟鍵盤圖片和所述預設的變換因子返回給所述客戶端。其中,所述客戶端根據(jù)預設的亂序算法和所述變換因子,對所述軟鍵盤圖片進行變換,生成輸入鍵盤和內(nèi)存鍵盤,并建立所述輸入鍵盤和所述內(nèi)存鍵盤的映射關系,包括
所述客戶端根據(jù)預設的亂序算法,對所述軟鍵盤圖片進行亂序變換,生成輸入鍵盤;
所述客戶端基于所述變換因子對應的變換算法,對所述軟鍵盤圖片進行變換,生成內(nèi)存鍵盤;
所述客戶端建立所述輸入鍵盤和所述內(nèi)存鍵盤的映射關系;
其中,所述輸入鍵盤和所述內(nèi)存鍵盤的映射關系為所述輸入鍵盤中的任ー個按鍵對應于所述內(nèi)存鍵盤中的ー個按鍵。 其中,所述客戶端顯示所述輸入鍵盤之后,接收用戶在所述輸入鍵盤上輸入的密碼之前,還包括
當檢測到系統(tǒng)鼠標進入所述輸入鍵盤內(nèi)時,所述客戶端隱藏所述系統(tǒng)鼠標,并在所述輸入鍵盤內(nèi)顯不輸入鼠標;
當檢測到所述輸入鼠標位于所述輸入鍵盤上任ー按鍵區(qū)域時,所述客戶端隱藏所述輸入鼠標;
其中,所述輸入鼠標與所述系統(tǒng)鼠標相對應,所述用戶通過所述輸入鼠標在所述輸入鍵盤上進行密碼輸入。其中,當用戶在所述輸入鍵盤上輸入密碼時,所述客戶端根據(jù)所述輸入鍵盤和所述內(nèi)存鍵盤的映射關系,對所述密碼進行處理后發(fā)送至所述服務器,包括
當檢測到所述輸入鼠標的按鍵操作時,所述客戶端獲取所述按鍵操作時所述輸入鼠標的坐標所處的按鍵區(qū)域?qū)陌存I序號;
當檢測到用戶的密碼確認操作吋,所述客戶端將依次獲取的按鍵序號順序組成所述用戶在所述輸入鍵盤上輸入的密碼;
所述客戶端根據(jù)所述輸入鍵盤和所述內(nèi)存鍵盤的映射關系,將用戶在所述輸入鍵盤上輸入的密碼轉(zhuǎn)換為所述內(nèi)存鍵盤對應的密碼;
所述客戶端將轉(zhuǎn)換后的密碼發(fā)送至所述服務器;
其中,用戶在所述輸入鍵盤上輸入的密碼為所述客戶端依次獲取的按鍵序號序列。其中,所述客戶端將轉(zhuǎn)換后的密碼發(fā)送至所述服務器之后,還包括所述服務器基于所述預設的變換因子對應的變換算法,對所述客戶端發(fā)送的密碼進行驗證。相應地,本發(fā)明實施例還提供了一種客戶端,包括
請求接收模塊,用于向服務器發(fā)送軟鍵盤獲取請求,并接收所述服務器返回的軟鍵盤圖片和變換因子;
處理模塊,用于根據(jù)預設的亂序算法和所述變換因子,對所述請求接收模塊接收的軟鍵盤圖片進行變換,生成輸入鍵盤和內(nèi)存鍵盤,并建立所述輸入鍵盤和所述內(nèi)存鍵盤的映身寸關系;
顯示輸入模塊,用于顯示所述處理模塊獲得的輸入鍵盤,當用戶在所述輸入鍵盤上輸入密碼時,根據(jù)所述輸入鍵盤和所述內(nèi)存鍵盤的映射關系,對所述密碼進行處理后發(fā)送至所述服務器。其中,所述請求接收模塊包括請求單元,用于當接收到用戶的密碼輸入請求吋,向服務器發(fā)送軟鍵盤獲取請求; 接收單元,用于接收所述服務器返回的軟鍵盤圖片和變換因子。其中,所述處理模塊包括
第一處理單元,用于根據(jù)預設的亂序算法,對所述軟鍵盤圖片進行亂序變換,生成輸入鍵盤;
第二處理單元,用于基于所述變換因子對應的變換算法,對所述軟鍵盤圖片進行變換,生成內(nèi)存鍵盤;
建立単元,用于建立所述第一處理單元獲得的輸入鍵盤與所述第二處理單元獲得的內(nèi)存鍵盤之間的映射關系;
其中,所述輸入鍵盤和所述內(nèi)存鍵盤的映射關系為所述輸入鍵盤中的任ー個按鍵對 應于所述內(nèi)存鍵盤中的ー個按鍵。其中,所述客戶端還包括
鼠標控制模塊,用于當檢測到系統(tǒng)鼠標進入所述輸入鍵盤內(nèi)時,隱藏所述系統(tǒng)鼠標,并在所述輸入鍵盤內(nèi)顯示輸入鼠標;當檢測到所述輸入鼠標位于所述輸入鍵盤上任一按鍵區(qū)域時,隱藏所述輸入鼠標;
其中,所述輸入鼠標與所述系統(tǒng)鼠標相對應,所述用戶通過所述輸入鼠標在所述輸入鍵盤上進行密碼輸入。其中,所述顯示輸入模塊包括
顯示單元,用于顯示所述輸入鍵盤;
獲取單元,用于當檢測到所述顯示單元顯示的輸入鼠標的按鍵操作時,獲取所述按鍵操作時所述輸入鼠標的坐標所處的按鍵區(qū)域?qū)陌存I序號;
組合單元,用于當檢測到用戶的密碼確認操作吋,將所述獲取單元依次獲取的按鍵序號按序組成所述用戶在所述輸入鍵盤上輸入的密碼;
轉(zhuǎn)換單元,用于根據(jù)所述輸入鍵盤和所述內(nèi)存鍵盤的映射關系,將所述組合單元組合形成的所述用戶在所述輸入鍵盤上輸入的密碼轉(zhuǎn)換為所述內(nèi)存鍵盤對應的密碼;
發(fā)送單元,用于將所述轉(zhuǎn)換単元得到的密碼發(fā)送至所述服務器。其中,用戶在所述輸入鍵盤上輸入的密碼為所述客戶端依次獲取的按鍵序號序列。相應地,本發(fā)明實施例還提供了一種服務器,包括
生成模塊,用于當接收到客戶端發(fā)送的軟鍵盤獲取請求時,基于預設的變換因子對應的變換算法,生成軟鍵盤圖片;
請求響應模塊,用于將所述生成模塊生成的軟鍵盤圖片和所述預設的變換因子返回給所述客戶端;
接收模塊,用于接收所述客戶端發(fā)送的密碼。其中,所述服務器還包括
密碼驗證模塊,用于基于所述預設的變換因子對應的變換算法,對所述接收模塊接收到的密碼進行驗證。相應地,本發(fā)明實施例還提供了一種通過軟鍵盤實現(xiàn)密碼輸入的系統(tǒng),包括服務器和至少ー個客戶端,其中所述客戶端,用于向所述服務器發(fā)送軟鍵盤獲取請求,根據(jù)預設的亂序算法和所述服務器返回的變換因子,對所述服務器返回的軟鍵盤圖片進行變換,生成輸入鍵盤和內(nèi)存鍵盤,建立所述輸入鍵盤和所述內(nèi)存鍵盤的映射關系;顯示所述輸入鍵盤,當用戶在所述輸入鍵盤上輸入密碼時,根據(jù)所述輸入鍵盤和所述內(nèi)存鍵盤的映射關系,對所述密碼進行處理后發(fā)送至所述服務器;
所述服務器,用于當接收到客戶端發(fā)送的軟鍵盤獲取請求吋,將軟鍵盤圖片和預設的變換因子返回給所述客戶端,并接收所述客戶端發(fā)送的密碼。實施本發(fā)明實施例,具有如下有益效果
本發(fā)明實施例的客戶端根據(jù)服務器返回的變換因子,對軟鍵盤圖片進行變換得到內(nèi)存鍵盤;客戶端根據(jù)預設的亂序算法,對軟鍵盤圖片進行變換得到輸入鍵盤,并建立內(nèi)存鍵盤與輸入鍵盤之間的映射關系;當用戶通過輸入鍵盤進行密碼輸入時,客戶端通過映射關系將該密碼轉(zhuǎn)換為內(nèi)存鍵盤對應的密碼。木馬僅能從內(nèi)存中截獲轉(zhuǎn)換后得到的內(nèi)存鍵盤對應的密碼,而通過截屏僅能獲得輸入鍵盤的排布,因此,即使配合截獲的密碼和截屏操作,木 馬依然無法推出用戶輸入的正確密碼,從而提升了通過軟鍵盤進行密碼輸入的安全性。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖I為本發(fā)明的通過軟鍵盤實現(xiàn)密碼輸入的系統(tǒng)的實施例的結(jié)構(gòu)示意 圖2為本發(fā)明的客戶端的第一實施例的結(jié)構(gòu)示意 圖3為本發(fā)明的客戶端的第二實施例的結(jié)構(gòu)示意 圖4為本發(fā)明的客戶端的請求接收模塊的實施例的結(jié)構(gòu)示意 圖5為本發(fā)明的客戶端的處理模塊的實施例的結(jié)構(gòu)示意 圖6為本發(fā)明的客戶端的顯示輸入模塊的實施例的結(jié)構(gòu)示意 圖7為本發(fā)明的服務器的第一實施例的結(jié)構(gòu)示意 圖8為本發(fā)明的服務器的第二實施例的結(jié)構(gòu)示意 圖9為本發(fā)明的通過軟鍵盤實現(xiàn)密碼輸入的方法的第一實施例的流程 圖10為本發(fā)明的通過軟鍵盤實現(xiàn)密碼輸入的方法的第二實施例的流程圖。
具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。請參見圖1,為本發(fā)明的通過軟鍵盤實現(xiàn)密碼輸入的系統(tǒng)的實施例的結(jié)構(gòu)示意圖;所述系統(tǒng)包括服務器和至少ー個客戶端,圖I中示出了三個客戶端,實際應用中,所述客戶端并不限于三個,其可以為與所述服務器相連接的任意一個或多個客戶端。
所述客戶端,用于向所述服務器發(fā)送軟鍵盤獲取請求,根據(jù)預設的亂序算法和所述服務器返回的變換因子,對所述服務器返回的軟鍵盤圖片進行變換,生成輸入鍵盤和內(nèi)存鍵盤,建立所述輸入鍵盤和所述內(nèi)存鍵盤的映射關系;顯示所述輸入鍵盤,當用戶在所述輸入鍵盤上輸入密碼時,根據(jù)所述輸入鍵盤和所述內(nèi)存鍵盤的映射關系,對所述密碼進行處理后發(fā)送至所述服務器。需要說明的是,本發(fā)明實施例所述的客戶端包括但不限于手機、PDA (PersonalDigital Assistant,個人數(shù)字助理)、PC (Personal Computer,個人計算機)、智能手機中的任ー種或多種。所述服務器,用于當接收到客戶端發(fā)送的軟鍵盤獲取請求時,將軟鍵盤圖片和預設的變換因子返回給所述客戶端,并接收所述客戶端發(fā)送的密碼。
為了更清楚地說明本發(fā)明,下面將對上述系統(tǒng)中的客戶端進行詳細介紹。請參見圖2,為本發(fā)明的客戶端的第一實施例的結(jié)構(gòu)示意圖;所述客戶端包括 請求接收模塊101,用于向服務器發(fā)送軟鍵盤獲取請求,并接收所述服務器返回的軟鍵
盤圖片和變換因子。當用戶需要使用軟鍵盤輸入密碼時,用戶可點擊軟鍵盤圖標發(fā)出密碼輸入請求,所述請求接收模塊101接收到用戶的密碼輸入請求時,生成軟鍵盤獲取請求,向所述服務器請求軟鍵盤。所述請求接收模塊101還用于接收所述服務器根據(jù)所述軟鍵盤獲取請求所返回的軟鍵盤圖片和變換因子。其中,所述服務器返回的軟鍵盤圖片可以為ー張順序打亂的完整的圖片,也可以為ー組順序打亂的圖片;所述變換因子為所述服務器預設的、對正常順序的軟鍵盤中各個字符進行亂序變換的算法種子;所述變換算法可以為隨機算法或亂序算法等動態(tài)算法中的任ー種。處理模塊102,用于根據(jù)預設的亂序算法和所述變換因子,對所述請求接收模塊101接收的軟鍵盤圖片進行變換,生成輸入鍵盤和內(nèi)存鍵盤,并建立所述輸入鍵盤和所述內(nèi)存鍵盤的映射關系。所述輸入鍵盤為所述客戶端向用戶展示的、用于密碼輸入的軟鍵盤;所述內(nèi)存鍵盤為存儲于所述客戶端內(nèi)存的軟鍵盤。其中,所述輸入鍵盤和所述內(nèi)存鍵盤的映射關系為所述輸入鍵盤中的任一個按鍵對應于所述內(nèi)存鍵盤中的ー個按鍵。顯示輸入模塊103,用于顯示所述處理模塊102獲得的輸入鍵盤,當用戶在所述輸入鍵盤上輸入密碼時,根據(jù)所述輸入鍵盤和所述內(nèi)存鍵盤的映射關系,對所述密碼進行處理后發(fā)送至所述服務器。當用戶在所述顯示輸入模塊103顯示的輸入鍵盤上進行密碼輸入?yún)迹鲲@示輸入模塊103獲取用戶輸入的密碼,井根據(jù)所述輸入鍵盤和所述內(nèi)存鍵盤的映射關系,將獲取的所述用戶在所述輸入鍵盤上輸入的密碼轉(zhuǎn)換為所述內(nèi)存鍵盤對應的密碼發(fā)送至所述服務器。可以理解的是,所述顯示輸入模塊103還用于在文本輸入框中顯示密碼輸入的標識,比如若用戶輸入了六位密碼,所述顯示輸入模塊103在文本輸入框中顯示“*##*”,以提醒用戶已輸入密碼以及輸入的密碼的位數(shù),所述顯示輸入模塊103對密碼輸入的標識的顯示過程與現(xiàn)有技術(shù)相同,在此不贅述。本發(fā)明實施例在客戶端生成內(nèi)存鍵盤和輸入鍵盤,并建立內(nèi)存鍵盤與輸入鍵盤之間的映射關系;當用戶通過輸入鍵盤進行密碼輸入時,客戶端通過映射關系將該密碼轉(zhuǎn)換為內(nèi)存鍵盤對應的密碼。木馬僅能從內(nèi)存中截獲轉(zhuǎn)換后得到的內(nèi)存鍵盤對應的密碼,而通過截屏僅能獲得輸入鍵盤的排布,因此,即使配合截獲的密碼和截屏操作,木馬依然無法推出用戶輸入的正確密碼,從而提升了通過軟鍵盤進行密碼輸入的安全性。請參見圖3,為本發(fā)明的客戶端的第二實施例的結(jié)構(gòu)示意圖;與上一實施例相同,所述客戶端包括請求接收模塊101、處理模塊102和顯示輸入模塊103。本實施例中,所述客戶端進ー步包括
鼠標控制模塊104,用于當檢測到系統(tǒng)鼠標進入所述 輸入鍵盤內(nèi)時,隱藏所述系統(tǒng)鼠標,并在所述輸入鍵盤內(nèi)顯示輸入鼠標;當檢測到所述輸入鼠標位于所述輸入鍵盤上任一按鍵區(qū)域吋,隱藏所述輸入鼠標。所述系統(tǒng)鼠標為所述客戶端的操作系統(tǒng)中的鼠標,所述輸入鼠標為所述客戶端在所述輸入鍵盤上提供的、用于用戶進行密碼輸入的鼠標。所述輸入鼠標與所述系統(tǒng)鼠標相對應,所述用戶通過所述輸入鼠標在所述輸入鍵盤上進行密碼輸入。具體實現(xiàn)中,所述輸入鼠標的坐標為所述系統(tǒng)鼠標的坐標經(jīng)預設的公式變換得到,比如所述輸入鼠標的坐標=所述系統(tǒng)鼠標的坐標+偏移量,該預設的公式和偏移量均存儲于所述客戶端的存儲空間中,該存儲空間安全性較高,不易被木馬入侵。可以理解的是,上述公式僅為舉例,其他預設的公式的情況下可類似分析,在此不贅述。當檢測到系統(tǒng)鼠標進入所述輸入鍵盤內(nèi)時,所述鼠標控制模塊104隱藏所述系統(tǒng)鼠標,并在所述輸入鍵盤內(nèi)顯示輸入鼠標。具體實現(xiàn)中,所述鼠標控制模塊104隱藏所述系統(tǒng)鼠標的方式為將所述系統(tǒng)鼠標設置為透明,之后,用戶則無法在客戶端的顯示屏上看到所述系統(tǒng)鼠標;可以理解的是,此處隱藏方式僅為舉例。當用戶移動鼠標時,所述客戶端只移動所述輸入鍵盤內(nèi)的輸入鼠標來響應用戶的操作。所述鼠標控制模塊104將所述輸入鼠標與所述系統(tǒng)鼠標的坐標進行了變換,可防止木馬通過截獲所述系統(tǒng)鼠標的坐標獲得真實的鼠標位置,提升了輸入安全性。當檢測到所述輸入鼠標位于所述輸入鍵盤上任ー按鍵區(qū)域時,即當用戶預點擊所述輸入鼠標所處的按鍵時,所述鼠標控制模塊104隱藏所述輸入鼠標。具體實現(xiàn)中,所述鼠標控制模塊104隱藏所述輸入鼠標的方式為將所述輸入鼠標設置為透明,之后,用戶則無法在客戶端的顯示屏上看到所述系統(tǒng)鼠標;可以理解的是,此處隱藏方式僅為舉例,其他情況,比如由于所述輸入鼠標為所述客戶端所提供的虛擬鼠標,當需要隱藏所述輸入鼠標時,所述鼠標控制模塊104控制所述客戶端中斷所述輸入鼠標的提供,用戶則無法在所述輸入鍵盤內(nèi)看到所述輸入鼠標,上述情況下可類似分析,在此不贅述。在輸入鼠標預點擊按鍵操作時隱藏輸入鼠標,可防止木馬通過截屏獲得用戶對輸入鼠標的操作,進ー步提升了安全性。本發(fā)明實施例提高了木馬截獲密碼的門檻,輸入密碼所采用的輸入鼠標與系統(tǒng)鼠標之間的坐標進行了變換,有效地防止木馬通過截獲所述系統(tǒng)鼠標的坐標獲得真實的鼠標位置,提升了輸入安全性;在輸入鼠標預點擊按鍵操作時隱藏輸入鼠標,有效地防止木馬通過截屏獲得用戶對輸入鼠標的操作,進ー步提升了安全性。為了更清楚地說明本發(fā)明,下面將對本發(fā)明的客戶端的各模塊進行詳細介紹。請參見圖4,為本發(fā)明的客戶端的請求接收模塊的實施例的結(jié)構(gòu)示意圖;所述請求接收模塊101包括請求單元111,用于當接收到用戶的密碼輸入請求吋,向服務器發(fā)送軟鍵盤獲取請求。當用戶需要使用軟鍵盤輸入密碼時,用戶可點擊軟鍵盤圖標發(fā)出密碼輸入請求,所述請求単元111接收到用戶的密碼輸入請求時,生成軟鍵盤獲取請求,向所述服務器請求軟鍵盤。接收單元112,用于接收所述服務器返回的軟鍵盤圖片和變換因子。所述接收単元112接收所述服務器根據(jù)所述請求單元111的軟鍵盤獲取請求所返回的軟鍵盤圖片和變換因子。其中,所述服務器返回的軟鍵盤圖片可以為ー張順序打亂的完整的圖片,也可以為ー組順序打亂的圖片;所述變換因子為所述服務器預設的、對正常順序的軟鍵盤中各個字符進行亂序變換的算法種子;所述變換算法可以為隨機算法或亂序算法等動態(tài)算法中的任一種。請參見圖5,為本發(fā)明的客戶端的處理模塊的實施例的結(jié)構(gòu)示意圖;所述處理模塊102包括
第一處理單元211,用于根據(jù)預設的亂序算法,對所述軟鍵盤圖片進行亂序變換,生成輸入鍵盤。所述客戶端預先設置亂序算法,所述亂序算法是ー種將順序打亂的隨機算法。所述第一處理單元211基于預設的亂序算法將所述軟鍵盤圖片進行亂序變換,生成輸入鍵盤。第二處理單元212,用于基于所述變換因子對應的變換算法,對所述軟鍵盤圖片進行變換,生成內(nèi)存鍵盤。如前述,所述變換因子為所述服務器預設的、對正常順序的軟鍵盤中各個字符進行亂序變換的算法種子;所述變換算法可以為隨機算法或亂序算法等動態(tài)算法中的任一種。所述第二處理單元212基于所述變換算法對所述軟鍵盤圖片進行亂序變換,生成內(nèi)存鍵盤。建立単元213,用于建立所述第一處理單元211獲得的輸入鍵盤與所述第二處理単元212獲得的內(nèi)存鍵盤之間的映射關系。其中,所述輸入鍵盤和所述內(nèi)存鍵盤的映射關系為所述輸入鍵盤中的任一個按鍵對應于所述內(nèi)存鍵盤中的ー個按鍵。請參見圖6,為本發(fā)明的客戶端的顯示輸入模塊的實施例的結(jié)構(gòu)示意圖;所述顯示輸入模塊103包括
顯示單元311,用于顯示所述輸入鍵盤。獲取單元312,用于當檢測到所述顯示単元311顯示的輸入鼠標的按鍵操作吋,獲取所述按鍵操作時所述輸入鼠標的坐標所處的按鍵區(qū)域?qū)陌存I序號。如前述,所述輸入鼠標與所述系統(tǒng)鼠標相對應,所述用戶通過所述輸入鼠標在所述輸入鍵盤上進行密碼輸入。具體實現(xiàn)中,所述輸入鼠標的坐標為所述系統(tǒng)鼠標的坐標經(jīng)預設的公式變換得到,比如所述輸入鼠標的坐標=所述系統(tǒng)鼠標的坐標+預設的偏移量,該預設的公式和預設的偏移量均存儲于所述客戶端的存儲空間中,該存儲空間安全性較高,不易被木馬入侵。當檢測到所述輸入鼠標的按鍵操作吋,即用戶通過所述輸入鼠標點擊所述輸入鍵盤上的按鍵時,所述獲取単元312首先獲取所述按鍵操作時所述輸入鼠標的坐標,該坐標可由對應的系統(tǒng)鼠標的坐標經(jīng)預設的公式變換得到;所述獲取単元312根據(jù)所述輸入鼠標的坐標確定所處的按鍵區(qū)域?qū)陌存I序號??梢岳斫獾氖?,由于所述輸入鼠標與所述系統(tǒng)鼠標的坐標進行了變換,可防止木馬通過截獲所述系統(tǒng)鼠標的坐標獲得真實的鼠標位置,提升了輸入安全性。如前述,當所述用戶通過所述輸入鼠標位于所述輸入鍵盤上的任ー按鍵區(qū)域吋,所述輸入鼠標被所述鼠標控制模塊104控制隱藏;當所述用戶點擊某按鍵時,所述客戶端對所述輸入鍵盤上的被點擊的按鍵不做處理既不改變被點擊按鍵的顏色,也不改變被點擊按鍵的亮度,這樣可防止木馬通過截屏獲得用戶的按鍵操作,進ー步提升了安全性。組合單元313,用于當檢測到用戶的密碼確認操作吋,將所述獲取單元312依次獲取的按鍵序號按序組成所述用戶在所述輸入鍵盤上輸入的密碼。當用戶連續(xù)進行多次按鍵操作吋,所述獲取単元312依次獲取每次按鍵操作時的按鍵序號,當檢測到用戶的密碼確認操作時,所述組合単元313將各個按鍵序號順序組成 所述用戶在所述輸入鍵盤上輸入的密碼,所述用戶在所述輸入鍵盤上輸入的密碼為所述客戶端依次獲取的按鍵序號序列。轉(zhuǎn)換單元314,用于根據(jù)所述輸入鍵盤和所述內(nèi)存鍵盤的映射關系,將所述組合單元313組合形成的所述用戶在所述輸入鍵盤上輸入的密碼轉(zhuǎn)換為所述內(nèi)存鍵盤對應的密碼。發(fā)送單元315,用于將所述轉(zhuǎn)換単元314轉(zhuǎn)換得到的密碼發(fā)送至所述服務器。本發(fā)明實施例提高了木馬截獲用戶輸入的密碼的技術(shù)門檻,提升了通過軟鍵盤進行密碼輸入的安全性。為了更清楚地說明本發(fā)明,下面將對本發(fā)明的通過軟鍵盤實現(xiàn)密碼輸入的系統(tǒng)中的服務器進行詳細介紹。請參見圖7,為本發(fā)明的服務器的第一實施例的結(jié)構(gòu)示意圖;所述服務器包括 生成模塊201,用于當接收到客戶端發(fā)送的軟鍵盤獲取請求時,基于預設的變換因子對
應的變換算法,生成軟鍵盤圖片。所述生成模塊201基于預設的變換因子對應的變換算法,對正常順序的軟鍵盤中各個字符的順序進行亂序變換,形成軟鍵盤圖片。根據(jù)預設的變換算法,所述軟鍵盤圖片可以為ー張順序打亂的完整的圖片,也可以為ー組順序打亂的圖片。請求響應模塊202,用于將所述生成模塊201生成的軟鍵盤圖片和所述預設的變換因子返回給所述客戶端。接收模塊203,用于接收所述客戶端發(fā)送的密碼。所述接收模塊203用于接收所述客戶端發(fā)送的、用戶輸入的所述內(nèi)存鍵盤對應的密碼。本發(fā)明實施例由服務器在下發(fā)軟鍵盤圖片的同時下發(fā)變換因子,使客戶端依據(jù)變換因子生成內(nèi)存鍵盤,并依據(jù)預設的亂序算法生成輸入鍵盤,建立內(nèi)存鍵盤與輸入鍵盤之間的映射關系;通過映射關系將對用戶輸入的密碼進行轉(zhuǎn)換,提升了通過軟鍵盤進行密碼輸入的安全性。請參見圖8,為本發(fā)明的服務器的第二實施例的結(jié)構(gòu)示意圖;與上一實施例相同,所述服務器包括生成模塊201、請求響應模塊202和接收模塊203。本實施例中的,所述服務器進一歩包括
密碼驗證模塊204,用于基于所述預設的變換因子對應的變換算法,對所述接收模塊203接收到的密碼進行驗證。
由于所述客戶端的內(nèi)存鍵盤依所述服務器下發(fā)的變換因子對應的變換算法變換得到,因此,所述密碼驗證模塊204可基于所述預設的變換因子對應的變換算法,還原所述接收模塊203接收到的所述客戶端發(fā)送的所述內(nèi)存鍵盤對應的密碼(按鍵序號序列),獲得用戶輸入的密碼原文(字符序列)。所述密碼驗證模塊204對還原得到的密碼原文進行驗證,其驗證過程與現(xiàn)有技術(shù)相同,在此不贅述。本發(fā)明實施例由服務器依據(jù)相同的變換因子對客戶端傳送的密碼進行還原和驗證,有效地提升了通過軟鍵盤進行密碼輸入的安全性。為了更清楚地說明本發(fā)明,下面將對本發(fā)明的通過軟鍵盤實現(xiàn)密碼輸入的方法進行詳細介紹。請參見圖9,為本發(fā)明的通過軟鍵盤實現(xiàn)密碼輸入的方法的第一實施例的流程圖;所述方法包括
S101,客戶端向服務器發(fā)送軟鍵盤獲取請求,并接收所述服務器返回的軟鍵盤圖片和 變換因子。當用戶需要使用軟鍵盤輸入密碼時,用戶可點擊軟鍵盤圖標發(fā)出密碼輸入請求,步驟SlOl中,所述客戶端接收到用戶的密碼輸入請求時,則生成軟鍵盤獲取請求,向所述服務器請求軟鍵盤。步驟SlOl中,所述客戶端還接收所述服務器根據(jù)所述軟鍵盤獲取請求所返回的軟鍵盤圖片和變換因子。其中,所述服務器返回的軟鍵盤圖片可以為ー張順序打亂的完整的圖片,也可以為ー組順序打亂的圖片;所述變換因子為所述服務器預設的、對正常順序的軟鍵盤中各個字符進行亂序變換的算法種子;所述變換算法可以為隨機算法或亂序算法等動態(tài)算法中的任ー種。S102,所述客戶端根據(jù)預設的亂序算法和所述變換因子,對所述軟鍵盤圖片進行變換,生成輸入鍵盤和內(nèi)存鍵盤,并建立所述輸入鍵盤和所述內(nèi)存鍵盤的映射關系。所述輸入鍵盤為所述客戶端向用戶展示的、用于密碼輸入的軟鍵盤;所述內(nèi)存鍵盤為存儲于所述客戶端內(nèi)存的軟鍵盤。其中,所述輸入鍵盤和所述內(nèi)存鍵盤的映射關系為所述輸入鍵盤中的任一個按鍵對應于所述內(nèi)存鍵盤中的ー個按鍵。S103,所述客戶端顯示所述輸入鍵盤,當用戶在所述輸入鍵盤上輸入密碼時,所述客戶端根據(jù)所述輸入鍵盤和所述內(nèi)存鍵盤的映射關系,對所述密碼進行處理后發(fā)送至所述服務器。步驟S103中,所述客戶端向用戶顯示所述輸入鍵盤,當用戶在所述輸入鍵盤上進行密碼輸入時,所述客戶端獲取用戶輸入的密碼,井根據(jù)所述輸入鍵盤和所述內(nèi)存鍵盤的映射關系,將獲取的所述用戶在所述輸入鍵盤上輸入的密碼轉(zhuǎn)換為所述內(nèi)存鍵盤對應的密碼發(fā)送至所述服務器。本發(fā)明實施例在客戶端生成內(nèi)存鍵盤和輸入鍵盤,并建立內(nèi)存鍵盤與輸入鍵盤之間的映射關系;當用戶通過輸入鍵盤進行密碼輸入時,客戶端通過映射關系將該密碼轉(zhuǎn)換為內(nèi)存鍵盤對應的密碼。木馬僅能從內(nèi)存中截獲轉(zhuǎn)換后得到的內(nèi)存鍵盤對應的密碼,而通過截屏僅能獲得輸入鍵盤的排布,因此,即使配合截獲的密碼和截屏操作,木馬依然無法推出用戶輸入的正確密碼,從而提升了通過軟鍵盤進行密碼輸入的安全性。請參見圖10,為本發(fā)明的通過軟鍵盤實現(xiàn)密碼輸入的方法的第二實施例的流程圖;所述方法包括S201,當接收到用戶的密碼輸入請求時,客戶端向服務器發(fā)送軟鍵盤獲取請求。當用戶需要使用軟鍵盤輸入密碼時,用戶可點擊軟鍵盤圖標發(fā)出密碼輸入請求,步驟S201中,所述客戶端接收到用戶的密碼輸入請求時,則生成軟鍵盤獲取請求,向所述服務器請求軟鍵盤。S202,所述服務器根據(jù)所述軟鍵盤獲取請求,基于預設的變換因子對應的變換算法,生成軟鍵盤圖片。步驟S202中,所述服務器基于預設的變換因子對應的變換算法,對正常順序的軟鍵盤中各個字符的順序進行亂序變換,形成軟鍵盤圖片。根據(jù)預設的變換算法,所述軟鍵盤圖片可以為ー張順序打亂的完整的圖片,也可以為ー組順序打亂的圖片。S203,所述服務器將所述軟鍵盤圖片和所述預設的變換因子返回給所述客戶端。本實施例中,步驟S201-S203為上ー實施例的步驟SlOl的具體細化步驟。 S204,所述客戶端根據(jù)預設的亂序算法,對所述軟鍵盤圖片進行亂序變換,生成輸入鍵盤。所述客戶端預先設置亂序算法,所述亂序算法是ー種將順序打亂的隨機算法。步驟S204中,所述客戶端基于預設的亂序算法將所述軟鍵盤圖片進行亂序變換,生成輸入鍵盤。S205,所述客戶端基于所述變換因子對應的變換算法,對所述軟鍵盤圖片進行變換,生成內(nèi)存鍵盤。如前述,所述變換因子為所述服務器預設的、對正常順序的軟鍵盤中各個字符進行亂序變換的算法種子;所述變換算法可以為隨機算法或亂序算法等動態(tài)算法中的任一種。步驟S205中,所述客戶端基于所述變換算法對所述軟鍵盤圖片進行亂序變換,生成內(nèi)存鍵盤。S206,所述客戶端建立所述輸入鍵盤和所述內(nèi)存鍵盤的映射關系。其中,所述輸入鍵盤和所述內(nèi)存鍵盤的映射關系為所述輸入鍵盤中的任ー個按鍵對應于所述內(nèi)存鍵盤中的ー個按鍵。本實施例中,步驟S204-S206為上ー實施例的步驟S102的具體細化步驟。S207,所述客戶端顯示所述輸入鍵盤。S208,當檢測到系統(tǒng)鼠標進入所述輸入鍵盤內(nèi)時,所述客戶端隱藏所述系統(tǒng)鼠標,并在所述輸入鍵盤內(nèi)顯示輸入鼠標。所述系統(tǒng)鼠標為所述客戶端的操作系統(tǒng)中的鼠標,所述輸入鼠標為所述客戶端在所述輸入鍵盤上提供的、用于用戶進行密碼輸入的鼠標。所述輸入鼠標與所述系統(tǒng)鼠標相對應,所述用戶通過所述輸入鼠標在所述輸入鍵盤上進行密碼輸入。具體實現(xiàn)中,所述輸入鼠標的坐標為所述系統(tǒng)鼠標的坐標經(jīng)預設的公式變換得到,比如所述輸入鼠標的坐標=所述系統(tǒng)鼠標的坐標+偏移量,該預設的公式和偏移量均存儲于所述客戶端的存儲空間中,該存儲空間安全性較高,不易被木馬入侵。可以理解的是,上述公式僅為舉例,其他預設的公式的情況下可類似分析,在此不贅述。步驟S208中,當檢測到系統(tǒng)鼠標進入所述輸入鍵盤內(nèi)時,所述客戶端隱藏所述系統(tǒng)鼠標,并在所述輸入鍵盤內(nèi)顯示輸入鼠標。具體實現(xiàn)中,所述客戶端隱藏所述系統(tǒng)鼠標的方式為將所述系統(tǒng)鼠標設置為透明,之后,用戶則無法在客戶端的顯示屏上看到所述系統(tǒng)鼠標;可以理解的是,此處隱藏方式僅為舉例。當用戶移動鼠標時,所述客戶端只移動所述輸入鍵盤內(nèi)的輸入鼠標來響應用戶的操作。所述客戶端將所述輸入鼠標與所述系統(tǒng)鼠標的坐標進行了變換,可防止木馬通過截獲所述系統(tǒng)鼠標的坐標獲得真實的鼠標位置,提升了輸入安全性。S209,當檢測到所述輸入鼠標位于所述輸入鍵盤上任ー按鍵區(qū)域時,所述客戶端隱藏所述輸入鼠標。步驟S209中,當檢測到所述輸入鼠標位于所述輸入鍵盤上任ー按鍵區(qū)域吋,即當用戶預點擊所述輸入鼠標所處的按鍵時,所述客戶端隱藏所述輸入鼠標。具體實現(xiàn)中,所述客戶端隱藏所述輸入鼠標的方式為將所述輸入鼠標設置為透明,之后,用戶則無法在客戶端的顯示屏上看到所述系統(tǒng)鼠標;可以理解的是,此處隱藏方式僅為舉例,其他情況,比如由于所述輸入鼠標為所述客戶端所提供的虛擬鼠標,當需要隱藏所述輸入鼠標時,所述客戶端中斷所述輸入鼠標的提供,用戶則無法在所述輸入鍵盤內(nèi)看到所述輸入鼠標,上述情況下可類似分析,在此不贅述。在輸入鼠標預點擊按鍵操作時隱藏輸入鼠標,可防止木馬通 過截屏獲得用戶對輸入鼠標的操作,進ー步提升了安全性。S210,當檢測到所述輸入鼠標的按鍵操作時,所述客戶端獲取所述按鍵操作時所述輸入鼠標的坐標所處的按鍵區(qū)域?qū)陌存I序號。當檢測到所述輸入鼠標的按鍵操作時,即用戶通過所述輸入鼠標點擊所述輸入鍵盤上的按鍵時,所述客戶端執(zhí)行步驟S210,首先獲取所述按鍵操作時所述輸入鼠標的坐標,該坐標可由對應的系統(tǒng)鼠標的坐標經(jīng)預設的公式變換得到;步驟S210中,所述客戶端根據(jù)所述輸入鼠標的坐標確定所處的按鍵區(qū)域?qū)陌存I序號??梢岳斫獾氖?,由于所述輸入鼠標與所述系統(tǒng)鼠標的坐標進行了變換,可防止木馬通過截獲所述系統(tǒng)鼠標的坐標獲得真實的鼠標位置,提升了輸入安全性。如前述,當所述用戶通過所述輸入鼠標位于所述輸入鍵盤上的任ー按鍵區(qū)域吋,所述輸入鼠標被隱藏;當所述用戶點擊某按鍵時,所述客戶端對所述輸入鍵盤上的被點擊的按鍵不做處理既不改變被點擊按鍵的顏色,也不改變被點擊按鍵的亮度,這樣可防止木馬通過截屏獲得用戶的按鍵操作,進ー步提升了安全性。S211,當檢測到用戶的密碼確認操作時,所述客戶端將依次獲取的按鍵序號按序組成所述用戶在所述輸入鍵盤上輸入的密碼。當用戶連續(xù)進行多次按鍵操作時,所述客戶端通過執(zhí)行步驟S210,依次獲取每次按鍵操作時的按鍵序號,步驟S211中,當檢測到用戶的密碼確認操作時,所述客戶端將各個按鍵序號順序組成所述用戶在所述輸入鍵盤上輸入的密碼,所述用戶在所述輸入鍵盤上輸入的密碼為所述客戶端依次獲取的按鍵序號序列。S212,所述客戶端根據(jù)所述輸入鍵盤和所述內(nèi)存鍵盤的映射關系,將用戶在所述輸入鍵盤上輸入的密碼轉(zhuǎn)換為所述內(nèi)存鍵盤對應的密碼。S213,所述客戶端將轉(zhuǎn)換后的密碼發(fā)送至所述服務器。本實施例中,步驟S207-S213為上ー實施例中的步驟S103的具體細化步驟。S214,所述服務器基于所述預設的變換因子對應的變換算法,對所述客戶端發(fā)送的密碼進行驗證。由于所述客戶端的內(nèi)存鍵盤依所述服務器下發(fā)的變換因子對應的變換算法變換得到,因此,步驟S214中,所述服務器可基于所述預設的變換因子對應的變換算法,還原所述客戶端發(fā)送的所述內(nèi)存鍵盤對應的密碼(按鍵序號序列),獲得用戶輸入的密碼原文(字符序列)。所述服務器對該密碼原文進行驗證,其驗證過程與現(xiàn)有技術(shù)相同,在此不贅述。本發(fā)明實施例提高了木馬截獲密碼的門檻,輸入密碼所采用的輸入鼠標與系統(tǒng)鼠標之間的坐標進行了變換,有效地防止木馬通過截獲所述系統(tǒng)鼠標的坐標獲得真實的鼠標位置,提升了輸入安全性;在輸入鼠標預點擊按鍵操作時隱藏輸入鼠標,有效地防止木馬通過截屏獲得用戶對輸入鼠標的操作,進ー步提升了安全性。本領域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機存儲記憶體(Random Access Memory, RAM)等。以上所揭露的僅為本發(fā)明較佳實施例而已,當然不能以此來限定本發(fā)明之權(quán)利范圍,本領域普通技術(shù)人員可以理解實現(xiàn)上述實施例的全部或部分流程,并依本發(fā)明權(quán)利要求所作的等同變化,仍屬于發(fā)明所涵蓋的范圍。
權(quán)利要求
1.一種通過軟鍵盤實現(xiàn)密碼輸入的方法,其特征在于,包括 客戶端向服務器發(fā)送軟鍵盤獲取請求,并接收所述服務器返回的軟鍵盤圖片和變換因子; 所述客戶端根據(jù)預設的亂序算法和所述變換因子,對所述軟鍵盤圖片進行變換,生成輸入鍵盤和內(nèi)存鍵盤,并建立所述輸入鍵盤和所述內(nèi)存鍵盤的映射關系; 所述客戶端顯示所述輸入鍵盤,當用戶在所述輸入鍵盤上輸入密碼時,所述客戶端根據(jù)所述輸入鍵盤和所述內(nèi)存鍵盤的映射關系,對所述密碼進行處理后發(fā)送至所述服務器。
2.如權(quán)利要求I所述的方法,其特征在于,所述客戶端向服務器發(fā)送軟鍵盤獲取請求,并接收所述服務器返回的軟鍵盤圖片和變換因子,包括 當接收到用戶的密碼輸入請求時,客戶端向服務器發(fā)送軟鍵盤獲取請求; 所述服務器根據(jù)所述軟鍵盤獲取請求,基于預設的變換因子對應的變換算法,生成軟鍵盤圖片; 所述服務器將所述軟鍵盤圖片和所述預設的變換因子返回給所述客戶端。
3.如權(quán)利要求I所述的方法,其特征在于,所述客戶端根據(jù)預設的亂序算法和所述變換因子,對所述軟鍵盤圖片進行變換,生成輸入鍵盤和內(nèi)存鍵盤,并建立所述輸入鍵盤和所述內(nèi)存鍵盤的映射關系,包括 所述客戶端根據(jù)預設的亂序算法,對所述軟鍵盤圖片進行亂序變換,生成輸入鍵盤; 所述客戶端基于所述變換因子對應的變換算法,對所述軟鍵盤圖片進行變換,生成內(nèi)存鍵盤; 所述客戶端建立所述輸入鍵盤和所述內(nèi)存鍵盤的映射關系; 其中,所述輸入鍵盤和所述內(nèi)存鍵盤的映射關系為所述輸入鍵盤中的任ー個按鍵對應于所述內(nèi)存鍵盤中的ー個按鍵。
4.如權(quán)利要求1-3任一項所述的方法,其特征在于,所述客戶端顯示所述輸入鍵盤之后,接收用戶在所述輸入鍵盤上輸入的密碼之前,還包括 當檢測到系統(tǒng)鼠標進入所述輸入鍵盤內(nèi)時,所述客戶端隱藏所述系統(tǒng)鼠標,并在所述輸入鍵盤內(nèi)顯不輸入鼠標; 當檢測到所述輸入鼠標位于所述輸入鍵盤上任ー按鍵區(qū)域時,所述客戶端隱藏所述輸入鼠標; 其中,所述輸入鼠標與所述系統(tǒng)鼠標相對應,所述用戶通過所述輸入鼠標在所述輸入鍵盤上進行密碼輸入。
5.如權(quán)利要求4所述的方法,其特征在于,當用戶在所述輸入鍵盤上輸入密碼時,所述客戶端根據(jù)所述輸入鍵盤和所述內(nèi)存鍵盤的映射關系,對所述密碼進行處理后發(fā)送至所述服務器,包括 當檢測到所述輸入鼠標的按鍵操作時,所述客戶端獲取所述按鍵操作時所述輸入鼠標的坐標所處的按鍵區(qū)域?qū)陌存I序號; 當檢測到用戶的密碼確認操作吋,所述客戶端將依次獲取的按鍵序號順序組成所述用戶在所述輸入鍵盤上輸入的密碼; 所述客戶端根據(jù)所述輸入鍵盤和所述內(nèi)存鍵盤的映射關系,將用戶在所述輸入鍵盤上輸入的密碼轉(zhuǎn)換為所述內(nèi)存鍵盤對應的密碼;所述客戶端將轉(zhuǎn)換后的密碼發(fā)送至所述服務器; 其中,用戶在所述輸入鍵盤上輸入的密碼為所述客戶端依次獲取的按鍵序號序列。
6.如權(quán)利要求5所述的方法,其特征在于,所述客戶端將轉(zhuǎn)換后的密碼發(fā)送至所述服務器之后,還包括 所述服務器基于所述預設的變換因子對應的變換算法,對所述客戶端發(fā)送的密碼進行驗證。
7.一種客戶端,其特征在于,包括 請求接收模塊,用于向服務器發(fā)送軟鍵盤獲取請求,并接收所述服務器返回的軟鍵盤圖片和變換因子; 處理模塊,用于根據(jù)預設的亂序算法和所述變換因子,對所述請求接收模塊接收的軟鍵盤圖片進行變換,生成輸入鍵盤和內(nèi)存鍵盤,并建立所述輸入鍵盤和所述內(nèi)存鍵盤的映身寸關系; 顯示輸入模塊,用于顯示所述處理模塊獲得的輸入鍵盤,當用戶在所述輸入鍵盤上輸入密碼時,根據(jù)所述輸入鍵盤和所述內(nèi)存鍵盤的映射關系,對所述密碼進行處理后發(fā)送至所述服務器。
8.如權(quán)利要求7所述的客戶端,其特征在于,所述請求接收模塊包括 請求單元,用于當接收到用戶的密碼輸入請求吋,向服務器發(fā)送軟鍵盤獲取請求; 接收單元,用于接收所述服務器返回的軟鍵盤圖片和變換因子。
9.如權(quán)利要求7所述的客戶端,其特征在于,所述處理模塊包括 第一處理單元,用于根據(jù)預設的亂序算法,對所述軟鍵盤圖片進行亂序變換,生成輸入鍵盤; 第二處理單元,用于基于所述變換因子對應的變換算法,對所述軟鍵盤圖片進行變換,生成內(nèi)存鍵盤; 建立単元,用于建立所述第一處理單元獲得的輸入鍵盤與所述第二處理單元獲得的內(nèi)存鍵盤之間的映射關系; 其中,所述輸入鍵盤和所述內(nèi)存鍵盤的映射關系為所述輸入鍵盤中的任ー個按鍵對應于所述內(nèi)存鍵盤中的ー個按鍵。
10.如權(quán)利要求7-9任一項所述的客戶端,其特征在于,還包括 鼠標控制模塊,用于當檢測到系統(tǒng)鼠標進入所述輸入鍵盤內(nèi)時,隱藏所述系統(tǒng)鼠標,并在所述輸入鍵盤內(nèi)顯示輸入鼠標;當檢測到所述輸入鼠標位于所述輸入鍵盤上任一按鍵區(qū)域時,隱藏所述輸入鼠標; 其中,所述輸入鼠標與所述系統(tǒng)鼠標相對應,所述用戶通過所述輸入鼠標在所述輸入鍵盤上進行密碼輸入。
11.如權(quán)利要求10所述的客戶端,其特征在于,所述顯示輸入模塊包括 顯示單元,用于顯示所述輸入鍵盤; 獲取單元,用于當檢測到所述顯示單元顯示的輸入鼠標的按鍵操作時,獲取所述按鍵操作時所述輸入鼠標的坐標所處的按鍵區(qū)域?qū)陌存I序號; 組合單元,用于當檢測到用戶的密碼確認操作吋,將所述獲取單元依次獲取的按鍵序號按序組成所述用戶在所述輸入鍵盤上輸入的密碼;轉(zhuǎn)換單元,用于根據(jù)所述輸入鍵盤和所述內(nèi)存鍵盤的映射關系,將所述組合單元組合形成的所述用戶在所述輸入鍵盤上輸入的密碼轉(zhuǎn)換為所述內(nèi)存鍵盤對應的密碼; 發(fā)送單元,用于將所述轉(zhuǎn)換単元得到的密碼發(fā)送至所述服務器; 其中,用戶在所述輸入鍵盤上輸入的密碼為所述客戶端依次獲取的按鍵序號序列。
12.一種服務器,其特征在于,包括 生成模塊,用于當接收到客戶端發(fā)送的軟鍵盤獲取請求時,基于預設的變換因子對應的變換算法,生成軟鍵盤圖片; 請求響應模塊,用于將所述生成模塊生成的軟鍵盤圖片和所述預設的變換因子返回給所述客戶端; 接收模塊,用于接收所述客戶端發(fā)送的密碼。
13.如權(quán)利要求12所述的服務器,其特征在于,還包括 密碼驗證模塊,用于基于所述預設的變換因子對應的變換算法,對所述接收模塊接收到的密碼進行驗證。
14.一種通過軟鍵盤實現(xiàn)密碼輸入的系統(tǒng),包括服務器和至少ー個客戶端,其特征在于 所述客戶端,用于向所述服務器發(fā)送軟鍵盤獲取請求,根據(jù)預設的亂序算法和所述服務器返回的變換因子,對所述服務器返回的軟鍵盤圖片進行變換,生成輸入鍵盤和內(nèi)存鍵盤,建立所述輸入鍵盤和所述內(nèi)存鍵盤的映射關系;顯示所述輸入鍵盤,當用戶在所述輸入鍵盤上輸入密碼時,根據(jù)所述輸入鍵盤和所述內(nèi)存鍵盤的映射關系,對所述密碼進行處理后發(fā)送至所述服務器; 所述服務器,用于當接收到客戶端發(fā)送的軟鍵盤獲取請求吋,將軟鍵盤圖片和預設的變換因子返回給所述客戶端,并接收所述客戶端發(fā)送的密碼。
全文摘要
本發(fā)明實施例公開了一種通過軟鍵盤實現(xiàn)密碼輸入的方法,包括客戶端向服務器發(fā)送軟鍵盤獲取請求,并接收所述服務器返回的軟鍵盤圖片和變換因子;所述客戶端根據(jù)預設的亂序算法和所述變換因子,對所述軟鍵盤圖片進行變換,生成輸入鍵盤和內(nèi)存鍵盤,并建立所述輸入鍵盤和所述內(nèi)存鍵盤的映射關系;所述客戶端顯示所述輸入鍵盤,當用戶在所述輸入鍵盤上輸入密碼時,所述客戶端根據(jù)所述輸入鍵盤和所述內(nèi)存鍵盤的映射關系,對所述密碼進行處理后發(fā)送至所述服務器。本發(fā)明實施例還公開了一種客戶端、服務器及通過軟鍵盤實現(xiàn)密碼輸入的系統(tǒng)。本發(fā)明可提升通過軟鍵盤進行密碼輸入的安全性。
文檔編號G06F21/83GK102867159SQ201110186370
公開日2013年1月9日 申請日期2011年7月5日 優(yōu)先權(quán)日2011年7月5日
發(fā)明者申亮, 蔣臻甄 申請人:騰訊科技(深圳)有限公司