一种基于FPGA的RSSP-II协议MAC码快速验证装置制造方法及图纸

技术编号:19649245 阅读:14 留言:0更新日期:2018-12-05 21:17
一种基于FPGA的RSSP‑II协议MAC码快速验证装置,FPGA1和FPGA2中均通过编程语言硬件编程有以下模块:数据接口模块、MAC调度模块、DES模块、双通道比较模块。其中DES模块包括DES顶模块,DES core模块,Key_schedule子密钥生成模块,crp单轮循环模块。双通道比较模块用于两个FPGA间通信,构成二取二结构,当两个FPGA结果不一致时,通过数据接口模块给CPU发送双通道比较状态标志;若通过双通道比较,则进行后续消息传输,否则进入错误处理程序。本发明专利技术采用有限状态机以及流水线的设计方法,在保证处理速度的基础上,充分考虑到系统资源的消耗,达到了速度与面积的平衡。本发明专利技术有效降低了高速铁路车地无线安全通信RSSP‑II协议的CPU资源占用,极大提高数据吞吐量,缩短车地鉴权时延,具有更高的安全性和可靠性。

【技术实现步骤摘要】
一种基于FPGA的RSSP-II协议MAC码快速验证装置
本专利技术涉及轨道交通安全通信
,特别是涉及适应于CTCS-3(ChineseTrainControlSystem-3)级列车运行控制系统通信过程中对安全性及时延性有严苛要求的无线通信系统。
技术介绍
在CTCS-3级列控系统中RBC(RadioBlockCenter)无线闭塞中心与TSRS(TemporarySpeedRestrictionServer)临时限速服务器、RBC与RBC设备、RBC设备与车载系统设备之间通信交互过程中,按照RSSP-II(RailwaySignalSecurityProtocol-II)铁路信号安全通信协议规定,需要满足EN50159-2中对于开放网络通信的安全要求。通信双方在MASL消息鉴定安全层分别运行消息源验证安全程序,生成消息验证码来保证传输中消息的真实性和完整性。目前主流的消息源验证方法是在CPU中进行MAC(MessageAuthenticationCode)生成与校验过程。但是这种CPU软件编程的实现方式存在很多弊端:(1)CPU系统资源占用。MASL层的消息验证码以DES数据加密标准为基本算法,生成过程中经过多轮迭代和数据处理过程,需要消耗大量的系统资源并占用处理时间。CPU作为核心的运算处理单元,如果将过多的资源耗费在MAC校验过程中,对设备的处理能力的提升是一个阻碍。(2)软件编程方式处理效率不高。采用CPU编程方式完成消息源验证过程需要几十ms甚至更长时间,限制了RBC与车载设备端到端通信时延的进一步缩短。
技术实现思路
本专利技术的目的是针对现有技术中存在的问题,提供一种安全高速的基于FPGA(FieldProgrammableGateArray)的RSSP-II协议MAC码的验证装置,旨在解放CPU资源占用,极大地提高数据吞吐量。由于传统CPU软件编程方式实现消息源验证过程占用CPU系统资源,且处理效率不高,不利于RBC列控设备性能和处理能力的进一步提升,以及RBC与车载设备通信时延的进一步缩短。本专利技术所采用的技术方案是:一种基于FPGA的RSSP-II协议MAC码快速验证装置,FPGA1通过片内UART与CPU1以及无线模块进行通信,CPU1通过16位并行总线与本地外围控制及通信电路通信;FPGA2通过片内UART与CPU2以及无线模块进行通信,CPU2通过16位并行总线与本地外围控制及通信电路通信;FPGA1与FPGA2间双通道比较通过片内UART完成;CPU1与CPU2间双通道比较通过UART完成;上述CPU1和CPU2的型号相同;上述FPGA1和FPGA2中均通过编程语言硬件编程有以下模块:数据接口模块:用于接收CPU待处理数据和双通道MAC校验数据,包括明文数据、密钥数据、写标志、数据结束标志;数据接口模块内部采用两个16转64位的数据FIFO,并采用控制状态机,根据输入数据信息进行状态跳转,将64位的明文及3个轮密钥分别存入不同寄存器并向MAC调度模块传输,同时产生MAC调度模块状态机的一系列控制信号,并输出允许写标志;MAC调度模块:用于产生DES模块的控制标志及寄存器数据分配,并完成异或运算等基本运算过程,采用控制状态机,根据接收到的数据接口模块的数据及控制标志,以及DES模块产生的数据及控制标志进行状态的跳转;MAC调度模块将处理的数据及控制信息发送至DES模块,控制DES模块的数据操作及状态机的跳转;DES模块:用于实现MAC验证码生成的底层DES算法;DES模块包括DES顶层模块、DES_core模块、key_schedule子密钥生成模块、crp单轮循环模块;DES顶层模块:主要完成子模块的实例化和调用功能;DES_core模块:用于完成初始置换操作、逆初始置换操作、16轮循环控制,采用控制状态机,根据来自MAC调度模块的控制信息进行状态跳转,生成轮控制标志,输出为忙标志、加解密完成标志以及64位的一轮DES结果,分别传送至MAC调度模块和数据接口模块进行状态机控制及运算处理;Key_schedule子密钥生成模块:用于产生16轮迭代运算的轮密钥,采用流水线设计方式,即在每一个基本运算单元后插入一级寄存器,共插入16级寄存器,下一个基本单元执行时调用上一级寄存器的值就构成了16级的寄存器;crp单轮循环模块:用于完成DES运算中的一轮基本运算,包括扩展E置换、异或运算、S盒置换以及P盒变化;置换及异或运算等基本运算均可使用assign语句实现,S盒采用查表法进行实现,查表法的本质是一个RAM,通过地址输入进行存储区的对应,输出4位的特定数据;双通道比较模块:用于两个FPGA间通信,构成二取二结构,当两个FPGA结果不一致时,通过数据接口模块给CPU发送双通道比较状态标志;若通过双通道比较,则进行后续消息传输,否则进入错误处理程序。所述无线模块包括无线收发装置,该无线模块与铁路系统无线通信设备进行通信。本专利技术的有益效果是:与现有的技术比较,本专利技术的优点有以下几点:①缩短消息源验证时间:使用基于FPGA的MAC快速验证装置来完成消息源验证过程,其时间参数可以达到ns(纳秒)量级,能够极大地提高数据吞吐量。②提高MAC验证码的可靠性:采用状态机模型控制接口数据流转和MAC验证码生成,确保FPGA各类运算操作时序的正确性,确保可靠生成MAC验证码。③解放CPU系统资源:使用FPGA作为协处理器,完成MAC验证过程,有利于解放CPU资源占用,可以提升RBC设备及列控设备的系统性能。④有利于扩展RSSP-II协议的应用场景和范围,例如未来建立覆盖更为全面的铁路信号网路,各通信节点若同样使用RSSP-II协议进行通信,在只增加少量设备的情况下,大大增强系统的可靠性与安全性。附图说明图1是基于FPGA的RSSP-II协议MAC码快速验证装置的连接示意图;图2是RSSP-II协议中MAC验证码IP核的整体架构及模块划分;图3是DES模块的架构及底层模块划分。具体实施方式本专利技术的核心思想是使用FPGA作为协处理器,设计一种RSSP-II协议MAC码快速验证装置,结合FPGA并行运算的优势,解放CPU系统资源,有利于RBC、车载、TSRS设备性能提升,提高数据吞吐量。这种基于FPGA的RSSP-II协议MAC码快速验证装置具体实现方法如下。参见图1,给出了RSSP-II协议MAC码快速验证装置的连接示意图。所述无线模块包括无线收发装置,与FPGA通过片内UART进行通信;可编程逻辑阵列FPGA进行硬件编程,包括图2所示模块划分包括数据接口模块、MAC调度模块、DES模块、双通道比较模块;FPGA间通道比较通过片内UART;CPU与FPGA之间使用16位并行总线进行数据传输;CPU间双通道比较同样使用UART;CPU与外围控制电路使用16位并行总线进行数据传输,与本地外部设备通信采用光纤及422串口等外部电路。两个无线模块型号相同,且同时收发数据。控制状态机在数据接口模块内部,和数据FIFO共同构成数据接口模块,实现数据调度。错误处理是给CPU发送一个错误标志位,由CPU进行相应的错误处理,包括报警、宕机等操作。是双通道比较模块的一个输出值,因此不算作置于FPGA内的软件,也不作本文档来自技高网...

【技术保护点】
1.一种基于FPGA的RSSP‑II协议MAC码快速验证装置,其特征在于,FPGA1通过片内UART与CPU1以及无线模块进行通信,CPU1通过16位并行总线与本地外围控制及通信电路通信;FPGA2通过片内UART与CPU2以及无线模块进行通信,CPU2通过16位并行总线与本地外围控制及通信电路通信;FPGA1与FPGA2间双通道比较通过片内UART完成;CPU1与CPU2间双通道比较通过UART完成;上述CPU1和CPU2的型号相同;上述FPGA1和FPGA2中均通过编程语言硬件编程有以下模块:数据接口模块:用于接收CPU待处理数据和双通道MAC校验数据,包括明文数据、密钥数据、写标志、数据结束标志;数据接口模块内部采用两个16转64位的数据FIFO,并采用控制状态机,根据输入数据信息进行状态跳转,将64位的明文及3个轮密钥分别存入不同寄存器并向MAC调度模块传输,同时产生MAC调度模块状态机的一系列控制信号,并输出允许写标志;MAC调度模块:用于产生DES模块的控制标志及寄存器数据分配,并完成异或运算等基本运算过程;采用控制状态机模型,根据接收到的数据接口模块的数据及控制标志,以及DES模块产生的数据及控制标志进行状态的跳转;MAC调度模块将处理的数据及控制信息发送至DES模块,控制DES模块的数据操作及状态机的跳转;DES模块:用于实现MAC验证码生成的底层DES算法;DES模块包括DES顶层模块、DES_core模块、key_schedule子密钥生成模块、crp单轮循环模块;DES顶层模块:主要完成子模块的实例化和调用功能;DES_core模块:用于完成初始置换操作、逆初始置换操作、16轮循环控制,采用控制状态机,根据来自MAC调度模块的控制信息进行状态跳转,生成轮控制标志,输出为忙标志、加解密完成标志以及64位的一轮DES结果,分别传送至MAC调度模块和数据接口模块进行状态机控制及运算处理;Key_schedule子密钥生成模块:用于产生16轮迭代运算的轮密钥,采用流水线设计方式,即在每一个基本运算单元后插入一级寄存器,共插入16级寄存器,下一个基本单元执行时调用上一级寄存器的值就构成了16级的寄存器;crp单轮循环模块:用于完成DES运算中的一轮基本运算,包括扩展E置换、异或运算、S盒置换以及P盒变化;置换及异或运算等基本运算均可使用assign语句实现,S盒采用查表法进行实现,查表法的本质是一个RAM,通过地址输入进行存储区的对应,输出4位的特定数据;双通道比较模块:用于两个FPGA间通信,构成二取二结构,当两个FPGA结果不一致时,通过数据接口模块给CPU发送双通道比较状态标志;若通过双通道比较,则进行后续消息传输,否则进入错误处理程序。...

【技术特征摘要】
1.一种基于FPGA的RSSP-II协议MAC码快速验证装置,其特征在于,FPGA1通过片内UART与CPU1以及无线模块进行通信,CPU1通过16位并行总线与本地外围控制及通信电路通信;FPGA2通过片内UART与CPU2以及无线模块进行通信,CPU2通过16位并行总线与本地外围控制及通信电路通信;FPGA1与FPGA2间双通道比较通过片内UART完成;CPU1与CPU2间双通道比较通过UART完成;上述CPU1和CPU2的型号相同;上述FPGA1和FPGA2中均通过编程语言硬件编程有以下模块:数据接口模块:用于接收CPU待处理数据和双通道MAC校验数据,包括明文数据、密钥数据、写标志、数据结束标志;数据接口模块内部采用两个16转64位的数据FIFO,并采用控制状态机,根据输入数据信息进行状态跳转,将64位的明文及3个轮密钥分别存入不同寄存器并向MAC调度模块传输,同时产生MAC调度模块状态机的一系列控制信号,并输出允许写标志;MAC调度模块:用于产生DES模块的控制标志及寄存器数据分配,并完成异或运算等基本运算过程;采用控制状态机模型,根据接收到的数据接口模块的数据及控制标志,以及DES模块产生的数据及控制标志进行状态的跳转;MAC调度模块将处理的数据及控制信息发送至DES模块,控制DES模块的数据操作及状态机的跳转;DES模块:用于实现MAC验证码生成的底层DES算法;DES模块包括DES顶层模块、DES...

【专利技术属性】
技术研发人员:王小敏张启鹤张文芳史增树
申请(专利权)人:西南交通大学
类型:发明
国别省市:四川,51

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

1