网学网为广大网友收集整理了,3G的AKA协议中F1至F5的服务网络端实现,希望对大家有所帮助!
客服咨询,网学网竭诚为您服务,本站永久域名:myeducs.cn |
1 f1,f2,f3,f4,f5算法的研究 1.1 f1-f5的介绍 3G的认证使用5参数的认证向量AV(RAND□XRES□CK□IK□AUTN),执行AKA(Authen-tiCAtion and Key Agreement)认证和密钥协商协议, HE/HLR表示用户归属区的用户归属寄存器;AV表示认证向量;AUTN表示认证令牌;RES和XRES分别表示用户域的应答信息和服务网的应答信息;RAND表示生成的随机数;CK和IK分别表示数据保密密钥和数据完整性密钥。AKA用于USIM、访问位置寄存器(VLR)、归属位置寄存器(HLR)间的双向认证及密钥分配,3G系统为实现完备的安全功能定义了12个算法(f0,f1, f1*,.f2…f5,f5*,f6…f9)。其具体定义如下图所示: 图14 f1-f5算法图 RAND 128位的随机询问数,f1, f1*, f2, f3, f4, f5 and f5*的输入 OP 128位的运算变量,f1, f1*, f2, f3, f4, f5 and f5*的成分 RES 至多128位至少32位 OPC 从OP和K得到的128值 SQN 48位的序列值,f1and f1*的输入 SQNMS 同SQN中,指用在f1* AMF 16位的认证管理域,f1 and f1*.的输入 AMF 认证管理域码AMF(用于支持多种认证算法和设置密钥生命期) 第一组的输入: IN1[0] .. IN1[47] = SQN[0] .. SQN[47] IN1[48] .. IN1[63] = AMF[0] .. AMF[15] IN1[64] .. IN1[111] = SQN[0] .. SQN[47] IN1[112] .. IN1[127] = AMF[0] .. AMF[15] SQN ||AMF|| SQN|| AMF:长度为128位。 OPC = OP Å E[OP]K c1,c2,c3,c4,c5的定义如下: c1[i] = 0 for 0 £ i £ 127 c2[i] = 0 for 0 £ i £ 127, except that c2[127] = 1 c3[i] = 0 for 0 £ i £ 127, except that c3[126] = 1 c4[i] = 0 for 0 £ i £ 127, except that c4[125] = 1 c5[i] = 0 for 0 £ i £ 127, except that c5[124] = 1 r1, r2, r3, r4, r5定义如下: r1 = 64; r2 = 0; r3 = 32; r4 = 64; r5 = 96 移位方法是循环左移 5个128位的输出OUT1, OUT2, OUT3, OUT4, OUT5用表达式可如下表示: OUT1 = E[TEMPÅrot(IN1 Å OPC, r1) Å c1]K Å OPC OUT2 = E[rot(TEMPÅ OPC, r2) Å c2]K Å OPC OUT3 = E[rot(TEMPÅ OPC, r3) Å c3]K Å OPC OUT4 = E[rot(TEMPÅ OPC, r4) Å c4]K Å OPC OUT5 = E[rot(TEMPÅ OPC, r5) Å c5]K Å OPC 各个不同函数f1-f5的输出定义如下: Output of f1 = MAC_A, where MAC-A[0] .. MAC-A[63] = OUT1[0] .. OUT1[63] Output of f2 = RES, where RES[0] .. RES[63] = OUT2[64] .. OUT2[127] Output of f3 = CK, where CK[0] .. CK[127] = OUT3[0] .. OUT3[127] Output of f4 = IK, where IK[0] .. IK[127] = OUT4[0] .. OUT4[127] Output of f5 = AK, where AK[0] .. AK[47] = OUT2[0] .. OUT2[47] 关于OP与的OPC说明: 一个128位的值OP,可以理解为,不同的运营商使用不同的OP。无论OP是否公开,算法都是安全的。如果运营者保密OP的值则更好。它是由运营者自己指定的。 1.2 f1,f2,f3,f4,f5的实现 /*------------------------------------------------------------------- * 算法 f1 *------------------------------------------------------------------- * 计算网络认证代码mac-a 密钥K,任意随机询问数rand、顺序编号sqn 和认证管理域amf *-----------------------------------------------------------------*/
结 论 通过对AKA协议中f1-f5以及高级加密标准AES的Rijdael算法的理论和实现进行研究和分析,加深了我对这些知识的认识和理解,我对第三代移动通信有了更进一步的认识,也对Rijdael算法有了更深层次的理解和认识。 AES算法自身运算单元结构比较复杂,再加上算法设计上的紧凑性使得算法本身没有足够的空间来隐藏陷门,在研究的过程中主要侧重于算法的执行速度。 论文首先对算法的理论基础知识作了总结和归纳,介绍了Rijndael算法在变换过程中涉及到的数学基知识,为论文在下面的讨论提供数学依据。承接算法的理论基础,详细的描述了算法所遵循的设计准则和设计原理,对算法轮变换过程,即SubByte变换、ShiftRows变换、MixColumns变换和AddRoundKey变换组成进行了详细的说明和图例解释。然后对AKA协议中的f1-f5作了介绍和分析。其实f1-f5的算法实现的精髓就在于Rijndael算法的实现。 参考文献 [1] 蔡乐才,张仕斌.应用密码学[M].北京:中国电力出版社,2005。 [2] 卢开澄.计算机密码学(第三版)[M].北京:清华大学出版社,2003。 [3] 邓安文.密码学—加密演算法[M].北京:中国水利水电出版社,2006。 [4] David Salomon.数据保密与安全[M].北京:清华大学出版社,2005。 [5] 林德敬,林柏钢,林德清.国内外分组密码理论与技术的研究现状及发展趋势[J].天津通信技术,2002,73(4):1-7 。 [6] 姚惠明,隋爱芬,杨义先.3GPP网络AKA协议中若干算法的设计[J].北京邮电大学学报,2002,25(3):98-102。 [7] 谭浩强,C程序设计(第二版)[M].北京:清华大学出版社,1999。 |
本站发布的计算机毕业设计均是完整无错的全套作品,包含开题报告+程序+论文+源代码+翻译+答辩稿PPT |
本文选自计算机毕业设计http://myeducs.cn |