一種電子簽名方法、電子簽名設(shè)備及電子簽名客戶端的制作方法
【專利摘要】一種電子簽名方法、電子簽名設(shè)備及電子簽名客戶端,電子簽名設(shè)備與客戶端連接時,依據(jù)預(yù)設(shè)的規(guī)則生成臨時虛擬鍵盤并將臨時虛擬鍵盤的碼表信息發(fā)送至客戶端,碼表信息包括虛擬鍵盤的每個按鍵的位置信息;客戶端依據(jù)碼表信息生成對應(yīng)的虛擬鍵盤并進行顯示;電子簽名設(shè)備提示用戶通過虛擬鍵盤進行信息輸入操作,并提示用戶使用虛擬鍵盤輸入隨機生成的亂序信息;客戶端抓取用戶進行信息輸入操作及輸入亂序信息時的輸入按鍵的位置信息,發(fā)送給電子簽名設(shè)備;電子簽名設(shè)備根據(jù)輸入按鍵的位置信息獲取用戶的全部輸入信息,并去除生成的亂序信息,得到用戶輸入的真正信息。本發(fā)明保證了客戶端與電子簽名設(shè)備間數(shù)據(jù)傳輸中的安全性和可靠性。
【專利說明】一種電子簽名方法、電子簽名設(shè)備及電子簽名客戶端
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明涉及電子簽名【技術(shù)領(lǐng)域】,尤其涉及一種電子簽名方法、電子簽名設(shè)備及電子簽名客戶端。
【背景技術(shù)】
[0002]目前的網(wǎng)銀系統(tǒng)以及移動支付系統(tǒng)中,均采用獨立的電子簽名硬件設(shè)備,配合客戶端上安裝的硬件的驅(qū)動程序來完成系統(tǒng)所提供功能,如電子交易轉(zhuǎn)賬,或電子交易支付等。但是,由于客戶端是傳統(tǒng)的電腦或者智能終端,包括:智能手機,平板電腦,智能電視等,以上這些終端以及所運行的操作系統(tǒng)均存在安全漏洞和隱患,屬于不安全環(huán)境,這樣,驅(qū)動電子簽名硬件設(shè)備的客戶端驅(qū)動程序就存在被木馬利用或黑客程序所攻擊的危險。如果利用一個已經(jīng)被攻擊的客戶端驅(qū)動程序?qū)﹄娮雍灻布M行操作,那么控制硬件命令和計算結(jié)果,勢必也存在安全上的漏洞,從而導(dǎo)致網(wǎng)銀系統(tǒng)或移動支付系統(tǒng)的不可靠性存在,有可能給用戶帶來資金損失。
[0003]現(xiàn)有技術(shù)中,為保證使用網(wǎng)上業(yè)務(wù)系統(tǒng)時信息的安全性,常采用電子簽名的方式,如USB鑰匙(USBKEY)等,在網(wǎng)絡(luò)支付和網(wǎng)上交易時提高了部分安全性。但是,在各種網(wǎng)上業(yè)務(wù)系統(tǒng)中使用個人電子簽名工具進行交易的過程中,通常需要輸入一些密碼,如登錄密碼、交易密碼,交易敏感信息,如賬號、金額和姓名等。這些信息目前大多是采用直接通過PC或智能移動終端上的鍵盤輸入,雖然有的系統(tǒng)中也采用了軟鍵盤方式,但是由于軟鍵盤產(chǎn)生的方式還是在客戶端上,包括PC或智能移動終端,這樣就難以達到真正的保護信息安全的目的。
[0004]本發(fā)明的發(fā)明人在實現(xiàn)本發(fā)明的過程中,發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在如下技術(shù)缺陷:現(xiàn)有技術(shù)中,由于采用直接通過外設(shè)鍵盤輸入密碼,或由客戶端通過軟件彈出軟鍵盤輸入密碼的方式,使網(wǎng)絡(luò)上的信息竊取者可以在聯(lián)網(wǎng)的狀態(tài)下通過鍵盤截取、屏幕截取等技術(shù)手段進行數(shù)據(jù)截獲,從而獲得使用者的密碼、賬號等重要的保密信息,進而利用這些保密信息冒充賬號擁有者在網(wǎng)絡(luò)上實施在線盜竊等,給當(dāng)事人造成不必要的損失。因此現(xiàn)有的電子簽名工具無法從根本上解決輸入數(shù)據(jù)時的保密性,無法達到保證使用者信息安全的目的。
【發(fā)明內(nèi)容】
[0005]本發(fā)明所要解決的技術(shù)問題是克服現(xiàn)有的電子簽名工具無法從根本上解決輸入數(shù)據(jù)時的保密性,無法達到保證使用者信息安全的缺陷。
[0006]為了解決上述技術(shù)問題,本發(fā)明提供了一種電子簽名方法、電子簽名設(shè)備及電子簽名客戶端,保證了客戶端與電子簽名設(shè)備間數(shù)據(jù)傳輸中的安全性和可靠性。
[0007]本發(fā)明提供了一種電子簽名方法,包括:
[0008]電子簽名設(shè)備與客戶端連接時,依據(jù)預(yù)設(shè)的規(guī)則生成臨時虛擬鍵盤,并將所述臨時虛擬鍵盤的碼表信息發(fā)送至所述客戶端,其中所述碼表信息包括所述虛擬鍵盤的每個按鍵的位置信息;
[0009]所述客戶端依據(jù)接收到的所述碼表信息生成對應(yīng)的虛擬鍵盤并進行顯示;
[0010]所述電子簽名設(shè)備提示用戶通過所述虛擬鍵盤進行信息輸入操作,并在用戶完成全部信息輸入之前,隨機生成亂序信息,并提示用戶使用所述虛擬鍵盤輸入所述亂序信息;
[0011]所述客戶端抓取用戶進行信息輸入操作及輸入所述亂序信息時的輸入按鍵的位置信息,發(fā)送給所述電子簽名設(shè)備;
[0012]所述電子簽名設(shè)備根據(jù)接收到的所述輸入按鍵的位置信息獲取所述用戶的全部輸入信息,并從獲取的所述全部輸入信息中去除生成的所述亂序信息,得到所述用戶輸入的真正信息。
[0013]其中,所述碼表信息,包括所述虛擬鍵盤中的每個按鍵所處位置的X軸及Y軸的起始位置信息。
[0014]其中,所述電子簽名設(shè)備利用預(yù)存的密鑰對所述碼表信息進行加密后,將加密后的碼表信息發(fā)送給所述客戶端;
[0015]所述客戶端利用與所述電子簽名設(shè)備一致的密鑰對所述加密后的碼表信息進行解密后,依據(jù)所述碼表信息生成對應(yīng)的虛擬鍵盤。
[0016]其中,所述電子簽名設(shè)備對所述碼表信息進行電子簽名后再進行加密,將加密后的碼表信息發(fā)送給所述客戶端;
[0017]所述客戶端利用與所述電子簽名設(shè)備一致的密鑰對所述加密后的碼表信息進行解密,并對其中的電子簽名進行驗證后,依據(jù)所述碼表信息生成對應(yīng)的虛擬鍵盤。
[0018]其中,所述電子簽名設(shè)備接收到所述客戶端發(fā)送的所述輸入按鍵的位置信息時,還包括:
[0019]所述電子簽名設(shè)備判斷是否已經(jīng)獲得了完整的用戶輸入信息,如果還未獲得完整的用戶輸入信息,則提示用戶繼續(xù)進行信息輸入;如果判斷出已經(jīng)獲得了完整的用戶輸入信息,則從獲取的完整的用戶輸入信息中去除生成的所述亂序信息。
[0020]本發(fā)明還提供了一種電子簽名設(shè)備,所述電子簽名設(shè)備包括中央控制模塊,顯示模塊,虛擬鍵盤模塊,通訊模塊,和電子簽名模塊,其中:
[0021]中央控制模塊,完成對所述電子簽名設(shè)備的控制;
[0022]通訊模塊,實現(xiàn)電子簽名設(shè)備與客戶端的連接和建立通信;
[0023]虛擬鍵盤模塊,當(dāng)電子簽名設(shè)備與客戶端連接時,依據(jù)預(yù)設(shè)的規(guī)則生成臨時虛擬鍵盤,并將所述臨時虛擬鍵盤的碼表信息發(fā)送至所述客戶端,其中所述碼表信息包括所述虛擬鍵盤的每個按鍵的位置信息;并用戶在通過所述虛擬鍵盤用戶完成全部信息輸入之前,隨機生成亂序信息;根據(jù)接收到的客戶端發(fā)送的用戶進行信息輸入操作及輸入所述亂序信息時的輸入按鍵的位置信息獲取所述用戶的全部輸入信息,并從獲取的所述全部輸入信息中去除生成的所述亂序信息,得到所述用戶輸入的真正信息;
[0024]顯示模塊,顯示提示用戶通過所述虛擬鍵盤進行信息輸入操作的提示信息、提示用戶使用所述虛擬鍵盤輸入所述亂序信息的提示信息,以及需要用戶輸入的輸入信息和所述亂序信息。
[0025]其中,所述虛擬鍵盤模塊,包括:碼表生成模塊,存儲模塊,亂序生成模塊,數(shù)據(jù)確認模塊,和接收模塊,
[0026]所述碼表生成模塊,用于依據(jù)預(yù)設(shè)的規(guī)則生成臨時虛擬鍵盤,并生成所述臨時虛擬鍵盤的碼表信息;
[0027]所述亂序生成模塊,用于隨機生成所述亂序信息;
[0028]所述存儲模塊,用于存儲所述碼表信息和所述亂序信息;
[0029]所述接收模塊,用于接收客戶端發(fā)送的用戶輸入按鍵的位置信息;
[0030]所述數(shù)據(jù)確認模塊,用于根據(jù)用戶輸入按鍵的位置信息獲取所述用戶的輸入信
肩、O
[0031]其中,所述數(shù)據(jù)確認模塊還用于,判斷是否已經(jīng)獲得了完整的用戶輸入信息,如果還未獲得完整的用戶輸入信息,則提示用戶繼續(xù)進行信息輸入;如果判斷出已經(jīng)獲得了完整的用戶輸入信息,則從獲取的完整的用戶輸入信息中去除生成的所述亂序信息。
[0032]其中,所述虛擬鍵盤模塊,還包括:發(fā)送模塊,
[0033]所述發(fā)送模塊,用于利用預(yù)存的密鑰對所述碼表信息進行加密后,將加密后的碼表信息發(fā)送給所述客戶端。
[0034]其中,所述虛擬鍵盤模塊,還包括:發(fā)送模塊,
[0035]所述發(fā)送模塊,用于對所述碼表進行電子簽名后再進行加密,將加密后的碼表信息發(fā)送給所述客戶端。
[0036]本發(fā)明還提供了一種電子簽名客戶端,所述電子簽名客戶端包括:
[0037]虛擬鍵盤生成模塊,用于依據(jù)接收到的電子簽名設(shè)備發(fā)送的臨時虛擬鍵盤的碼表信息,生成所述碼表信息生成對應(yīng)的虛擬鍵盤并進行顯示;
[0038]按鍵位置抓取模塊,用于抓取用戶進行信息輸入操作、及輸入所述電子簽名設(shè)備生成的亂序信息時的輸入按鍵的位置信息,發(fā)送給所述電子簽名設(shè)備。
[0039]其中,所述電子簽名客戶端還包括:
[0040]信息接收模塊,用于所述電子簽名設(shè)備利用預(yù)存的密鑰對所述碼表信息進行加密時,利用與所述電子簽名設(shè)備一致的密鑰對所述加密后的碼表信息進行解密,獲得所述碼表信息;所述電子簽名設(shè)備對所述碼表信息進行電子簽名后再進行加密時,利用與所述電子簽名設(shè)備一致的密鑰對所述加密后的碼表信息進行解密,并對其中的電子簽名進行驗證后,獲得所述碼表信息。
[0041]與現(xiàn)有技術(shù)相比,本申請至少具有如下有益效果:
[0042]本發(fā)明實施例的電子簽名方法,通過電子簽名設(shè)備生成軟鍵盤,并利用自身生成亂序信息的機制,引導(dǎo)用戶將正確信息與亂序信息同時通過軟鍵盤輸入到電子簽名設(shè)備內(nèi),這樣攻擊者無法知道以上的全面由用戶輸入的信息中,哪些是真實的數(shù)據(jù),哪些是亂序信息,從而導(dǎo)致攻擊者實施交易劫持攻擊;
[0043]本發(fā)明實施例的電子簽名設(shè)備和客戶端,保證了客戶端與電子簽名設(shè)備間數(shù)據(jù)傳輸中的安全性,有效的防御了中間人攻擊,特別是針對網(wǎng)絡(luò)銀行數(shù)據(jù)傳輸有良好的保護作用。
[0044]本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在說明書、權(quán)利要求書以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得?!緦@綀D】
【附圖說明】
[0045]附圖用來提供對本發(fā)明技術(shù)方案的進一步理解,并且構(gòu)成說明書的一部分,與本申請的實施例一起用于解釋本發(fā)明的技術(shù)方案,并不構(gòu)成對本發(fā)明技術(shù)方案的限制。
[0046]圖1為本發(fā)明實施例的電子簽名設(shè)備的結(jié)構(gòu)圖;
[0047]圖2為本發(fā)明實施例的實現(xiàn)軟鍵盤輸入的流程圖;
[0048]圖3為本發(fā)明實施例的電子簽名設(shè)備內(nèi)軟鍵盤模塊實現(xiàn)結(jié)構(gòu)圖;
[0049]圖4為本發(fā)明實施例的電子簽名設(shè)備提示輸入PIN 口令第一位信息實例圖;
[0050]圖5為本發(fā)明實施例的電子簽名設(shè)備提示輸入PIN 口令第二位信息實例圖;
[0051]圖6為本發(fā)明實施例的電子簽名設(shè)備提示亂序信息輸入信息實例圖。
【具體實施方式】
[0052]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,下文中將結(jié)合附圖對本發(fā)明的實施例進行詳細說明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互任意組合。
[0053]在附圖的流程圖示出的步驟可以在諸如一組計算機可執(zhí)行指令的計算機系統(tǒng)中執(zhí)行。并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
[0054]圖1所示為本發(fā)明實施例的電子簽名設(shè)備的示意圖。其中,所述的電子簽名設(shè)備可以是指:帶顯示屏幕的智能卡,帶顯示屏幕和按鍵的USBKey,POS終端等,但不局限于以上設(shè)備。
[0055]如圖1所示,該電子簽名設(shè)備主要包括:中央控制模塊,顯示模塊,物理控制模塊,電子簽名模塊,通訊模塊,軟鍵盤模塊。
[0056]中央控制模塊:是整個設(shè)備的中央處理器,本實施例的電子簽名設(shè)備的中央控制模塊采用的芯片是一個基于8位或以上的RISC處理器的高安全SOC芯片,具備高處理能力、高安全性、低功耗、低成本等特點。如ST的STM32芯片或國民技術(shù)的Z8D168U、Z8D256U芯片或同類型的芯片等。在此芯片上通過對其嵌入式操作系統(tǒng)的開發(fā)實現(xiàn)對這個設(shè)備的控制。在中央控制模塊中擁有內(nèi)置的存儲區(qū)域,此區(qū)域中存儲著嵌入式操作系統(tǒng)程序,字庫字模文件等。
[0057]顯示模塊:負責(zé)電子簽名設(shè)備的人機交互的信息顯示部分的完成。使用者可以通過顯示模塊來瀏覽交易信息,交易敏感信息,如姓名、賬戶和金額等;以及電子簽名設(shè)備的提示信息,如輸入PIN 口令的信息,亂序信息等,但不局限與此。此模塊可采用目前IXD,OLED屏幕技術(shù)實現(xiàn),簡單方便。
[0058]物理控制模塊:負責(zé)電子簽名設(shè)備的人機交互的信息物理確認部分的完成。其由翻頁鍵,確認取消功能鍵,但不僅局限于此。其是設(shè)備的外圍輸入設(shè)備,使用者通過此按鍵可以進行密碼輸入,電子簽名的控制等。實現(xiàn)時可采用諸如光感按鍵,薄膜按鍵,鍋仔片等方式完成。物理按鍵的操作信息信號會通過設(shè)備內(nèi)的電路傳輸給中央控制模塊進行處理。
[0059]電子簽名模塊:由中央控制模塊控制,負責(zé)電子簽名設(shè)備的電子簽名操作,只用當(dāng)用戶通過使用設(shè)備上的物理控制模塊進行人為確認時,本模塊才可以進行工作。而無法通過任何非物理方式,如程序邏輯和軟件方式進行此模塊進行調(diào)用處理。同時電子簽名模塊還負責(zé)本設(shè)備的數(shù)字證書,公私鑰的存儲與使用,并提供數(shù)字證書生成、使用,下載,更新,廢除等功能。其中,對于電子簽名設(shè)備中的私鑰采用安全保護,使其永遠無法脫離本電子簽名設(shè)備的管理,一旦外界企圖利用任何方式對私鑰進行讀取時,將自動銷毀本電子簽名設(shè)備內(nèi)的一切信息。
[0060]通訊模塊:負責(zé)設(shè)備與PC或者智能終端的連接及通訊,其與中央控制模塊連接,并受中央控制I旲塊控制。在此I旲塊中可包含USB接口和首頻通訊接口。技術(shù)實現(xiàn)中USB通訊部分采用中央控制模塊內(nèi)的芯片所提供USB通訊引腳與USB接口電路連接通訊即可;音頻通訊部分采用中央控制模塊內(nèi)的芯片所提供的串口(UART)或通用輸入輸出(GPIO)接口相連即可實現(xiàn)。
[0061]軟鍵盤模塊:由中央控制模塊控制,負責(zé)軟鍵盤碼表的實現(xiàn)和存儲,以及亂序信息的實現(xiàn)和存儲,在接受到PC或智能移動終端發(fā)回的用戶輸入信息后進行數(shù)據(jù)確認。軟鍵盤包括標準鍵盤上的數(shù)字信息“0-9”,英文字母信息“a-ζ” (包括大小寫),特殊字符信息
等,但不局限與此。軟鍵盤的碼表是由一串?dāng)?shù)組所組成,其包括軟鍵盤中的每個按鍵所處的位置X軸及Y軸的起始位置,按鍵在X軸上的長度及Y軸上的長度,同時還要包括此按鍵的所對應(yīng)的字符內(nèi)容,如是代表“1”,還是代表“W”,此處可采用ASIC碼表示。舉例在軟鍵盤中數(shù)字字符“6”的碼表所對應(yīng)的表示數(shù)組為:“X002,Y018,20,20,0036”。
[0062]另外,此時由于考慮到軟鍵盤的安全問題,也可考慮選擇將字符內(nèi)容事先制作成圖片存放在客戶端的軟件內(nèi),并為每一個圖片進行編號,如含有“I”的圖片,編號為0031.JPG,或者將圖片加密后形成0031.ass等。則如果是以此種方式軟鍵盤的碼表所對應(yīng)的表示數(shù)組為:“X020, Y058, 20,20,0031 jpg” 或“X020, Y058, 20,20,0031.ass”。由于此部分數(shù)組的組合和表示方式多種多樣,在此就不再具體闡述。
[0063]如圖2所示是本發(fā)明實施例的實現(xiàn)軟鍵盤輸入的流程圖,其具體步驟描述如下:
[0064]步驟21、電子簽名設(shè)備與PC或移動智能終端連接;
[0065]在此,用戶可自由選擇設(shè)備上的音頻或USB接口與PC或移動智能終端向連接。
[0066]具體可包括但不限于如下三種組合方式:用戶采用電子簽名設(shè)備音頻與移動智能終端上的耳機接口連接;用戶采用電子簽名設(shè)備音頻與PC計算機上的耳機接口連接;用戶采用電子簽名設(shè)備USB接口與PC計算機上的USB接口連接。其中,無論以上何種方式,電子簽名設(shè)備均可以通過安裝在PC或移動智能終端上的客戶端軟件進行正常區(qū)分和工作。
[0067]步驟22、電子簽名設(shè)備隨機生成軟鍵盤的碼表發(fā)送到PC或移動終端;
[0068]在此,電子簽名設(shè)備內(nèi)計算并隨機的動態(tài)產(chǎn)生軟鍵盤的每個按鍵的位置,并將其依據(jù)碼表的規(guī)則組成數(shù)組內(nèi)容信息。由于軟鍵盤的生成是每次與電子簽名設(shè)備與PC或智能移動終端連接時生成,并在一段時間內(nèi)有效,隨后會再次依據(jù)軟鍵盤的規(guī)則生成,所以每次當(dāng)前由電子簽名設(shè)備生成的軟鍵盤的碼表會由電子簽名設(shè)備內(nèi)的軟鍵盤存儲模塊臨時存儲,以用于隨后數(shù)據(jù)確認中的比對使用。接下來,電子簽名設(shè)備利用預(yù)存的密鑰對所生成的碼表數(shù)組內(nèi)容信息進行加密,并將此加密后的碼表發(fā)送給PC或智能移動終端。
[0069]另外,也可采用利用電子簽名設(shè)備對所生成的碼表數(shù)組內(nèi)容信息進行電子簽名后再加密的方式,以此保證碼表數(shù)組內(nèi)容信息的唯一性和可靠性。
[0070]步驟23、PC或移動終端依據(jù)軟鍵盤的碼表生成軟鍵盤并顯示在自身的屏幕上。[0071]在此,PC或移動終端接到加密后的碼表內(nèi)容信息,利用預(yù)存在客戶端軟件內(nèi)的密鑰進行解密。如果此碼表信息內(nèi)容利用電子簽名并加密的方式傳送時,客戶端先解密加密信息,然后利用電子簽名設(shè)備內(nèi)的數(shù)字證書對電子簽名進行驗簽操作,以保證碼表的正確性。隨后,PC或移動終端依據(jù)軟鍵盤的碼表中的數(shù)組將軟鍵盤中每個按鍵顯示出來。
[0072]步驟24、電子簽名設(shè)備利用自身的屏幕提示用戶使用軟鍵盤進行對應(yīng)的操作;PC或移動終端抓取當(dāng)前所輸入鍵的位置信息,發(fā)送給電子簽名設(shè)備。
[0073]在此,電子簽名設(shè)備主動計算,并在自身的屏幕提示用戶使用軟鍵盤進行對應(yīng)的操作,引導(dǎo)用戶在PC或移動終端上完成對應(yīng)的操作。用戶通過PC或移動終端上的物理鍵盤或鼠標設(shè)備,依據(jù)電子簽名設(shè)備顯示屏上的提示選擇軟鍵盤上的對應(yīng)信息,并完成對應(yīng)的操作。所述的對應(yīng)的操作包括:PIN 口令的輸入,交易敏感信息的輸入等相關(guān)的操作,但不局限與此。隨后,PC或移動終端抓取當(dāng)前所輸入鍵的位置信息,發(fā)送給電子簽名設(shè)備。在此,信息的傳遞可采用加密方式,密鑰為預(yù)先保留在客戶端軟件中的密鑰。
[0074]步驟25、電子簽名設(shè)備生成亂序信息,并提示用戶使用軟鍵盤進行操作;PC或移動終端抓取當(dāng)前所輸入鍵的位置信息,發(fā)送給電子簽名設(shè)備。
[0075]在此,電子簽名設(shè)備在用戶未完成全部信息輸入時,由電子簽名設(shè)備軟鍵盤模塊內(nèi)的亂序生成模塊,隨機生成亂序信息并提示用戶使用軟鍵盤輸入亂序信息的操作。用戶需根據(jù)電子簽名設(shè)備屏幕上的亂序信息提示輸入對應(yīng)的信息。同時,PC或移動終端抓取當(dāng)前所輸入鍵的位置信息,發(fā)送給電子簽名設(shè)備。
[0076]步驟26、電子簽名設(shè)備判斷是否獲得完整的用戶輸入信息。
[0077]在此,電子簽名設(shè)備判讀是否已經(jīng)獲得了完整的用戶輸入信息。由于無論是PIN口令的輸入或賬號,金額等信息均會一個上限值,并存儲在軟鍵盤模塊的存儲模塊中,電子簽名設(shè)備會通過自身的密鑰驗證獲得對應(yīng)的權(quán)限后讀取這個對應(yīng)的數(shù)值,以此判斷是否已經(jīng)獲得了完整的用戶輸入信息。當(dāng)所需要的信息未完整時,則繼續(xù)重復(fù)以上步驟,讓用戶根據(jù)設(shè)備自身屏幕上的提示信息進行輸入。如果所需要的信息已經(jīng)完整時,進入下一步。
[0078]步驟27、電子簽名設(shè)備去除亂序信息,組合真正的用戶輸入的信息,并進行處理。
[0079]在此,電子簽名設(shè)備會從已經(jīng)獲取的輸入信息中去除自身生產(chǎn)的亂序信息,組合真正用戶輸入的信息。由于亂序信息會保留在電子簽名設(shè)備內(nèi)的軟鍵盤模塊內(nèi)的存儲模塊內(nèi),軟鍵盤模塊會將已經(jīng)接受的數(shù)組串中剔除對應(yīng)的亂序信息。隨后將數(shù)組串組成自己所需要的用戶輸入的真正數(shù)據(jù)后進行對應(yīng)的處理操作,如PIN 口令的比對,交易敏感信息的電子簽名等。
[0080]如圖3所示,本發(fā)明實施例的電子簽名設(shè)備內(nèi)的軟鍵盤模塊實現(xiàn)結(jié)構(gòu)圖。其主要包括:碼表生成模塊,存儲模塊,亂序生成模塊,數(shù)據(jù)確認模塊,發(fā)送模塊,接收模塊。
[0081]碼表生成模塊:負責(zé)動態(tài)隨機的生成軟鍵盤的碼表數(shù)組信息,并將此信息通過發(fā)送模塊,提供給客戶端,包括:PC或智能移動終端。同時,也將此碼表數(shù)組信息提供給存儲模塊進行保存,以用于后續(xù)的計算和操作。
[0082]存儲模塊:負責(zé)存儲碼表生成模塊生成軟鍵盤的碼表數(shù)組信息,以及亂序生成模塊所生成的亂序信息。
[0083]亂序生成模塊:負責(zé)動態(tài)隨機的生成亂序信息,并通過發(fā)送模塊提供給電子簽名設(shè)備內(nèi)的顯示模塊進行顯示,同時,也將此亂序信息提供給存儲模塊進行保存,以用于后續(xù)的計算和操作。
[0084]數(shù)據(jù)確認模塊:負責(zé)將由接收模塊接受的信息進行第一步組合。由于客戶端傳回的用戶所選擇的軟鍵盤的按鍵的位置信息,在此數(shù)據(jù)確認模塊內(nèi),設(shè)備會根據(jù)用戶每個所選擇的按鍵彼此的相對位置計算出用戶所使用軟鍵盤具體的按鍵信息,以及對應(yīng)的數(shù)值。將全部信息收集完整后,此模塊會進行亂序信息的提出,將所需要的信息數(shù)組進行排序組
口 ο
[0085]發(fā)送模塊:負責(zé)軟鍵盤信息的發(fā)送,基于生成模塊的不同,分別提供給客戶端進行處理,或電子簽名設(shè)備內(nèi)的顯示屏幕進行顯示。
[0086]接收模塊:負責(zé)接送客戶端發(fā)送過來的信息。
[0087]根據(jù)電子簽名設(shè)備的提示信息內(nèi)容,可以引導(dǎo)用戶進行對應(yīng)的數(shù)據(jù)輸入操作。在此以一個PIN 口令輸入為例,假設(shè)用戶所需要輸入的PIN 口令為“hupengOl”,其過程具體如下:
[0088]如圖4所示,電子簽名設(shè)備提示輸入PIN 口令第一位信息。用戶利用軟鍵盤在PC或智能移動終端上選擇“h”按鍵,并確認;
[0089]如圖5所示,電子簽名設(shè)備提示輸入PIN 口令第二位信息。用戶利用軟鍵盤在PC或智能移動終端上選擇“u”按鍵,并確認;
[0090]如圖6所示,電子簽名設(shè)備提示亂序信息輸入信息,并提示用戶輸入“6”。用戶利用軟鍵盤在PC或智能移動終端上選擇“6”按鍵,并確認。
[0091]隨后,電子簽名設(shè)備會引導(dǎo)用戶完成全部的PIN 口令輸入,并在每一位中隨機的提示用戶輸入亂序信息,以此最終用戶輸入的信息可能為“hu6p8eng ! 0X1”。接下來,電子簽名設(shè)備會去除亂序信息,重新組合PIN 口令信息為“hupengOl”。
[0092]另外,由于考慮到安全的提升,本發(fā)明也可以采用將所輸入的信息輸入位置隨機打亂的方式,提供用戶輸入。例如,將上述示例更改為:首先提示用戶輸入PIN 口令的第四位信息,隨后提示用戶輸入亂序信息,接下來提示用戶輸入PIN 口令的第六位信息。。。。,以此完成這個PIN 口令以及亂序信息的輸入。
[0093]此外,本發(fā)明實施例中還提供了一種電子簽名客戶端,該電子簽名客戶端主要包括:
[0094]虛擬鍵盤生成模塊,用于依據(jù)接收到的電子簽名設(shè)備發(fā)送的臨時虛擬鍵盤的碼表信息,生成所述碼表信息生成對應(yīng)的虛擬鍵盤并進行顯示;
[0095]按鍵位置抓取模塊,用于抓取用戶進行信息輸入操作、及輸入所述電子簽名設(shè)備生成的亂序信息時的輸入按鍵的位置信息,發(fā)送給所述電子簽名設(shè)備。
[0096]其中,所述電子簽名客戶端還包括:
[0097]信息接收模塊,用于所述電子簽名設(shè)備利用預(yù)存的密鑰對所述碼表信息進行加密時,利用與所述電子簽名設(shè)備一致的密鑰對所述加密后的碼表信息進行解密,獲得所述碼表信息;所述電子簽名設(shè)備對所述碼表信息進行電子簽名后再進行加密時,利用與所述電子簽名設(shè)備一致的密鑰對所述加密后的碼表信息進行解密,并對其中的電子簽名進行驗證后,獲得所述碼表信息。
[0098]以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的權(quán)利要求范圍之內(nèi)。
[0099]本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本申請實施例所提供的裝置和/或系統(tǒng)的各組成部分,以及方法中的各步驟,它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡(luò)上??蛇x地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn)。從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
【權(quán)利要求】
1.一種電子簽名方法,包括: 電子簽名設(shè)備與客戶端連接時,依據(jù)預(yù)設(shè)的規(guī)則生成臨時虛擬鍵盤,并將所述臨時虛擬鍵盤的碼表信息發(fā)送至所述客戶端,其中所述碼表信息包括所述虛擬鍵盤的每個按鍵的位置信息; 所述客戶端依據(jù)接收到的所述碼表信息生成對應(yīng)的虛擬鍵盤并進行顯示; 所述電子簽名設(shè)備提示用戶通過所述虛擬鍵盤進行信息輸入操作,并在用戶完成全部信息輸入之前,隨機生成亂序信息,并提示用戶使用所述虛擬鍵盤輸入所述亂序信息; 所述客戶端抓取用戶進行信息輸入操作及輸入所述亂序信息時的輸入按鍵的位置信息,發(fā)送給所述電子簽名設(shè)備; 所述電子簽名設(shè)備根據(jù)接收到的所述輸入按鍵的位置信息獲取所述用戶的全部輸入信息,并從獲取的所述全部輸入信息中去除生成的所述亂序信息,得到所述用戶輸入的真正信息。
2.如權(quán)利要求1所述的方法,其中, 所述碼表信息,包括所述虛擬鍵盤中的每個按鍵所處位置的X軸及Y軸的起始位置信肩、O
3.如權(quán)利要求1或2所述的方法,其中, 所述電子簽名設(shè)備利用預(yù)存的密鑰對所述碼表信息進行加密后,將加密后的碼表信息發(fā)送給所述客戶端; 所述客戶端利用與所述電子簽名設(shè)備一致的密鑰對所述加密后的碼表信息進行解密后,依據(jù)所述碼表信息生成對應(yīng)的虛擬鍵盤。
4.如權(quán)利要求1或2所述的方法,其中, 所述電子簽名設(shè)備對所述碼表信息進行電子簽名后再進行加密,將加密后的碼表信息發(fā)送給所述客戶端; 所述客戶端利用與所述電子簽名設(shè)備一致的密鑰對所述加密后的碼表信息進行解密,并對其中的電子簽名進行驗證后,依據(jù)所述碼表信息生成對應(yīng)的虛擬鍵盤。
5.如權(quán)利要求1或2所述的方法,其中, 所述電子簽名設(shè)備接收到所述客戶端發(fā)送的所述輸入按鍵的位置信息時,還包括: 所述電子簽名設(shè)備判斷是否已經(jīng)獲得了完整的用戶輸入信息,如果還未獲得完整的用戶輸入信息,則提示用戶繼續(xù)進行信息輸入;如果判斷出已經(jīng)獲得了完整的用戶輸入信息,則從獲取的完整的用戶輸入信息中去除生成的所述亂序信息。
6.一種電子簽名設(shè)備,所述電子簽名設(shè)備包括中央控制模塊,顯示模塊,虛擬鍵盤模塊,通訊模塊,和電子簽名模塊,其中: 中央控制模塊,完成對所述電子簽名設(shè)備的控制; 通訊模塊,實現(xiàn)電子簽名設(shè)備與客戶端的連接和建立通信; 虛擬鍵盤模塊,當(dāng)電子簽名設(shè)備與客戶端連接時,依據(jù)預(yù)設(shè)的規(guī)則生成臨時虛擬鍵盤,并將所述臨時虛擬鍵盤的碼表信息發(fā)送至所述客戶端,其中所述碼表信息包括所述虛擬鍵盤的每個按鍵的位置信息;并用戶在通過所述虛擬鍵盤用戶完成全部信息輸入之前,隨機生成亂序信息;根據(jù)接收到的客戶端發(fā)送的用戶進行信息輸入操作及輸入所述亂序信息時的輸入按鍵的位置信息獲取所述用戶的全部輸入信息,并從獲取的所述全部輸入信息中去除生成的所述亂序信息,得到所述用戶輸入的真正信息; 顯示模塊,顯示提示用戶通過所述虛擬鍵盤進行信息輸入操作的提示信息、提示用戶使用所述虛擬鍵盤輸入所述亂序信息的提示信息,以及需要用戶輸入的輸入信息和所述亂序信息。
7.如權(quán)利要求6所述的電子簽名設(shè)備,其中,所述虛擬鍵盤模塊,包括:碼表生成模塊,存儲模塊,亂序生成模塊,數(shù)據(jù)確認模塊,和接收模塊, 所述碼表生成模塊,用于依據(jù)預(yù)設(shè)的規(guī)則生成臨時虛擬鍵盤,并生成所述臨時虛擬鍵盤的碼表信息; 所述亂序生成模塊,用于隨機生成所述亂序信息; 所述存儲模塊,用于存儲所述碼表信息和所述亂序信息; 所述接收模塊,用于接收客戶端發(fā)送的用戶輸入按鍵的位置信息; 所述數(shù)據(jù)確認模塊,用于根據(jù)用戶輸入按鍵的位置信息獲取所述用戶的輸入信息。
8.如權(quán)利要求7所述的電子簽名設(shè)備,其中, 所述數(shù)據(jù)確認模塊還用于,判斷是否已經(jīng)獲得了完整的用戶輸入信息,如果還未獲得完整的用戶輸入信息, 則提示用戶繼續(xù)進行信息輸入;如果判斷出已經(jīng)獲得了完整的用戶輸入信息,則從獲取的完整的用戶輸入信息中去除生成的所述亂序信息。
9.如權(quán)利要求6、7或8所述的電子簽名設(shè)備,其中,所述虛擬鍵盤模塊,還包括:發(fā)送模塊, 所述發(fā)送模塊,用于利用預(yù)存的密鑰對所述碼表信息進行加密后,將加密后的碼表信息發(fā)送給所述客戶端。
10.如權(quán)利要求6、7或8所述的電子簽名設(shè)備,其中,所述虛擬鍵盤模塊,還包括:發(fā)送模塊, 所述發(fā)送模塊,用于對所述碼表進行電子簽名后再進行加密,將加密后的碼表信息發(fā)送給所述客戶端。
11.一種電子簽名客戶端,所述電子簽名客戶端包括: 虛擬鍵盤生成模塊,用于依據(jù)接收到的電子簽名設(shè)備發(fā)送的臨時虛擬鍵盤的碼表信息,生成所述碼表信息生成對應(yīng)的虛擬鍵盤并進行顯示; 按鍵位置抓取模塊,用于抓取用戶進行信息輸入操作、及輸入所述電子簽名設(shè)備生成的亂序信息時的輸入按鍵的位置信息,發(fā)送給所述電子簽名設(shè)備。
12.如權(quán)利要求10所述的電子簽名客戶端,所述電子簽名客戶端還包括: 信息接收模塊,用于所述電子簽名設(shè)備利用預(yù)存的密鑰對所述碼表信息進行加密時,利用與所述電子簽名設(shè)備一致的密鑰對所述加密后的碼表信息進行解密,獲得所述碼表信息;所述電子簽名設(shè)備對所述碼表信息進行電子簽名后再進行加密時,利用與所述電子簽名設(shè)備一致的密鑰對所述加密后的碼表信息進行解密,并對其中的電子簽名進行驗證后,獲得所述碼表信息。
【文檔編號】G06F21/31GK104021322SQ201310064525
【公開日】2014年9月3日 申請日期:2013年2月28日 優(yōu)先權(quán)日:2013年2月28日
【發(fā)明者】胡鵬, 吳勻, 陳杰, 靳松 申請人:北京旋極信息技術(shù)股份有限公司