APP下载

移动通信系统中的f9算法的研究

2016-07-10张美玲窦佩佩

电子技术与软件工程 2016年8期
关键词:移动通信

张美玲 窦佩佩

摘 要:移动通信中的f9算法是信令消息的完整性验证算法,它通过内核算法计算出信息的消息认证码,内核算法的安全性决定了f9算法的安全性。针对这个特性,提出了以IDEA为内核算法的f9算法,并与原内核为KASUMI的f9算法在加密速度上进行了比较。实验结果表明内核为IDEA的f9算法在加密速度上有了明显的提高。

【关键词】移动通信 f9算法 IDEA 速度测试

目前,移动通信正在向4G通信平滑过渡,4G通信系统备受广泛研究,4G的发展是继 3G 标准的另一个阶段。移动通信提供了多媒体业务、数据业务、以及多种信息服务。人们在使用这些服务的同时,大量敏感数据通过无线信道传送或者存储在无线平台上,因此这些业务的大量出现对移动通信网络的安全性提出了更高的要求。3G系统中的安全方案主要是实现用户间安全通信,为特定的业务类型而设计,其中f9算法是信令消息的完整性验证算法,用于对移动站和网络间发送的控制信令信息进行完整性验证。f9算法的研究对4G系统的网络安全有很大的作用,能帮助4G移动通信机制更加健壮。

1 f9算法简介

f9算法通过KASUMI算法生成完整性消息认证码(MAC-I),对用户终端(UE)和无线网络控制器(RNC)之间的无线链路上的信令数据进行完整性保护和并对信令数据来源进行认证。f9算法是二进制消息认证MAC产生模块,在主密钥的控制下,采用密码分组链接模式CBC,产生的消息认证码用来对通信数据的来源和完整性进行认证。

2 KASUMI算法

KASUMI算法主要用来构建3G系统中的安全算法f8和f9。它是基于日本三菱公司的分组密码MISTY算法进行改进的。KASUMI算法是一个采用Feistel结构的分组加密算法,密钥长度为128比特,对一个64比特的输入分组进行八轮的迭代运算,产生长度为64比特的输出。轮函数包括一个输入输出为32比特的非线性混合函数FO和一个输入输出为32比特的线性混合函数FL。函数FO由一个输入输出为16比特的非线性混合函数FI进行3轮重复运算而构成。而函数FI是由使用非线性的S-盒S7和S9构成的4轮结构。

3 以IDEA算法为f9算法的内核算法

3.1 IDEA算法简介

IDEA算法是分组长度为64位,密钥长度为128位的分组密码算法,加密算法与解密算法相同。输入的64-位数据分组被分成4个16-位子分组:X1,X2,X3,X4。这4个子分组成为算法的第一轮的输入,总共有8轮。在每一轮中,这4个子分组相互相异或,相加,相乘,且与6个16-位子密钥相异或,相加,相乘。在轮与轮间,第二和第三个子分组交换。最后在输出变换中4个子分组与4个子密钥进行运算。

该算法用了52个子密钥(8轮中的每一轮需要6个,其他4个用与输出变换)。首先,将128-位密钥分成8个16-位子密钥。这些是算法的第一批8个子密钥(第一轮六个,第二轮的头两个)。然后,密钥向左环移25位后再分成8个子密钥。开始4个用在第二轮,后面4个用在第三轮。密钥再次向左环移25位产生另外8个子密钥,如此进行直到算法结束。

3.2 内核为IDEA的f9算法实现

由于IDEA算法理论设计上能抵抗差分攻击和线性攻击,具有很高的安全性,软硬件实现容易,算法处理速度快,满足3GPP中安全算法的要求,所以IDEA算法可以作为f9的内核算法。IDEA算法和KASUMI算法的明文分组长度和密钥长度相同,所以IDEA算法应用在f9算法中的参数设置也是一致的。

3.2.1 输入输出参数

f9算法在输入参数完整性序列号COUNT、方向标识DIRECTION、随机数FRESH、主密钥IK和认证消息MESSAGE的作用下,生成消息认证码MAC-I。其参数如表1所示。

3.2.2 初始化设置

设置寄存器变量A=0,B=0,分别为64bit;KM为128bit常数,设置为0123456789ABCDEF0123456789ABCDEF;PS = COUNT ||FRESH||MESSAGE||DIRECTION[0]||1||0...0。PS为输入参数COUNT,FRESH, MESSAGE和DIRECTION并联在一起,其后再放一个“1”,跟着在“1”后面填充0,使PS的位数为64的整数倍数。

3.2.3 消息认证码

消息认证码由以下流程生成:

(1)先将PS分成若干个长度为64bit的分组PSn,0

(2)计算寄存器A的值:A=IDEA(A⊕PSn,IK)

(3)计算寄存器B的值:B =B⊕A

(4)计算B = IDEA(B,IK⊕KM)

(5)取得32bit的消息认证码为B的左边32个bit:MAC-I[i] = B[i] (i=0…31),右边的32个bit即B[32] ...B[63]被舍弃。

4 速度测试比较

本实验采用的机器型号为:Intel处理器主频为3.3GHz;内存为4G;操作系统为Windows 7;机器型号为Core i3-3220。在Microsoft Visual C++ 6.0开发工具中用CTimeSpan类在加密程序的开始和结束用来获取时间,两个时间之差就是程序所用时间。本文做了五次测试,采用五个不同的主密钥,如表2所示,每次测试来加密不同的数据量,最后将五次实验求得平均值。

为了比较内核为KASUMI算法和IDEA算法的f9软件实现的加密速度,采用的是相同的参数设置,相同的机器环境、相同的明文以及相同的五种主密钥。使用两种不同内核算法的f9在五种主密钥下加密9种不同的数据量所用的时间对比见图1所示(单位为毫秒)。

从图1可以看出,随着数据量的增加,内核为IDEA的f9算法,比起原始内核为KASUMI的f9算法,加密速度有很大的提高,所用的平均时间比以前少了2s左右。从理论上讲,采用IDEA为内核算法的f9方案从实现效率角度来看是可行。这就为3G无线链路上数据保护的安全性研究提供了可行性依据。

5 结束语

内核算法是f9算法的重要组成部分,f9算法是通过内核算法计算出信息的消息认证码,内核算法的安全性直接决定了f9算法的安全性。本文研究了内核为IDEA的f9算法,并与原始内核KASUMI的f9算法在加密速度上进行了比较。实验结果表明内核为IDEA比原始KASUMI的f9算法在加密速度上有了明显的提高。这就为移动通信无线链路上数据保护的安全性研究和分组密码IDEA算法充当f9的内核算法的可能性提供了理论依据。

参考文献

[1]唐成永.4G时代的信息安全威胁[J].信息与电脑,2015.

[2]朱里奇.第三代移动通信系统(3G)安全性研究[D].武汉:华中科技大学,2004.

[3]3GPP TS 35.201.Specification of 3GPP confidentiality and integrity algorithm:f8 and f9 specification[S],2009.

[4]3GPP TS 35.202.Specification of 3GPP confidentiality and integrity algorithm:KASUMI specification[S],2007.

[5]Lai X.On the Design and Security of Block Ciphers.ETH Series in Information Processing(1).Hartung-gorre Verlag,Konstanz,1992.

[6]Bruce Schneier 著,吴世忠等译.应用密码学-协议、算法与C语言程序[M].北京:机械工业出版社,2000.

[7]3GPP TS 33.105.3G Security Cryptographic Algorithm Requirement[S].2001.

[8]刘丹 张亚新等编著. Visual C++从入门到精通(第二版)[M].北京:化学工业出版社,2011.

作者简介

张美玲(1981-),女,河南省滑县人。军事学硕士研究生学历。现为石河子大学信息科学与技术学院讲师。研究方向为 密码通信技术。

窦佩佩(1988-),女,陕西省凤翔县人。军事学硕士研究生学历。现为石河子大学信息科学与技术学院讲师。研究方向为 密码加解密算法研究。

作者单位

石河子大学信息科学与技术学院 新疆维吾尔自治区石河子市 832000

猜你喜欢

移动通信
移动通信消费者行为研究
手持无线测量仪在移动通信工程测量中的应用分析
工程监理在移动通信核心网建设中的作用分析
Android系统上的移动互联网集成平台开发机制
移动通信WLAN平台下的网络均衡器的设计与实现
探究集约化理念在移动通信基站建设中的运用