本發(fā)明涉及數(shù)字簽名技術(shù)領(lǐng)域,特別是涉及一種用于移動終端的數(shù)字簽名方法及其裝置。
背景技術(shù):
數(shù)字簽名目前在數(shù)字貨幣、手機錢包等金融應(yīng)用中的應(yīng)用廣泛,該過程中本地存儲用于大額支付的私鑰。數(shù)字簽名過程中,用戶輸入待簽名數(shù)據(jù)后,首先依據(jù)Hash算法生成待簽名數(shù)據(jù)的摘要,然后使用本地存儲的私鑰對摘要進行加密,完成數(shù)字簽名。該過程中私鑰是用戶身份的唯一標識,故私鑰的安全性一直是需要突出關(guān)注之處。
這就帶來了如何安全有效地保護本地私鑰的問題。在私鑰保護的路徑上通常有兩個方案,一是保護密鑰本身,二是保護訪問過程。
而目前對訪問過程的保護,即是將本地存儲的私鑰通過DES(Data Encryption Standard,數(shù)據(jù)加密標準)或3DES等對稱加密算法加密,數(shù)字簽名訪問時再對其進行解密。但這種方式下,加密密鑰一般由用戶自行設(shè)定,非常容易被破解掉,使得數(shù)字簽名的安全性不夠高。
因此,如何提供一種安全性高的用于移動終端的數(shù)字簽名方法及其裝置是本領(lǐng)域技術(shù)人員目前需要解決的問題。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是提供一種用于移動終端的數(shù)字簽名方法及其裝置,能夠提高本地私鑰的加密密鑰的破解難度,數(shù)字簽名的安全程度高。
為解決上述技術(shù)問題,本發(fā)明提供了一種用于移動終端的數(shù)字簽名方法,包括:
在所述移動終端內(nèi)預(yù)先存儲加密后的本地私鑰,其中,所述本地私鑰的加密密鑰為通過預(yù)設(shè)算法對特定智能IC卡中的標識信息進行處理后得到的數(shù)據(jù);
接收用戶輸入的簽名指令后,打開所述移動終端的NFC通道;
讀取所述特定智能IC卡的標識信息;
依據(jù)所述標識信息對所述移動終端內(nèi)存儲的所述加密后的本地私鑰進行解密,得到解密后的本地私鑰,此時,移動終端內(nèi)同時存儲有所述解密后的本地私鑰以及所述加密后的本地私鑰;
依據(jù)所述解密后的本地私鑰對輸入的待簽名數(shù)據(jù)進行數(shù)字簽名,并返回簽名結(jié)果;
刪除所述解密后的本地私鑰。
優(yōu)選地,所述加密密鑰的具體生成過程包括:
打開所述移動終端的NFC通道;
發(fā)送文件選擇命令至所述特定智能IC卡,并接收所述特定智能IC卡返回的響應(yīng);其中,所述文件選擇命令的數(shù)據(jù)域中包括選擇的文件名或應(yīng)用標識符;
從所述響應(yīng)中查找處理選項數(shù)據(jù)對象列表;
獲取所述處理選項數(shù)據(jù)對象列表內(nèi)包含的數(shù)據(jù)并填入獲取處理選項命令的數(shù)據(jù)域中,發(fā)送獲取處理選項命令至所述特定智能IC卡;
接收所述特定智能IC卡返回的所述獲取處理選項命令的響應(yīng),并從中提取應(yīng)用文件定位器;
按照所述應(yīng)用文件定位器的內(nèi)容,獲得所述標識信息的存放位置,所述存放位置包括短文件標識符和記錄號;
根據(jù)所述存放位置,發(fā)送讀記錄命令至所述特定智能IC卡,并接收所述特定智能IC卡返回的所述標識信息;
通過所述預(yù)設(shè)算法對所述標識信息進行處理生成對稱密鑰作為所述加密密鑰。
優(yōu)選地,所述預(yù)設(shè)算法為Hash算法或DES算法。
優(yōu)選地,所述接收用戶輸入的簽名指令后,打開所述移動終端的NFC通道之前還包括:
接收用戶輸入的登錄賬號信息進行驗證,驗證通過后,打開所述移動終端的NFC通道。
優(yōu)選地,所述特定智能IC卡與用戶的登錄賬號進行綁定。
為解決上述技術(shù)問題,本發(fā)明還提供了一種用于移動終端的數(shù)字簽名裝置,包括:
私鑰存儲模塊,用于在所述移動終端內(nèi)預(yù)先存儲加密后的本地私鑰,其中,所述本地私鑰的加密密鑰為通過預(yù)設(shè)算法對特定智能IC卡中的標識信息進行處理后得到的數(shù)據(jù);
指令接收模塊,用于接收用戶輸入的簽名指令后,打開所述移動終端的NFC通道;
NFC讀卡模塊,用于讀取所述特定智能IC卡的標識信息;
解密模塊,用于依據(jù)所述標識信息對所述移動終端內(nèi)存儲的所述加密后的本地私鑰進行解密,得到解密后的本地私鑰,此時,移動終端內(nèi)同時存儲有所述解密后的本地私鑰以及所述加密后的本地私鑰;
數(shù)字簽名模塊,用于依據(jù)所述解密后的本地私鑰對輸入的待簽名數(shù)據(jù)進行數(shù)字簽名,并返回簽名結(jié)果;
刪除模塊,用于刪除所述解密后的本地私鑰。
本發(fā)明提供了一種用于移動終端的數(shù)字簽名方法及其裝置,包括將特定智能IC中的標識信息通過預(yù)設(shè)算法進行處理后得到的數(shù)據(jù)作為本地私鑰的加密密鑰,在進行數(shù)字簽名過程中,通過移動終端的NFC通道讀取該智能IC卡的標識信息,然后依據(jù)該標識信息得到解密密鑰對加密后的本地私鑰進行解密,得到解密后的本地私鑰進行數(shù)字簽名,最后刪除該解密后的本地私鑰??梢?,本發(fā)明中本地私鑰的加密密鑰依據(jù)特定智能IC卡中的標識信息得到,而特定智能IC卡屬于用戶個人,其標識信息與智能IC卡唯一對應(yīng),且該標識信息與用戶的個人信息(如生日、手機號)以及用戶習(xí)慣并無關(guān)系,故很難被破解,大大提高了本地私鑰的安全性,進而提高了數(shù)字簽名過程的安全性。
附圖說明
為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對現(xiàn)有技術(shù)和實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明提供的一種用于移動終端的數(shù)字簽名方法的過程的流程圖;
圖2為本發(fā)明提供的一種用于移動終端的數(shù)字簽名裝置的結(jié)構(gòu)示意圖。
具體實施方式
本發(fā)明的核心是提供一種用于移動終端的數(shù)字簽名方法及其裝置,能夠提高本地私鑰的加密密鑰的破解難度,數(shù)字簽名的安全程度高。
為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
本發(fā)明提供了一種用于移動終端的數(shù)字簽名方法,參見圖1所示,圖1為本發(fā)明提供的一種用于移動終端的數(shù)字簽名方法的過程的流程圖;該方法包括:
步驟s101:在移動終端內(nèi)預(yù)先存儲加密后的本地私鑰,其中,本地私鑰的加密密鑰為通過預(yù)設(shè)算法對特定智能IC(Integrated Circuit Card,集成電路卡)卡中的標識信息進行處理后得到的數(shù)據(jù);
步驟s102:接收用戶輸入的簽名指令后,打開移動終端的NFC(Near Field Communication,近場通信)通道;
步驟s103:讀取特定智能IC卡的標識信息;
其中,這里的智能IC卡指的是銀行卡、公交卡等使用智能卡技術(shù)的卡片。
步驟s104:依據(jù)標識信息對移動終端內(nèi)存儲的加密后的本地私鑰進行解密,得到解密后的本地私鑰,此時,移動終端內(nèi)同時存儲有解密后的本地私鑰以及加密后的本地私鑰;
步驟s105:依據(jù)解密后的本地私鑰對輸入的待簽名數(shù)據(jù)進行數(shù)字簽名,并返回簽名結(jié)果;
步驟s106:刪除解密后的本地私鑰。
另外,步驟s106之后還包括關(guān)閉NFC通道。
其中,加密密鑰的具體生成過程包括:
步驟s201:打開移動終端的NFC通道;
步驟s202:發(fā)送文件選擇命令至特定智能IC卡,并接收特定智能IC卡返回的響應(yīng);其中,文件選擇命令的數(shù)據(jù)域中包括選擇的文件名或應(yīng)用標識符(AID,Application Identifier);
這里的文件選擇命令是指通過文件名或AID來選擇IC卡中的應(yīng)用。
步驟s203:從響應(yīng)中查找處理選項數(shù)據(jù)對象列表;
此處的響應(yīng)為文件控制信息(FCI,F(xiàn)ile Control Information),F(xiàn)CI中包含了處理選項數(shù)據(jù)對象列表,此列表中包含了IC卡需要的數(shù)據(jù),例如終端國家代碼,交易貨幣代碼,授權(quán)金額等。
步驟s204:獲取處理選項數(shù)據(jù)對象列表內(nèi)包含的數(shù)據(jù)并填入獲取處理選項命令的數(shù)據(jù)域中,發(fā)送獲取處理選項命令至特定智能IC卡;
步驟s205:接收特定智能IC卡返回的獲取處理選項命令的響應(yīng),并從中提取應(yīng)用文件定位器;
步驟s206:按照應(yīng)用文件定位器的內(nèi)容,獲得標識信息的存放位置,存放位置包括短文件標識符和記錄號;
步驟s207:根據(jù)存放位置,發(fā)送讀記錄命令至特定智能IC卡,并接收特定智能IC卡返回的標識信息;
步驟s208:通過預(yù)設(shè)算法對標識信息進行處理生成對稱密鑰作為加密密鑰。
具體的,這里的預(yù)設(shè)算法為Hash算法或DES算法。當(dāng)然,也可以采用其他算法,本發(fā)明不作具體限定。
作為優(yōu)選地,步驟s102中,接收用戶輸入的簽名指令后,打開移動終端的NFC通道之前還包括:
接收用戶輸入的登錄賬號信息進行驗證,驗證通過后,打開移動終端的NFC通道。
可以理解的是,通過設(shè)置登錄賬號,能夠避免在用戶的移動終端以及相應(yīng)的特定智能IC卡丟失時,他人使用用戶的智能IC卡進行數(shù)字簽名,提高了數(shù)字簽名的安全性。
作為優(yōu)選地,特定智能IC卡與用戶的登錄賬號進行綁定??梢岳斫獾氖?,用戶的智能IC卡可能會丟失或被竊取,為了避免他人使用用戶的智能IC卡進行數(shù)字簽名,可將上述特定智能IC卡與用戶的登錄賬號進行綁定,這樣使得即使他人拿到該特定智能IC卡,也無法使用其進行數(shù)字簽名,從而進一步提高了數(shù)字簽名的安全性。
本發(fā)明提供了一種用于移動終端的數(shù)字簽名方法,包括將特定智能IC中的標識信息通過預(yù)設(shè)算法進行處理后得到的數(shù)據(jù)作為本地私鑰的加密密鑰,在進行數(shù)字簽名過程中,通過移動終端的NFC通道讀取該智能IC卡的標識信息,然后依據(jù)該標識信息得到解密密鑰對加密后的本地私鑰進行解密,得到解密后的本地私鑰進行數(shù)字簽名,最后刪除該解密后的本地私鑰??梢?,本發(fā)明中本地私鑰的加密密鑰依據(jù)特定智能IC卡中的標識信息得到,而特定智能IC卡屬于用戶個人,其標識信息與智能IC卡唯一對應(yīng),且該標識信息與用戶的個人信息(如生日、手機號)以及用戶習(xí)慣并無關(guān)系,故很難被破解,大大提高了本地私鑰的安全性,進而提高了數(shù)字簽名過程的安全性。
本發(fā)明還提供了一種用于移動終端的數(shù)字簽名裝置,參見圖2所示,圖2為本發(fā)明提供的一種用于移動終端的數(shù)字簽名裝置的結(jié)構(gòu)示意圖。該裝置包括:
私鑰存儲模塊1,用于在移動終端內(nèi)預(yù)先存儲加密后的本地私鑰,其中,本地私鑰的加密密鑰為通過預(yù)設(shè)算法對特定智能IC卡中的標識信息進行處理后得到的數(shù)據(jù);
指令接收模塊2,用于接收用戶輸入的簽名指令后,打開移動終端的NFC通道;
NFC讀卡模塊3,用于讀取特定智能IC卡的標識信息;
解密模塊4,用于依據(jù)標識信息對移動終端內(nèi)存儲的加密后的本地私鑰進行解密,得到解密后的本地私鑰,此時,移動終端內(nèi)同時存儲有解密后的本地私鑰以及加密后的本地私鑰;
數(shù)字簽名模塊5,用于依據(jù)解密后的本地私鑰對輸入的待簽名數(shù)據(jù)進行數(shù)字簽名,并返回簽名結(jié)果;
刪除模塊6,用于刪除解密后的本地私鑰。
本發(fā)明提供了一種用于移動終端的數(shù)字簽名裝置,包括將特定智能IC中的標識信息通過預(yù)設(shè)算法進行處理后得到的數(shù)據(jù)作為本地私鑰的加密密鑰,在進行數(shù)字簽名過程中,通過移動終端的NFC通道讀取該智能IC卡的標識信息,然后依據(jù)該標識信息得到解密密鑰對加密后的本地私鑰進行解密,得到解密后的本地私鑰進行數(shù)字簽名,最后刪除該解密后的本地私鑰。可見,本發(fā)明中本地私鑰的加密密鑰依據(jù)特定智能IC卡中的標識信息得到,而特定智能IC卡屬于用戶個人,其標識信息與智能IC卡唯一對應(yīng),且該標識信息與用戶的個人信息(如生日、手機號)以及用戶習(xí)慣并無關(guān)系,故很難被破解,大大提高了本地私鑰的安全性,進而提高了數(shù)字簽名過程的安全性。
需要說明的是,在本說明書中,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
對所公開的實施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其他實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。