CN107832248A - 一种带有加解密功能的数据摆渡模块及其数据处理方法 - Google Patents

一种带有加解密功能的数据摆渡模块及其数据处理方法 Download PDF

Info

Publication number
CN107832248A
CN107832248A CN201711019953.2A CN201711019953A CN107832248A CN 107832248 A CN107832248 A CN 107832248A CN 201711019953 A CN201711019953 A CN 201711019953A CN 107832248 A CN107832248 A CN 107832248A
Authority
CN
China
Prior art keywords
data
encryption
fpga
ferry
chips
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.)
Pending
Application number
CN201711019953.2A
Other languages
English (en)
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.)
Nari Information and Communication Technology Co
Nanjing NARI Group Corp
Original Assignee
Nari Information and Communication Technology Co
Nanjing NARI Group Corp
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 Nari Information and Communication Technology Co, Nanjing NARI Group Corp filed Critical Nari Information and Communication Technology Co
Priority to CN201711019953.2A priority Critical patent/CN107832248A/zh
Publication of CN107832248A publication Critical patent/CN107832248A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种带有加解密功能的数据摆渡模块,包括相互通信的两FPGA芯片,两FPGA芯片分别与两主机通信,每个FPGA连接SM1算法芯片和SM2算法芯片。同时也公开了该数据摆渡模块的数据处理方法。本发明将算法芯片设置在数据摆渡模块内,与FPGA芯片连接,利用FPGA的并行性特点,具有速度快、集成度高、安全性高、成本低,易移植的特点。

Description

一种带有加解密功能的数据摆渡模块及其数据处理方法
技术领域
本发明涉及一种带有加解密功能的数据摆渡模块及其数据处理方法,属于网络安全技术领域。
背景技术
在两个不同安全防护等级网络之间交换数据最常用的方法是使用网络隔离装置对数据以非网络传输的方式进行数据传输。传统网络隔离装置的基本结构是两个完全独立的主机系统和一个数据摆渡模块。为了进一步增加数据摆渡的安全性,目前新兴的网络隔离装置的基本结构在传统网络隔离装置的基础上增加了加解密功能,首先对数据进行加解密处理,再对数据进行摆渡。网络隔离装置中数据加解密的性能和数据摆渡的性能直接决定了整个系统的性能。
现有的数据摆渡模块一般有电子开关、单向FIFO、光纤和使用协处理器(FPGA等)摆渡数据四种方式,目前最广泛应用的是使用协处理器的方式。对数据的加密功能则主要有在主机系统上通过软件实现数据加密、分离的加解密模块这两种方式。软件实现的加密方式从安全性方面有隐患,且加解密性能对主机系统的性能有很大的依赖性。分离的加解密模块一般做成一块独立的加密卡,加密卡上的核心器件主要包括协处理器和密码芯片等,一般通过PCI/PCIE接口和主机进行数据交换,通过密码芯片对数据进行加解密处理。分离的加密模块提高了系统的安全性,但与传统的网络隔离装置相比,增加了分离加密模块的隔离装置在数据摆渡之前首先要将数据通过PCI/PCIE接口写入到加解密模块进行加解密处理,加解密完成后的数据返回到主机系统,主机系统再将加解密完成后的数据写入到摆渡模块进行数据摆渡,在性能上打了折扣,同时还要额外占用主机系统的一个PCI/PCIE接口和CPU资源,增加了硬件成本。
发明内容
为了解决上述技术问题,本发明提供了一种带有加解密功能的数据摆渡模块及其数据处理方法。
为了达到上述目的,本发明所采用的技术方案是:
一种带有加解密功能的数据摆渡模块,包括相互通信的两FPGA芯片,两FPGA芯片分别与两主机通信,每个FPGA连接SM1算法芯片和SM2算法芯片。
FPGA芯片通过PCIE接口与主机通信。
FPGA芯片与主机之间采用DMA方式通信。
SM1算法芯片用以对数据进行加解密处理,SM2算法芯片用以完成秘钥协商及身份认证工作。
两FPGA芯片通过高速串行接口进行通信。
一种带有加解密功能的数据摆渡模块的数据处理方法,包括,
一FPGA芯片与主机之间数据传输;
数据包传输到摆渡模块后,被解析并根据数据包格式分别进行处理,包括明文透传、加解密处理、秘钥协商及身份认证;
需明文透传的数据包,直接传输给另一FPGA芯片;
需加解密处理的数据包,通过SM1算法芯片处理后直接传输给另一FPGA芯片;
需秘钥协商及身份认证的数据包,通过SM2算法芯片处理后通过FPGA芯片返回到原来的主机。
数据摆渡模块采用MSI中断方式中断主机,并能根据主机的CPU核心数动态调整MSI中断个数。
本发明所达到的有益效果:本发明将算法芯片设置在数据摆渡模块内,与FPGA芯片连接,利用FPGA的并行性特点,具有速度快、集成度高、安全性高、成本低,易移植的特点。
附图说明
图1为本发明数据摆渡模块的结构框图;
图2为FPGA芯片逻辑框图。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
如图1所示,一种带有加解密功能的数据摆渡模块,包括两带有GTP/GTX接口的FPGA芯片,两FPGA芯片之间通过FPGA I/O口自带的SERDES资源实现的高速串行接口进行通信,与传统的并行接口相比,利用FPGA 芯片内SERDES资源实现的高速串行接口具有速度快、传输距离远,占用芯片引脚少的优点,此外还利用FPGA芯片的并行性特点,采用流水线的方式处理数据包,进一步提高了数据处理的速度;两FPGA芯片内部均可实现可配置的PCIE接口,通过PCIE接口两FPGA芯片分别与两主机通信,PCIE接口采用标准的金手指硬件链接方式,提高了产品的普适性,为了提高PCIE接口传输效率,FPGA芯片与主机之间采用DMA方式通信,DMA方式不占用CPU资源,而且具有快速传输大量突发性数据的能力,满足数据传输的实时性和高速性要求;为了满足对数据加解密性能的要求,每个FPGA连接SM1算法芯片和SM2算法芯片,SM1算法芯片用以对数据进行加解密处理,SM2算法芯片用以完成秘钥协商及身份认证工作。
上述SM1算法芯片选用了SSX30-D密码芯片,SSX30-D密码芯片为高性能分组密码算法芯片,性能最高为1.4Gbps。SM2算法芯片选用IS32U320A密码芯片,IS32U320A芯片提供多种硬件协处理器及其配套安全算法库,支持 RSA、SM2、SM3、SM4、等密码算法。FPGA芯片选用XILINX公司的XC7A100T FPGA芯片,该器件最多支持一个PCIE ×4 Lane核,每个Lane线速5Gbps,FPGA芯片XC7A100T是BGA484封装,扇出的信号较多,此外还需要1V、1.2V、1.8V、3.3V等多种电平标准,PCIE接口的差分对走线对PCIE信号的完整性要求较高,数据摆渡模块采用了8层PCB板设计方案,从顶层到底层依次为:信号层1、地平面1、信号层2、地平面2、信号层3、电源层1、电源层2、信号层4,同时对PCIE的差分对信号以及SSX30-D的数据总线做了等长处理。
如图2所示,采用VIVADO软件开发数据摆渡模块上FPGA芯片的逻辑程序,包括DMA控制器、数据解析模块、SM1算法芯片控制模块、SM2算法芯片控制模块、数据接收模块和中断控制模块。
各模块功能如下:
DMA控制器负责将主机内存中的数据读入到FPGA芯片中的FIFO中缓存以及将FPGA处理完成的数据写入到主机内存中;
数据解析模块主要负责将FIFO中缓存的数据进行解析并根据包头字段定义的格式将数据包分别写入到不同的下级FIFO中缓存;
下级FIFO包括明文透传FIFO、SM1算法芯片缓存FIFO和SM2算法芯片缓存FIFO,明文透传FIFO中缓存的数据包直接通过高速串行接口传输到另外一块FPGA,SM1算法芯片缓存FIFO中缓存的数据包在SM1算法芯片控制模块的控制下,写入到SM1算法芯片进行加解密处理,处理完成后的数据包再通过高速串行接口传输到另外一块FPGA,SM2算法芯片缓存FIFO中的数据包在SM2算法芯片控制模块控制下写入到SM2算法芯片进行处理,处理完成后的数据返回到FPGA并通过DMA控制器写入到主机内存中;
数据接收模块主要负责接收另外一块FPGA传输过来的数据,DMA控制器读取数据并通过PCIE接口写入到主机内存中;
中断控制模块主要负责发送中断到主机系统,通知主机系统读取数据。
中断方式主要有传统中断、MSI中断两种方式,传统中断为电平触发,MSI中断为边沿触发,一个PCIE设备最多支持4个传统中断,MSI中断方式最多可以达到32个,这里使用MSI中断方式,并能根据主机的CPU核个数动态调整中断数目,在每个CPU的核上绑定一个MSI中断,使得CPU资源的使用更为均匀。
上述数据摆渡模块的数据处理方法,包括以下步骤:
1)一FPGA芯片与主机之间数据传输;
2)数据包传输到摆渡模块后,被解析并根据数据包格式分别进行处理,包括明文透传、加解密处理、秘钥协商及身份认证;
3)需明文透传的数据包,直接传输给另一FPGA芯片;需加解密处理的数据包,通过SM1算法芯片处理后直接传输给另一FPGA芯片;需秘钥协商及身份认证的数据包,通过SM2算法芯片处理后通过FPGA芯片返回到原来的主机。
4)数据摆渡模块采用MSI中断方式中断主机,并能根据主机的CPU核心数动态调整MSI中断个数。
本发明已经在一种网络隔离装置中得到了验证,在包长为1024字节的测试条件下,明文传输的速度可以达到1.5Gbps,密文传输的速度可以达到1Gbps,与传统的网络隔离装置相比,性能有了大大提升。
本发明将算法芯片设置在数据摆渡模块内,与FPGA芯片连接,利用FPGA的并行性特点,具有速度快、集成度高、安全性高、成本低,易移植的特点。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (7)

1.一种带有加解密功能的数据摆渡模块,其特征在于:包括相互通信的两FPGA芯片,两FPGA芯片分别与两主机通信,每个FPGA连接SM1算法芯片和SM2算法芯片。
2.根据权利要求1所述的一种带有加解密功能的数据摆渡模块,其特征在于:FPGA芯片通过PCIE接口与主机通信。
3.根据权利要求1所述的一种带有加解密功能的数据摆渡模块,其特征在于:FPGA芯片与主机之间采用DMA方式通信。
4.根据权利要求1所述的一种带有加解密功能的数据摆渡模块,其特征在于:SM1算法芯片用以对数据进行加解密处理,SM2算法芯片用以完成秘钥协商及身份认证工作。
5.根据权利要求1所述的一种带有加解密功能的数据摆渡模块,其特征在于:两FPGA芯片通过高速串行接口进行通信。
6.一种带有加解密功能的数据摆渡模块的数据处理方法,其特征在于:包括,
一FPGA芯片与主机之间数据传输;
数据包传输到摆渡模块后,被解析并根据数据包格式分别进行处理,包括明文透传、加解密处理、秘钥协商及身份认证;
需明文透传的数据包,直接传输给另一FPGA芯片;
需加解密处理的数据包,通过SM1算法芯片处理后直接传输给另一FPGA芯片;
需秘钥协商及身份认证的数据包,通过SM2算法芯片处理后通过FPGA芯片返回到原来的主机。
7.根据权利要求6所述的一种带有加解密功能的数据摆渡模块的数据处理方法,其特征在于:数据摆渡模块采用MSI中断方式中断主机,并能根据主机的CPU核心数动态调整MSI中断个数。
CN201711019953.2A 2017-10-27 2017-10-27 一种带有加解密功能的数据摆渡模块及其数据处理方法 Pending CN107832248A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711019953.2A CN107832248A (zh) 2017-10-27 2017-10-27 一种带有加解密功能的数据摆渡模块及其数据处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711019953.2A CN107832248A (zh) 2017-10-27 2017-10-27 一种带有加解密功能的数据摆渡模块及其数据处理方法

Publications (1)

Publication Number Publication Date
CN107832248A true CN107832248A (zh) 2018-03-23

Family

ID=61649844

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711019953.2A Pending CN107832248A (zh) 2017-10-27 2017-10-27 一种带有加解密功能的数据摆渡模块及其数据处理方法

Country Status (1)

Country Link
CN (1) CN107832248A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109902043A (zh) * 2019-01-30 2019-06-18 中国科学院声学研究所 一种基于fpga的国密算法加速处理系统
CN111447061A (zh) * 2020-04-21 2020-07-24 南京珥仁科技有限公司 用于档案数据摆渡的数据防泄密和数据可信验证方法
CN111600705A (zh) * 2020-05-14 2020-08-28 国网电力科学研究院有限公司 一种基于自协商机制的隔离卡
CN112565288A (zh) * 2020-12-21 2021-03-26 南京南瑞信息通信科技有限公司 一种内网采控指令在外网执行的方法和系统
CN116414765A (zh) * 2023-06-09 2023-07-11 芯动微电子科技(珠海)有限公司 一种fpga芯片、透传方法、逻辑测试模块和方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101714917A (zh) * 2009-08-24 2010-05-26 黑龙江大学 一种基于混沌密钥的数据加密传输卡
CN204390237U (zh) * 2014-12-09 2015-06-10 航天信息股份有限公司 一种基于pci-e总线技术的加解密卡
CN104980267A (zh) * 2014-04-08 2015-10-14 常州隽通电子技术有限公司 量子保密通信系统控制器
US20160248588A1 (en) * 2006-09-07 2016-08-25 Altera Corporation Security ram block with multiple partitions
CN106209916A (zh) * 2016-08-31 2016-12-07 南京普瑶电子科技有限公司 工业自动化生产业务数据传输加解密方法及系统
CN106453258A (zh) * 2016-09-12 2017-02-22 中国电子科技集团公司第三十二研究所 高速数据加解密系统及方法
CN106529314A (zh) * 2016-10-28 2017-03-22 成都力雅信息技术有限公司 一种应用fpga加密卡的微型股市数据处理系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160248588A1 (en) * 2006-09-07 2016-08-25 Altera Corporation Security ram block with multiple partitions
CN101714917A (zh) * 2009-08-24 2010-05-26 黑龙江大学 一种基于混沌密钥的数据加密传输卡
CN104980267A (zh) * 2014-04-08 2015-10-14 常州隽通电子技术有限公司 量子保密通信系统控制器
CN204390237U (zh) * 2014-12-09 2015-06-10 航天信息股份有限公司 一种基于pci-e总线技术的加解密卡
CN106209916A (zh) * 2016-08-31 2016-12-07 南京普瑶电子科技有限公司 工业自动化生产业务数据传输加解密方法及系统
CN106453258A (zh) * 2016-09-12 2017-02-22 中国电子科技集团公司第三十二研究所 高速数据加解密系统及方法
CN106529314A (zh) * 2016-10-28 2017-03-22 成都力雅信息技术有限公司 一种应用fpga加密卡的微型股市数据处理系统

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109902043A (zh) * 2019-01-30 2019-06-18 中国科学院声学研究所 一种基于fpga的国密算法加速处理系统
CN111447061A (zh) * 2020-04-21 2020-07-24 南京珥仁科技有限公司 用于档案数据摆渡的数据防泄密和数据可信验证方法
CN111447061B (zh) * 2020-04-21 2020-11-17 南京珥仁科技有限公司 用于档案数据摆渡的数据防泄密和数据可信验证方法
CN111600705A (zh) * 2020-05-14 2020-08-28 国网电力科学研究院有限公司 一种基于自协商机制的隔离卡
CN111600705B (zh) * 2020-05-14 2022-10-04 国网电力科学研究院有限公司 一种基于自协商机制的隔离卡
CN112565288A (zh) * 2020-12-21 2021-03-26 南京南瑞信息通信科技有限公司 一种内网采控指令在外网执行的方法和系统
CN112565288B (zh) * 2020-12-21 2023-05-09 南京南瑞信息通信科技有限公司 一种内网采控指令在外网执行的方法和系统
CN116414765A (zh) * 2023-06-09 2023-07-11 芯动微电子科技(珠海)有限公司 一种fpga芯片、透传方法、逻辑测试模块和方法
CN116414765B (zh) * 2023-06-09 2023-10-20 芯动微电子科技(珠海)有限公司 一种fpga芯片、透传方法、逻辑测试模块和方法

Similar Documents

Publication Publication Date Title
CN107832248A (zh) 一种带有加解密功能的数据摆渡模块及其数据处理方法
CN106022080B (zh) 一种基于PCIe接口的密码卡及该密码卡的数据加密方法
WO2016187813A1 (zh) 一种光电混合网络的数据传输方法及装置
CN104395895A (zh) 用于输入/输出虚拟化的系统和方法
CN206712810U (zh) 一种基于pci‑e总线的高速密码卡
US9678891B2 (en) Efficient search key controller with standard bus interface, external memory interface, and interlaken lookaside interface
CN106230718A (zh) 基于XilinxFPGA多千兆网合流系统及实现方法
US20230071723A1 (en) Technologies for establishing secure channel between i/o subsystem and trusted application for secure i/o data transfer
CN110688333A (zh) 一种基于pcie的dma数据传输系统及方法
CN108809642A (zh) 一种基于fpga的多通道数据万兆加密认证高速传输实现方法
CN104468309A (zh) 一种低速smp与高速密码卡的高效适配方法
CN105635176A (zh) 一种基于RapidIO的网络数据传输方法
CN108062288A (zh) 基于apb总线的i2c通信装置
CN204117142U (zh) 提供主机即时切换分享通用串行总线电子设备的电子装置
CN106656484B (zh) 一种pci密码卡驱动系统及其实现方法
US9594706B2 (en) Island-based network flow processor with efficient search key processing
CN107979608A (zh) 一种接口可配置的数据加解密传输系统及传输方法
CN107341131B (zh) 具有近端数据处理引擎的芯片组
CN108055268A (zh) 一种基于PCIe链路数据透传加解密的方法
CN112804265B (zh) 一种单向网闸接口电路、方法及可读存储介质
US8954623B2 (en) Universal Serial Bus devices supporting super speed and non-super speed connections for communication with a host device and methods using the same
CN102013973A (zh) 一种加密解密转接器
CN111600705B (zh) 一种基于自协商机制的隔离卡
CN209731290U (zh) 一种IPSec VPN子卡以及运用IPSec VPN子卡的量子加密通信系统
CN201479145U (zh) 加密解密转接器

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20180323

RJ01 Rejection of invention patent application after publication