Milenage算法实现及测试代码(根据3GPP TS 35.206 V6.0.0程序修改)

上传者: greenbeanfrog | 上传时间: 2019-12-21 19:48:30 | 文件大小: 9KB | 文件类型: zip
Milenage算法是3GPP(第三代合作伙伴计划)在UMTS(通用移动通信系统)和LTE(长期演进)网络中用于用户身份验证和密钥生成的关键算法。它基于OPE(One-Way Permutation on Encrypted data)和OPA(One-Way Function on Plain data with Addition)操作,为移动通信提供了强大的安全基础。3GPP TS 35.206是定义Milenage算法的官方技术规范,V6.0.0是该规范的一个版本。 Milenage算法的主要功能包括: 1. **随机数生成**:网络侧和用户设备(UE)各自生成一个随机数,称为RAND(Random Challenge)。 2. **密钥生成**:基于RAND、用户鉴权密钥KASME(Authentication and Session Key for Mobility Management Entity)以及网络分配的鉴权令牌(SQN, Sequence Number)和鉴权密钥AK (Authentication Key)计算出新的会话密钥K. 3. **签名生成**:UE使用OPA和OPE函数对RAND和SQN进行处理,生成响应值XRES和鉴权标记AUTN。 4. **鉴权检查**:网络接收UE返回的XRES和AUTN,通过同样的Milenage算法进行验证,确保数据的完整性和用户的合法性。 在实际应用中,Milenage算法的实现通常包括以下步骤: 1. **预处理**:网络侧和UE都执行预处理步骤,包括RAND的生成和KASME或AK的加载。 2. **OPA和OPE操作**:根据3GPP TS 35.206的定义,执行OPE和OPA函数,这些函数通常由加密哈希函数如SHA-1或SHA-256实现。 3. **密钥扩展**:使用密钥KASME或AK,生成多个子密钥,用于不同安全功能。 4. **签名和响应计算**:计算XRES和AUTN,其中AUTN还包括SQN和MAC(Message Authentication Code)部分。 5. **鉴权过程**:网络和UE间的XRES和AUTN的比较,如果匹配,则鉴权成功。 压缩包中的`TestMilenageAlgo`很可能是包含Milenage算法实现的源代码,可能用C、C++、Java或其他编程语言编写。这样的代码库通常包括函数实现、测试用例和配置文件,帮助开发者理解算法工作原理并验证其正确性。测试用例可能会模拟网络和UE之间的交互,包括生成随机数、计算签名和进行鉴权检查,以确保代码按照3GPP标准正确实现了Milenage算法。 学习和理解Milenage算法及其实现,对于从事移动通信网络安全、智能卡开发、终端设备制造或者网络运营的工程师来说至关重要,因为它直接影响到网络的安全性和用户体验。通过深入研究这些代码,开发者可以更好地掌握鉴权流程,增强系统的安全性,并且能够针对新的网络攻击策略进行有效的防御。

文件下载

资源详情

[{"title":"( 7 个子文件 9KB ) Milenage算法实现及测试代码(根据3GPP TS 35.206 V6.0.0程序修改)","children":[{"title":"TestMilenageAlgo","children":[{"title":"TestMilenageAlgo.dsp <span style='color:#111;'> 4.42KB </span>","children":null,"spread":false},{"title":"TestMilenageAlgo.dsw <span style='color:#111;'> 557B </span>","children":null,"spread":false},{"title":"MilenageAlgo.cpp <span style='color:#111;'> 13.73KB </span>","children":null,"spread":false},{"title":"TestMilenageAlgo.opt <span style='color:#111;'> 47.50KB </span>","children":null,"spread":false},{"title":"MilenageAlgo.h <span style='color:#111;'> 967B </span>","children":null,"spread":false},{"title":"TestMilenageAlgo.plg <span style='color:#111;'> 956B </span>","children":null,"spread":false},{"title":"Test.cpp <span style='color:#111;'> 3.02KB </span>","children":null,"spread":false}],"spread":true}],"spread":true}]

评论信息

  • tianbiandeyun322 :
    不错,可以用
    2019-08-29
  • qq_37629688 :
    谢谢分享,很好
    2018-12-26
  • zerolxl :
    忘记下载了啊
    2018-12-17
  • 小溪芋头 :
    博主幸亏了,现在在使用,刚刚试了,不过得出来的RES 和抓到的RES 不匹配,不知道是哪里出问题了
    2018-08-23
  • klakloklan :
    不错,有参考价值.
    2017-03-10

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明