使用消息鉴别码在微控制器处鉴别数据的制作方法

文档序号:9288385阅读:373来源:国知局
使用消息鉴别码在微控制器处鉴别数据的制作方法
【技术领域】
[0001]本发明涉及使用消息鉴别码(MACs)鉴别数据,并且更具体地涉及在微控制器处鉴别在微控制器的微处理器与由微处理器使用的外围设备之间发送的数据。
【背景技术】
[0002]微控制器用在很多种应用中以执行对不同功能的自动控制。微控制器用作使用一个或多个集成电路的小型计算机。通常而言,微控制器能够包括一个或多个微控制器元件,诸如微处理器、存储装置、总线或外围装置。使用这些元件,微控制器能够管理机械装置、电装置或机电装置的功能。在一个示例中,车辆的车体控制模块能够使用微控制器来实施。
[0003]为了适当地运行,微控制器元件依赖于它们交换的数据。然而,在微控制器元件之间交换的数据有时变得讹误并且因此不可信。在微控制器处提供会检测何时微控制器的外围设备正提供无效数据的特征将是有益的,并且对外围进程的直接内部检视是有意不可能的(通过设计)。

【发明内容】

[0004]根据本发明的实施例,提供了一种在微控制器处使用消息鉴别码(MACs)验证数据的方法。该方法包括使用有效数据在微控制器的微处理器处产生有效消息鉴别码(MAC);将有效MAC连同有效数据一起发送至微控制器的外围设备;响应于发送有效MAC在微处理器处从外围设备接收鉴别消息;在微处理器处产生无效MAC,无效MAC通过改变有效MAC的一个或多个位产生;响应于鉴别消息将无效MAC连同有效数据一起发送至外围设备;以及响应于发送无效MAC在微处理器处从外围设备接收第二鉴别消息。
[0005]根据本发明的实施例,提供了一种使用消息鉴别码(MACs)在微控制器处验证数据的系统。该系统包括经由总线通信地连接的微控制器的微处理器和外围设备,其中,微处理器将已经使用有效数据产生的有效消息鉴别码(MAC)连同有效数据一起发送至外围设备;响应于发送有效MAC从外围设备接收鉴别消息;将无效MAC连同有效数据一起发送至外围设备;以及响应于发送无效MAC从外围设备接收第二鉴别消息。
[0006]方案1.一种使用消息鉴别码(MACs)在微控制器处验证数据的方法,包括步骤: Ca)在微控制器的微处理器处使用有效数据产生有效消息鉴别码(MAC);
(b)将所述有效MAC连同所述有效数据一起发送至所述微控制器的外围设备;
(c)响应于发送所述有效MAC而在所述微处理器处从所述外围设备接收鉴别消息;
(d)在所述微处理器处产生无效MAC,所述无效MAC通过改变所述有效MAC的一个或多个位而产生;
Ce)响应于所述鉴别消息而将所述无效MAC连同所述有效数据一起发送至所述外围设备;以及
Cf)响应于发送所述无效MAC在所述微处理器处从所述外围设备接收第二鉴别消息。
[0007]方案2.根据方案I所述的方法,进一步包括在所述微处理器处存储所述有效MAC的步骤。
[0008]方案3.根据方案I所述的方法,进一步包括在所述微处理器处存储所述有效数据的步骤。
[0009]方案4.根据方案I所述的方法,其中,所述微处理器是多核处理器,使用错误校正码,或两者。
[0010]方案5.根据方案I所述的方法,进一步包括在所述外围设备处产生比较MAC的步骤。
[0011]方案6.根据方案I所述的方法,进一步包括在车辆中安装所述微控制器的步骤。
[0012]方案7.根据方案I所述的方法,进一步包括截短所述有效MAC的步骤。
[0013]方案8.—种使用消息鉴别码(MACs)在微控制器处验证数据的系统,包括: 经由总线通信地连接的微控制器的微处理器和外围设备,其中,所述微处理器将已经使用有效数据产生的有效消息鉴别码(MAC)连同所述有效数据一起发送至所述外围设备;响应于发送所述有效MAC从所述外围设备接收鉴别消息;将所述无效MAC连同所述有效数据一起发送至所述外围设备;以及响应于发送所述无效MAC而从所述外围设备接收第二鉴别消息。
[0014]方案9.根据方案8所述的系统,其中,所述有效MAC存储在所述微处理器处。
[0015]方案10.根据方案8所述的系统,其中,所述数据存储在所述微处理器处。
[0016]方案11.根据方案8所述的系统,其中,所述微处理器进一步包括多核处理器。
[0017]方案12.根据方案8所述的系统,其中,所述外围设备使用所述有效MAC或所述无效MAC产生比较MAC。
[0018]方案13.根据方案8所述的系统,其中,所述微控制器安装在车辆中。
[0019]方案14.根据方案8所述的系统,其中,所述微处理器截短了所述有效MAC。
【附图说明】
[0020]下文中将结合附图描述本发明的一个或多个实施例,其中相同的附图标记指示相同的元件,以及其中:
图1是描绘能够采用本文所公开方法的通信系统的实施例的框图;
图2是在微控制器处使用消息鉴别码(MACs)验证数据的方法的流程图;以及图3是描绘在微控制器处使用MACs验证数据的系统的实施例的框图。
【具体实施方式】
[0021]以下所描述的系统和方法在微控制器内使用消息鉴别码(MACs)以确定通信的数据是否有效。微控制器通常包括保护避免数据退化的微控制器元件。然而,微控制器能够包括并未包括这些验证特征的其他微处理器元件。例如,由微控制器使用的微处理器能够实施多核设计和/或错误校正码(ECC),多核设计和/或错误校正码(ECC)能够固有地验证在微控制器内存储/产生/处理的数据。但是微处理器可以与具有其自己的、并未使用验证特征的微处理器的外围装置通信。因此,微控制器能够通过交换受控的MACs验证其负责MAC验证的外围设备正在正确地运行。
[0022]MACs能够用于鉴别在两个电子装置(诸如微处理器与外围装置)之间通信的数据或消息。为了确保从外围设备发送至微处理器的数据是可信的,MAC能够由微处理器使用作为将要发送的数据的函数的MAC算法、以及密钥产生。示例MAC算法包括HMAC,一种基于散列(hash)函数的消息鉴别算法,以及CMAC,一种基于分组密码的消息鉴别算法。
[0023]当用于鉴别在微处理器与外围设备之间的通信时,产生的MAC能够连同用于产生那个MAC的数据一起发送至外围设备。外围设备具有其自己的密钥副本和MAC算法,外围设备能够使用它们以使用接收到的数据、其自己的密钥副本、以及MAC算法而计算比较MAC。当由外围设备计算的比较MAC匹配其被发送的MAC时,外围设备能够确定数据是可信的并且输出确认了这点的“是”的应答。与之相反,当通过接收E⑶计算得到的比较MAC没有匹配接收到的MAC时,能够输出“否”的应答。从这个意义上讲,外围设备响应于比较MAC是否匹配接收到的MAC而输出二进制的“是”或“否”。确定消息的MAC是否正确并且输出二进制的“是”或“否”的响应的过程能够称作MAC验证。
[0024]为了验证外围设备的内部处理没有错误,微处理器能够使用有效或已知的数据、已经使用有效数据计算得到的有效MAC、MAC算法和密钥、以及从有效MAC推得的无效MAC来询问外围装置。微处理器可以将有效MAC与用于产生有效MAC的有效数据一起发送至外围设备。外围设备能够使用其自己的微处理器、MAC算法、和密钥以计算比较MAC,并且确定比较MAC是否匹配有效MAC。外围设备应该输出二进制“是”,有效MAC匹配比较MAC。但是有时候不论由外围设备计算得到的MAC是否匹配接收到的MAC,外围设备都输出二进制“是”。在那些情形下,输出代表“是”的二进制输出结果的外围设备可以无法自身复位,并且不论接收到的MAC的有效性而都输出“是”。当发生这种情形时,微控制器的微处理器可以不再确信其从外围设备接收的数据是有效的。
[0025]微处理器能够产
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1