2.5.1 SIM卡的原理
图9 SIM卡引脚图
SIM卡是一个装有微处理器的芯片卡,它的内部有五个功能模块,并且每个模块都有其各自的功能:他们分别为一个八位的微处理器(CPU),程序存储器(ROM),工作存储器(RAM),数据存储器(EEPROM)和串行通信单元。这五个模块采用与普通IC卡相同的封装方式用胶封在SIM卡铜制接口后方。在生产过程中必须要将这五个模块集成封装在同一块集成电路中,否则SIM卡安全性会受到外界的威胁,因为芯片间的连线会成为非法存取和盗用SIM卡内部重要信息的突破点。
SIM卡最少需要5个连接线才能与手机正常连接,他们分别为:电源(Vcc) ,时钟(CLK) ,数据I/O口(Data) ,复位(RST) ,接地端(GND)
2.5.2 软件特性
SIM卡由于内部采用了新式单片机和新式的存储器管理结构,使处理功能大大增强。其中智能特性的逻辑结构是树型结构。其内部的所有特性参数信息都被用数据字段方式表达,SIM卡中主要存有一下3类数据信息:
1. 在根目录下,储存与持卡者本人相关的信息以及SIM卡为将来准备提供的业务信息。
2. 在GSM目录下,储存GSM在应用中特有的信息。
3. 在电信目录下,储存GSM应用所使用的信息,而此信息可与其他电信应用或业务共享,为共享模块。
在SIM卡根目录下有3个应用目录,其中一个是行政主管部门的应用目录,另外两个是属于技术管理的应用目录,分别为GSM应用目录和电信应用目录。所有的目录下储存的数据均为数据字段,包括二进制的和格式化的数据字段。其中这些数据字段中的一部分信息是永存性不能更改的,一部分是暂时穿在需要在使用的过程中更新的。而每个数据字段都要表达出数据的用途,数据更新程度以及其数据字段的特性。
2.5.3 主要功能
1.储存与用户相关的数据
SIM卡存储的数据可分为四类:
第一类是电话号码簿,是手机用户随时输入的电话号码。
第二类是相关的业务代码,如个人识别码(PIN)、解锁码(PUK)、计费费率等;
第三类是被暂时存储在相关的网络。如位置区域识别码(LAI)、移动用户暂时识别码(TMSI)、禁止接入到公共电话网络的代码;
第四类是所存储的固定数据。这类数据在ME(Mobile Equipment)被制造出来后由SIM卡厂商写入,包括国际移动用户识别号(IMSI)、认证密钥(KI)等;
2.操作和管理用户密码
SIM卡被PIN码保护着,PIN是四位到八位的个人密码,只有用户拥有正确的PIN码时并输入时,SIM卡才能被激活并启用,移动终端才可以对SIM卡内的信息进行存取,所以用户要想上网通话就必须通过PIN的认证。
3用户身份认证
确认用户身份是否合法的认证处理是在网络和SIM卡之间进行的,认证的时间通常是在入网和呼叫移动终端并登记实时信息时发生的。认证的开始时,网络产生一个128位的随机数RAND通过无线控制信道向所述移动台的SIM卡通过卡密钥Ki和算法A3,接收到的RAND计算应答信号并将SRES发送回网络侧。在网络终端中的认证中心,以确定用户的密钥Ki,具有相同的RAND和算法A3计算的SRES,并比较,如果通过验证接收的SRES相一致。则认证通过
4.SIM卡中的保密算法及密钥
SIM卡中最敏感的数据是保密算法A3,A8,密钥Ki、PIN、PUK和Kc。A3、A8算法是在生产SIM卡时写入的,无法读出。PIN码可由用户在手机上自己设定,PUK码由运营者持有,Kc是在加密过程中由Ki导出的。
2.6 串口通信与GSM模块
2.6.1 串口通信
在串口通信中串行端口的本质是作为CPU和串行设备之间的编码转换器。当数据从CPU同过串行端口发送出去时,发送出去的字节数据将会被转换为串行的位。在接收数据时,串行的位会被MCU转换为字节数据,从而能够被识别显示。在Windows环境下,串口是与外界设备连接的重要组成部分,包含在系统资源中。 基于GSM和STC89C52单片机的温湿度监测系统设计(7):http://www.751com.cn/zidonghua/lunwen_9637.html