全球80%手机用户、约35亿部手机都在使用GSM网络。如此庞大的系统,其安全性不容忽视,目前GSM加密技术已使用21年,那么我们今天就来介绍一下GSM加密技术。
GSN加密技术历史
GSM是使用最广泛的蜂窝技术。1982年由欧洲邮政和电信管理协会制定GSM标准。GSM数字移动蜂窝通信标准的进一步重大改进是在1987年GSM备忘录中记载的,18个国家同意执行蜂窝网的GSM规范。1991年第一个GSM蜂窝网开始运行,直到2002年12月,191个国家中的GSM用户已超过7.875亿个,占据了大约71%的数字无线市场。
GSM的安全问题在许多GSM建议文件中有详细论述,如02.09“安全问题”,02.17“用户识别模块”、03.20“与安全有关的网络功能”、03.21“与安全有关的算法”等。
GSM目前已具备了保密机制,网络人员和供应商应用这些保密机制可为GSM用户提供保密电话和综合蜂窝网业务。保密机制可通过对用户鉴权来保护网络。对话音加密可为用户提供保密通信。
GSM加密算法
GSM主要有三种加密算法:A3是鉴权算法,A8是密钥的约定算法,A5是用于加密的流密码。
一、A3和A8加密算法
GSM规范没有指定A3和A8专用算法,仅仅指定了A3和A8算法的外部接口。
A3提供手机到网络的鉴权,A8是产生密钥KC的算法。这些加密算法是基于用户专用的密钥KI,它是手机和网络共知的。用户手机的KI固化在用户的SIM卡内,而GSM网络端的KI放在与用户号码相对应的用户归属位置寄存器HLR内。GSM没有专门规定KI的长度,所以它留给运行商去选择。但是,通常它是128位长的密钥。用户对网络的鉴权使用A3,算法如下:网络向用户提出128位的随机数RAND,用户计算出32位长的相应SRES=A3(KI,RAND),并发送SRES到网络,网络去检测它是否有效。
密钥期KC用A8算法获得如下:KC=A8(KI,RAND)。注意,A8和A3总是用同样的参数同时算出。在大多数实施中,它们是一个算法的两个输出,SRES和KCO,所以一般总是用A3/A8来说明。
二、A5加密算法
A5加密算法是GSM规范的一部分,但是它从来没有被公开过技术内容与细节。目前A5有两种形式,A5/1是“强”的版本,有出口限制,A5/2是“弱”的版本,而无出口限制。1999年BRICENO用实际的GSM电话进行工程反推得到A5/1和A5/2的电路设计,并通过已知测试数据进行了反证。一些较近的文章已被GSM组织认可。A5/3是补充的新版本,它虽已标准化但尚未用于GSM网络。A5/3是最近才使用的,是以块加密KASUMI为基础的。有一种与KASUMI结构相似的算法,应用在第三代移动通信网络中(3GPP)。
1、A5加密算法加密过程
A5是流密码,包括三组时钟控制的线性反馈移位寄存器LFSRS,每组分别是19,22和23级。控制时钟是三组移位寄存器每组中部分比特的门限函数,三组移位寄存器的级数总和为64,64位会话密钥被用来初始化移位寄存器内容,22比特TDMA帧被馈入移位寄存器,为每个TDMA帧产生两个114比特密钥流,它与发送或接收数据流异或,据说A5加密算法有效密钥长度为40比特。
GSM的通信是以4.6毫秒长的帧连续发送的。A5/1或A5/2算法输出228比特的密钥流,前114比特用作加密网络到用户的下行链路,后114比特用作加密用户到网络的上行链路。其加密是简单地将信息与密钥流异或,每帧通信用一新的密码段KC加密。
GSM系统的加密只在移动台和基站之间的空中信道存在,这对网络中的窃听无法避免,窃听者甚至可以采用基站欺骗的方法来使手机用户上当,从而骗取加密信息。因此,对特殊用途而言,GSM加密技术安全性有待提高。
小知识之蜂窝技术:
蜂窝技术是一种无线通信技术。这种技术把一个地理区域分成若干个小区,称作“蜂窝”(即Cell)。