CN102740272A - 实现手机应用通过自定义接口和sim卡交互的方法 - Google Patents
实现手机应用通过自定义接口和sim卡交互的方法 Download PDFInfo
- Publication number
- CN102740272A CN102740272A CN2011100934987A CN201110093498A CN102740272A CN 102740272 A CN102740272 A CN 102740272A CN 2011100934987 A CN2011100934987 A CN 2011100934987A CN 201110093498 A CN201110093498 A CN 201110093498A CN 102740272 A CN102740272 A CN 102740272A
- Authority
- CN
- China
- Prior art keywords
- mobile phone
- phone application
- sim
- file
- character string
- 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
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
- Telephone Function (AREA)
Abstract
本发明提出了一种实现手机应用通过自定义接口和SIM卡交互的方法。现有手机都支持由GSM11.11规范定义的机卡交互接口。这些接口主要包括选择、读写、有效使能等文件操作接口,以及算法计算、权限验证等安全操作接口。这些接口功能单一,而GSM11.11规范本身又不支持接口扩展,所以无法满足手机应用和SIM卡的复杂交互需求。本发明提出了一种方法,将用户自定义接口规定为由请求-响应命令对构成,手机应用将请求命令转换为字符串,使用文件写操作将该字符串写入文件中;SIM卡中的片内软件读取该文件以得到请求命令,处理完毕后构造响应命令,并转换为字符串写入到文件中,手机应用通过读取文件来得到响应命令,从而实现手机应用通过自定义接口和SIM卡的复杂交互。
Description
技术领域
本发明属于SIM卡领域,尤其涉及手机和SIM卡的机卡接口交互领域。
背景技术
智能卡芯片(也称IC卡芯片),是一种将存储、安全、IO接口、数据处理功能集成到一个集成电路中的芯片。智能卡芯片由于其国际标准化、智能化和安全特性,可以封装为各种卡形态,应用于各个领域,其中最主要的是在手机终端中作为SIM(Subscriber Indentity ModuleCard,用户识别模块)卡的应用。
在手机SIM卡上,GSM11.11规范定义了SIM卡内的基本文件组成,以及手机和SIM卡的一套标准机卡交互接口。该套机卡交互接口主要包括文件操作和安全操作两大类:其中文件类包括选择文件(SELECT)、使文件有效(REHABILITATE)、使文件无效(INVALIDATE)、读透明文件(READBINARY)、更新透明文件(UPDATEBINARY)、读记录文件(READRECORD)、更新记录文件(UPDATERECORD);安全操作类包括VERIFY CHV(验证权限)、RUN GSMALGORITHM(运行算法)。
GSM11.11标准将上述机卡接口采用ISO/IEC 7816-4标准规定的标准APDU来承载,请参阅图2,该图描述了ISO/IEC 7816-4标准规定的APDU数据格式。该数据格式分为命令APDU和响应APDU两类,终端发出命令APDU,SIM卡返回响应APDU。各组成字段的定义如下:
(1)CLA字段是指令的类别(ISO/IEC 7816-3[25]),其中‘A0’用于GSM应用。
(2)INS字段是指令代码(ISO/IEC 7816-3[25]),各命令被分配一个唯一的代码。
(3)P1,P2,P3字段是命令的参数,其中P1和P2根据命令的不同其含义也不同;P3表示DATA数据字段的长度,P3=‘00’在输出数据的响应APDU中表示从SIM卡传送一个256字节数据,P3=‘00’在命令APDU中表示没有携带数据。
(4)DATA数据字段,表示命令携带的数据。
(5)SW1和SW2字段,表示命令结果成功与否的状态。
GSM11.11将每个机卡接口映射到上述APDU上,主要将APDU中的各个字段值做了明确定义,例如GSM11.11定义的选择文件(SELECT)操作的命令APDU定义如下:CLA=’A0’,INS=’A4’,P1=’00’,P2=’00’,P3=’02’。其他接口以此类推。
由于GSM11.11规范只定义了有限的接口,如果手机应用和SIM卡的交互操作超过上述接口功能范围,那么就需要扩展自定义接口了。
一种扩展自定义接口的方法是分配一个新的未使用过的INS字段值和P1/P2/P3参数值,构造新的APDU,但是该方法实际上不可用。请参阅图3,该图描述了手机应用、基带处理器和SIM卡的连接关系示意图。通过该图可知,手机应用运行在手机应用处理器上,访问SIM卡时,首先是要将访问操作传递给基带,然后由基带中转访问SIM卡;SIM卡的响应也是通过手机基带作为中转环节返回给手机应用。由于手机基带都严格遵循GSM11.11规范开发,所以对于用户自定义接口的INS和参数值都认为是非法的,直接返回错误。
另一种扩展自定义接口的方法在SIM卡内建立一些新的文件,通过读写新文件来表示不同的操作,但是因为基带处理器对非GSM11.11规定的基本文件的操作也认为是非法的,所以该方法也不可用。
还一种方法是在自定义接口后,修改基带处理中的代码,使之能够支持新的非GSM11.11标准的APDU命令,但该方法代价大,而且无法兼容已有的存量手机。
综上所述,需要提供一种方法,只能利用GSM11.11标准化的机卡接口和基本文件,来实现用户自定义接口的扩展。
发明内容
本发明提出了一种利用GSM11.11标准的文件操作接口和基本文件,实现手机应用通过自定义接口和SIM卡交互的方法。该方法将用户自定义接口都规定为由一对请求命令和响应命令构成,手机应用发出请求命令,然后等待SIM卡返回响应命令,完成一次交互。请求命令和响应命令都被转化为对SIM卡的文件读写操作。
请求命令和响应命令转化为文件读写操作的流程如下:
(1)手机应用将请求命令转化为字符串,然后发出“select”来选择SIM卡中的一个特定文件;SIM卡内软件监听对该文件的操作,收到选择命令后,返回表示成功的“0x90xx”。
(2)手机应用发出标准的verify chv命令提供该特定文件的写操作权限;SIM卡验证该权限,成果的话返回“0x9000”。
(3)手机应用发出标准的update binary或update recorder写文件操作,将请求命令转化的字符串写入到SIM中该特定文件中。SIM卡返回表示成功的“0x9000”。
(4)手机应用发出标准read binary/read recorder读文件操作,等待该文件可被读取的通知。该读操作同时也表明了请求命令已经写完成,请求SIM处理。
(5)SIM卡内软件监听对手机应用该文件的读操作后,从该特定文件中读出字符串并恢复出请求命令,然后进行处理。处理过程中,用“0x60”通知手机应用进行等待。处理完毕后,用得到的结果构造响应命令并转化为字符串,然后写入到该特定文件中。然后返回表示成功的“0x9000”给手机应用。
(6)手机应用收到“0x9000”后,从该特定文件中读出字符串,并重新恢复出响应命令进行处理,完成一次交互。
上述特定文件,是一个被GSM11.11标准规定的基本文件,然后在该文件中分配一段空间作为请求区域,用于写入请求命令转化的字符串;分配一段空间作为响应区域,用来写入响应命令转化的串。
附图说明
图1为本发明的方法交互流程示意图
图2为ISO/IEC 7816-4标准定义的APDU数据格式示意图
图3为手机应用、基带处理器和SIM卡的连接关系示意图
图4为用于实现自定义密钥对推导接口的交互流程示意图
具体实施方案
下面结合本发明的具体实现方案来对本发明做进一步描述。
本示例具体实现,假设手机应用需要扩展一个自定义接口:密钥对推导,要求SIM卡计算一个公私钥对,并返回公钥给手机应用。该接口被规定分为由密钥对推动请求命令和密钥对推导响应命令一对命令构成。
其中密钥对推导请求命令定义如下:
密钥对推导请求命令 |
命令编码:0x01 |
参数长度:0x0000 |
参数:无 |
密钥对推导请求命令转化的字符串为”0x010000”。
其中密钥对推导响应命令定义如下:
密钥对推导响应命令转化的字符串为”0x020004xxxxxxxx”,其中xx表示根据实际情况填充具体的值。
本示例实现中,我们选择利用GSM11.11定义的标准文件EFAD(文件ID 6FAD)来作为中转承载自定义接口。
GSM11.11标准中,EFAD文件定义如下:
本示例中对EFAD文件中的保留字段进行复用,扩展后定义如下:
本示例中将请求命令和响应命令的最大可能长度限定为128字节。
如图4所示,该图描述了使用EFAD作为中转的手机应用和SIM卡自定义密钥对推导接口的交互流程。
(1)手机应用将密钥对请求命令转化为字符串’0x010000’,然后发出“select”来选择SIM卡中的EFAD文件;SIM卡内软件监听对该文件的操作,收到选择命令后,返回表示成功的“0x90xx”。
(2)手机应用发出标准的verify chv命令提供对EFAD文件的写操作权限;SIM卡验证该权限,成果的话返回“0x9000”。
(3)手机应用发出标准的update binary写文件操作,将请求命令串’0x010000’写入到EFAD文件中的请求命令字段中。SIM卡返回表示成功的“0x9000”。
(4)手机应用随后发出标准的read binary读文件操作,等待SIM卡返回“0x9000”以表示该文件可被读取。
(5)SIM卡内软件监听到手机应用对EFAD文件的读操作后,从该文件中读出字符串并恢复出密钥对请求命令,然后进行密钥对推导,其中生成的公钥假设为’0x01020304’。推导过程中,用“0x60”通知手机应用继续等待。处理完毕后,构造响应命令并转化为字符串’0x02000401020304’,然后写入到EFAD的响应命令字段中。然后返回表示成功的“0x9000”给手机应用。
(6)手机应用收到“0x9000”后,从EFAD文件中读出字符串,并重新恢复出密钥对推导响应命令进行处理,从而完成了密钥对推导这个自定义接口的交互。
综上所述,利用本发明方法,直接利用了GSM11.11标准的文件操作接口和基本文件,就实现了手机应用通过自定义接口和SIM卡的交互。该方法所有手机都支持,通用性强;不需要修改基带处理器,代价小;很好的解决了用户的应用扩展需求。
Claims (3)
1.一种实现手机应用通过自定义接口和SIM卡交互的方法,其特征在于:手机应用和SIM卡之间的自定义接口由一对请求命令和响应命令构成,手机应用发出请求命令,然后等待SIM卡返回响应命令,完成一次交互,其中请求命令和响应命令都被转化为对SIM卡的文件读写操作。
2.根据权利要求1所述的方法,其特征在于:请求命令和响应命令转化为文件读写操作的流程如下:
(1)手机应用将请求命令转化为字符串,然后选择SIM卡中的一个特定文件;SIM卡内软件监听对该特定文件的操作,收到选择命令后,返回表示成功的字符串;
(2)手机应用发出权限验证命令提供该特定文件的写操作权限;SIM卡验证该权限,成果的话返回表示成功的字符串;
(3)手机应用发出写文件操作命令,将请求命令转化的字符串写入到SIM中该特定文件中,SIM卡返回表示成功的字符串;
(4)手机应用发出读文件操作命令,等待该特定文件可被读取的通知,该读操作同时也表明了请求命令已经写完成,请求SIM处理;
(5)SIM卡内软件监听对手机应用该文件的读操作命令后,从该特定文件中读出请求命令转化的字符串并恢复出请求命令,然后进行处理;处理过程中,通知手机应用进行等待;处理完毕后,用得到的结果构造响应命令并转化为字符串,然后写入到该特定文件中;然后返回表示成功的字符串给手机应用;
(6)手机应用收到表示成功的字符串后,从该特定文件中读出字符串,并重新恢复出响应命令进行处理,完成一次交互。
3.根据权利要求1所述的方法,其特征在于:所述特定文件,是一个被标准规定的基本文件,然后在该文件中分配一段空间作为请求区域,用于写入请求命令转化的字符串;分配一段空间作为响应区域,用来写入响应命令转化的字符串。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100934987A CN102740272A (zh) | 2011-04-14 | 2011-04-14 | 实现手机应用通过自定义接口和sim卡交互的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100934987A CN102740272A (zh) | 2011-04-14 | 2011-04-14 | 实现手机应用通过自定义接口和sim卡交互的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102740272A true CN102740272A (zh) | 2012-10-17 |
Family
ID=46994880
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011100934987A Pending CN102740272A (zh) | 2011-04-14 | 2011-04-14 | 实现手机应用通过自定义接口和sim卡交互的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102740272A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103455349A (zh) * | 2013-08-27 | 2013-12-18 | 中国联合网络通信集团有限公司 | 应用程序访问智能卡的方法和装置 |
CN106470414A (zh) * | 2015-08-21 | 2017-03-01 | 深圳乐易派科技有限公司 | 访问sim卡的方法和装置 |
CN106714141A (zh) * | 2016-12-22 | 2017-05-24 | 捷开通讯(深圳)有限公司 | 一种终端应用与sim卡交互的方法及终端 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101383994A (zh) * | 2007-09-07 | 2009-03-11 | 凤凰微电子(中国)有限公司 | 一种apdu命令的数据处理方法 |
CN101400164A (zh) * | 2007-09-29 | 2009-04-01 | 凤凰微电子(中国)有限公司 | 一种智能卡及其实现部署定制业务的系统及方法 |
-
2011
- 2011-04-14 CN CN2011100934987A patent/CN102740272A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101383994A (zh) * | 2007-09-07 | 2009-03-11 | 凤凰微电子(中国)有限公司 | 一种apdu命令的数据处理方法 |
CN101400164A (zh) * | 2007-09-29 | 2009-04-01 | 凤凰微电子(中国)有限公司 | 一种智能卡及其实现部署定制业务的系统及方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103455349A (zh) * | 2013-08-27 | 2013-12-18 | 中国联合网络通信集团有限公司 | 应用程序访问智能卡的方法和装置 |
CN103455349B (zh) * | 2013-08-27 | 2016-08-10 | 中国联合网络通信集团有限公司 | 应用程序访问智能卡的方法和装置 |
CN106470414A (zh) * | 2015-08-21 | 2017-03-01 | 深圳乐易派科技有限公司 | 访问sim卡的方法和装置 |
CN106714141A (zh) * | 2016-12-22 | 2017-05-24 | 捷开通讯(深圳)有限公司 | 一种终端应用与sim卡交互的方法及终端 |
CN106714141B (zh) * | 2016-12-22 | 2020-09-25 | Tcl移动通信科技(宁波)有限公司 | 一种终端应用与sim卡交互的方法及终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100438409C (zh) | 具有金融交易报文处理能力的智能卡及其工作方法 | |
CN101383017B (zh) | 一种智能sd卡及访问智能sd卡的方法 | |
US8789146B2 (en) | Dual interface device for access control and a method therefor | |
US20150029003A1 (en) | Mifare push | |
CN102122415B (zh) | 基于安全tf卡和nfc技术的非接触式移动支付终端及支付方法 | |
JP2008210301A (ja) | 記憶媒体、通信システム、並びに制御装置。 | |
US8521084B2 (en) | Methods, systems and arrangements for wireless communication with near-field communication terminals | |
CN101520854B (zh) | 一种智能存储卡及其数据安全控制系统和方法 | |
CN103559523B (zh) | 基于swp se实现的非接触读写设备及方法 | |
CN103544114A (zh) | 基于单cpu卡的多m1卡控制系统及其控制方法 | |
US20130179499A1 (en) | Method, apparatus and system for displaying radio frequency identification application information | |
CN101866411A (zh) | 非接触式cpu卡一卡多应用安全认证加密方法及系统 | |
CN101620758A (zh) | 一种支持Web服务的智能卡 | |
CN102740272A (zh) | 实现手机应用通过自定义接口和sim卡交互的方法 | |
JP2010534369A (ja) | 独自のメモリ装置識別表示を管理する方法、サーバー及びモバイル通信装置 | |
WO2012041070A1 (zh) | 一种射频识别标签访问方法及设备 | |
CN102750567A (zh) | 一种支持多账户能用于远程移动支付和近程通信的sd卡 | |
CN103605545A (zh) | 一种移动支付对卡、应用程序更新方法及系统 | |
CN202075818U (zh) | 基于安全tf卡和nfc技术的非接触式移动支付终端 | |
US8276188B2 (en) | Systems and methods for managing storage devices | |
JP3636989B2 (ja) | データ処理装置、集積回路、icカード、データ処理方法及びデータ処理用プログラム | |
CN105490708A (zh) | 一种读写智能卡的方法及装置 | |
CN2929835Y (zh) | 具有金融交易报文处理能力的智能卡 | |
CN204442376U (zh) | 近场通讯装置 | |
JP2011060136A (ja) | 携帯可能電子装置、および、携帯可能電子装置におけるデータ管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20121017 |