微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 无源防盗系统软硬件设计与关键考虑事项

无源防盗系统软硬件设计与关键考虑事项

时间:12-27 来源:互联网 点击:

表示 “半个比特位”)。数据率固定为1/(2T)。时钟提取只需要检测最小时间段因子T,并使其相位与被编码的位流同步即可。

  

  图6 曼彻斯特 (Manchester) 和双相 (Bi-phase) 编码

  协议层

  协议层定义各个数据位的分组,以实现车载基站和密钥卡之间的通信。它定义有多少个比特位,以及它们按什么顺序在读取器和收发器之间进行传输。打个简单的比方,这就类似于使用单词构成句子的语法规则。协议层就象由逻辑层构成的句子,而逻辑层则相当于单词。它形成一组固定的命令及其允许的应答。

  验证

  验证是用来描述判断驾驶员是否有权启动汽车这一个过程的术语。最简单的验证形式被称为单向验证 (unilateral authentication),这种情况下,汽车对密钥卡进行“测试”,以确定它是否与汽车匹配。若在这一过程中再增加一个步骤,即让钥匙也对汽车进行“测试”,判断其是否匹配,这时就成为了双向或交互式验证。显然,增加的这一步骤提高了安全强度,不过代价是验证时间延长。

  单向验证

  一般而言,单向验证协议由汽车发起,并包含以下几个步骤:

  1) 汽车读取密钥卡的唯一ID (不会与密钥混淆)

  2) 汽车产生一个随机数询问(challenge),并发送给密钥卡

  3) 密钥卡对询问进行加密(使用密钥),然后向汽车发送应答(response)

  4) 汽车对密钥卡的应答与自己计算的应答进行比较 (使用相同的密钥和询问)

  注:汽车必须拥有密钥卡的密钥,这一过程才能成功完成。共享密钥的过程被称为“Key Learn”,下一节将详细阐述。

  

图7 单向验证

  Key Learn: 公开/ 私密

  Key Learn协议是指使汽车设立密钥,并与密钥卡共享之的过程。可以根据汽车发起的Key Learn会话的限制与安全设置,密钥是公开的或私密的。

  一个公开的Key Learn进程一般包含以下 (以及图8所示) 步骤:

  1) 汽车根据随机数产生一个密钥,并提交给密钥卡

  2) 密钥卡“接受”密钥,保存在存储器中,并做出应答 (acknowledgment) 响应

  3) 在成功接收到密钥卡的应答之后,汽车把密钥保存在存储器中

  如果Key Learn协议无法阻止窃听者,或保护汽车不被非法使用,这时就需要采用私密Key Learn 进程。

  

  图8 公开的Key Learn

[next]

  双向或准交互式验证

  准交互式或双向验证是一种更为复杂的验证过程。爱特梅尔防盗系统中实现的并非完全交互式的验证,因为它并没有在系统两端 (汽车和密钥卡) 使用随机发生器。这种实现方案使用一个消息验证代码 (Message Authentication Code, MAC) 来验证汽车与钥匙是否匹配。

  而且,在双向验证的情况下,验证协议由汽车发起,包含以下(以及图9所示)步骤:

  1) 汽车读取密钥卡的唯一ID

  2) 汽车产生一个随机数询问 ,并发送给密钥卡

  3) 汽车对随机数进行加密,然后附加在询问上

  4) 密钥卡对询问进行加密 (利用密钥 1) ,并将之与接收到的加密询问进行比较 (MAC)

  5) 如果结果匹配,密钥卡加密之 (利用密钥2) ,并向汽车发送应答

  6) 汽车对密钥卡的 应答与自己计算的应答进行比较(使用相同的密钥和询问)

  

图9 双向验证

  加密层

  最顶层是加密层。这一层包含了把纯文本信息转换为加密信息的数学函数。这种函数最理想的应该具有两种特性:

  1. 唯一性:对于每一个纯文本输入,必须对应一个独一无二的加密文本输出

  2. 不可预知性:纯文本至加密文本对必须是无法预测的,即使有已知纯文本至加密文本对大样本供分析。

  公开与私密

  私密加密算法已流行多年。不过,私密算法有若干不足之处:A) 算法强度不确定;B) 缺乏关键的代码对等评测机制的制约;C)若算法泄漏,可能导致大范围安全性受损。 近年来,有不少瞩目的例子陆续被报道,足以说明这些缺点的存在。更引人注目的缺点也许是系统缺乏互操作性,不能共享同一个物理和逻辑层。这一点有碍于基本的市场竞争力,而且在很多情况下促使了系统成本的上升。

  为解决这些问题,人们开始转而接受公共域加密算法 ── 高级加密标准 (常常被称为AES)。这种算法源于1997年美国国家标准技术研究所 (NIST) 发起的征集公共域加密算法的倡议。那一年共产生了15个候选算法,并都经过了加密研究领域的严格评测 (critical review)。这种评测分析包括对每一种算法的安全性和效率的评测。NIST 从15 个候选算法里选中了4 个,然后进入第二轮公开评测,最终在2000年选出了AES算法。

  正如我们现在所了解的,AES是一种对称分组密码,使用128位的纯文本输入和128位的密钥,产生128位的加密输出。由于这种对称特性,AES也可以反向操作,利用加密输出和密钥,找出并提取原始纯文本输入。

系统安全性考虑

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top