一种FlexRay总线的分布式加密存储方法及装置与流程

文档序号:16702912发布日期:2019-01-22 21:50阅读:359来源:国知局
一种FlexRay总线的分布式加密存储方法及装置与流程
本发明属于数据存储
技术领域
,涉及一种FlexRay总线的分布式加密存储方法及装置。
背景技术
:随着信息技术的发展,知识产权的保护变得至关重要。目前许多简单的电子设备,其内部的程序代码非常容易被复制,这就导致研发人员的研发成果得不到保护。虽然很多的MCU代码和FPGA程序代码具有一定的加密功能,但是也很容易被克隆,唯一不同的是克隆的成本费用会略微高一点而已。针对未来汽车车载网络的发展要求,FlexRay应运而生。FlexRay关注的是当今汽车行业的一些核心需求,包括更快的数据速率,更灵活的数据通信,更全面的拓扑选择和容错运算等。FlexRay的出现,提供在电气和机械电子元件之间可靠,实时和非常高效的数据传输。FlexRay总线每个通道的最大数据传输率为10MBit/s。如果在FlexRay网络中,对整个系统的关键数据信息进行分布式的加密存储,则可以有效避免知识产权被克隆和复制的风险。综上所述,急需发明一种能够利用FlexRay总线系统进行关键信息数据分布式加密的存储方法及装置,则可以大幅度提高整个系统的关键数据信息安全性,达到保护知识产权的目的。技术实现要素:有鉴于此,本发明的目的在于提供一种FlexRay总线的分布式加密存储方法及装置,能够对FlexRay总线系统中的关键信息进行分布式的加密存储,避免被克隆与复制,确保关键数据信息存储的高效与安全。为达到上述目的,本发明提供如下技术方案:一种FlexRay总线的分布式加密存储方法,包括以下步骤:S1:FlexRay总线的分布式加密存储装置由1个FlexRay总存储节点和若干个FlexRay分存储节点构成;S2:每个FlexRay存储节点的MCU完成对自身FlexRay总线接口的初始化;S3:每个FlexRay分存储节点的MCU读取64位ID认证的加密芯片MAC消息认证码;S4:FlexRay分存储节点接收FlexRay总存储节点发送的MAC认证码,如果认证码与本地读取的MAC消息认证码相同,初始化SPI存储接口,启动存储功能,否则MCU继续读取FlexRay总存储节点发送的MAC认证码;S5:每个FlexRay分存储节点将FelxRay总线接口虚拟成为一个存储器接口;S6:FlexRay总存储节点接收上位机的数据,然后将接收的关键数据包进行分解,分解数据信息表在本地存储,然后将数据依次分发给各个FlexRay分存储节点;S7:每个FlexRay分存储节点的MCU根据接收的数据、存储地址和加密命令,将接收的数据进行加密运算,存储到相应的地址单元;S8:FlexRay总存储节点接收到上位机读命令请求后,向各个FlexRay分存储节点发出读命令,每个FlexRay分存储节点的MCU根据接收的数据、存储地址和解密命令,将从相应地址单元读出数据,进行解密运算,然后将数据从FlexRay总线接口返回到FelxRay总存储节点;S9:FlexRay总存储节点接收各个FlexRay分存储节点的数据,根据分解数据信息表重构关键数据,然后将关键数据返回到上位机。进一步,在步骤S3中,具体包括:S31:每个FlexRay分存储节点的MCU初始化连接加密认证芯片的IO接口;S32:每个FlexRay分存储节点的MCU根据1-wire网络的协议读取64位ID认证的加密芯片(DS28E10)的MAC消息认证码,将其存储在内存中。进一步,在步骤S4中,具体包括:S41:每个FlexRay分存储节点的MCU处于待机状态,读取FlexRay总存储节点发送的MAC认证码;S42:如果接收的认证码MAC与从加密认证芯片(DS28E10)读取的认证码进行比对;S43:如果认证码比对成功,初始化SPI存储接口,启动存储功能,否则MCU继续读取FlexRay总线接口接收的MAC认证码。进一步,在步骤S5中,具体包括:按设定的数据帧格式进行数据的存储:S51:将FelxRay节点虚拟成储存器接口,只接收固定帧格式的数据帧,如表1所示;S52:只对符合要求的数据帧进行解码,读写数据帧的具体格式如下,如表2所示;表1写数据帧的格式帧头命令码加密指令存储地址数据长度数据内容CRC校验表2读数据帧的格式帧头命令码解密指令存储地址数据长度CRC校验进一步,在步骤S6中,具体包括:S61:FlexRay总存储节点接收上位机的数据包;S62:FlexRay总存储节点将接收的关键数据包进行分包处理,分包方法如下:对于有N个分存储节点的系统,关键数据为M个字节,则,第n号分存储节点的数据为:k*N+n,其中0≤k≤M/N,同时生成每个数据分包的存储节点信息和数据加密信息表,存储在本地的EEPROM中;S63:FlexRay总存储节点将分包后的数据和加密信息打包后,发送到相应的FlexRay分存储节点。进一步,在步骤S7中,具体包括:S71:每个FlexRay分存储节点的MCU根据接收的数据、存储地址和加密命令,将接收的数据内容进行加密运算处理;S72:数据内容在加密运算时,根据加密指令,MCU选取相应的加密算法,对每个字节数据进行加密运算;S73:加密算法有对字节数据进行循环移位和取反运算等。S74:数据加密后,存入本地EEPROM指定地址。进一步,在步骤S8中,具体包括:S81:当FlexRay总存储节点收到上位机的读命令时,从本地读出数据分包的存储节点信息和数据加密信息表;S82:FlexRay总存储节点根据数据分包的存储节点信息和数据加密信息表,发送相应的读命令到各个FlexRay分存储节点;S83:每个FlexRay分存储节点的MCU根据接收的数据、存储地址和解密命令,将从相应地址单元读出数据,进行解密运算,然后将数据从FlexRay总线接口返回FlexRay总存储节点;进一步,在步骤S9中,具体包括:S91:FlexRay总存储节点接收各个FlexRay存储节点的数据;S92:FlexRay总存储节点根据分解数据信息表重构关键数据包,然后将数据返回到上位机。本发明还提供了一种分布式加密存储装置,具体包括:一个FlexRay总存储节点和多个FelxRay分存储节点,每个存储节点由带64位ID认证的加密芯片DS28E10、SPI接口的EEPROM,以及带有FlexRay总线接口和SPI接口的MCU构成;每个FlexRay节点的MCU可以按指定的加密指令对数据进行加密存储;该FlexRay总线的分布式加密存储装置的分布式存储节点可以根据实际应用的需求进行增减。本发明的有益效果在于:本发明采用了一种FlexRay总线的分布式加密存储方法,通过该装置可以实现关键保密数据的分布式加密存储,保证了数据存储的安全,高效,无法复制与克隆的可能,该发明对于知识产权的保护具有重要意义。附图说明为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:图1为本发明所述方法的流程示意图;图2为FlexRay总线的分布式加密存储方法及装置示意图。具体实施方式下面将结合附图,对本发明的优选实施例进行详细的描述。图1为本发明所述方法的流程示意图,如图所示,本发明所述方法具体包括以下步骤:S1:FlexRay总线的分布式加密存储装置由1个FlexRay总存储节点和若干个FlexRay分存储节点构成;S2:每个FlexRay存储节点的MCU完成对自身FlexRay总线接口的初始化;S3:每个FlexRay分存储节点的MCU读取64位ID认证的加密芯片MAC消息认证码;S4:FlexRay分存储节点接收FlexRay总存储节点发送的MAC认证码,如果认证码与本地读取的MAC消息认证码相同,初始化SPI存储接口,启动存储功能,否则MCU继续读取FlexRay总存储节点发送的MAC认证码;S5:每个FlexRay分存储节点将FelxRay总线接口虚拟成为一个存储器接口;S6:FlexRay总存储节点接收上位机的数据,然后将接收的关键数据包进行分解,分解数据信息表在本地存储,然后将数据依次分发给各个FlexRay分存储节点;S7:每个FlexRay分存储节点的MCU根据接收的数据、存储地址和加密命令,将接收的数据进行加密运算,存储到相应的地址单元;S8:FlexRay总存储节点接收到上位机读命令请求后,向各个FlexRay分存储节点发出读命令,每个FlexRay分存储节点的MCU根据接收的数据、存储地址和解密命令,将从相应地址单元读出数据,进行解密运算,然后将数据从FlexRay总线接口返回到FelxRay总存储节点;S9:FlexRay总存储节点接收各个FlexRay分存储节点的数据,根据分解数据信息表重构关键数据,然后将关键数据返回到上位机。其中,在步骤S3中,具体包括:S31:每个FlexRay分存储节点的MCU初始化连接加密认证芯片的IO接口;S32:每个FlexRay分存储节点的MCU根据1-wire网络的协议读取64位ID认证的加密芯片(DS28E10)的MAC消息认证码,将其存储在内存中。其中,在步骤S4中,具体包括:S41:每个FlexRay分存储节点的MCU处于待机状态,读取FlexRay总存储节点发送的MAC认证码;S42:如果接收的认证码MAC与从加密认证芯片(DS28E10)读取的认证码进行比对;S43:如果认证码比对成功,初始化SPI存储接口,启动存储功能,否则MCU继续读取FlexRay总线接口接收的MAC认证码。进一步,在步骤S5中,具体包括:按设定的数据帧格式进行数据的存储:S51:将FelxRay节点虚拟成储存器接口,只接收固定帧格式的数据帧,如表1所示;S52:只对符合要求的数据帧进行解码,读写数据帧的具体格式如下,如表2所示;表1写数据帧的格式帧头命令码加密指令存储地址数据长度数据内容CRC校验表2读数据帧的格式帧头命令码解密指令存储地址数据长度CRC校验其中,在步骤S6中,具体包括:S61:FlexRay总存储节点接收上位机的数据包;S62:FlexRay总存储节点将接收的关键数据包进行分包处理,分包方法如下:对于有N个分存储节点的系统,关键数据为M个字节,则,第n号分存储节点的数据为:k*N+n,其中0≤k≤M/N,同时生成每个数据分包的存储节点信息和数据加密信息表,存储在本地的EEPROM中;S63:FlexRay总存储节点将分包后的数据和加密信息打包后,发送到相应的FlexRay分存储节点。其中,在步骤S7中,具体包括:S71:每个FlexRay分存储节点的MCU根据接收的数据、存储地址和加密命令,将接收的数据内容进行加密运算处理;S72:数据内容在加密运算时,根据加密指令,MCU选取相应的加密算法,对每个字节数据进行加密运算;S73:加密算法有对字节数据进行循环移位和取反运算等。S74:数据加密后,存入本地EEPROM指定地址。其中,在步骤S8中,具体包括:S81:当FlexRay总存储节点收到上位机的读命令时,从本地读出数据分包的存储节点信息和数据加密信息表;S82:FlexRay总存储节点根据数据分包的存储节点信息和数据加密信息表,发送相应的读命令到各个FlexRay分存储节点;S83:每个FlexRay分存储节点的MCU根据接收的数据、存储地址和解密命令,将从相应地址单元读出数据,进行解密运算,然后将数据从FlexRay总线接口返回FlexRay总存储节点;其中,在步骤S9中,具体包括:S91:FlexRay总存储节点接收各个FlexRay存储节点的数据;S92:FlexRay总存储节点根据分解数据信息表重构关键数据包,然后将数据返回到上位机。图2为FlexRay总线的分布式加密存储方法及装置示意图,该分布式存储装置具体由以下几个部分组成:1):一个FlexRay总存储节点和若干分节点构成;2):每个存储节点由带64位ID认证的加密芯片DS28E10、SPI接口的EEPROM,以及带有FlexRay总线接口和SPI接口的MCU构成;3):3每个FlexRay节点的MCU可以按指定的加密指令对数据进行加密存储;4):该FlexRay总线的分布式加密存储装置的分布式存储节点可以根据实际应用的需求进行增减。最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离本发明权利要求书所限定的范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1