CN103747019B - 一种数据传输的方法及装置 - Google Patents
一种数据传输的方法及装置 Download PDFInfo
- Publication number
- CN103747019B CN103747019B CN201410049023.1A CN201410049023A CN103747019B CN 103747019 B CN103747019 B CN 103747019B CN 201410049023 A CN201410049023 A CN 201410049023A CN 103747019 B CN103747019 B CN 103747019B
- Authority
- CN
- China
- Prior art keywords
- data
- smart cards
- java smart
- intelligent card
- sent
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000005538 encapsulation Methods 0.000 claims abstract description 107
- 230000005540 biological transmission Effects 0.000 claims abstract description 28
- 238000013500 data storage Methods 0.000 claims abstract description 11
- 230000004044 response Effects 0.000 claims description 35
- 238000009434 installation Methods 0.000 claims description 7
- 230000008859 change Effects 0.000 claims description 3
- 238000004891 communication Methods 0.000 abstract description 6
- 230000003993 interaction Effects 0.000 abstract description 2
- 238000005516 engineering process Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 238000003860 storage Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000007789 sealing Methods 0.000 description 1
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开一种数据传输的方法及装置,涉及通信网络技术领域,用于解决智能卡服务器与Java智能卡进行OTA数据交互时,传输效率较低的问题。本发明实施例通过智能卡服务器与Java智能卡建立卡应用工具协议CAT_TP数据链接;智能卡服务器在CAT_TP数据链接上向Java智能卡发送采用双层封装的存储数据STORE DATA指令,其中双层封装包括安全通道协议SCP02和SCP80,采用双层封装的STORE DATA指令中携带个人化数据。本发明实施例提供的方案适于对OTA数据进行传输时采用。
Description
技术领域
本发明涉及通信网络技术领域,尤其涉及一种数据传输的方法及装置。
背景技术
目前对Java智能卡的数据来源主要有三种方式,第一种方式为对Java智能卡进行预置,一般在Java智能卡出厂时进行预置Java智能卡的数据;第二种方式为利用销售点(Point Of Sale,POS)终端下载Java智能卡的数据;第三种方式为利用空中下载(Over TheAir,OTA)技术下载Java智能卡的数据。
在对Java智能卡发送OTA数据信息时,一般采用第二种方式和第三种方式。其中,当Java智能卡需要接收大容量的OTA数据(如安装数据包、更新数据包等)时,可以采用第二种方式从POS终端中下载OTA数据。当第三方服务器需要向Java智能卡发送小容量的OTA数据(如删除指令、卸载指令等)时,可以采用第三种方式接收智能卡服务器转发第三方服务器发起的OTA数据。然而,第三方服务器以明文的方式向POS终端发送关于Java智能卡的OTA数据,再通过Java智能卡利用POS终端来下载OTA数据,从而降低了Java智能卡中OTA数据的安全性。
发明内容
本发明的实施例提供一种数据传输的方法及装置,用于解决为第三方服务器提供的与Java智能卡之间的OTA数据安全性较低的问题。
一方面,本发明的实施例提供一种数据传输的方法,包括:
智能卡服务器与Java智能卡建立卡应用工具协议CAT_TP数据链接;
所述智能卡服务器在所述CAT_TP数据链接上向所述Java智能卡发送采用双层封装的存储数据STORE DATA指令,其中所述双层封装包括安全通道协议SCP02和SCP80,所述采用双层封装的STORE DATA指令中携带个人化数据。
在本发明的另一种实施例中,在所述智能卡服务器与Java智能卡建立卡应用工具协议CAT_TP数据链接之前,所述方法还包括:
所述智能卡服务器接收第三方服务器发送的采用所述SCP02封装的所述STOREDATA指令;
所述智能卡服务器对所述采用所述SCP02封装的所述STORE DATA指令继续采用所述SCP80进行封装,得到所述采用双层封装的STORE DATA指令。
在本发明的另一种实施例中,所述Java智能卡包括主安全域ISD和所述ISD相关联的至少一个附属安全域SSD,在所述智能卡服务器与Java智能卡建立卡应用工具协议CAT_TP数据链接之前,所述方法还包括:
所述智能卡服务器将接收所述第三方服务器发送的初始化更新INITIALIZEUPDATE指令,所述INITIALIZE UPDATE指令用于表示所述第三方服务器与所述Java智能卡协商所述SCP02的会话密钥数据;
在所述智能卡服务器与Java智能卡建立卡应用工具协议CAT_TP数据链接之后,所述方法还包括:
所述智能卡服务器将接收的所述INITIALIZE UPDATE指令通过所述CAT_TP数据链接发送给所述第一SSD;
所述智能卡服务器接收所述第三方服务器发送的EXTERNAL AUTHENTICATE指令,所述EXTERNAL AUTHENTICATE指令用于完成所述Java智能卡与所述第三方服务器的互相认证以及协商采用所述SCP02的传输数据的安全级别;
所述智能卡服务器将所述EXTERNAL AUTHENTICATE指令通过所述CAT_TP数据链接发送给所述第一SSD。
在本发明的另一种实施例中,在所述智能卡服务器在所述CAT_TP数据链接上向所述Java智能卡发送采用双层封装的存储数据STORE DATA指令之前,所述方法还包括:
所述智能卡服务器接收所述第三方服务器发送的携带目标应用程序Applet的标识的安装【个人化】INSTALL【for personalization】指令,所述INSTALL【forpersonalization】指令用于指示所述第一SSD将所述个人化数据转发给所述目标Applet;
所述智能卡服务器通过所述CAT_TP数据链接向所述Java智能卡发送所述INSTALL【for personalization】指令;
所述智能卡服务器通过所述CAT_TP数据链接接收所述Java智能卡发送的响应指令,所述响应指令用于告知所述智能卡服务器所述Java智能卡已接收所述INSTALL【forpersonalization】指令;
所述智能卡服务器将接收的所述响应指令发送给所述第三方服务器;
在所述智能卡服务器在所述CAT_TP数据链接上向所述Java智能卡发送采用双层封装的存储数据STORE DATA指令之后,所述方法还包括:
所述第一SSD向所述Java智能卡发送解封装请求以及所述采用双层封装的STOREDATA指令,所述解封装请求用于指示所述Java智能卡调用所述ISD使用所述SCP80对所述采用双层封装的STORE DATA指令进行解封装;
所述Java智能卡接收所述解封装请求之后,调用所述ISD使用所述SCP80对所述采用双层封装的STORE DATA指令进行解封装,得到采用所述SCP02封装的STORE DATA指令;
所述Java智能卡将所述采用所述SCP02封装的STORE DATA指令发送给所述第一SSD;
所述第一SSD采用所述SCP02对所述采用所述SCP02封装的STORE DATA指令进行解封装,得到所述STORE DATA指令;
所述第一SSD从所述STORE DATA指令中获取所述个人化数据。
在本发明的另一种实施例中,在所述第一SSD从所述STORE DATA指令中获取所述个人化数据之后,所述方法还包括:
所述智能卡服务器接收所述Java智能卡发送的个人化结果,所述个人化结果用于说明所述Java智能卡已经正常使用所述个人化数据对应的应用;
所述智能卡服务器断开与所述Java智能卡之间的所述CAT_TP数据链接,并将所述个人化结果发送给所述第三方服务器。
另一方面,本发明的实施例提供一种数据传输的装置,包括:
建立链接模块,用于与Java智能卡建立卡应用工具协议CAT_TP数据链接;
发送模块,用于在CAT_TP数据链接上向所述Java智能卡发送采用双层封装的存储数据STORE DATA指令,其中所述双层封装包括安全通道协议SCP02和SCP80,所述采用双层封装的STORE DATA指令中携带个人化数据。
在本发明的另一种实施例中,所述装置还包括:
接收模块,用于接收第三方服务器发送的采用所述SCP02进行封装的所述STOREDATA指令;
处理模块,用于对所述采用所述SCP02进行封装的所述STORE DATA指令继续采用所述SCP80进行封装,得到所述采用双层封装的STORE DATA指令。
在本发明的另一种实施例中,所述Java智能卡包括主安全域ISD和所述ISD相关联的至少一个附属安全域SSD,
所述接收模块,还用于接收所述第三方服务器发送的初始化更新INITIALIZEUPDATE指令和外部鉴权EXTERNAL AUTHENTICATE指令,所述INITIALIZE UPDATE指令用于表示所述第三方服务器与所述Java智能卡协商所述SCP02的会话密钥数据,所述EXTERNALAUTHENTICATE指令用于完成所述Java智能卡与所述第三方服务器的互相认证以及协商采用所述SCP02的传输数据的安全级别;
所述发送模块,还用于将所述EXTERNAL AUTHENTICATE指令通过所述CAT_TP数据链接发送给所述第一SSD。
在本发明的另一种实施例中,所述接收模块,还用于接收所述第三方服务器发送的携带目标应用程序Applet的标识的安装【个人化】INSTALL【for personalization】指令,所述INSTALL【for personalization】指令用于指示所述第一SSD将所述个人化数据转发给所述目标Applet;接收所述Java智能卡发送的响应指令,所述响应指令用于告知所述智能卡服务器所述Java智能卡已接收所述INSTALL【for personalization】指令;
所述发送模块,还用于通过所述CAT_TP数据链接向所述Java智能卡发送所述INSTALL【for personalization】指令。
在本发明的另一种实施例中,所述接收模块,还用于接收所述Java智能卡发送的个人化结果,所述个人化结果用于说明所述Java智能卡已经正常使用所述个人化数据对应的应用;
所述装置还包括:
断开链接模块,用于断开与所述Java智能卡之间的所述CAT_TP数据链接;
所述发送模块,还用于将所述个人化结果发送给所述第三方服务器。
本发明实施例提供的一种数据传输的方法及装置,通过智能卡服务器与Java智能卡建立卡应用工具协议CAT_TP数据链接;智能卡服务器在CAT_TP数据链接上向Java智能卡发送采用双层封装的存储数据STORE DATA指令,其中双层封装包括安全通道协议SCP02和SCP80,采用双层封装的STORE DATA指令中携带个人化数据。与现有技术中第三方服务器以明文的方式向POS终端发送关于Java智能卡的OTA数据,再通过Java智能卡利用POS终端来下载OTA数据,从而降低了Java智能卡中OTA数据的安全性的问题相比,本发明实施例中在智能卡服务器与Java智能卡建立CAT_TP数据链接之后,通过在CAT_TP数据链接上进行两次加密的传输数据相比,可以提高第三方服务器提供的与Java智能卡之间的OTA数据安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据传输的方法的流程图;
图2为本发明实施例提供的另一种数据传输的方法的流程图;
图3为本发明实施例提供的一种数据传输的装置的结构示意图;
图4为本发明实施例提供的另一种数据传输的装置的结构示意图;
图5为本发明实施例提供的一种数据传输的系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
如图1所示,本发明实施例提供一种数据传输的方法,具体如下:
101,智能卡服务器与Java智能卡建立卡应用工具协议(Card ApplicationTookit_Transfer Protocol,CAT_TP)数据链接。
智能卡服务器下发1条数据短信,数据短信中包含两条由安全通道协议(SecureChannel Protocol,SCP)80封装的推送PUSH指令,即PUSH[for承载独立协议(BearerIndependent Protocol,BIP)]指令和PUSH[for CAT_TP]指令。Java智能卡收到下发的数据短信后,Java智能卡首先处理PUSH[for BIP]指令,具体为由Java智能卡向该Java智能卡所在终端发送打开通道Open Channel指令,然后该Java智能卡所在终端开启Java智能卡与该Java智能卡所在终端之间的BIP通道。在BIP通道打开之后,Java智能卡将PUSH[for CAT_TP]指令中的关于终端与智能卡服务器之间的通信方式以及智能卡服务器的互联网协议(Internet Protocol,IP)地址等信息通过BIP通道发送给终端,终端根据终端与智能卡服务器之间的通信方式以及智能卡服务器的互联网协议(Internet Protocol,IP)地址等信息与智能卡服务器建立特定承载通道(如用户数据包协议(User Datagram Protocol,UDP)通道等)。然后智能卡发起CAT_TP数据链接请求与智能卡服务器建立数据链接,数据链接请求用于告知智能卡服务器Java智能卡开启CAT_TP数据链接;智能卡服务器根据数据链接请求与Java智能卡建立CAT_TP数据链接。可以理解的是,该CAT_TP数据链接请求通过BIP通道发送到终端中,然后终端通过特定承载通道将该CAT_TP数据链接请求发送到智能卡服务器上。
102,智能卡服务器在CAT_TP数据链接上向Java智能卡发送采用双层封装的存储数据STORE DATA指令,其中双层封装包括SCP02和SCP80,采用双层封装的STORE DATA指令中携带个人化数据。
其中,本实施例中的个人化数据为OTA数据。个人化数据存储在STOREDATA指令中的Data字段中。当STORE DATA指令采用双层封装,则可以看作个人化数据也采用双层封装。
双层封装的STORE DATA指令生成的过程包括:智能卡服务器接收第三方服务器发送的采用SCP02封装的STORE DATA指令;然后智能卡服务器对采用SCP02封装的STORE DATA指令继续采用SCP80进行封装,得到采用双层封装的STORE DATA指令。相当于在采用SCP02封装的基础上加了一层保护膜(SCP80)。需要说明的是,该SCP02为第三方服务器与Java智能卡中的第一SSD之间进行传输保密数据的协议。
智能卡服务器向Java智能卡发送个人化数据,可以实现智能卡服务器与Java智能卡的双向认证,保证数据的完整性、机密性。其中,个人化数据最终到Java智能卡的第一SSD中。
值得说明的是,本实施例中的智能卡服务器可以为运营商管控的远程服务器。Java智能卡包括一个ISD和该ISD相关联的至少一个SSD。Java智能卡中的ISD为运营商管控的安全域。Java智能卡中的第一SSD为第三方应用商管控的域。这里的第一SSD为Java智能卡中的任意一个SSD。其中,ISD可以管理至少一个SSD,例如创建SSD、删除SSD、锁定SSD和解锁SSD等。但ISD在不知道SSD的密钥的情况下,无法获取SSD内的卡片应用的数据(如SCP02的密钥集)。
本发明实施例提供的一种数据传输的方法,通过智能卡服务器与Java智能卡建立卡应用工具协议CAT_TP数据链接;智能卡服务器在CAT_TP数据链接上向Java智能卡发送采用双层封装的存储数据STORE DATA指令,其中双层封装包括安全通道协议SCP02和SCP80,采用双层封装的STORE DATA指令中携带个人化数据。现有技术中智能卡服务器都是以明文方式接收第三方服务器的应用个人化数据,在采用SMS-PP方式自行组建应用个人化数据,而无法直接透传第三方服务器加密封装的应用个人化数据,所以与现有技术相比,本发明实施例采用SCP80对第三方服务器发送的采用SCP02封装的数据进行再次封装然后传输保护,从而对第三方个人化数据提供隐私保护,即提高第三方服务器提供的与Java智能卡之间的OTA数据安全性。
可选地,作为另一个实施例,Java智能卡与第三方服务器之间约定SCP02的密钥集的过程包括:在步骤101之前,智能卡服务器将接收第三方服务器发送的初始化更新INITIALIZE UPDATE指令,INITIALIZE UPDATE指令用于表示第三方服务器与Java智能卡协商SCP02的会话密钥数据,然后执行步骤101。在智能卡服务器建立CAT_TP数据链接之后,通过CAT_TP数据链接将封装SCP80的INITIALIZE UPDATE指令发送给Java智能卡。其中,该封装SCP80的INITIALIZE UPDATE指令中携带的工具应用索引TAR(Tookit ApplicationReference)值参数指向第一SSD,故Java智能卡调用ISD采用SCP80进行对该封装SCP80的INITIALIZE UPDATE指令进行解封装,然后将解封装之后的INITIALIZE UPDATE指令发送给第一SSD。第一SSD对该INITIALIZE UPDATE指令进行处理,生成初始化响应指令,并调用ISD将该初始化响应指令进行SCP80的封装,然后发送给智能卡服务器,智能卡服务器再将该初始化响应指令使用SCP80进行解封装,然后转发给第三方服务器。然后智能卡服务器将接收第三方服务器发送的外部鉴权EXTERNAL AUTHENTICATE指令发送给第一SSD(智能卡服务器对接收的EXTERNAL AUTHENTICATE指令进行SCP80封装,然后发送给Java智能卡,Java智能卡根据TAR值参数调用ISD将采用SCP80解封装之后的EXTERNAL AUTHENTICATE指令通过CAT_TP数据链接发送给第一SSD),EXTERNAL AUTHENTICATE指令用于完成Java智能卡与第三方服务器的互相认证以及协商采用SCP02的传输数据的安全级别。
可选的,作为另一个实施例,在步骤102之前,智能卡服务器接收第三方服务器发送的携带目标应用程序Applet的标识的安装【个人化】INSTALL【for personalization】指令,INSTALL【for personalization】指令用于指示Java智能卡将个人化数据转发给目标Applet;然后通过CAT_TP数据链接向Java智能卡(第一SSD)发送INSTALL【forpersonalization】指令。进一步可选的,第三方服务器向智能卡服务器发送的INSTALL【forpersonalization】指令采用SCP02封装。Java智能卡在接收到采用SCP02封装的INSTALL【for personalization】指令之后,对采用SCP02封装的INSTALL【for personalization】指令进行再次封装(SCP80),然后智能卡服务器将该采用双层封装的INSTALL【forpersonalization】指令发送给Java智能卡。Java智能卡在接收到采用双层封装的INSTALL【for personalization】指令之后,调用ISD采用SCP80等采用双层封装的INSTALL【forpersonalization】指令进行解封装,得到采用SCP02封装的INSTALL【forpersonalization】指令。然后Java智能卡将采用SCP02封装的INSTALL【forpersonalization】指令发送给第一SSD。第一SSD在接收到INSTALL【for personalization】指令之后,对采用SCP02封装的INSTALL【for personalization】指令进行SCP02的解封装,并向智能卡服务器发送响应指令,其中,响应指令用于告知智能卡服务器Java智能卡(第一SSD)已接收INSTALL【for personalization】指令。可以理解的是,该响应指令为采用双层封装的指令。智能卡服务器在接收到第一SSD发送的采用双层封装的响应指令之后,对采用双层封装的响应指令进行SCP80的解封装,然后向第三方服务器发送采用SCP02封装的响应指令。
在智能卡服务器在CAT_TP数据链接上向Java智能卡发送采用双层封装的STOREDATA指令之后,第一SSD向Java智能卡发送解封装请求以及采用双层封装的STORE DATA指令,解封装请求用于指示Java智能卡调用ISD使用SCP80对采用双层封装的STORE DATA指令进行解封装;Java智能卡接收解封装请求之后,调用ISD使用SCP80对采用双层封装的STOREDATA指令进行解封装,得到采用SCP02封装的STORE DATA指令;Java智能卡将采用SCP02封装的STORE DATA指令发送给第一SSD;第一SSD采用SCP02对采用SCP02封装的STORE DATA指令进行解封装,得到STORE DATA指令;第一SSD从STORE DATA指令中获取个人化数据。
可选的,作为另一实施例,在步骤102之后,也就是第一SSD(目标Applet)正常使用个人化数据之后,第一SSD向智能卡服务器发送个人化结果,即智能卡服务器接收第一SSD发送的个人化结果,其中,个人化结果用于说明第一SSD已经正常使用个人化数据对应的应用。然后智能卡服务器断开与第一SSD之间的CAT_TP数据链接,并将个人化结果发送给第三方服务器。
下面结合图2描述本发明实施例。
201,智能卡服务器向第三方服务器发送应用个人化请求。
应用个人化请求用于指示第三方服务器发送个人化数据。其中应用个人化请求中至少包括个人化数据的标识。本实施例中的智能卡服务器为运营商所属的远程服务器。个人化数据可以为手机银行应用、银行钱包应用等。
另外,需要说明的是,本实施例中的应用个人化请求可以是智能卡服务器主动向第三方服务器发送的应用个人化请求;也可以是Java智能卡主动发送的应用个人化请求,则需要Java智能卡将应用个人化请求发送给智能卡服务器,然后由智能卡服务器向第三方服务器发送应用个人化请求。
202,第三方服务器接收该应用个人化请求之后,向智能卡服务器发送应用个人化脚本。
第三方服务器根据应用个人化请求中的个人化数据的标识,获得该个人化数据的标识对应的个人化数据,然后将该个人化数据放入STORE DATA指令中的Data字段中,将STORE DATA指令采用SCP02进行封装,从而得到采用SCP02封装的STORE DATA指令。所谓的SCP02封装,就是第三方服务器与Java智能卡中的第一SSD通过传输INITIALIZE UPDATE指令和EXTERNAL AUTHENTICATE指令来完成SCP02初始化,并用SCP02的数据加密密钥(DataEncryption Key,DEK)密钥加密双方之间传输的数据(如STORE DATA指令)。
需要说明的是,当智能卡服务器主动向第三方服务器发送应用个人化请求时,在第三方服务器发送的应用个人化脚本中携带INITIALIZE UPDATE指令;
当第三方服务器主动智能卡服务器发送应用个人化请求时,该应用个人化请求中携带INITIALIZE UPDATE指令。
203,智能卡服务器建立与Java智能卡之间的CAT_TP数据链接。
204,智能卡服务器通过CAT_TP数据链接向Java智能卡发送INITIALIZE UPDATE指令。
可以理解的是,智能卡服务器将接收INITIALIZE UPDATE指令进行SCP80封装,然后将采用SCP80封装之后的INITIALIZE UPDATE指令发送给Java智能卡。
205,Java智能卡接收到INITIALIZE UPDATE指令之后,向智能卡服务器发送初始化响应指令。
Java智能卡在接收到采用SCP80封装之后的INITIALIZE UPDATE指令之后,调用ISD采用SCP80对该INITIALIZE UPDATE指令进行解封装,然后将解封装之后的INITIALIZEUPDATE指令发送给第一SSD。
另外,该初始化响应指令已采用SCP80进行封装。
206,智能卡服务器接收该初始化响应指令,将初始化响应指令发送给第三方服务器。
可以理解的是,智能卡服务器将接收的采用SCP80封装的初始化响应指令进行解封装,然后将解封装之后的初始化响应指令发送给第三方服务器。
207,第三方服务器向智能卡服务器发送EXTERNAL AUTHENTICATE指令。
208,智能卡服务器通过CAT_TP数据链接向Java智能卡发送EXTERNALAUTHENTICATE指令。
同样的,智能卡服务器将接收的EXTERNAL AUTHENTICATE指令进行SCP80封装,然后将封装之后的EXTERNAL AUTHENTICATE指令发送给Java智能卡。
209,Java智能卡接收EXTERNAL AUTHENTICATE指令之后,生成外部鉴权响应,并发送给智能卡服务器。
同样的,Java智能卡在接收到EXTERNAL AUTHENTICATE指令继续调用ISD采用SCP80进行解封装,在此不再详细叙述。以及Java智能卡向智能卡服务器发送的外部鉴权响应采用了SCP80封装。
210,智能卡服务器将接收的外部鉴权响应发送给第三方服务器。
211,第三方服务器向智能卡服务器发送携带目标Applet的标识的加密的INSTALL【for personalization】指令。
该INSTALL【for personalization】指令已采用SCP02进行封装。
212,智能卡服务器将该INSTALL【for personalization】指令进行SCP80封装,然后向Java智能卡发送采用双层封装的INSTALL【for personalization】指令。
213,Java智能卡接收到该INSTALL【for personalization】指令之后,向智能卡服务器发送响应指令。
Java智能卡接收到该INSTALL【for personalization】指令之后,首先调用ISD采用SCP80对采用双层封装的INSTALL【for personalization】指令进行解封装,得到采用SCP02封装的INSTALL【for personalization】指令,再将采用SCP02封装的INSTALL【forpersonalization】指令发送给第一SSD。第一SSD采用SCP02将采用SCP02封装的INSTALL【for personalization】指令进行解封装,得到INSTALL【for personalization】指令。然后Java智能卡生成响应指令。
可以理解的是,第一SSD对生成的响应指令采用SCP02进行封装,然后ISD对采用SCP02的响应指令继续采用SCP80进行封装。然后Java智能卡的发送模块将该进行两次封装的响应指令发送给智能卡服务器。
需要说明的是,之后Java智能卡与第三方服务器进行交互的数据(他们之间传输的数据均需要经过智能卡服务器进行再次封装)均进行两次封装(SCP80封装以及SCP02封装),之后不再重复描述。
214,智能卡服务器将该响应指令发送给第三方服务器。
215,第三方服务器向智能卡服务器发送采用SCP02封装的STORE DATA指令。
216,智能卡服务器向Java智能卡发送采用双层封装的STORE DATA指令。
217,Java智能卡将接收的采用双层封装的STORE DATA指令进行处理,生成个人化结果,然后将该个人化结果发送给智能卡服务器。
Java智能卡对采用双层封装的STORE DATA指令进行处理的过程可参照上述描述。在此不再一一赘述。
218,智能卡服务器接收个人化结果之后,断开与Java智能卡之间的CAT_TP数据链接,并将该个人化结果发送给第三方服务器。
在本实施例的具体实现中,可以理解为智能卡服务器为运营商的远程服务器,第三方服务器为某业务对应的服务器(比如,第三方服务器为手机银行对应的服务器)。在现有技术中,Java智能卡中对应的SSD只有一个,并且该Java智能卡中的SSD对应的应用商在该Java智能卡出厂时已经将对应的个人化数据写入Java智能卡中的SSD里,这样,Java智能卡对应的第三方应用商是固定的,在这种情况下,第三方服务器与Java智能卡只能采用SMS-PP方式进行OTA数据交互,并且第三方服务器与Java智能卡只是交互一些APDU指令。本发明实施例可以实现在Java智能卡中包括多个SSD,并且Java智能卡在出厂以后根据个人需要,第三方服务器将第三方应用的个人化数据通过运营商的服务器(智能卡服务器)的SCP80安全通道传输给Java智能卡,从而实现了Java智能卡能够接收大数据,以及接收数据的速率较快、延迟小以及丢包率低的问题。另外,采用本发明的实现方式,可以实现第三方服务器将加密(SCP02封装)的个人化数据传输给智能卡服务器的同时,智能卡服务器在不获取个人化数据内容的情况下,对该个人化数据进行再一次的加密(SCP80封装),保证了个人化数据有效性的同时,也保证了个人化数据的安全性(对个人化数据进行了双重保险:SCP02封装和SCP80封装),即采用双层安全通道技术,保障第三方业务数据(OTA数据)的传输安全,解决第三方业务数据明文泄露给传输方的实际问题。
实施例2
如图3所示,本发明实施例提供一种数据传输的装置30,该装置30包括:建立链接模块301,发送模块302。具体的,该装置30可以为智能卡服务器,具体可以为运营商管控的远程服务器。
建立链接模块301,用于与Java智能卡建立CAT_TP数据链接;
发送模块302,用于在CAT_TP数据链接上向Java智能卡发送采用双层封装的存储数据STORE DATA指令,其中双层封装包括安全通道协议SCP02和SCP80,采用双层封装的STORE DATA指令中携带个人化数据。
进一步的,如图4所示,本发明实施例还可以提供另一种数据传输的装置40。其中,该数据传输的装置40还包括:接收模块303,处理模块304,断开链接模块305。
进一步的,在建立链接模块301建立与Java智能卡之间的CAT_TP数据链接之前,接收模块30接收第三方服务器发送的采用SCP02进行封装的STOREDATA指令,然后处理模块304对采用SCP02进行封装的STORE DATA指令继续采用SCP80进行封装,得到采用双层封装的STORE DATA指令。
需要说明的是,Java智能卡包括主安全域ISD和ISD相关联的至少一个附属安全域SSD。进一步的,在建立链接模块301与Java智能卡建立CAT_TP数据链接之后,还包括:接收模块303,还用于接收第三方服务器发送的INITIALIZE UPDATE指令和EXTERNALAUTHENTICATE指令,INITIALIZE UPDATE指令用于表示第三方服务器与Java智能卡协商SCP02的会话密钥数据,EXTERNAL AUTHENTICATE指令用于完成Java智能卡与第三方服务器的互相认证以及协商采用SCP02的传输数据的安全级别。然后发送模块302,还用于通过CAT_TP数据链接向第一SSDI发送NITIALIZE UPDATE指令和EXTERNAL AUTHENTICATE指令。
进一步的,在接收模块303接收到采用双层封装的STORE DATA指令之前,接收模块303,还用于接收第三方服务器发送的携带目标应用程序Applet的标识的安装【个人化】INSTALL【for personalization】指令,INSTALL【for personalization】指令用于指示第一SSD将个人化数据转发给目标Applet;接收Java智能卡发送的响应指令,响应指令用于告知智能卡服务器Java智能卡已接收INSTALL【for personalization】指令。
进一步的,在发送模块302向Java智能卡发送采用双层封装的STORE DATA指令之后,接收模块303,还用于接收Java智能卡发送的个人化结果,个人化结果用于说明第一SSD已经正常使用个人化数据对应的应用。
在接收模块303接收到个人化结果之后,断开链接模块305断开与Java智能卡(第一SSD)之间的CAT_TP数据链接,然后发送模块302将个人化结果发送给第三方服务器。
需要说明的是,图3所示装置30-图4所示装置40中,其各个模块的具体实施过程以及各个模块之间的信息交互等内容,由于与本发明方法实施例基于同一发明构思,可以参见方法实施例,在此不一一赘述。
本发明实施例实现了Java智能卡采用双层安全通道技术,保障第三方业务数据的传输安全,解决第三方业务数据明文泄露给传输方的实际问题。
实施例3
如图5所示,本发明实施例提供一种数据传输的系统50,该系统50包括:智能卡服务器501,Java智能卡502,第三方服务器503。
智能卡服务器501,用于与Java智能卡502建立CAT_TP数据链接;在CAT_TP数据链接上向Java智能卡发送采用双层封装的存储数据STORE DATA指令,其中双层封装包括安全通道协议SCP02和SCP80,采用双层封装的STORE DATA指令中携带个人化数据;接收第三方服务器503发送的采用SCP02封装的STORE DATA指令,并采用SCP80对采用SCP02封装的STORE DATA指令进行继续封装,得到双层封装的STORE DATA指令。
Java智能卡502,用于接收与智能卡服务器501建立CAT_TP数据链接;接收在CAT_TP数据链接上接收智能卡服务器501发送的双层封装的STORE DATA指令。
第三方服务器503,用于对STORE DATA指令采用SCP02进行封装,得到采用SCP02封装的STORE DATA指令,并将该采用SCP02封装的STORE DATA指令发送给智能卡服务器501。
需要说明的是,图5所示系统50中,其各个装置的具体实施过程以及各个装置之间的信息交互等内容,由于与本发明方法实施例基于同一发明构思,可以参见方法实施例,在此不一一赘述。
本发明实施例实现了Java智能卡能够接收大数据,以及接收数据的速率较快、延迟小以及丢包率低的问题。同时采用双层安全通道技术,保障第三方业务数据的传输安全,解决第三方业务数据明文泄露给传输方的实际问题。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种数据传输的方法,其特征在于,包括:
智能卡服务器与Java智能卡建立卡应用工具协议CAT_TP数据链接,所述Java智能卡包括主安全域ISD和所述ISD相关联的至少一个附属安全域SSD;
所述智能卡服务器在所述CAT_TP数据链接上向所述Java智能卡发送采用双层封装的存储数据STORE DATA指令,其中所述双层封装包括安全通道协议SCP 02和SCP 80,所述采用双层封装的STORE DATA指令中携带个人化数据;
在所述智能卡服务器与Java智能卡建立卡应用工具协议CAT_TP数据链接之后,所述方法还包括:
所述智能卡服务器将接收的第三方服务器发送的初始化更新INITIALIZE UPDATE指令通过所述CAT_TP数据链接发送给第一SSD,所述INITIALIZE UPDATE指令用于表示所述第三方服务器与所述Java智能卡协商所述SCP 02的会话密钥数据;
所述智能卡服务器接收所述第三方服务器发送的外部鉴权EXTERNAL AUTHENTICATE指令,所述EXTERNAL AUTHENTICATE指令用于完成所述Java智能卡与所述第三方服务器的互相认证以及协商采用所述SCP 02的传输数据的安全级别;
所述智能卡服务器将所述EXTERNAL AUTHENTICATE指令通过所述CAT_TP数据链接发送给所述第一SSD。
2.根据权利要求1所述的数据传输的方法,其特征在于,在所述智能卡服务器与Java智能卡建立卡应用工具协议CAT_TP数据链接之前,所述方法还包括:
所述智能卡服务器接收所述第三方服务器发送的采用所述SCP 02封装的所述STOREDATA指令;
所述智能卡服务器对所述采用所述SCP 02封装的所述STORE DATA指令继续采用所述SCP 80进行封装,得到所述采用双层封装的STORE DATA指令。
3.根据权利要求1或2所述的数据传输的方法,其特征在于,在所述智能卡服务器与Java智能卡建立卡应用工具协议CAT_TP数据链接之前,所述方法还包括:
所述智能卡服务器将接收所述第三方服务器发送的初始化更新INITIALIZE UPDATE指令。
4.根据权利要求3所述的数据传输的方法,其特征在于,在所述智能卡服务器在所述CAT_TP数据链接上向所述Java智能卡发送采用双层封装的存储数据STORE DATA指令之前,所述方法还包括:
所述智能卡服务器接收所述第三方服务器发送的携带目标应用程序Applet的标识的安装【个人化】INSTALL【for personalization】指令,所述INSTALL【for personalization】指令用于指示所述第一SSD将所述个人化数据转发给所述目标Applet;
所述智能卡服务器通过所述CAT_TP数据链接向所述Java智能卡发送所述INSTALL【forpersonalization】指令;
所述智能卡服务器通过所述CAT_TP数据链接接收所述Java智能卡发送的响应指令,所述响应指令用于告知所述智能卡服务器所述Java智能卡已接收所述INSTALL【forpersonalization】指令;
所述智能卡服务器将接收的所述响应指令发送给所述第三方服务器;
在所述智能卡服务器在所述CAT_TP数据链接上向所述Java智能卡发送采用双层封装的存储数据STORE DATA指令之后,所述方法还包括:
所述第一SSD向所述Java智能卡发送解封装请求以及所述采用双层封装的STORE DATA指令,所述解封装请求用于指示所述Java智能卡调用所述ISD使用所述SCP 80对所述采用双层封装的STORE DATA指令进行解封装;
所述Java智能卡接收所述解封装请求之后,调用所述ISD使用所述SCP 80对所述采用双层封装的STORE DATA指令进行解封装,得到采用所述SCP 02封装的STORE DATA指令;
所述Java智能卡将所述采用所述SCP 02封装的STORE DATA指令发送给所述第一SSD;
所述第一SSD采用所述SCP 02对所述采用所述SCP 02封装的STORE DATA指令进行解封装,得到所述STORE DATA指令;
所述第一SSD从所述STORE DATA指令中获取所述个人化数据。
5.根据权利要求4所述的数据传输的方法,其特征在于,在所述第一SSD从所述STOREDATA指令中获取所述个人化数据之后,所述方法还包括:
所述智能卡服务器接收所述Java智能卡发送的个人化结果,所述个人化结果用于说明所述Java智能卡已经正常使用所述个人化数据对应的应用;
所述智能卡服务器断开与所述Java智能卡之间的所述CAT_TP数据链接,并将所述个人化结果发送给所述第三方服务器。
6.一种数据传输的装置,其特征在于,包括:
建立链接模块,用于与Java智能卡建立卡应用工具协议CAT_TP数据链接,所述Java智能卡包括主安全域ISD和所述ISD相关联的至少一个附属安全域SSD;
发送模块,用于在CAT_TP数据链接上向所述Java智能卡发送采用双层封装的存储数据STORE DATA指令,其中所述双层封装包括安全通道协议SCP 02和SCP 80,所述采用双层封装的STORE DATA指令中携带个人化数据;
所述发送模块,还用于将接收的第三方服务器发送的初始化更新INITIALIZE UPDATE指令通过所述CAT_TP数据链接发送给第一SSD,所述INITIALIZE UPDATE指令用于表示所述第三方服务器与所述Java智能卡协商所述SCP 02的会话密钥数据;
接收模块,用于接收第三方服务器发送的外部鉴权EXTERNAL AUTHENTICATE指令,所述EXTERNAL AUTHENTICATE指令用于完成所述Java智能卡与所述第三方服务器的互相认证以及协商采用所述SCP 02的传输数据的安全级别;
所述发送模块,还用于将所述EXTERNAL AUTHENTICATE指令通过所述CAT_TP数据链接发送给所述第一SSD。
7.根据权利要求6所述的数据传输的装置,其特征在于,所述装置还包括:
接收模块,用于接收第三方服务器发送的采用所述SCP 02进行封装的所述STORE DATA指令;
处理模块,用于对所述采用所述SCP 02进行封装的所述STORE DATA指令继续采用所述SCP 80进行封装,得到所述采用双层封装的STORE DATA指令。
8.根据权利要求7所述的数据传输的装置,其特征在于,
所述接收模块,还用于接收所述第三方服务器发送的初始化更新INITIALIZE UPDATE指令。
9.根据权利要求8所述的数据传输的装置,其特征在于,
所述接收模块,还用于接收所述第三方服务器发送的携带目标应用程序Applet的标识的安装【个人化】INSTALL【for personalization】指令,所述INSTALL【forpersonalization】指令用于指示所述第一SSD将所述个人化数据转发给所述目标Applet;接收所述Java智能卡发送的响应指令,所述响应指令用于告知所述发送模块所述Java智能卡已接收所述INSTALL【for personalization】指令;
所述发送模块,还用于通过所述CAT_TP数据链接向所述Java智能卡发送所述INSTALL【for personalization】指令。
10.根据权利要求9所述的数据传输的装置,其特征在于,
所述接收模块,还用于接收所述Java智能卡发送的个人化结果,所述个人化结果用于说明所述Java智能卡已经正常使用所述个人化数据对应的应用;
所述装置还包括:
断开链接模块,用于断开与所述Java智能卡之间的所述CAT_TP数据链接;
所述发送模块,还用于将所述个人化结果发送给所述第三方服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410049023.1A CN103747019B (zh) | 2014-02-12 | 2014-02-12 | 一种数据传输的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410049023.1A CN103747019B (zh) | 2014-02-12 | 2014-02-12 | 一种数据传输的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103747019A CN103747019A (zh) | 2014-04-23 |
CN103747019B true CN103747019B (zh) | 2017-11-10 |
Family
ID=50504006
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410049023.1A Active CN103747019B (zh) | 2014-02-12 | 2014-02-12 | 一种数据传输的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103747019B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104360833A (zh) * | 2014-08-27 | 2015-02-18 | 北京中电华大电子设计有限责任公司 | 一种支持安全通道协议定制的java卡平台实现方法 |
EP2999249A1 (en) * | 2014-09-22 | 2016-03-23 | Gemalto Sa | Method for detecting dynamically that secure elements are eligible to an OTA campaign and corresponding OTA server |
CN107005284A (zh) * | 2015-11-03 | 2017-08-01 | 国民技术股份有限公司 | 智能卡及其下载应用的方法 |
CN108449735A (zh) * | 2018-06-25 | 2018-08-24 | 中国联合网络通信集团有限公司 | Ota通信的方法、车载终端、设备及计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101729247A (zh) * | 2008-10-22 | 2010-06-09 | 中兴通讯股份有限公司 | 密钥更新方法和系统 |
CN101820613A (zh) * | 2009-02-27 | 2010-09-01 | 中兴通讯股份有限公司 | 一种应用下载的系统和方法 |
CN102279741A (zh) * | 2011-07-13 | 2011-12-14 | 中国联合网络通信集团有限公司 | 智能卡的业务处理方法及智能卡 |
-
2014
- 2014-02-12 CN CN201410049023.1A patent/CN103747019B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101729247A (zh) * | 2008-10-22 | 2010-06-09 | 中兴通讯股份有限公司 | 密钥更新方法和系统 |
CN101820613A (zh) * | 2009-02-27 | 2010-09-01 | 中兴通讯股份有限公司 | 一种应用下载的系统和方法 |
CN102279741A (zh) * | 2011-07-13 | 2011-12-14 | 中国联合网络通信集团有限公司 | 智能卡的业务处理方法及智能卡 |
Also Published As
Publication number | Publication date |
---|---|
CN103747019A (zh) | 2014-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100452700C (zh) | 用于建立保密连接的存储卡和无线通信设备 | |
CN102625995B (zh) | 无线网络中的伽罗瓦/计数器模式加密 | |
CN104618902B (zh) | 不加密的网络操作解决方案 | |
CN104219217B (zh) | 安全关联协商方法、设备和系统 | |
CN102036230B (zh) | 本地路由业务的实现方法、基站及系统 | |
US11233771B2 (en) | Communication interface for a low power wide area network, wireless device and server using such communication interface | |
TW201624960A (zh) | 用於下一代蜂巢網路的使用者面安全 | |
CN103747019B (zh) | 一种数据传输的方法及装置 | |
CN108141744A (zh) | 多个电子订户身份模块(eSIM)实例的实例化 | |
CN104734844A (zh) | 在节点之间建立安全通信信道以允许节点之间执行的经加密通信的检查 | |
CN103546886B (zh) | 通用集成电路卡的数据配置方法、装置及系统 | |
WO2019229612A1 (en) | Method, architecture and devices for the realization of an encrypted communication protocol of encrypted data packets named 'transport encrypted protocol' (tep) | |
CN104380773A (zh) | 虚拟卡下载方法、终端及中间设备 | |
CN108769292A (zh) | 报文数据处理方法及装置 | |
CN105471827B (zh) | 一种报文传输方法及装置 | |
CN108377495A (zh) | 一种数据传输方法、相关设备及系统 | |
CN102065021B (zh) | 基于NetFPGA的IPSecVPN实现系统及方法 | |
CN208873145U (zh) | 一种配网自动化IPSec安全芯片 | |
CN107306198A (zh) | 报文转发方法、设备和系统 | |
CN107819685A (zh) | 一种数据处理的方法以及网络设备 | |
CN108900540A (zh) | 一种基于双重加密的配电终端的业务数据处理方法 | |
CN103905389B (zh) | 基于中继设备的安全关联、数据传输方法及装置、系统 | |
CN101640614B (zh) | 一种配置ipsec安全策略的方法及装置 | |
CN102547702B (zh) | 用户认证方法、系统及密码处理装置 | |
CN107155184A (zh) | 一种带有安全加密芯片的wifi模块及其通信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |