CN112367310B - 一种基于fpga的srio总线加密传输装置 - Google Patents

一种基于fpga的srio总线加密传输装置 Download PDF

Info

Publication number
CN112367310B
CN112367310B CN202011167693.5A CN202011167693A CN112367310B CN 112367310 B CN112367310 B CN 112367310B CN 202011167693 A CN202011167693 A CN 202011167693A CN 112367310 B CN112367310 B CN 112367310B
Authority
CN
China
Prior art keywords
data
srio
module
packet
pcie
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011167693.5A
Other languages
English (en)
Other versions
CN112367310A (zh
Inventor
沈月峰
王吕大
赵明亮
龚清生
侯春雷
杨帆
孙大东
陕振
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Institute of Computer Technology and Applications
Original Assignee
Beijing Institute of Computer Technology and Applications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Institute of Computer Technology and Applications filed Critical Beijing Institute of Computer Technology and Applications
Priority to CN202011167693.5A priority Critical patent/CN112367310B/zh
Publication of CN112367310A publication Critical patent/CN112367310A/zh
Application granted granted Critical
Publication of CN112367310B publication Critical patent/CN112367310B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/06Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Abstract

本发明涉及一种基于FPGA的SRIO总线加密传输装置,属于数据传输技术领域。本发明提出的一种基于FPGA的SRIO总线加密传输装置,该装置基于FPGA可编程逻辑设计实现,同时结合SRIO协议的特点,仅要求用户传输的有效数据载荷为256字节的整数倍,并内置加解密模块实现了高速数据的加密传输,并通过门铃包实现数据帧的同步。该装置能够满足用户数据在现有SRIO网络里的加密传输需求,极大提升了数据传输的安全性,从而满足特定领域的应用需求。

Description

一种基于FPGA的SRIO总线加密传输装置
技术领域
本发明属于数据传输技术领域,具体涉及一种基于FPGA的SRIO总线加密传输装置。
背景技术
随着嵌入式系统互联总线技术的发展,SRIO总线在嵌入式设备中的应用越来越广泛。同时,为提升数据传输的安全性,满足特定领域对数据安全性的需求,亟需开展针对网络、PCIe、SRIO等接口的数据加密传输装置的研究和设计工作。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何设计一种SRIO总线加密传输装置,以满足用户数据在现有SRIO网络里的加密传输需求。
(二)技术方案
为了解决上述技术问题,本发明提供了一种基于FPGA的SRIO总线加密传输装置,包括第一FPGA、第一PCIe/Ethernet协议处理模块、包头发生器、数据加密模块、SRIO组包模块、第一SRIO控制器、SRIO交换模块、第二FPGA、SIRO分包模块、包头解析模块、第二PCIe/Ethernet协议处理模块、数据解密模块;
设主机A与主机B之间需要进行数据加密传输;SRIO交换模块用于基于SRIO ID实现主机A与主机B的之间的数据包转发处理;
若主机B向主机A发送数据,位于主机A中的应用程序调用PCIe或Ethernet驱动程序,生成需要发送的PCIe和Ethernet数据帧,通过第一FPGA,即FPGA_A可编程逻辑芯片将其发送至第一PCIe/Ethernet协议处理模块提取出有效数据和目的地址信息;包头发生器根据数据包的目的地址生成SRIO ID,同时生成包头信息,有效数据则进入数据加密模块进行加密操作生成密文数据;SRIO组包模块实现包头信息和密文数据的拼接,并将拼接后的数据包送入第一SRIO控制器发送出去,整帧数据发送完毕时,插入一个DOORBELL门铃包;
SRIO交换模块根据目的SRIO ID信息将数据包路由至第二FPGA,即FPGA_B可编程逻辑芯片的SRIO控制器,该数据包经过SIRO分包模块提取包头信息和有效数据,包头信息送至包头解析模块,有效数据则进入数据解密模块进行解密,得到明文数据;当包头解析模块检测到收到1个DOORBELL门铃则认为已收到一个完整的数据帧,则通过中断的方式通知第二PCIe/Ethernet协议处理模块将数据打包成PCIe/Ethernet数据帧并传输至主机B;位于主机B中的应用程序调用PCIe或Ethernet驱动程序,接收并解析所收到的PCIe和Ethernet数据帧。
本发明还提供了一种利用所述装置实现的数据加密传输方法。
优选地,该方法在实现过程中约定:所有SRIO数据帧中的有效数据都为SRIO协议最大值的字节数,应用程序需要做到SRIO协议最大值的字节数对齐传输。
优选地,该方法在实现过程中还约定:仅对有效数据进行加密,包头不进行加密处理。
优选地,所述SRIO协议最大值的字节数为256字节。
优选地,所述包头信息为SWRITE/NWRITE。
优选地,所述SRIO交换模块位于SRIO交换网络中。
本发明还提供了一种所述装置在数据传输技术领域中的应用。
本发明还提供了一种所述的方法在数据传输技术领域中的应用。
(三)有益效果
本发明提出的一种基于FPGA的SRIO总线加密传输装置,该装置基于FPGA可编程逻辑设计实现,同时结合SRIO协议的特点,仅要求用户传输的有效数据载荷为256字节的整数倍,并内置加解密模块实现了高速数据的加密传输,并通过门铃包实现数据帧的同步。该装置能够满足用户数据在现有SRIO网络里的加密传输需求,极大提升了数据传输的安全性,从而满足特定领域的应用需求。
附图说明
图1为本发明提供的一种基于FPGA的SRIO加密传输装置原理框图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
SRIO数据帧格式采用包头+有效数据的方式,通过包头中的信息来区分请求和响应类型。SRIO数据帧类型主要分为NEAD、SWRITE、NWRITE、NWRITE-R、MSG和DOORBELL等,其中NEAD响应帧、SWRITE请求帧、NWRITE请求帧、NWRITE-R请求帧、MSG请求帧中包含有效数据,而DOORBELL请求和响应帧、NWRITE-R响应帧、MSG响应帧不包含有效数据,仅只有包头。
通过深入分析各类加解密算法的特点及应用场景,对称算法更加适合数据加密传输的场景。而对称算法通常算法位宽为128位或256位,因此数据需要为16字节或32字节的整数倍。
结合上述分析得出的SRIO数据包格式和对称算法的特点,本发明提出一种基于FPGA的SRIO总线加密传输装置。该装置约定如下:第一、所有SRIO数据帧中的有效数据都为256字节(SRIO协议最大值),应用程序需要做到256字节对齐传输;第二、仅对有效数据进行加密,包头不进行加密处理。
主机A向主机B发送数据的流程如图1所示,主机B向主机A发送数据的流程则也与之完全相同。其中,SRIO交换模块基于SRIO ID实现主机A与主机B的之间的数据包转发处理。由于该加密传输装置仅对SRIO有效数据载荷进行加解密处理,对于SRIO ID以及请求包头和响应包头不做任何处理,数据包完全符合SRIO协议,因此不影响SRIO数据包正常通过SRIO交换网络进行转发处理。
位于主机A中的应用程序调用PCIe或Ethernet驱动程序,生成需要发送的PCIe和Ethernet数据帧,通过第一FPGA,即FPGA_A可编程逻辑芯片将其发送至第一PCIe/Ethernet协议处理模块提取出有效数据和目的地址信息;包头发生器根据数据包的目的地址生成SRIO ID,同时生成包头信息(如SWRITE/NWRITE),有效数据则进入数据加密模块进行加密操作生成密文数据;SRIO组包模块实现包头信息和密文数据的拼接,并将拼接后的数据包送入第一SRIO控制器发送出去,整帧数据发送完毕时,插入一个DOORBELL门铃包;
SRIO交换网络中的SRIO交换模块根据目的SRIO ID信息将数据包路由至第二FPGA,即FPGA_B可编程逻辑芯片的SRIO控制器,该数据包经过SIRO分包模块提取包头信息和有效数据,包头信息送至包头解析模块,有效数据则进入数据解密模块进行解密,得到明文数据;当包头解析模块检测到收到1个DOORBELL门铃则认为已收到一个完整的数据帧,则通过中断的方式通知第二PCIe/Ethernet协议处理模块将数据打包成PCIe/Ethernet数据帧并传输至主机B;位于主机B中的应用程序调用PCIe或Ethernet驱动程序,接收并解析所收到的PCIe和Ethernet数据帧。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (7)

1.一种基于FPGA的SRIO总线加密传输装置,其特征在于,包括第一FPGA、第一PCIe/Ethernet协议处理模块、包头发生器、数据加密模块、SRIO组包模块、第一SRIO控制器、SRIO交换模块、第二FPGA、SIRO分包模块、包头解析模块、第二PCIe/Ethernet协议处理模块、数据解密模块;
设主机A与主机B之间需要进行数据加密传输;SRIO交换模块用于基于SRIO ID实现主机A与主机B的之间的数据包转发处理;
若主机A向主机B发送数据,位于主机A中的应用程序调用PCIe或Ethernet驱动程序,生成需要发送的PCIe或Ethernet数据帧,通过第一FPGA,即FPGA_A可编程逻辑芯片将其发送至第一PCIe/Ethernet协议处理模块提取出有效数据和目的地址信息;包头发生器根据数据包的目的地址生成SRIO ID,同时生成包头信息,有效数据则进入数据加密模块进行加密操作生成密文数据;SRIO组包模块实现包头信息和密文数据的拼接,并将拼接后的数据包送入第一SRIO控制器发送出去,整帧数据发送完毕时,插入一个DOORBELL门铃包;
SRIO交换模块根据目的SRIO ID信息将数据包路由至第二FPGA,即FPGA_B可编程逻辑芯片的SRIO控制器,该数据包经过SIRO分包模块提取包头信息和有效数据,包头信息送至包头解析模块,有效数据则进入数据解密模块进行解密,得到明文数据;当包头解析模块检测到收到1个DOORBELL门铃则认为已收到一个完整的数据帧,则通过中断的方式通知第二PCIe/Ethernet协议处理模块将数据打包成PCIe/Ethernet数据帧并传输至主机B;位于主机B中的应用程序调用PCIe或Ethernet驱动程序,接收并解析所收到的PCIe或Ethernet数据帧。
2.一种利用权利要求1所述装置实现的数据加密传输方法。
3.如权利要求2所述的方法,其特征在于,该方法在实现过程中约定:所有SRIO数据帧中的有效数据都为SRIO协议最大值的字节数,应用程序需要做到SRIO协议最大值的字节数对齐传输。
4.如权利要求2所述的方法,其特征在于,该方法在实现过程中还约定:仅对有效数据进行加密,包头不进行加密处理。
5.如权利要求2所述的方法,其特征在于,所述SRIO协议最大值的字节数为256字节。
6.如权利要求2所述的方法,其特征在于,所述包头信息为SWRITE/NWRITE。
7.如权利要求2所述的方法,其特征在于,所述SRIO交换模块位于SRIO交换网络中。
CN202011167693.5A 2020-10-28 2020-10-28 一种基于fpga的srio总线加密传输装置 Active CN112367310B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011167693.5A CN112367310B (zh) 2020-10-28 2020-10-28 一种基于fpga的srio总线加密传输装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011167693.5A CN112367310B (zh) 2020-10-28 2020-10-28 一种基于fpga的srio总线加密传输装置

Publications (2)

Publication Number Publication Date
CN112367310A CN112367310A (zh) 2021-02-12
CN112367310B true CN112367310B (zh) 2022-11-18

Family

ID=74511000

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011167693.5A Active CN112367310B (zh) 2020-10-28 2020-10-28 一种基于fpga的srio总线加密传输装置

Country Status (1)

Country Link
CN (1) CN112367310B (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9461930B2 (en) * 2009-04-27 2016-10-04 Intel Corporation Modifying data streams without reordering in a multi-thread, multi-flow network processor
CN101594590A (zh) * 2009-06-19 2009-12-02 中兴通讯股份有限公司 用于无线基站的数据传输方法和应用该方法的无线基站
CN108055244B (zh) * 2017-11-27 2020-09-08 珠海市鸿瑞信息技术股份有限公司 一种基于srio接口技术的双处理系统网络安全隔离方法
CN109286492A (zh) * 2018-10-25 2019-01-29 北京中科富星信息技术有限公司 基于fpga和dsp的国密加密安全视频数据交换卡及交换方法
CN110912841B (zh) * 2019-11-19 2021-06-01 天津津航计算技术研究所 面向128bit位宽的SRIO协议控制字符与数据包分离系统

Also Published As

Publication number Publication date
CN112367310A (zh) 2021-02-12

Similar Documents

Publication Publication Date Title
US9596075B2 (en) Transparent serial encryption
CN101471835B (zh) 用于高带宽总线的端口适配器
US8843735B2 (en) Method and apparatus of communicating security/encryption information to a physical layer transceiver
US7979693B2 (en) Relay apparatus for encrypting and relaying a frame
US7398386B2 (en) Transparent IPSec processing inline between a framer and a network component
CN110557680B (zh) 一种音视频数据帧传输方法和系统
JP2002044135A (ja) 暗号装置及び暗号通信システム
US20200076773A1 (en) Configurable service packet engine exploiting frames properties
CN110830393A (zh) 芯片堆叠模式下MACsec的实现方法及装置
CN112367310B (zh) 一种基于fpga的srio总线加密传输装置
CN100450119C (zh) 在ip视频会议系统中进行密文传输的方法
EP1668807B1 (en) Method and apparatus of integrating link layer security into a physical layer transceiver
Zuo et al. A novel software-defined network packet security tunnel forwarding mechanism
US11956160B2 (en) End-to-end flow control with intermediate media access control security devices
CN107124435A (zh) 一种tcp报文加密电路及方法
CN109861974A (zh) 一种数据加密传输装置及方法
CN117560226B (zh) 一种通过虚拟专用网络vpn进行数据传输的方法及装置
US11929934B2 (en) Reliable credit-based communication over long-haul links
WO2022100069A1 (zh) 加解密系统、光模块和相关装置、系统
Van Phan et al. A solution for packet security 1 Gbps on layer 2 with technology FPGA
GB2168573A (en) Packet switched system
CN116170220A (zh) 一种goose实时报文保护方法
KR20040046633A (ko) IPv6 계층에서의 패킷 보호 방법
KR20070059894A (ko) Mac 보안 서비스망에서의 보안 채널 제어 방법 및 이를구현하는 단말 장치
JPH01225250A (ja) 音声パケット暗号装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant