谈谈OTA(1)

以前还从来没写过技术类博客,今天新开一个栏目叫OTA,这三个字母就是我现在从事的工作了。OTA是Over the Air的缩写,我呢,就是做OTA服务器的。那么OTA到底是干什么的呢,它最主要的作用就是往你的SIM卡和手机动态安装一些程序或者更改一些配置,以前主要是用发短信的方式来做这件事,不过随着3G网络的到来,现在也会用BIP或者CATTP这些速度更快的协议对SIM卡发送信息了。我们平时发送的短信都是文本短信,这里的短信一般都是二进制短信,它里面封装了一个或多个APDU,手机收到短信后会把短信内容发给SIM卡,然后SIM卡会根据APDU来执行相应的操作,然后把结果返回。可能有一天你打开手机的时候,发现手机里怎么突然多了一个菜单或者手机里面的某些配置变了,这一般就是OTA在神不知鬼不觉的时候干的了。以前你要往SIM卡里面加点东西可能要跑一趟营业厅,但是现在不用了,一条短信就可以搞定。

今天首先介绍一些基本概念跟术语把,不过因为我主要做服务器端,对卡端也是在学习中,所以这些描述可能会有错误。首先谈谈SIM卡,SIM卡就是智能卡的一种,从它的全称Subscriber Identity Module也可以看出,它保存的主要是用户的身份信息,SIM卡里面基本就是一个非常小型的电脑,它有CPU, ROM,RAM和EEPROM等等。SIM卡里面也有文件的概念,是按文件夹的形式组织的,根目录叫做MF(Master File),目录叫DF(Dedicated File),文件叫做EF(Elementary File)。像你的短信,电话簿等等都是以文件的形式存在SIM卡中的。在2G时代SIM卡里面的操作系统跟应用基本上是分不开的,在3G时代操作系统跟应用分开了,也就是说卡里面不仅可以装通信有关的应用,还可以装跟银行等等有关的应用(当然只是技术上可行,真正实现还要这些公司相互协调)。这样的卡叫做USIM。如果描述的东西对2G3G卡都适用的时候,一般写成(U)SIM。

在手机里面有一个读卡器,读卡器跟(U)SIM卡之间是半双工、master-slave的通信方式,读卡器给卡发送一个APDU,也就是一个Command,然后卡执行这个APDU,然后返回一个成功或者失败的响应。然后手机发送下一个命令,就这样直到关机。

然后介绍几个术语,我们的手机号一般叫做MSISDN,在卡里面有一个文件保存了IMSI,在移动的服务器上保存了MSISDN和IMSI的对应关系,比如如果你的卡丢了,去移动补办一张新卡,移动只需要把新卡的IMSI跟你的MSISDN重新关联起来就行了,旧卡就作废了。在卡里面还有一个东西叫做KI,这就是你的手机卡的密钥了,它跟IMSI一起用来登录你的无线网络。看过《伯恩的身份》吗,里面伯恩复制一张手机卡主要就是复制两个东西:IMSI和KI,有了这两个东西,你就可以复制别人的SIM卡了。IMSI可以通过普通的APDU读出来,但是KI是读不出来的,如果要解密只能往卡上发大量的明文,然后根据KI加密后的密文进行比对来解出KI。 OK,扯的太远了,手机发送一条短信一般是发到短信中心(SMSC),然后短信中心转发给接收方。如果手机发送一条短信,这条短信就叫做MO(Mobile Originated),如果手机收到一条短信,这条短信就叫做MT(Mobile Terminated)。说了这么多,是不是很枯燥?好,要是有人有兴趣的话我下次再讲点^_^

你可能感兴趣的:(应用服务器,网络协议,网络应用,mobile,AIR)