CN104184892A - 基于移动终端智能卡的数据传输方法及移动终端 - Google Patents

基于移动终端智能卡的数据传输方法及移动终端 Download PDF

Info

Publication number
CN104184892A
CN104184892A CN201410394472.XA CN201410394472A CN104184892A CN 104184892 A CN104184892 A CN 104184892A CN 201410394472 A CN201410394472 A CN 201410394472A CN 104184892 A CN104184892 A CN 104184892A
Authority
CN
China
Prior art keywords
application program
transmission data
data
card
mobile terminal
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.)
Pending
Application number
CN201410394472.XA
Other languages
English (en)
Inventor
宾志滔
黄一平
莫华邦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GUILIN WEIWANG INTERNET INFORMATION TECHNOLOGY CO., LTD.
Original Assignee
GUILIN MICRONET SEMICONDUCTORS CO Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by GUILIN MICRONET SEMICONDUCTORS CO Ltd filed Critical GUILIN MICRONET SEMICONDUCTORS CO Ltd
Priority to CN201410394472.XA priority Critical patent/CN104184892A/zh
Publication of CN104184892A publication Critical patent/CN104184892A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Telephone Function (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种移动终端智能卡的数据传输方法及移动终端,以解决现有的密钥泄露问题。该方法包括:智能卡接收由移动终端中的应用程序发来的传输数据;获取传输数据中包含的操作指令码并根据操作指令码的类型执行对应的操作,其中,当操作指令码包括解密/验签类型的指令码时,利用预先存储的密钥对传输数据进行解密/验签后提供给应用程序;或者,当操作指令码包括加密/签名类型的指令码时,利用预先存储的密钥对传输数据进行加密/签名后提供给应用程序;其中,智能卡与应用程序之间通过以下接口中的至少一个接口进行通信:用于保存/读取短信的应用程序接口、用于写入/读取通讯录的应用程序接口、用于访问GP卡的应用程序接口、用于写入或读出SIM卡短信中心的应用程序接口、和用于读取STK菜单数据的应用程序接口。

Description

基于移动终端智能卡的数据传输方法及移动终端
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于移动终端智能卡的数据传输方法及移动终端。
背景技术
随着移动终端的广泛普及,越来越多的用户习惯于通过手机等移动终端来进行各类数据的传输。例如,用户可以通过移动终端提供的手机银行功能与银行服务器进行数据传输,从而完成网上转账、支付等各项功能,为用户提供了诸多便利。
但是,在移动终端与远端服务器(如银行服务器)进行数据传输时,一些敏感数据(例如银行帐号、密码等)在传输过程中容易被黑客等非法分子截获,从而威胁用户的账户安全。为此,在数据传输过程中,需要采取加密传输方式。在现有技术中,通常会直接将加密密钥保存在移动终端上,这样,一旦加密密钥被人非法获取,就会对用户的账户安全造成威胁。因此,现有的移动终端在与服务器进行数据传输时的安全性较低。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的基于移动终端智能卡的数据传输方法及移动终端。
依据本发明的一个方面,提供了一种基于移动终端智能卡的数据传输方法,该智能卡为SIM卡、USIM卡和/或贴膜卡,该方法包括:所述智能卡接收由所述移动终端中的应用程序发来的传输数据;所述智能卡获取所述传输数据中包含的操作指令码并根据所述操作指令码的类型执行对应的操作,其中,当所述操作指令码包括解密/验签(所谓“验签”也就是签名验证,即:验证数字签名)类型的指令码时,所述智能卡利用预先存储的密钥对所述传输数据进行解密/验签后提供给所述应用程序;或者,当所述操作指令码包括加密/签名(所谓“签名”即做数字签名运算)类型的指令码时,所述智能卡利用预先存储的密钥对所述传输数据进行加密/签名后提供给所述应用程序;其中,所述智能卡与所述应用程序之间通过以下接口中的至少一个接口进行通信:用于保存/读取短信的应用程序接口、用于写入/读取通讯录的应用程序接口、用于访问GP卡的应用程序接口、用于访问短信中心的应用程序接口、和用于读取STK菜单数据的应用程序接口。
可选地,当所述智能卡与所述应用程序之间通过所述用于保存/读取短信的应用程序接口进行通信时,所述应用程序预先将所述传输数据转换为短信文件格式,且在所述传输数据中进一步包含第一预设标识,该第一预设标识用于表示该传输数据不是短信数据;当所述智能卡与所述应用程序之间通过所述用于写入/读取通讯录的应用程序接口进行通信时,所述应用程序预先将所述传输数据转换为通讯录文件格式,且在所述传输数据中进一步包含第二预设标识,该第二预设标识用于表示该传输数据不是通讯录数据;当所述智能卡与所述应用程序之间通过所述用于访问短信中心的应用程序接口进行通信时,所述应用程序预先将所述传输数据转换为短信中心文件格式,且在所述传输数据中进一步包含第三预设标识,该第三预设标识用于表示该传输数据不是短信中心数据。
可选地,在所述智能卡获取所述传输数据中包含的操作指令码并根据所述操作指令码的类型执行对应的操作的步骤中进一步包括:当所述操作指令码包括本地密码认证类型的指令码时,则提示用户输入本地密码,并判断用户在预设次数内输入的本地密码是否正确,只有在输入的本地密码正确时才允许执行后续操作。
可选地,在所述智能卡获取所述传输数据中包含的操作指令码并根据所述操作指令码的类型执行对应的操作的步骤中进一步包括:当所述操作指令码包括显示内容类型的指令码时,对所述传输数据的内容进行显示。
可选地,所述应用程序包括:手机银行应用程序、电商应用程序、第三方支付应用程序,则所述应用程序发来的传输数据中进一步包括应用程序标识,且所述智能卡中预先存储的密钥为多个分别对应于不同应用程序的密钥,所述智能卡根据所述应用程序标识来确定对应的密钥。
根据本发明的另一方面,提供了一种移动终端,包括能够执行应用程序的移动终端主体以及设置在所述移动终端主体中的智能卡,该智能卡为SIM卡、USIM和/或贴膜卡,所述智能卡进一步包括:接收模块,用于接收由所述移动终端主体中的应用程序发来的传输数据;获取模块,用于获取所述传输数据中包含的操作指令码;操作模块,用于根据所述操作指令码的类型执行对应的操作,其中,当所述操作指令码包括解密/验签类型的指令码时,则利用预先存储的密钥对所述传输数据进行解密/验签后提供给所述应用程序;或者,当所述操作指令码包括加密/签名类型的指令码时,则利用预先存储的密钥对所述传输数据进行加密/签名后提供给所述应用程序;其中,所述智能卡上进一步设置有至少一个用于与所述应用程序进行通信的接口:用于保存/读取短信的应用程序接口、用于写入/读取通讯录的应用程序接口、用于访问GP卡的应用程序接口、用于访问短信中心的应用程序接口、和用于读取STK菜单数据的应用程序接口。
可选地,所述应用程序发来的传输数据为短信文件格式,且在所述传输数据中进一步包含第一预设标识,该第一预设标识用于表示该传输数据不是短信数据;或者,所述应用程序发来的传输数据为通讯录文件格式,且在所述传输数据中进一步包含第二预设标识,该第二预设标识用于表示该传输数据不是通讯录数据;或者,所述应用程序发来的传输数据为短信中心文件格式,且在所述传输数据中进一步包含第三预设标识,该第三预设标识用于表示该传输数据不是短信中心数据。
可选地,所述操作模块进一步用于:当所述操作指令码包括本地密码认证类型的指令码时,则提示用户输入本地密码,并判断用户在预设次数内输入的本地密码是否正确,只有在输入的本地密码正确时才允许执行后续操作。
可选地,所述操作模块进一步用于:当所述操作指令码包括显示内容类型的指令码时,对所述传输数据的内容进行显示。
可选地,所述应用程序包括:手机银行应用程序、电商应用程序、第三方支付应用程序,则所述应用程序发来的传输数据中进一步包括应用程序标识,且所述智能卡中预先存储的密钥为多个分别对应于不同应用程序的密钥,所述操作模块根据所述应用程序标识来确定对应的密钥。
在本发明提供的基于移动终端智能卡的数据传输方法及移动终端中,利用应用程序能够访问智能卡(如SIM卡或USIM卡)中的短信、通讯录、短信中心数据以及GP卡数据的特性,使应用程序能够通过相应的保存/读取短信的应用程序接口、写入/读取通讯录的应用程序接口、访问GP卡的应用程序接口、和/或访问短信中心的应用程序接口来实现与智能卡之间的数据通信。在此基础上,将密钥保存在智能卡上,当移动终端内部的应用程序需要与服务器等外部设备进行数据传输时,由智能卡根据保存的密钥执行加解密或签名验签运算,并将运算后的数据提供给移动终端内部应用程序。由于在一般情况下,无法直接读取智能卡内部存储的数据,因此,采用本发明中的处理方式,避免了现有技术中直接将密钥保存在移动终端上所导致的密钥泄露问题,同时显著提高了数据传输时的安全性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明提供的基于移动终端智能卡的数据传输方法的流程图;
图2示出了本发明优选实施例提供的基于移动终端智能卡的数据传输方法的流程图;以及,
图3示出了本发明实施例提供的移动终端的结构图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明提供了一种基于移动终端智能卡的数据传输方法及移动终端,能够解决现有技术中直接将密钥保存在移动终端上所导致的密钥泄露问题。
图1示出了本发明提供的基于移动终端智能卡的数据传输方法的流程图。在图1所示的流程图中,主要是以移动终端与服务器之间进行通信为例进行说明的。本领域技术人员能够理解的是,在本发明其他的实施例中,移动终端也可以与其他的外部设备(例如电脑客户端等)进行通信,或者,本发明中的方法也可以不涉及外部设备,而只用于移动终端内部的数据通信(如应用程序与智能卡之间的内部通信)。如图1所示。该数据传输方法包括以下步骤:
步骤S110:智能卡接收由移动终端中的应用程序发来的传输数据。
步骤S120:智能卡获取该传输数据中包含的操作指令码并判断操作指令码的类型,以便在后续步骤中根据操作指令码的类型来执行对应的操作。
步骤S130:当操作指令码包括解密/验签类型的指令码时,智能卡确定该传输数据为服务器发送给应用程序的已加密/签名数据,则利用预先存储的密钥对该传输数据进行解密/验签后提供给应用程序。
步骤S140:当操作指令码包括加密/签名类型的指令码时,智能卡确定该传输数据为应用程序要发送给服务器的非加密/非签名数据,则利用预先存储的密钥对该传输数据进行加密/签名后提供给应用程序,由应用程序发送给服务器。
其中,本发明中的方法适用于智能卡对移动终端中的应用程序发来的各类传输数据的处理,例如,当智能卡接收到的传输数据中包含的操作指令码包括解密/验签类型的指令码时,则执行步骤S130;或者,当智能卡接收到的传输数据中包含的操作指令码包括加密/签名类型的指令码时,则执行步骤S140。
由此可见,在上述步骤中,智能卡作为应用程序的安全模块,用来对应用程序传输的数据进行加解密或签名验签等安全处理。具体地,在上述的步骤S110、步骤S130以及步骤S140中,智能卡与应用程序之间通过以下接口中的至少一个接口进行通信:用于保存/读取短信的应用程序接口、用于写入/读取通讯录的应用程序接口、用于访问GP卡的应用程序接口、和用于访问短信中心的应用程序接口。其中,GP卡的英文全称为GlobalPlatform Card,其中,GlobalPlatform(GP)是跨行业的国际标准组织,致力于开发、制定并发布安全芯片的技术标准,以促进多应用产业环境的管理及其安全、可互操作的业务部署。GP是全球基于安全芯片的安全基础设施统一的标准的制定者。
在本发明提供的基于移动终端智能卡的数据传输方法中,智能卡优选SIM卡和/或USIM卡和/或贴膜卡,利用应用程序能够访问智能卡中的短信、通讯录、短信中心数据以及GP卡数据的特性,使应用程序能够通过相应的保存/读取短信的应用程序接口、写入/读取通讯录的应用程序接口、访问GP卡的应用程序接口、和/或访问短信中心的应用程序接口来实现与智能卡之间的数据通信。在此基础上,将加解密或签名验签时所需的密钥保存在智能卡上,当移动终端内部的应用程序需要加解密或签名验签数据时,由智能卡根据保存的密钥执行加解密或签名验签运算,并将运算后的数据提供给移动终端内部应用程序。由于在一般情况下,无法直接读取SIM卡和/或USIM卡和/或贴膜卡内部存储的数据,因此,采用本发明中的处理方式,避免了现有技术中直接将密钥保存在移动终端上所导致的密钥泄露问题,同时显著提高了数据传输时的安全性。
下面,以智能卡为SIM卡为例,介绍一下应用程序与SIM卡之间的数据传输方法。由于现有的SIM卡仅支持应用程序直接读写SIM卡中的短信文件、通讯录文件和短信中心文件等特殊文件,而不支持SIM卡与应用程序之间的普通数据传输,因此,为了实现本发明中的数据传输方法,本发明首先提供了一种SIM卡与应用程序之间的通信方法。该通信方法主要利用SIM卡支持应用程序直接读写其中的短信文件、通讯录文件和短信中心文件的特性,将应用程序与服务器之间传输的普通数据文件转换为短信文件格式、通讯录文件格式、和/或短信中心文件格式,并调用移动终端系统提供的用于保存/读取短信的应用程序接口、用于写入/读取通讯录的应用程序接口、和/或用于访问短信中心的应用程序接口,从而实现应用程序与SIM卡之间的通信。
下面分别介绍一下应用程序与SIM卡之间的几种通信方式:
在第一种通信方式中,应用程序与SIM卡之间通过“用于保存/读取短信的应用程序接口API”进行通信。
具体地,当应用程序调用移动终端操作系统提供的“用于保存短信的应用程序接口API”(例如“向SIM卡保存短信的API”)时,该API会通过SIM卡的操作指令把应用程序提供的传输数据保存到SIM卡上,从而使应用程序能够向SIM卡传输数据。当应用程序调用移动终端操作系统提供的“用于读取短信的应用程序接口API”(例如“读取短信的API”)时,该API会通过SIM卡的操作指令把SIM卡需要返回给应用程序的传输数据(例如加密或解密后的传输数据)提供给应用程序,从而使SIM卡能够向应用程序返回响应数据,进而实现应用程序与SIM卡之间的双向数据传输。
另外,由于应用程序与SIM卡之间通过“用于保存/读取短信的应用程序接口API”进行通信时,所传输的数据文件必须符合规定的短信文件格式,因此,在本发明中,应用程序向SIM卡传输数据之前,需要预先将传输数据转换为短信文件格式,以符合移动终端操作系统规范。并且,为了与真正的短信文件相区别,应用程序向SIM卡传输的传输数据中进一步包含一个预设标识,该预设标识用于表示该传输数据不是短信数据,因此,SIM卡收到该传输数据后,根据该预设标识判断出该数据是需要进行安全处理的传输数据,从而对其执行加解密等安全运算。相应地,SIM卡返回给应用程序的响应数据(例如加解密或签名验签的数据)也需要转换为短信文件格式,以符合移动终端操作系统规范。
表1
表1示出了由移动终端操作系统规范所规定的短信文件格式的示意图。如表1所示,短信文件的第一个字段为“tar”字段,其为该文件的文件头,在本实施例中,可以预先约定将“tar”字段的具体值设置为“FE FE F8”,用来表示该传输数据不是普通的短信数据;第二个字段为“总条数”字段,用于在连续传输多条短信时表示要传输短信的总数量;第三个字段为“当前条数”字段,用于在连续传输多条短信时表示当前已传输短信的数量;第四个字段为“后续数据长度”字段,用于在连续传输多条短信时表示尚未传输的短信数据的长度;第五个字段为“应用数据”字段,用于承载短信文件的具体内容数据。
下面以应用程序向SIM卡传输一条内容为“测试125”的传输数据为例,介绍一下应用程序与SIM卡之间的数据传输方式:
首先,应用程序将传输数据转换为短信文件格式。具体地,应用程序把传输数据“测试125”映射到“应用数据”字段,作为该条传输数据的具体数据内容;并按照约定将“tar”字段的具体值设置为“FE FE F8”;然后,将其他字段补充完整,由于本例中仅传输一条数据,因此,“总条数”字段和“当前条数”字段均设置为“1”,“后续数据长度”字段设置为“0E”。
然后,应用程序调用移动终端操作系统提供的“向SIM卡保存短信的API”,使传输数据以普通短信方式下发到SIM卡中。具体地,该API会通过SIM卡的操作指令把应用程序提供的传输数据保存到SIM卡上。
接下来,结合传输过程中的传输代码来描述应用程序与SIM卡之间的交互过程。
应用程序侧的处理流程:
应用程序向SIM卡传输数据时的传输代码如下:(S表示应用程序下发给SIM卡的传输数据,R表示SIM卡返回给应用程序的响应数据)
//选择SIM卡根目录
S:A0 A4 00 00 02  3F 00
R:9F 17
//选择SIM卡电信目录
S:A0 A4 00 00 02  7F 10
R:9F 17
//选择短信文件(SIM卡的短信文件是在根目录3F00下的7E10的目录下)
S:A0 A4 00 00 02  6F 3C
R:9F 0F
//读取短信文件格式
S:A0 C0 00 00 0F 00 00 01 60 6F 3C 04 00 11 FF 44 01 02 01 B0
R:90 00
//写短信
S:A0 DC 01 04 B0 03 0A FE FE F8 01 01 0E 10 01 0D 0A 6D 4B 8B D500 31 00 32 00 35 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 3131 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 3131 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 3131 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 3131 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 3131 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 3131 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 32 32 33
上述写短信指令的注释如下:
0D 0A 6D 4B 8B D5 00 31 00 32 00 35//实际短信内容,这里是“测试125”的UCS2编码
31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 3131 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 3131 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 3131 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 3131 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 3131 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 3131 31 31 31 31 31 31 31 31 31 31 31 31 31 32 32 33//一条短信的内容是140个字,这些是填充够140个字,无实质性内容。
SIM卡侧的处理流程:
当SIM卡检测到应用程序向SIM卡中保存短信文件的时候,如果保存的短信文件中携带有预先定义的应用程序与SIM卡通信的标识——“FE FE F8”,则说明该短信不是实质性的短信,而是应用程序通过短信息承载的需要提交给SIM卡的传输数据,SIM卡收到该短信后,不保存到短信记录文件里,而是把有效数据获取到后,直接丢弃。然后,SIM卡向应用程序返回如下传输代码:
R:90 00//SIM卡收到应用程序下行的数据后返回的状态字,告诉应用程序命令(这里的命令为写短信,即通过短信发送数据给SIM卡)执行成功。
应用程序收到上述传输代码后,得知传输数据已经成功下行给SIM卡,因而开始获取SIM卡的响应数据。具体地,应用程序调用移动终端操作系统提供的“读取短信的API”,取回SIM卡返回给应用程序的响应数据(一般是应用数据,比如加密或解密结果等,这些结果是SIM卡通过运算后返回的,SIM卡把运算后返回的结果映射成SIM卡的短信息,以便应用程度进行读取。短信息的具体格式可以根据应用需求来定义)。相应的传输代码如下:
A0 B2 01 04 B0
01 08 91 68 31 08 70 17 05 F6 24 05 80 01 80 F6 00 08 21 10 11 0123 25 23 20 FE FE F8 01 01 1A 10 01 0D 16 00 34 00 20 00 3A 00 20 0031 00 32 00 33 00 34 00 35 00 36 00 37 FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 90 00
通过上面的过程,就完成了应用程序与SIM卡之间的双向数据传输。在上述过程中,可以利用短信通道传输任何自定义的数据内容。而且,在应用程序传输的数据中还可以进一步包含操作指令码,SIM卡根据操作指令码的类型确定相应的安全处理操作。例如,当所述操作指令码包括解密/验签类型的指令码时,所述智能卡则利用预先存储的密钥对所述传输数据进行解密/验签后提供给所述应用程序;当所述操作指令码包括加密/签名类型的指令码时,所述智能卡则利用预先存储的密钥对所述传输数据进行加密/签名后提供给所述应用程序;当所述操作指令码包括本地密码认证类型的指令码时,则提示用户操作内容,并要求用户输入本地密码,只有用户在限定的次数内输入正确的本地密码,所述智能卡才继续执行该操作;在所述智能卡获取所述传输数据中包含的操作指令码并根据所述操作指令码的类型执行对应的操作的步骤中进一步包括:当所述操作指令码包括显示内容类型的指令码时,将所述传输数据的内容显示给操作用户。
在第二种通信方式中,应用程序与SIM卡之间通过“用于写入/读取通讯录的应用程序接口API”进行通信。
具体地,当应用程序调用移动终端操作系统提供的“用于写入通讯录的应用程序接口API”(例如“写通讯录的API”)时,该API会通过SIM卡的操作指令把应用程序提供的传输数据保存到SIM卡上,从而使应用程序能够向SIM卡传输数据。当应用程序调用移动终端操作系统提供的“用于读取通讯录的应用程序接口API”(例如“读取通讯录的API”)时,该API会通过SIM卡的操作指令把SIM卡需要返回给应用程序的传输数据(例如加密或解密后的传输数据)提供给应用程序,从而使SIM卡能够向应用程序返回响应数据,进而实现应用程序与SIM卡之间的双向数据传输。
另外,由于应用程序与SIM卡之间通过“用于写入/读取通讯录的应用程序接口API”进行通信时,所传输的数据文件必须符合规定的通讯录文件格式,因此,在本发明中,应用程序向SIM卡传输数据之前,需要预先将传输数据转换为通讯录文件格式,以符合移动终端操作系统规范。并且,为了与真正的通讯录文件相区别,应用程序向SIM卡传输的传输数据中进一步包含一个预设标识,该预设标识用于表示该传输数据不是普通的通讯录数据,因此,SIM卡收到该传输数据后,根据该预设标识判断出该数据是需要进行安全处理的传输数据,从而对其执行加解密或签名验签等安全运算。相应地,SIM卡返回给应用程序的响应数据(例如加解密或签名验签之后的数据)也需要转换为通讯录文件格式,以符合移动终端操作系统规范。
表2
表2示出了由移动终端操作系统规范所规定的通讯录文件格式的示意图。如表2所示,通讯录文件主要包括电话号码部分和姓名部分,其中,电话号码部分用于承载该文件的相关信息,例如,电话号码部分的第一个字段为“tar”字段,其为该文件的文件头,在本实施例中,可以预先约定将“tar”字段的具体值设置为“010108”,用来表示该传输数据不是普通的通讯录数据;第二个字段为“总条数”字段,用于在连续传输多条通讯录时表示要传输通讯录的总数量;第三个字段为“当前条数”字段,用于在连续传输多条通讯录时表示当前已传输通讯录的数量;第四个字段为“长度”字段,用于表示该文件的长度。姓名部分仅包含一个字段,即“应用数据”字段,用于承载通讯录文件的具体内容数据。其中,“应用数据”字段的格式为ascii,用2个ascii字符表示一个16进制字节,如用‘FF’来表示0xff。
接下来,结合传输过程中的传输代码来描述应用程序与SIM卡之间的交互过程。
首先,应用程序调用移动终端操作系统提供的“写通讯录的API”,向SIM卡发送数据的流程如下:
//应用程序调用写通讯录的API下行数据给SIM卡
A0 A4 00 00 02  3F 00
9F 1E
//选择电信目录
A0 A4 00 00 02  7F 10
9F 1E
//选择通讯录文件
A0 A4 00 00 02  6F 3A
9F 0F
//开始用通讯录承载,下发数据给SIM卡
A0 DC 01 04 1C 31 31 32 32 33 33 34 34 35 35 36 36 37 37 07 81 1010 80 30 10 41 FF FF FF FF FF FF
90 00
A0 DC 01 04 1C 38 38 39 39 30 30 31 31 32 32 33 33 34 34 07 81 1010 80 30 20 41 FF FF FF FF FF FF
90 00
A0 DC 01 04 1C 35 35 36 36 FF FF FF FF FF FF FF FF FF FF 07 81 1010 80 30 30 40 FF FF FF FF FF FF
90 00
//至此SIM卡接收完成应用程序下行的数据
然后,SIM卡根据接收文件的“tar”字段判断出该文件中的数据不是普通的通讯录数据,而是应用程序发来的需要进行安全运算的传输数据,因此,SIM卡对其内容进行安全运算(例如加密或解密、签名或验签)后,将得到的响应数据返回给应用程序。具体地,应用程序可以通过调用“读取通信录的API”,来得到返回的响应数据。其中,应用程序调用“读取通信录的API”之后的处理流程如下述代码所示:
//应用程序调用手机系统提供的读通讯录的API,从SIM卡取回数据
A0 B2 01 04 1C
45 45 44 44 43 43 42 42 41 41 39 39 38 38 0C 81 10 10 80 30 10 41FF FF FF FF FF FF 90 00
A0 B2 02 04 1C
37 37 36 36 46 46 45 45 44 44 43 43 42 42 0C 81 10 10 80 30 20 41FF FF FF FF FF FF 90 00
A0 B2 03 04 1C
41 41 39 39 FF FF FF FF FF FF FF FF FF FF 0C 81 10 10 80 30 30 40FF FF FF FF FF FF 90 00
通过上面的过程,就完成了应用程序与SIM卡之间的双向数据传输。在上述过程中,可以利用短信通道传输任何自定义的数据内容。而且,在应用程序传输的数据中还可以进一步包含操作指令码,SIM卡根据操作指令码的类型确定相应的安全处理操作。其中,操作指令码的类型参见上文描述,此处不再赘述。
在第三种通信方式中,应用程序与SIM卡之间通过“用于访问短信中心的应用程序接口API”进行通信。
通常情况下,移动终端的操作系统能够支持应用程序对SIM卡的短信中心进行设置。利用这一特性,本发明中的应用程序可以通过对SIM卡短信中心进行设置来承载下行数据给SIM卡。SIM卡在检测到有短信中心更新的时候,把更新数据拦截下来,从而获取到应用程序发来的传输数据。
表3
表3示出了由移动终端操作系统规范所规定的短信中心文件格式的示意图。因此,应用程序通过相应的API接口发送给SIM卡的传输数据以及SIM卡返回的响应数据均应预先转换为表3所示的格式。其中,短信中心只能采用0-9的号码,而当应用程序向SIM卡传输的数据采用十六进制编码时,包含了ABCDEF这几个非号码数据的字符,因此,需要先把ABCDEF这几个字符用0-9的号码进行编码之后,才能传输。所以采用该方式承载数据时,需要对16进制字节重新编码,转换前先将全部16进制拆分成半字节,按半字节方式重新编码,然后重新组合成新的字节,不足2的位数时,后面补F。半字节编码采用如表4所示的转换方式:
表4
例如,需要发送0x12,0x90,0xab这3个16进制数据给卡片,则对应需要下行的短信中心号码为:129009192,将其重新编码成16进制为:0x12,0x90,0x09,0x19,0x2F。实际传输的ADN格式为:0x21,0x09,0x90,0x91,0xF2。
下面结合具体的传输代码描述应用程序与SIM卡之间的交互过程:
//应用程序通过调用移动终端操作系统提供的写短信中心的API,下行数据给SIM卡
A0 A4 00 00 02 7F 10
9F 17
//选择短信中心文件
A0 A4 00 00 02 6F 42
9F 0F
//开始通过短信中心号码来承载数据的方式下行数据给SIM卡
A0 DC 01 04 29 FF FF FF FF FF FF FF FF FF FF FF FF FF FD FF FF FFFF FF FF FF FF FF FF FF FF 0A 91 89 56 04 00 03 00 13 00 23 FF FF FFFF
90 00
A0 DC 01 04 29 FF FF FF FF FF FF FF FF FF FF FF FF FF FD FF FF FFFF FF FF FF FF FF FF FF FF 0A 91 00 33 00 43 00 53 00 63 99 FF FF FFFF
91 36
//SIM卡收完应用程序下行的数据后,弹出STK回显应用程序下行的内容
A0 12 00 00 36
D0 34 81 03 01 21 81 82 02 81 02 0D 29 08 65 36 52 30 67 65 81 EA00 41 00 50 00 50 76 84 6D 88 60 6F 00 3A 00 0D 00 0A 00 30 00 31 0032 00 33 00 34 00 35 00 36 90 00
A0 14 00 00 0C 81 03 01 21 81 82 02 82 81 83 01 00
91 3B
//SIM卡接着弹出STK输入框,让用户输入发送给应用程序的内容
A0 12 00 00 3B
D0 39 81 03 01 23 03 82 02 81 82 8D 1B 08 8B F7 8F 93 51 65 53 D190 01 7E D9 00 41 00 50 00 50 76 84 51 85 5B B9 00 3A 91 02 01 FF 970D 08 00 31 00 32 00 33 00 34 00 35 00 36 90 00
A0 14 00 00 1D 81 03 03 23 03 82 02 82 81 83 01 00 8D 0F 08  00 3100 32 00 33 00 34 00 35 00 36 00 37
91 55
由此可见,在上述代码中,SIM卡除了能够接收应用程序发来的传输数据,并将执行安全运算(如加密或解密、签名或验签)后的数据返回给应用程序之外,还可以通过STK实现一些辅助功能。例如,在上述代码中,SIM卡接收到应用程序下行的数据后,能够弹出STK回显应用程序下行的内容,这样用户可以根据显示结果来确认已发送的内容是否正确,从而能够为用户提供确认功能,这一功能尤其适用于用户通过手机支付等应用程序输入“支付金额、转账信息”等内容时。另外,在上述代码中,SIM卡还可以弹出STK输入框,让用户输入发送给应用程序的内容,由此通过STK输入框为用户提供了输入功能,这一功能尤其适用于需要用户预先输入密码等安全信息的情况下。通过上面的过程,就完成了应用程序与SIM卡之间的双向数据传输。在上述过程中,可以利用短信中心通道传输任何自定义的数据内容。而且,在应用程序传输的数据中还可以进一步包含操作指令码,SIM卡根据操作指令码的类型确定相应的安全处理操作。其中,操作指令码的类型参见上文描述,此处不再赘述。
除了上面介绍的三种通信方式之外,应用程序与SIM卡之间还可以通过第四种方式,即通过“用于访问GP卡的应用程序接口API”进行通信。
GP卡是国际标准,需要手机支持SIM Alliance Open Mobile API,应用程序可以通过SIM Alliance Open Mobile API提供的API对符合GP卡规范的SIM卡进行访问。为了更好的体现SIM卡的安全访问,本发明在SIM卡收到应用程序的下行数据的时候,还插入了STK菜单处理流程,通过STK处理流程,可以提示用户输入SIM卡应用的访问密码,以提高系统的安全性能。在用户输入密码正确后,SIM卡才返回数据给应用程序。
其中,应用程序与SIM卡之间传输的数据符合表5所示的格式:
表5
tar 总条数 当前条数 后续数据长度 应用数据
fefef8
下面结合传输代码来描述一下应用程序与SIM卡之间的交互过程:
//打开逻辑通道
00 70 00 00 01 70 01 90 00
//选择自定义文件
01 A4 04 00 07 A4 A0 00 00 01 51 FE FE 90 00
//应用程序通过执行自定义的apdu下行数据给SIM卡
01 DC 00 42 12 DC FE FE F8 01 01 0C 10 01 0D 08 8B A9 4E D6 54 0C61 0F 91 30
//SIM卡弹出STK显示从应用程序下行的内容(STK菜单可以根据具体应用来设计)
A0 12 00 00 30 12 D0 2E 81 03 01 21 81 82 02 81 02 0D 23 08 65 3652 30 67 65 81 EA 00 41 00 50 00 50 76 84 6D 88 60 6F 00 3A 00 0D 000A 8B A9 4E D6 54 0C 61 0F 90 00
A0 14 00 00 0C 14 81 03 01 21 81 02 02 82 81 83 01 00 91 3B
//SIM卡接着弹出文本输入框,让用户输入返回给应用程序的内容(STK菜单可以根据具体应用来设计)
A0 12 00 00 3B 12 D0 39 81 03 01 23 03 82 02 81 82 8D 1B 088B F78F 93 51 65 53 D1 90 01 7E D9 00 41 00 50 00 50 76 84 51 85 5B B9 003A 91 02 01 FF 97 0D 08 6D 4B 8B D5 4E 0A 88 4C 65 87 67 2C 90 00
A0 14 00 00 27 14 81 03 01 23 03 02 02 82 81 83 01 00 8D 19 08 0035 00 35 00 38 00 38 00 38 00 34 6D 4B 8B D5 4E 0A 88 4C 65 87 67 2C90 00
//应用程序通过执行自定义的apdu取回SIM卡上行的数据
01 B2 00 00 FF B2 FE FE F8 01 01 24 10 01 0D 20 00 32 00 20 00 3A00 20 00 35 00 35 00 38 00 38 00 38 00 34 6D 4B 8B D5 4E 0A 88 4C 6587 67 2C FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF 90 00
//关闭逻辑通道
00 70 80 01 00 90 00
介绍完应用程序与SIM卡之间的上述几种通信方式之后,接下来,结合一个优选实施例详细描述一下本发明提供的基于移动终端智能卡的数据传输方法,如图2所示,该方法包括如下步骤:
步骤S210:开启手机银行应用程序。
步骤S220:手机银行应用程序获取SIM卡的认证。
本步骤为可选步骤,目的在于提高安全性。在本步骤中,手机银行应用程序向SIM卡发送认证请求消息,SIM卡收到该认证请求消息后,弹出STK菜单要求用户输入登录密码,接收到正确的登录密码后,SIM卡生成后续“交互凭证”,并将生成的“交互凭证”以及该SIM卡的“SIM序列号”一并提供给手机银行应用程序,以完成认证过程。其中,“交互凭证”用于在后续步骤中作为合法性标识,供SIM卡判断后面接收到的消息是否是手机银行应用程序发送的合法消息,该“交互凭证”既可以是二维码,也可以是一串随机数字等,只要能够起到标识作用即可。“SIM序列号”用来唯一地标识一张SIM卡。
步骤S230:手机银行应用程序根据用户发出的操作指令,生成各个交易要素。
其中,上述交易要素的具体个数和取值随不同的交易情况而不同。具体地,上述交易要素可以包括交易过程中所涉及到的各项敏感信息,例如,转入账户名、转入账号、转入金额等。
步骤S240:手机银行应用程序凭借步骤S220中得到的“交互凭证”调用SIM卡,利用SIM卡对步骤S230中的各个交易要素进行加密/签名。
其中,手机银行应用程序向SIM卡发送包含步骤S230中的各个交易要素的传输数据,并在传输数据中加入步骤S220中得到的“交互凭证”。SIM卡收到应用程序发来的传输数据后,根据其中的“交互凭证”确认该传输数据合法,然后获取到其中的各个交易要素,利用预先保存在SIM卡上的密钥对各个交易要素进行加密/签名。
步骤S250:SIM卡弹出STK菜单显示上述各个交易要素,供用户确认。
该步骤为可选步骤,目的在于进一步提高交易安全性,防止输入错误的发生。
步骤S260:SIM卡弹出STK输入指令,要求用户输入支付密码或验证码,并对用户输入的支付密码或验证码进行加密。
该步骤也为可选步骤,目的在于进一步提高安全性,通过支付密码或验证码来验证用户身份,防止恶意用户的非法操作。在本发明其他的实施例中,可以跳过该步骤直接执行步骤S270。
步骤S270:手机银行应用程序获取SIM卡返回的响应数据,将该响应数据连同步骤S220中得到的“SIM序列号”一起打包后发送给服务器。
其中,SIM卡返回的响应数据至少包括步骤S240中得到的各个交易要素的加密和或签名结果。另外,当本方法包含步骤S260时,该响应数据进一步包括步骤S260中的支付密码或验证码的加密结果。
步骤S280:服务器收到手机银行应用程序发来的数据包之后,根据其中的“SIM序列号”确定对应的密钥,从而对数据包中包含的交易要素进行解密/验签,并向手机银行应用程序返回交易结果。
其中,在服务器上保存有“SIM序列号”与密钥的对应关系,通过查找该对应关系,服务器即可确定出与该张SIM卡相应的密钥。
在该优选实施例中,应用程序与SIM卡之间进行交互时,可以灵活选用上文介绍的四种交互方式(分别是通过用于保存/读取短信的应用程序接口进行交互的方式、通过用于写入/读取通讯录的应用程序接口进行交互的方式、通过用于访问GP卡的应用程序接口进行交互的方式、和通过用于访问短信中心的应用程序接口进行交互的方式)中的任一方式。其中,应用程序向SIM卡下行数据、以及SIM卡向应用程序上行数据时可以采用同一种交互方式进行;或者,应用程序向SIM卡下行数据、以及SIM卡向应用程序上行数据时也可以分别采用不同的交互方式进行。
另外,在本优选实施例中,是以智能卡为SIM卡为例进行说明的,但本领域技术人员能够理解的是,该智能卡还可以是贴膜卡,其中,贴膜卡属于智能卡范畴,安装在终端智能卡接口与智能卡之间,在终端、贴膜卡及智能卡三者的物理与逻辑关系中,终端把贴膜卡当做智能卡,而智能卡则把贴膜卡当做终端,因贴膜卡不受终端运营商及原有的智能卡的限制,可以根据需要进行定制,因此,采用贴膜卡更容易实现本发明中的定制功能。另外,在本优选实施例中,是以应用程序为手机银行为例进行说明的,但本领域技术人员能够理解的是,本发明还可以用于支付宝应用程序和/或淘宝网应用程序等各类应用程序,本发明对此不作限定。当本发明同时用于多项应用程序时,应用程序向SIM卡发送的传输数据中可以进一步包括应用程序标识,并且,SIM卡中预先存储的密钥为多个分别对应于不同应用程序的密钥,则SIM卡根据该应用程序标识来确定对应的密钥。
另外,应用程序向智能卡传输的传输数据主要为交易要素,智能卡向应用程序返回的响应数据主要为交易要素的加密或签名结果。在本发明其他的实施例中,应用程序向智能卡传输的传输数据还可以是其他各类数据,智能卡根据实际情况下返回的响应数据也可能多种多样,本发明对此不作限定。
如图3所示,本发明还提供了一种移动终端,包括能够执行应用程序的移动终端主体(图未示)以及设置在该移动终端主体中的智能卡31,该智能卡为SIM卡、USIM卡和/或贴膜卡,其中,该智能卡31进一步包括:接收模块311、获取模块312、操作模块313。
其中,接收模块311用于接收由所述移动终端主体中的应用程序发来的传输数据。获取模块312用于获取所述传输数据中包含的操作指令码。操作模块313用于根据所述操作指令码的类型执行对应的操作,其中,当所述操作指令码包括解密/验签类型的指令码时,确定所述传输数据为服务器发送给所述应用程序的已加密/签名数据,则利用预先存储的密钥对所述传输数据进行解密/验签后提供给所述应用程序;或者,当所述操作指令码包括加密/签名类型的指令码时,确定所述传输数据为所述应用程序要发送给服务器的非加密数据,则利用预先存储的密钥对所述传输数据进行加密/签名后提供给所述应用程序,由所述应用程序发送给所述服务器。
其中,所述智能卡上进一步设置有至少一个用于与所述应用程序进行通信的接口:用于保存/读取短信的应用程序接口、用于写入/读取通讯录的应用程序接口、用于访问GP卡的应用程序接口、用于访问短信中心的应用程序接口、和用于读取STK菜单数据的应用程序接口。
可选地,所述应用程序发来的传输数据为短信文件格式,且在所述传输数据中进一步包含第一预设标识,该第一预设标识用于表示该传输数据不是短信数据;或者,所述应用程序发来的传输数据为通讯录文件格式,且在所述传输数据中进一步包含第二预设标识,该第二预设标识用于表示该传输数据不是通讯录数据;或者,所述应用程序发来的传输数据为短信中心文件格式,且在所述传输数据中进一步包含第三预设标识,该第三预设标识用于表示该传输数据不是短信中心数据。
可选地,所述操作模块进一步用于:当所述操作指令码包括本地密码认证类型的指令码时,则提示用户输入本地密码,并判断用户在预设次数内输入的本地密码是否正确,只有在输入的本地密码正确时才允许执行后续操作。或者,所述操作模块进一步用于:当所述操作指令码包括显示内容类型的指令码时,将所述传输数据的内容显示给所述应用程序。
上述应用程序可以包括:手机银行应用程序、电商应用程序、第三方支付应用程序、支付宝应用程序和/或淘宝网应用程序,则所述应用程序发来的传输数据中进一步包括应用程序标识,且所述智能卡中预先存储的密钥为多个分别对应于不同应用程序的密钥,所述操作模块根据所述应用程序标识来确定对应的密钥。
在本发明提供的基于移动终端智能卡的数据传输方法及移动终端中,利用应用程序能够访问智能卡中的短信、通讯录、短信中心数据以及GP卡数据的特性,使应用程序能够通过相应的保存/读取短信的应用程序接口、写入/读取通讯录的应用程序接口、访问GP卡的应用程序接口、和/或访问短信中心的应用程序接口来实现与智能卡之间的数据通信。在此基础上,将加解密或签名验签时所需的密钥保存在智能卡上,当移动终端内部的应用程序需要与服务器进行数据传输时,由智能卡根据保存的密钥执行加解密或签名验签运算,并将运算后的数据提供给移动终端内部应用程序。由于在一般情况下,无法直接读取智能卡内部存储的数据,因此,采用本发明中的处理方式,避免了现有技术中直接将密钥保存在移动终端上所导致的密钥泄露问题,同时显著提高了数据传输时的安全性。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (10)

1.一种基于移动终端智能卡的数据传输方法,该智能卡为SIM卡、USIM卡和/或贴膜卡,其特征在于,包括:
所述智能卡接收由所述移动终端中的应用程序发来的传输数据;
所述智能卡获取所述传输数据中包含的操作指令码并根据所述操作指令码的类型执行对应的操作,其中,当所述操作指令码包括解密/验签类型的指令码时,所述智能卡利用预先存储的密钥对所述传输数据进行解密/验签后提供给所述应用程序;或者,当所述操作指令码包括加密/签名类型的指令码时,所述智能卡利用预先存储的密钥对所述传输数据进行加密/签名后提供给所述应用程序;
其中,所述智能卡与所述应用程序之间通过以下接口中的至少一个接口进行通信:用于保存/读取短信的应用程序接口、用于写入/读取通讯录的应用程序接口、用于访问GP卡的应用程序接口、用于访问短信中心的应用程序接口、和用于读取STK菜单数据的应用程序接口。
2.根据权利要求1所述的数据传输方法,其特征在于,当所述智能卡与所述应用程序之间通过所述用于保存/读取短信的应用程序接口进行通信时,所述应用程序预先将所述传输数据转换为短信文件格式,且在所述传输数据中进一步包含第一预设标识,该第一预设标识用于表示该传输数据不是短信数据;
当所述智能卡与所述应用程序之间通过所述用于写入/读取通讯录的应用程序接口进行通信时,所述应用程序预先将所述传输数据转换为通讯录文件格式,且在所述传输数据中进一步包含第二预设标识,该第二预设标识用于表示该传输数据不是通讯录数据;
当所述智能卡与所述应用程序之间通过所述用于访问短信中心的应用程序接口进行通信时,所述应用程序预先将所述传输数据转换为短信中心文件格式,且在所述传输数据中进一步包含第三预设标识,该第三预设标识用于表示该传输数据不是短信中心数据。
3.根据权利要求1所述的数据传输方法,其特征在于,在所述智能卡获取所述传输数据中包含的操作指令码并根据所述操作指令码的类型执行对应的操作的步骤中进一步包括:当所述操作指令码包括本地密码认证类型的指令码时,则提示用户输入本地密码,并判断用户在预设次数内输入的本地密码是否正确,只有在输入的本地密码正确时才允许执行后续操作。
4.根据权利要求1所述的数据传输方法,其特征在于,在所述智能卡获取所述传输数据中包含的操作指令码并根据所述操作指令码的类型执行对应的操作的步骤中进一步包括:当所述操作指令码包括显示内容类型的指令码时,对所述传输数据的内容进行显示。
5.根据权利要求1至4任一所述的数据传输方法,其特征在于,所述应用程序包括:手机银行应用程序、电商应用程序、第三方支付应用程序,则所述应用程序发来的传输数据中进一步包括应用程序标识,且所述智能卡中预先存储的密钥为多个分别对应于不同应用程序的密钥,所述智能卡根据所述应用程序标识来确定对应的密钥。
6.一种移动终端,包括能够执行应用程序的移动终端主体以及设置在所述移动终端主体中的智能卡,该智能卡为SIM卡、USIM卡和/或贴膜卡,其特征在于,所述智能卡进一步包括:
接收模块,用于接收由所述移动终端主体中的应用程序发来的传输数据;
获取模块,用于获取所述传输数据中包含的操作指令码;
操作模块,用于根据所述操作指令码的类型执行对应的操作,其中,当所述操作指令码包括解密/验签类型的指令码时,则利用预先存储的密钥对所述传输数据进行解密/验签后提供给所述应用程序;或者,当所述操作指令码包括加密/签名类型的指令码时,则利用预先存储的密钥对所述传输数据进行加密/签名后提供给所述应用程序;
其中,所述智能卡上进一步设置有至少一个用于与所述应用程序进行通信的接口:用于保存/读取短信的应用程序接口、用于写入/读取通讯录的应用程序接口、用于访问GP卡的应用程序接口、用于访问短信中心的应用程序接口、和用于读取STK菜单数据的应用程序接口。
7.根据权利要求6所述的移动终端,其特征在于,所述应用程序发来的传输数据为短信文件格式,且在所述传输数据中进一步包含第一预设标识,该第一预设标识用于表示该传输数据不是短信数据;或者,
所述应用程序发来的传输数据为通讯录文件格式,且在所述传输数据中进一步包含第二预设标识,该第二预设标识用于表示该传输数据不是通讯录数据;或者,
所述应用程序发来的传输数据为短信中心文件格式,且在所述传输数据中进一步包含第三预设标识,该第三预设标识用于表示该传输数据不是短信中心数据。
8.根据权利要求6所述的移动终端,其特征在于,所述操作模块进一步用于:当所述操作指令码包括本地密码认证类型的指令码时,则提示用户输入本地密码,并判断用户在预设次数内输入的本地密码是否正确,只有在输入的本地密码正确时才允许执行后续操作。
9.根据权利要求6所述的移动终端,其特征在于,所述操作模块进一步用于:当所述操作指令码包括显示内容类型的指令码时,对所述传输数据的内容进行显示。
10.根据权利要求6至9任一所述的移动终端,其特征在于,所述应用程序包括:手机银行应用程序、电商应用程序、第三方支付应用程序,则所述应用程序发来的传输数据中进一步包括应用程序标识,且所述智能卡中预先存储的密钥为多个分别对应于不同应用程序的密钥,所述操作模块根据所述应用程序标识来确定对应的密钥。
CN201410394472.XA 2014-08-12 2014-08-12 基于移动终端智能卡的数据传输方法及移动终端 Pending CN104184892A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410394472.XA CN104184892A (zh) 2014-08-12 2014-08-12 基于移动终端智能卡的数据传输方法及移动终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410394472.XA CN104184892A (zh) 2014-08-12 2014-08-12 基于移动终端智能卡的数据传输方法及移动终端

Publications (1)

Publication Number Publication Date
CN104184892A true CN104184892A (zh) 2014-12-03

Family

ID=51965611

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410394472.XA Pending CN104184892A (zh) 2014-08-12 2014-08-12 基于移动终端智能卡的数据传输方法及移动终端

Country Status (1)

Country Link
CN (1) CN104184892A (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105592032A (zh) * 2014-12-23 2016-05-18 中国银联股份有限公司 基于互联网的安全性信息交互方法
CN105763325A (zh) * 2016-05-10 2016-07-13 中国联合网络通信集团有限公司 加密认证方法及装置
WO2016188079A1 (zh) * 2015-05-22 2016-12-01 中兴通讯股份有限公司 终端设备的数据存储方法及终端设备
CN106211032A (zh) * 2016-06-28 2016-12-07 公安部第三研究所 基于stk实现蓝牙sim卡配对和数字签名处理的方法
CN106254323A (zh) * 2016-07-27 2016-12-21 恒宝股份有限公司 一种ta和se的交互方法、ta、se及tsm平台
WO2017076173A1 (zh) * 2015-11-03 2017-05-11 国民技术股份有限公司 一种移动终端及其交易确认方法、装置以及一种智能卡
CN107508814A (zh) * 2017-08-30 2017-12-22 恒宝股份有限公司 数据加密方法、解密方法、装置及系统
CN108243402A (zh) * 2015-12-09 2018-07-03 广东欧珀移动通信有限公司 一种读写智能卡的方法及装置
CN108694340A (zh) * 2017-04-06 2018-10-23 北京华虹集成电路设计有限责任公司 一种智能卡数据写入的方法及装置
CN109450620A (zh) * 2018-10-12 2019-03-08 阿里巴巴集团控股有限公司 一种移动终端中共享安全应用的方法及移动终端
CN109560932A (zh) * 2017-09-25 2019-04-02 北京云海商通科技有限公司 身份数据的识别方法、装置及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1929654A (zh) * 2006-09-13 2007-03-14 北京握奇数据系统有限公司 移动通信用户身份识别卡信息直接交互方法及其支持设备
CN101616415A (zh) * 2006-09-13 2009-12-30 北京握奇数据系统有限公司 移动通信用户身份识别卡信息直接交互方法及其支持设备
CN103037071A (zh) * 2011-09-30 2013-04-10 王海泉 一种手机上通过软件与用户身份识别卡交换数据的方法
CN103905624A (zh) * 2012-12-28 2014-07-02 中国电信股份有限公司 数字签名的生成方法与手机终端

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1929654A (zh) * 2006-09-13 2007-03-14 北京握奇数据系统有限公司 移动通信用户身份识别卡信息直接交互方法及其支持设备
CN101616415A (zh) * 2006-09-13 2009-12-30 北京握奇数据系统有限公司 移动通信用户身份识别卡信息直接交互方法及其支持设备
CN103037071A (zh) * 2011-09-30 2013-04-10 王海泉 一种手机上通过软件与用户身份识别卡交换数据的方法
CN103905624A (zh) * 2012-12-28 2014-07-02 中国电信股份有限公司 数字签名的生成方法与手机终端

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105592032A (zh) * 2014-12-23 2016-05-18 中国银联股份有限公司 基于互联网的安全性信息交互方法
CN105592032B (zh) * 2014-12-23 2018-11-27 中国银联股份有限公司 基于互联网的安全性信息交互方法
WO2016188079A1 (zh) * 2015-05-22 2016-12-01 中兴通讯股份有限公司 终端设备的数据存储方法及终端设备
WO2017076173A1 (zh) * 2015-11-03 2017-05-11 国民技术股份有限公司 一种移动终端及其交易确认方法、装置以及一种智能卡
CN108243402A (zh) * 2015-12-09 2018-07-03 广东欧珀移动通信有限公司 一种读写智能卡的方法及装置
CN108243402B (zh) * 2015-12-09 2021-06-01 Oppo广东移动通信有限公司 一种读写智能卡的方法及装置
CN105763325A (zh) * 2016-05-10 2016-07-13 中国联合网络通信集团有限公司 加密认证方法及装置
CN106211032A (zh) * 2016-06-28 2016-12-07 公安部第三研究所 基于stk实现蓝牙sim卡配对和数字签名处理的方法
CN106254323A (zh) * 2016-07-27 2016-12-21 恒宝股份有限公司 一种ta和se的交互方法、ta、se及tsm平台
CN108694340A (zh) * 2017-04-06 2018-10-23 北京华虹集成电路设计有限责任公司 一种智能卡数据写入的方法及装置
CN107508814A (zh) * 2017-08-30 2017-12-22 恒宝股份有限公司 数据加密方法、解密方法、装置及系统
CN109560932A (zh) * 2017-09-25 2019-04-02 北京云海商通科技有限公司 身份数据的识别方法、装置及系统
CN109450620A (zh) * 2018-10-12 2019-03-08 阿里巴巴集团控股有限公司 一种移动终端中共享安全应用的方法及移动终端

Similar Documents

Publication Publication Date Title
CN104184892A (zh) 基于移动终端智能卡的数据传输方法及移动终端
Mulliner Vulnerability analysis and attacks on NFC-enabled mobile phones
CN108496382B (zh) 用于个人身份认证的安全信息传输系统和方法
CN108989346B (zh) 基于账号隐匿的第三方有效身份托管敏捷认证访问方法
EP1804418A1 (en) A dynamic password authentication system and the method thereof
CN102202306B (zh) 移动安全认证终端及方法
CN104486343A (zh) 一种双因子双向认证的方法及系统
CN101557585B (zh) 一种智能卡
CN101189616A (zh) 帮助实现和认证事务
GB2424113A (en) Electronic system for provision of banking services
CN107133830B (zh) 一种基于短信开具电子发票的方法及系统
CN103561115A (zh) 实时获取电子码的方法、开放平台及系统
US11403633B2 (en) Method for sending digital information
CN103942845A (zh) 一种电子发票的查验方法
CN102571359A (zh) 基于智能卡的云桌面认证方法
CN110677399B (zh) 鉴权方法及装置
CN105142139A (zh) 验证信息的获取方法及装置
CN103607416A (zh) 一种网络终端机器身份认证的方法及应用系统
CN110061967A (zh) 业务数据提供方法、装置、设备及计算机可读存储介质
CN105338000A (zh) 一种验证方法、验证系统
CN114036495B (zh) 一种更新私有化部署验证码系统的方法及装置
CN103763370B (zh) 一种更改移动终端工作区锁屏密码的方法、系统及装置
CN101820593A (zh) 一种智能sim卡及通过该卡实现数据短消息传输和处理的方法
CN105321069A (zh) 一种实现远程支付的方法及装置
CN104541488A (zh) 保护机密数据机密性的验证系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20160108

Address after: 541004, the Guangxi Zhuang Autonomous Region Guilin seven star high tech Zone Information Industry Park D-08 plots of 1 factories

Applicant after: GUILIN WEIWANG INTERNET INFORMATION TECHNOLOGY CO., LTD.

Address before: 541004, Lijiang building, 18 Lijiang Road, Qixing District, Guilin, the Guangxi Zhuang Autonomous Region, China two

Applicant before: Guilin MicroNet Semiconductors Co., Ltd.

RJ01 Rejection of invention patent application after publication

Application publication date: 20141203

RJ01 Rejection of invention patent application after publication