一、GSM网络概述
1、安全机制
- 认证用户,防止未授权接入
- 对空中接口传输加密,防止无线信道上用户信息被窃听
- SIM卡独立于终端,管理用户信息
- 在空中接口上以临时身份标识用户,防止用户被跟踪
但是GSM的缺陷已经逐渐暴露。
2、GSM网络结构
- 两个主要组成部分:
固定网络基础结构(固话网络)
移动基站
- 按功能,GSM系统中的模块划分为四个部分:
网络与交换子系统NSS
基站子系统BSS
移动台MS
公众网络PN
MS <------> BSS <------> NSS <------> PN
3、GSM网络的安全要求
- GSM的两个主要安全目标:
防止未授权接入、用户身份倍假冒(通过用户鉴权)
保护用户隐私(通过传输加密、信令加密)
二、GSM网络的安全体系结构
1、GSM网络的安全体系结构
- 安全特征主要集中在无线接入部分
- GSM引入以下安全功能:
SIM卡和PIN码实现对SIM卡的访问控制;
网络对用户身份认证和会话密钥,防止非授权接入;
无线链路加密;
隐藏用户身份。
- GSM系统的安全体系结构,有3层组成:
第一层:认证层,采用挑战-响应机制
第二层:会话密钥生成层
第三层:加密层
- GSM中,设计用户鉴权和机密的主要安全算法有:
A3:产生认证码SRES
A5:产生会话密钥
A8:加密用户数据和信令数据
- GSM中,系统主要安全参数和算法分布:
SIM卡:IMSI、KI、TMSI/LAI、PIN、K、Kc、A3、A8
ME:TMEI、A5
HLR/AuC:IMSI、K、RAND、SRES、Ki、A3、A8
MSC/VLR:TMSI/LAI、IMSI、K、认证向量(RAND、SRES、Ki)
BST:A5
EIR:IMEI
2、GSM系统的加密
- 在 GSM 系统中 , 用户数据和信令信息的加密是通过加密算法A5行的
- A5算法版本:
A5/0:非加密算法
A5/1:弱版本
A5/2:强加密算法
- 加解密过程:
MS与网络端协商使用A5版本
BSS/MSC/VLR向MS发送特殊明文MMM
MS上开始加密MMM,并将密文发送给BSS,同时开始解密
若BSS端正确解密来自MS的密文,则BSS端开始解密
- A5算法:
两个参数:初始密钥,TDMA序号COUNT
产生:一组114bit的密钥流K,其中一个用于加密,另一个用于解密。
实现地点:MS端的移动设备,BSS端的BTS
3、GSM系统中的会话密钥生成
- 在GSM系统中 , 会话密钥 Kc 是在用户认证时产生的 , 产生Kc的算法称为A8算法。
- A8算法:
Kc = A8(Ki,RAND)
两个入口参数:用户秘密认证密钥Ki、随机数RAND
一个出口参数:会话密钥Kc
实现地点:MS端的SIM卡,固定网络端的AuC
三、GSM网络的身份认证
- 激活用户鉴权的情况:
VLR/HLR中用户相关的信息被更改
用户请求网络服务
在MSC/VLR重启后第一次访问网络
1、用户接入身份认证
- 用户鉴权过程:
(1)用户识别
找出发起鉴权请求的用户的身份,来提取关于该用户的秘密参数。
用户识别号码分为三种:
国际移动设备号 ( IMEI)
国际移动用户号 ( IMSI)
临时移动用户号 ( TMSI )
过程:
用户首次启动或进入新区域
当地交换机给予一个随机号码作为临时用户号
从用户归属地的HLR中取得IMSI,并保存IMSI与TMSI在拜访位置寄存器VLR中
MS把TMSI存入SIM卡的EEPROM中
MS发起鉴权请求时,发送ISMI、TSMI给BSS,BSS根据其找出该用户对应密钥Ki
(2)用户鉴权
过程:
网络端从AuC获取用户Ki,利用随机数发生器产生RAND,经无线信道发送到MS,同时AuC根据RAND、Ki利用A3产生认证码SRES,并和Kc、RAND用A8产生 认证向量(SRES,Kc,RAND),该向量送往BSS保存
在 MS 端 , SIM 卡在 接收到挑战 RAND 后提取内部存储的 Ki 和算法 A3 计算出应答信号 S RES′ , 随后将
SRES′通过无线信道发送给基站基站在接收到应答 信 号 SRES′后与从 AuC 传来的认证向量中的
SRES 比较 , 如果二者一致,
则判明用户合法 , 鉴权通过 ; 否则鉴权失败, 中止二者通信过程。鉴权通过的用户可以用 A8 算法计算出会话密钥 Kc, 并使用 A5
算 法进行加密通信
从 GSM 系统的用户鉴权过程可以看到 , 网络认证的其实是 SI M 卡的身份 , 而并非用户本身 , 因此合法用户必须保证 SI M 卡不丢失。SI M 卡则通 过 P IN 和 PUK 来鉴 别其持有者身份的合法性