一、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 来鉴 别其持有者身份的合法性  

    

移动通信安全——GSM安全体系的更多相关文章

  1. 普通硬件就能破解GSM A5加密算法

    如果你还在使用基于早期信号标准的GSM手机,那么你最好在使用手机的过程中小心一点了.因为根据国外媒体的最新报道,安全研究专家通过测试发现,他们只需要使用三张NVIDIA GeForce GTX690显 ...

  2. GPRS GPRS(General Packet Radio Service)是通用分组无线服务技术的简称,它是GSM移动电话用户可用的一种移动数据业务,属于第二代移动通信中的数据传输技术

    GPRS 锁定 本词条由“科普中国”百科科学词条编写与应用工作项目 审核 . GPRS(General Packet Radio Service)是通用分组无线服务技术的简称,它是GSM移动电话用户可 ...

  3. 如何利用 LTE/4G 伪基站+GSM 中间人攻击攻破所有短信验证

    这次公开课请来的嘉宾对自己的简介是: 连续创业失败的创业导师:伪天使投资人:某非知名私立大学创办人兼校长:业余时间在本校通信安全实验室打杂. 自从他在黑客大会上演讲<伪基站高级利用技术——彻底攻 ...

  4. CORBA(Common Object Request Broker Architecture,公共对象请求代理体系结构,通用对象请求代理体系结构)是由OMG组织制订的一种标准的面向对象应用程序体系规范

    CORBA(Common Object Request Broker Architecture,公共对象请求代理体系结构,通用对象请求代理体系结构)是由OMG组织制订的一种标准的面向对象应用程序体系规 ...

  5. ISO/IEC 27001 信息安全管理体系认证

    一. 信息安全管理体系标准业务介绍 1. 背景介绍 信息作为组织的重要资产,需要得到妥善保护.但随着信息技术的高速发展,特别是Internet的问世及网上交易的启用,许多信息安全的问题也纷纷出现:系统 ...

  6. 我的翻译--GSMem:通过GSM频率从被物理隔离的计算机上窃取数据

    抽象概念 AG网络是指在物理上与公共互联网断开的网络.虽然近几年人们验证了入侵这类网络系统的可行性,但是从这种网络上获取数据仍然是一个有挑战的任务.在本文中,我们介绍GSMem,它是一个可以在蜂窝数据 ...

  7. Windows认证体系解读

    目录 Windows认证方式 Windows本地认证 NTLM认证方式(工作组环境中) wiresharek抓包NTLMv2,使用Hashcat爆破 NTLM认证方式(域环境中) Kerberos认证 ...

  8. [systemtap手记]debian体系安装过程

    Debian体系,本人测试用机 Ubuntu 11.10 uname -r 查看原本的内核版本为 3.0.0-12-generic 第一步: 安装systemtap包 $ sudo apt-get i ...

  9. BPM体系文件管理解决方案分享

    一.方案概述 企业管理在很大程度上是通过文件化的形式表现出来,体系文件管理是管理体系存在的基础和证据,是规范企业管理活动和全体人员行为,达到管理目标的管理依据.对与公司质量.环境.职业健康安全等体系有 ...

随机推荐

  1. SPFA cojs 176. [USACO Feb07] 奶牛聚会

    cojs 176. [USACO Feb07] 奶牛聚会 ★☆   输入文件:sparty.in   输出文件:sparty.out   简单对比时间限制:3 s   内存限制:16 MB N(1 ≤ ...

  2. php操作redis出现不报错就退出

    金乐园项目 php操作redis出现不报错就退出  死活找不出原因是因为下面这句话导致:     原因igbinary扩展没有装上 $options[\Redis::OPT_SERIALIZER] = ...

  3. hihocoder 1519 : 逃离迷宫II

    题目链接 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi被坏女巫抓进里一间有N x M个格子组成的矩阵迷宫. 有些格子是小Hi可以经过的,我们用'.'表示:有些格 ...

  4. Matlab 曲线绘制之线型和颜色 示例

    估计很多人会碰到,当绘制的曲线特别多的时候,需要用不同的颜色和线型区分开这些曲线.根据STC论文,自己整理了一个颜色和线型的例子,供大家直接使用,直接引用PlotStyle这个数据结构就可以了. 示例 ...

  5. 在Windows下将Redis注册为本地服务

    当前redis版本:3.2.100 通常情况下我们可以通过 redis-server.exe 和配置文件启动redis服务 : redis-server.exe redis.windows.conf ...

  6. React Native中树 TreeView 实现(2)

    接上文,剩下的展示工作是重中之重,首先确定节点的布局草稿——也就是如何render item: 在此之前还有一个重要的问题就是选择何种组件盛放展示子结点,一般有如下两种: 使用scrollview加载 ...

  7. Jackson工具类使用及配置指南、高性能配置(转)

    Jackson使用工具类 通常,我们对JSON格式的数据,只会进行解析和封装两种,也就是JSON字符串--->Java对象以及Java对象--->JSON字符串. public class ...

  8. MEF 导入(Import)和导出(Export)

    前言: MEF不同于其他IOC容器(如:Castle)很重要的原因在于它使用了特性化编程模型(涉及到两个概念:“特性”和“编程模型”). 特性(Attribute):举例来说就是我们在开发过程中在类上 ...

  9. [0day]基础工具学习

    事实上非常多工具多少都使用的比較熟悉了. 可是仍有一些点还是比較有趣以及我不知道的.毕竟第一章,查缺补漏的. (话说这个成语在高三冲刺的时候,老师用得最多,当时还非常悲哀的一直补东墙.漏西墙.始终认为 ...

  10. 【微信小程序】在js中导入第三方js或自己写的js,使用外部js中的function的两种方法 import和require的区别使用方法 【外加:使用第三方js导出的默认function的调用方法】

    如下 定义了一个外部js文件,其中有一个function import lunaCommon from '../lunaCommon.js'; var ctx = wx.getStorageSync( ...