1、GSM 的安全机制卢丹 070900305 自动化 0701摘要:本文首先介绍了 GSM 系统的结构组成,然后详细描述了 GSM 系统的三种安全机制:用户的鉴权和认证,加密机制,匿名机制。其只采用了 3 种算法来实现:鉴权算法A3,加密密钥产生算法 A8,加密算法 A5。以独立于终端的硬件设备 SIM 卡作为安全模块,管理用户的所有信息,A3 和 A8 在 SIM 卡上实现,增强了系统的安全性,A5 在终端实现。关键字:GSM,鉴权和认证,加密,匿名,A3 ,A5 ,A8 算法一、GSM 简介GSM 全名为:Global System for Mobile Communications,中文为
2、全球移动通讯系统,俗称“ 全球通“,是一种起源于欧洲的移动通信技术标准,是第二代移动通信技术,其开发目的是让全球各地可以共同使用一个移动电话网络标准,让用户使用一部手机就能行遍全球。目前,中国移动、中国联通各拥有一个 GSM 网,为世界最大的移动通信网络。GSM 系统是基于 GSM 规范制定的。它包括 GSM 900:900MHz、 GSM1800:1800MHz 及 GSM1900:1900MHz 等几个频。除了提供基本的语音和数据通信业务外,它还提供各种增值业务和承载业务。它采用 FDMA/TDMA 接入方式以及扩频通信技术,从而提高了频率的复用率,同时,也增强了系统的干扰性。GSM 主要
3、采用电路交换。它主要提供鉴权和加密功能,在一定程度上确保用户和网络的安全。二、GSM 的系统结构GSM 系统由移动站(MS ) 、基站子系统(BSS) 、网络子系统( NSS) 、介于操作人员与系统设备之间的操作与维护子系统(OSS)和各子系统之间的接口共同组成。如下图所示:移动终端:分为车载型,便携型和手持型种。移动终端通过无线接口接入到 GSM网网络。移动终端的一个重要组成部分是 SIM 卡。该卡包含用户信息,也包含鉴权和加密信息,每个移动终端都有自己的全球唯一的识别 IMEI(国际移动设备标识) ,网络通过对 IMEI 的检查,可以保证移动终端的合法性。基站子系统:主要由基站收,发信机(
4、BTS)和基站控制器( BSC)组成。BTS 主要负责无线传输,包括收发信机和天线等,在网络的固定部分和无线部分之间提供中继服务;而 BSC 则主要负责控制和管理,包括无线信道的分配,释放以及越区切换等。网络子系统:主要由移动交换中心(MSC) ,访问位置寄存器( VLR) ,归属位置寄存器(HLR) ,移动设备标识寄存器(EIR)和鉴权中心(AuC)组成。() 移动交换中心:是网络的核心,提供基本交换功能,从而实现移动用户和固定用户的通信连接,并提供位置登记与更新,越区切换和漫游服务等功能。() 访问位置寄存器:是一个动态数据库,存储进入其控制区域内的来访的移动用户的有关数据,当用户离开时,
5、其相关的信息将被删除。() 归属位置寄存器:是系统的中央数据库,存储管辖范围内的所有移动用户的信息,包括移动用户的号码,用户类别和补充业务等静态数据,还包括移动用户漫游时的有关动态数据。() 移动设备标志寄存器:存储移动设备的国际移动设备识别号,通过核查移动终端的 IMEI 来确定起合法性,以防止未经许可的移动终端设备入网。() 鉴权中心:存储用户的鉴权和加密信息,用来保护合法用户的安全性和防止非法用户接入网络。操作与维护子系统:负责对全网进行监控与操作。它主要完成移动用户管理,移动设备管理等管理功能以及系统的自检、报警、故障的诊断和处理等操作维护功能。OMC是操作维护中心,它专门负责对 BS
6、C,MSC 和 VLR 等设备的各个功能单元的维护和操作。接口:为保证不同设备厂商生产的设备之间能够互连互通,GSM 定义了一套完整的接口规范。三、GSM 系统的用户鉴权和认证GSM 系统的安全实体主要有 SIM 卡(用户识别模块),GSM 手机和基站,GSM 网络子系统。(1)SIM 卡SIM 卡是一种带有微处理器的智能卡,包括 ROM、EEPROM 、RAM 三种存储器。卡内设有专门的操作系统,以便控制外部移动设备和其他接口设备对卡上存储数据的访问。GSM 采用 SIM 卡作为移动终端上的安全模块,在卡内存储了用户密钥 Ki、国际移动用户身份号 IMSI、移动用户临时身份号等秘密信息。其中
7、用户密钥 Ki 和国际移动用户身份号 IMSI 是在用户入网时,获得的全球唯一的一组数据,这组数据在用户使用期内保持不变,所以,SIM 卡是 GSM系统内唯一标识用户的设备。另外,在 SIM 卡上还存在有鉴权算法(A3) 、加密密钥生成算法(A8)和PIN(个人标识号) 。其中,PIN 码是为了防止非法用户盗用 SIM 卡的一种本地安全机制,即无需 GSM 网络的参与。PIN 码的长度可以是 48 位十进制数,并可随时更改。用户通过手机终端输入 PIN 码,输入的码数将与存储在 EEPROM 中的参数 PIN 码进行比较,若连续 3 次不一致,则 SIM 卡将被自锁,自锁的卡不能发送 TMSI
8、(临时移动用户识别码)和 IMSI,即无法正常使用,从而起到防止非法用户盗用的目的。(2)GSM 手机和基站GSM 手机和基站内包含加密算法(A5 ) ,这两个实体分别从 SIM 卡和网络子系统中获得本次通信的会话密钥 Kc,然后利用 A5 算法产生加解密密钥流,并与明密文进行异或,从而实现移动终端和基站之间的通信的保护。(3)GSM 网络子系统GSM 网络中的 AuC(鉴权中心)包含加密算法(A3、A8 ) 、用户标识与鉴别信息数据库。在 GSM 移动通信系统中,当用户入网时,所获得的用户密钥 Ki 和国际移动用户身份号 IMSI 不仅要存储在 SIM 卡内,还要存储在鉴权中心的数据库中。根
9、据归属位寄存器 HLR 的请求,鉴权中心将利用 A3 和 A8 算法产生 3 个参数,即随机数(RAND) 、预期响应(XRES) 和会话密钥(Kc) ,并作为一个三元组送给 HLR,以供鉴权和加密使用。在 GSM 网络中的 HLR 和 VLR 中只存储上述三元组(RAND 、XRES 、Kc ) ,其中 VLR 将作为鉴权响应的实体,即在 VLR 上完成对用户相应信息的判断,给出用户是否是合法用户的结论。GSM 网络需要通过用户鉴权机制来防止非法用户登陆系统。在鉴权开始时,GSM 网络首先向用户发一个 128bit 的随机数,然后用户持有的终端使用鉴权算法(A3)和用户鉴权密钥(Ki )计算
10、 32bit 签名响应,将其发至 GSM 网络。网络从数据库中检索 Ki 值,用 A3 算法对原先的 128bit 随机数进行相同的运算,并将这个结果与从接收机接收到的结果相比较。如果两者相符,则用户鉴权成功。由于计算签名响应发生在 SIM 中,因此 ISMI 和 Ki 不必离开 SIM,使得鉴权相对安全。GSM 鉴权和认证过程GSM 系统中的认证规程在 GSM09.02MAP 协议中定义,所有场合下的认证处理机制完全相同。认证发生在网络知道用户身份(TMSI/IMSI)之后、信道加密之前。认证过程也用于产生加密密钥。GSM 网络使用挑战/ 响应机制对用户进行鉴权,具体鉴权过程如下图所示:()
11、 GSM 网络侧 VLR 收到业务请求,从中提取 TMSI 或 IMSI,并查看是否保存有认证三元组(RAND,XRES , Kc) ,有则可以直接给 MS 发送 RAND 作为挑战信息,否则继续。() VLR 向鉴权中心 AuC 发送认证数据请求,其中包含用户的 IMSI。() 认证中心根据用户的 IMSI 找到用户的密钥 Ki,然后利用自己产生的随机数RAND,利用 A3 算法,产生预期响应 XRES,利用 A8 算法产生用于加密的密钥Kc,即产生认证向量三元组:(RAND,XRES ,Kc ) ,发送到 MSC/VLR 中。() MSC/VLR 将其中的 RAND 发送给 MS,MS 中
12、的 SIM 卡根据收到的 RAND 和存储卡中的 Ki,利用 A3 和 A8 算法分别计算出用于认证的响应 RES 和用于加密的密钥(Kc) ,并将 RES 回送到 MSC/VLR 中。() 在 MSC/VLR 里,比较来自 MS 的 RES 和来自认证中心的 XRES,若不同,则认证失败,拒绝用户接入网络;若相同,则认证成功,用户可以访问网络服务,并在后续的通信过程中,用户和基站之间无线链路的通信利用加密密钥 Kc 和 A5 算法进行加密。四、GSM 系统的加密机制移动台和基站之间采用 A5 算法加解密,即只对无线部分进行加密。被加密数据包括信令消息、业务信道上的用户数据和信令信道上无连接的
13、用户数据,采用 OSI 第 1 层的加密功能实现,这一机制涉及 4 种网络功能:加密方法协商、密钥设置、加/解密过程的发起、加/解密的同步。加密算法采用流密码 A5 算法,带加密数据和 A5 的输出逐个比特异或。A5 算法对所有移动台和 GSM 网络是相同的(用以支持漫游) 。A5 算法在运算开始时,先将 3 个线性反馈移位寄存器 A、B 、C 清零,并把 64bit 的会话密钥 Kc 注入 LFSR 作为其初始值,再将 22bit 帧数 Fn 与 LFSR 的反馈值做模 2 加注入 LFSR,之后开启 LFSR 的“服从多数”停走钟控功能,对寄存器进行移位,使密钥和帧号进行充分混合,这样便可
14、产生密钥流。五、GSM 系统的匿名机制为保证用户身份的机密性,对用户的鉴权成功后,网络为用户分配临时移动用户标识TMSI 来代替国际移动用户标识 IMSI,使第三方无法在无线信道上跟踪 GSM 用户。TMSI在 GSM03.03 中定义,只有在某个 VLR 范围内有意义,必须和 LAI(位置区域标识符)一起使用。VLR 负责管理合适的数据库来保存 TMSI 和 IMSI 之间的对应关系。当 TMSI 认证失败或旧的 VLR 不可达时,网络请求 MS 发送 IMSI,利用 IMSI 重复认证步骤。这时 IMSI 以明文形式在空中传输,这是系统的一个漏洞。六、小结总的来说,GSM 采用 3 种安全机制:匿名、鉴权和加密。采用三种算法:鉴权算法A3,加密密钥产生算法 A8,加密算法 A5。以独立于终端的硬件设备 SIM 卡作为安全模块,管理用户的所有信息,A3 和 A8 在 SIM 卡上实现,增强了系统的安全性,A5 在终端实现。七、参考书目(1) 对称密码学及其应用 ,北京邮电大学出版社,李辉等主编,2009 年版。(2)GSM 的百度百科。