移动应用与智能卡之间的专用数据通道建立方法

文档序号:7656083阅读:150来源:国知局

专利名称::移动应用与智能卡之间的专用数据通道建立方法
技术领域
:本发明涉及智能卡应用,具体涉及一种移动应用与智能卡之间的专用数据通道建立方法。
背景技术
:随着无线通信技术的飞速发展和广泛应用,各种各样的移动增值业务/应用相继出现。其中比较典型的有两类基于移动终端的应用和基于智能卡的应用。前者虽得到了一定程度的发展,但由于很少受运营商的监管,因此得不到运营商的大力支持;而基于智能卡的应用,由于其集成在智能卡内,完全受运营商的监控,因此,比基于移动终端的应用更容易得到运营商的支持,从而得到大面积的推广。'但是,由于受到包括智能卡的处理能力、通信手段和容量在内的诸多技术条件的限制,导致目前基于智能卡的应用只能提供功能简单、模式单一的应用,典型的如SIM卡应用工具箱SIMApplicationToolkit(简称SAT或STK),只能提供纯文字菜单式的显示。这与基于移动终端的应用发展形成了很大的反差,与整个移动通信行业的飞速发展脱节。在IC技术和工艺的发展下,智能卡cpu的处理能力已经提升到了几十兆和几百兆mips,并且存储数据的容量也从以前的64K/256Kbyte提高到256Mbyte,甚至Giga级别,而移动终端和智能卡之间的通信手段由于要和移动终端保持兼容的原因,依然采用ISO/正C7816-4的低速接口,高速接口的智能卡还未成为主流的应用。因此,面对高处理能力,高容量的智能卡,和低速的终端设备和智能卡之间的通信接口,如何开发出新的基于智能卡的应用成为当务之急。由于移动终端和智能卡之间通信使用ISO/IEC7816-4的低速接口,下面做个筒单的描述ISO/IEC7816-4是主从结构、命令响应式的协议。APDU分为命令APDU和响应APDU两类。由主机端向智能卡发出命令APDU;智能卡接受命令APDU后,执行命令并返回响应APDU。命令APDU包括一个必备的4字节的命令头(CLA、INS、Pl、P2)和一个可选的可变长度的数据体(Lc、Data、Le),如下所示<table>tableseeoriginaldocumentpage6</column></row><table>命令头为命令的编码,Lc为体内数据Data的长度;Data为发送的数据;Le是期望应答APDU数据字段的最大字节数。当Le-0时,表示请求送回最大应答数据字节数,如Le为l字节长度,则最大数据字节数为256。命令APDU命令头中的各字节的含义为CLA:指令类别,GSM11.11规定,OxAO用于GSM应用;INS:指令代码;Pl、P2:指令的参数,Pl、P2的含义和具体指令相关。在GSM应用中,对ISO/IEC7816-4的命令APDU格式进行了精简,其命令APDU的格式如下<table>tableseeoriginaldocumentpage6</column></row><table>其中,P3表示指令中送给SIM卡的数据长度,或是表示等待从卡响应的数据最大长度。响应APDU由可变长度的数据体和2字节尾部组成,其中凄t据体可选,尾部必备,如下表所示<table>tableseeoriginaldocumentpage6</column></row><table>其中,数据体的字节数由命令APDU的Le指出。Data是接收设备,如智能卡,接收命令APDU并进行处理后送回发送设备,如接口设备,的数据。尾部SW1和SW2为状态代码,各一个字节,指示命令执行的结果正确与否。第三代移动伙伴计划技术规范3GPPTS07.07规范中定义了适用于移动终端的AT命令集。除了一些针对具体应用的①专用命令外,如选择电话本存储空间等,还有②两条通用AT命令可用于直接向用户识别模块一SIM卡发送APDU命令。这两条命令分别是CSIM和CRSM。其中,CSIM是通用SIM访问命令GenericSIMaccess,通过此命令移动终端可以向SIM发送和返回所有符合GSM11.11规范中的APDU命令;而CRSM是受限SIM访问命令RestrictedSIMaccess,只可以传输GSM11.11规范中指定的六条命令,包括读/更新二进制READ/UPDATEBINARY、读/更新记录READ/UPDATERECORD、取响应GETRESPONSE,获取状态STATUS等。由于上迷直接向智能卡发送APDU的AT命令都是可选命令,并非所有的基带处理器都提供对它们的支持。即便提供,如果移动终端的操作系统或人机接口MMI不对上层应用软件提供相应的应用编程接口ApplicationProgrammingInterface(简称API),移动终端的应用软件,即移动应用,仍无法使用所迷AT命令来建立一种统一的、通用的可以直接访问智能卡内数据的通道。
发明内容本发明需要解决的技术问题是提供移动应用与智能卡之间的专用数据通道建立方法,能够基于标准APDU命令及其协议扩展建立移动应用与智能卡之间统一的、通用的专用数据传输通道。本发明为解决上述技术问题,提出了三种解决方法。①一种移动应用与智能卡之间的专用数据通道建立方法,包括以下步骤移动终端向智能卡发送APDU命令,智能卡识别接收的所述APDU命令中的参数的组合设置建立所述专用数据通道。按照本发明提供的建立方法,所述APDU命令包括更新二进制UPDATEBINARYAPDU命令及其响应和读二进制READBINARYAPDU命令及其响应。按照本发明提供的建立方法,所述APDU命令中的参数是ISO/IEC7816协议中定义的PI,P2,Lc和Le。按照本发明提供的建立方法,所述APDU命令中的参数是GSM协议中定义的Pl,P2和P3。②一种移动应用与智能卡之间的专用数据通道建立方法,包括以下步骤移动终端以约定的次数和约定的顺序向智能卡连续发送APDU命令,智能卡对接收的所述ADPU命令的次数和顺序进行判断,若符合约定,则建立数据通道。按照本发明提供的建立方法,所述APDU命令包括选择文件SELECTFILEAPDU命令;所述约定的次数和约定的顺序包括所述选择文件SELECT亂按照本发明提供的建立方法,所述APDU命令包括选择文件SELECTFILEAPDU命令和读记录READRECORDAPDU命令;所述约定的次数和约定的顺序包括所述选择文件SELECTFILEAPDU命令选择约定的记录文件,所述读记录READRECORDAPDU命令以约定的次数读取约定记录文件中的约定记录号。按照本发明提供的建立方法,所述APDU命令包括选择文件SELECTFILEAPDU命令和读二进制READBINARYAPDU命令;所述约定的次数和约定的顺序包括所述选择文件SELECTFILEAPDU命令选择约定的透明文件,所述读二进制READBINARYAPDU命令以约定的次数读取约定透明文件中的约定位置字节的数值。③一种移动应用与智能卡之间的专用数据通道建立方法,包括以下步骤步骤1)移动终端以约定的次数和约定的顺序向智能卡连续发送APDU命令,智能卡对接收的所述ADPU命令的次数和顺序进行判断,若符合约定,则进入下一步,否则按照标准APDU命令进行处理;步骤2)移动终端向智能卡发送APDU命令,智能卡识别接收的所述APDU命令中的参数的组合设置建立所述专用数据通道。按照本发明提供的建立方法,所述步骤l)中,所述APDU命令包括选择文件SELECTFILEAPDU命令;所述约定的次数和约定的顺序包括所述选择文件SELECTFILEAPDU命令以约定的次数和约定的顺序选择约定的文件。按照本发明提供的建立方法,所述步骤l)中,所述APDU命令包括选择文件SELECTFILEAPDU命令和读记录READRECORDAPDU命令;所述约定的次数和约定的顺序包括所述选择文件SELECTFILEAPDU命令选择约定的记录文件,所述读记录READRECORDAPDU命令以约定的次数读取约定记录文件中的约定记录号。按照本发明提供的建立方法,所述步骤l)中,所述APDU命令包括选择文件SELECTFILEAPDU命令和读二进制READBINARYAPDU命令;所述约定的次数和约定的顺序包括所述选择文件SELECTFILEAPDU命令选择约定的透明文件,所述读二进制READBINARYAPDU命令以约定的次数读取约定透明文件中的约定位置字节的数值。按照本发明提供的建立方法,所述步骤2)中,所述APDU命令包括更新二进制UPDATEBINARYAPDU命令及其响应和读二进制READBINARYAPDU命令及其响应。按照本发明提供的建立方法,所述步骤2)中,所述APDU命令中的参数是ISO/IEC7816协议中定义的Pl,P2,Lc和Le。按照本发明提供的建立方法,所述步骤2)中,所述APDU命令中的参数是GSM协议中定义的PI,P2和P3。按照本发明提供的这三种数据通道的建立方法,在专用数据通道建立成功之后,利用封装的标准APDU命令,所述专用数据通道可应用于移动应用直接操作智能卡或它们之间进行数据传输。本发明提供的移动应用与智能卡之间的专用通道建立方法,通过①APDU指令中的参数是否是约定的数值来区分标准APDU指令和用于建立专用通道的专用APDU指令,或者②以约定的次数和顺序发送选择约定文件的APDU指令,或者以约定次数和顺序读取约定记录文件中的约定记录号或透明文件中的约定字节数值的APDU指令,或者③进一步将上述两种方法结合,从而最终在终端设备与智能卡之间建立统一的专用数据通道,解决在标准ISO/正C7816接口上开发移动应用受限的问题,采用本发明所述的方法与现有技术相比,具有以下明显效果a)给智能卡提供了移动应用直接操作智能卡的能力,基于此,可以开发多种基于7816接口的应用;b)终端设备与智能卡之间可以利用APDU命令建立起来的专用通道,进行可靠的数据传输,以实现各种基于智能卡的数据应用;c)终端设备与智能卡之间可以利用APDU命令建立起来的专用通道,直接访问智能卡内的任意数据,效率较高。下面结合附图和具体实施例进一步对本发明进行详细说明。图1是本发明专用通道建立方法流程示意图。具体实施例方式首先,说明本发明思想基于7816协议或GSM协议,通过对APDU命令协议进行扩展,对参数Pl,P2、Lc和Le的组合或PI,P2和P3的组合重新定义,来标识用于移动应用与智能卡之间的专用数据通道的建立,用于扩展基于智能卡的移动应用。移动终端以约定的发送次数向智能卡连续发送APDU命令,这些APDU定记录文件的命令和以约定次序读取所述记录文件中约定记录号的命令序列的组合,还可以是选择约定透明文件的命令和读取所述透明文件中约定位置字节值的命令序列的组合。这些命令序列通过智能卡的解释和判断,也可以来标识用于移动应用与智能卡之间的专用数据传输通道的建立,用于扩展基于智能卡的移动应用。还可以将上述两种思想结合,从而提高数据通道建立方法的稳定性和准确性。首先是移动终端以约定的发送次数向智能卡连续发送APDU命令,然后移动终端再向智能卡发送重新定义了命令参数的APDU命令,智能卡通过对这些APDU命令的解释、判断和识别来标识用于移动应用与智能卡之间的专用数据传输通道的建立,用于扩展基于智能卡的移动应用。第二步,说明本发明方法第一个建立数据通道的方法包括的步骤具体如下所述移动终端向智能卡发送APDU命令,所使用的APDU命令包括对终端设备应用开》文的更新二进制UPDATEBINARYAPDU命令和读二进制READBINARYAPDU命令。利用ISO/IEC7816协议中定义的命令参数P1、P2、Lc和Le或GSM协议中定义的命令参数Pl,P2和P3携带用于建立专用通道的信息,如果所述命令参数和约定的值一致,那么建立专用数据传输通道成功。第二个建立数据通道的方法包括的步骤具体如下所述移动终端以约定的发送次数向智能卡连续发送APDU命令,①这些APDU命令是对终端设备应用开放的选择文件SELECTFILEAPDU命令,如果智能卡判断所述APDU命令以约定的次数和约定的顺序选择约定的文件,那么建立专用数据传输通道成功;或者②这些APDU命令是对终端设备应用开力文的选择文件SELECTFILEAPDU命令和读记录READRECORDAPDU命令,如果智能卡判断选择的是约定的记录文件,并且以约定的次数读取约定记录文件中的约定记录号,那么建立专用数据传输通道成功;或者③这些APDU命令是对终端设备应用开放的选择文件SELECTFILEAPDU命令和读二进制READBINARYAPDU命令,如果智能卡判断选择的是约定的二进制(透明)文件,并且以约定的次数读:f又约定透明文件中的约定位置字节值,那么建立专用数据传输通道成功。第三个建立数据通道的方法包括的步骤具体如下所述第一个步骤,移动终端以约定的发送次数向智能卡连续发送APDU命令,①这些APDU命令是对终端设备应用开放的选择文件SELECTFILEAPDU命令,如果智能卡判断所述APDU命令以约定的次数和约定的顺序选择约定的文件,那么用于移动扩展应用的专用数据传输通道的建立的第一步完成;或者②这些APDU命令是对终端设备应用开放的选择文件SELECTFILEAPDU命令和读记录READRECORDAPDU命令,如果智能卡判断选择的是约定的记录文件,并且以约定的次数读:f又约定记录文件中的约定记录号,那么用于移动扩展应用的专用数据传输通道的建立的第一步完成;或者③这些APDU命令是对终端设备应用开放的选择文件SELECTFILEAPDU命令和读二进制READBINARYAPDU命令,如果智能卡判断选择的是约定的二进制(透明)文件,并且以约定的次凄t读取约定透明文件中的约定位置字节值,那么用于移动扩展应用的专用数据传输通道的建立的第一步完成。第二个步骤,移动终端向智能卡发送APDU命令,所使用的APDU命令包括对终端设备应用开放的更新二进制UPDATEBINARYAPDU命令和读二进制READBINARYAPDU命令。利用ISO/正C7816协议中定义的命令参数P1、P2、Lc和Le或GSM协议中定义的命令参数P1,P2和P3携带用于建立专用通道的信息,如果所述命令参数和约定的值一致,那么建立专用数据传输通道的第二步成功。从智能卡来看,如果第一个步骤和第二个步骤的条件都满足,那么移动终端和智能卡之间的专用数据通道建立成功。最后,以智能移动通信终端和大容量SIM卡作为实例详细说明本发明。本发明提出的三种方法中,第三种方法是将第一种方法和第二种方法结合以提高稳定性,因此本实施例详细说明第三种方法,其中的步骤包括了前两种方法。下面以GSM协议中的APDU命令为例进行说明。当终端设备需要与智能卡进行交互时,本实施例为实现本发明的步骤一,采用连续两次选择标准透明文件EFICCID文件2FE2的方式,或者第一次和第二次分别选择透明文件2FE2和6FAD的方式,这些透明文件为GSM强制的文件标识,选择这些文件可以避免不同的终端设备之间的不兼容,具体实施办法是,当终端设备第一次向智能卡发送选择2FE2时,智能卡端并不作具体的处理,而是将内部的计数器置1,第二次再选择2FE2时或第二次选择6FAD时,智能卡将计数器置2,智能卡在接到第三条APDU命令后,在满足计数器值为2的情况下,判断该命令是否为经过本发明步骤二封装的APDU命令,即APDU命令中的参数Pl,P2和P3是否是约定的数值,如果是,则通道建立,如果不是则转入标准APDU命令解析。为实现本发明步骤二,本实施例将上述的UPDATEBINARYAPDU和READBINARYAPDU命令进行封装,这两个命令①本来的格式分别为<table>tableseeoriginaldocumentpage13</column></row><table>这两条命令封装前后在形式上并没有什么区别,这样做的目的是避免与标准的APDU命令发生沖突,以保证不同通信终端间的兼容性,但是经过封装后的命令在语义上与原来的命令有了明显的不同,智能卡端在接收到APDU命令时通过判断P1、P2、P3的数值是否是约定的数值,从而区分经过封装的专用APDU和标准的APDU命令。例如Pl、P2、P3的数值是,但不限于是0xFF,OxFF,0xFF或0xFF,OxFF,0x00。权利要求1、一种移动应用与智能卡之间的专用数据通道建立方法,其特征在于,包括以下步骤:移动终端向智能卡发送APDU命令,智能卡识别接收的所述APDU命令中的参数的组合设置建立所述专用数据通道。2、根据权利要求1所述建立方法,其特征在于,所述APDU命令包^括更新二进制UPDATEBINARYAPDU命令及其响应和读二进制READBINARYAPDU命令及其响应。3、根据权利要求1所述建立方法,其特征在于,所述APDU命令中的参数是ISO/正C7816协议中定义的PI,P2,Lc和Le。4、根据权利要求1所迷建立方法,其特征在于,所述APDU命令中的参数是GSM协议中定义的Pl,P2和P3。5、根据权利要求1所迷建立方法,其特征在于,所述专用数据通道可应用于移动应用直接操作智能卡或它们之间进行数据传输。6、一种移动应用与智能卡之间的专用数据通道建立方法,其特征在于,包括以下步骤移动终端以约定的次数和约定的顺序向智能卡连续发送APDU命令,智能卡对接收的所述APDU命令的次数和顺序进行判断,若符合约定,则建立数据通道。7、根据权利要求6所迷建立方法,其特征在于,所述APDU命令包括选择文件SELECTFILEAPDU命令;所述约定的次数和约定的顺序包括所迷选择文件SELECTFILEAPDU命令以约定的次数和约定的顺序选择约定的文件。。8、据权利要求6所述建立方法,其特征在于,所述APDU命令包括选择文件SELECTFILEAPDU命令和读记录READRECORDAPDU命令;选择约定的记录文件,所述读记录READRECORDAPDU命令以约定的次数读取约定记录文件中的约定记录号。9、据权利要求6所述建立方法,其特征在于,所述APDU命令包括选择文件SELECTFILEAPDU命令和读二进制READBINARYAPDU命令;所述约定的次数和约定的顺序包括所述选4奪文件SELECTFILEAPDU命令选择约定的透明文件,所述读二进制READBINARYAPDU命令以约定的次数读取约定透明文件中的约定位置字节的数值。10、根据权利要求6所述建立方法,其特征在于,所述专用数据通道可应用于移动应用直接操作智能卡或它们之间进行数据传输。11、一种移动应用与智能卡之间的专用数据通道建立方法,其特征在于,包括以下步骤11.1)移动终端以约定的次数和约定的顺序向智能卡连续发送APDU命令,智能卡对接收的所述ADPU命令的次数和顺序进行判断,若符合约定,则进入下一步,否则按照标准APDU命令进行处理;11.2)移动终端向智能卡发送APDU命令,智能卡识别接收的所述APDU命令中的参数的组合设置建立所述专用数据通道。12、根据权利要求11所述建立方法,其特征在于,所述步骤11.1)中,所述APDU命令包括选择文件SELECTFILEAPDU命令;所述约定的次数和约定的顺序包括所述选择文件SELECTFILEAPDU命令以约定的次数和约定的顺序选择约定的文件。13、根据权利要求11所述建立方法,其特征在于,所述步骤11.1)中,所述APDU命令包括选择文件SELECTFILEAPDU命令和读记录READRECORDAPDU命令;所述约定的次数和约定的顺序包括所述选择文件SELECTFILEAPDU命令选择约定的记录文件,所述读记录READRECORDAPDU命令以约定的次数读取约定记录文件中的约定记录号。14、根据权利要求11所述建立方法,其特征在于,所述步骤ll.l)中,所述APDU命令包括选择文件SELECTFILEAPDU命令和读二进制READBINARYAPDU命令;所述约定的次数和约定的顺序包括所述选择文件SELECTFILEAPDU命令选择约定的透明文件,所述读二进制READBINARYAPDU命令以约定的次数读取约定透明文件中的约定位置字节的数值。15、根据权利要求11所述建立方法,其特征在于,所述步骤11.2)中,所述APDU命令包括更新二进制UPDATEBINARYAPDU命令及其响应和读二进制READBINARYAPDU命令及其响应。16、根据权利要求11所述建立方法,其特征在于,所述步骤11.2)中,所述APDU命令中的参数是ISO/正C7816协议中定义的Pl,P2,Lc和Le。17、根据权利要求11所述建立方法,其特征在于,所述步骤11.2)中,所述APDU命令中的参数是GSM协议中定义的Pl,P2和P3。18、根据权利要求11所述建立方法,其特征在于,所述专用数据通道可应用于移动应用直接操作智能卡或它们之间进行数据传输。全文摘要本发明涉及移动应用与智能卡之间的专用数据通道建立方法,包括通过①APDU指令中的参数是否是约定的数值来区分标准APDU指令和用于建立专用通道的专用APDU指令,或者②以约定的次数和顺序发送选择约定文件的APDU指令,或者以约定次数和顺序读取约定记录文件中的约定记录号或约定透明文件中的约定字节数值的APDU指令,或者③进一步将上述两种方法结合,这种建立方法在终端设备与智能卡之间建立统一的专用数据通道,解决在标准ISO/IEC7816接口上开发移动应用受限的问题。文档编号H04L29/02GK101384037SQ200710121508公开日2009年3月11日申请日期2007年9月7日优先权日2007年9月7日发明者溯张,李光泽,杨延辉,王鹿童申请人:凤凰微电子(中国)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1