一種從數據提供方傳輸數據到智能卡的方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開一種從數據提供方傳輸數據到智能卡的方法和系統(tǒng)。該方法包括,由智能卡產生密鑰KEY,然后利用公鑰PK1加密密鑰KEY得到密文PK1(KEY),以及利用SK2簽名該密文PK1(KEY)得到簽名密文SK2(PK1(KEY)),數據提供方從智能卡接收密文PK1(KEY)和簽名密文SK2(PK1(KEY)),然后利用公鑰PK2驗證簽名密文SK2(PK1(KEY)),以及利用私鑰SK1解密密文PK1(KEY)得到密鑰KEY;數據提供方利用得到的密鑰KEY將要傳輸的數據加密后傳輸到智能卡。
【專利說明】一種從數據提供方傳輸數據到智能卡的方法和系統(tǒng)
【技術領域】
[0001]本發(fā)明涉及信息安全領域,尤其涉及一種從數據提供方傳輸數據到智能卡的方法和系統(tǒng)。
【背景技術】
[0002]隨著智能卡多應用的發(fā)展,在一張智能卡上加載多個應用變得越來越普遍,應用提供方面臨的一個重要問題就是如何將應用數據(例如,賬戶信息)安全地傳輸到由第三方管理的智能卡上。
[0003]在現(xiàn)有技術中,從應用提供方將應用數據傳輸到智能卡包括密鑰準備和數據傳輸兩個步驟。如圖1中的上面部分的示意圖所示,在密鑰準備的步驟中,首先,應用提供方將主密鑰KMC設置在第三方個人化系統(tǒng)中;然后第三方個人化系統(tǒng)將主密鑰KMC分散得到密鑰Kcard,并且將密鑰Kcard設置在智能卡安全芯片中;最后應用提供方與第三方系統(tǒng)協(xié)商傳輸密鑰KEK。如圖1中的下面部分的示意圖所示,在數據傳輸的步驟中,首先應用提供方將待傳輸的數據通過KEK加密后傳給第三方個人化系統(tǒng);然后第三方個人化系統(tǒng)接收數據并在加密機中用KEK解密,同時在加密機中再用主密鑰KMC分散得到的密鑰Kcard加密后傳給智能卡;最后智能卡用Kcard解密得到應用提供方傳輸的數據。
[0004]上述現(xiàn)有技術存在以下缺陷,一方面,在數據傳輸過程中,第三方的個人化設備和智能卡在封閉的系統(tǒng)內部(例如,卡廠),這樣對于已經發(fā)出的智能卡就不方便更新應用數據或者下載新的應用數據。另一方面,雖然有密鑰保護應用提供方準備的數據,但是應用提供方和智能卡卡片不是直接建立的安全信道,而是應用提供方與第三方系統(tǒng)、第三方系統(tǒng)和卡片分別建立安全信道,因此需要在第三方系統(tǒng)內部進行一個數據轉換的過程,從而可能存在數據泄露的風險。
【發(fā)明內容】
[0005]根據本發(fā)明的一個目的公開一種從數據提供方傳輸數據到智能卡的方法,其中數據提供方擁有公鑰PKl和私鑰SK1,智能卡擁有公鑰PK2和私鑰SK2,包括以下步驟:
由智能卡產生密鑰KEY,然后利用公鑰PKl加密密鑰KEY得到密文PKl (KEY),以及利用SK2簽名該密文PKl (KEY)得到簽名密文SK2 (PKl (KEY)),
數據提供方從智能卡接收密文PKl (KEY)和簽名密文SK2 (PKl (KEY)),然后利用公鑰PK2驗證簽名密文SK2 (PKl (KEY)),以及利用私鑰SKl解密密文PKl (KEY)得到密鑰KEY ;
數據提供方利用得到的密鑰KEY將要傳輸的數據加密后傳輸到智能卡。
[0006]可選地,所述數據提供方是應用提供方,所述數據是應用數據,該應用數據用于將智能卡應用個人化。
[0007]可選地,所述數據提供方向智能卡發(fā)送密鑰生成指令,智能卡在接收到該密鑰生成指令后產生密鑰KEY。[0008]可選地,密鑰KEY由智能卡隨機產生。
[0009]可選地,數據提供方通過第三方與智能卡通信。
[0010]可選地,所述要傳輸的數據包括傳輸密鑰,該傳輸密鑰由關于數據提供方的主密鑰分散得到的子密鑰,所述方法還包括以下步驟:
智能卡利用密鑰KEY從數據提供方獲取傳輸密鑰,以及
應用提供方利用該傳輸密鑰將要傳輸的另外的數據加密后傳輸到智能卡。
[0011]可選地,所述另外的數據是用于對智能卡進行個人化的數據。
[0012]根據本發(fā)明的方法和系統(tǒng),數據提供方通過與智能卡建立端到端的安全通道,能夠將應用數據通過不可信的信道和第三方系統(tǒng)安全地傳輸到智能卡上。
【專利附圖】
【附圖說明】
[0013]在參照附圖閱讀了本發(fā)明的【具體實施方式】以后,本領域技術人員將會更清楚地了解本發(fā)明的各個方面。本領域技術人員應當理解的是,這些附圖僅僅用于配合【具體實施方式】說明本發(fā)明的技術方案,而并非意在對本發(fā)明的保護范圍構成限制。
[0014]圖1是根據現(xiàn)有技術中從應用提供方將應用數據傳輸到智能卡的方法示意圖。
[0015]圖2是根據本發(fā)明實施例的從數據提供方將數據傳輸到智能卡的步驟示意圖。
【具體實施方式】
[0016]下面參照附圖,對本發(fā)明的【具體實施方式】作進一步的詳細描述。
[0017]圖2是根據本發(fā)明實施例的從數據提供方將數據傳輸到智能卡的步驟示意圖。該方法包括兩個步驟,即直接安全信道的建立以及通過建立的安全信道傳輸數據。
[0018]在本發(fā)明中,數據提供方擁有公鑰PKl和私鑰SK1,智能卡擁有公鑰PK2和私鑰SK2。例如,數據提供方和卡廠分別從CA申請公私鑰對和公鑰證書,并且數據提供方和卡廠可以利用公鑰PCA驗證對方公鑰證書,并獲得對方公鑰。在一個實施例中,在數據提供方中設置有PK1、SKl和PK2,在智能卡中設置有PK1、PCA和SK2。在該實施例中,卡廠將CA的公鑰PCA和私鑰SK2預置到智能卡中;數據提供方可以在獲得卡廠的公鑰證書后用公鑰PCA驗證得到智能卡公鑰PK2 ;而數據提供方將公鑰證書通過網絡或者任意第三方傳輸到智能卡,智能卡通過CA的公鑰PCA驗證數據提供方的公鑰證書,然后得到數據提供方的公鑰PK1。在上述數據準備過程中,只有公鑰證書在網絡上傳輸,而且在獲取公鑰的時候會根據CA公鑰PCA驗證公鑰證書,所以這一步即使信道不可信,整個過程仍然是安全的。
[0019]在直接安全信道的建立的步驟中,由智能卡產生密鑰KEY,然后利用公鑰PKl加密密鑰KEY得到密文PKl (KEY),以及利用SK2簽名該密文PKl (KEY)得到簽名密文SK2 (PKl(KEY))。智能卡能夠通過第三方或者不可信的網絡將密文PKl (KEY)和簽名密文SK2 (PKl(KEY))發(fā)送給數據提供方。
[0020]接著,數據提供方從智能卡接收密文PKl (KEY)和簽名密文SK2 (PKl (KEY)),然后利用公鑰PK2驗證簽名密文SK2 (PKl (KEY)),以及利用私鑰SKl解密密文PKl (KEY)得到密鑰KEY。由此,數據提供方和智能卡同時擁有同一密鑰KEY,數據提供方到智能卡的直接安全信道得到建立。
[0021]由于密鑰KEY是被數據提供方的公鑰PKl加密的,而只有數據提供方具有對應的解密私鑰SK1,所以密鑰KEY不可能被竊取。另外,由于密鑰KEY每次都可以由智能卡隨機產生,所以第三方不可能截取密文PKl (KEY)和簽名密文SK2 (PKl (KEY))進行重放攻擊。另一方面,由于只有智能卡具有私鑰SK2,并且利用該私鑰SK2對加密的密鑰簽名,所以數據提供方根據公鑰PK2驗簽能夠避免簽名密文SK2(PK1 (KEY))被冒充和篡改。
[0022]在通過建立的安全信道傳輸數據的步驟中,數據提供方利用得到的密鑰KEY將要傳輸的數據加密后傳輸到智能卡。
[0023]可選地,所述數據提供方是應用提供方,所述數據是應用數據,該應用數據用于將智能卡應用個人化。
[0024]可選地,所述數據提供方向智能卡發(fā)送密鑰生成指令,智能卡在接收到該密鑰生成指令后產生密鑰KEY。
[0025]在一個實施例中,應用提供方和智能卡之間通過下述步驟完成直接安全信道的建立以及數據傳輸:
在步驟I中,由應用提供方向智能卡發(fā)送生成密鑰指令GENERATE KEY ;
在步驟2中,智能卡向應用提供方返回GENERATE KEY指令響應,在該步驟中,當智能卡接收到生成密鑰指令GENERATE KEY之后,由智能卡產生密鑰KEY,然后利用公鑰PKl加密密鑰KEY得到密文PKl (KEY),以及利用SK2簽名該密文PKl (KEY)得到簽名密文SK2 (PKl(KEY)),智能卡向應用提供方返回GENERATE KEY指令響應,其中GENERATE KEY指令響應包括密文PKl (KEY)和簽名密文SK2 (PKl (KEY));
在步驟3中,由應用提供方向智能卡發(fā)送PUT KEY指令,在該步驟中,應用提供方接收包括密文PKl (KEY)和簽名密文SK2 (PKl (KEY))的GENERATE KEY指令響應之后,判斷GENERATE KEY指令指令是否執(zhí)行成功,如果執(zhí)行成功則以及利用公鑰PK2驗證簽名密文SK2 (PKl (KEY)),以及利用私鑰SKl解密密文PKl (KEY)得到密鑰KEY,將得到的密鑰KEY作為后續(xù)操作的臨時會話密鑰,然后由應用提供方向智能卡發(fā)送PUT KEY指令,該PUT KEY指令包括傳輸密鑰,并且根據上述的臨時會話密鑰被加密;
在步驟4中,智能卡向應用提供方返回PUT KEY指令響應,在該步驟中,智能卡利用上述臨時會話密鑰解密I3UT KEY指令并且獲取傳輸密鑰,并將該傳輸密鑰存儲在智能卡中,以及向應用提供方返回I3UT KEY指令響應指示獲取并存儲傳輸密鑰是否成功。在一個實施例中,傳輸密鑰是由關于應用提供方的主密鑰分散得到的子密鑰,由此,應用提供方和智能卡都具有傳輸密鑰。作為子密鑰的傳輸密鑰被用于加密后續(xù)的應用提供方和智能卡之間的數據的傳輸;
在步驟5中,由應用提供方向智能卡發(fā)送個人化STORE DATA指令,該STORE DATA指令利用傳輸密鑰加密并且用于向智能卡寫入數據以對智能卡進行個人化;
在步驟6中,智能卡向應用提供方返回STORE DATA指令響應,指示數據寫入是否成功。
[0026]本領域的技術人員可以理解的是,上述描述的6個步驟可以分別獨立地與本發(fā)明的其它實施例組合,或者該6個步驟可以互相結合而得到用于實現(xiàn)本發(fā)明的目的的其它技術方案。
[0027]本發(fā)明還公開從數據提供方傳輸數據到智能卡的系統(tǒng),該系統(tǒng)包括數據提供方傳和智能卡,其中數據提供方擁有公鑰PKl和私鑰SK1,智能卡擁有公鑰PK2和私鑰SK2,其中,智能卡被配置成產生密鑰KEY,然后利用公鑰PKl加密密鑰KEY得到密文PKl (KEY),以及利用SK2簽名該密文PKl (KEY)得到簽名密文SK2 (PKl (KEY)),數據提供方被配置成從智能卡接收密文PKl (KEY)和簽名密文SK2 (PKl (KEY)),然后利用公鑰PK2驗證簽名密文SK2 (PKl (KEY)),以及利用私鑰SKl解密密文PKl (KEY)得到密鑰KEY ;以及數據提供方被進一步配置成利用得到的密鑰KEY將要傳輸的數據加密后傳輸到智能卡。
[0028]可選地,數據提供方被配置成向智能卡發(fā)送密鑰生成指令,智能卡被配置成在接收到該密鑰生成指令后產生密鑰KEY,數據提供方通過第三方與智能卡通信。
[0029]可選地,所述要傳輸的數據包括傳輸密鑰,該傳輸密鑰由關于數據提供方的主密鑰分散得到的子密鑰,其中:智能卡還被配置成利用密鑰KEY從數據提供方獲取傳輸密鑰,以及應用提供方被配置成利用該傳輸密鑰將要傳輸的另外的數據加密后傳輸到智能卡。
[0030]通過以上實施方式的描述,本領域中的普通技術人員能夠理解,在不偏離本發(fā)明的精神和范圍的情況下,還可以對本發(fā)明的【具體實施方式】作各種變更和替換。這些變更和替換都落在本發(fā)明權利要求書所限定的范圍內。
【權利要求】
1.一種從數據提供方傳輸數據到智能卡的方法,其中數據提供方擁有公鑰PKI和私鑰SK1,智能卡擁有公鑰PK2和私鑰SK2,其特征在于,包括以下步驟: 由智能卡產生密鑰KEY,然后利用公鑰PKl加密密鑰KEY得到密文PKl (KEY),以及利用SK2簽名該密文PKl (KEY)得到簽名密文SK2 (PKl (KEY)), 數據提供方從智能卡接收密文PKl (KEY)和簽名密文SK2 (PKl (KEY)),然后利用公鑰PK2驗證簽名密文SK2 (PKl (KEY)),以及利用私鑰SKl解密密文PKl (KEY)得到密鑰KEY ; 數據提供方利用得到的密鑰KEY將要傳輸的數據加密后傳輸到智能卡。
2.如權利要求1所述的方法,其特征在于, 所述數據提供方向智能卡發(fā)送密鑰生成指令,智能卡在接收到該密鑰生成指令后產生密鑰KEY。
3.如權利要求2所述的方法,其特征在于,密鑰KEY由智能卡隨機產生。
4.如權利要求1所述的方法,其特征在于,所述要傳輸的數據包括傳輸密鑰,該傳輸密鑰由關于數據提供方的主密鑰分散得到的子密鑰,所述方法還包括以下步驟: 智能卡利用密鑰KEY從數據提供方獲取傳輸密鑰,以及 應用提供方利用該傳輸密鑰將要傳輸的另外的數據加密后傳輸到智能卡。
5.如權利要求4所述的方法,其特征在于,所述另外的數據是用于對智能卡進行個人化的數據。
6.一種從數據提供方傳輸數據到智能卡的系統(tǒng),該系統(tǒng)包括數據提供方傳和智能卡,其中數據提供方擁有公鑰PKl和私鑰SKl,智能卡擁有公鑰PK2和私鑰SK2,其特征在于, 智能卡被配置成產生密鑰KEY,然后利用公鑰PKl加密密鑰KEY得到密文PKl (KEY),以及利用SK2簽名該密文PKl (KEY)得到簽名密文SK2 (PKl (KEY)), 數據提供方被配置成從智能卡接收密文PKl (KEY)和簽名密文SK2 (PKl (KEY)),然后利用公鑰PK2驗證簽名密文SK2 (PKl (KEY)),以及利用私鑰SKl解密密文PKl (KEY)得到密鑰KEY ;以及 數據提供方被進一步配置成利用得到的密鑰KEY將要傳輸的數據加密后傳輸到智能卡。
7.如權利要求6所述的系統(tǒng),其特征在于, 數據提供方被配置成向智能卡發(fā)送密鑰生成指令, 智能卡被配置成在接收到該密鑰生成指令后產生密鑰KEY。
8.如權利要求7所述的系統(tǒng),其特征在于,密鑰KEY由智能卡隨機產生。
9.如權利要求6所述的系統(tǒng),其特征在于,所述要傳輸的數據包括傳輸密鑰,該傳輸密鑰由關于數據提供方的主密鑰分散得到的子密鑰,其中: 智能卡還被配置成利用密鑰KEY從數據提供方獲取傳輸密鑰,以及 應用提供方被配置成利用該傳輸密鑰將要傳輸的另外的數據加密后傳輸到智能卡。
10.如權利要求9所述的系統(tǒng),其特征在于,所述另外的數據是用于對智能卡進行個人化的數據。
【文檔編號】H04L9/32GK103532714SQ201210232922
【公開日】2014年1月22日 申請日期:2012年7月6日 優(yōu)先權日:2012年7月6日
【發(fā)明者】萬四爽, 劉國寶, 何朔 申請人:中國銀聯(lián)股份有限公司