一種數(shù)據(jù)傳輸?shù)姆椒把b置制造方法
【專利摘要】本發(fā)明公開一種數(shù)據(jù)傳輸?shù)姆椒把b置,涉及通信網(wǎng)絡(luò)【技術(shù)領(lǐng)域】,用于解決智能卡服務(wù)器與Java智能卡進(jìn)行OTA數(shù)據(jù)交互時,傳輸效率較低的問題。本發(fā)明實施例通過智能卡服務(wù)器與Java智能卡建立卡應(yīng)用工具協(xié)議CAT_TP數(shù)據(jù)鏈接;智能卡服務(wù)器在CAT_TP數(shù)據(jù)鏈接上向Java智能卡發(fā)送采用雙層封裝的存儲數(shù)據(jù)STORE?DATA指令,其中雙層封裝包括安全通道協(xié)議SCP02和SCP80,采用雙層封裝的STORE?DATA指令中攜帶個人化數(shù)據(jù)。本發(fā)明實施例提供的方案適于對OTA數(shù)據(jù)進(jìn)行傳輸時采用。
【專利說明】一種數(shù)據(jù)傳輸?shù)姆椒把b置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信網(wǎng)絡(luò)【技術(shù)領(lǐng)域】,尤其涉及一種數(shù)據(jù)傳輸?shù)姆椒把b置。
【背景技術(shù)】
[0002]目前對Java智能卡的數(shù)據(jù)來源主要有三種方式,第一種方式為對Java智能卡進(jìn)行預(yù)置,一般在Java智能卡出廠時進(jìn)行預(yù)置Java智能卡的數(shù)據(jù);第二種方式為利用銷售點(Point Of Sale,P0S)終端下載Java智能卡的數(shù)據(jù);第三種方式為利用空中下載(OverThe Air, OTA)技術(shù)下載Java智能卡的數(shù)據(jù)。
[0003]在對Java智能卡發(fā)送OTA數(shù)據(jù)信息時,一般采用第二種方式和第三種方式。其中,當(dāng)Java智能卡需要接收大容量的OTA數(shù)據(jù)(如安裝數(shù)據(jù)包、更新數(shù)據(jù)包等)時,可以采用第二種方式從POS終端中下載OTA數(shù)據(jù)。當(dāng)?shù)谌椒?wù)器需要向Java智能卡發(fā)送小容量的OTA數(shù)據(jù)(如刪除指令、卸載指令等)時,可以采用第三種方式接收智能卡服務(wù)器轉(zhuǎn)發(fā)第三方服務(wù)器發(fā)起的OTA數(shù)據(jù)。然而,第三方服務(wù)器以明文的方式向POS終端發(fā)送關(guān)于Java智能卡的OTA數(shù)據(jù),再通過Java智能卡利用POS終端來下載OTA數(shù)據(jù),從而降低了 Java智能卡中OTA數(shù)據(jù)的安全性。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的實施例提供一種數(shù)據(jù)傳輸?shù)姆椒把b置,用于解決為第三方服務(wù)器提供的與Java智能卡之間的OTA數(shù)據(jù)安全性較低的問題。
[0005]一方面,本發(fā)明的實施例提供一種數(shù)據(jù)傳輸?shù)姆椒?,包?
[0006]智能卡服務(wù)器與Java智能卡建立卡應(yīng)用工具協(xié)議CAT_TP數(shù)據(jù)鏈接;
[0007]所述智能卡服務(wù)器在所述CAT_TP數(shù)據(jù)鏈接上向所述Java智能卡發(fā)送采用雙層封裝的存儲數(shù)據(jù)STORE DATA指令,其中所述雙層封裝包括安全通道協(xié)議SCP02和SCP80,所述采用雙層封裝的STORE DATA指令中攜帶個人化數(shù)據(jù)。
[0008]在本發(fā)明的另一種實施例中,在所述智能卡服務(wù)器與Java智能卡建立卡應(yīng)用工具協(xié)議CAT_TP數(shù)據(jù)鏈接之前,所述方法還包括:
[0009]所述智能卡服務(wù)器接收第三方服務(wù)器發(fā)送的采用所述SCP02封裝的所述STOREDATA指令;
[0010]所述智能卡服務(wù)器對所述采用所述SCP02封裝的所述STORE DATA指令繼續(xù)采用所述SCP80進(jìn)行封裝,得到所述采用雙層封裝的STORE DATA指令。
[0011]在本發(fā)明的另一種實施例中,所述Java智能卡包括主安全域ISD和所述ISD相關(guān)聯(lián)的至少一個附屬安全域SSD,在所述智能卡服務(wù)器與Java智能卡建立卡應(yīng)用工具協(xié)議CAT_TP數(shù)據(jù)鏈接之前,所述方法還包括:
[0012]所述智能卡服務(wù)器將接收所述第三方服務(wù)器發(fā)送的初始化更新INITIALIZEUPDATE指令,所述INITIALIZE UPDATE指令用于表示所述第三方服務(wù)器與所述Java智能卡協(xié)商所述SCP02的會話密鑰數(shù)據(jù);[0013]在所述智能卡服務(wù)器與Java智能卡建立卡應(yīng)用工具協(xié)議CAT_TP數(shù)據(jù)鏈接之后,所述方法還包括:
[0014]所述智能卡服務(wù)器將接收的所述INITIALIZE UPDATE指令通過所述CAT_TP數(shù)據(jù)鏈接發(fā)送給所述第一 SSD ;
[0015]所述智能卡服務(wù)器接收所述第三方服務(wù)器發(fā)送的EXTERNAL AUTHENTICATE指令,所述EXTERNAL AUTHENTICATE指令用于完成所述Java智能卡與所述第三方服務(wù)器的互相認(rèn)證以及協(xié)商采用所述SCP02的傳輸數(shù)據(jù)的安全級別;
[0016]所述智能卡服務(wù)器將所述EXTERNAL AUTHENTICATE指令通過所述CAT_TP數(shù)據(jù)鏈接發(fā)送給所述第一 SSD。
[0017]在本發(fā)明的另一種實施例中,在所述智能卡服務(wù)器在所述CAT_TP數(shù)據(jù)鏈接上向所述Java智能卡發(fā)送采用雙層封裝的存儲數(shù)據(jù)STORE DATA指令之前,所述方法還包括:
[0018]所述智能卡服務(wù)器接收所述第三方服務(wù)器發(fā)送的攜帶目標(biāo)應(yīng)用程序Applet的標(biāo)識的安裝【個人化】INSTALL【for personalization]指令,所述INSTALL【forpersonalization】指令用于指示所述第一 SSD將所述個人化數(shù)據(jù)轉(zhuǎn)發(fā)給所述目標(biāo)Applet ;
[0019]所述智能卡服務(wù)器通過所述CAT_TP數(shù)據(jù)鏈接向所述Java智能卡發(fā)送所述INSTALL【for personalization】指令;
[0020]所述智能卡服務(wù)器通過所述CAT_TP數(shù)據(jù)鏈接接收所述Java智能卡發(fā)送的響應(yīng)指令,所述響應(yīng)指令用于告知所 述智能卡服務(wù)器所述Java智能卡已接收所述INSTALL【forpersonalization】指令;
[0021]所述智能卡服務(wù)器將接收的所述響應(yīng)指令發(fā)送給所述第三方服務(wù)器;
[0022]在所述智能卡服務(wù)器在所述CAT_TP數(shù)據(jù)鏈接上向所述Java智能卡發(fā)送采用雙層封裝的存儲數(shù)據(jù)STORE DATA指令之后,所述方法還包括:
[0023]所述第一 SSD向所述Java智能卡發(fā)送解封裝請求以及所述采用雙層封裝的STOREDATA指令,所述解封裝請求用于指示所述Java智能卡調(diào)用所述ISD使用所述SCP80對所述采用雙層封裝的STORE DATA指令進(jìn)行解封裝;
[0024]所述Java智能卡接收所述解封裝請求之后,調(diào)用所述ISD使用所述SCP80對所述采用雙層封裝的STORE DATA指令進(jìn)行解封裝,得到采用所述SCP02封裝的STORE DATA指令;
[0025]所述Java智能卡將所述采用所述SCP02封裝的STORE DATA指令發(fā)送給所述第一SSD ;
[0026]所述第一 SSD采用所述SCP02對所述采用所述SCP02封裝的STORE DATA指令進(jìn)行解封裝,得到所述STORE DATA指令;
[0027]所述第一 SSD從所述STORE DATA指令中獲取所述個人化數(shù)據(jù)。
[0028]在本發(fā)明的另一種實施例中,在所述第一 SSD從所述STORE DATA指令中獲取所述個人化數(shù)據(jù)之后,所述方法還包括:
[0029]所述智能卡服務(wù)器接收所述Java智能卡發(fā)送的個人化結(jié)果,所述個人化結(jié)果用于說明所述Java智能卡已經(jīng)正常使用所述個人化數(shù)據(jù)對應(yīng)的應(yīng)用;
[0030]所述智能卡服務(wù)器斷開與所述Java智能卡之間的所述CAT_TP數(shù)據(jù)鏈接,并將所述個人化結(jié)果發(fā)送給所述第三方服務(wù)器。[0031]另一方面,本發(fā)明的實施例提供一種數(shù)據(jù)傳輸?shù)难b置,包括:
[0032]建立鏈接模塊,用于與Java智能卡建立卡應(yīng)用工具協(xié)議CAT_TP數(shù)據(jù)鏈接;
[0033]發(fā)送模塊,用于在CAT_TP數(shù)據(jù)鏈接上向所述Java智能卡發(fā)送采用雙層封裝的存儲數(shù)據(jù)STORE DATA指令,其中所述雙層封裝包括安全通道協(xié)議SCP02和SCP80,所述采用雙層封裝的STORE DATA指令中攜帶個人化數(shù)據(jù)。
[0034]在本發(fā)明的另一種實施例中,所述裝置還包括:
[0035]接收模塊,用于接收第三方服務(wù)器發(fā)送的采用所述SCP02進(jìn)行封裝的所述STOREDATA指令;
[0036]處理模塊,用于對所述采用所述SCP02進(jìn)行封裝的所述STORE DATA指令繼續(xù)采用所述SCP80進(jìn)行封裝,得到所述采用雙層封裝的STORE DATA指令。
[0037]在本發(fā)明的另一種實施例中,所述Java智能卡包括主安全域ISD和所述ISD相關(guān)聯(lián)的至少一個附屬安全域SSD,
[0038]所述接收模塊,還用于接收所述第三方服務(wù)器發(fā)送的初始化更新INITIALIZEUPDATE指令和外部鑒權(quán)EXTERNAL AUTHENTICATE指令,所述INITIALIZE UPDATE指令用于表示所述第三方服務(wù)器與所述Java智能卡協(xié)商所述SCP02的會話密鑰數(shù)據(jù),所述EXTERNALAUTHENTICATE指令用于完成所述Java智能卡與所述第三方服務(wù)器的互相認(rèn)證以及協(xié)商采用所述SCP02的傳輸數(shù)據(jù)的安全級別;[0039]所述發(fā)送模塊,還用于將所述EXTERNAL AUTHENTICATE指令通過所述CAT_TP數(shù)據(jù)鏈接發(fā)送給所述第一 SSD。
[0040]在本發(fā)明的另一種實施例中,所述接收模塊,還用于接收所述第三方服務(wù)器發(fā)送的攜帶目標(biāo)應(yīng)用程序Applet的標(biāo)識的安裝【個人化】INSTALL [for personalization】指令,所述INSTALL【for personalization】指令用于指示所述第一 SSD將所述個人化數(shù)據(jù)轉(zhuǎn)發(fā)給所述目標(biāo)Applet ;接收所述Java智能卡發(fā)送的響應(yīng)指令,所述響應(yīng)指令用于告知所述智能卡服務(wù)器所述Java智能卡已接收所述INSTALL【for personalization】指令;
[0041]所述發(fā)送模塊,還用于通過所述CAT_TP數(shù)據(jù)鏈接向所述Java智能卡發(fā)送所述INSTALL【for personalization】指令。
[0042]在本發(fā)明的另一種實施例中,所述接收模塊,還用于接收所述Java智能卡發(fā)送的個人化結(jié)果,所述個人化結(jié)果用于說明所述Java智能卡已經(jīng)正常使用所述個人化數(shù)據(jù)對應(yīng)的應(yīng)用;
[0043]所述裝置還包括:
[0044]斷開鏈接模塊,用于斷開與所述Java智能卡之間的所述CAT_TP數(shù)據(jù)鏈接;
[0045]所述發(fā)送模塊,還用于將所述個人化結(jié)果發(fā)送給所述第三方服務(wù)器。
[0046]本發(fā)明實施例提供的一種數(shù)據(jù)傳輸?shù)姆椒把b置,通過智能卡服務(wù)器與Java智能卡建立卡應(yīng)用工具協(xié)議CAT_TP數(shù)據(jù)鏈接;智能卡服務(wù)器在CAT_TP數(shù)據(jù)鏈接上向Java智能卡發(fā)送采用雙層封裝的存儲數(shù)據(jù)STORE DATA指令,其中雙層封裝包括安全通道協(xié)議SCP02和SCP80,采用雙層封裝的STORE DATA指令中攜帶個人化數(shù)據(jù)。與現(xiàn)有技術(shù)中第三方服務(wù)器以明文的方式向POS終端發(fā)送關(guān)于Java智能卡的OTA數(shù)據(jù),再通過Java智能卡利用POS終端來下載OTA數(shù)據(jù),從而降低了 Java智能卡中OTA數(shù)據(jù)的安全性的問題相比,本發(fā)明實施例中在智能卡服務(wù)器與Java智能卡建立CAT_TP數(shù)據(jù)鏈接之后,通過在CAT_TP數(shù)據(jù)鏈接上進(jìn)行兩次加密的傳輸數(shù)據(jù)相比,可以提高第三方服務(wù)器提供的與Java智能卡之間的OTA數(shù)據(jù)安全性。
【專利附圖】
【附圖說明】
[0047]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0048]圖1為本發(fā)明實施例提供的一種數(shù)據(jù)傳輸?shù)姆椒ǖ牧鞒虉D;
[0049]圖2為本發(fā)明實施例提供的另一種數(shù)據(jù)傳輸?shù)姆椒ǖ牧鞒虉D;
[0050]圖3為本發(fā)明實施例提供的一種數(shù)據(jù)傳輸?shù)难b置的結(jié)構(gòu)示意圖;
[0051]圖4為本發(fā)明實施例提供的另一種數(shù)據(jù)傳輸?shù)难b置的結(jié)構(gòu)示意圖;
[0052]圖5為本發(fā)明實施例提供的一種數(shù)據(jù)傳輸?shù)南到y(tǒng)的結(jié)構(gòu)示意圖。
【具體實施方式】
[0053]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
[0054]實施例1
[0055]如圖1所示,本發(fā)明實施例提供一種數(shù)據(jù)傳輸?shù)姆椒?,具體如下:
[0056]101,智能卡服務(wù)器與Java智能卡建立卡應(yīng)用工具協(xié)議(Card ApplicationTookit_Transfer Protocol, CAT_TP)數(shù)據(jù)鏈接。
[0057]智能卡服務(wù)器下發(fā)I條數(shù)據(jù)短信,數(shù)據(jù)短信中包含兩條由安全通道協(xié)議(SecureChannel Protocol, SCP) 80封裝的推送PUSH指令,即PUSH[for承載獨立協(xié)議(BearerIndependent Protocol, BIP)]指令和 PUSH[for CAT_TP]指令。Java 智能卡收到下發(fā)的數(shù)據(jù)短信后,Java智能卡首先處理PUSH [for BIP]指令,具體為由Java智能卡向該Java智能卡所在終端發(fā)送打開通道Open Channel指令,然后該Java智能卡所在終端開啟Java智能卡與該Java智能卡所在終端之間的BIP通道。在BIP通道打開之后,Java智能卡將PUSH[for CAT_TP]指令中的關(guān)于終端與智能卡服務(wù)器之間的通信方式以及智能卡服務(wù)器的互聯(lián)網(wǎng)協(xié)議(Internet Protocol, IP)地址等信息通過BIP通道發(fā)送給終端,終端根據(jù)終端與智能卡服務(wù)器之間的通信方式以及智能卡服務(wù)器的互聯(lián)網(wǎng)協(xié)議(Internet Protocol,IP)地址等信息與智能卡服務(wù)器建立特定承載通道(如用戶數(shù)據(jù)包協(xié)議(User DatagramProtocol, UDP)通道等)。然后智能卡發(fā)起CAT_TP數(shù)據(jù)鏈接請求與智能卡服務(wù)器建立數(shù)據(jù)鏈接,數(shù)據(jù)鏈接請求用于告知智能卡服務(wù)器Java智能卡開啟CAT_TP數(shù)據(jù)鏈接;智能卡服務(wù)器根據(jù)數(shù)據(jù)鏈接請求與Java智能卡建立CAT_TP數(shù)據(jù)鏈接??梢岳斫獾氖牵揅AT_TP數(shù)據(jù)鏈接請求通過BIP通道發(fā)送到終端中,然后終端通過特定承載通道將該CAT_TP數(shù)據(jù)鏈接請求發(fā)送到智能卡服務(wù)器上。
[0058]102,智能卡服務(wù)器在CAT_TP數(shù)據(jù)鏈接上向Java智能卡發(fā)送采用雙層封裝的存儲數(shù)據(jù)STORE DATA指令,其中雙層封裝包括SCP02和SCP80,采用雙層封裝的STORE DATA指令中攜帶個人化數(shù)據(jù)。
[0059]其中,本實施例中的個人化數(shù)據(jù)為OTA數(shù)據(jù)。個人化數(shù)據(jù)存儲在ST0REDATA指令中的Data字段中。當(dāng)STORE DATA指令采用雙層封裝,則可以看作個人化數(shù)據(jù)也采用雙層封裝。
[0060]雙層封裝的STORE DATA指令生成的過程包括:智能卡服務(wù)器接收第三方服務(wù)器發(fā)送的采用SCP02封裝的STORE DATA指令;然后智能卡服務(wù)器對采用SCP02封裝的STOREDATA指令繼續(xù)采用SCP80進(jìn)行封裝,得到采用雙層封裝的STORE DATA指令。相當(dāng)于在采用SCP02封裝的基礎(chǔ)上加了一層保護(hù)膜(SCP80)。需要說明的是,該SCP02為第三方服務(wù)器與Java智能卡中的第一 SSD之間進(jìn)行傳輸保密數(shù)據(jù)的協(xié)議。
[0061]智能卡服務(wù)器向Java智能卡發(fā)送個人化數(shù)據(jù),可以實現(xiàn)智能卡服務(wù)器與Java智能卡的雙向認(rèn)證,保證數(shù)據(jù)的完整性、機(jī)密性。其中,個人化數(shù)據(jù)最終到Java智能卡的第一SSD 中。
[0062]值得說明的是,本實施例中的智能卡服務(wù)器可以為運營商管控的遠(yuǎn)程服務(wù)器。Java智能卡包括一個ISD和該ISD相關(guān)聯(lián)的至少一個SSD。Java智能卡中的ISD為運營商管控的安全域。Java智能卡中的第一 SSD為第三方應(yīng)用商管控的域。這里的第一 SSD為Java智能卡中的任意一個SSD。其中,ISD可以管理至少一個SSD,例如創(chuàng)建SSD、刪除SSD、鎖定SSD和解鎖SSD等。但I(xiàn)SD在不知道SSD的密鑰的情況下,無法獲取SSD內(nèi)的卡片應(yīng)用的數(shù)據(jù)(如SCP02的密鑰集)。
[0063]本發(fā)明實施例提供的一種數(shù)據(jù)傳輸?shù)姆椒?通過智能卡服務(wù)器與Java智能卡建立卡應(yīng)用工具協(xié)議CAT_TP數(shù)據(jù)鏈接;智能卡服務(wù)器在CAT_TP數(shù)據(jù)鏈接上向Java智能卡發(fā)送采用雙層封裝的存儲數(shù)據(jù)STORE DATA指令,其中雙層封裝包括安全通道協(xié)議SCP02和SCP80,采用雙層封裝的STORE DATA指令中攜帶個人化數(shù)據(jù)?,F(xiàn)有技術(shù)中智能卡服務(wù)器都是以明文方式接收第三方服務(wù)器的應(yīng)用個人化數(shù)據(jù),在采用SMS-PP方式自行組建應(yīng)用個人化數(shù)據(jù),而無法直接透傳第三方服務(wù)器加密封裝的應(yīng)用個人化數(shù)據(jù),所以與現(xiàn)有技術(shù)相比,本發(fā)明實施例采用SCP80對第三方服務(wù)器發(fā)送的采用SCP02封裝的數(shù)據(jù)進(jìn)行再次封裝然后傳輸保護(hù),從而對第三方個人化數(shù)據(jù)提供隱私保護(hù),即提高第三方服務(wù)器提供的與Java智能卡之間的OTA數(shù)據(jù)安全性。
[0064]可選地,作為另一個實施例,Java智能卡與第三方服務(wù)器之間約定SCP02的密鑰集的過程包括:在步驟101之前,智能卡服務(wù)器將接收第三方服務(wù)器發(fā)送的初始化更新INITIALIZE UPDATE指令,INITIALIZE UPDATE指令用于表示第三方服務(wù)器與Java智能卡協(xié)商SCP02的會話密鑰數(shù)據(jù),然后執(zhí)行步驟101。在智能卡服務(wù)器建立CAT_TP數(shù)據(jù)鏈接之后,通過CAT_TP數(shù)據(jù)鏈接將封裝SCP80的INITIALIZE UPDATE指令發(fā)送給Java智能卡。其中,該封裝SCP80的INITIALIZE UPDATE指令中攜帶的工具應(yīng)用索引TAR (TookitApplication Reference)值參數(shù)指向第一 SSD,故Java智能卡調(diào)用ISD采用SCP80進(jìn)行對該封裝SCP80的INITIALIZE UPDATE指令進(jìn)行解封裝,然后將解封裝之后的INITIALIZEUPDATE指令發(fā)送給第一 SSD。第一 SSD對該INITIALIZE UPDATE指令進(jìn)行處理,生成初始化響應(yīng)指令,并調(diào)用ISD將該初始化響應(yīng)指令進(jìn)行SCP80的封裝,然后發(fā)送給智能卡服務(wù)器,智能卡服務(wù)器再將該初始化響應(yīng)指令使用SCP80進(jìn)行解封裝,然后轉(zhuǎn)發(fā)給第三方服務(wù)器。然后智能卡服務(wù)器將接收第三方服務(wù)器發(fā)送的外部鑒權(quán)EXTERNAL AUTHENTICATE指令發(fā)送給第一 SSD (智能卡服務(wù)器對接收的EXTERNAL AUTHENTICATE指令進(jìn)行SCP80封裝,然后發(fā)送給Java智能卡,Java智能卡根據(jù)TAR值參數(shù)調(diào)用ISD將采用SCP80解封裝之后的EXTERNAL AUTHENTICATE指令通過CAT_TP數(shù)據(jù)鏈接發(fā)送給第一 SSD),EXTERNALAUTHENTICATE指令用于完成Java智能卡與第三方服務(wù)器的互相認(rèn)證以及協(xié)商采用SCP02的傳輸數(shù)據(jù)的安全級別。
[0065]可選的,作為另一個實施例,在步驟102之前,智能卡服務(wù)器接收第三方服務(wù)器發(fā)送的攜帶目標(biāo)應(yīng)用程序Applet的標(biāo)識的安裝【個人化】INSTALL【for personalization】指令,INSTALL【for personalization】指令用于指示Java智能卡將個人化數(shù)據(jù)轉(zhuǎn)發(fā)給目標(biāo)Applet ;然后通過CAT_TP數(shù)據(jù)鏈接向Java智能卡(第一 SSD)發(fā)送INSTALL【forpersonalization】指令。進(jìn)一步可選的,第三方服務(wù)器向智能卡服務(wù)器發(fā)送的INSTALL【for personalization】指令采用SCP02封裝。Java智能卡在接收到采用SCP02封裝的INSTALL【for personalization]指令之后,對采用SCP02封裝的INSTALL【forpersonalization]指令進(jìn)行再次封裝(SCP80),然后智能卡服務(wù)器將該采用雙層封裝的INSTALL【for personalization】指令發(fā)送給Java智能卡。Java智能卡在接收到采用雙層封裝的INSTALL【for personalization】指令之后,調(diào)用ISD采用SCP80等采用雙層封裝的INSTALL【for personalization】指令進(jìn)行解封裝,得到采用SCP02封裝的INSTALL【for personalization】指令。然后Java智能卡將采用SCP02封裝的INSTALL【for personalization】指令發(fā)送給第一 SSD。第一 SSD 在接收到 INSTALL【forpersonalization】指令之后,對米用 SCP02 封裝的 INSTALL【for personalization】指令進(jìn)行SCP02的解封裝,并向智能卡服務(wù)器發(fā)送響應(yīng)指令,其中,響應(yīng)指令用于告知智能卡服務(wù)器Java智能卡(第一 SSD)已接收INSTALL【for personalization】指令??梢岳斫獾氖?,該響應(yīng)指令為采用雙層封裝的指令。智能卡服務(wù)器在接收到第一 SSD發(fā)送的采用雙層封裝的響應(yīng)指令之后,對采用雙層封裝的響應(yīng)指令進(jìn)行SCP80的解封裝,然后向第三方服務(wù)器發(fā)送采用SCP02封裝的響應(yīng)指令。
[0066]在智能卡服務(wù)器在CAT_TP數(shù)據(jù)鏈接上向Java智能卡發(fā)送采用雙層封裝的STOREDATA指令之后,第一 SSD向Java智能卡發(fā)送解封裝請求以及采用雙層封裝的STORE DATA指令,解封裝請求用于指示Java智能卡調(diào)用ISD使用SCP80對采用雙層封裝的STORE DATA指令進(jìn)行解封裝Java智能卡接收解封裝請求之后,調(diào)用ISD使用SCP80對采用雙層封裝的STORE DATA指令進(jìn)行解封裝,得到采用SCP02封裝的STORE DATA指令Java智能卡將采用SCP02封裝的STORE DATA指令發(fā)送給第一 SSD ;第一 SSD采用SCP02對采用SCP02封裝的STORE DATA指令進(jìn)行解封裝,得到STORE DATA指令;第一 SSD從STORE DATA指令中獲取個人化數(shù)據(jù)。
[0067]可選的,作為另一實施例,在步驟102之后,也就是第一 SSD (目標(biāo)Applet)正常使用個人化數(shù)據(jù)之后,第一 SSD向智能卡服務(wù)器發(fā)送個人化結(jié)果,即智能卡服務(wù)器接收第一SSD發(fā)送的個人化結(jié)果,其中,個人化結(jié)果用于說明第一 SSD已經(jīng)正常使用個人化數(shù)據(jù)對應(yīng)的應(yīng)用。然后智能卡服務(wù)器斷開與第一 SSD之間的CAT_TP數(shù)據(jù)鏈接,并將個人化結(jié)果發(fā)送
給第三方服務(wù)器。
[0068]下面結(jié)合圖2描述本發(fā)明實施例。[0069]201,智能卡服務(wù)器向第三方服務(wù)器發(fā)送應(yīng)用個人化請求。
[0070]應(yīng)用個人化請求用于指示第三方服務(wù)器發(fā)送個人化數(shù)據(jù)。其中應(yīng)用個人化請求中至少包括個人化數(shù)據(jù)的標(biāo)識。本實施例中的智能卡服務(wù)器為運營商所屬的遠(yuǎn)程服務(wù)器。個人化數(shù)據(jù)可以為手機(jī)銀行應(yīng)用、銀行錢包應(yīng)用等。
[0071]另外,需要說明的是,本實施例中的應(yīng)用個人化請求可以是智能卡服務(wù)器主動向第三方服務(wù)器發(fā)送的應(yīng)用個人化請求;也可以是Java智能卡主動發(fā)送的應(yīng)用個人化請求,則需要Java智能卡將應(yīng)用個人化請求發(fā)送給智能卡服務(wù)器,然后由智能卡服務(wù)器向第三方服務(wù)器發(fā)送應(yīng)用個人化請求。
[0072]202,第三方服務(wù)器接收該應(yīng)用個人化請求之后,向智能卡服務(wù)器發(fā)送應(yīng)用個人化腳本。
[0073]第三方服務(wù)器根據(jù)應(yīng)用個人化請求中的個人化數(shù)據(jù)的標(biāo)識,獲得該個人化數(shù)據(jù)的標(biāo)識對應(yīng)的個人化數(shù)據(jù),然后將該個人化數(shù)據(jù)放入STORE DATA指令中的Data字段中,將STORE DATA指令采用SCP02進(jìn)行封裝,從而得到采用SCP02封裝的STORE DATA指令。所謂的SCP02封裝,就是第三方服務(wù)器與Java智能卡中的第一 SSD通過傳輸INITIALIZEUPDATE指令和EXTERNAL AUTHENTICATE指令來完成SCP02初始化,并用SCP02的數(shù)據(jù)加密密鑰(Data Encryption Key,DEK)密鑰加密雙方之間傳輸?shù)臄?shù)據(jù)(如STORE DATA指令)。
[0074]需要說明的是,當(dāng)智能卡服務(wù)器主動向第三方服務(wù)器發(fā)送應(yīng)用個人化請求時,在第三方服務(wù)器發(fā)送的應(yīng)用個人化腳本中攜帶INITIALIZE UPDATE指令;
[0075]當(dāng)?shù)谌椒?wù)器主動智能卡服務(wù)器發(fā)送應(yīng)用個人化請求時,該應(yīng)用個人化請求中攜帶 INITIALIZE UPDATE 指令。
[0076]203,智能卡服務(wù)器建立與Java智能卡之間的CAT_TP數(shù)據(jù)鏈接。
[0077]204,智能卡服務(wù)器通過CAT_TP數(shù)據(jù)鏈接向Java智能卡發(fā)送INITIALIZE UPDATE指令。
[0078]可以理解的是,智能卡服務(wù)器將接收INITIALIZE UPDATE指令進(jìn)行SCP80封裝,然后將采用SCP80封裝之后的INITIALIZE UPDATE指令發(fā)送給Java智能卡。
[0079]205, Java智能卡接收到INITIALIZE UPDATE指令之后,向智能卡服務(wù)器發(fā)送初始化響應(yīng)指令。
[0080]Java智能卡在接收到采用SCP80封裝之后的INITIALIZE UPDATE指令之后,調(diào)用ISD采用SCP80對該INITIALIZE UPDATE指令進(jìn)行解封裝,然后將解封裝之后的INITIALIZEUPDATE指令發(fā)送給第一 SSD。
[0081]另外,該初始化響應(yīng)指令已采用SCP80進(jìn)行封裝。
[0082]206,智能卡服務(wù)器接收該初始化響應(yīng)指令,將初始化響應(yīng)指令發(fā)送給第三方服務(wù)器。
[0083]可以理解的是,智能卡服務(wù)器將接收的采用SCP80封裝的初始化響應(yīng)指令進(jìn)行解封裝,然后將解封裝之后的初始化響應(yīng)指令發(fā)送給第三方服務(wù)器。
[0084]207,第三方服務(wù)器向智能卡服務(wù)器發(fā)送EXTERNAL AUTHENTICATE指令。
[0085]208,智能卡服務(wù)器通過CAT_TP數(shù)據(jù)鏈接向Java智能卡發(fā)送EXTERNALAUTHENTICATE 指令。
[0086]同樣的,智能卡服務(wù)器將接收的EXTERNAL AUTHENTICATE指令進(jìn)行SCP80封裝,然后將封裝之后的EXTERNAL AUTHENTICATE指令發(fā)送給Java智能卡。
[0087]209,Java智能卡接收EXTERNAL AUTHENTICATE指令之后,生成外部鑒權(quán)響應(yīng),并發(fā)送給智能卡服務(wù)器。
[0088]同樣的,Java智能卡在接收到EXTERNAL AUTHENTICATE指令繼續(xù)調(diào)用ISD采用SCP80進(jìn)行解封裝,在此不再詳細(xì)敘述。以及Java智能卡向智能卡服務(wù)器發(fā)送的外部鑒權(quán)響應(yīng)采用了 SCP80封裝。
[0089]210,智能卡服務(wù)器將接收的外部鑒權(quán)響應(yīng)發(fā)送給第三方服務(wù)器。
[0090]211,第三方服務(wù)器向智能卡服務(wù)器發(fā)送攜帶目標(biāo)Applet的標(biāo)識的加密的INSTALL【for personalization】指令。
[0091]該INSTALL【for personalization】指令已米用 SCP02 進(jìn)行封裝。
[0092]212,智能卡服務(wù)器將該INSTALL【for personalization】指令進(jìn)行SCP80封裝,然后向Java智能卡發(fā)送采用雙層封裝的INSTALL【for personalization】指令。
[0093]213, Java智能卡接收到該INSTALL【for personalization】指令之后,向智能卡服務(wù)器發(fā)送響應(yīng)指令。
[0094]Java智能卡接收到該INSTALL【for personalization】指令之后,首先調(diào)用ISD采用SCP80對采用雙層封裝的INSTALL【for personalization】指令進(jìn)行解封裝,得到采用SCP02封裝的INSTALL【for personalization】指令,再將采用SCP02封裝的INSTALL【for personalization】指令發(fā)送給第一 SSD。第一 SSD采用SCP02將采用SCP02封裝的INSTALL【for personalization】指令進(jìn)行解封裝,得到 INSTALL【for personalization】指令。然后Java智能卡生成響應(yīng)指令。
[0095]可以理解的是,第一 SSD對生成的響應(yīng)指令采用SCP02進(jìn)行封裝,然后ISD對采用SCP02的響應(yīng)指令繼續(xù)采用SCP80進(jìn)行封裝。然后Java智能卡的發(fā)送模塊將該進(jìn)行兩次封裝的響應(yīng)指令發(fā)送給智能卡服務(wù)器。
[0096]需要說明的是,之后Java智能卡與第三方服務(wù)器進(jìn)行交互的數(shù)據(jù)(他們之間傳輸?shù)臄?shù)據(jù)均需要經(jīng)過智能卡服務(wù)器進(jìn)行再次封裝)均進(jìn)行兩次封裝(SCP80封裝以及SCP02封裝),之后不再重復(fù)描述。
[0097]214,智能卡服務(wù)器將該響應(yīng)指令發(fā)送給第三方服務(wù)器。
[0098]215,第三方服務(wù)器向智能卡服務(wù)器發(fā)送采用SCP02封裝的STORE DATA指令。
[0099]216,智能卡服務(wù)器向Java智能卡發(fā)送采用雙層封裝的STORE DATA指令。
[0100]217,Java智能卡將接收的采用雙層封裝的STORE DATA指令進(jìn)行處理,生成個人化結(jié)果,然后將該個人化結(jié)果發(fā)送給智能卡服務(wù)器。
[0101]Java智能卡對采用雙層封裝的STORE DATA指令進(jìn)行處理的過程可參照上述描述。在此不再一一贅述。 [0102]218,智能卡服務(wù)器接收個人化結(jié)果之后,斷開與Java智能卡之間的CAT_TP數(shù)據(jù)鏈接,并將該個人化結(jié)果發(fā)送給第三方服務(wù)器。
[0103]在本實施例的具體實現(xiàn)中,可以理解為智能卡服務(wù)器為運營商的遠(yuǎn)程服務(wù)器,第三方服務(wù)器為某業(yè)務(wù)對應(yīng)的服務(wù)器(比如,第三方服務(wù)器為手機(jī)銀行對應(yīng)的服務(wù)器)。在現(xiàn)有技術(shù)中,Java智能卡中對應(yīng)的SSD只有一個,并且該Java智能卡中的SSD對應(yīng)的應(yīng)用商在該Java智能卡出廠時已經(jīng)將對應(yīng)的個人化數(shù)據(jù)寫入Java智能卡中的SSD里,這樣,Java智能卡對應(yīng)的第三方應(yīng)用商是固定的,在這種情況下,第三方服務(wù)器與Java智能卡只能采用SMS-PP方式進(jìn)行OTA數(shù)據(jù)交互,并且第三方服務(wù)器與Java智能卡只是交互一些APDU指令。本發(fā)明實施例可以實現(xiàn)在Java智能卡中包括多個SSD,并且Java智能卡在出廠以后根據(jù)個人需要,第三方服務(wù)器將第三方應(yīng)用的個人化數(shù)據(jù)通過運營商的服務(wù)器(智能卡服務(wù)器)的SCP80安全通道傳輸給Java智能卡,從而實現(xiàn)了 Java智能卡能夠接收大數(shù)據(jù),以及接收數(shù)據(jù)的速率較快、延遲小以及丟包率低的問題。另外,采用本發(fā)明的實現(xiàn)方式,可以實現(xiàn)第三方服務(wù)器將加密(SCP02封裝)的個人化數(shù)據(jù)傳輸給智能卡服務(wù)器的同時,智能卡服務(wù)器在不獲取個人化數(shù)據(jù)內(nèi)容的情況下,對該個人化數(shù)據(jù)進(jìn)行再一次的加密(SCP80封裝),保證了個人化數(shù)據(jù)有效性的同時,也保證了個人化數(shù)據(jù)的安全性(對個人化數(shù)據(jù)進(jìn)行了雙重保險:SCP02封裝和SCP80封裝),即采用雙層安全通道技術(shù),保障第三方業(yè)務(wù)數(shù)據(jù)(0TA數(shù)據(jù))的傳輸安全,解決第三方業(yè)務(wù)數(shù)據(jù)明文泄露給傳輸方的實際問題。
[0104]實施例2
[0105]如圖3所示,本發(fā)明實施例提供一種數(shù)據(jù)傳輸?shù)难b置30,該裝置30包括:建立鏈接模塊301,發(fā)送模塊302。具體的,該裝置30可以為智能卡服務(wù)器,具體可以為運營商管控的遠(yuǎn)程服務(wù)器。
[0106]建立鏈接模塊301,用于與Java智能卡建立CAT_TP數(shù)據(jù)鏈接;
[0107]發(fā)送模塊302,用于在CAT_TP數(shù)據(jù)鏈接上向Java智能卡發(fā)送采用雙層封裝的存儲數(shù)據(jù)STORE DATA指令,其中雙層封裝包括安全通道協(xié)議SCP02和SCP80,采用雙層封裝的STORE DATA指令中攜帶個人化數(shù)據(jù)。
[0108]進(jìn)一步的,如圖4所示,本發(fā)明實施例還可以提供另一種數(shù)據(jù)傳輸?shù)难b置40。其中,該數(shù)據(jù)傳輸?shù)难b置40還包括:接收模塊303,處理模塊304,斷開鏈接模塊305。
[0109]進(jìn)一步的,在建立鏈接模塊301建立與Java智能卡之間的CAT_TP數(shù)據(jù)鏈接之前,接收模塊30接收第三方服務(wù)器發(fā)送的采用SCP02進(jìn)行封裝的ST0REDATA指令,然后處理模塊304對采用SCP02進(jìn)行封裝的STORE DATA指令繼續(xù)采用SCP80進(jìn)行封裝,得到采用雙層封裝的STORE DATA指令。
[0110]需要說明的是,Java智能卡包括主安全域ISD和ISD相關(guān)聯(lián)的至少一個附屬安全域SSD。進(jìn)一步的,在建立鏈接模塊301與Java智能卡建立CAT_TP數(shù)據(jù)鏈接之后,還包括:接收模塊303,還用于接收第三方服務(wù)器發(fā)送的INITIALIZE UPDATE指令和EXTERNALAUTHENTICATE指令,INITIALIZE UPDATE指令用于表示第三方服務(wù)器與Java智能卡協(xié)商SCP02的會話密鑰數(shù)據(jù),EXTERNAL AUTHENTICATE指令用于完成Java智能卡與第三方服務(wù)器的互相認(rèn)證以及協(xié)商采用SCP02的傳輸數(shù)據(jù)的安全級別。然后發(fā)送模塊302,還用于通過CAT_TP 數(shù)據(jù)鏈接向第一 SSDI 發(fā)送 NITIALIZE UPDATE 指令和 EXTERNAL AUTHENTICATE 指令。
[0111]進(jìn)一步的,在接收模塊303接收到采用雙層封裝的STORE DATA指令之前,接收模塊303,還用于接收第三方服務(wù)器發(fā)送的攜帶目標(biāo)應(yīng)用程序Applet的標(biāo)識的安裝【個人化】INSTALL【for personalization】指令,INSTALL【for personalization】指令用于指不第一 SSD將個人化數(shù)據(jù)轉(zhuǎn)發(fā)給目標(biāo)Applet ;接收J(rèn)ava智能卡發(fā)送的響應(yīng)指令,響應(yīng)指令用于告知智能卡服務(wù)器Java智能卡已接收INSTALL [for personalization】指令。
[0112]進(jìn)一步的,在發(fā)送模塊302向Java智能卡發(fā)送采用雙層封裝的STORE DATA指令之后,接收模塊303,還用于接收J(rèn)ava智能卡發(fā)送的個人化結(jié)果,個人化結(jié)果用于說明第一SSD已經(jīng)正常使用個人化數(shù)據(jù)對應(yīng)的應(yīng)用。
[0113]在接收模塊303接收到個人化結(jié)果之后,斷開鏈接模塊305斷開與Java智能卡(第一 SSD)之間的CAT_TP數(shù)據(jù)鏈接,然后發(fā)送模塊302將個人化結(jié)果發(fā)送給第三方服務(wù)器。
[0114]需要說明的是,圖3所示裝置30-圖4所示裝置40中,其各個模塊的具體實施過程以及各個模塊之間的信息交互等內(nèi)容,由于與本發(fā)明方法實施例基于同一發(fā)明構(gòu)思,可以參見方法實施例,在此不一一贅述。
[0115]本發(fā)明實施例實現(xiàn)了 Java智能卡采用雙層安全通道技術(shù),保障第三方業(yè)務(wù)數(shù)據(jù)的傳輸安全,解決第三方業(yè)務(wù)數(shù)據(jù)明文泄露給傳輸方的實際問題。
[0116]實施例3
[0117]如圖5所示,本發(fā)明實施例提供一種數(shù)據(jù)傳輸?shù)南到y(tǒng)50,該系統(tǒng)50包括:智能卡服務(wù)器501,Java智能卡502,第三方服務(wù)器503。
[0118]智能卡服務(wù)器501,用于與Java智能卡502建立CAT_TP數(shù)據(jù)鏈接數(shù)據(jù)鏈接上向Java智能卡發(fā)送采用雙層封裝的存儲數(shù)據(jù)STORE DATA指令,其中雙層封裝包括安全通道協(xié)議SCP02和SCP80,采用雙層封裝的STORE DATA指令中攜帶個人化數(shù)據(jù);接收第三方服務(wù)器503發(fā)送的采用SCP02封裝的STORE DATA指令,并采用SCP80對采用SCP02封裝的STORE DATA指令進(jìn)行繼續(xù)封裝,得到雙層封裝的STORE DATA指令。
[0119]Java智能卡502,用于接收與智能卡服務(wù)器501建立CAT_TP數(shù)據(jù)鏈接;接收在CAT_TP數(shù)據(jù)鏈接上接收智能卡服務(wù)器501發(fā)送的雙層封裝的STORE DATA指令。
[0120]第三方服務(wù)器503,用于對STORE DATA指令采用SCP02進(jìn)行封裝,得到采用SCP02封裝的STORE DATA指令,并將該采用SCP02封裝的STORE DATA指令發(fā)送給智能卡服務(wù)器501。
[0121]需要說明的是,圖5所示系統(tǒng)50中,其各個裝置的具體實施過程以及各個裝置之間的信息交互等內(nèi)容,由于與本發(fā)明方法實施例基于同一發(fā)明構(gòu)思,可以參見方法實施例,在此不一一贅述。
[0122]本發(fā)明實施例實現(xiàn)了 Java智能卡能夠接收大數(shù)據(jù),以及接收數(shù)據(jù)的速率較快、延遲小以及丟包率低的問題。同時采用雙層安全通道技術(shù),保障第三方業(yè)務(wù)數(shù)據(jù)的傳輸安全,解決第三方業(yè)務(wù)數(shù)據(jù)明文泄露給傳輸方的實際問題。
[0123]所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,僅以上述各功能模塊的劃分進(jìn)行舉例說明,實際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將裝置的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。上述描述的系統(tǒng),裝置和單元的具體工作過程,可以參考前述方法實施例中的對應(yīng)過程,在此不再贅述。
[0124]在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的系統(tǒng),裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述模塊或單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。[0125]所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
[0126]另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。
[0127]所述集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機(jī)可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機(jī)設(shè)備(可以是個人計算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)或處理器(processor)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(ROM, Read-Only Memory)、隨機(jī)存取存儲器(RAM, Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
[0128]以上所述,僅為本發(fā)明的【具體實施方式】,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本【技術(shù)領(lǐng)域】的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以所述權(quán)利要求的保護(hù)范圍為準(zhǔn)。
【權(quán)利要求】
1.一種數(shù)據(jù)傳輸?shù)姆椒ǎ涮卣髟谟?,包? 智能卡服務(wù)器與Java智能卡建立卡應(yīng)用工具協(xié)議CAT_TP數(shù)據(jù)鏈接; 所述智能卡服務(wù)器在所述CAT_TP數(shù)據(jù)鏈接上向所述Java智能卡發(fā)送采用雙層封裝的存儲數(shù)據(jù)STORE DATA指令,其中所述雙層封裝包括安全通道協(xié)議SCP02和SCP80,所述采用雙層封裝的STORE DATA指令中攜帶個人化數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)傳輸?shù)姆椒ǎ涮卣髟谟冢谒鲋悄芸ǚ?wù)器與Java智能卡建立卡應(yīng)用工具協(xié)議CAT_TP數(shù)據(jù)鏈接之前,所述方法還包括: 所述智能卡服務(wù)器接收第三方服務(wù)器發(fā)送的采用所述SCP02封裝的所述STORE DATA指令; 所述智能卡服務(wù)器對所述采用所述SCP02封裝的所述STORE DATA指令繼續(xù)采用所述SCP80進(jìn)行封裝,得到所述采用雙層封裝的STORE DATA指令。
3.根據(jù)權(quán)利要求1或2所述的數(shù)據(jù)傳輸?shù)姆椒?,其特征在于,所述Java智能卡包括主安全域ISD和所述ISD相關(guān)聯(lián)的至少一個附屬安全域SSD,在所述智能卡服務(wù)器與Java智能卡建立卡應(yīng)用工具協(xié)議CAT_TP數(shù)據(jù)鏈接之前,所述方法還包括: 所述智能卡服務(wù)器將接收所述第三方服務(wù)器發(fā)送的初始化更新INITIALIZE UPDATE指令,所述INITIALIZE UPDATE指令用于表示所述第三方服務(wù)器與所述Java智能卡協(xié)商所述SCP02的會話密鑰數(shù)據(jù); 在所述智能卡服務(wù)器與Java智能卡建立卡應(yīng)用工具協(xié)議CAT_TP數(shù)據(jù)鏈接之后,所述方法還包括: 所述智能卡服務(wù)器將接收的所述INITIALIZE UPDATE指令通過所述CAT_TP數(shù)據(jù)鏈接發(fā)送給所述第一 SSD ; 所述智能卡服務(wù)器接收所述第三方服務(wù)器發(fā)送的EXTERNAL AUTHENTICATE指令,所述EXTERNAL AUTHENTICATE指令用于完成所述Java智能卡與所述第三方服務(wù)器的互相認(rèn)證以及協(xié)商采用所述SCP02的傳輸數(shù)據(jù)的安全級別; 所述智能卡服務(wù)器將所述EXTERNAL AUTHENTICATE指令通過所述CAT_TP數(shù)據(jù)鏈接發(fā)送給所述第一 SSD。
4.根據(jù)權(quán)利要求3所述的數(shù)據(jù)傳輸?shù)姆椒?,其特征在于,在所述智能卡服?wù)器在所述CAT_TP數(shù)據(jù)鏈接上向所述Java智能卡發(fā)送采用雙層封裝的存儲數(shù)據(jù)STORE DATA指令之前,所述方法還包括: 所述智能卡服務(wù)器接收所述第三方服務(wù)器發(fā)送的攜帶目標(biāo)應(yīng)用程序Applet的標(biāo)識的安裝【個人化】INSTALL【for personalization】指令,所述 INSTALL【for personalization]指令用于指示所述第一 SSD將所述個人化數(shù)據(jù)轉(zhuǎn)發(fā)給所述目標(biāo)Applet ; 所述智能卡服務(wù)器通過所述CAT_TP數(shù)據(jù)鏈接向所述Java智能卡發(fā)送所述INSTALL【for personalization】指令; 所述智能卡服務(wù)器通過所述CAT_TP數(shù)據(jù)鏈接接收所述Java智能卡發(fā)送的響應(yīng)指令,所述響應(yīng)指令用于告知所述智能卡服務(wù)器所述Java智能卡已接收所述INSTALL【forpersonalization】指令; 所述智能卡服務(wù)器將接收的所述響應(yīng)指令發(fā)送給所述第三方服務(wù)器; 在所述智能卡服務(wù)器在所述CAT_TP數(shù)據(jù)鏈接上向所述Java智能卡發(fā)送采用雙層封裝的存儲數(shù)據(jù)STORE DATA指令之后,所述方法還包括: 所述第一 SSD向所述Java智能卡發(fā)送解封裝請求以及所述采用雙層封裝的STOREDATA指令,所述解封裝請求用于指示所述Java智能卡調(diào)用所述ISD使用所述SCP80對所述采用雙層封裝的STORE DATA指令進(jìn)行解封裝;所述Java智能卡接收所述解封裝請求之后,調(diào)用所述ISD使用所述SCP80對所述采用雙層封裝的STORE DATA指令進(jìn)行解封裝,得到采用所述SCP02封裝的STORE DATA指令;所述Java智能卡將所述采用所述SCP02封裝的STORE DATA指令發(fā)送給所述第一 SSD ;所述第一 SSD采用所述SCP02對所述采用所述SCP02封裝的STORE DATA指令進(jìn)行解封裝,得到所述STORE DATA指令; 所述第一 SSD從所述STORE DATA指令中獲取所述個人化數(shù)據(jù)。
5.根據(jù)權(quán)利要求4所述的數(shù)據(jù)傳輸?shù)姆椒ǎ涮卣髟谟?,在所述第一SSD從所述STOREDATA指令中獲取所述個人化數(shù)據(jù)之后,所述方法還包括: 所述智能卡服務(wù)器接收所述Java智能卡發(fā)送的個人化結(jié)果,所述個人化結(jié)果用于說明所述Java智能卡已經(jīng)正常使用所述個人化數(shù)據(jù)對應(yīng)的應(yīng)用; 所述智能卡服務(wù)器斷開與所述Java智能卡之間的所述CAT_TP數(shù)據(jù)鏈接,并將所述個人化結(jié)果發(fā)送給所述第三方服務(wù)器。
6.一種數(shù)據(jù)傳輸?shù)难b置,其特征在于,包括: 建立鏈接模塊,用于與Java智能卡建立卡應(yīng)用工具協(xié)議CAT_TP數(shù)據(jù)鏈接; 發(fā)送模塊,用于在CAT_TP數(shù)據(jù)鏈接上向所述Java智能卡發(fā)送采用雙層封裝的存儲數(shù)據(jù)STORE DATA指令,其中所述雙層封裝包括安全通道協(xié)議SCP02和SCP80,所述采用雙層封裝的STORE DATA指令中攜帶個人化數(shù)據(jù)。
7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)傳輸?shù)难b置,其特征在于,所述裝置還包括: 接收模塊,用于接收第三方服務(wù)器發(fā)送的采用所述SCP02進(jìn)行封裝的所述STORE DATA指令; 處理模塊,用于對所述采用所述SCP02進(jìn)行封裝的所述STORE DATA指令繼續(xù)采用所述SCP80進(jìn)行封裝,得到所述采用雙層封裝的STORE DATA指令。
8.根據(jù)權(quán)利要求7所述的數(shù)據(jù)傳輸?shù)难b置,其特征在于,所述Java智能卡包括主安全域ISD和所述ISD相關(guān)聯(lián)的至少一個附屬安全域SSD, 所述接收模塊,還用于接收所述第三方服務(wù)器發(fā)送的初始化更新INITIALIZE UPDATE指令和外部鑒權(quán)EXTERNAL AUTHENTICATE指令,所述INITIALIZE UPDATE指令用于表示所述第三方服務(wù)器與所述Java智能卡協(xié)商所述SCP02的會話密鑰數(shù)據(jù),所述EXTERNALAUTHENTICATE指令用于完成所述Java智能卡與所述第三方服務(wù)器的互相認(rèn)證以及協(xié)商采用所述SCP02的傳輸數(shù)據(jù)的安全級別; 所述發(fā)送模塊,還用于將所述EXTERNAL AUTHENTICATE指令通過所述CAT_TP數(shù)據(jù)鏈接發(fā)送給所述第一 SSD。
9.根據(jù)權(quán)利要求8所述的數(shù)據(jù)傳輸?shù)难b置,其特征在于, 所述接收模塊 ,還用于接收所述第三方服務(wù)器發(fā)送的攜帶目標(biāo)應(yīng)用程序Applet的標(biāo)識的安裝【個人化】INSTALL【for personalization]指令,所述INSTALL【forpersonalization】指令用于指示所述第一 SSD將所述個人化數(shù)據(jù)轉(zhuǎn)發(fā)給所述目標(biāo)Applet ;接收所述Java智能卡發(fā)送的響應(yīng)指令,所述響應(yīng)指令用于告知所述智能卡服務(wù)器所述Java智能卡已接收所述INSTALL【for personalization】指令; 所述發(fā)送模塊,還用于通過所述CAT_TP數(shù)據(jù)鏈接向所述Java智能卡發(fā)送所述INSTALL【for personalization】指令。
10.根據(jù)權(quán)利要求9所述的數(shù)據(jù)傳輸?shù)难b置,其特征在于, 所述接收模塊,還用于接收所述Java智能卡發(fā)送的個人化結(jié)果,所述個人化結(jié)果用于說明所述Java智能卡已經(jīng)正常使用所述個人化數(shù)據(jù)對應(yīng)的應(yīng)用; 所述裝置還包括: 斷開鏈接模塊,用于斷開與所述Java智能卡之間的所述CAT_TP數(shù)據(jù)鏈接; 所述發(fā)送模塊,還用于將所 述個人化結(jié)果發(fā)送給所述第三方服務(wù)器。
【文檔編號】H04L29/06GK103747019SQ201410049023
【公開日】2014年4月23日 申請日期:2014年2月12日 優(yōu)先權(quán)日:2014年2月12日
【發(fā)明者】季緒浩, 肖綠平, 徐燕, 張欣宇, 李紅五, 陳揚帆, 許海翔, 擺莉, 尹子棟, 張鵬 申請人:中國聯(lián)合網(wǎng)絡(luò)通信集團(tuán)有限公司