一种数据传输的方法,系统及终端的制作方法

文档序号:7985565阅读:281来源:国知局
专利名称:一种数据传输的方法,系统及终端的制作方法
技术领域
本发明涉及现 场总线技术领域,特别涉及一种数据传输的方法,系统及终端。
背景技术
控制器局域网总线技术(Controller Area Network-BUS,CAN-Bus)属于工业现场总线的范畴,是现场总线的新一代局域通讯网络。CAN-Bus是串行协议,所有参加CAN-Bus的分系统都可以通过该分系统的控制单元上的CAN总线接口进行数据的发送和接收。他设计了高效率的仲裁机制来解决传输冲突问题,具有高优先级的系统总能优先得到总线的使用权。目前,在CAN-Bus通讯上,为了降低控制器运算负担和CAN-Bus的通讯负载,忽略了发送心跳包进行校验这一步,或者,即使发送了心跳包,也基本都是简单的固定数据匹配。这样对CAN-Bus通讯传输的数据的保密性和安全性都带来了很大的隐患。

发明内容
本发明实施例提供一种数据传输的方法、系统及终端,用以提高CAN-Bus通讯中数据传输的安全性。本发明实施例提供一种数据传输的方法,包括第一终端根据随机码和待传输的数据信息生成校验码;将所述随机码、所述待传输的数据信息以及所述校验码按设定的顺序组合形成心跳包,并通过控制器局域网总线技术CAN-Bus发送给第二终端,使得所述第二终端对接收到的所述心跳包进行解码,并当解码出的第一校验码与接收到的心跳包中的校验码一致时,从所述心跳包中获取所述待传输的数据信息进行信息处理。本发明实施例提供一种数据传输的系统,包括第一终端,用于根据随机码和待传输的数据信息生成校验码,将所述随机码、所述待传输的数据信息以及所述校验码按设定的顺序组合形成心跳包,并通过控制器局域网总线技术CAN-Bus发送给第二终端;第二终端,用于通过CAN-Bus接收所述心跳包,对接收到的所述心跳包进行解码,并当解码出的第一校验码与接收到的心跳包中的校验码一致时,从所述心跳包中获取所述待传输的数据信息进行信息处理。本发明实施例提供一种数据传输的终端,包括生成单元,用于根据随机码和待传输的数据信息生成校验码;组合单元,用于将所述随机码、所述待传输的数据信息以及所述校验码按设定的顺序组合形成心跳包;发送单元,用于通过控制器局域网总线技术CAN-Bus发送所述心跳包。本发明实施例中,CAN-Bus通讯中,第一终端根据随机码和待传输的数据信息生成校验码,将所述随机码,所述待传输的数据信息以及所述校验码按设定的顺序组合形成心跳包,并通过控制器局域网总线技术CAN-Bus发送给第二终端,这样,该第二终端对接收到的所述心跳包进行解码,并当解码出的第一校验码与接收到的心跳包中的校验码一致时,从所述心跳包中获取所述待传输的数据信息进行信息处理。从而,利用随机码和待传输的数据信息生成校验码,进行心跳包的加密,提高了破解的难度,并且,将待传输的数据信息混合在心跳包中一起加密发送,提高了这些数据信息的安全性,也提高了心跳包的使用价值。


图1为本发明实施例中数据传输的流程图;图2为本发明实施例中访问数据传输系统的架构图;图3为本发明实施例中数据传输终端的结构图。
具体实施例方式本发明实施例中,将待传输的数据信息混合在心跳包中,并且,该心跳包采用了动态加密的方式,从而,不仅提高了数据传输的安全性,也提高了心跳包的利用率。参见图1,本发明实施例的CAN-Bus通讯中数据传输的过程包括步骤101 :第一终端根据随机码和待传输的数据信息生成校验码。本发明实施例中,在心跳包中配置了一个校验码,该校验码可由随机码和待传输的数据信息生成。本发明实施例中,心跳包中还配置随机码,这样,通过随机码与待传输的数据信息进行加密运算,生成校验码。为进一步提高心跳包的安全性,生成校验码的具体过程包括第一终端生成一个随机码,然后判断该随机码是否非零,以及该随机码是否与上一次数据传输时的随机码相同,当该随机码非零,且与上一次数据传输时的随机码不同时,可根据待传输的数据信息,以及随机码进行加密运算,生成校验码。这里,可根据第一终端的硬件状态生成随机码。例如根据第一终端中的一些传感器、开关的状态量,以及当前时间运算一个随机码。根据随机码与待传输的数据信息进行加密运算的方式可以多种多样。例如获得一个设定代码,当设定代码的最高位为O时,分别将待传输的数据信息与随机码与设定的代码进行除法运算,获得对应的余数,并将余数进行了累加,将累加后的代码与设定的代码进行异或运算,获得校验码。当设定代码的最高位为I时,将设定的代码整体取反后,分别将待传输的数据信息与随机码与取反后的代码进行除法运算,获得对应的余数,并将余数进行了累加,将累加后的代码与设定的代码进行异或运算,获得校验码。上述只是一种加密运算生成校验码的过程,本发明实施例当然不限于此,还可将待传输的数据信息与随机码与设定的代码进行其他的运算,例如乘法,然后将获得数据的最后一位进行累加,获得校验码。或者,直接将随机码与待传输的数据信息进行异或运算然后累积,获得校验码。现有技术中的利用随机码进行加密的过程都可以应用于此,具体过程就不再累述。步骤102 :第一终端将随机码、待传输的数据信息以及校验码按设定的顺序组合形成心跳包。

上述步骤中已生成了校验码,此时,只需配置心跳包了,配置后的心跳包中包括随机码、待传输的数据信息以及校验码。即将待传输的数据信息、随机码,以及校验码按设定的顺序组合形成心跳包。步骤103 :第一终端将形成的心跳包通过CAN-Bus发送给第二终端。本发明实施例应用于CAN-Bus通讯中,因此,第一终端将形成的心跳包通过CAN-Bus发送给第二终端。步骤104 :第二终端通过CAN-Bus接收心跳包。步骤105 :第二终端对接收的心跳包进行解码,获得第一校验码。第二终端首先按照设定的顺序,从心跳包分别识别出随机数,待传输的数据信息和效验码。然后,分别将待传输的数据信息与随机运算进行运算,获得第一效验码。这里,运算过程与步骤101生成校验码的运算过程是对应的。步骤106 :第二终端判断第一校验码与接收到的心跳包中的校验码是否一致,若一致,则执行步骤107,否则,执行步骤108。这里,将第一校验码与接收到的心跳包中的校验码进行比较,若一致,则表明传输过程安全,可执行步骤107。若不一致,则收到的心跳包是不安全的,执行步骤108。步骤107 :第二终端从心跳包中获取待传输的数据信息进行信息处理。这样,待传输的数据信息的传输过程完成了。步骤108 :第二终端丢弃心跳包。由于,第二终端收到的心跳包是不安全的,因此,丢弃该心跳包,不对其中的数据信息进行处理。通过上述的数据传输过程可知,心跳包中的随机数是动态生成的,是非零,且与上一次数据传输时的随机码不同,待传输的数据信息也可是不相同的,从而,生成的校验码是动态可变的,确保了心跳包的可靠性。这样,将待传输的数据信息混合在心跳包中,不仅提高了数据传输的安全性,也提高了心跳包的利用率。下面以举例方式来说明本发明的具体实施方式
。本实施例中,待传输的数据信息为两个,例如待传输的数据信息为1001、0110。首先,获得一个设定的代码为1011,由于此代码最高位为“1”,因此,将该代码整体取反,就变为加密多项式0100。然后,第一终端会通过一定的算法得出一个随机码。例如以当前时间以及一些传感器的状态、开关的状态量,运算出一个随机码。之后,判断这个随机码是否为零,若非零则判断该随机数是否与上次传输是生成的随机数是否一致,即将其与上次传输时出现的随机数进行比对。例如上次得出的随机码是0101,这次得出的是0000,不满足“非零”条件,再次得出随机码为0101,又不满足“唯一”条件,再次得出随机码为1011,为合法的随机码。获得合法的随机码后,用随机码1011去除以加密多项式0100,取余数为0011。将待传输的数据信息分别和加密多项式进行除法运算,取其余数分别为0001、0010。再将以上三组余数累加,得到0110。然后将上步得到的0110与设定的代码1011异或,最后得到的校验码为1101。
最后按设定的顺序组合成心跳包,比如可以是1011 1001 0110 1101。第一终端将该心跳包通过CAN-Bus发送给第二终端,而第二终端则根据获取的心跳包来校验整个数据信息的合法性。具体包括第二终端对接收的心跳包进行解码,识别其中的校验码,随机码,以及待传输的数据信息,然后利用生成校验码的逆运算,根据识别出的随机码和待传输的数据信息获得第一校验码,将该第一校验码与接收的心跳包中的校验码进行比对,若一致,例如,都为1101,则该心跳包合法,可提取其中的待传输的数据信息进行处理,否则,该心跳包不合法。上述具体实施例中,设定的代码可采用外部自定义的,加入到校验码的生成过程中后,提高了心跳包的破解的难度。并且,并且在运输过程中,采用字节或半字节运算,提高了加密或解密的数据,进而提高了数据传输的速度。

本发明实施例中,可将一些重要信息混合进了心跳包,并一起进行加密运算,比如两个终端的报警信息、安全策略、限制命令等,将这些重要信息作为待传输的数据信息,混合进了心跳包,并参与校验码的计算。从而,通过心跳包的混合加密以及发送可以更好的保护这些信息的安全性。现代汽车中所使用的电子控制系统和通讯系统越来越多,如发动机电控系统、防抱死系统(ABS)、自动巡航系统(ACC)和车载多媒体系统,这些系统之间,系统和汽车显示仪表之间,系统和汽车故障诊断系统之间均需要进行数据交换,因此,在汽车系统中采用用CAN-Bus通讯系统已成为必然的选择。例如汽车中的远程服务终端机(RSU)和控制器(EOT)之间采用CAN 0pen2. O通讯;使用的CAN通讯模块是CTM8251AT ;它们之间发送的心跳包为8字节;采用一字节随机码和一字节校验码的配置发送心跳包。本发明实施例中,可在该心跳包里面混合了各种天线的防拆信息、锁车指令、锁车类型等一系列关键信息,即将这些信息作为待传输的数据信息,参与到心跳包的校验码的生成,以及混入心跳包中,从而,心跳包采用了动态加密的方式,从而,不仅提高了数据传输的安全性,也提高了心跳包的利用率。本发明实施例中提供的数据传输的系统,如图2所示,包括第一终端100和第二终端200。其中,第一终端100,用于根据随机码和待传输的数据信息生成校验码,将随机码、待传输的数据信息以及校验码按设定的顺序组合形成心跳包,并通过控制器局域网总线技术CAN-Bus发送给第二终端200。第二终端200,用于通过CAN-Bus接收心跳包,对接收到的心跳包进行解码,并当解码出的第一校验码与接收到的心跳包中的校验码一致时,从心跳包中获取待传输的数据信息进行信息处理。第一终端100生成校验码的方式有很多中,其中,第一终端100,具体用于生成一个随机码,并当所述随机码非零,且与上一次数据传输时的随机码不同时,根据所述待传输的数据信息,以及随机码进行加密运算,生成校验码。较佳地,第一终端100,具体用于获得设定代码,当设定代码的最高位为O时,分别将待传输的数据信息与随机码与设定的代码进行除法运算,获得对应的余数,并将余数进行了累加,将累加后的代码与设定的代码进行异或运算,获得校验码;当设定代码的最高位为I时,将设定的代码整体取反后,分别将待传输的数据信息与随机码与取反后的代码进行除法运算,获得对应的余数,并将余数进行了累加,将累加后的代码与设定的代码进行异或运算,获得校验码。 第二终端200,具体用于按照设定的顺序,从所述心跳包分别识别出随机数,待传输的数据信息和效验码,将识别出的所述待传输的数据信息与随机数进行运算,获得第一校验码。第二终端200解码获得第一代码的过程与生成校验码的过程是对应的。应用于上述数据传输系统的终端,如图3所示,包括生成单元310,组合单元320,以及发送单元330。其中,生成单元310,用于根据随机码和待传输的数据信息生成校验码。组合单元320,用于将随机码、所述待传输的数据信息以及校验码按设定的顺序组合形成心跳包。发送单元330,用于通过控制器局域网总线技术CAN-Bus发送心跳包。生成单元310生成校验码的方式是多样的,其中,可具体用于生成一个随机码,并当所述随机码非零,且与上一次数据传输时的随机码不同时,根据所述待传输的数据信息,以及随机码进行加密运算,生成校验码。较佳地,生成单元310,具体用于获得设定代码,当设定代码的最高位为O时,分别将待传输的数据信息与随机码与设定的代码进行除法运算,获得对应的余数,并将余数进行了累加,将累加后的代码与设定的代码进行异或运算,获得校验码;当设定代码的最高位为I时,将设定的代码整体取反后,分别将待传输的数据信息与随机码与取反后的代码进行除法运算,获得对应的余数,并将余数进行了累加,将累加后的代码与设定的代码进行异或运算,获得校验码。数据传输系统中的终端即可作为发送端,也可作为接收端,因此,该终端还包括接收单元,用于通过CAN-Bus接收心跳包。解码单元,用于对接收到的心跳包进行解码。处理单元,用于当解码出的第一校验码与接收到的心跳包中的校验码一致时,从心跳包中获取待传输的数据信息进行信息处理。其中,解码单元,具体用于按照设定的顺序,从所述心跳包分别识别出随机数,待传输的数据信息和效验码,将识别出的所述待传输的数据信息与随机数进行运算,获得第一校验码。本发明实施例中,CAN-Bus通讯中,利用随机数和待传输的数据信息进行心跳包的加密,提高了破解的难度,并且,将待传输的数据信息混合在心跳包中一起加密发送,提高了这些数据信息的安全性,也提高了心跳包的使用价值。另外,还可采用动态生成的,非零的且与上一次数据传输时不同的随机码,确保每次校验码的不相同,进一步提高了心跳包加密的可靠性。而且,在生成校验码加密到的过程中,都采用是字节或半字节运算,提高了整体加密的速度。同样,解码获得第一校验码的过程中,由于是与加密运算对应的解密运算,这样,也提高解码的速度。从而,提高了数据通讯的速度。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改 动和变型在内。
权利要求
1.一种数据传输的方法,其特征在于,包括 第一终端根据随机码和待传输的数据信息生成校验码; 将所述随机码、所述待传输的数据信息以及所述校验码按设定的顺序组合形成心跳包,并通过控制器局域网总线技术CAN-Bus发送给第二终端,使得所述第二终端对接收到的所述心跳包进行解码,并当解码出的第一校验码与接收到的心跳包中的校验码一致时,从所述心跳包中获取所述待传输的数据信息进行信息处理。
2.如权利要求I所述的方法,其特征在于,所述第一终端根据设定的代码和待传输的数据信息生成校验码包括 所述第一终端生成一个随机码; 当所述随机码非零,且与上一次数据传输时的随机码不同时,根据所述待传输的数据信息,以及所述随机码进行加密运算,生成校验码。
3.如权利要求I所述的方法,其特征在于,所述第二终端对接收到的心跳包进行解码包括 所述第二终端按照设定的顺序,从所述心跳包分别识别出随机数,待传输的数据信息和效验码; 将识别出的所述待传输的数据信息与随机数进行运算,获得第一校验码。
4.一种数据传输的系统,其特征在于,包括 第一终端,用于根据随机码和待传输的数据信息生成校验码,将所述随机码、所述待传输的数据信息以及所述校验码按设定的顺序组合形成心跳包,并通过控制器局域网总线技术CAN-Bus发送给第二终端; 第二终端,用于通过CAN-Bus接收所述心跳包,对接收到的所述心跳包进行解码,并当解码出的第一校验码与接收到的心跳包中的校验码一致时,从所述心跳包中获取所述待传输的数据信息进行信息处理。
5.如权利要求4所述的系统,其特征在于, 所述第一终端,具体用于生成一个随机码,并当所述随机码非零,且与上一次数据传输时的随机码不同时,根据所述待传输的数据信息,以及所述随机码进行加密运算,生成校验码。
6.如权利要求4所述的系统,其特征在于, 所述第二终端,具体用于按照设定的顺序,从所述心跳包分别识别出随机数,待传输的数据信息和效验码,将识别出的所述待传输的数据信息与随机数进行运算,获得第一校验码。
7.一种数据传输的终端,其特征在于,包括 生成单元,用于根据随机码和待传输的数据信息生成校验码; 组合单元,用于将所述随机码、所述待传输的数据信息以及所述校验码按设定的顺序组合形成心跳包; 发送单元,用于通过控制器局域网总线技术CAN-Bus发送所述心跳包。
8.如权利要求7所述的终端,其特征在于, 所述生成单元,具体用于生成一个随机码,并当所述随机码非零,且与上一次数据传输时的随机码不同时,根据所述待传输的数据信息,以及随机码进行加密运算,生成校验码。
9.如权利要求7所述的终端,其特征在于,还包括 接收单元,用于通过CAN-Bus接收心跳包; 解码单元,用于对接收到的所述心跳包进行解码; 处理单元,用于当解码出的第一校验码与接收到的心跳包中的校验码一致时,从所述心跳包中获取所述待传输的数据信息进行信息处理。
10.如权利要求9所述的终端,其特征在于, 所述解码单元,具体用于按照设定的顺序,从所述心跳包分别识别出随机数,待传输的数据信息和效验码,将识别出的所述待传输的数据信息与随机数进行运算,获得第一校验码。
全文摘要
本发明公开了一种数据传输的方法、系统及终端,用以提高CAN-Bus通讯中数据传输的安全性。该方法包括第一终端根据随机码和待传输的数据信息生成校验码,将所述随机码,所述待传输的数据信息以及所述校验码按设定的顺序组合形成心跳包,并通过控制器局域网总线技术CAN-Bus发送给第二终端,使得所述第二终端对接收到的所述心跳包进行解码,并当解码出的校验码与接收到的心跳包中的校验码一致时,从所述心跳包中获取所述待传输的数据信息进行信息处理。
文档编号H04L12/40GK102624515SQ201110378318
公开日2012年8月1日 申请日期2011年11月24日 优先权日2011年11月24日
发明者何欢, 吴飞, 徐亚光, 赵亮, 陈华川 申请人:中联重科股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1