本發(fā)明涉及數(shù)字簽名技術(shù)領(lǐng)域,特別是涉及一種智能IC卡。本發(fā)明還涉及一種數(shù)字簽名系統(tǒng)及方法。
背景技術(shù):
數(shù)字簽名目前在數(shù)字貨幣、手機(jī)錢包等金融應(yīng)用中應(yīng)用廣泛,該過程中本地存儲用于大額支付的私鑰。數(shù)字簽名過程中,用戶輸入待簽名數(shù)據(jù)后,首先依據(jù)Hash算法生成待簽名數(shù)據(jù)的摘要,然后使用本地存儲的私鑰對摘要進(jìn)行加密,完成數(shù)字簽名。該過程中私鑰是用戶身份的唯一標(biāo)識,故私鑰的安全性一直是需要突出關(guān)注之處。
這就帶來了如何安全有效地保護(hù)本地私鑰的問題。在私鑰保護(hù)的路徑上通常有兩個方案,一是保護(hù)私鑰本身,二是保護(hù)訪問過程。
對于私鑰本身的保護(hù),通常的做法是使用U盾做硬件保護(hù),私鑰無法讀取,只能授權(quán)進(jìn)行簽名。但是,目前用于數(shù)字簽名的私鑰存儲于本地,例如,當(dāng)用戶使用移動終端進(jìn)行數(shù)字簽名時,私鑰存儲于用戶的移動終端內(nèi),這種情況下,私鑰的安全性與移動終端的信息安全性息息相關(guān),由于目前移動終端容易受到攻擊導(dǎo)致信息泄露,故使得存儲于本地的私鑰的安全性也不夠高。
因此,如何提供一種安全性高的數(shù)字簽名系統(tǒng)及方法以及用于數(shù)字簽名的智能IC卡是本領(lǐng)域技術(shù)人員目前需要解決的問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種智能IC卡,能夠存儲用于數(shù)字簽名的私鑰并進(jìn)行數(shù)字簽名,使得私鑰不出現(xiàn)于移動終端內(nèi),提高數(shù)字簽名時私鑰的安全性;本發(fā)明的另一目的是提供一種包括上述智能IC卡的數(shù)字簽名系統(tǒng)及方法。
為解決上述技術(shù)問題,本發(fā)明提供了一種智能IC卡,包括:
數(shù)據(jù)庫,用于存儲用于數(shù)字簽名的私鑰;
指令接收模塊,用于與所述移動終端建立通信后,接收所述移動終端發(fā)送的待簽名數(shù)據(jù);
簽名模塊,用于依據(jù)存儲的所述私鑰對所述待簽名數(shù)據(jù)進(jìn)行數(shù)字簽名,并將數(shù)字簽名結(jié)果返回所述移動終端。
優(yōu)選地,還包括:
密碼校驗(yàn)?zāi)K,用于與所述移動終端建立通信后,接收所述移動終端發(fā)送的密碼校驗(yàn)指令,進(jìn)行密碼校驗(yàn),并將校驗(yàn)結(jié)果返回給所述移動終端,供所述移動終端依據(jù)所述校驗(yàn)結(jié)果采取相應(yīng)的動作。
為解決上述技術(shù)問題,本發(fā)明還提供了一種數(shù)字簽名系統(tǒng),包括如以上所述的智能IC卡以及移動終端;
所述移動終端包括:
通訊建立模塊,用于打開NFC通道,與所述智能IC卡建立通信;
指令發(fā)送模塊,用于發(fā)送選擇指令至所述智能IC卡,以選擇所述智能IC卡內(nèi)的數(shù)字簽名應(yīng)用;接收用戶輸入的待簽名數(shù)據(jù)并發(fā)送至所述智能IC卡;
響應(yīng)接收模塊,用于接收所述智能IC卡返回的選擇指令的執(zhí)行結(jié)果;接收所述智能IC卡返回的數(shù)字簽名結(jié)果。
為解決上述技術(shù)問題,本發(fā)明還提供了一種數(shù)字簽名方法,用于數(shù)字簽名系統(tǒng),所述數(shù)字簽名系統(tǒng)包括移動終端以及存儲有用于數(shù)字簽名的私鑰的智能IC卡;所述方法包括:
所述移動終端打開NFC通道,與所述智能IC卡建立通信;
所述移動終端發(fā)送選擇指令至所述智能IC卡,以選擇所述智能IC卡內(nèi)的數(shù)字簽名應(yīng)用;
所述移動終端接收所述智能IC卡返回的選擇指令的執(zhí)行結(jié)果;
選擇完成后,所述移動終端接收用戶輸入的待簽名數(shù)據(jù)并發(fā)送至所述智能IC卡;
所述智能IC卡接收所述移動終端發(fā)送的待簽名數(shù)據(jù)后,依據(jù)存儲的所述私鑰對所述待簽名數(shù)據(jù)進(jìn)行數(shù)字簽名,并將數(shù)字簽名結(jié)果返回所述移動終端。
優(yōu)選地,所述移動終端接收用戶輸入的待簽名數(shù)據(jù)之前還包括:
選擇完成后,所述移動終端接收用戶輸入的密碼,并依據(jù)所述密碼生成密碼校驗(yàn)指令并發(fā)送至所述智能IC卡;
所述智能IC卡接收所述密碼校驗(yàn)指令后,進(jìn)行密碼校驗(yàn),并將校驗(yàn)結(jié)果返回所述移動終端;
如果校驗(yàn)通過,則所述移動終端顯示待簽名數(shù)據(jù)輸入界面;如果校驗(yàn)沒有通過,則所述移動終端將終止后續(xù)動作。
優(yōu)選地,所述移動終端接收用戶輸入的待簽名數(shù)據(jù)之前還包括:
所述移動終端接收用戶輸入的登錄賬號并進(jìn)行驗(yàn)證;
驗(yàn)證通過后,檢測與所述移動終端連接的智能IC卡是否與所述登錄賬號綁定,若是,所述移動終端顯示待簽名數(shù)據(jù)輸入界面。
本發(fā)明提供了一種智能IC卡,智能IC卡與移動終端建立連接后,接收移動終端發(fā)送的待簽名數(shù)據(jù),然后智能IC卡依據(jù)自身存儲的私鑰對待簽名數(shù)據(jù)進(jìn)行數(shù)字簽名,并將結(jié)果返回移動終端。可見,本發(fā)明中進(jìn)行數(shù)字簽名的私鑰存儲于該智能IC卡內(nèi),私鑰不出現(xiàn)于移動終端內(nèi),并且智能IC卡內(nèi)的私鑰除專業(yè)人員外不可被讀取,故極大的提高了私鑰的安全性。本發(fā)明還提供了一種包括上述智能IC卡的數(shù)字簽名系統(tǒng)及采用上述智能IC卡的數(shù)字簽名方法。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對現(xiàn)有技術(shù)和實(shí)施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明提供的一種智能IC卡的結(jié)構(gòu)示意圖;
圖2為本發(fā)明提供的一種數(shù)字簽名方法的過程的流程圖。
具體實(shí)施方式
本發(fā)明的核心是提供一種智能IC卡,能夠存儲用于數(shù)字簽名的私鑰并進(jìn)行數(shù)字簽名,使得私鑰不出現(xiàn)于移動終端內(nèi),提高數(shù)字簽名時私鑰的安全性;本發(fā)明的另一核心是提供一種包括上述智能IC卡的數(shù)字簽名系統(tǒng)及方法。
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明提供了一種智能IC卡,該智能IC(Integrated Circuit Card,集成電路卡)卡包括:
數(shù)據(jù)庫3,用于存儲用于數(shù)字簽名的私鑰;
指令接收模塊1,用于與移動終端建立通信后,接收移動終端發(fā)送的待簽名數(shù)據(jù);
簽名模塊2,用于依據(jù)存儲的私鑰對待簽名數(shù)據(jù)進(jìn)行數(shù)字簽名,并將數(shù)字簽名結(jié)果返回移動終端。
需要注意的是,智能IC卡內(nèi)存儲的私鑰是在進(jìn)行數(shù)字簽名之前生成的,每個私鑰是數(shù)字簽名時用戶身份的唯一標(biāo)識,故與用戶身份一一對應(yīng)。本發(fā)明中私鑰通過智能IC卡生成,具體的生成過程如下:
步驟s101:移動終端打開NFC通道,與智能IC卡建立通信;發(fā)送選擇指令至智能IC卡,以選擇智能IC卡內(nèi)的數(shù)字簽名應(yīng)用;
步驟s102:選擇完成后,移動終端發(fā)送私鑰生成指令至智能IC卡;
步驟s103:智能IC卡接收私鑰生成指令后,生成公私鑰對,并存儲生成的私鑰;
步驟s104:移動終端發(fā)送公鑰讀取指令至智能IC卡;
步驟s105:智能IC卡接收公鑰讀取指令后,返回公鑰至移動終端。
可以理解的是,智能IC卡中可能包括具有不同功能的應(yīng)用,例如包括公交卡應(yīng)用、銀行卡應(yīng)用以及數(shù)字簽名應(yīng)用,進(jìn)行不同操作時需要選擇不同應(yīng)用,故本發(fā)明進(jìn)行數(shù)字簽名時,需要首先選擇數(shù)字簽名應(yīng)用進(jìn)行通信。
作為優(yōu)選地,該智能IC卡還包括:
密碼校驗(yàn)?zāi)K,用于與移動終端建立通信后,接收移動終端發(fā)送的密碼校驗(yàn)指令,進(jìn)行密碼校驗(yàn),并將校驗(yàn)結(jié)果返回給移動終端,供移動終端依據(jù)校驗(yàn)結(jié)果采取相應(yīng)的動作。
可以理解的是,由于數(shù)字簽名是一種全部依賴于私鑰的應(yīng)用,故為了進(jìn)一步保證私鑰的安全性,可以為私鑰或智能IC卡增加密碼,即在用戶輸入待簽名數(shù)據(jù)之前,首先要輸入密碼至智能IC卡進(jìn)行驗(yàn)證,驗(yàn)證通過后,才會進(jìn)行數(shù)字簽名操作,避免了智能IC卡丟失后,他人使用智能IC卡進(jìn)行數(shù)字簽名的可能性出現(xiàn)。
本發(fā)明提供了一種智能IC卡,智能IC卡與移動終端建立連接后,接收移動終端發(fā)送的待簽名數(shù)據(jù),然后智能IC卡依據(jù)自身存儲的私鑰對待簽名數(shù)據(jù)進(jìn)行數(shù)字簽名,并將結(jié)果返回移動終端??梢?,本發(fā)明中進(jìn)行數(shù)字簽名的私鑰存儲于該智能IC卡內(nèi),私鑰不出現(xiàn)于移動終端內(nèi),并且智能IC卡內(nèi)的私鑰除專業(yè)人員外不可被讀取,故極大的提高了私鑰的安全性。
本發(fā)明還提供了一種數(shù)字簽名系統(tǒng),參見圖1所示,圖1為本發(fā)明提供的一種數(shù)字簽名系統(tǒng)的結(jié)構(gòu)示意圖;該系統(tǒng)包括如以上的智能IC卡以及移動終端;
該移動終端包括:
通訊建立模塊,用于打開NFC(Near Field Communication,近場通信)通道,與智能IC卡建立通信;
指令發(fā)送模塊,用于發(fā)送選擇指令至智能IC卡,以選擇智能IC卡內(nèi)的數(shù)字簽名應(yīng)用;接收用戶輸入的待簽名數(shù)據(jù)并發(fā)送至智能IC卡;
響應(yīng)接收模塊,用于接收智能IC卡返回的選擇指令的執(zhí)行結(jié)果;接收智能IC卡返回的數(shù)字簽名結(jié)果。
其中,這里的智能IC卡指的是銀行卡、公交卡等使用智能卡技術(shù)的卡片。
另外,由于NFC為近場通信方式,故采用本發(fā)明的系統(tǒng)進(jìn)行數(shù)字簽名時,智能IC卡應(yīng)放置在移動終端附近一定距離的范圍內(nèi)。
本發(fā)明提供了一種數(shù)字簽名方法,用于數(shù)字簽名系統(tǒng),數(shù)字簽名系統(tǒng)包括移動終端以及存儲有用于數(shù)字簽名的私鑰的智能IC卡;參見圖2所示,圖2為本發(fā)明提供的一種數(shù)字簽名方法的過程的流程圖。該方法包括:
步驟s201:移動終端打開NFC通道,與智能IC卡建立通信;
步驟s202:移動終端發(fā)送選擇指令至智能IC卡,以選擇智能IC卡內(nèi)的數(shù)字簽名應(yīng)用;
步驟s203:移動終端接收智能IC卡返回的選擇指令的執(zhí)行結(jié)果;
步驟s204:選擇完成后,移動終端接收用戶輸入的待簽名數(shù)據(jù)并發(fā)送至智能IC卡;
步驟s205:智能IC卡接收移動終端發(fā)送的待簽名數(shù)據(jù)后,依據(jù)存儲的私鑰對待簽名數(shù)據(jù)進(jìn)行數(shù)字簽名,并將數(shù)字簽名結(jié)果返回移動終端。
作為優(yōu)選地,步驟s204中,移動終端接收用戶輸入的待簽名數(shù)據(jù)并發(fā)送至智能IC卡之前還包括:
選擇完成后,移動終端接收用戶輸入的密碼,并依據(jù)密碼生成密碼校驗(yàn)指令并發(fā)送至智能IC卡;
智能IC卡接收密碼校驗(yàn)指令后,進(jìn)行密碼校驗(yàn),并將校驗(yàn)結(jié)果返回移動終端;
如果校驗(yàn)通過,則移動終端顯示待簽名數(shù)據(jù)輸入界面;如果校驗(yàn)沒有通過,則移動終端將終止后續(xù)動作。
在另一種實(shí)施例中,步驟s204中,移動終端接收用戶輸入的待簽名數(shù)據(jù)并發(fā)送至智能IC卡之前還包括:
移動終端接收用戶輸入的登錄賬號并進(jìn)行驗(yàn)證;
驗(yàn)證通過后,檢測與移動終端連接的智能IC卡是否與登錄賬號綁定,若是,移動終端顯示待簽名數(shù)據(jù)輸入界面。
可以理解的是,由于登錄賬號僅有用戶知道,將其與智能IC卡綁定后,能夠進(jìn)一步提高數(shù)字簽名過程的安全保密性。
本發(fā)明提供了一種數(shù)字簽名方法,用于數(shù)字簽名系統(tǒng),智能IC卡與移動終端建立連接后,接收移動終端發(fā)送的待簽名數(shù)據(jù),然后智能IC卡依據(jù)自身存儲的私鑰對待簽名數(shù)據(jù)進(jìn)行數(shù)字簽名,并將結(jié)果返回移動終端??梢?,本發(fā)明中進(jìn)行數(shù)字簽名的私鑰存儲于該智能IC卡內(nèi),私鑰不出現(xiàn)于移動終端內(nèi),并且智能IC卡內(nèi)的私鑰除專業(yè)人員外不可被讀取,故極大的提高了私鑰的安全性。
需要說明的是,在本說明書中,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
對所公開的實(shí)施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實(shí)施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其他實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。