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算法及其实现,对于从事移动通信网络安全、智能卡开发、终端设备制造或者网络运营的工程师来说至关重要,因为它直接影响到网络的安全性和用户体验。通过深入研究这些代码,开发者可以更好地掌握鉴权流程,增强系统的安全性,并且能够针对新的网络攻击策略进行有效的防御。
2019-12-21 19:48:30 9KB 登网鉴权
1
SSD1305的初始化代码,使用台湾悠景的2.23寸128*32点阵OLED测试。同样适用于其他尺寸使用相同驱动器的型号。包括奇晶等其他品牌。
2019-12-21 19:45:46 3KB SSD1305 OLED
1
ssd1325在keil下的测试工程,使用悠景2.7寸的12864点阵OLED。
1
在网上整了半天,最后把这个东东整出来了,比较干净的代码。我应用的系统是Ubuntu 10.04。
2019-12-21 19:45:09 261KB CUnit Ubuntu 单元 测试
1
FIFO及测试代码 fifo,经过调试成功,可以放心使用,非常好的代码
2019-12-21 19:45:07 1KB FIFO及测
1
HMC5883L是进口的,而QMC5883L是国产的。两款模块使用方法完全不一样。HMC5883和QMC5883的测试程序,以及数据手册。测试程序有STC51的,Arduino。
2019-12-21 19:43:58 3.12MB HMC588 QMC588 电子罗盘代码 磁力计代码
1
android手机bluetooth通信测试代码,不建议直接运行,仅供参阅
2019-12-21 19:42:18 1.49MB bluetooth android
1
android游戏手柄开发测试代码,支持鼠标,HID,USB,U盘,键盘,手柄
2019-12-21 19:36:41 100KB 鼠标 键盘 HID 手柄
1
原创Android环境下的计算器的源代码,工程文件 Android环境下的单元测试工程及源代码。
2019-12-21 19:36:04 497KB Android 函数计算器 测试代码
1
videojs播放rtmp流,测试代码,需要部署到服务器上(包括但不限于tomcat,iis),路径为test/tes2.html。videojs播放rtmp流,测试代码,需要部署到服务器上(包括但不限于tomcat,iis),路径为test/tes2.html。videojs播放rtmp流,测试代码,需要部署到服务器上(包括但不限于tomcat,iis),路径为test/tes2.html。
2019-12-21 19:35:12 644KB rtmp videojs 播放
1