来源:中国一卡通网 作者:贾凡 杨义先 彭俊好 发布时间:2008-10-21 16:07:27 字体:[大 中 小]
摘 要:提出了一种基于SIM卡的端到端短消息加密通信的机制。该机制利用智能卡的数据加密能力与主动式命令等特性, 巧妙地在其上实现了短消息的编辑、加密和发送, 很好地满足了那些对敏感数据传输的安全要求; 同时对于移动网络和手机终端都没有特别要求, 通过OTA 技术可以很方便地下载到用户SIM 卡中, 易于在现有的移动网络中实施。
0 引言
短消息( Short Message Service, SMS) 是GSM网络所提供的一种端到端的数据通信方式; 它可以是文本、语音或者是图片等信息。SMS 采用了存储转发机制, 即当手机用户发送一条SMS消息时, 这条消息并不是由接收者直接收到, 而是由用户所在网络的短消息中心先接收到, 然后短消息中心向接收者发送一条通知指令, 通知接收者从短消息中心下载消息。这种机制具有很好的方便性、灵活性, 使其很快成为手机用户一个重要的交流方式。
尽管短消息设计初衷是作为语音E-mail 的提示, 但它很快成为了个人和商业人群之间非常流行的通信方式 。目前很多地方开展了通过短信办理银行业务的服务, 或者发送与商业相关的信息。当发送银行账号、密码以及身份识别码等这些敏感信息时, 人们最担心的就是这些信息可能会被截获或是误发给一些诈骗此类信息的人。现有的GSM短消息通信所采用的消息格式是开放可预知的, 其源地址具有可伪造性 , 而且在整个传输过程中是明文的, 因此目前短信通信并非总是可信的。针对这些敏感应用, GSM用户应该能够选择一种保密通信来保证这些信息不被正确读取和伪造, 因此在手机端提供一种加密通信方法是必要的。
目前对短消息加密的实现主要有两种: ①基于终端和服务器之间的加密通信。它需要服务器配合实现, 而且在核心网内短信还是以明文传输, 仍存在被截获的风险。②端到端的加密通信。它需要在手机终端或卡上进行相应的设计, 实施的代价相对较小, 而且安全强度更高。本文给出了一种基于智能卡实现加密短信通信的方案, 具有与手机终端无关的特性和更好的实用性。
1 短消息通信网络结构
GSM短消息通信是通过信令通道传输数据的, 根据其发送和接收短消息可以分为移动起始( MO) 和移动终止( MT) 两种类型。其发送接收的过程可以描述为: 短消息发送方将MO短消息提交给短消息服务中心( SMSC) , 它负责在基站与SME间中继、储存或转发短消息; 移动台( MS) 到SMSC 的协议能传输MO 或MT的短消息, SMS 网关接收由SMSC 发送的短消息,向HLR 查询路由信息, 并将短消息传送给接收者所在基站的交换中心, 由其来完成短消息数据的交换建立。下面给出短消息通信的GSM网络结构。GSM标准中定义的点—点短消息服务使得短消息能在移动台和短消息服务中心之间传递。这些服务中心是通过称为SMC-GMSC 的特定的移动交换中心( MSC) 与GSM网络联系的, 如图1 所示。
图1 短消息通信体系结构
其中, VLR( Visitor Location Register) 是访问位置寄存器, 含有用户临时信息的数据库; HLR( Home Location Register) 是归属位置寄存器, 用于永久储存管理用户和服务记录的数据库, 由SMSC 产生。
短消息在GSM网络上传输, 网络本身没有提供相应的诸如互认证、端到端安全、不可否认性以及用户匿名等安全机制。因此目前短消息网络不满足安全通信的三个基本要求, 即信息的完整性、机密性和有效性。
2 加密算法与其在智能卡上的实现
上述的通信安全问题可以借助于信息加密技术来解决。目前信息加密多采用基于密钥的方法, 这类方法主要有对称密钥和非对密钥两种体制。
常见的对称密钥算法有AES、DES、3DES 和IDEA。对称密钥的特点是解密与加密密钥相同。这类算法具有加/ 解密速度快、运行时占用空间小等优点, 但是存在着密钥交换和密钥管理复杂等缺点。典型的非对称方法是RSA, 它基于整数分解原理, 采用了模数运算的方法。非对称方法的信息保密程度取决于求解指定数学问题的难度, 目前涉及有指数分解、离散对数问题等, 算法的破解难度与相应的所解数学问题难度成正比。与对称方法不同, 非对称方法同时采用私钥和公钥。公钥可以对所有用户公开, 发送方用公钥加密, 接收方用私钥解密。这种方法安全性高、密钥管理方便, 在商业系统中有广泛的应用前景。
SIM卡是在GSM用做承载用户识别信息的智能卡。智能卡是一种计算能力相对较弱的小设备, 它通常采用DES、3DES、RSA 等加/ 解密算法来提高系统安全性能。对于DES 和3DES对称密钥算法其主要是做简单的移位操作, 因此用普通智能卡就可以很好地实现。而在实现RSA 算法时要进行对运算速度要求很高的大指数模运算, 8 位CPU难以胜任。因此,在一些高安全性加密微控制器卡芯片中( 如AT90SC1616C) ,均设置有专用加/ 解密运算的协处理器CAU。图2 给出了一种带有协处理器的智能卡芯片结构图[ 3]。随着非对称密钥算法研究的深入和32 位CPU卡的推出, 在没有协处理器的智能卡上也可以很好地实现ECC 等公钥算法[ 4] 。
图2 具有协处理器的智能卡
利用智能卡上这些可实现的加密算法, 可以对智能卡的输入/ 输出数据进行加密以及相应的密钥协商。以下将对智能卡上的加密算法进行分析, 选择出适合端到端短信加密的算法。
3 基于智能卡的短消息安全机制设计
端到端的短消息安全通信机制要解决安全短消息的数据格式设计、基于智能卡的密钥协商机制、消息加密算法的选择以及通过智能卡对短消息编辑、加密、发送和接收的整个安全流程的设计。
3. 1 安全短消息数据包设计
短消息可以分为上行和下行短消息两种。其数据格式主要包括协议数据单元参数和用户数据两部分。在协议数据参数部分主要定义了短消息的类型、源地址、目的地址、协议标志、编码方式以及用户数据头等信息。其中TP-PID 域可以区分该短消息是手机接收还是SIM卡接收, TP-MT 标志可以区分上、下行短消息。用户数据部分最大可用长度为140 Bytes。由于短消息的传输协议数据单元的参数有其固定格式, 要实现安全短消息, 可以利用的空间只有用户数据的有效载荷部分。在这部分, 可以定义安全短消息的数据头和加密信息以及可选的数字摘要。其中安全短消息数据头定义了加密短消息的安全参数等信息, 应用程序按要求封装并根据数据头解读短消息。具体数据格式如图3 所示[ 5] 。
图3 安全短消息数据格式
其中, IEI 为信息单元标志, 用来标志命令包头和长度以及是否有后续消息。在命令包头中定义了一些安全相关的参数, 即安全参数标志( SPI) 、密钥标志( KIC) 、数字摘要等密钥标志( KID) 、防止重放攻击的计数器( CNTR) 等。安全数据部分为加密的短消息。其具体的格式如下:
3. 2 会话密钥协商协议
3. 2. 1 系统设计的指导原则
由于智能卡设备自身的特点, 如计算能力低、存储空间较小等, 在其上实现短信加密时必须要在安全强度、协议的安全性与效率之间有个折中。在选取加密算法和协议设计时需要考虑以下两点:
( 1) 智能卡设备的计算能力和有限的内存。公钥算法和加密算法的慎重选择是必要的。
( 2) 短消息的有效载荷。用户可用部分, 一般为140Bytes。因此协议设计必须尽可能高效。尽管有以上限制因素, 但是设计不能以安全为代价换取效率。安全机制必须能满足以下几个要求:
( 1) 安全;
( 2) 计算的复杂度低;
( 3) 能够实现密钥兑换;
( 4) 易于实现和使用。
推荐文章
论坛热帖