背景
在整车安全方案制定的过程中,一般不会涉及到遥控车钥匙安全方案的设计,因为其中的协议和加解密算法已经非常成熟。但遥控车钥匙的攻防一直是行业内的高光领域,是车联网安全工程师理解车联网安全的重要起点之一。当我们理解了遥控车钥匙的攻击方式之后,我们才能够充分理解包含在遥控车钥匙之中的通信协议和加密算法的设计意图(实际上本人为了深入理解遥控车钥匙的通信协议,完整实现了整个攻击过程,并深入分析了协议内容,详见本人发表在看雪论坛上的相关文章《解锁一辆车的非“优雅”方式》)。从这个经典的模块出发,我们可以将相关的思路带入到ECU之间的安全通信,即SecOC的方案设计之中,也可以将其设计理念融入数字车钥匙的安全方案。
除了通信协议,遥控车钥匙的另一个安全重点是遥控车钥匙的加密算法,其中包含了两个经典的加密算法:keeloq和hitag。可能有人会问,加解密算法,无论是对称的还是非对称的,都有那么多经典的可选,为什么在遥控车钥匙的设计中搞出了两个闻所未闻的新算法,我觉得其中的重要原因是遥控车钥匙的算力和耗电。从美观和实用的角度出发,遥控车钥匙的体积一般较小,这也就意味着遥控车钥匙不会容纳大容量的电源,一般为一颗纽扣钥匙,并且一颗纽扣钥匙一般需要工作2年以上,因此整个PCB板的耗电量也严格受控,因此处理器芯片不可过于复杂,不能执行太复杂的计算。基于如上原因(我认为),遥控车要是领域的专用加解密算法应运而生。其中,keeloq 就是 mirochip 设计和拥有的专有分组密码算法,在RKE(Remote Keyless Entry)中广泛使用。

符号
在正式介绍Keeloq的算法原理之前,我们先了解下文中使用到的相关函数的定义:

算法
Keeloq为分组加密算法,分组密码的密钥长度为64位,分组长度为32位。算法使用两个寄存器运行:
一个64位的密钥寄存器,用来存储密钥;
一个32位的文本非线性反馈移位寄存器(NLFSR),用来存储运算过程中的文本。

                  
                  
                  
                  
最低0.47元/天 解锁文章
                          
                      
      
          
                
                
                
                
              
                
                
                
                
                
              
                
                
                    
              
            
                  
					3175
					
被折叠的  条评论
		 为什么被折叠?
		 
		 
		
    
  
    
  
					
					
					


            