一种基于伪随机数的CAN总线通信方法技术

技术编号:16974872 阅读:190 留言:0更新日期:2018-01-07 09:44
本申请提供了一种基于伪随机数的CAN总线通信方法,包括:CAN报文发送端用于生成随机种子;根据随机种子利用第一随机函数生成第一随机数;将随机种子及第一随机数存入CAN报文中以更新CAN报文,将更新后的CAN报文发送至CAN报文接收端。CAN报文接收端用于接收CAN报文发送端发送的CAN报文;解析CAN报文得到随机种子及第一随机数,根据随机种子利用第一随机函数生成第一随机数;判断生成的第一随机数与解析得到的第一随机数是否相同,如果相同,则响应CAN报文。本申请通过在CAN报文中存入随机生成的随机种子及第一随机数,能够保证每个CAN报文都不同,从而使得CAN报文不具有预见性,能够防止伪造攻击,具有安全性高的特点。

【技术实现步骤摘要】
一种基于伪随机数的CAN总线通信方法
本申请属于CAN总线通信领域,尤其涉及一种基于伪随机数的CAN总线通信方法。
技术介绍
现有技术中,防止CAN总线攻击的方式为CAN总线滚动码机制,CAN总线滚动码机制多为等差或等比方式变化,即采用等差或等比方式生成一序列,发送报文时按顺序从序列中提取数值放入报文中。上述防止CAN总线攻击的方式存在如下缺陷:1)具有可预见性和可推导性,安全性不高,攻击者通过对滚动码变化规律的学习,可轻松实现伪造攻击。2)对于丢包、延迟的情况会出现误判。
技术实现思路
本申请提供一种基于伪随机的CAN总线通信方法,用于解决现有技术中CAN总线通信存在易被攻击,安全性不高,对于丢包及延迟的情况会出现错误判断或误判的问题。为了解决上述技术问题,本申请一实施例中,基于伪随机数的CAN总线通信方法包括:CAN报文发送端用于生成随机种子;根据随机种子利用第一随机函数生成第一随机数;将随机种子及第一随机数存入CAN报文中以更新CAN报文,将更新后的CAN报文发送至CAN报文接收端;CAN报文接收端用于接收CAN报文发送端发送的CAN报文;解析CAN报文得到随机种子及第一随机数,根据随机种子利用第一随机函数生成第一随机数;判断生成的第一随机数与解析得到的第一随机数是否相同,若生成的第一随机数与解析得到的第一随机数相同,则响应CAN报文。本申请另一实施例中,基于伪随机数的CAN总线通信方法,包括:CAN报文发送端用于生成随机种子;根据随机种子利用第一随机函数生成第一随机数;根据第一随机数按预定校验准则生成校验信息;将随机种子、第一随机数及校验信息存入CAN报文中以更新CAN报文,将更新后的CAN报文发送至CAN报文接收端;CAN报文接收端用于接收CAN报文发送端发送的CAN报文;解析CAN报文得到随机种子、第一随机数及校验信息;根据随机种子利用第一随机函数生成第一随机数;判断生成的第一随机数与解析得到的第一随机数是否相同,若生成的第一随机数与解析得到的第一随机数相同,则响应CAN报文;若生成的第一随机数与解析得到的第一随机数不同,则根据计算得到的第一随机数利用预定校验准则生成校验信息,判断生成的校验信息与解析得到的校验信息是否相同,若生成的校验信息与解析得到的校验信息相同,则响应CAN报文。本申请另一实施例中,基于伪随机数的CAN总线通信方法,包括:CAN报文发送端用于生成随机种子;根据随机种子利用第一随机函数生成第一随机数,根据第一随机数利用第二随机函数生成第二随机数;将第一随机数及第二随机数存入CAN报文中以更新CAN报文,将更新后的CAN报文发送至CAN报文接收端。CAN报文接收端用于接收CAN报文发送端发送的CAN报文;解析CAN报文得到第一随机数及第二随机数,根据第一随机数利用第二随机函数生成第二随机数;判断生成的第二随机数与解析得到的第二随机数是否相同,若生成的第二随机数与解析得到的第二随机数相同,则响应CAN报文。本申请通过在CAN报文中存入随机种子及第一随机数,或在CAN报文中存入第一随机数或第二随机数的方式,能够保证每个CAN报文都不同,因随机种子、第一随机数、第二随机数是随机生成的,从而使得CAN报文不具有预见性和可推到性,能够防止伪造攻击,具有安全性高的特点。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1A为本申请实施例的从CAN报文发送端描述的基于伪随机数的CAN总线通信方法流程图;图1B为本申请实施例的从CAN报文接收端描述的基于伪随机数的CAN总线通信方法流程图;图2为本申请实施例的随机种子生成过程流程图;图3A为本申请另一实施例的从CAN报文发送端描述的基于伪随机数的CAN总线通信方法流程图;图3B为本申请另一实施例的从CAN报文接收端描述的基于伪随机数的CAN总线通信方法流程图;图4为本申请实施例的基于伪随机数的CAN总线通信系统的结构图。具体实施方式为了使本申请的技术特点及效果更加明显,下面结合附图对本申请的技术方案做进一步说明,本申请也可有其他不同的具体实例来加以说明或实施,任何本领域技术人员在权利要求范围内做的等同变换均属于本申请的保护范畴。在本说明书的描述中,参考术语“一实施例”、“一具体实施例”、“一实施方式”或“例如”等的描述意指结合该实施例或示例描述的具体特征、结构或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本申请的实施,其中的步骤顺序不作限定,可根据需要作适当调整。如图1A所示,图1A为本申请实施例的从CAN报文发送端描述的基于伪随机数的CAN总线通信方法流程图。具体的,CAN报文发送端的处理流程包括:步骤101,生成随机种子;步骤102,根据随机种子利用第一随机函数生成第一随机数;步骤103,将随机种子及第一随机数存入CAN报文中以更新CAN报文,将更新后的CAN报文发送至CAN报文接收端。详细的说,第一随机函数可以为现有技术中任意生成随机数的函数,本申请对第一随机函数具体为何不做限定。如图1B所示,图1B为本申请实施例的从CAN报文接收端描述的基于伪随机数的CAN总线通信方法流程图。具体的,CAN报文接收端的处理流程包括:步骤104,接收CAN报文发送端发送的CAN报文;步骤105,解析CAN报文得到随机种子及第一随机数,根据随机种子利用第一随机函数生成第一随机数;步骤106,判断生成的第一随机数与解析得到的第一随机数是否相同,若生成的第一随机数与解析得到的第一随机数相同,则响应CAN报文,如果不同,则上报异常信息。详细的说,步骤105中的第一随机函数与步骤102中的第一随机函数相同,由CAN报文发送端与CAN报文接收端预先约定。图1A所示流程与图1B所示流程配合使用,在CAN报文中加入随机生成的随机种子及第一随机函数,能够保证每个CAN报文都不同,使CAN报文不具有预见性和可推到性,能够防止伪造攻击,具有安全性高的特点。另外,通过步骤101~步骤103生成CAN报文、步骤104~步骤106验证CAN报文的方式不会出现因丢包、延迟导致误判的问题。本申请一实施例中,为了避免CAN报文传输过程中因第一随机数发生错误而无法正常响应CAN报文,上述步骤102中还包括根据第一随机数按预定校验准则(如CRC校验准则)生成校验信息,上述步骤103进一步为将随机种子、第一随机数及校验信息存入CAN报文中以更新CAN报文,将更新后的CAN报文发送至CAN报文接收端。CAN报文接收端接收到包含校验信息的CAN报文后进行如下处理:解析CAN报文得到随机种子、第一随机数及校验信息;根据随机种子利用第一随机函数生成第一随机数;判断生成的第一随机数与解析得到的第一随机数是否相同,若生成的第一随机数与解析得到的第一随机数相同,则响应CAN报文;若生成的第一随机数与解析得到的第本文档来自技高网...
一种基于伪随机数的CAN总线通信方法

【技术保护点】
一种基于伪随机数的CAN总线通信方法,其特征在于,包括:生成随机种子;根据随机种子利用第一随机函数生成第一随机数;将随机种子及第一随机数存入CAN报文中以更新CAN报文,将更新后的CAN报文发送至CAN报文接收端。

【技术特征摘要】
1.一种基于伪随机数的CAN总线通信方法,其特征在于,包括:生成随机种子;根据随机种子利用第一随机函数生成第一随机数;将随机种子及第一随机数存入CAN报文中以更新CAN报文,将更新后的CAN报文发送至CAN报文接收端。2.如权利要求1所述的方法,其特征在于,还包括:根据第一随机数按预定校验准则生成校验信息;将随机种子及第一随机数存入CAN报文中进一步为将随机种子、第一随机数及校验信息存入CAN报文中。3.如权利要求1所述的方法,其特征在于,生成随机种子的过程包括:随机生成一随机数;获取CAN报文发送端所在设备的模拟量参数;组合所述随机数与所述模拟量参数得到随机种子。4.如权利要求1所述的方法,其特征在于,生成随机种子的过程包括:获取系统时间戳;获取CAN报文发送端所在设备的模拟量参数;组合所述时间戳与所述模拟量参数得到随机种子。5.如权利要求3或4所述的方法,其特征在于,模拟量参数包括车辆VIN,CAN报文发送端设备的实时电压、实时温度及实时湿度中的一个或多个。6.一种基于伪随机数的CAN总线通信方法,其特征在于,包括:接收CAN报文发送端发送的CAN报文;解析CAN报文得到随机种子及第一随机数,根据随机种子利用第一随机函数生成第一随机数;判断生成的第一随机数与解析得到的第一随机数是否相同,若生成的第一随机数与解析得到的第一随机数相同,则响应CAN报文。7.一种基于伪随机数的CAN总线通信方法,其特征在于,包括:接收CAN报文发送端发送的CAN报文;解析CAN报文得到随机种子、第一随机数及校验信息;根据随机种子利用第一随机函数生成第一随机数;判断生成的第一随机数与解析得到的第一随机数是...

【专利技术属性】
技术研发人员:阚志刚卢佐华裴元奇彭建芬陈彪
申请(专利权)人:北京洋浦伟业科技发展有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1