最近,论坛里有网友提出关于 SIM 卡和 NCK 码等一些问题。带着这些问题,我查阅了一些资料,进行了一番研究,搞清楚了不少原来模糊的认识,自己觉得长了不少知识。为了与网友们共享,现在把这些知识按照自己的理解写出来,供各位网友参考。如有错误之处,望批评指正。
一、 何谓 SIM 卡
SIM 卡 (Subscriber Identity Module) , 是国际移动用户身份识别模块, 简称用户识别卡, 它是一张符合 GSM 规范的 “ 智能卡 ” ,是 GSM 数字移动电话的核心。
SIM 卡的制作是严格按照 GSM 国际标准和规范来完成的。一张 SIM 卡可以插入任何一部符合 GSM 规范的移动电话中,实现电话号码“随卡不随机”的功能,而通话费则自动记到持卡用户的账单上,与所用的手机无关。这样, 每一张 SIM 卡就代表一个移动电话用户。 因而能有效地避免“并机”行为,保护用户的利益不受损失。
SIM 卡的功能,主要是存储数据和在安全条件下完成用户身份鉴权和用户信息加密算法的全过程。 SIM 卡存储用户的有关资料以及难以破译和复制的个人密码等许多信息,同时它还有一个记忆系统,可作为个人电话簿,以及存储短信等有用的信息。
SIM 卡有大小之分,大卡的尺寸为 54mm×85mm (信用卡标准尺寸),小卡的尺寸为 25mm×15mm (比普通邮票还小)。其实 小卡就是大卡上带有芯片的那一块 , “ 大卡 ” 上面真正起作用的就是它上面的那张 “ 小卡 ” , “ 小卡 ” 可以从大卡中取下。目前国内流行样式是 “ 小卡 ” ,小卡也可以换成 “ 大卡 ” (有个卡托即可)。 “ 大卡 ” 和 “ 小卡 ” 分别适用于不同类型的 GSM 移动电话,早期的机型如摩托罗拉 GC87C 、 308C 等手机用的是 “ 大卡 ” ,现在新出的机型基本上都是用 “ 小卡 ” 。
二、 SIM 卡的结构
1 . SIM 卡是带有微处理器的芯片卡,内有 5 个模块,每个模块对应一个功能: CPU ( 8 位)、程序存储器 ROM ( 6 — 16Kbit )、工作存储器 RAM ( 128 — 256Kbit )、数据存储器 EEPROM ( 2 — 8Kbit )和串行通信单元,这 5 个模块集成在一块集成电路中。 SIM 卡在与手机连接时,最少需要 5 个连接线(触点):
·电源( Vcc )
·时钟( CLK )
·数据 I/O 口( Data )
·复位( RST )
·接地端( GND )
2 . SIM 卡内保存的数据可以归纳为以下四种类型:
① 由 SIM 卡生产厂商存入的系统原始数据。
② 由 GSM 网络运营商在将卡发放给用户时注入的网络参数和用户数据。包括:
·鉴权和加密信息 Ki ( Kc 算法输入参数之一:密钥号);
·国际移动用户识别号( IMSI );
· A3 : IMSI 认证算法;
· A5 :加密密钥生成算法;
· A8 :密钥( Kc )生成前,用户密钥( Kc )生成算法。
③ 由用户自己存入的数据。比如:电话簿,短信息,固定拨号,缩位拨号,性能参数,话费记数等。
④ 用户在用卡过程中自动存入和更新的网络接续和用户信息类数据。包括最近一次位置登记时的手机所在位置区识别号( LAI ),设置的周期性位置更新间隔时间,临时移动用户识别号( TMSI )等。
这些数据都存放在各自的目录项内,第一类数据放在根目录,当电源开启后首先进入根目录,再根据指令进入相关的子目录,每种目录及其内部的数据域均有各自的识别码保护,只有经过核对判别以后才能对数据域中的数据进行查询、读出和更新。上面第一类数据通常属永久性的数据,由 SIM 卡生产厂商注入以后无法更改,第二类数据只有网络运营商的专门机构才允许查阅和更新,而第三、四类数据中的大部分允许用户利用任何手机对其进行读 / 写操作。
3 . SIM 卡能够储存多少电话号码取决于卡的 EEPROM 的容量(有 2K 、 3K 、 8K 容量,现在一般是 8K ),若有 8K 的存储容量,可供存储以下信息:
· 100 组电话号码及其对应的姓名文字;
· 15 条短信息 (Short Message) ;
· 25 组以上最近拨出或拨入的号码;
· 4 位的 SIM 卡密码 (PIN) 。
附表:几种主要的 SIM 卡的结构数据
厂商 SIM 卡型号 中央处理器 ROM RAM EEPROM
摩托罗拉 SC21 8 位 6Kbit 128Kbit 3Kbit
SC27 8 位 12Kbit 240Kbit 3Kbit
SC28 8 位 16Kbit 240Kbit 8Kbit
日立 H8/3101 8 位 /16 位 10Kbit 256Kbit 8Kbit
Thomson ST16612 8 位 6Kbit 128Kbit 2Kbit
ST16 8 位 16Kbit 256Kbit 8Kbit
4 . STK 卡
STK 是 SIM Card Tool Kit 的缩写,意思是 SIM 卡开发工具包,使用它可以对 SIM 卡进行软件开发,从而使其具备特殊的功能。
STK 可以理解为用于开发增值业务的小型编程语言,它允许基于智能卡的用户身份识别模块 (SIM 卡 ) 运行自己的应用软件。 STK 技术为 SIM 卡的增值业务提供了可开发的环境,即一个简单、易操作的开发平台。 STK 智能卡主要有 5 种类型:记忆卡、处理器卡、电子钱包卡、安全卡和 java 卡。
STK 卡与普通 SIM 卡相比,功能更强,容量更大,可以满足用户不同的业务需求,及大容量电话簿的要求。目前, STK 卡主要包括手机银行卡、手机证券卡、移动梦网卡等。
STK 卡的容量有 32K 、 64K 的(指的是其 EEPROM 的容量),据说也出了 128K 的。一般说来, 64K 的 STK 卡能够支持 50 条短信和 150 组电话号码记录的存储。
三、 SIM 卡卡号( ICCID )的含义
在手机 SIM 卡上,通常用数字或条形码的形式印有该 SIM 卡 的卡号。标准的卡号由 20 位数字组成。这 20 位数字大多印刷在芯片的背面,也有的印刷在卡基的一方。这 20 位数据全面地反映了该卡的发行国别、网号、发行的地区、发行时间、生产厂商、以及印刷流水号等内容。
前六位:中国移动的 SIM 卡为 898600 ,是中国移动在国际上的受话代码。中国联通在国际上的受话代码为 898601 。
第七位:是移动电话业务接入号的最后一位(即网号)。现中国移动的网号主要有: 135 、 136 、 137 、 138 、 139 。中国联通的网号目前主要有: 130 、 131 。
第八位: SIM 卡的功能位,按照查到的资料上说,一般 SIM 卡为 0 ,预付费 SIM 卡为 1 。但据我实际观察三四例,好像不完全相符。电话号码为 1369 ……的其卡号第七、八位是 69 ,电话号码为 1352 ……的其卡号第七、八位是 52 ,摸出一个规律: SIM 卡卡号的 第七、八位与其电话号码的第三、四位相同。当然,我只是猜测,不敢保证正确,各位网友可以验证。
第九、十位:是发行此张 SIM 卡的省、自治区、直辖市的代码。具体代码如下:
01 :北京 02 :天津 03 :河北 04 :山西 05 :内蒙古 06 :辽宁 07 :吉林 08 :黑龙江
09 :上海 l0 :江苏 11 :浙江 12 :安徽 13 :福建 14 :江西 15 :山东 16 :河南
17 :湖北 18 :湖南 l9 :广东 20 :广西 21 :海南 22 :四川 23 :贵州 24 :云南
25 :西藏 26 :陕西 27 :甘肃 28 :青海 29 :宁夏 30 :新疆 31 :重庆
第十一、十二位:是年号的后两位。
第十三位:是手机 SIM 卡制造供应商的编号。目前我国手机 SIM 卡的生产厂家主要有:法国的 GEMPLUS (译为宝嘉公司)、法国的 SCHLUMBERGER (译为斯伦贝谢公司)、德国 ORGA (译为欧嘉公司),以及国产 IC 芯片生产厂家等近十家。不同的生产厂家为了区分不同的产品,故在该位上分别冠以 1 、 2 、 3 、 4 等代号以示区别。如: “1” 就表示此卡为法国的宝嘉公司的产品。
第十四位 — 十九位:用户识别码。
第二十位:校验位。
中国联通公司的手机 SIM 卡 20 位编号内容与中国移动的手机 SIM 卡 20 位编号内容大体一样。
除了标准的 20 位数字以外.还有一些省、市发行的手机 SIM 卡只印有 14 位数字或 12 位数字。这主要是省略了前六位中国移动在国际上的受话代码和网号所致。
四、 SIM 卡的密码
1 . PIN 码( Personal Identity Number ):个人识别码,也叫 PIN1 码,长 4 位(也有资料写是 4 — 8 位),是属于 SIM 卡的密码,用来保护 SIM 卡的安全。现在 SIM 卡的初始 PIN 码一般设置为 1234 ,用户可以将其改为自己容易记忆的数字。但注意:修改后的 PIN 码一定要牢牢记住,并且不要记在手机里。
PIN 码的主要作用是防止 SIM 卡遗失而被盗打的现象。在手机上 启动了“ PIN 码保安”功能后,每次用户重新开机后, GSM 系统都要和手机之间进行自动鉴别,判断 SIM 卡的合法性,即和手机对 “ 口令 ” ,只有在系统认可后,才能为该用户提供服务。
2 . PUK 码( PIN Unlocking Key ): PUK 码是解 PIN 码锁的钥匙。 如果你连续三次输入了错误的 PIN 码,手机将自行锁卡,这时你必须输入正确的 PUK 码,才能解除卡锁,然后提示设置新的 PIN 码。如果 PUK 码连续输错 10 次, 那么 SIM 卡的自杀程序将自动启动, 卡将报废,只能换卡。
每张 SIM 卡有各自对应的 PUK 码,长 8 位,在用户购买 SIM 卡时,由网络运营商提供给用户。用户不可自己更改 PUK 码。
3 . PIN2 码 ( Personal Identity Number2 ): PIN2 码也是 SIM 卡的密码, 是在进入某种特殊功能时(如设置固定号码,设置通话计费等)所要用的个人识别码。目前中国移动和中国联通 都未开通此项业务,所以用户一般都不知道 PIN2 码。
4 . PUK2 码 ( PIN Unlocking Key2 ): 当连续三次输入了错误的 PIN2 码,手机卡将会被锁定,这时必须输入正确的 PUK2 码解锁,然后提示设置新的 PIN2 码。如果 PUK2 码连续输错 10 次,同样会将卡报废。
五、 关于 SPCK 、 NCK 、 NSCK
1 . SPCK 、 NCK 、 NSCK 的含义
这是一组与锁机有关的密码。它们锁的是手机,而不是 SIM 卡。所以严格说起来,不属于本文讨论的范围以内。但是由于与 SIM 卡有密切的关系,所以也放在本文里。
关于这几个码的资料是很难查找的。现在我虽然已经基本搞清楚了其含义和功能,但至今却还尚未查到其英文词组的原文,因为在查到的资料中写的也大都是这样的缩写形式。
SP 的英文原词是 Service Provider ,这肯定是没有问题的,在这里指的是 GSM 移动电话运营商。
SPCK 是运营商锁机码( SP Lock ), NCK 是网络锁机码, NSCK 是子网络锁机码。
从 SPCK 的英文原词是 Service Provider Lock ,大致可以推测出: NCK 的英文原词是 Network Lock , NSCK 的英文原词是 Network Subset Lock 。当然,这只是我的推测,不一定准确。
也有的资料中 把 NCK 叫做“网络控制码”,从这个译意上反推,其 英文原词也可能是 Network Control Key 。那么其它的“ CK ” 也可能是 Control Key 了。但是在有的资料中确实有 SP Lock 这样的写法,所以我觉得,“ CK ”的原文是 Lock 的可能性比较大。
2 . SPCK 、 NCK 、 NSCK 的作用
在有些国家及我国香港等地区,有的移动运营商( SP )是把手机“白送”给用户的。这是因为 SP 主要是赚取通话费等服务的费用,而不是主要赚取硬件的利润。用户预交一定数量的服务费,或者通过合同承诺每月消费一定数量的服务费,或者做出其它类似的承诺后,移动运营商就会把手机有条件地赠送给用户。但是既然手机是我“白送”给你的,你就应该好好使用我的服务,不能“白拿”回去以后转为使用别的 SP 的服务。所以我就要采取一些手段,使你只能使用我的服务,不能转去使用别的 SP 的服务。上面一系列的锁机码就是干这个用的。
譬如,甲 SP 送的手机,它就会通过锁定菜单把手机锁定在甲 SP 所属的网络,而不能用于其他 SP 所属的网络。如果你在这个手机上插上乙 SP 的 SIM 卡,想使用乙 SP 所属的网络,它就不能工作。
在有关资料里找到一段关于爱立信 788 手机如何设置锁定的描述,摘录如下:
『爱立信 788 手机进入锁定菜单的方法是键入左箭头 ** 左箭头,显示屏出现 LOCK to Network( 是否锁定至网络? ) 。如果再按 "YES" 键,那么有 5 次机会输入 NCK( 锁定密码 ) 。若键入左箭头 ** 左箭头左箭头,显示 LOCK to Network Subset?( 是否锁定手机至网络子系统? ) 如果再按 Yes 键,则有 5 次机会输入 NSCK( 锁密密码 ) 。千万注意,通过这种操作,手机可以被永久锁定在一个运营商。』
一般说来, 一张 SIM 卡插入任何一部 GSM 手机中,或者 一台 GSM 手机插入其它的 SIM 卡,都应该可以正常使用。如果手机不能正常使用,或者明确地要求输入 NCK 码(或其它的锁机码),那肯定是这台手机被运营商锁定了。这时如果能按照提示,正确地输入 NCK 码(或其它的锁机码),应该是可以解开锁定的。但是,这些锁机码只有设置它们的运营商知道。
可以想象,运营商既然要设置这样的锁定,就不会让用户能够轻易地解除锁定。但是据查,现在也有一些软件,号称“ 能够不拆机读写手机的 EEPROM 码片资料 ”“ 能通过手机码片读出 NCK 、 NSCK 、 CCK 、 SPCK 代码 ”等等,这样的软件,以用于爱立信手机的居多。有的软件甚至能够修改手机的 IMEI 码,不知道是合法的还是非法的。
前些日子在飞利浦 120 论坛上,有网友提出过 NCK 码的问题。但是很遗憾,在我查到的资料中,没有找到飞利浦手机如何设置锁定或解除锁定的描述。
另外顺便提一句,去年底以来,我在北京看到中国联通也采用过类似的促销策略,譬如:只要在中国银行办了长城信用卡,或者在某证券营业部办了封闭式基金,就可以“白送”手机,当然,条件是用户要承诺每月消费一定数量的通话费。
3 .除了 SPCK 、 NCK 、 NSCK 以外,查找资料时经常同时出现的还有 CCK 、 ELCK 、 LOCK 等。虽然可以猜测到也是一系列锁定码,但具体的含义和作用尚未查到。希望各位网友给以补充。