LTE PDCP EEA 和 EIA 算法 实现应注意的问题
2012-12-03 23:03
218 查看
这几天一直在调试LTE 空口 PDCP 的安全相关功能,我采用的是软件实现,代码是网上的开源代码。 通过33.401 后面测试样本数据的测试后,我就开始上板测试,
但eNB发下去的 Security Mode Command ,UE就一直回复 Security Mode Failure, 从UE的log 里已经能看到 用的 密钥是一样的,一直找不到原因。 后来另外一位同事,提醒我rbId 使用的对不对。 之前我一直理解那个 rbId就是 SRB1 的 rbId = 1;但后来从36.323 PDCP 的5.7小节有这样的描述:
BEARER (defined asthe radio bearer identifier in [6]. It will use the value RB identity –1 as in[3]);, 参考3 就是 36.331 RRC协议。
这里的关键就是那个 RB identity -1, 我一直理解那是个破折号,起到解释说明的作用,但其实那是一个减号。 (后来想想,SRB2的rbId就为2了,说明那一定不是破折号)
之后把rbId 减1 后输入 EIA 算法就正确了,UE 回复 了 Security Mode Complete! 我还是想抱怨协议编写者,为什么不写成单词 minus 1 呢?
为了,能让更多的人不犯这个错误,我再用英文描述一遍这个问题,便于技术人员搜索。
In LTE ,the AS Security function(SMC) was implemented in PDCP,some crucial issues should be taking care of !
EIA algorythm have several parameters, one of them is Bearer. i always thought that the Bearer should be the rbId of SRB1 = 1; but ,in 36.323 section 7.5,said:
BEARER (defined asthe radio bearer identifier in [6]. It will use the value RB identity –1 as in[3]);
the character "-" in the last was not a dash,it's an operator minus, the radio bearer identity should minus one first before put it into the EIA or EEA algotythm.
Furthermore ,you should test your code using the test data in the appendix of 33.401 , and good luck !
但eNB发下去的 Security Mode Command ,UE就一直回复 Security Mode Failure, 从UE的log 里已经能看到 用的 密钥是一样的,一直找不到原因。 后来另外一位同事,提醒我rbId 使用的对不对。 之前我一直理解那个 rbId就是 SRB1 的 rbId = 1;但后来从36.323 PDCP 的5.7小节有这样的描述:
BEARER (defined asthe radio bearer identifier in [6]. It will use the value RB identity –1 as in[3]);, 参考3 就是 36.331 RRC协议。
这里的关键就是那个 RB identity -1, 我一直理解那是个破折号,起到解释说明的作用,但其实那是一个减号。 (后来想想,SRB2的rbId就为2了,说明那一定不是破折号)
之后把rbId 减1 后输入 EIA 算法就正确了,UE 回复 了 Security Mode Complete! 我还是想抱怨协议编写者,为什么不写成单词 minus 1 呢?
为了,能让更多的人不犯这个错误,我再用英文描述一遍这个问题,便于技术人员搜索。
In LTE ,the AS Security function(SMC) was implemented in PDCP,some crucial issues should be taking care of !
EIA algorythm have several parameters, one of them is Bearer. i always thought that the Bearer should be the rbId of SRB1 = 1; but ,in 36.323 section 7.5,said:
BEARER (defined asthe radio bearer identifier in [6]. It will use the value RB identity –1 as in[3]);
the character "-" in the last was not a dash,it's an operator minus, the radio bearer identity should minus one first before put it into the EIA or EEA algotythm.
Furthermore ,you should test your code using the test data in the appendix of 33.401 , and good luck !
相关文章推荐
- Twitter的分布式自增ID算法snowflake的JAVA实现以及使用时需要注意的问题
- Twitter的分布式自增ID算法snowflake的JAVA实现以及使用时需要注意的问题
- 经典算法---8皇后问题的C++实现
- 回溯算法——收费公路重建问题python实现
- 算法基础之python实现深度优先搜索中城堡问题
- 枚举 编程题#1: 画家问题(Coursera 程序设计与算法 专项课程4;枚举方法:用二进制依次加1的进位方法模拟实现)
- 农夫养牛问题的实现算法
- 背包问题算法的JAVA实现
- 算法实现(4)整数划分问题
- 约瑟夫问题-O(n)算法实现
- 算法java实现--贪心算法--单源最短路径问题--Dijkstra算法
- js实现定时器及注意的问题
- 算法java实现--贪心算法--最小生成树问题--Prim算法
- 约瑟夫问题 算法很简单保证每个人都能看懂用的是模拟现实 用数组实现 利用循环删除数组中的元素
- C语言实现的猴子吃桃问题算法解决方案
- 算法基础:整数拆分问题(Golang实现)
- 二分查找(Binary Search)需要注意的问题,以及在数据库内核中的实现[谁有源码麻烦贴过来个链接学习学习]
- LCS问题实现---------------(动态规划, 取自算法导论)
- java在使用实现了List接口时候应该注意的问题
- 算法设计与分析--N皇后问题实现程…