GSM11.14心得总结.docx_第1页
GSM11.14心得总结.docx_第2页
GSM11.14心得总结.docx_第3页
GSM11.14心得总结.docx_第4页
GSM11.14心得总结.docx_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

GSM11.1411.14是对11.11的补充,主要是解决SIM卡与ME之间的交互应用。关键词: Application Toolkit; Proactive SIM;profile download; Envelope; Proactive Command.1. 11.14所要解决的问题“TS11.1120 defines that the ME communicates to the SIM using the T=0 protocol, which is specified in ISO/IEC7816316. The ME is always the master and initiates commands to the SIM, and therefore there is no mechanism for the SIM to initiate a communication with the ME. This limits the possibility of introducing new SIM features requiring the support of the ME, as the ME needs to know in advance what actions it should take.The proactive SIM service provides a mechanism which stays within the protocol of T=0, but adds a new status response word SW1. This status response has the same meaning as the normal ending (90 00), and can be used with most of the commands that allow the normal ending, but it also allows the SIM to say to the ME I have some information to send to you. The ME then uses the FETCH function to find out what this information is.”直接复制了,就是为了让SIM卡也能主动做一些事情,而不仅仅是被动接受命令。2. 11.14所包含的内容11.14主要介绍的是主动卡(proactive SIM),主要包含三部分,profile download; envelope;proactive command。主要解决SIM 能主动做些什么,SIM卡怎么样让ME做相应,和交互过程中产生的数据下载,传输的问题。3. Profile download: 手机告诉SIM能接受什么主动命令?这个问题由APDU :terminal profile 命令解释P3=LcProfile download 过程在手机SIM卡初始化中完成,如果读取EFphase文件,表明需要download这个profile的话,就必须在校验CHV1码之后,读取EFloci和EFimsi之前,完成此命令。E.g. IN(1 A0 10 0000 10 FFFFFFFF7F03005F7F00000000090B06 S/91A7/)Data数据中每一个字节中的每一位都代表了一项主动SIM卡的命令,1代表支持命令,0代表不支持命令。具体每一位都代表什么命令 ,参见GSM11.14中的5.2节。Profile download 返回的值91xx,其中xx的值就是整个menu的的大小Profile download是手机告诉卡,能支持什么功能,卡告诉手机能支持什么功能是ME读取EFsst,里面规定了卡支持的主动式命令。4. proactive command:怎样让ME执行这些命令传统的都是由卡发送APDU命令(APDU command),SIM卡作出响应(response command),SIM卡不能主动发送APDU,所以卡想要主动发送命令,只能从response command命令动手。下图就是由SIM卡发送命令,ME接受命令的过程,关键就是response command中的状态字W1。ME发送APDU给SIM ,当SIM卡需要ME执行命令的时候,就在响应命令中的状态字W1设为91,即返回一个91xx值,这就是告诉ME,我这里有个xx长度的命令需要执行。接到响应之后,ME必须使用APDU-FETCH命令去捕获这个信息,通过返回值,可以确定SIM卡发送的是什么样子的命令。P3=Lee.g.select EF lociIN(1 A0 A4 0000 02 6F7E S/9F0F/)get responseIN(0 A0 C0 0000 0F V001/0000000B6F7E040011FF1B21020000/ S/9000/)update binaryIN(1 A0 D6 0000 0B 392FF20F64F00011110000 S/9000/)get status IN(0 A0 F2 0000 16 V001/000000007F20020000000000099100190800838A838A/ S/9124/)fetchIN(0 A0 12 0000 24 V001/D0228103012100820281028D170862115C31662F004D002D005A004F004E00454EBAFF01/ S/9000/)在get status命令中,返回值为9124,代表SIM卡有话要说,所以ME发送FETCH命令,看看SIM卡要说什么,结果返回了D0228103012100820281028D170862115C31662F004D002D005A004F004E00454EBAFF01这些数据。下面看看这些数据都代表什么?Proactive SIM command的一般结构根据命令的不同,结构会不同,但是前几项是一样的,命令的类别由command detail中的一位数据决定。不同的命令都是在这个结构后面加些内容,大致相同。Proactive SIM command tagD0:代表方向,SIM To ME。在这个FETCH 命令的返回值中,第一位都是D0,其它值用在另一个命令中,即Envelope命令中,在那个命令中方向是 ME TO SIM。Length22: 代表后面有22个byte的数据。后面所有的数据,都遵循TLV格式,即,tag ,length,value格式,通过第一个数字判断是什么数据,81代指command detail,然后value参考command detail格式。其中command detail的第四个字符,代表了type of command,这一位,决定了整个命令是什么命令。如例子中是21,代表整个response 返回的数据是一个display text命令,所以整个22个字符,都要遵循display text格式。(乱,但是这块就是这么乱,最好把11.14打印出来,用的时候需要不停地前后翻协议,用电脑反而麻烦)。Command detail:81030121008103012100Command detail 又包括以上几个byte。Command detail tag:81 ,代表了后面这一串数据是command detail数据,常见的tag值如下表所示,详情参见13.3节内容Length:03 不能变,也就是说这个command detail是等长的,5个byte。Command number:01 命令序号,一般卡只能同时执行一个命令,所以为01,也许会存在多线程,就会有02,03的可能性,但至今没见过。Type of command:21代表是Display Text 命令,常见命令表如下图所示。详情参见13.4节图表。Command quality:这一位根据不同命令, 形式有所不同,在display text命令中,b1=0, normal priority; b1=1,high priority; b2-7=RFU; b8=0, clear message after delay;b8=1, wait for user to clear message.不同的命令参见11.14协议中12.6节内容。Device identities:82028102Device identities tag: 82, 参见上面 command detail tag表所示。Length:02Source device identity:81设备源(发起)Destination device identity:02设备目的地(接受),数字意义如下图所示。Text string: 8D170862115C31662F004D002D005A004F004E00454EBAFF01Text string tag: 8DLength: 17Data coding scheme:08Unicode 编码。 04是ASKII编码Text string:62115C31662F004D002D005A004F004E00454EBAFF01意思是:我就是M-ZONE人!5. Terminal response:当SIM卡返回91xx之后,ME必须用fetch命令进行捕获,而且对于接收到的数据,必须用terminal response命令进行响应操作,否则程序就无法继续进行。A0 12和A0 14是一个对操作,必须成对出现。P3=LcTerminal response命令是ME发到SIM卡的命令,所带数据的意义部分如下表所示,详情参见6.8节图表e.g81 03 01 21 00 02 02 82 81 03 02 20 01 这串数字是对上面例子中的fetch命令的响应。Command detail :81 03 01 21 00 同fetch命令中的一样.Device identities: 02 02 82 81 命令结构同fetch,这里用82 81是因为源设备和目的设备已经不同,不再是SIM2ME,而变成了ME2SIM, 但是不知道这里为什么用02,而不用82,不知道是否有说法(这里返回02或82是由手机生产厂家决定的,卡商不需要在意这些数据)Result:03 02 20 01,命令结构参考12.12节,太多了。03是tag;02长度; 20,执行结果(general result): ME current unable to process command; 01,附加信息(additional info on result):screen is busy。Additional的值是对general result的值得补充,正常执行了卡的命令之后,后两位值都为0000,表示正常执行,且没有附加信息。当非正常执行卡的命令之后,附加信息要有一定的说明。6. Envelope最开始的想法:接触的不多,不太明白是什么意思,刚开始觉得是关系下载,传输的问题,后来的想法:是激活主动卡响应的命令,因为经过envelope命令之后,卡就会主动返回91xx响应,开始一个卡主导的命令响应。目前的想法:貌似命令不同,envelope的功能也不一样,之前写的是Envelope Menu Select命令的内容,确实是激活主动响应的命令。但是后来又接触到了SMS-PP的envelope,是根据卡返回的数据,从服务器端下载了数据,返回给卡,有一点类似于terminal response,也是做出的一种响应,比如我要下载xxx东西,然后envelope 按着特殊的格式,把下载的东西传给卡。以后会有更多的想法吧,这个envelope好麻烦,不过觉得这更多是手机厂商关注的,而不是卡商决定的。(错误! 上面说的是set up menu,tag为D0,并不属于envelop命令,set up menu, menu selection是两个不同的命令menu selection是构建菜单,但是和 set up menu 并不相同。具体哪里不一样,看11.14 第八章)P3=Lcenvelope:IN(1 A0 C2 0000 40 D1 3E 82028381 060891683108200845F7 8B2E6405A14044F57FF6808021719235231E02700000191102000021B00010000000000000FEFC453941F226B7000400 S/9000/)Envelope 包括几个不同的命令,或者叫做模式,TagData download to SIMSMS-PP data downloadD1Cell Broadcast data downloadD2Menu selection D3Call control and MO SMS controlcall controlD4MO SIM controlD5Event downloadMT callD6Call connectedD6Call disconnectedD6Location statusD6User activityD6Idle screen availableD6Card reader statusD6Timer expiration D7每种模式有自己的结构,但是大同小异,具体去查表,仅就例子去分析。每种命令的具体结构参见11.14中11章内容。D1 3E 82028381 060891683108200845F7 8B2E 6405A14044F57FF6808021719235231E02700000191102000021B00010000000000000FEFC453941F226B7000400Tag:D1, 决定了这个是SMS-PP data download命令Length:3E,长度Device identities:82028381,参见上面内容,NETWORK 2 SIMAddress:06 08 91683108200845F7,tag:06, length:08, value:91683108200845F7,电话号码SMS TPDU: Tag:8B, length:2E,value:SMS TPDU参见TPDU.docx.- TP-MTI, TP-MMS, ,TP-SRI ,TP-UDHI ,TP-RP: 64=01100100 00 1 00 1 1 005A14044F5:044457FF6: protocol identifier and data coding scheme80802171923523:时间,日期,时区E0:内容长度2700000191102000021B00010000000000000FEFC453941F226B7000400:内容,F6编码不知道规

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论