首页> 中国专利> 使用消息鉴别码在微控制器处鉴别数据

使用消息鉴别码在微控制器处鉴别数据

摘要

本发明公开使用消息鉴别码在微控制器处鉴别数据。使用消息鉴别码(MACs)在微控制器处验证数据的系统和方法包括,使用有效数据在微控制器的微处理器处产生有效MAC;将有效MAC连同有效数据一起发送至微控制器的外围设备;响应于发送有效MAC而在微处理器处从外围设备接收鉴别消息;在微处理器处产生无效MAC,无效MAC通过改变有效MAC的一个或多个位而产生;响应于鉴别消息,将无效MAC连同有效数据一起发送至外围设备;以及响应于发送无效MAC在微处理器处从外围设备接收第二鉴别消息。

著录项

  • 公开/公告号CN105005539A

    专利类型发明专利

  • 公开/公告日2015-10-28

    原文格式PDF

  • 申请/专利号CN201510177559.6

  • 发明设计人 D.奈尔恩;

    申请日2015-04-15

  • 分类号

  • 代理机构中国专利代理(香港)有限公司;

  • 代理人周春梅

  • 地址 美国密执安州

  • 入库时间 2023-12-18 11:38:13

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-12-14

    授权

    授权

  • 2015-11-25

    实质审查的生效 IPC(主分类):G06F13/38 申请日:20150415

    实质审查的生效

  • 2015-10-28

    公开

    公开

说明书

技术领域

本发明涉及使用消息鉴别码(MACs)鉴别数据,并且更具体地涉及在微控制器处鉴别在微控制器的微处理器与由微处理器使用的外围设备之间发送的数据。

背景技术

微控制器用在很多种应用中以执行对不同功能的自动控制。微控制器用作使用一个或多个集成电路的小型计算机。通常而言,微控制器能够包括一个或多个微控制器元件,诸如微处理器、存储装置、总线或外围装置。使用这些元件,微控制器能够管理机械装置、电装置或机电装置的功能。在一个示例中,车辆的车体控制模块能够使用微控制器来实施。

为了适当地运行,微控制器元件依赖于它们交换的数据。然而,在微控制器元件之间交换的数据有时变得讹误并且因此不可信。在微控制器处提供会检测何时微控制器的外围设备正提供无效数据的特征将是有益的,并且对外围进程的直接内部检视是有意不可能的(通过设计)。

发明内容

根据本发明的实施例,提供了一种在微控制器处使用消息鉴别码(MACs)验证数据的方法。该方法包括使用有效数据在微控制器的微处理器处产生有效消息鉴别码(MAC);将有效MAC连同有效数据一起发送至微控制器的外围设备;响应于发送有效MAC在微处理器处从外围设备接收鉴别消息;在微处理器处产生无效MAC,无效MAC通过改变有效MAC的一个或多个位产生;响应于鉴别消息将无效MAC连同有效数据一起发送至外围设备;以及响应于发送无效MAC在微处理器处从外围设备接收第二鉴别消息。

根据本发明的实施例,提供了一种使用消息鉴别码(MACs)在微控制器处验证数据的系统。该系统包括经由总线通信地连接的微控制器的微处理器和外围设备,其中,微处理器将已经使用有效数据产生的有效消息鉴别码(MAC)连同有效数据一起发送至外围设备;响应于发送有效MAC从外围设备接收鉴别消息;将无效MAC连同有效数据一起发送至外围设备;以及响应于发送无效MAC从外围设备接收第二鉴别消息。

方案1. 一种使用消息鉴别码(MACs)在微控制器处验证数据的方法,包括步骤:

(a)在微控制器的微处理器处使用有效数据产生有效消息鉴别码(MAC);

(b)将所述有效MAC连同所述有效数据一起发送至所述微控制器的外围设备;

(c)响应于发送所述有效MAC而在所述微处理器处从所述外围设备接收鉴别消息;

(d)在所述微处理器处产生无效MAC,所述无效MAC通过改变所述有效MAC的一个或多个位而产生;

(e)响应于所述鉴别消息而将所述无效MAC连同所述有效数据一起发送至所述外围设备;以及

(f)响应于发送所述无效MAC在所述微处理器处从所述外围设备接收第二鉴别消息。

方案2. 根据方案1所述的方法,进一步包括在所述微处理器处存储所述有效MAC的步骤。

方案3. 根据方案1所述的方法,进一步包括在所述微处理器处存储所述有效数据的步骤。

方案4. 根据方案1所述的方法,其中,所述微处理器是多核处理器,使用错误校正码,或两者。

方案5. 根据方案1所述的方法,进一步包括在所述外围设备处产生比较MAC的步骤。

方案6. 根据方案1所述的方法,进一步包括在车辆中安装所述微控制器的步骤。

方案7. 根据方案1所述的方法,进一步包括截短所述有效MAC的步骤。

方案8. 一种使用消息鉴别码(MACs)在微控制器处验证数据的系统,包括:

   经由总线通信地连接的微控制器的微处理器和外围设备,其中,所述微处理器将已经使用有效数据产生的有效消息鉴别码(MAC)连同所述有效数据一起发送至所述外围设备;响应于发送所述有效MAC从所述外围设备接收鉴别消息;将所述无效MAC连同所述有效数据一起发送至所述外围设备;以及响应于发送所述无效MAC而从所述外围设备接收第二鉴别消息。

方案9. 根据方案8所述的系统,其中,所述有效MAC存储在所述微处理器处。

方案10. 根据方案8所述的系统,其中,所述数据存储在所述微处理器处。

方案11. 根据方案8所述的系统,其中,所述微处理器进一步包括多核处理器。

方案12. 根据方案8所述的系统,其中,所述外围设备使用所述有效MAC或所述无效MAC产生比较MAC。

方案13. 根据方案8所述的系统,其中,所述微控制器安装在车辆中。

方案14. 根据方案8所述的系统,其中,所述微处理器截短了所述有效MAC。

附图说明

下文中将结合附图描述本发明的一个或多个实施例,其中相同的附图标记指示相同的元件,以及其中:

图1是描绘能够采用本文所公开方法的通信系统的实施例的框图;

图2是在微控制器处使用消息鉴别码(MACs)验证数据的方法的流程图;以及

图3是描绘在微控制器处使用MACs验证数据的系统的实施例的框图。

具体实施方式

以下所描述的系统和方法在微控制器内使用消息鉴别码(MACs)以确定通信的数据是否有效。微控制器通常包括保护避免数据退化的微控制器元件。然而,微控制器能够包括并未包括这些验证特征的其他微处理器元件。例如,由微控制器使用的微处理器能够实施多核设计和/或错误校正码(ECC),多核设计和/或错误校正码(ECC)能够固有地验证在微控制器内存储/产生/处理的数据。但是微处理器可以与具有其自己的、并未使用验证特征的微处理器的外围装置通信。因此,微控制器能够通过交换受控的MACs验证其负责MAC验证的外围设备正在正确地运行。

MACs能够用于鉴别在两个电子装置(诸如微处理器与外围装置)之间通信的数据或消息。为了确保从外围设备发送至微处理器的数据是可信的,MAC能够由微处理器使用作为将要发送的数据的函数的MAC算法、以及密钥产生。示例MAC算法包括HMAC,一种基于散列(hash)函数的消息鉴别算法,以及CMAC,一种基于分组密码的消息鉴别算法。

当用于鉴别在微处理器与外围设备之间的通信时,产生的MAC能够连同用于产生那个MAC的数据一起发送至外围设备。外围设备具有其自己的密钥副本和MAC算法,外围设备能够使用它们以使用接收到的数据、其自己的密钥副本、以及MAC算法而计算比较MAC。当由外围设备计算的比较MAC匹配其被发送的MAC时,外围设备能够确定数据是可信的并且输出确认了这点的“是”的应答。与之相反,当通过接收ECU计算得到的比较MAC没有匹配接收到的MAC时,能够输出“否”的应答。从这个意义上讲,外围设备响应于比较MAC是否匹配接收到的MAC而输出二进制的“是”或“否”。确定消息的MAC是否正确并且输出二进制的“是”或“否”的响应的过程能够称作MAC验证。

为了验证外围设备的内部处理没有错误,微处理器能够使用有效或已知的数据、已经使用有效数据计算得到的有效MAC、MAC算法和密钥、以及从有效MAC推得的无效MAC来询问外围装置。微处理器可以将有效MAC与用于产生有效MAC的有效数据一起发送至外围设备。外围设备能够使用其自己的微处理器、MAC算法、和密钥以计算比较MAC,并且确定比较MAC是否匹配有效MAC。外围设备应该输出二进制“是”,有效MAC匹配比较MAC。但是有时候不论由外围设备计算得到的MAC是否匹配接收到的MAC,外围设备都输出二进制“是”。在那些情形下,输出代表“是”的二进制输出结果的外围设备可以无法自身复位,并且不论接收到的MAC的有效性而都输出“是”。当发生这种情形时,微控制器的微处理器可以不再确信其从外围设备接收的数据是有效的。

微处理器能够产生无效MAC并且将无效MAC与用于产生有效MAC的有效数据一起发送至外围装置。能够通过改变有效MAC的一个或多个位而产生无效MAC。例如,关于128位MAC,微处理器能够将有效MAC的第128位从二进制“零”改变为二进制“一”,由此产生了无效MAC。无效MAC随后能够连同用于产生有效MAC的有效数据一起发送至外围装置。外围设备应该使用有效数据计算比较MAC,将其与接收到的无效MAC作比较,并且输出二进制“否”,MAC不匹配。但是如上面注意到的,如果外围设备输出二进制“是”,微控制器的微处理器能够确定外围装置并未正确地验证其接收到的MACs。以下所描述的系统和方法涉及在车辆处的实施方式。然而,应该知晓的是在车辆之外的其他环境中的实施方式是可能的。

通信系统-

参照图1,示出了操作环境,包括移动车辆通信系统10并且能够用于实施本文所公开的方法。通信系统10通常包括车辆12,一个或多个无线载波系统14,陆地通信网络16,计算机18,以及呼叫中心20。应该理解的是,所公开的方法能够用于任意数目的不同系统,并且并不特别限于在此所示的操作环境。此外,系统10及其个体部件的架构、构造、设置和操作通常在本领域是已知的。因此,以下段落简单地提供一个这样的通信系统10的简要概述;然而,在此未示出的其他系统也能够采用所公开的方法。

车辆12在所示实施例中被描绘作为乘用车,但是应该知晓的是也能够使用任何其他车辆,包括摩托车、卡车、运动用途车辆(SUVs)、旅游车(RV)、舰船、飞机等。车辆电子部件28的一些大致示出在图1中,并且包括远程通信单元30、话筒32、一个或多个按钮或其他控制输入34、音频系统36、可视化显示器38、和GPS模块40以及多个车辆系统模块(VSMs)42。这些装置的一些能够直接连接至远程通信单元,诸如例如话筒32和按钮34,而其它装置使用一个或多个网络连接而间接地连接,诸如通信总线44或娱乐总线46。合适的网络连接的示例包括控制器区域网(CAN)、媒体导向系统传输(MOST)、局部互连网(LIN)、局域网(LAN)、以及其他合适的连接,诸如以太网或遵照已知的ISO、SAE和IEEE标准和规范的其它连接,仅列举少数。

远程通信单元30能够是原厂(OEM)-安装(嵌入)或售后市场装置,其安装在车辆中并且能够在无线载波系统14之上并经由无线网络实现无线语音和/或数据通信。这使得车辆能够与呼叫中心20、其他能够实现远程通信的车辆、或一些其他实体或装置通信。远程通信单元优选地使用无线传输以采用无线载波系统14建立通信信道(语音信道和/或数据信道),使得能够在信道之上发送和接收语音和/或数据传输。通过提供语音和数据通信,远程通信单元30使得车辆能够提供大量不同服务,包括涉及导航、电话、紧急援助、诊断、信息娱乐等的服务。数据能够经由数据连接(诸如经由在数据信道之上的分组数据(packet data)传输)发送,或者使用本领域已知的技术经由语音信道发送。对于包括语音通信(例如具有在呼叫中心20处的现场顾问或语音响应单元)和数据通信(例如向呼叫中心20提供GPS位置数据或车辆诊断数据)两者的组合服务,系统能够采用在语音信道之上的单个呼叫以及如需要在语音信道之上在语音和数据传输之间切换,并且这能够使用对于本领域技术人员来讲已知的技术完成。

根据一个实施例,远程通信单元30采用了根据GSM或者CDMA标准的蜂窝通信,并且因此包括用于类似非手持式呼叫的语音通信的标准蜂窝芯片集50,用于数据传输的无线调制解调器,电子处理装置52,一个或多个数字存储装置54,以及双重天线56。应该知晓的是,调制解调器能够通过存储在远程通信单元中并且由处理器52执行的软件来实施,或者其能够是位于远程通信单元30内部或外部的分立硬件部件。调制解调器能够使用任意数目的不同标准或协议操作,诸如EVDO、CDMA、GPRS和EDGE。在车辆与其他联网装置之间的无线网络也能够使用远程通信单元30执行。出于这个目的,能够配置远程通信单元30根据一个或多个无线协议无线地通信,协议诸如IEEE 802.11协议、WiMAX或蓝牙的任何一种。当用于诸如TCP/IP的分组交换(packet-switched)数据通信时,远程通信单元能够被配置成具有静态IP地址,或者能够建立从网络上的另一装置(诸如路由器)或从网络地址服务器自动接收分配的IP地址。

处理器52能够是能够处理电子指令的任何类型的装置,包括微处理器、微控制器、主处理器、控制器、车辆通信处理器、以及专用集成电路(ASICs)。它能够是仅用于远程通信单元30的专用处理器,或者能够与其他车辆系统共用。处理器52执行各种类型的数字存储的指令,诸如存储在存储器54中的软件或固件程序,其使得远程通信单元能够提供很多种服务。例如,处理器52能够执行程序或过程数据以执行在本文所公开的方法的至少一部分。

远程通信单元30能够用于提供不同范围的车辆服务,其包括至和/或自车辆的无线通信。这样的服务包括:转弯方向和其他与导航相关的服务,其被提供结合基于GPS的车辆导航模块40;气囊展开通知和其他紧急或路旁援助相关的服务,其被提供结合诸如车体控制模块(未示出)的一个或多个碰撞传感器接口模块;使用一个或多个诊断模块的诊断报告;以及与信息娱乐相关的服务,其中,音乐、网页、电影、电视节目、视频游戏和/或其他信息由信息娱乐模块(未示出)下载并且存储以用于当前或稍后回放。上述列出的服务决非是远程通信单元30所有能力的穷举列表,而只是远程通信单元能够提供的服务的一些的列举。此外,应该理解的是,前述模块的至少一些能够以保存在远程通信单元30内部或外部的软件指令的形式实施,它们能够是位于远程通信单元30内部或外部的硬件部件,或者它们能够相互集成和/或共用或者与遍布车辆定位的其他系统集成和/或共用,只列举一些可能性。在模块被实施作为位于远程通信单元30外部的VSMs 42的事件中,它们能够采用车辆总线44与远程通信单元交换数据和命令。

GPS模块40从GPS卫星的丛组60接收无线电信号。从这些信号,模块40能够确定用于向车辆驾驶员提供导航和其他与位置相关的服务的车辆位置。导航信息能够呈现在显示器38(或车辆内其他显示器)上,或者能够口头呈现,诸如当提供转弯导航时这样做。导航服务能够使用专用车内导航模块(其能够是GPS模块40的部分)来提供,或者一些或所有导航服务能够经由远程通信单元30完成,其中位置信息发送至远程位置用于向车辆提供导航地图、地图注释(感兴趣的点、餐厅等)、路线计算等的目的。位置信息能够提供至呼叫中心20或者其他远程计算机系统,诸如计算机18,用于其他目的,诸如车队管理。此外,新的或更新的地图数据能够经由远程通信单元30从呼叫中心20下载至GPS模块40。

除了音频系统36和GPS模块40之外,车辆12能够包括形式为电子硬件部件的其他车辆系统模块(VSMs)42,它们定位遍布车辆并且通常从一个或多个传感器接收输入并且使用感测到的输入执行诊断、监控、控制、报告和/或其他功能。每个VSMs 42优选地由通信总线44连接至其他VSMs,以及连接至远程通信单元30,并且能够被编程以运行车辆系统和子系统诊断测试。作为示例,一个VSM 42能够是控制诸如燃料点火和点火正时的发动机操作的各种方面的发动机控制模块(ECM),另一VSM 42能够是调节车辆传动力系的一个或多个部件的操作的动力系控制模块,以及另一VSM 42能够是管理遍布车辆定位的各种电气部件(诸如车辆的动力门锁和前灯)的车体控制模块。根据一个实施例,发动机控制模块装备有车载诊断(OBD)特征,其提供无数实时数据,诸如从包括车辆排放物传感器的各种传感器接收的数据,并且提供了允许技术员快速识别和修补车辆内故障的诊断故障码(DTCs)的标准化序列。如本领域技术人员所知晓的,上述VSMs仅是可以用于车辆12中的模块的一些的示例,因为许多其他模块也是可能的。

车辆电子部件28也包括大量车辆用户接口,其向车辆占有者提供了提供和/或接收信息的机构,包括话筒32、按钮34、音频系统36、以及可视化显示器38。如在本文中使用的,术语“车辆用户接口”广泛地包括电子装置的任何合适形式,包括硬件和软件部件,其位于车辆上并且使得车辆使用者能够与车辆的部件通信或者通过车辆的部件通信。话筒32向远程通信单元提供音频输入以使得驾驶员或其他占有者能够提供语音命令并且经由无线载波系统14执行非手持呼叫。为此目的,它能够采用本领域已知的人机接口(HMI)技术而连接至车载自动语音处理单元。按钮34允许手动用户输入到远程通信单元30中以发起无线电话呼叫并提供其他数据、响应、或控制输入。分立按钮能够用于发起对立于常规服务援助呼叫的紧急呼叫至呼叫中心20。音频系统36提供音频输出至车辆占有者,并且能够是专用的独立系统或者主车辆音频系统的一部分。根据在此所示的特定实施例,音频系统36在操作上联接至车辆总线44和娱乐总线46,并且能够提供AM、FM、和卫星无线电广播、CD、DVD和其他多媒体功能。该功能能够结合或者独立于上述信息娱乐模块被提供。可视化显示器38优选地是图形显示器,诸如在仪表板上的触摸屏或者反射在挡风玻璃之外的头戴式显示器,并且能够用于提供大量输入和输出功能。也能够采用各种其他车辆用户接口,因为图1的接口仅是一个特定实施方式的示例。

无线载波系统14优选地是蜂窝电话系统,其包括多个蜂窝塔70(仅示出一个),一个或多个移动交换中心(MSCs)72,以及将无线载波系统14与陆地网络16连接所需的任何其他网络部件。每个蜂窝塔70包括发送和接收天线以及基站,来自不同蜂窝塔的基站直接或者经由诸如基站控制器的中间设备而连接至MSC 72。蜂窝系统14能够实施任何合适的通信技术,包括例如,诸如AMPS的模拟技术,或者诸如CDMA(例如CDMA2000)或GSM/GPRS的较新数字技术。如本领域技术人员将知晓的,各种蜂窝塔/基站/MSC设置是可能的,并且能够用于无线系统14。例如,基站和蜂窝塔能够共同位于相同地点,或者它们能够定位远离彼此,每个基站能够负责单个蜂窝塔,或者单个基站能够服务不同蜂窝塔,并且不同基站能够联接至单个MSC,仅列举了一些可能设置。

除了使用无线载波系统14之外,形式为卫星通信的不同无线载波系统能够用于提供与车辆的单向或双向通信。这能够使用一个或多个通信卫星62以及上行链路发射站64来实现。单向通信能够例如是卫星无线电服务,其中节目内容(新闻、音乐等)由发射站64接收,打包用于上传,并且随后发送至卫星62,卫星将节目广播至订户。双向通信能够例如是使用卫星62以在车辆12与站64之间转播电话通信的卫星电话服务。如果使用,除了无线载波系统14之外或者替代无线载波系统14,能够采用该卫星电话。

陆地网络16可以是传统的基于陆地的远程通信网络,其连接至一个或多个陆上电话并且将无线载波系统14连接至呼叫中心20。例如,陆地网络16可以包括公众交换电话网络(PSTN)(诸如用于提供硬连线电话的公众交换电话网络)、分组交换数据通信、以及互联网基础设施。陆地网络16的一个或多个区段能够通过使用标准有线网路、光纤或其他光学网络、电缆网络、电力线、诸如无线局域网(WLAN)的其他无线网络、或者提供宽带无线访问(BWA)的网路、或其任意组合来实施。此外,呼叫中心20无需经由陆地网络16连接,而是能够包括无线电话设备,使得其能够与无线网络(诸如无线载波系统14)直接通信。

计算机18能够是经由私用或诸如互联网的公用网路而可访问的多个计算机之一。每个这样的计算机18能够用于一个或多个目的,诸如由车辆经由远程通信单元30和无线载波系统14而可访问的网页服务器。其他这样的可访问的计算机18能够例如是:服务中心计算机,在这里诊断信息和其他车辆数据能够从车辆经由远程通信单元30上传;客户端计算机,由车辆所有者或其他用户使用以用于如访问或者接收车辆数据、或者设置或配置用户喜好、或控制车辆功能这样的目的;或者第三方智库,车辆数据或其他信息向其或者从其提供,无论是通过与车辆12通信或者与呼叫中心20通信、或者与两者均通信。计算机18也能够用于提供诸如DNS服务的互联网连通性,或者作为使用DHCP或其他合适的协议以将IP地址分配至车辆12的网络地址服务器。

设计呼叫中心20向车辆电子装置28提供大量不同的系统后端功能,并且根据在此所示的示例性实施例,通常包括一个或多个开关80,服务器82,数据库84,现场顾问86,以及自动语音响应系统(VRS)88,所有这些是本领域已知的。这些不同呼叫中心部件优选地经由有线或无线局域网90而相互联接。开关80,其能够是专用分支交换(PBX)开关,按路线发送接入信号,使得语音传输通常由常规电话发送至现场顾问86或者使用VoIP发送至自动语音响应系统88。现场顾问电话也能够使用VoIP,如由图1中破折线所示。VoIP和通过开关80的其他数据通信经由连接在开关80与网络90之间的调制解调器(未示出)来实施。数据传输经由调制解调器传送至服务器82和/或数据库84。数据库84能够存储账户信息,诸如订户鉴别信息、车辆标识符、形貌记录、行为模式、和其他相关订户信息。数据传输也可以由无线系统进行,诸如802.11x、GPRS等。尽管所示实施例已经描述作为其会与使用现场顾问86的人控呼叫中心20结合使用,但是将知晓的是呼叫中心能够替代地采用VRS 88作为自动化顾问,或者能够使用VRS 88与现场顾问86的组合。

方法-

现在转向图2,示出了使用消息鉴别码(MACs)在微控制器处验证数据的方法200。该方法200开始于步骤210,通过在微控制器的微处理器处产生已经使用有效数据产生的有效MAC。有效MAC和有效数据随后均能够发送至微控制器的外围设备。微控制器的微处理器也可以称作“主微处理器”以便于避免与外围设备所使用的微处理器混淆。如在上面注意到的,在主处理器与由外围设备使用的微处理器之间存在差别。例如,主处理器可以是更复杂的集成电路,其采用了多核处理器和错误校正码(ECC)以确保处理的数据没有错误。与之相反,外围设备的微处理器可以不使用多核处理器或ECC,由此缺乏在主处理器中发现的错误保护。

有效MAC能够从主处理器知道什么是有效数据而产生。有效数据能够是存储在微处理器处数据的已知数据串。已知数据串随后能够在微处理器处与密钥和MAC算法一起被使用以获得有效MAC。然而,也可能在微处理器处存储有效数据和之前得到的有效MAC,使得能够访问和发送有效MAC,而不用每次传输都要获得它。在访问或者产生有效MAC之后,微处理器能够随后将有效MAC和有效数据发送至外围设备。

有效MAC也能够包括其他指令。例如,有效MAC能够由主微处理器截短,并且包括指令外围设备产生比较MAC的截短值,以及仅比较由截短值规定的位。在一个示例中,有效MAC能够通常包括128位。然而,由于大小约束,有效MAC能够被截短至30位,并且包括反映了有效MAC大小的截短值(在该情形中是30位)。该方法200前进至步骤220。

在步骤220处,在主微处理器处响应于发送有效MAC而从外围设备接收鉴别消息。一旦外围设备已经接收了有效MAC和有效数据,其能够产生比较MAC。能够在外围设备处使用微处理器产生比较MAC,该微处理器将有效数据输入鉴别MAC,密钥的副本保持在外围设备处。外围设备随后能够确定其产生的比较MAC是否与有效MAC匹配。比较MAC和有效MAC应该匹配,并且外围设备能够输出逻辑“是”作为指示该结果的鉴别消息。鉴别消息能够随后在总线之上被发送至主微处理器。该方法200前进至步骤230。

在步骤230处,主微处理器产生无效MAC,并响应于鉴别消息将无效MAC连同有效数据一起发送至外围设备。主微处理器随后能够验证外围设备能够输出指示无效MAC是不正确的逻辑“否”。无效MAC能够通过修改有效MAC的一个或多个位而产生。例如,在使用128位MAC的系统中,主微处理器能够通过改变有效MAC的第128位(从逻辑“0”至“1”,反之亦然)而产生无效MAC。这能够有助于识别外围设备是否读取了其接收到的MAC的每个位。它还能够有助于识别何时外围设备输出逻辑“是”而不管其接收到的数据或MAC。并且类似有效MAC,它能够存储在微处理器处,使得“产生”无效MAC包括从存储位置访问无效MAC。

无效MAC也能够产生作为截短MAC。在一个说明性示例中,替代了128位MAC,有效和/或无效MACs能够包括代表缩短的有效MAC或无效MAC的位数目的截短值。当使用截短MACs时,能够截短有效MAC至更短长度(例如30位而不是128位),并且截短值将被设置为代表更短长度的值。当从有效MAC产生无效MAC时,截短的有效MAC的第30位能够被改变并且连同设置为三十的截短值一起被发送至外围设备。当由外围设备接收截短的无效MAC时,它能够读取截短值并且确定它应该产生比较MAC,在该示例中即为三十个位长。也能够指令外围设备使用更大或较更小的位。该方法200前进至步骤240。

在步骤240处,在主微处理器处响应于发送无效MAC而从外围设备接收第二鉴别消息。当外围设备正常工作时,当将无效MAC与比较MAC作比较时其应该输出逻辑“否”,比较MAC使用有效数据和密钥产自MAC算法。当正确工作时,外围设备能够接收无效MAC和有效数据,使用有效数据产生比较MAC,以及将无效MAC与使用有效数据产生的比较MAC作比较。外围设备将确定第128位不匹配并且输出逻辑“否”。当主微处理器从外围设备接收到逻辑“否”时,微处理器能够确定外围设备正在正确地鉴别MACs。但是当主微处理器从外围设备接收逻辑“是”时,主处理器能够确定在外围设备处正发生一些故障。如上面讨论的,当将接收到的MAC与比较MAC作比较时,外围设备会无法重置其输出的逻辑结果,或者外围设备不会处理接收到的MAC的每一位。在一个实施方式中,这能够使得微控制器响应于接收到逻辑“是”,产生一个或多个警告码,并且将警告码通信至位于微控制器之外的位置,诸如将诊断故障码(DTCs)发送至车辆远程通信单元30的VSM 42。

主微处理器可以响应于第二鉴别消息向外围设备发送额外的无效MACs以努力识别比较MAC的哪个位不匹配无效MAC。这能够通过改变有效MAC的不同位而构造一个或多个无效MACs来实施。无效MACs随后能够被发送,直至由外围设备输出了逻辑“否”。例如,使用128位无效MAC的以上示例,主微处理器通过改变第128位而发送第一无效MAC。主微处理器能够产生额外的无效MAC,其将第128位返回至有效值,并且随后使第127位无效。额外的无效MAC随后能够被发送至外围设备,并且能够接收到逻辑响应。可能的是对于剩余的126位重复该过程以确定从外围设备输出的逻辑是否在任意位改变。该方法200随后结束。

转向图3,示出了使用MACs在微控制器处验证数据的系统300。该系统300被描述关于微控制器,该微控制器由关于图1在上面所描述的车辆系统模块VSM 42体现。然而,应该知晓的是系统300能够应用于用在非车辆环境中的微控制器。VSM 42包括经由总线306而链接至外围设备304的主微处理器302。在该实施方式中,主微处理器302使用双核处理器以及错误校正码(ECC)。此外,主微处理器302包括主存储装置308,其能够存储形式为计算机可读指令、一个或多个密钥、一个或多个MAC算法、有效MACs、和/或无效MACs的数据。总线306通信地将主微处理器302链接至外围设备304,外围设备包括外围微处理器310、外围接口312、以及能够用于存储密钥和MAC算法的外围存储装置314。由VSM 42使用的微控制器的一个示例由Freescale技术公司售卖,型号为MPC 560xB。

要理解的是前述是本发明一个或多个实施例的描述。本发明不限于本文所公开的特定实施例,而是相反地仅由以下权利要求限定。此外,前述说明书中包含的陈述涉及特定实施例,并且不要被解释为是对本发明的范围的限制或者是对权利要求中所使用术语的定义的限制,除非术语或短语在上文被明确地定义。各种其他实施例以及对所公开实施例的各种改变和修改对本领域技术人员而言将变得明显。所有这样的其他实施例、改变和修改意在落入所附权利要求的范围。

如在该说明书和权利要求中所使用的,术语“例如”、“比如”、“如”、“诸如”、和“类似”以及动词“包括”、“具有”、“包含”及其他动词形式,当与一个或多个部件或其他项目的列表结合使用时,每一个都要被解释为开放式的,意味着列表不应被认为排除了其他、额外的部件或项目。其他术语要被解释为使用它们最广泛合理的含义,除非它们被用在需要不同解释的背景中。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号