驟Sl,客戶端獲取本次數(shù)據(jù)傳輸所需的密鑰;
[0056] 步驟S2,客戶端采用密鑰將每個(gè)鍵盤按鍵的按鍵值進(jìn)行加密,W獲得關(guān)聯(lián)于每個(gè) 鍵盤按鍵的加密值;
[0057] 步驟S3,客戶端根據(jù)使用者對(duì)鍵盤按鍵的操作,采用被操作的鍵盤按鍵的加密值 獲得關(guān)聯(lián)于本次數(shù)據(jù)傳輸?shù)拿艽a;
[0058] 步驟S4,客戶端采用密鑰對(duì)密碼進(jìn)行加密W獲得加密序列,并將加密序列發(fā)送至 服務(wù)端;
[0059] 步驟S5,服務(wù)端根據(jù)密鑰對(duì)加密序列進(jìn)行解密,W得到關(guān)聯(lián)于本次數(shù)據(jù)傳輸?shù)拿?碼。
[0060] 在一個(gè)具體實(shí)施例中,客戶端首先獲取本次數(shù)據(jù)傳輸(從客戶端將數(shù)據(jù)傳輸至服 務(wù)端)相關(guān)的密鑰。密鑰的獲取方式在下文中會(huì)詳述。
[0061] 在該實(shí)施例中,客戶端首先采用密鑰,對(duì)客戶端上的鍵盤的每個(gè)按鍵值分別進(jìn)行 加密,從而獲得關(guān)聯(lián)于每個(gè)鍵盤按鍵的加密值。具體地,客戶端上的輸入裝置可W為設(shè)置于 客戶端上的鍵盤,該鍵盤可W為實(shí)體鍵盤,也可W為虛擬鍵盤(即投射在客戶端的顯示屏上 并按照一定順序排列的按鍵組合)。則通常使用者會(huì)通過鍵盤按鍵輸入數(shù)據(jù)傳輸對(duì)應(yīng)的密 碼,例如交易密碼等。但是一般的鍵盤設(shè)置都具有統(tǒng)一的設(shè)置順序,電子病毒很容易通過監(jiān) 聽使用者的輸入順序和按鍵位置來獲得使用者的輸入密碼,從而破壞數(shù)據(jù)傳輸?shù)陌踩?交易安全。因此,該實(shí)施例中,在客戶通過鍵盤輸入密碼之前,首先通過上述獲得的密鑰對(duì) 每個(gè)鍵盤按鍵對(duì)應(yīng)的按鍵數(shù)值進(jìn)行加密,W分別得到對(duì)應(yīng)每個(gè)鍵盤按鍵的加密值。隨后使 用者通過敲擊鍵盤按鍵(例如虛擬鍵盤)輸入的值即為對(duì)應(yīng)的加密值,而不是鍵盤本身的按 鍵值。運(yùn)樣能夠降低鍵盤輸入密碼被監(jiān)聽的風(fēng)險(xiǎn)。
[0062] 在該實(shí)施例中,使用者通過鍵盤按鍵輸入密碼之后,客戶端可W采用上述密鑰對(duì) 密碼進(jìn)行加密處理,W得到對(duì)應(yīng)的加密序列,并將該加密序列發(fā)送至服務(wù)端,W作為本次數(shù) 據(jù)傳輸對(duì)應(yīng)的密碼。
[0063] 在該實(shí)施例中,服務(wù)端最終根據(jù)上述密鑰,對(duì)客戶端發(fā)送來的加密序列進(jìn)行解密, 從而得到正確的密碼。由于在客戶端可能存在兩次密鑰加密(對(duì)按鍵值進(jìn)行加密,W及對(duì)輸 入的密碼進(jìn)行加密),因此同樣地,在服務(wù)端也會(huì)存在兩次對(duì)應(yīng)的密鑰解密,從而得到正確 的密碼。
[0064] 本發(fā)明的一個(gè)較佳的實(shí)施例中,下表a為按鍵值與通過密鑰加密后的加密值之間 的其中一種對(duì)應(yīng)關(guān)系:
[0067] 表 a
[0068] 若用戶依照鍵盤按鍵輸入密碼:8036,則依照上表a,客戶端最終獲得的需要加密 的序列為B04C482F03181F0她53C689755A8E3C4邸3719F6。隨后客戶端再對(duì)上述數(shù)字序列進(jìn) 行密鑰加密,從而得到相應(yīng)的加密序列并輸出。
[0069] 本發(fā)明的較佳的實(shí)施例中,上述步驟Sl中,客戶端可W通過下述幾種方式獲取密 鑰:
[0070] 1)直接從服務(wù)端獲取密鑰,即在本次數(shù)據(jù)傳輸開始之前,或者一批次的數(shù)據(jù)傳輸 開始之前,客戶端首先請(qǐng)求服務(wù)端向其發(fā)送相應(yīng)的密鑰,W提供給本次數(shù)據(jù)傳輸或者本批 次的數(shù)據(jù)傳輸進(jìn)行密鑰加密;
[0071] 2)客戶端根據(jù)當(dāng)前的操作時(shí)間生成密鑰。在運(yùn)種情況下,由于不是從服務(wù)端獲取 的,因此在客戶端生成的密鑰需要被發(fā)送至服務(wù)端,W供服務(wù)端進(jìn)行后續(xù)的密鑰解密操作;
[0072] 3)根據(jù)客戶端當(dāng)前生成的隨機(jī)數(shù)生成密鑰。同樣地,在運(yùn)種情況下,客戶端需要將 被生成的密鑰發(fā)送至服務(wù)端,W供服務(wù)端進(jìn)行后續(xù)的密鑰解密操作。
[0073] 本發(fā)明的較佳的實(shí)施例中,執(zhí)行上述步驟S3之前,客戶端將所有鍵盤按鍵進(jìn)行隨 機(jī)排序,并根據(jù)經(jīng)過隨機(jī)排序的鍵盤按鍵組合形成一顯示于客戶端的顯示屏上的虛擬鍵 盤;
[0074] 則上述步驟S3中,客戶端根據(jù)使用者對(duì)虛擬鍵盤的操作獲得密碼。
[0075] 具體地,本發(fā)明的較佳的實(shí)施例中,上述客戶端中包括一可W用于進(jìn)行觸屏操作 的觸摸式顯示屏。則在執(zhí)行上述步驟S3之前(即使用者通過鍵盤按鍵輸入密碼之前),客戶 端首先將鍵盤按鍵原先的順序打亂,并重新排序,將經(jīng)過排序的鍵盤按鍵組合形成一虛擬 鍵盤并顯示在客戶端的顯示屏上,則使用者可W通過該觸摸式顯示屏對(duì)虛擬鍵盤進(jìn)行操 作,客戶端根據(jù)使用者的操作獲取密碼。
[0076] 本發(fā)明的一個(gè)較佳的實(shí)施例中,上述客戶端中包括一觸摸式顯示屏,并且在該觸 摸式顯示屏上投影有一虛擬鍵盤。則客戶端將該虛擬鍵盤上的鍵盤按鍵進(jìn)行隨機(jī)排序,并 將經(jīng)過隨機(jī)排序并組合形成的一新的虛擬鍵盤投影在上述觸摸式顯示屏上,W代替之前的 虛擬鍵盤并供使用者操作。
[0077] 圖5-6示出了對(duì)鍵盤按鍵進(jìn)行重新排序的示例。
[0078] 如圖5所示,針對(duì)一次數(shù)據(jù)傳輸,虛擬鍵盤按鍵順序被重新排列,W供使用者輸入 密碼。
[0079] 如圖6所示,針對(duì)另外一次新發(fā)起的數(shù)據(jù)傳輸,虛擬鍵盤按鍵順序再次被重新排 列,W供使用者輸入密碼。
[0080] 本發(fā)明的較佳的實(shí)施例中,上述步驟S4中,客戶端將密碼組合形成一密碼串,并采 用密鑰對(duì)密碼串進(jìn)行整體加密,W獲得加密序列。具體地,使用者通過上述鍵盤按鍵輸入連 串的密碼并在后臺(tái)形成密碼串,客戶端再采用密鑰對(duì)該密碼串進(jìn)行整體加密,從而形成上 述加密序列。
[0081] 本發(fā)明的一個(gè)較佳的實(shí)施例中,上述客戶端可W為移動(dòng)終端,例如包括觸摸式顯 示屏和/或?qū)嶓w鍵盤的移動(dòng)終端。則上述密碼加密的方法適用于移動(dòng)終端。
[0082] 本發(fā)明的其他實(shí)施例中,上述客戶端還可W為其他智能終端,例如平板電腦或者 筆記本電腦等。
[0083] 綜上所述,本發(fā)明技術(shù)方案中提供一種采用可選的=重加密機(jī)制來保證數(shù)據(jù)傳輸 中密碼輸入和傳輸?shù)陌踩裕?)將鍵盤按鍵原本的按鍵值通過密鑰加密形成對(duì)應(yīng)的加密 值;2)將鍵盤按鍵原本的排列順序打亂,按照隨機(jī)順序形成一新的虛擬鍵盤;3)對(duì)輸入的密 碼串進(jìn)行密鑰加密W形成加密序列。最終形成的加密序列被發(fā)送至服務(wù)端,則服務(wù)端可W 進(jìn)行相應(yīng)的密鑰解密操作,例如先進(jìn)行加密序列的解密操作,再將不同的加密值還原成按 鍵值,最終解密得到正確的密碼。
[0084] 本發(fā)明的較佳的實(shí)施例中,根據(jù)上文中的密碼加密的方法,還提供一種密碼加密 系統(tǒng),其具體結(jié)構(gòu)如圖2所示,首先包括客戶端A與服務(wù)端B。
[0085] 客戶端A遠(yuǎn)程連接上述服務(wù)端B,并向服務(wù)端B傳輸數(shù)據(jù)。
[0086] 進(jìn)一步地,仍然如圖2所示,上述客戶端A中包括:
[0087] 密鑰獲取單元Al,用于獲取本次數(shù)據(jù)傳輸所需的密鑰并保存;
[0088] 按鍵加密單元A2,連接密鑰獲取單元Al,用于采用密鑰將每個(gè)鍵盤按鍵的按鍵值 進(jìn)行加密,W獲得關(guān)聯(lián)于每個(gè)鍵盤按鍵的加密值;
[0089] 密碼輸入單元A3,連接按鍵加密單元A2,用于根據(jù)使用者對(duì)鍵盤按鍵的操作,采用 被操作的鍵盤按鍵的加密值獲得關(guān)聯(lián)于本次數(shù)據(jù)傳輸?shù)拿艽a;
[0090] 密碼加密單元A4,分別連接密鑰獲取單元Al和密碼輸入單元A3,用于采用密鑰對(duì) 密碼進(jìn)行加密W獲得加密序列,并將加密序列發(fā)送至服務(wù)端;
[0091] 同樣如圖2所示,上述服務(wù)端B包括:
[0092] 密碼獲取單元Bl,用于獲取客戶端A發(fā)送的加密序列;
[0093] 解密單元B2,用于根據(jù)密鑰對(duì)加密序列進(jìn)行解密,W獲得本次數(shù)據(jù)傳輸所需的密 碼并輸出。
[0094] 本發(fā)明的較佳的實(shí)施例中,如圖3所示,上述密鑰獲取單元Al中包括:
[00M]密鑰獲取模塊All,用于從服務(wù)端B獲取密鑰。
[0096] 本發(fā)明的較佳的實(shí)施例中,仍然如圖3所示,上述密鑰獲取單元Al中包括:
[0097] 密鑰生成模塊A12,用于根據(jù)當(dāng)前的操作時(shí)刻或者當(dāng)前生成的隨機(jī)數(shù)處理得到密 鑰。